]> SALOME platform Git repositories - tools/eficas.git/blob - Aster/Cata/cataSTA9/cata.py
Salome HOME
CCAR: creation V1_13a1 a partir de la branche Liv-V1_12
[tools/eficas.git] / Aster / Cata / cataSTA9 / cata.py
1 #& MODIF ENTETE  DATE 13/02/2007   AUTEUR PELLET J.PELLET 
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 __version__ = "$Name: V1_12a2 $"
22 __Id__ = "$Id: cata.py,v 1.1.2.4 2007-06-14 16:18:46 pnoyret Exp $"
23
24 import Accas
25 from Accas import *
26 from Accas import _F
27 import Numeric
28 from math import sin,cos,tan,asin,acos,atan2,atan,sinh,cosh,tanh,exp,log,log10
29 from math import sqrt,pi
30 import ops
31
32 try:
33   import aster
34 except:
35   pass
36
37 # -----------------------------------------------------------------------------
38 JdC = JDC_CATA(code='ASTER',
39                execmodul=None,
40                regles = (AU_MOINS_UN('DEBUT','POURSUITE'),
41                          AU_MOINS_UN('FIN'),
42                          A_CLASSER(('DEBUT','POURSUITE'),'FIN')))
43 # Type le plus general
44 class entier   (ASSD):
45    def __init__(self,valeur=None,**args):
46       ASSD.__init__(self,**args)
47       self.valeur=valeur
48
49    def __adapt__(self,validator):
50       if validator.name == "list":
51          #validateur liste,cardinalité
52          return (self,)
53       elif validator.name == "type":
54          #validateur type
55          return validator.adapt(self.valeur or 0)
56       else:
57          #validateur into et valid
58          return self
59
60 class reel(ASSD):
61    def __init__(self,valeur=None,**args):
62       ASSD.__init__(self,**args)
63       self.valeur=valeur
64
65    def __call__(self):
66       return self.valeur
67
68    def __adapt__(self,validator):
69       if validator.name == "list":
70          #validateur liste,cardinalité
71          return (self,)
72       elif validator.name == "type":
73          #validateur type
74          return validator.adapt(self.valeur or 0.)
75       else:
76          #validateur into et valid
77          return self
78
79 # -----------------------------------------------------------------------------
80 # Type geometriques
81 class no  (GEOM):pass
82 class grno(GEOM):pass
83 class ma  (GEOM):pass
84 class grma(GEOM):pass
85
86 # -----------------------------------------------------------------------------
87 from SD.co_cabl_precont     import cabl_precont
88 from SD.co_cara_elem        import cara_elem
89 from SD.co_cham_mater       import cham_mater
90 from SD.co_char_acou        import char_acou
91 from SD.co_char_cine_acou   import char_cine_acou
92 from SD.co_char_cine_meca   import char_cine_meca
93 from SD.co_char_cine_ther   import char_cine_ther
94 from SD.co_char_meca        import char_meca
95 from SD.co_char_ther        import char_ther
96 from SD.co_compor           import compor_sdaster
97 from SD.co_courbe           import courbe_sdaster
98 from SD.co_fiss_xfem        import fiss_xfem
99 from SD.co_fond_fiss        import fond_fiss
100 from SD.co_interf_dyna_clas import interf_dyna_clas
101 from SD.co_gfibre           import gfibre_sdaster
102 from SD.co_listis           import listis_sdaster
103 from SD.co_melasflu         import melasflu_sdaster
104 from SD.co_mode_cycl        import mode_cycl
105 from SD.co_nume_ddl_gene    import nume_ddl_gene
106 from SD.co_nume_ddl         import nume_ddl_sdaster
107 from SD.co_sd_feti          import sd_feti_sdaster
108 from SD.co_spectre          import spectre_sdaster
109 from SD.co_surface          import surface_sdaster
110 from SD.co_tran_gene        import tran_gene
111 from SD.co_type_flui_stru   import type_flui_stru
112
113 # -----------------------------------------------------------------------------
114 # modeles :
115 from SD.co_modele      import modele_sdaster
116 from SD.co_modele_gene import modele_gene
117
118 # -----------------------------------------------------------------------------
119 # materiau
120 from SD.co_mater import mater_sdaster
121
122 # -----------------------------------------------------------------------------
123 # macro-elements :
124 from SD.co_macr_elem_dyna import macr_elem_dyna
125 from SD.co_macr_elem_stat import macr_elem_stat
126
127 # -----------------------------------------------------------------------------
128 # liste :
129 from SD.co_listr8 import listr8_sdaster
130
131 # -----------------------------------------------------------------------------
132 # maillage :
133 from SD.co_maillage  import maillage_sdaster
134 from SD.co_squelette import squelette
135
136 # -----------------------------------------------------------------------------
137 # champs
138 from SD.co_champ     import cham_gd_sdaster
139 from SD.co_cham_no   import cham_no_sdaster
140 from SD.co_carte     import carte_sdaster
141 from SD.co_cham_elem import cham_elem
142
143 # -----------------------------------------------------------------------------
144 # resultat : (evol_sdaster,mode_stat,mode_meca)
145 from SD.co_resultat     import resultat_sdaster, resultat_jeveux
146 from SD.co_resultat_dyn import resultat_dyn
147 from SD.co_base_modale  import base_modale
148
149 # -----------------------------------------------------------------------------
150 class acou_harmo    (resultat_dyn):pass
151 class dyna_harmo    (resultat_dyn):pass
152 class dyna_trans    (resultat_dyn):pass
153 class harm_gene     (resultat_dyn):pass
154 class mode_acou     (resultat_dyn):pass
155 class mode_flamb    (resultat_dyn):pass
156 class mode_gene     (resultat_dyn):pass
157
158 # -----------------------------------------------------------------------------
159 class comb_fourier  (resultat_sdaster):pass
160 class fourier_elas  (resultat_sdaster):pass
161 class fourier_ther  (resultat_sdaster):pass
162 class mult_elas     (resultat_sdaster):pass
163 class theta_geom    (resultat_sdaster):pass
164
165 # -----------------------------------------------------------------------------
166 # resultat_sdaster/evol_sdaster :
167 class evol_sdaster(resultat_sdaster):pass
168 class evol_char(evol_sdaster):pass
169 class evol_elas(evol_sdaster):pass
170 class evol_noli(evol_sdaster):pass
171 class evol_ther(evol_sdaster):pass
172 class evol_varc(evol_sdaster):pass
173
174 # -----------------------------------------------------------------------------
175 # resultat_sdaster/mode_stat :
176 class mode_stat(resultat_dyn):pass
177 class mode_stat_depl(mode_stat):pass
178 class mode_stat_acce(mode_stat):pass
179 class mode_stat_forc(mode_stat):pass
180
181 # -----------------------------------------------------------------------------
182 # resultat_sdaster/mode_meca :
183 class mode_meca(resultat_dyn):pass
184 class mode_meca_c(mode_meca):pass
185
186 # -----------------------------------------------------------------------------
187 # fonctions / nappe / para_sensi
188 from SD.co_fonction import fonction_sdaster, para_sensi, fonction_c, nappe_sdaster
189
190 # -----------------------------------------------------------------------------
191 # matr_asse :
192 from SD.co_matr_asse      import matr_asse
193 from SD.co_matr_asse_gene import matr_asse_gene
194 from SD.co_matr_asse_gene import matr_asse_gene_r
195 from SD.co_matr_asse_gene import matr_asse_gene_c
196
197 from SD.co_matr_asse_gd import matr_asse_gd, \
198                                matr_asse_depl_r, matr_asse_depl_c, \
199                                matr_asse_pres_r, matr_asse_pres_c, \
200                                matr_asse_temp_r, matr_asse_temp_c
201
202 # -----------------------------------------------------------------------------
203 # matr_elem :
204 from SD.co_matr_elem import matr_elem, \
205                             matr_elem_depl_r, matr_elem_depl_c, \
206                                               matr_elem_pres_c, \
207                             matr_elem_temp_r
208
209 # -----------------------------------------------------------------------------
210 # table :
211 from SD.co_table import table_sdaster, table_jeveux
212 from SD.co_table_fonction import table_fonction
213
214 # -----------------------------------------------------------------------------
215 # vect_asse_gene :
216 from SD.co_vect_asse_gene import vect_asse_gene
217
218 # -----------------------------------------------------------------------------
219 # vect_elem :
220 from SD.co_vect_elem import vect_elem, \
221                             vect_elem_depl_r, \
222                             vect_elem_pres_r, vect_elem_pres_c, \
223                             vect_elem_temp_r
224
225 #& MODIF COMMUN  DATE 21/05/2007   AUTEUR FERNANDES R.FERNANDES 
226 #            CONFIGURATION MANAGEMENT OF EDF VERSION
227 # RESPONSABLE JMBHH01 J.M.PROIX
228 # ======================================================================
229 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
230 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
231 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
232 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
233 # (AT YOUR OPTION) ANY LATER VERSION.
234 #
235 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
236 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
237 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
238 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
239 #
240 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
241 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
242 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
243 # ======================================================================
244 def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
245            RELATION        =SIMP(statut='o',typ='TXM',defaut="VMIS_ISOT_TRAC",
246                                  into=( "ELAS",
247 # Spécial Discrets : début
248                                         "DIS_VISC",
249                                         "DIS_ECRO_CINE",
250 # Spécial Discrets : fin
251                                         "ELAS_HYPER",
252                                         "VMIS_ISOT_TRAC",
253                                         "VISC_ISOT_TRAC",
254                                         "VMIS_ISOT_LINE",
255                                         "VISC_ISOT_LINE",
256                                         "VMIS_ISOT_PUIS",
257                                         "VMIS_ECMI_TRAC",
258                                         "VMIS_ECMI_LINE",
259                                         "LABORD_1D",
260                                         "ENDO_FRAGILE",
261                                         "ENDO_ISOT_BETON",
262                                         "ENDO_ORTH_BETON",
263                                         "BETON_REGLE_PR",
264                                         "MAZARS",
265                                         "JOINT_BA",
266                                         "RUPT_FRAG",
267                                         "CZM_EXP_REG",
268                                         "CZM_LIN_REG",
269                                         "CZM_EXP",
270                                         "META_P_IL",
271                                         "META_P_IL_PT",
272                                         "META_P_IL_RE",
273                                         "META_P_IL_PT_RE",
274                                         "META_V_IL",
275                                         "META_V_IL_PT",
276                                         "META_V_IL_RE",
277                                         "META_V_IL_PT_RE",
278                                         "META_P_INL",
279                                         "META_P_INL_PT",
280                                         "META_P_INL_RE",
281                                         "META_P_INL_PT_RE",
282                                         "META_V_INL",
283                                         "META_V_INL_PT",
284                                         "META_V_INL_RE",
285                                         "META_V_INL_PT_RE",
286                                         "META_P_CL",
287                                         "META_P_CL_PT",
288                                         "META_P_CL_RE",
289                                         "META_P_CL_PT_RE",
290                                         "META_V_CL",
291                                         "META_V_CL_PT",
292                                         "META_V_CL_RE",
293                                         "META_V_CL_PT_RE",
294                                         "VMIS_CINE_LINE",
295                                         "VISC_TAHERI",
296                                         "VISCOCHAB",
297                                         "VMIS_CIN1_CHAB",
298                                         "VMIS_CIN2_CHAB",
299                                         "VISC_CIN1_CHAB",
300                                         "VISC_CIN2_CHAB",
301                                         "LMARC",
302                                         "LMARC_IRRA",
303                                         "ROUSSELIER",
304                                         "ROUSS_PR",
305                                         "ROUSS_VISC",
306                                         "VMIS_POU_LINE",
307                                         "VMIS_POU_FLEJOU",
308                                         "ARME",
309                                         "ASSE_CORN",
310                                         "NORTON_HOFF",
311                                         "LEMAITRE",
312                                         "LEMAITRE_IRRA",
313                                         "LEMA_SEUIL",
314                                         "IRRAD3M",
315                                         "ZIRC_CYRA2",
316                                         "VISC_IRRA_LOG",
317                                         "GRAN_IRRA_LOG",
318                                         "ZIRC_EPRI",
319                                         "VENDOCHAB",
320                                         "NADAI_B",
321                                         "DIS_CONTACT",
322                                         "DIS_CHOC",
323                                         "DIS_GRICRA",
324                                         "DIS_GOUJ2E_PLAS",
325                                         "DIS_GOUJ2E_ELAS",
326                                         "GRILLE_ISOT_LINE",
327                                         "GRILLE_CINE_LINE",
328                                         "GRILLE_PINTO_MEN",
329                                         "PINTO_MENEGOTTO",
330                                         "CJS",
331                                         "HUJEUX",
332                                         "CAM_CLAY",
333                                         "BARCELONE",
334                                         "LAIGLE",
335                                         "DRUCKER_PRAGER",
336                                         "HOEK_BROWN",
337                                         "HOEK_BROWN_EFF",
338                                         "HOEK_BROWN_TOT",
339                                         "GRANGER_FP",
340                                         "GRANGER_FP_INDT",
341                                         "GRANGER_FP_V",
342                                         "BAZANT_FD",
343                                         "BETON_UMLV_FP",
344                                         "BETON_DOUBLE_DP",
345                                         "KIT_HH",
346                                         "KIT_HM",
347                                         "KIT_HHM",
348                                         "KIT_THH",
349                                         "KIT_THV",
350                                         "KIT_THM",
351                                         "KIT_THHM",
352                                         "VMIS_ASYM_LINE",
353                                         "KIT_DDI",
354                                         "GLRC_DAMAGE",
355                                         "GLRC_DM",
356                                         "SANS",
357                                         "CORR_ACIER",
358                                         "MONOCRISTAL",
359                                         "POLYCRISTAL",
360                                         "ZMAT",
361                                         "GATT_MONERIE",
362                                         "MULTIFIBRE",
363                                      ) ),
364 # Spécial discrets : début
365           DIS_VISC       =SIMP(statut='c',typ='I',defaut=12,into=(12,)),
366           DIS_ECRO_CINE  =SIMP(statut='c',typ='I',defaut=18,into=(18,)),
367 # Spécial discrets : fin
368           ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
369           ELAS_HYPER      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
370           SANS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
371           CORR_ACIER      =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
372           VMIS_ISOT_TRAC  =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
373           VISC_ISOT_TRAC  =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
374           VMIS_ISOT_LINE  =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
375           VISC_ISOT_LINE  =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
376           VMIS_ISOT_PUIS  =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
377           VMIS_ECMI_TRAC  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
378           VMIS_ECMI_LINE  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
379           LABORD_1D       =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
380           ENDO_FRAGILE    =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
381           ENDO_ISOT_BETON =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
382           ENDO_ORTH_BETON =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
383           BETON_REGLE_PR  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
384           MAZARS          =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
385           JOINT_BA        =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
386           RUPT_FRAG       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
387           CZM_EXP_REG      =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
388           CZM_LIN_REG      =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
389           CZM_EXP          =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
390           META_P_IL         =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
391           META_P_IL_PT       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
392           META_P_IL_RE       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
393           META_P_IL_PT_RE    =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
394           META_V_IL          =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
395           META_V_IL_PT       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
396           META_V_IL_RE       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
397           META_V_IL_PT_RE    =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
398           META_P_INL         =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
399           META_P_INL_PT      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
400           META_P_INL_RE      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
401           META_P_INL_PT_RE   =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
402           META_V_INL         =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
403           META_V_INL_PT      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
404           META_V_INL_RE      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
405           META_V_INL_PT_RE   =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
406           META_P_CL          =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
407           META_P_CL_PT       =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
408           META_P_CL_RE       =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
409           META_P_CL_PT_RE    =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
410           META_V_CL          =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
411           META_V_CL_PT       =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
412           META_V_CL_RE       =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
413           META_V_CL_PT_RE    =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
414           VMIS_CINE_LINE  =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
415           VISCOCHAB       =SIMP(statut='c',typ='I',defaut=28,into=(28,)),
416           VMIS_CIN1_CHAB  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
417           VMIS_CIN2_CHAB  =SIMP(statut='c',typ='I',defaut=14,into=(14,)),
418           VISC_CIN1_CHAB  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
419           VISC_CIN2_CHAB  =SIMP(statut='c',typ='I',defaut=14,into=(14,)),
420           LMARC           =SIMP(statut='c',typ='I',defaut=20,into=(20,)),
421           LMARC_IRRA      =SIMP(statut='c',typ='I',defaut=20,into=(20,)),
422           VISC_TAHERI     =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
423           ROUSSELIER      =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
424           ROUSS_PR        =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
425           ROUSS_VISC      =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
426           VMIS_POU_LINE   =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
427           VMIS_POU_FLEJOU =SIMP(statut='c',typ='I',defaut=9 ,into=(9,)),
428           ASSE_CORN       =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
429           ARME            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
430           NORTON_HOFF     =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
431           LEMAITRE        =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
432           LEMA_SEUIL      =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
433           IRRAD3M         =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
434           LEMAITRE_IRRA   =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
435           ZIRC_CYRA2      =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
436           ZIRC_EPRI       =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
437           VISC_IRRA_LOG   =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
438           GRAN_IRRA_LOG   =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
439           NADAI_B         =SIMP(statut='c',typ='I',defaut=34,into=(34,)),
440           VENDOCHAB       =SIMP(statut='c',typ='I',defaut=10,into=(10,)),
441           GRILLE_ISOT_LINE=SIMP(statut='c',typ='I',defaut=4,into=(4,)),
442           GRILLE_CINE_LINE=SIMP(statut='c',typ='I',defaut=4,into=(4,)),
443           GRILLE_PINTO_MEN=SIMP(statut='c',typ='I',defaut=16,into=(16,)),
444           DIS_CONTACT     =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
445           DIS_CHOC        =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
446           DIS_GRICRA     =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
447           DIS_GOUJ2E_PLAS =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
448           DIS_GOUJ2E_ELAS =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
449           PINTO_MENEGOTTO =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
450           CJS             =SIMP(statut='c',typ='I',defaut=16,into=(16,)),
451           HUJEUX       =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
452           CAM_CLAY        =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
453           BARCELONE       =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
454           LAIGLE          =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
455           DRUCKER_PRAGER  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
456           HOEK_BROWN      =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
457           HOEK_BROWN_EFF  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
458           HOEK_BROWN_TOT  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
459           GRANGER_FP      =SIMP(statut='c',typ='I',defaut=55,into=(55,)),
460           GRANGER_FP_INDT =SIMP(statut='c',typ='I',defaut=55,into=(55,)),
461           GRANGER_FP_V    =SIMP(statut='c',typ='I',defaut=55,into=(55,)),
462           BAZANT_FD       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
463           BETON_DOUBLE_DP =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
464           KIT_HH          =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
465           KIT_HM          =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
466           KIT_HHM         =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
467           KIT_THH         =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
468           KIT_THV         =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
469           KIT_THM         =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
470           KIT_THHM        =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
471           VMIS_ASYM_LINE  =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
472           BETON_UMLV_FP   =SIMP(statut='c',typ='I',defaut=21,into=(21,)),
473           GLRC_DAMAGE     =SIMP(statut='c',typ='I',defaut=21,into=(21,)),
474           GLRC_DM         =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
475           GATT_MONERIE    =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
476
477            b_monox     = BLOC(condition = "RELATION == 'MONOCRISTAL' ",
478                                  fr="SD issue de DEFI_COMPOR",
479                    COMPOR =SIMP(statut='o',typ=compor_sdaster,max=1),),
480 #
481            b_polyx     = BLOC(condition = "RELATION == 'POLYCRISTAL' ",
482                                  fr="SD issue de DEFI_COMPOR",
483                    COMPOR =SIMP(statut='o',typ=compor_sdaster,max=1),),
484 #
485            b_zmat      = BLOC(condition = "RELATION == 'ZMAT' ",
486                                  fr="Comportement de la bibliotheque Zmat",
487                    NB_VARI =SIMP(statut='o',typ='I',max=1),
488                    UNITE =SIMP(statut='o',typ='I',max=1),),
489
490
491
492            RELATION_KIT    =SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(),
493                                  into=(
494 # MECA
495                                        "ELAS",
496                                        "CJS",
497                                        "HUJEUX",
498                                        "CAM_CLAY",
499                                        "BARCELONE",
500                                        "LAIGLE",
501                                        "DRUCKER_PRAGER",
502                                        "HOEK_BROWN_EFF",
503                                        "HOEK_BROWN_TOT",
504                                        "MAZARS",
505                                        "ENDO_ISOT_BETON",
506 # THMC
507                                        "GAZ",
508                                        "LIQU_SATU",
509                                        "LIQU_GAZ_ATM",
510                                        "LIQU_VAPE_GAZ",
511                                        "LIQU_AD_GAZ_VAPE",
512                                        "LIQU_VAPE",
513                                        "LIQU_GAZ",
514 # HYDR
515                                        "HYDR_UTIL",
516                                        "HYDR",
517                                        "HYDR_ENDO",
518 # MECA_META
519                                        "ACIER",
520                                        "ZIRC",
521 # MECA KIT_DDI
522                                        "VMIS_ISOT_TRAC",
523                                        "VMIS_ISOT_LINE",
524                                        "VMIS_ISOT_CINE",
525                                        "VMIS_ISOT_PUIS",
526                                        "GRANGER_FP",
527                                        "GRANGER_FP_INDT",
528                                        "GRANGER_FP_V",
529                                        "BETON_UMLV_FP",
530                                        "ROUSS_PR",
531                                        "NADAI_B",
532                                        "BETON_DOUBLE_DP",
533                                        ),),
534
535
536            GAZ             =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
537            LIQU_SATU       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
538            LIQU_GAZ_ATM    =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
539            LIQU_VAPE_GAZ   =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
540            LIQU_AD_GAZ_VAPE=SIMP(statut='c',typ='I',defaut=3,into=(3,)),
541            LIQU_VAPE       =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
542            LIQU_GAZ        =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
543            HYDR_UTIL       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
544            HYDR            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
545            HYDR_ENDO       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
546            ACIER           =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
547            ZIRC            =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
548
549            DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",
550                              into=("PETIT","PETIT_REAC","SIMO_MIEHE","GREEN_GR","GREEN","COROTATIONNEL","REAC_GEOM")),
551            ALGO_C_PLAN     =SIMP(statut='f',typ='TXM',defaut="ANALYTIQUE",into=("DEBORST","ANALYTIQUE",)),
552            b_deborst      = BLOC(condition = " ALGO_C_PLAN == 'DEBORST' ",
553                         fr="Tolérance relative sur la verification des contraintes planes",
554                  RESI_DEBORST  =SIMP(statut='f',typ='R',defaut= 1.0E-6),
555                                 ),
556            ALGO_1D         =SIMP(statut='f',typ='TXM',defaut="ANALYTIQUE",into=("DEBORST","ANALYTIQUE",)),
557       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
558            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
559            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
560            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
561            RESI_INTE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-6),
562            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
563            ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut= 0 ),
564            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
565                                  into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
566            TYPE_MATR_TANG  =SIMP(statut='f',typ='TXM',into=("PERTURBATION","VERIFICATION")),
567            b_perturb      = BLOC(condition = " TYPE_MATR_TANG != None ",
568                         fr="Calcul de la matrice tangente par perturbation, valeur de la perturbation",
569                  VALE_PERT_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-5),
570                                 ),
571            PARM_THETA      =SIMP(statut='f',typ='R',defaut= 1. ),
572          ) ;
573 #& MODIF COMMUN  DATE 07/11/2006   AUTEUR CIBHHLV L.VIVAN 
574 #            CONFIGURATION MANAGEMENT OF EDF VERSION
575 # ======================================================================
576 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
577 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
578 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
579 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
580 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
581 #                                                                       
582 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
583 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
584 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
585 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
586 #                                                                       
587 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
588 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
589 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
590 # ======================================================================
591 # RESPONSABLE VABHHTS J.PELLET
592 # ce fichier contient la liste des "into" possibles pour le mot cle NOM_CHAM
593 # c'est a dire les noms de champs des SD RESULTAT (DATA de la routine RSCRSD)
594 def C_NOM_CHAM_INTO() : return  ("ACCE",    #COMMUN#
595                         "ACCE_ABSOLU",
596                         "ALPH0_ELGA_EPSP",
597                         "ALPHP_ELGA_ALPH0",
598                         "ARCO_ELNO_SIGM",
599                         "ARCO_NOEU_SIGM",
600                         "COMPORTEMENT",
601                         "COMPORTHER",
602                         "CRIT_ELNO_RUPT",
603                         "DCHA_ELGA_SIGM",
604                         "DCHA_ELNO_SIGM",
605                         "DCHA_NOEU_SIGM",
606                         "DEDE_ELNO_DLDE",
607                         "DEDE_NOEU_DLDE",
608                         "DEGE_ELNO_DEPL",
609                         "DEGE_NOEU_DEPL",
610                         "DEPL",
611                         "DEPL_ABSOLU",
612                         "DESI_ELNO_DLSI",
613                         "DESI_NOEU_DLSI",
614                         "DETE_ELNO_DLTE",
615                         "DETE_NOEU_DLTE",
616                         "DURT_ELGA_META",
617                         "DURT_ELNO_META",
618                         "DURT_NOEU_META",
619                         "ECIN_ELEM_DEPL",
620                         "EFGE_ELNO_CART",
621                         "EFGE_ELNO_DEPL",
622                         "EFGE_NOEU_CART",
623                         "EFGE_NOEU_DEPL",
624                         "ENDO_ELGA",
625                         "ENDO_ELNO_ELGA",
626                         "ENDO_ELNO_SIGA",
627                         "ENDO_ELNO_SINO",
628                         "ENDO_NOEU_SINO",
629                         "ENEL_ELGA",
630                         "ENEL_ELNO_ELGA",
631                         "ENEL_NOEU_ELGA",
632                         "EPEQ_ELNO_TUYO",
633                         "EPVC_ELGA",
634                         "EPVC_ELNO",
635                         "EPFD_ELGA",
636                         "EPFD_ELNO",
637                         "EPFP_ELGA",
638                         "EPFP_ELNO",
639                         "EPME_ELGA_DEPL",
640                         "EPME_ELNO_DEPL",
641                         "EPMG_ELGA_DEPL",
642                         "EPMG_ELNO_DEPL",
643                         "EPMG_NOEU_DEPL",
644                         "EPOT_ELEM_DEPL",
645                         "EPSA_ELNO",
646                         "EPSA_NOEU",
647                         "EPSG_ELGA_DEPL",
648                         "EPSG_ELNO_DEPL",
649                         "EPSG_NOEU_DEPL",
650                         "EPSI_ELGA_DEPL",
651                         "EPSI_ELNO_DEPL",
652                         "EPSI_ELNO_TUYO",
653                         "EPSI_NOEU_DEPL",
654                         "EPSP_ELGA",
655                         "EPSP_ELNO",
656                         "EPSP_ELNO_ZAC",
657                         "EPSP_NOEU",
658                         "EPSP_NOEU_ZAC",
659                         "EQUI_ELGA_EPME",
660                         "EQUI_ELGA_EPSI",
661                         "EQUI_ELGA_SIGM",
662                         "EQUI_ELNO_EPME",
663                         "EQUI_ELNO_EPSI",
664                         "EQUI_ELNO_SIGM",
665                         "EQUI_NOEU_EPME",
666                         "EQUI_NOEU_EPSI",
667                         "EQUI_NOEU_SIGM",
668                         "ERRE_ELEM_SIGM",
669                         "ERRE_ELEM_TEMP",
670                         "ERRE_ELNO_ELEM",
671                         "ERRE_NOEU_ELEM",
672                         "ERZ1_ELEM_SIGM",
673                         "ERZ2_ELEM_SIGM",
674                         "QIRE_ELEM_SIGM",
675                         "QIRE_ELNO_ELEM",
676                         "QIZ1_ELEM_SIGM",
677                         "QIZ2_ELEM_SIGM",
678                         "SING_ELEM",
679                         "SING_ELNO_ELEM",
680                         "ETOT_ELEM",
681                         "ETOT_ELGA",
682                         "ETOT_ELNO_ELGA",
683                         "EXTR_ELGA_VARI",
684                         "EXTR_ELNO_VARI",
685                         "EXTR_NOEU_VARI",
686                         "FLUX_ELGA_TEMP",
687                         "FLUX_ELNO_TEMP",
688                         "FLUX_NOEU_TEMP",
689                         "FORC_NODA",
690                         "FSUR_2D",
691                         "FSUR_3D",
692                         "FVOL_2D",
693                         "FVOL_3D",
694                         "GRAD_NOEU_THETA",
695                         "HYDR_ELNO_ELGA",
696                         "HYDR_NOEU_ELGA",
697                         "INDI_LOCA_ELGA",
698                         "INTE_ELNO_ACTI",
699                         "INTE_ELNO_REAC",
700                         "INTE_NOEU_ACTI",
701                         "INTE_NOEU_REAC",
702                         "IRRA",
703                         "LANL_ELGA",
704                         "META_ELGA_TEMP",
705                         "META_ELNO_TEMP",
706                         "META_NOEU_TEMP",
707                         "MODE_FLAMB",
708                         "PMPB_ELGA_SIEF",
709                         "PMPB_ELNO_SIEF",
710                         "PMPB_NOEU_SIEF",
711                         "PRES",
712                         "PRES_DBEL_DEPL",
713                         "PRES_ELNO_DBEL",
714                         "PRES_ELNO_IMAG",
715                         "PRES_ELNO_REEL",
716                         "PRES_NOEU_DBEL",
717                         "PRES_NOEU_IMAG",
718                         "PRES_NOEU_REEL",
719                         "RADI_ELGA_SIGM",
720                         "RADI_ELNO_SIGM",
721                         "RADI_NOEU_SIGM",
722                         "REAC_NODA",
723                         "SIEF_ELGA",
724                         "SIEF_ELGA_DEPL",
725                         "SIEF_ELNO",
726                         "SIEF_ELNO_ELGA",
727                         "SIEF_NOEU",
728                         "SIEF_NOEU_ELGA",
729                         "SIEQ_ELNO_TUYO",
730                         "SIGM_ELNO_CART",
731                         "SIGM_ELNO_COQU",
732                         "SIGM_ELNO_DEPL",
733                         "SIGM_ELNO_SIEF",
734                         "SIGM_ELNO_TUYO",
735                         "SIGM_ELNO_ZAC",
736                         "SIGM_NOEU_CART",
737                         "SIGM_NOEU_COQU",
738                         "SIGM_NOEU_DEPL",
739                         "SIGM_NOEU_SIEF",
740                         "SIGM_NOEU_ZAC",
741                         "SIGM_NOZ1_ELGA",
742                         "SIGM_NOZ2_ELGA",
743                         "SIPO_ELNO_DEPL",
744                         "SIPO_ELNO_SIEF",
745                         "SIPO_NOEU_DEPL",
746                         "SIPO_NOEU_SIEF",
747                         "SIRE_ELNO_DEPL",
748                         "SIRE_NOEU_DEPL",
749                         "SOUR_ELGA_ELEC",
750                         "TEMP",
751                         "THETA",
752                         "VALE_CONT",
753                         "VALE_NCOU_MAXI",
754                         "VARI_ELGA",
755                         "VARI_ELGA_ZAC",
756                         "VARI_ELNO",
757                         "VARI_ELNO_COQU",
758                         "VARI_ELNO_ELGA",
759                         "VARI_ELNO_TUYO",
760                         "VARI_NOEU",
761                         "VARI_NOEU_ELGA",
762                         "VARI_NON_LOCAL",
763                         "VITE",
764                         "VITE_ABSOLU",
765                         "VITE_VENT",
766                         )
767 #& MODIF COMMUN  DATE 04/04/2006   AUTEUR CIBHHLV L.VIVAN 
768 #            CONFIGURATION MANAGEMENT OF EDF VERSION
769 # ======================================================================
770 # COPYRIGHT (C) 1991 - 2005  EDF R&D                  WWW.CODE-ASTER.ORG
771 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
772 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
773 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
774 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
775 #                                                                       
776 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
777 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
778 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
779 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
780 #                                                                       
781 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
782 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
783 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
784 # ======================================================================
785 # ce fichier contient la liste des  noms des grandeurs de CODE_ASTER
786 def C_NOM_GRANDEUR() : return  ( #COMMUN# 
787 "ABSC_R",
788 "ADRSJEVE",
789 "ADRSJEVN",
790 "CAARPO",
791 "CACABL",
792 "CACOQU",
793 "CADISA",
794 "CADISK",
795 "CADISM",
796 "CAFI_R",
797 "CAGEBA",
798 "CAGEPO",
799 "CAGNBA",
800 "CAGNPO",
801 "CAMASS",
802 "CAORIE",
803 "CAPOUF",
804 "CARCRI",
805 "CASECT",
806 "CHLI_R",
807 "CODE_I",
808 "COEH_F",
809 "COEH_R",
810 "COMPOR",
811 "CORR_R",
812 "CRRU_R",
813 "DBEL_R",
814 "DCEL_I",
815 "DDLI_C",
816 "DDLI_F",
817 "DDLI_R",
818 "DDLM_C",
819 "DDLM_R",
820 "DEPL_C",
821 "DEPL_F",
822 "DEPL_R",
823 "DOMMAG",
824 "DURT_R",
825 "ENER_R",
826 "EPSI_F",
827 "EPSI_R",
828 "ERREUR",
829 "FACY_R",
830 "FELECR",
831 "FISS_R",
832 "FLAPLA",
833 "FLUN_F",
834 "FLUN_R",
835 "FLUX_F",
836 "FLUX_R",
837 "FORC_C",
838 "FORC_F",
839 "FORC_R",
840 "FREQ_R",
841 "FTHM_F",
842 "FTHM_R",
843 "G",
844 "GEOM_R",
845 "G_DEPL_R",
846 "HARMON",
847 "HYDR_R",
848 "IMPE_C",
849 "IMPE_F",
850 "IMPE_R",
851 "IND_LOCA",
852 "INFC_R",
853 "INST_R",
854 "INTE_R",
855 "INTLOC",
856 "IRRA_R",
857 "ITECREL",
858 "ITEDEC",
859 "J",
860 "LISTMA",
861 "MACOMP",
862 "MASS_R",
863 "MATE_F",
864 "NBSP_I",
865 "NEUT_F",
866 "NEUT_I",
867 "NEUT_K16",
868 "NEUT_K24",
869 "NEUT_K8",
870 "NEUT_R",
871 "NUMC_I",
872 "NUMMOD",
873 "ONDE_F",
874 "ONDE_R",
875 "PESA_R",
876 "PILO_K",
877 "PILO_R",
878 "POSI",
879 "PREC",
880 "PRES_C",
881 "PRES_F",
882 "PRES_R",
883 "RAYO_F",
884 "RAYO_R",
885 "RCCM_K",
886 "RCCM_R",
887 "RESCREL",
888 "RICE_TRA",
889 "ROTA_R",
890 "SECTION",
891 "SIEF_C",
892 "SIEF_R",
893 "SIZZ_R",
894 "SOUR_F",
895 "SOUR_R",
896 "SPMA_R",
897 "STAOUDYN",
898 "TEMP_C",
899 "TEMP_F",
900 "TEMP_R",
901 "THETA",
902 "VALO_R",
903 "VANL_R",
904 "VAR2_R",
905 "VARI_R",
906 "VENTCX_F",
907 "VNOR_C",
908 "VNOR_F",
909 "VOISIN",
910 "WEIBULL",
911 "XCONTAC",
912                                  )
913 #& MODIF COMMUN  DATE 29/03/2007   AUTEUR GRANET S.GRANET 
914 #            CONFIGURATION MANAGEMENT OF EDF VERSION
915 # ======================================================================
916 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
917 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
918 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
919 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
920 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
921 #                                                                       
922 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
923 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
924 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
925 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
926 #                                                                       
927 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
928 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
929 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
930 # ======================================================================
931 # ce fichier contient la liste des PARA possibles pour les fonctions et les nappes
932 def C_PARA_FONCTION() : return  ( #COMMUN#
933                    "DX","DY","DZ","DRX","DRY","DRZ","TEMP","TSEC",
934                    "INST","X","Y","Z","EPSI","META","FREQ","PULS","DSP",
935                    "AMOR","ABSC","SIGM","HYDR","SECH","PORO","SAT",
936                    "PGAZ","PCAP","PLIQ","PVAP","PAD","VITE","ENDO",
937                    "NORM","EPAIS","NEUT1","NEUT2",)
938 #& MODIF COMMUN  DATE 27/06/2005   AUTEUR D6BHHJP J.P.LEFEBVRE 
939 #            CONFIGURATION MANAGEMENT OF EDF VERSION
940 # ======================================================================
941 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
942 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
943 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
944 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
945 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
946 #                                                                       
947 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
948 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
949 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
950 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
951 #                                                                       
952 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
953 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
954 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
955 # ======================================================================
956 #
957 # ce fichier contient la liste des "into" possibles pour le mot cle TYPE_CHAM
958 def C_TYPE_CHAM_INTO() : #COMMUN#
959    l=[]
960    for gd in C_NOM_GRANDEUR() :
961         for typ in ("ELEM","ELNO","ELGA","CART","NOEU") :
962              l.append(typ+"_"+gd)
963    return tuple(l)
964
965 #& MODIF COMMANDE  DATE 23/04/2007   AUTEUR FLEJOU J-L.FLEJOU 
966 #            CONFIGURATION MANAGEMENT OF EDF VERSION
967 # ======================================================================
968 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
969 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
970 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
971 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
972 # (AT YOUR OPTION) ANY LATER VERSION.
973 #
974 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
975 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
976 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
977 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
978 #
979 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
980 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
981 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
982 # ======================================================================
983 # RESPONSABLE MJBHHPE J.L.FLEJOU
984 AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op=  19,sd_prod=cara_elem,
985                     fr="Affectation de caractéristiques à des éléments de structure",
986                     reentrant='n',
987             UIinfo={"groupes":("Modélisation",)},
988          regles=(AU_MOINS_UN('POUTRE','BARRE','COQUE','CABLE','DISCRET','DISCRET_2D','MASSIF',
989                              'GRILLE','MULTIFIBRE','RIGI_PARASOL'),
990                              PRESENT_PRESENT('MULTIFIBRE','GEOM_FIBRE'),),
991          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
992          INFO            =SIMP(statut='f',typ='I', defaut= 1 ,into=(1,2) ),
993          VERIF           =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("MAILLE","NOEUD") ),
994
995 #============================================================================
996          POUTRE          =FACT(statut='f',max='**',
997            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
998            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
999            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1000            SECTION         =SIMP(statut='o',typ='TXM' ,into=("GENERALE","RECTANGLE","CERCLE") ),
1001            PREC_AIRE       =SIMP(statut='f',typ='R',defaut=0.01),
1002            PREC_INERTIE    =SIMP(statut='f',typ='R',defaut=0.1),
1003            b_generale      =BLOC( condition = "SECTION=='GENERALE'",
1004              VARI_SECT       =SIMP(statut='f',typ='TXM',into=("CONSTANT","HOMOTHETIQUE"),defaut="CONSTANT"),
1005              b_constant      =BLOC( condition = "VARI_SECT=='CONSTANT'",
1006                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=4 ,max=15,
1007                                  fr="A,IY,IZ,JX sont des paramètres obligatoires",
1008                                  into=("A","IY","IZ","AY","AZ","EY","EZ","JX","RY","RZ","RT",
1009                                        "JG","IYR2","IZR2","AI") ),
1010                VALE            =SIMP(statut='o',typ='R',min=4 ,max=15),
1011              ),
1012              b_homothetique  =BLOC( condition = "VARI_SECT=='HOMOTHETIQUE'",
1013                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=8 ,max=30,
1014                                  fr="A1,A2,IY1,IY2,IZ1,IZ2,JX1,JX2 sont des paramètres obligatoires",
1015                                  into=("A1","IY1","IZ1","AY1","AZ1","EY1","EZ1","JX1","RY1",
1016                                        "RZ1","RT1","JG1","IYR21","IZR21","AI1",
1017                                        "A2","IY2","IZ2","AY2","AZ2","EY2","EZ2","JX2","RY2",
1018                                        "RZ2","RT2","JG2","IYR22","IZR22","AI2") ),
1019                VALE            =SIMP(statut='o',typ='R',min=8 ,max=30),
1020              ),
1021            ),
1022            b_rectangle     =BLOC( condition = "SECTION=='RECTANGLE'",
1023              VARI_SECT       =SIMP(statut='f',typ='TXM',into=("CONSTANT","HOMOTHETIQUE","AFFINE"),defaut="CONSTANT"),
1024              b_constant      =BLOC( condition = "VARI_SECT=='CONSTANT'",
1025                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1 ,max=4,
1026                                  into=("H","EP", "HY","HZ","EPY","EPZ") ),
1027                VALE            =SIMP(statut='o',typ='R',min=1 ,max=4),
1028              ),
1029              b_homothetique  =BLOC( condition = "VARI_SECT=='HOMOTHETIQUE'",
1030                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=2 ,max=8,
1031                                      into=("H1","HZ1","HY1","EP1","EPY1","EPZ1",
1032                                            "H2","HZ2","HY2","EP2","EPY2","EPZ2") ),
1033                VALE            =SIMP(statut='o',typ='R',min=2 ,max=8),
1034              ),
1035              b_affine =BLOC( condition = "VARI_SECT=='AFFINE'",
1036                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=3 ,max=6,
1037                                      into=("HY","EPY", "HZ1","EPZ1","HZ2","EPZ2") ),
1038                VALE            =SIMP(statut='o',typ='R',min=3 ,max=6),
1039              ),
1040            ),
1041            b_cercle        =BLOC( condition = "SECTION=='CERCLE'",
1042              VARI_SECT       =SIMP(statut='f',typ='TXM',into=("CONSTANT","HOMOTHETIQUE"),defaut="CONSTANT"),
1043              b_constant      =BLOC( condition = "VARI_SECT=='CONSTANT'",
1044                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1 ,max=2,
1045                                  fr="R est un paramètre obligatoire",
1046                                      into=("R","EP") ),
1047                VALE            =SIMP(statut='o',typ='R',min=1 ,max=2),
1048              ),
1049              b_homothetique  =BLOC( condition = "VARI_SECT=='HOMOTHETIQUE'",
1050                CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=2 ,max=4,
1051                                  fr="R1, R2 sont des paramètres obligatoires",
1052                                      into=("R1","R2","EP1","EP2") ),
1053                VALE            =SIMP(statut='o',typ='R',min=2 ,max=4),
1054              ),
1055              MODI_METRIQUE   =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
1056              FCX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1057              TUYAU_NSEC      =SIMP(statut='f',typ='I',val_max=32,defaut=16),
1058              TUYAU_NCOU      =SIMP(statut='f',typ='I',val_max=10,defaut=3),
1059            ),
1060          ),
1061
1062 #============================================================================
1063          BARRE           =FACT(statut='f',max='**',
1064            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1065            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1066            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1067            SECTION         =SIMP(statut='o',typ='TXM',into=("GENERALE","RECTANGLE","CERCLE") ),
1068            b_generale      =BLOC( condition = "SECTION=='GENERALE'",
1069              CARA            =SIMP(statut='o',typ='TXM',into=("A",) ),
1070              VALE            =SIMP(statut='o',typ='R',min=1,max=1 ),
1071            ),
1072            b_rectangle     =BLOC( condition = "SECTION=='RECTANGLE'",
1073              CARA            =SIMP(statut='o',typ='TXM',into=("H","EP",
1074                                                               "HZ","HY","EPY","EPZ"),
1075                                                         validators=NoRepeat(),min=1,max=4 ),
1076              VALE            =SIMP(statut='o',typ='R',min=1,max=4 ),
1077            ),
1078            b_cercle        =BLOC( condition = "SECTION=='CERCLE'",
1079              CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=2,into=("R","EP") ),
1080              VALE            =SIMP(statut='o',typ='R',min=1,max=2 ),
1081            ),
1082            FCX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1083          ),
1084
1085 #============================================================================
1086          COQUE           =FACT(statut='f',max='**',
1087            regles=(UN_PARMI('MAILLE','GROUP_MA' ),
1088                    PRESENT_PRESENT( 'EXCENTREMENT','INER_ROTA' ),
1089                    EXCLUS('ANGL_REP','VECTEUR'),),
1090            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1091            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1092            EPAIS           =SIMP(statut='o',typ='R' ),
1093            ANGL_REP        =SIMP(statut='f',typ='R',min=2,max=2),
1094            VECTEUR         =SIMP(statut='f',typ='R',min=3,max=3),
1095            A_CIS           =SIMP(statut='c',typ='R',defaut= 0.8333333E0),
1096            COEF_RIGI_DRZ   =SIMP(statut='f',typ='R',defaut= 1.0E-5 ),
1097            COQUE_NCOU      =SIMP(statut='f',typ='I',defaut= 1 ),
1098            EXCENTREMENT    =SIMP(statut='f',typ='R' ),
1099            INER_ROTA       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1100            MODI_METRIQUE   =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
1101          ),
1102
1103 #============================================================================
1104          CABLE           =FACT(statut='f',max='**',
1105            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1106            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1107            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1108            N_INIT          =SIMP(statut='f',typ='R',defaut= 5000. ),
1109            SECTION         =SIMP(statut='f',typ='R' ),
1110            FCX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1111          ),
1112
1113 #============================================================================
1114          DISCRET         =FACT(statut='f',max='**',
1115            REPERE          =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
1116            AMOR_HYST       =SIMP(statut='f',typ='R' ),
1117            CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,
1118           fr="Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds",
1119                                  into=("K_T_D_N","K_T_D_L","K_TR_D_N","K_TR_D_L",
1120                                        "K_T_N",  "K_T_L",  "K_TR_N",  "K_TR_L",
1121                                        "M_T_D_N","M_TR_D_N","M_T_N",
1122                                        "M_T_L",  "M_TR_N",  "M_TR_L",
1123                                        "A_T_D_N","A_TR_D_N","A_T_D_L","A_TR_D_L",
1124                                        "A_T_N",  "A_T_L",   "A_TR_N", "A_TR_L") ),
1125
1126 # affection des caractéristiques de RIGIDITE/AMORTISSEMENT
1127               b_K_T_D_N  =BLOC(condition = "(CARA=='K_T_D_N')or(CARA=='A_T_D_N')",
1128                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
1129                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1130                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1131                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1132                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1133                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1134                                VALE     =SIMP(statut='f',typ='R',min=3 ,max=3 ),
1135                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=3 ,max=3 ),),
1136               b_K_T_D_L  =BLOC(condition = "(CARA=='K_T_D_L')or(CARA=='A_T_D_L')",
1137                                regles=(UN_PARMI('MAILLE','GROUP_MA'),
1138                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1139                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1140                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1141                                VALE =SIMP(statut='f',typ='R',min=3 ,max=3 ),
1142                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=3 ,max=3 ),),
1143               b_K_TR_D_N =BLOC(condition = "(CARA=='K_TR_D_N')or(CARA=='A_TR_D_N')",
1144                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
1145                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1146                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1147                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1148                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1149                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1150                                VALE =SIMP(statut='f',typ='R',min=6 ,max=6 ),
1151                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=6 ,max=6 ),),
1152               b_K_TR_D_L =BLOC(condition = "(CARA=='K_TR_D_L')or(CARA=='A_TR_D_L')",
1153                                regles=(UN_PARMI('MAILLE','GROUP_MA'),
1154                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1155                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1156                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1157                                VALE =SIMP(statut='f',typ='R',min=6 ,max=6 ),
1158                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=6 ,max=6 ),),
1159               b_K_T_N    =BLOC(condition = "(CARA=='K_T_N')or(CARA=='A_T_N')",
1160                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
1161                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1162                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1163                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1164                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1165                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1166                                VALE =SIMP(statut='f',typ='R',min=6 ,max=6 ),
1167                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=6 ,max=6 ),),
1168               b_K_T_L    =BLOC(condition = "(CARA=='K_T_L')or(CARA=='A_T_L')",
1169                                regles=(UN_PARMI('MAILLE','GROUP_MA'),
1170                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1171                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1172                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1173                                VALE =SIMP(statut='f',typ='R',min=21,max=21),
1174                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=21 ,max=21 ),),
1175               b_K_TR_N   =BLOC(condition = "(CARA=='K_TR_N')or(CARA=='A_TR_N')",
1176                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
1177                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1178                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1179                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1180                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1181                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1182                                VALE =SIMP(statut='f',typ='R',min=21,max=21),
1183                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=21 ,max=21 ),),
1184               b_K_TR_L   =BLOC(condition = "(CARA=='K_TR_L')or(CARA=='A_TR_L')",
1185                                regles=(UN_PARMI('MAILLE','GROUP_MA'),
1186                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1187                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1188                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1189                                VALE =SIMP(statut='f',typ='R',min=78,max=78),
1190                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=78 ,max=78 ),),
1191
1192 # affection des caractéristiques de MASSE
1193               b_M_T_D_N  =BLOC(condition = "CARA=='M_T_D_N'",
1194           fr="NOEUD: 1 valeur de masse",
1195                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
1196                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1197                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1198                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1199                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1200                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1201                                VALE =SIMP(statut='f',typ='R',min=1 ,max=1 ),
1202                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=1 ,max=1 ),),
1203               b_M_TR_D_N =BLOC(condition = "CARA=='M_TR_D_N'",
1204           fr="NOEUD: 1 valeur de masse, 6 valeurs du tenseur d'inertie, 3 composantes du vecteur d'excentricité",
1205                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
1206                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1207                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1208                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1209                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1210                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1211                                VALE =SIMP(statut='f',typ='R',min=10,max=10),
1212                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=10 ,max=10 ),),
1213               b_M_T_N    =BLOC(condition = "CARA=='M_T_N'",
1214           fr="NOEUD: 6 valeurs de masse (triangulaire supérieure par colonne)",
1215                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
1216                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1217                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1218                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1219                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1220                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1221                                VALE =SIMP(statut='f',typ='R',min=6 ,max=6 ),
1222                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=6 ,max=6 ),),
1223               b_M_T_L    =BLOC(condition = "CARA=='M_T_L'",
1224           fr="SEGMENT: 21 valeurs de masse (triangulaire supérieure par colonne)",
1225                                regles=(UN_PARMI('MAILLE','GROUP_MA'),
1226                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1227                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1228                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1229                                VALE =SIMP(statut='f',typ='R',min=21,max=21),
1230                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=21 ,max=21 ),),
1231               b_M_TR_N   =BLOC(condition = "CARA=='M_TR_N'",
1232           fr="NOEUD: 21 valeurs de masse (triangulaire supérieure par colonne)",
1233                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
1234                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1235                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1236                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1237                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1238                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1239                                VALE =SIMP(statut='f',typ='R',min=21,max=21),
1240                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=21 ,max=21 ),),
1241               b_M_TR_L   =BLOC(condition = "CARA=='M_TR_L'",
1242           fr="SEGMENT: 78 valeurs de masse (triangulaire supérieure par colonne)",
1243                                regles=(UN_PARMI('MAILLE','GROUP_MA'),
1244                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1245                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1246                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1247                                VALE =SIMP(statut='f',typ='R',min=78,max=78),
1248                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=78 ,max=78 ),),
1249          ),
1250
1251 #============================================================================
1252          DISCRET_2D      =FACT(statut='f',max='**',
1253            REPERE          =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
1254            AMOR_HYST       =SIMP(statut='f',typ='R' ),
1255            CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,
1256           fr="Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds",
1257                                  into=("K_T_D_N","K_T_D_L","K_TR_D_N","K_TR_D_L",
1258                                        "K_T_N",  "K_T_L",  "K_TR_N",  "K_TR_L",
1259                                        "M_T_D_N","M_T_N",  "M_TR_D_N",
1260                                        "M_T_L",  "M_TR_N",  "M_TR_L",
1261                                        "A_T_D_N","A_TR_D_N","A_T_D_L","A_TR_D_L",
1262                                        "A_T_N",  "A_T_L",   "A_TR_N", "A_TR_L") ),
1263
1264 # affection des caractéristiques de RIGIDITE/AMORTISSEMENT
1265               b_K_T_D_N  =BLOC(condition = "(CARA=='K_T_D_N')or(CARA=='A_T_D_N')",
1266                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
1267                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1268                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1269                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1270                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1271                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1272                                VALE =SIMP(statut='f',typ='R',min=2 ,max=2 ),
1273                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=2 ,max=2 ),),
1274               b_K_T_D_L  =BLOC(condition = "(CARA=='K_T_D_L')or(CARA=='A_T_D_L')",
1275                                regles=(UN_PARMI('MAILLE','GROUP_MA'),
1276                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1277                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1278                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1279                                VALE =SIMP(statut='f',typ='R',min=2 ,max=2 ),
1280                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=2 ,max=2 ),),
1281               b_K_TR_D_N =BLOC(condition = "(CARA=='K_TR_D_N')or(CARA=='A_TR_D_N')",
1282                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
1283                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1284                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1285                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1286                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1287                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1288                                VALE =SIMP(statut='f',typ='R',min=3 ,max=3 ),
1289                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=3 ,max=3 ),),
1290               b_K_TR_D_L =BLOC(condition = "(CARA=='K_TR_D_L')or(CARA=='A_TR_D_L')",
1291                                regles=(UN_PARMI('MAILLE','GROUP_MA'),
1292                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1293                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1294                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1295                                VALE =SIMP(statut='f',typ='R',min=3 ,max=3 ),
1296                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=3 ,max=3 ),),
1297               b_K_T_N    =BLOC(condition = "(CARA=='K_T_N')or(CARA=='A_T_N')",
1298                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
1299                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1300                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1301                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1302                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1303                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1304                                VALE =SIMP(statut='f',typ='R',min=3 ,max=3 ),
1305                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=3 ,max=3 ),),
1306               b_K_T_L    =BLOC(condition = "(CARA=='K_T_L')or(CARA=='A_T_L')",
1307                                regles=(UN_PARMI('MAILLE','GROUP_MA'),
1308                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1309                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1310                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1311                                VALE =SIMP(statut='f',typ='R',min=10,max=10),
1312                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=10 ,max=10 ),),
1313               b_K_TR_N   =BLOC(condition = "(CARA=='K_TR_N')or(CARA=='A_TR_N')",
1314                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
1315                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1316                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1317                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1318                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1319                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1320                                VALE =SIMP(statut='f',typ='R',min=6 ,max=6),
1321                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=6 ,max=6 ),),
1322               b_K_TR_L   =BLOC(condition = "(CARA=='K_TR_L')or(CARA=='A_TR_L')",
1323                                regles=(UN_PARMI('MAILLE','GROUP_MA'),
1324                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1325                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1326                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1327                                VALE =SIMP(statut='f',typ='R',min=21,max=21),
1328                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=21 ,max=21 ),),
1329
1330 # affection des caractéristiques de MASSE
1331               b_M_T_D_N  =BLOC(condition = "CARA=='M_T_D_N'",
1332           fr="NOEUD: 1 valeur de masse",
1333                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
1334                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1335                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1336                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1337                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1338                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1339                                VALE =SIMP(statut='f',typ='R',min=1 ,max=1 ),
1340                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=1 ,max=1 ),),
1341               b_M_TR_D_N =BLOC(condition = "CARA=='M_TR_D_N'",
1342           fr="NOEUD: 1 valeur de masse(m), 1 valeur d'inertie(Izz), 2 composantes du vecteur d'excentricité(ex,ey) ",
1343                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
1344                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1345                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1346                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1347                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1348                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1349                                VALE =SIMP(statut='f',typ='R',min=4 ,max=4 ),
1350                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=4 ,max=4 ),),
1351               b_M_T_N    =BLOC(condition = "CARA=='M_T_N'",
1352           fr="NOEUD: 3 valeurs de masse (triangulaire supérieure par colonne)",
1353                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
1354                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1355                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1356                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1357                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1358                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1359                                VALE =SIMP(statut='f',typ='R',min=3 ,max=3 ),
1360                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=3 ,max=3 ),),
1361               b_M_T_L    =BLOC(condition = "CARA=='M_T_L'",
1362           fr="SEGMENT: 10 valeurs de masse (triangulaire supérieure par colonne)",
1363                                regles=(UN_PARMI('MAILLE','GROUP_MA'),
1364                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1365                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1366                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1367                                VALE =SIMP(statut='f',typ='R',min=10,max=10),
1368                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=10 ,max=10 ),),
1369               b_M_TR_N   =BLOC(condition = "CARA=='M_TR_N'",
1370           fr="NOEUD: 6 valeurs de masse (triangulaire supérieure par colonne)",
1371                                regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
1372                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1373                                NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1374                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1375                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1376                                GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1377                                VALE =SIMP(statut='f',typ='R',min=6 ,max=6 ),
1378                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=6 ,max=6 ),),
1379               b_M_TR_L   =BLOC(condition = "CARA=='M_TR_L'",
1380           fr="SEGMENT: 21 valeurs de masse (triangulaire supérieure par colonne)",
1381                                regles=(UN_PARMI('MAILLE','GROUP_MA'),
1382                                        AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
1383                                MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1384                                GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1385                                VALE =SIMP(statut='f',typ='R',min=21,max=21),
1386                                VALE_F =SIMP(statut='f',typ=(para_sensi,),min=21 ,max=21 ),),
1387          ),
1388
1389 #============================================================================
1390          ORIENTATION     =FACT(statut='f',max='**',
1391            regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO' ),),
1392            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1393            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1394            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1395            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1396            CARA            =SIMP(statut='o',typ='TXM',
1397                                  into=("VECT_Y","ANGL_VRIL","VECT_X_Y","ANGL_NAUT","GENE_TUYAU") ),
1398            VALE            =SIMP(statut='o',typ='R',max='**'),
1399            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-4 ),
1400            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
1401          ),
1402
1403 #============================================================================
1404          DEFI_ARC        =FACT(statut='f',max='**',
1405            regles=(UN_PARMI('MAILLE','GROUP_MA'),
1406                    UN_PARMI('ORIE_ARC','CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE',
1407                             'POIN_TANG','NOEUD_POIN_TANG','GROUP_NO_POIN_TG'),
1408                    PRESENT_PRESENT('ORIE_ARC','RAYON'),
1409                    EXCLUS('COEF_FLEX','COEF_FLEX_XY'),
1410                    EXCLUS('COEF_FLEX','COEF_FLEX_XZ'),
1411                    EXCLUS('INDI_SIGM','INDI_SIGM_XY'),
1412                    EXCLUS('INDI_SIGM','INDI_SIGM_XZ'),
1413                    PRESENT_PRESENT('COEF_FLEX_XY','COEF_FLEX_XZ'),
1414                    PRESENT_PRESENT('INDI_SIGM_XY','INDI_SIGM_XZ'),),
1415            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1416            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1417            ORIE_ARC        =SIMP(statut='f',typ='R'),
1418            CENTRE          =SIMP(statut='f',typ='R',max='**'),
1419            NOEUD_CENTRE    =SIMP(statut='f',typ=no),
1420            GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
1421            POIN_TANG       =SIMP(statut='f',typ='R',max='**'),
1422            NOEUD_POIN_TANG =SIMP(statut='f',typ=no),
1423            GROUP_NO_POIN_TG=SIMP(statut='f',typ=grno),
1424            RAYON           =SIMP(statut='f',typ='R'),
1425            COEF_FLEX       =SIMP(statut='f',typ='R'),
1426            INDI_SIGM       =SIMP(statut='f',typ='R'),
1427            COEF_FLEX_XY    =SIMP(statut='f',typ='R'),
1428            INDI_SIGM_XY    =SIMP(statut='f',typ='R'),
1429            COEF_FLEX_XZ    =SIMP(statut='f',typ='R'),
1430            INDI_SIGM_XZ    =SIMP(statut='f',typ='R'),
1431            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
1432            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
1433          ),
1434
1435 #============================================================================
1436          MASSIF          =FACT(statut='f',max='**',
1437            regles=(UN_PARMI('MAILLE','GROUP_MA'),
1438                    UN_PARMI('ANGL_REP','ANGL_AXE','ANGL_EULER'),
1439                    EXCLUS('ANGL_REP','ANGL_EULER'),
1440                    EXCLUS('ANGL_REP','ANGL_AXE'),
1441                    EXCLUS('ANGL_REP','ORIG_AXE'),
1442                    PRESENT_PRESENT('ANGL_AXE','ORIG_AXE'), ),
1443            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1444            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1445            ANGL_REP        =SIMP(statut='f',typ='R',max=3),
1446            ANGL_EULER      =SIMP(statut='f',typ='R',min=3,max=3),
1447            ANGL_AXE        =SIMP(statut='f',typ='R',max=2),
1448            ORIG_AXE        =SIMP(statut='f',typ='R',max=3),
1449          ),
1450
1451
1452 #============================================================================
1453          POUTRE_FLUI     =FACT(statut='f',max='**',
1454            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
1455            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1456            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1457            B_T             =SIMP(statut='o',typ='R'),
1458            B_N             =SIMP(statut='o',typ='R'),
1459            B_TN            =SIMP(statut='o',typ='R',defaut= 0.E+0 ),
1460            A_FLUI          =SIMP(statut='o',typ='R'),
1461            A_CELL          =SIMP(statut='o',typ='R'),
1462            COEF_ECHELLE    =SIMP(statut='o',typ='R'),
1463          ),
1464
1465 #============================================================================
1466          GRILLE          =FACT(statut='f',max='**',
1467            regles=(UN_PARMI('MAILLE','GROUP_MA'),
1468                    EXCLUS('ANGL_REP','ORIG_AXE'),
1469                    ENSEMBLE('ORIG_AXE','AXE')),
1470            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1471            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1472            SECTION         =SIMP(statut='o',typ='R'),
1473            ANGL_REP        =SIMP(statut='f',typ='R',max=2),
1474            EXCENTREMENT    =SIMP(statut='f',typ='R'),
1475            ORIG_AXE        =SIMP(statut='f',typ='R',max='**'),
1476            AXE             =SIMP(statut='f',typ='R',max='**'),
1477            COEF_RIGI_DRZ   =SIMP(statut='f',typ='R',defaut= 1.0E-10 ),
1478            GRILLE_NCOU     =SIMP(statut='f',typ='I',defaut= 1,),
1479          ),
1480
1481 #============================================================================
1482          RIGI_PARASOL    =FACT(statut='f',max='**',
1483             regles=(UN_PARMI('COEF_GROUP','FONC_GROUP'),
1484                     UN_PARMI('COOR_CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE'),
1485                     EXCLUS('GROUP_MA_POI1','GROUP_MA_SEG2'),),
1486             GROUP_MA        =SIMP(statut='o',typ=ma,validators=NoRepeat(),max='**',
1487                fr="Surface servant à répartir les caractéristiques des discrets"),
1488             GROUP_MA_POI1   =SIMP(statut='f',typ=ma,validators=NoRepeat(),max=1,
1489                fr="Mailles de type point correspondant aux discrets"),
1490             GROUP_MA_SEG2   =SIMP(statut='f',typ=ma,validators=NoRepeat(),max=1,
1491                fr="Mailles de type seg2 correspondant aux discrets"),
1492             FONC_GROUP      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1493             COEF_GROUP      =SIMP(statut='f',typ='R',max='**'),
1494             REPERE          =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
1495             CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2,
1496                             into=("K_TR_D_N","K_T_D_N","K_TR_D_L","K_T_D_L",
1497                                   "A_TR_D_N","A_T_D_N","A_TR_D_L","A_T_D_L") ),
1498             VALE            =SIMP(statut='o',typ='R',max='**'),
1499             GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
1500             NOEUD_CENTRE    =SIMP(statut='f',typ=no),
1501             COOR_CENTRE     =SIMP(statut='f',typ='R',min=2,max=3),
1502          ),
1503
1504 #============================================================================
1505          RIGI_MISS_3D    =FACT(statut='f',max='**',
1506            GROUP_MA_POI1   =SIMP(statut='o',typ=ma,max=1),
1507            GROUP_MA_SEG2   =SIMP(statut='f',typ=ma,max=1),
1508            FREQ_EXTR       =SIMP(statut='o',typ='R',max=1),
1509            UNITE_RESU_IMPE =SIMP(statut='f',typ='I',defaut=30),
1510          ),
1511
1512 #============================================================================
1513          GEOM_FIBRE = SIMP(statut='f',max=1,typ=gfibre_sdaster,
1514                    fr="Donner le nom de la SD regroupant tous les groupes de fibres (issue de DEFI_GEOM_FIBRE)"),
1515          MULTIFIBRE     =FACT(statut='f',max='**',
1516               regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),),
1517
1518               GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1519               MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1520
1521               GROUP_FIBRE     =SIMP(statut='o',typ='TXM',max='**'),
1522
1523          ),
1524
1525
1526
1527 ) ;
1528 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
1529 #            CONFIGURATION MANAGEMENT OF EDF VERSION
1530 # ======================================================================
1531 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
1532 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1533 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1534 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
1535 # (AT YOUR OPTION) ANY LATER VERSION.                                 
1536 #
1537 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
1538 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
1539 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
1540 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
1541 #
1542 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
1543 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
1544 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
1545 # ======================================================================
1546 AFFE_CHAR_ACOU=OPER(nom="AFFE_CHAR_ACOU",op=  68,sd_prod=char_acou,
1547                     fr="Affectation de charges et conditions aux limites acoustiques constantes",
1548                     reentrant='n',
1549             UIinfo={"groupes":("Modélisation",)},
1550          regles=(AU_MOINS_UN('PRES_IMPO','VITE_FACE','IMPE_FACE','LIAISON_UNIF' ),),
1551          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
1552          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
1553          PRES_IMPO       =FACT(statut='f',max='**',
1554            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
1555            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1556            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1557            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1558            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1559            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1560            PRES            =SIMP(statut='o',typ='C' ),
1561          ),
1562          VITE_FACE       =FACT(statut='f',max='**',
1563              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
1564                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
1565            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1566            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1567            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1568            VNOR            =SIMP(statut='o',typ='C' ),
1569          ),
1570          IMPE_FACE       =FACT(statut='f',max='**',
1571              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
1572                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
1573            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1574            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1575            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1576            IMPE            =SIMP(statut='o',typ='C' ),
1577          ),
1578          LIAISON_UNIF    =FACT(statut='f',max='**',
1579            regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE' ),),
1580            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1581            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1582            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1583            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1584            DDL             =SIMP(statut='o',typ='TXM',max='**'),
1585          ),
1586 )  ;
1587 #& MODIF COMMANDE  DATE 21/05/2007   AUTEUR FERNANDES R.FERNANDES 
1588 #            CONFIGURATION MANAGEMENT OF EDF VERSION
1589 # ======================================================================
1590 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
1591 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1592 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1593 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1594 # (AT YOUR OPTION) ANY LATER VERSION.
1595 #
1596 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1597 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1598 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
1599 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
1600 #
1601 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1602 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1603 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1604 # ======================================================================
1605 # RESPONSABLE VABHHTS J.PELLET
1606 def affe_char_cine_prod(MECA_IMPO,THER_IMPO,ACOU_IMPO,**args):
1607   if MECA_IMPO != None  : return char_cine_meca
1608   if THER_IMPO != None  : return char_cine_ther
1609   if ACOU_IMPO != None  : return char_cine_acou
1610   raise AsException("type de concept resultat non prevu")
1611
1612 AFFE_CHAR_CINE=OPER(nom="AFFE_CHAR_CINE",op= 101,sd_prod=affe_char_cine_prod
1613                     ,fr="Affectation de conditions aux limites cinématiques constantes pour un traitement sans dualisation",
1614                      reentrant='n',
1615             UIinfo={"groupes":("Modélisation",)},
1616          regles=(AU_MOINS_UN('MECA_IMPO','THER_IMPO','ACOU_IMPO'),
1617                  EXCLUS('MECA_IMPO','THER_IMPO'),
1618                  EXCLUS('MECA_IMPO','ACOU_IMPO'),
1619                  EXCLUS('THER_IMPO','ACOU_IMPO'),),
1620          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
1621          MECA_IMPO       =FACT(statut='f',max='**',
1622            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
1623                    AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
1624                                'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2',
1625                                'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4',
1626                                'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6',
1627                                'VO6','WI6','WO6','WO','WI1','WO1','GONF','DCX','DCY','DCZ',
1628                                'H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z',
1629                                'E3X','E3Y','E3Z','E4X','E4Y','E4Z','V11','V12','V13','V21','V22',
1630                                'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21',
1631                                'PRES22','PRES23','PRES31','PRES32','PRES33'),),
1632              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1633              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1634              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1635              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1636              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1637              DX              =SIMP(statut='f',typ='R' ),
1638              DY              =SIMP(statut='f',typ='R' ),
1639              DZ              =SIMP(statut='f',typ='R' ),
1640              DRX             =SIMP(statut='f',typ='R' ),
1641              DRY             =SIMP(statut='f',typ='R' ),
1642              DRZ             =SIMP(statut='f',typ='R' ),
1643              GRX             =SIMP(statut='f',typ='R' ),
1644              PRES            =SIMP(statut='f',typ='R' ),
1645              PHI             =SIMP(statut='f',typ='R' ),
1646              TEMP            =SIMP(statut='f',typ='R' ),
1647              PRE1            =SIMP(statut='f',typ='R' ),
1648              PRE2            =SIMP(statut='f',typ='R' ),
1649              UI2             =SIMP(statut='f',typ='R' ),
1650              UI3             =SIMP(statut='f',typ='R' ),
1651              UI4             =SIMP(statut='f',typ='R' ),
1652              UI5             =SIMP(statut='f',typ='R' ),
1653              UI6             =SIMP(statut='f',typ='R' ),
1654              UO2             =SIMP(statut='f',typ='R' ),
1655              UO3             =SIMP(statut='f',typ='R' ),
1656              UO4             =SIMP(statut='f',typ='R' ),
1657              UO5             =SIMP(statut='f',typ='R' ),
1658              UO6             =SIMP(statut='f',typ='R' ),
1659              VI2             =SIMP(statut='f',typ='R' ),
1660              VI3             =SIMP(statut='f',typ='R' ),
1661              VI4             =SIMP(statut='f',typ='R' ),
1662              VI5             =SIMP(statut='f',typ='R' ),
1663              VI6             =SIMP(statut='f',typ='R' ),
1664              VO2             =SIMP(statut='f',typ='R' ),
1665              VO3             =SIMP(statut='f',typ='R' ),
1666              VO4             =SIMP(statut='f',typ='R' ),
1667              VO5             =SIMP(statut='f',typ='R' ),
1668              VO6             =SIMP(statut='f',typ='R' ),
1669              WI2             =SIMP(statut='f',typ='R' ),
1670              WI3             =SIMP(statut='f',typ='R' ),
1671              WI4             =SIMP(statut='f',typ='R' ),
1672              WI5             =SIMP(statut='f',typ='R' ),
1673              WI6             =SIMP(statut='f',typ='R' ),
1674              WO2             =SIMP(statut='f',typ='R' ),
1675              WO3             =SIMP(statut='f',typ='R' ),
1676              WO4             =SIMP(statut='f',typ='R' ),
1677              WO5             =SIMP(statut='f',typ='R' ),
1678              WO6             =SIMP(statut='f',typ='R' ),
1679              WO              =SIMP(statut='f',typ='R' ),
1680              WI1             =SIMP(statut='f',typ='R' ),
1681              WO1             =SIMP(statut='f',typ='R' ),
1682              GONF            =SIMP(statut='f',typ='R' ),
1683              DCX             =SIMP(statut='f',typ='R' ),
1684              DCY             =SIMP(statut='f',typ='R' ),
1685              DCZ             =SIMP(statut='f',typ='R' ),
1686              H1X             =SIMP(statut='f',typ='R' ),
1687              H1Y             =SIMP(statut='f',typ='R' ),
1688              H1Z             =SIMP(statut='f',typ='R' ),                  
1689              E1X             =SIMP(statut='f',typ='R' ),
1690              E1Y             =SIMP(statut='f',typ='R' ),
1691              E1Z             =SIMP(statut='f',typ='R' ),      
1692              E2X             =SIMP(statut='f',typ='R' ),
1693              E2Y             =SIMP(statut='f',typ='R' ),
1694              E2Z             =SIMP(statut='f',typ='R' ),      
1695              E3X             =SIMP(statut='f',typ='R' ),
1696              E3Y             =SIMP(statut='f',typ='R' ),
1697              E3Z             =SIMP(statut='f',typ='R' ),      
1698              E4X             =SIMP(statut='f',typ='R' ),
1699              E4Y             =SIMP(statut='f',typ='R' ),
1700              E4Z             =SIMP(statut='f',typ='R' ),   
1701              V11             =SIMP(statut='f',typ='R' ),
1702              V12             =SIMP(statut='f',typ='R' ),
1703              V13             =SIMP(statut='f',typ='R' ),
1704              V21             =SIMP(statut='f',typ='R' ),
1705              V22             =SIMP(statut='f',typ='R' ),
1706              V23             =SIMP(statut='f',typ='R' ),
1707              V31             =SIMP(statut='f',typ='R' ),
1708              V32             =SIMP(statut='f',typ='R' ),
1709              V33             =SIMP(statut='f',typ='R' ),
1710              PRES11          =SIMP(statut='f',typ='R' ),
1711              PRES12          =SIMP(statut='f',typ='R' ),
1712              PRES13          =SIMP(statut='f',typ='R' ),
1713              PRES21          =SIMP(statut='f',typ='R' ),
1714              PRES22          =SIMP(statut='f',typ='R' ),
1715              PRES23          =SIMP(statut='f',typ='R' ),
1716              PRES31          =SIMP(statut='f',typ='R' ),
1717              PRES32          =SIMP(statut='f',typ='R' ),
1718              PRES33          =SIMP(statut='f',typ='R' ),   
1719          ),
1720          THER_IMPO       =FACT(statut='f',max='**',
1721            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
1722                    AU_MOINS_UN('TEMP','TEMP_INF','TEMP_SUP'),),
1723            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1724            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1725            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1726            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1727            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1728            TEMP_SUP        =SIMP(statut='f',typ='R' ),
1729            TEMP            =SIMP(statut='f',typ='R' ),
1730            TEMP_INF        =SIMP(statut='f',typ='R' ),
1731          ),
1732          ACOU_IMPO       =FACT(statut='f',max='**',
1733            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
1734            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1735            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1736            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1737            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1738            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1739            PRES            =SIMP(statut='o',typ='C' ),
1740          ),
1741          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
1742 )  ;
1743 #& MODIF COMMANDE  DATE 05/09/2005   AUTEUR CIBHHLV L.VIVAN 
1744 #            CONFIGURATION MANAGEMENT OF EDF VERSION
1745 # ======================================================================
1746 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
1747 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1748 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1749 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1750 # (AT YOUR OPTION) ANY LATER VERSION.
1751 #
1752 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1753 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1754 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
1755 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
1756 #fon
1757 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1758 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1759 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1760 # ======================================================================
1761 def affe_char_cine_f_prod(MECA_IMPO,THER_IMPO,**args):
1762   if MECA_IMPO != None  : return char_cine_meca
1763   if THER_IMPO != None  : return char_cine_ther
1764   raise AsException("type de concept resultat non prevu")
1765
1766 AFFE_CHAR_CINE_F=OPER(nom="AFFE_CHAR_CINE_F",op= 108,sd_prod=affe_char_cine_f_prod,
1767                       fr="Affectation de conditions aux limites cinématiques fonction d'un (ou plusieurs) paramètres"
1768                         +" pour un traitement sans dualisation",
1769                      reentrant='n',
1770             UIinfo={"groupes":("Modélisation",)},
1771          regles=(AU_MOINS_UN('MECA_IMPO','THER_IMPO'),
1772                  EXCLUS('MECA_IMPO','THER_IMPO'),),
1773          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
1774          MECA_IMPO       =FACT(statut='f',max='**',
1775            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
1776                    AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','TEMP','PHI'),),
1777            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1778            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1779            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1780            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1781            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1782            DX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1783            DY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1784            DZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1785            DRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1786            DRY             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1787            DRZ             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1788            GRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1789            PRES            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1790            TEMP            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1791            PHI             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1792          ),
1793          THER_IMPO       =FACT(statut='f',max='**',
1794            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
1795                    AU_MOINS_UN('TEMP','TEMP_INF','TEMP_SUP' ),),
1796            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1797            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1798            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1799            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1800            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1801            TEMP_SUP        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1802            TEMP            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1803            TEMP_INF        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
1804          ),
1805          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
1806 )  ;
1807 #& MODIF COMMANDE  DATE 21/05/2007   AUTEUR FERNANDES R.FERNANDES 
1808 #            CONFIGURATION MANAGEMENT OF EDF VERSION
1809 # ======================================================================
1810 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
1811 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1812 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1813 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1814 # (AT YOUR OPTION) ANY LATER VERSION.
1815 #
1816 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1817 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1818 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
1819 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
1820 #
1821 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1822 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1823 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1824 # ======================================================================
1825 # RESPONSABLE G8BHHXD X.DESROCHES
1826 AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
1827                     fr="Affectation de charges et conditions aux limites mécaniques constantes",
1828                      reentrant='n',
1829             UIinfo={"groupes":("Modélisation",)},
1830          regles=(AU_MOINS_UN('DDL_IMPO','FACE_IMPO','CHAMNO_IMPO','LIAISON_DDL','LIAISON_XFEM','FORCE_NODALE',
1831                              'FORCE_FACE','FORCE_ARETE','FORCE_CONTOUR','FORCE_INTERNE',
1832                              'PRES_REP','FORCE_POUTRE','FORCE_COQUE','LIAISON_OBLIQUE',
1833                              'FORCE_ELEC','INTE_ELEC','PESANTEUR','ROTATION','IMPE_FACE',
1834                              'VITE_FACE','TEMP_CALCULEE','RELA_CINE_BP','EPSI_INIT','CONTACT',
1835                              'LIAISON_GROUP','LIAISON_UNIF','FLUX_THM_REP','LIAISON_SOLIDE',
1836                              'LIAISON_ELEM','ONDE_FLUI','LIAISON_CHAMNO','VECT_ASSE','LIAISON_COQUE',
1837                              'LIAISON_MAIL','LIAISON_CYCL','FORCE_TUYAU',
1838                              'EFFE_FOND','EVOL_CHAR','ARLEQUIN','DDL_POUTRE','GRAPPE_FLUIDE',
1839                              'LIAISON_UNILATER'),
1840                          ),
1841          VERI_NORM       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
1842          MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
1843          TEMP_CALCULEE   =SIMP(statut='f',fr="Champ de température issu d'un autre calcul",
1844                                typ=(evol_ther,cham_no_sdaster,carte_sdaster) ),
1845          EVOL_CHAR       =SIMP(statut='f',fr="Champ de pression issu d'un autre calcul",
1846                                typ=evol_char ),
1847
1848          PESANTEUR       =SIMP(statut='f',typ='R',fr="Champ de pesanteur",min=4,max=4),
1849          ROTATION        =SIMP(statut='f',typ='R',fr="Champ de rotation", min=4,max=4),
1850          b_rotation      =BLOC ( condition = "ROTATION != None",
1851            CENTRE          =SIMP(statut='f',typ='R',defaut=(0.,0.,0.),max=3),),
1852
1853          DDL_IMPO        =FACT(statut='f',max='**',
1854              fr="Impose à des noeuds une ou plusieurs valeurs de déplacement (ou de certaines grandeurs asscociées)",
1855              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
1856                      AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
1857                                  'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2',
1858                                  'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4',
1859                                  'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6',
1860                                  'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX',
1861                                  'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z',
1862                                  'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22',
1863                                  'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23',
1864                                  'PRES31','PRES32','PRES33',),),
1865              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1866              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1867              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1868              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
1869              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
1870              LIAISON         =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)),
1871              DX              =SIMP(statut='f',typ='R' ),
1872              DY              =SIMP(statut='f',typ='R' ),
1873              DZ              =SIMP(statut='f',typ='R' ),
1874              DRX             =SIMP(statut='f',typ='R' ),
1875              DRY             =SIMP(statut='f',typ='R' ),
1876              DRZ             =SIMP(statut='f',typ='R' ),
1877              GRX             =SIMP(statut='f',typ='R' ),
1878              PRES            =SIMP(statut='f',typ='R' ),
1879              PHI             =SIMP(statut='f',typ='R' ),
1880              TEMP            =SIMP(statut='f',typ='R' ),
1881              PRE1            =SIMP(statut='f',typ='R' ),
1882              PRE2            =SIMP(statut='f',typ='R' ),
1883              UI2             =SIMP(statut='f',typ='R' ),
1884              UI3             =SIMP(statut='f',typ='R' ),
1885              UI4             =SIMP(statut='f',typ='R' ),
1886              UI5             =SIMP(statut='f',typ='R' ),
1887              UI6             =SIMP(statut='f',typ='R' ),
1888              UO2             =SIMP(statut='f',typ='R' ),
1889              UO3             =SIMP(statut='f',typ='R' ),
1890              UO4             =SIMP(statut='f',typ='R' ),
1891              UO5             =SIMP(statut='f',typ='R' ),
1892              UO6             =SIMP(statut='f',typ='R' ),
1893              VI2             =SIMP(statut='f',typ='R' ),
1894              VI3             =SIMP(statut='f',typ='R' ),
1895              VI4             =SIMP(statut='f',typ='R' ),
1896              VI5             =SIMP(statut='f',typ='R' ),
1897              VI6             =SIMP(statut='f',typ='R' ),
1898              VO2             =SIMP(statut='f',typ='R' ),
1899              VO3             =SIMP(statut='f',typ='R' ),
1900              VO4             =SIMP(statut='f',typ='R' ),
1901              VO5             =SIMP(statut='f',typ='R' ),
1902              VO6             =SIMP(statut='f',typ='R' ),
1903              WI2             =SIMP(statut='f',typ='R' ),
1904              WI3             =SIMP(statut='f',typ='R' ),
1905              WI4             =SIMP(statut='f',typ='R' ),
1906              WI5             =SIMP(statut='f',typ='R' ),
1907              WI6             =SIMP(statut='f',typ='R' ),
1908              WO2             =SIMP(statut='f',typ='R' ),
1909              WO3             =SIMP(statut='f',typ='R' ),
1910              WO4             =SIMP(statut='f',typ='R' ),
1911              WO5             =SIMP(statut='f',typ='R' ),
1912              WO6             =SIMP(statut='f',typ='R' ),
1913              WO              =SIMP(statut='f',typ='R' ),
1914              WI1             =SIMP(statut='f',typ='R' ),
1915              WO1             =SIMP(statut='f',typ='R' ),
1916              GONF            =SIMP(statut='f',typ='R' ),
1917              DCX             =SIMP(statut='f',typ='R' ),
1918              DCY             =SIMP(statut='f',typ='R' ),
1919              DCZ             =SIMP(statut='f',typ='R' ),
1920              H1X             =SIMP(statut='f',typ='R' ),
1921              H1Y             =SIMP(statut='f',typ='R' ),
1922              H1Z             =SIMP(statut='f',typ='R' ),                  
1923              E1X             =SIMP(statut='f',typ='R' ),
1924              E1Y             =SIMP(statut='f',typ='R' ),
1925              E1Z             =SIMP(statut='f',typ='R' ),      
1926              E2X             =SIMP(statut='f',typ='R' ),
1927              E2Y             =SIMP(statut='f',typ='R' ),
1928              E2Z             =SIMP(statut='f',typ='R' ),      
1929              E3X             =SIMP(statut='f',typ='R' ),
1930              E3Y             =SIMP(statut='f',typ='R' ),
1931              E3Z             =SIMP(statut='f',typ='R' ),      
1932              E4X             =SIMP(statut='f',typ='R' ),
1933              E4Y             =SIMP(statut='f',typ='R' ),
1934              E4Z             =SIMP(statut='f',typ='R' ),      
1935              LAGS_C          =SIMP(statut='f',typ='R' ),
1936              V11             =SIMP(statut='f',typ='R' ),  
1937              V12             =SIMP(statut='f',typ='R' ),
1938              V13             =SIMP(statut='f',typ='R' ),
1939              V21             =SIMP(statut='f',typ='R' ),
1940              V22             =SIMP(statut='f',typ='R' ),
1941              V23             =SIMP(statut='f',typ='R' ),
1942              V31             =SIMP(statut='f',typ='R' ),
1943              V32             =SIMP(statut='f',typ='R' ),
1944              V33             =SIMP(statut='f',typ='R' ),
1945              PRES11          =SIMP(statut='f',typ='R' ),
1946              PRES12          =SIMP(statut='f',typ='R' ),
1947              PRES13          =SIMP(statut='f',typ='R' ),
1948              PRES21          =SIMP(statut='f',typ='R' ),
1949              PRES22          =SIMP(statut='f',typ='R' ),
1950              PRES23          =SIMP(statut='f',typ='R' ),
1951              PRES31          =SIMP(statut='f',typ='R' ),
1952              PRES32          =SIMP(statut='f',typ='R' ),
1953              PRES33          =SIMP(statut='f',typ='R' ),
1954            ),
1955
1956
1957
1958          DDL_POUTRE    =FACT(statut='f',max='**',
1959              fr="Bloque des DDLs dans un repère local d'une poutre",
1960              regles=(AU_MOINS_UN('GROUP_NO','NOEUD'),
1961                      AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ'),
1962                      UN_PARMI('VECT_Y','ANGL_VRIL'),),
1963              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
1964              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
1965              DX              =SIMP(statut='f',typ='R' ),
1966              DY              =SIMP(statut='f',typ='R' ),
1967              DZ              =SIMP(statut='f',typ='R' ),
1968              DRX             =SIMP(statut='f',typ='R' ),
1969              DRY             =SIMP(statut='f',typ='R' ),
1970              DRZ             =SIMP(statut='f',typ='R' ),
1971 #  définition du repère local
1972              VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
1973              ANGL_VRIL       =SIMP(statut='f',typ='R',),
1974 #  restriction sur les mailles servant à définir le repère local
1975              GROUP_MA        =SIMP(statut='f',typ=grma,),
1976              MAILLE          =SIMP(statut='f',typ=ma,),
1977                             ),
1978
1979
1980
1981            FACE_IMPO       =FACT(statut='f',max='**',
1982              fr="Impose à tous les noeuds d'une face une ou plusieurs valeurs de déplacement (ou de certaines grandeurs associées)",
1983              regles=(UN_PARMI('GROUP_MA','MAILLE',),
1984                      AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
1985                                  'TEMP','PRE1','PRE2','DNOR','DTAN'),
1986                      EXCLUS('DNOR','DX'),
1987                      EXCLUS('DNOR','DY'),
1988                      EXCLUS('DNOR','DZ'),
1989                      EXCLUS('DNOR','DRX'),
1990                      EXCLUS('DNOR','DRY'),
1991                      EXCLUS('DNOR','DRZ'),
1992                      EXCLUS('DTAN','DX'),
1993                      EXCLUS('DTAN','DY'),
1994                      EXCLUS('DTAN','DZ'),
1995                      EXCLUS('DTAN','DRX'),
1996                      EXCLUS('DTAN','DRY'),
1997                      EXCLUS('DTAN','DRZ'),),
1998 #  rajout d'un mot clé REPERE :/ LOCAL /GLOBAL
1999              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2000              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2001              SANS_GROUP_MA   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2002              SANS_MAILLE     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2003              DX              =SIMP(statut='f',typ='R' ),
2004              DY              =SIMP(statut='f',typ='R' ),
2005              DZ              =SIMP(statut='f',typ='R' ),
2006              DRX             =SIMP(statut='f',typ='R' ),
2007              DRY             =SIMP(statut='f',typ='R' ),
2008              DRZ             =SIMP(statut='f',typ='R' ),
2009              DNOR            =SIMP(statut='f',typ='R' ),
2010              DTAN            =SIMP(statut='f',typ='R' ),
2011              GRX             =SIMP(statut='f',typ='R' ),
2012              PRES            =SIMP(statut='f',typ='R' ),
2013              PHI             =SIMP(statut='f',typ='R' ),
2014              TEMP            =SIMP(statut='f',typ='R' ),
2015              PRE1            =SIMP(statut='f',typ='R' ),
2016              PRE2            =SIMP(statut='f',typ='R' ),
2017            ),
2018
2019          CHAMNO_IMPO  =FACT(statut='f',max='**',
2020              fr="Impose des DDLs aux valeurs d'un concept cham_no_sdaster",
2021 #  type de cham_no_sdaster CO()
2022              CHAM_NO         =SIMP(statut='o',typ=cham_no_sdaster), #CO()
2023              COEF_MULT       =SIMP(statut='o',typ='R' ),
2024              NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
2025            ),
2026
2027
2028            LIAISON_DDL     =FACT(statut='f',max='**',
2029              fr="Définit une relation linéaire entre des DDLs de deux ou plusieurs noeuds",
2030              regles=(UN_PARMI('GROUP_NO','NOEUD'),),
2031              GROUP_NO        =SIMP(statut='f',typ=grno ,max='**'),
2032              NOEUD           =SIMP(statut='f',typ=no   ,max='**'),
2033              DDL             =SIMP(statut='o',typ='TXM',max='**'),
2034              COEF_MULT       =SIMP(statut='o',typ='R'  ,max='**'),
2035              COEF_IMPO       =SIMP(statut='o',typ='R' ),
2036            ),
2037
2038            LIAISON_OBLIQUE =FACT(statut='f',max='**',
2039              fr="Applique à des noeuds la meme valeur de déplacement définie composante par composante"
2040               +" dans un repère oblique quelconque",
2041              regles=(UN_PARMI('GROUP_NO','NOEUD'),
2042                      UN_PARMI('DX','DY','DZ','DRX','DRY','DRZ'),),
2043              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2044              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2045              ANGL_NAUT       =SIMP(statut='o',typ='R',max=3),
2046              DX              =SIMP(statut='f',typ='R' ),
2047              DY              =SIMP(statut='f',typ='R' ),
2048              DZ              =SIMP(statut='f',typ='R' ),
2049              DRX             =SIMP(statut='f',typ='R' ),
2050              DRY             =SIMP(statut='f',typ='R' ),
2051              DRZ             =SIMP(statut='f',typ='R' ),
2052            ),
2053
2054            LIAISON_GROUP   =FACT(statut='f',max='**',
2055              fr="Définit la meme relation linéaire entre certains DDLs de couples de noeuds",
2056              regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
2057                      UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),
2058                      EXCLUS('GROUP_MA_1','GROUP_NO_2'),
2059                      EXCLUS('GROUP_MA_1','NOEUD_2'),
2060                      EXCLUS('GROUP_NO_1','GROUP_MA_2'),
2061                      EXCLUS('GROUP_NO_1','MAILLE_2'),
2062                      EXCLUS('MAILLE_1','GROUP_NO_2'),
2063                      EXCLUS('MAILLE_1','NOEUD_2'),
2064                      EXCLUS('NOEUD_1','GROUP_MA_2'),
2065                      EXCLUS('NOEUD_1','MAILLE_2'),
2066                      EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),),
2067
2068                GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2069                MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2070                GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2071                MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2072                GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2073                NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2074                GROUP_NO_2      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2075                NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2076
2077              SANS_NOEUD      =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
2078              SANS_GROUP_NO   =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
2079              DDL_1           =SIMP(statut='o',typ='TXM',max='**'),
2080              COEF_MULT_1     =SIMP(statut='o',typ='R'  ,max='**'),
2081              DDL_2           =SIMP(statut='o',typ='TXM',max='**'),
2082              COEF_MULT_2     =SIMP(statut='o',typ='R'  ,max='**'),
2083              COEF_IMPO       =SIMP(statut='o',typ='R' ),
2084              SOMMET          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2085              TRAN            =SIMP(statut='f',typ='R',max=3),
2086              ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
2087              CENTRE          =SIMP(statut='f',typ='R',max=3),
2088            ),
2089
2090            LIAISON_MAIL    =FACT(statut='f',max='**',
2091              fr="Définit des relations linéaires permettant de recoller deux bords d'une structure",
2092              regles=(AU_MOINS_UN('GROUP_MA_MAIT','MAILLE_MAIT'),
2093                      AU_MOINS_UN('GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL','NOEUD_ESCL'),
2094                      PRESENT_PRESENT('DDL_MAIT','DDL_ESCL'),),
2095               GROUP_MA_MAIT   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2096               MAILLE_MAIT     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2097               GROUP_MA_ESCL   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2098               MAILLE_ESCL     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2099               GROUP_NO_ESCL   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2100               NOEUD_ESCL      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2101               TRAN            =SIMP(statut='f',typ='R',max=3 ),
2102               ANGL_NAUT       =SIMP(statut='f',typ='R',max=3 ),
2103               CENTRE          =SIMP(statut='f',typ='R',max=3 ),
2104               DDL_MAIT        =SIMP(statut='f',typ='TXM',into=("DNOR",) ),
2105               DDL_ESCL        =SIMP(statut='f',typ='TXM',into=("DNOR",) ),
2106               ELIM_MULT       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
2107          ),
2108
2109            LIAISON_CYCL    =FACT(statut='f',max='**',
2110              fr="Définit des relations linéaires permettant de recoller les bords de deux parties symétriquement cycliques",
2111              regles=(AU_MOINS_UN('GROUP_MA_MAIT1','MAILLE_MAIT1'),
2112                      AU_MOINS_UN('GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL','NOEUD_ESCL'),
2113                      PRESENT_PRESENT('DDL_MAIT','DDL_ESCL'),
2114                      ),
2115               GROUP_MA_MAIT1   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2116               MAILLE_MAIT1     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2117               GROUP_MA_MAIT2   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2118               MAILLE_MAIT2     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2119               GROUP_MA_ESCL   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2120               MAILLE_ESCL     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2121               GROUP_NO_ESCL   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2122               NOEUD_ESCL     =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2123               TRAN            =SIMP(statut='f',typ='R',max=3 ),
2124               ANGL_NAUT       =SIMP(statut='f',typ='R',max=3 ),
2125               CENTRE          =SIMP(statut='f',typ='R',max=3 ),
2126               COEF_MAIT1            =SIMP(statut='f',typ='R',max=1 ),
2127               COEF_MAIT2            =SIMP(statut='f',typ='R',max=1 ),
2128               COEF_ESCL            =SIMP(statut='f',typ='R',max=1 ),
2129               DDL_MAIT        =SIMP(statut='f',typ='TXM',into=("DNOR",) ),
2130               DDL_ESCL        =SIMP(statut='f',typ='TXM',into=("DNOR",) ),
2131          ),
2132
2133
2134            LIAISON_SOLIDE  =FACT(statut='f',fr="Modélise une partie indéformable d'une structure",max='**',
2135              regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
2136              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2137              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2138              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2139              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2140              NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
2141            ),
2142
2143            LIAISON_ELEM    =FACT(statut='f',max='**',
2144              fr="Modélise le raccord d'une partie massive 3D avec une poutre ou avec un tuyau, le raccord d'une coque"
2145               +" avec une poutre ou avec un tuyau",
2146              regles=(UN_PARMI('GROUP_MA_1','MAILLE_1'),
2147                      UN_PARMI('GROUP_NO_2','NOEUD_2'),),
2148              OPTION          =SIMP(statut='o',typ='TXM',into=("3D_TUYAU","3D_POU","COQ_POU","COQ_TUYAU") ),
2149              GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2150              MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2151              GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2152              NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2153              NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
2154              CARA_ELEM       =SIMP(statut='f',typ=(cara_elem) ),
2155              AXE_POUTRE      =SIMP(statut='f',typ='R',max=3),
2156              ANGL_MAX        =SIMP(statut='f',typ='R',defaut= 1. ),
2157            ),
2158
2159            LIAISON_UNIF    =FACT(statut='f',max='**',
2160              fr="Impose une meme valeur (inconnue) à des DDLs d'un ensemble de noeuds",
2161              regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
2162              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2163              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2164              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2165              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2166              DDL             =SIMP(statut='o',typ='TXM',max='**'),
2167            ),
2168
2169          LIAISON_CHAMNO  =FACT(statut='f',max='**',
2170              fr="Définit une relation linéaire entre tous les DDLs présents dans un concept CHAM_NO",
2171 #  type de cham_no_sdaster CO()
2172              CHAM_NO         =SIMP(statut='o',typ=cham_no_sdaster), #CO()
2173              COEF_IMPO       =SIMP(statut='o',typ='R' ),
2174              NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
2175            ),
2176
2177          LIAISON_XFEM      =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ),
2178          
2179          CONTACT_XFEM      =SIMP(statut='f',typ='TXM',defaut="NON" ),
2180
2181          VECT_ASSE       =SIMP(statut='f',typ=cham_no_sdaster ),
2182 #
2183 # LIAISON UNILATERALE
2184
2185          LIAISON_UNILATER=FACT(statut='f',max='**',
2186            fr="Définit les zones soumises à des conditions de liaison unilaterale (inegalite sur un DDL)",
2187            regles=(UN_PARMI('GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
2188                                          
2189            GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
2190            MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
2191            GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
2192            NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),   
2193
2194            SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2195            SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2196                  
2197            NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
2198
2199            NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),           
2200            
2201            COEF_IMPO       =SIMP(statut='f',typ='R'),
2202            COEF_MULT       =SIMP(statut='f',typ='R',max='**'),         
2203
2204            METHODE         =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE",
2205                                  into=("CONTRAINTE","GCPC",) ),
2206            
2207                  
2208         ),
2209 #
2210 # CONTACT
2211 #       
2212          CONTACT         =FACT(statut='f',max='**',
2213            fr="Définit les zones soumises à des conditions de contact unilatéral avec ou sans frottement",
2214            
2215            
2216            METHODE         =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE",
2217                                  into=("VERIF","CONTRAINTE","LAGRANGIEN","PENALISATION","CONTINUE","GCP","XFEM") ),
2218             
2219            APPARIEMENT     =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL",
2220                               into=("RIGIDE","NODAL","MAIT_ESCL","MAIT_ESCL_SYME")),
2221            RECHERCHE       =SIMP(statut='f',typ='TXM',defaut="NOEUD_BOUCLE",
2222                               into=("NOEUD_BOUCLE","NOEUD_VOISIN")),
2223            LISSAGE         =SIMP(statut='f',typ='TXM',defaut="NON",
2224                               into=("OUI","NON")),
2225            DIST_POUTRE     =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")),
2226            DIST_COQUE      =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")),
2227            NORMALE         =SIMP(statut='f',typ='TXM',defaut="MAIT",
2228                               into=("MAIT","MAIT_ESCL")),
2229           
2230            PROJECTION      =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",
2231                                  into=("LINEAIRE","QUADRATIQUE") ),
2232                                  
2233                                  
2234            b_xfem         =BLOC(condition = "METHODE == 'XFEM' ",
2235              FISS_MAIT      = SIMP(statut='o',typ=fiss_xfem,max=1),
2236              FISS_ESCL      = SIMP(statut='f',typ=fiss_xfem,max=1),
2237              SIGN_MAIT      = SIMP(statut='f',typ='TXM',into=("+","-",) ), 
2238              SIGN_ESCL      = SIMP(statut='f',typ='TXM',into=("+","-",) ), 
2239              INTEGRATION    = SIMP(statut='f',typ='TXM',defaut="FPG4",into=("GAUSS","FPG4","FPG6","FPG7",) ),
2240              COEF_REGU_CONT = SIMP(statut='f',typ='R',defaut=100.E+0),
2241              ITER_CONT_MAXI = SIMP(statut='f',typ='I',defaut=30),
2242              CONTACT_INIT   = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
2243              ALGO_LAGR      = SIMP(statut='f',typ='TXM',defaut="VERSION1",into=("NON","VERSION1","VERSION2" , ) ),
2244              COEF_ECHELLE   = SIMP(statut='f',typ='R',defaut=1.E+6),             
2245              FROTTEMENT     = SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ),
2246              GLISSIERE      = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
2247              b_frotxfem    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
2248                COULOMB        = SIMP(statut='o',typ='R',),
2249                ITER_FROT_MAXI = SIMP(statut='f',typ='I',defaut=2),
2250                COEF_REGU_FROT = SIMP(statut='f',typ='R',defaut=100.E+0),
2251                SEUIL_INIT     = SIMP(statut='f',typ='R',defaut=0.E+0),
2252                ),             
2253            ),
2254                           
2255            b_notxfem         =BLOC(condition = "METHODE != 'XFEM' ",
2256                                    regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'),),
2257              GROUP_MA_MAIT   =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
2258              MAILLE_MAIT     =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
2259              GROUP_MA_ESCL   =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
2260              MAILLE_ESCL     =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
2261            ),               
2262                     
2263            b_cara         =BLOC(condition = "DIST_POUTRE == 'OUI' or DIST_COQUE == 'OUI'",
2264                CARA_ELEM       =SIMP(statut='o',typ=(cara_elem) ),
2265            ),
2266          
2267            b_verif         =BLOC(condition = "METHODE == 'VERIF' ",
2268                                  fr="Paramètres de la méthode sans calcul de contact",
2269                 STOP_INTERP     =SIMP(statut='f',typ='TXM',defaut="NON",
2270                                       into=("OUI","NON")),
2271                 TOLE_INTERP     =SIMP(statut='f',typ='R',defaut = 0.),
2272                 DIST_MAIT       =SIMP(statut='f',typ='R'),
2273                 DIST_ESCL       =SIMP(statut='f',typ='R'),
2274                 VECT_NORM_ESCL  =SIMP(statut='f',typ='R',max=3),
2275                 VECT_ORIE_POU   =SIMP(statut='f',typ='R',min=3,max=3),
2276            ),
2277
2278            b_active        =BLOC(condition = "METHODE == 'CONTRAINTE' ",
2279                                  fr="Paramètres de la méthode des contraintes actives (contact uniquement)",
2280                 GLISSIERE       =SIMP(statut='f',typ='TXM',defaut="NON",
2281                                       into=("OUI","NON")),
2282                 b_glissiere     =BLOC(condition = "GLISSIERE == 'OUI' ",                    
2283                       ALARME_JEU  =SIMP(statut='f',typ='R',defaut=0.),
2284                                  ),
2285                 TOLE_PROJ_EXT   =SIMP(statut='f',typ='R'  ,defaut=0.50),
2286                 TOLE_PROJ_INT   =SIMP(statut='f',typ='R'  ,defaut=0.001),
2287                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",
2288                                       into=("OUI","NON")),
2289                 NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
2290                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",
2291                         into=("AUTOMATIQUE","CONTROLE","SANS")),
2292
2293                 b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
2294                                  fr="Paramètre de la réactualisation géométrique",
2295                       NB_REAC_GEOM   =SIMP(statut='o',typ='I'),
2296                                  ),
2297
2298                 SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2299                 SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2300                 SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
2301                 VECT_NORM_ESCL  =SIMP(statut='f',typ='R',max=3),
2302                 VECT_ORIE_POU   =SIMP(statut='f',typ='R',min=3,max=3),
2303                 DIST_MAIT       =SIMP(statut='f',typ='R'),
2304                 DIST_ESCL       =SIMP(statut='f',typ='R'),
2305
2306            ),
2307            b_lagrangien    =BLOC(condition = "METHODE == 'LAGRANGIEN' ",
2308                                  fr="Paramètres de la méthode Lagrangienne (contact avec ou sans frottement)",
2309                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ),
2310                 TOLE_PROJ_EXT   =SIMP(statut='f',typ='R'  ,defaut=0.50),
2311                 TOLE_PROJ_INT   =SIMP(statut='f',typ='R'  ,defaut=0.001),
2312                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",
2313                                       into=("OUI","NON")),
2314                 NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
2315                 ITER_MULT_MAXI  =SIMP(statut='f',typ='I'  ,defaut=4),
2316
2317                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",
2318                                       into=("AUTOMATIQUE","CONTROLE","SANS")),
2319
2320                 b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",fr="Paramètre de la réactualisation géométrique",
2321                       NB_REAC_GEOM   =SIMP(statut='o',typ='I'),
2322
2323                                  ),
2324
2325                
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                 
2332                 regles=(EXCLUS('VECT_Y','VECT_ORIE_POU')),
2333                 
2334                 VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
2335                 VECT_ORIE_POU   =SIMP(statut='f',typ='R',min=3,max=3),
2336                 b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
2337                      COULOMB         =SIMP(statut='o',typ='R',),
2338                      COEF_MATR_FROT  =SIMP(statut='f',typ='R',defaut=0.E+0),
2339                      ),),
2340            
2341            b_penalisation       =BLOC(condition = "METHODE == 'PENALISATION' ",
2342                                       fr="Paramètres de la méthode pénalisée (contact avec ou sans frottement)",
2343                 E_N             =SIMP(statut='f',typ='R'),
2344                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ),
2345                 TOLE_PROJ_EXT   =SIMP(statut='f',typ='R'  ,defaut=0.50),
2346                 TOLE_PROJ_INT   =SIMP(statut='f',typ='R'  ,defaut=0.001),
2347                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",
2348                                       into=("OUI","NON")),
2349                 NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
2350                 ITER_MULT_MAXI  =SIMP(statut='f',typ='I',defaut=4),
2351                 
2352                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",
2353                                       into=("AUTOMATIQUE","CONTROLE","SANS")),
2354
2355                 b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",fr="Paramètre de la réactualisation géométrique",
2356                       NB_REAC_GEOM   =SIMP(statut='o',typ='I'),
2357                                  ),
2358
2359                 SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2360                 SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2361                 SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
2362                 DIST_MAIT       =SIMP(statut='f',typ='R'),
2363                 DIST_ESCL       =SIMP(statut='f',typ='R'),
2364                 regles=(EXCLUS('VECT_Y','VECT_ORIE_POU')),
2365                 VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
2366                 VECT_ORIE_POU   =SIMP(statut='f',typ='R',min=3,max=3),
2367                 
2368                 b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
2369                      COULOMB         =SIMP(statut='o',typ='R',),
2370                      E_T             =SIMP(statut='f',typ='R',
2371                                            fr="Active la pénalisation sur le frottement et définit le coefficient de pénalisation"),
2372                      COEF_MATR_FROT  =SIMP(statut='f',typ='R',defaut=0.E+0),
2373                      ),),
2374
2375            b_continue      =BLOC(condition = "METHODE == 'CONTINUE' ",
2376                                  fr="Paramètres de la méthode continue (contact avec ou sans frottement)",
2377 #                regles=(UN_PARMI('GLISSIERE','FROTTEMENT'),),
2378                 ALGO_CONT       =SIMP(statut='f',typ='TXM',defaut="LAGRANGIEN",
2379                                  into=("LAGRANGIEN","AUGMENTE","STABILISE") ),
2380                 b_CONT_LAGR     =BLOC(condition = "ALGO_CONT == 'LAGRANGIEN' ",fr="Parametres de la formulation Lagrangienne",
2381                      COEF_REGU_CONT  =SIMP(statut='f',typ='R',defaut=100.E+0),),
2382                 b_CONT_STAB     =BLOC(condition = "ALGO_CONT == 'STABILISE' ",fr="Parametres du Lagrangien stabilisé",
2383                      COEF_REGU_CONT  =SIMP(statut='f',typ='R',defaut=100.E+0),
2384                      COEF_STAB_CONT  =SIMP(statut='f',typ='R',defaut=100.E+0),),
2385                 b_CONT_AUGM      =BLOC(condition = "ALGO_CONT == 'AUGMENTE' ",fr="Parametres du Lagrangien augmenté",
2386                      COEF_REGU_CONT  =SIMP(statut='f',typ='R',defaut=100.E+0),
2387                      COEF_STAB_CONT  =SIMP(statut='f',typ='R',defaut=100.E+0),
2388                      COEF_PENA_CONT  =SIMP(statut='f',typ='R',defaut=100.E+0),),
2389                 GLISSIERE       =SIMP(statut='f',typ='TXM',defaut="NON",
2390                                       into=("OUI","NON")),
2391                 b_glissiere     =BLOC(condition = "GLISSIERE == 'OUI' ",                    
2392                       ALARME_JEU  =SIMP(statut='f',typ='R',defaut=0.),
2393                                  ),
2394                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ),
2395                 COMPLIANCE      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
2396                 FOND_FISSURE    =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
2397                 RACCORD_LINE_QUAD=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
2398
2399                 INTEGRATION     =SIMP(statut='f',typ='TXM',defaut="NOEUD",into=("GAUSS","NOEUD","SIMPSON","SIMPSON1","SIMPSON2",
2400                                                                                                 "NCOTES","NCOTES1","NCOTES2")),
2401                 FORMULATION     =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE")),
2402                 DIRE_APPA       =SIMP(statut='f',typ='R',max=3,defaut=(0.,0.,0.,)),
2403                 ITER_GEOM_MAXI  =SIMP(statut='f',typ='I',defaut=2),
2404                 ITER_CONT_MAXI  =SIMP(statut='f',typ='I',defaut=30),
2405                 DIST_MAIT       =SIMP(statut='f',typ='R',defaut=0.),
2406                 DIST_ESCL       =SIMP(statut='f',typ='R',defaut=0.),
2407                 VECT_ORIE_POU   =SIMP(statut='f',typ='R',min=3,max=3),
2408                 TOLE_PROJ_EXT   =SIMP(statut='f',typ='R'  ,defaut=0.50),
2409                 CONTACT_INIT    =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
2410                 EXCLUSION_PIV_NUL=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
2411                 b_FOND_FISSURE  =BLOC(condition = "FOND_FISSURE == 'OUI' ",fr="TRAITEMENT EN FOND DE FISSURE",
2412                      regles=(UN_PARMI('NOEUD_FOND','GROUP_NO_FOND','MAILLE_FOND','GROUP_MA_FOND'),),
2413                      NOEUD_FOND      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2414                      GROUP_NO_FOND   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2415                      MAILLE_FOND     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2416                      GROUP_MA_FOND   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),),
2417                 b_RACCORD_SURF  =BLOC(condition = "RACCORD_LINE_QUAD == 'OUI' ",fr="TRAITEMENT DU RACCORD SURFACIQUE",
2418                      regles=(UN_PARMI('NOEUD_RACC','GROUP_NO_RACC'),),
2419                      NOEUD_RACC      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2420                      GROUP_NO_RACC   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),),
2421  
2422                 b_compliance    =BLOC(condition = "COMPLIANCE == 'OUI' ",fr="Parametres de la compliance",
2423                      ASPERITE        =SIMP(statut='o',typ='R',),
2424                      E_N             =SIMP(statut='o',typ='R',),
2425                      E_V             =SIMP(statut='f',typ='R',defaut=0.E+0),),
2426                 b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
2427                      ALGO_FROT       =SIMP(statut='f',typ='TXM',defaut="LAGRANGIEN",
2428                                       into=("LAGRANGIEN","AUGMENTE","STABILISE") ),
2429                      b_FROT_LAGR     =BLOC(condition = "ALGO_FROT == 'LAGRANGIEN' ",fr="Parametres de la formulation Lagrangienne",
2430                           COEF_REGU_FROT  =SIMP(statut='f',typ='R',defaut=100.E+0),),
2431                      b_FROT_STAB     =BLOC(condition = "ALGO_FROT == 'STABILISE' ",fr="Parametres du Lagrangien stabilisé",
2432                           COEF_REGU_FROT  =SIMP(statut='f',typ='R',defaut=100.E+0),
2433                           COEF_STAB_FROT  =SIMP(statut='f',typ='R',defaut=100.E+0),),
2434                      b_FROT_AUGM      =BLOC(condition = "ALGO_FROT == 'AUGMENTE' ",fr="Parametres du Lagrangien augmenté",
2435                           COEF_REGU_FROT  =SIMP(statut='f',typ='R',defaut=100.E+0),
2436                           COEF_STAB_FROT  =SIMP(statut='f',typ='R',defaut=100.E+0),
2437                           COEF_PENA_FROT  =SIMP(statut='f',typ='R',defaut=100.E+0),),
2438                      COULOMB         =SIMP(statut='o',typ='R',),
2439                      SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2440                      SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2441                      VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
2442                      VECT_Z          =SIMP(statut='f',typ='R',min=3,max=3),
2443                      ITER_FROT_MAXI  =SIMP(statut='f',typ='I',defaut=2),
2444                      SEUIL_INIT      =SIMP(statut='f',typ='R',defaut=0.E+0),
2445                      USURE           =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","ARCHARD",),),
2446                      b_usure         =BLOC(condition = "USURE == 'ARCHARD' ",fr="Parametres de la loi d'usure d'Archard",
2447                           K                 =SIMP(statut='o',typ='R',),
2448                           H                 =SIMP(statut='o',typ='R',),),),),
2449
2450            b_gcp        =BLOC(condition = "METHODE == 'GCP' ",
2451                                  fr="Paramètres de la méthode du gradient conjugué projeté (contact uniquement)",
2452                 RESI_ABSO       =SIMP(statut='o',typ='R',
2453                                       fr="Critère de convergence (niveau d'interpénétration autorisé)"),
2454                 REAC_ITER       =SIMP(statut='f',typ='I',defaut=3, fr="Fréquence de réinitialisation de la conjugaison"),
2455                 TOLE_PROJ_EXT   =SIMP(statut='f',typ='R'  ,defaut=0.50),
2456                 TOLE_PROJ_INT   =SIMP(statut='f',typ='R'  ,defaut=0.001),
2457                 TOLE_REAC_GEOM  =SIMP(statut='f',typ='R'  ,defaut=0.05),
2458                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",
2459                                       into=("OUI","NON")),
2460                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",
2461                         into=("AUTOMATIQUE","CONTROLE","SANS")),
2462                 b_reac_sans     =BLOC(condition = "REAC_GEOM == 'SANS' ",
2463                                  fr="Paramètre de la réactualisation géométrique",
2464                       STOP_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="NON",
2465                                            into=("OUI","NON")),
2466                                  ),
2467                 b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
2468                                  fr="Paramètre de la réactualisation géométrique",
2469                       NB_REAC_GEOM   =SIMP(statut='o',typ='I'),
2470                       
2471                       STOP_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME",
2472                                            into=("OUI","NON")),
2473                                  ),
2474                 b_reac_auto     =BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ",
2475                       fr="Paramètre de la réactualisation géométrique auto",
2476                       NB_REAC_MAXI   =SIMP(statut='o',typ='I',defaut = 10),
2477                                  ), 
2478                 PRE_COND         =SIMP(statut='f',typ='TXM',defaut="SANS",
2479                       into=("DIRICHLET","SANS"),fr="Choix d'un préconditionneur (accélère la convergence)"),
2480                 COEF_RESI       =SIMP(statut='f',typ='R',defaut = 1.,val_min=1.,
2481                                         fr="Critère_Convergence_Préconditionneur = COEF_RESI*Critère_Convergence_GCP",),
2482                 RECH_LINEAIRE=SIMP(statut='f',typ='TXM',defaut="ADMISSIBLE",into=("ADMISSIBLE","NON_ADMISSIBLE"),
2483                                         fr="Autorise-t-on de sortir du domaine admissible lors de la recherche linéaire",),
2484                 SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2485                 SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2486                 SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
2487                 VECT_NORM_ESCL  =SIMP(statut='f',typ='R',max=3),
2488                 VECT_ORIE_POU   =SIMP(statut='f',typ='R',min=3,max=3),
2489                 DIST_MAIT       =SIMP(statut='f',typ='R'),
2490                 DIST_ESCL       =SIMP(statut='f',typ='R'),
2491            ),
2492          ),
2493
2494          FORCE_NODALE    =FACT(statut='f',fr="Applique à des noeuds des forces nodales",max='**',
2495            regles=(AU_MOINS_UN('GROUP_NO','NOEUD'),
2496                    AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ' ),),
2497            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2498            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2499            FX              =SIMP(statut='f',typ='R' ),
2500            FY              =SIMP(statut='f',typ='R' ),
2501            FZ              =SIMP(statut='f',typ='R' ),
2502            MX              =SIMP(statut='f',typ='R' ),
2503            MY              =SIMP(statut='f',typ='R' ),
2504            MZ              =SIMP(statut='f',typ='R' ),
2505            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
2506          ),
2507
2508          FORCE_FACE      =FACT(statut='f',max='**',
2509              fr="Applique des forces surfaciques sur une face d'élément volumique",
2510              regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
2511                      AU_MOINS_UN('FX','FY','FZ'),),
2512              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2513              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2514              FX              =SIMP(statut='f',typ='R' ),
2515              FY              =SIMP(statut='f',typ='R' ),
2516              FZ              =SIMP(statut='f',typ='R' ),
2517            ),
2518
2519          FORCE_ARETE     =FACT(statut='f',max='**',
2520          fr="Applique des forces linéiques à une arete d'élément volumique ou de coque",
2521              regles=(AU_MOINS_UN('GROUP_MA','MAILLE',),
2522                      AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ' ),),
2523              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2524              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2525              FX              =SIMP(statut='f',typ='R' ),
2526              FY              =SIMP(statut='f',typ='R' ),
2527              FZ              =SIMP(statut='f',typ='R' ),
2528              MX              =SIMP(statut='f',typ='R' ),
2529              MY              =SIMP(statut='f',typ='R' ),
2530              MZ              =SIMP(statut='f',typ='R' ),
2531            ),
2532
2533          FORCE_CONTOUR   =FACT(statut='f',max='**',
2534              fr="Applique des forces linéiques au bord d'un domaine 2D ou AXIS ou AXIS_FOURIER",
2535              regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
2536                      AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
2537              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2538              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2539              FX              =SIMP(statut='f',typ='R' ),
2540              FY              =SIMP(statut='f',typ='R' ),
2541              FZ              =SIMP(statut='f',typ='R' ),
2542              MX              =SIMP(statut='f',typ='R' ),
2543              MY              =SIMP(statut='f',typ='R' ),
2544              MZ              =SIMP(statut='f',typ='R' ),
2545            ),
2546
2547          FORCE_INTERNE   =FACT(statut='f',max='**',
2548              fr="Applique des forces volumiques (2D ou 3D) à un domaine volumique",
2549              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2550                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2551                      AU_MOINS_UN('FX','FY','FZ' ),),
2552              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2553              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2554              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2555              FX              =SIMP(statut='f',typ='R' ),
2556              FY              =SIMP(statut='f',typ='R' ),
2557              FZ              =SIMP(statut='f',typ='R' ),
2558            ),
2559
2560          SIGM_INTERNE   =FACT(statut='f',max='**',
2561              fr="Applique des contraintes volumiques (2D ou 3D) à un domaine volumique",
2562              #INST            =SIMP(statut='f',typ='R' ),
2563              SIGM            =SIMP(statut='o',typ=(cham_elem,carte_sdaster)),
2564            ),
2565
2566          PRES_REP        =FACT(statut='f',max='**',
2567              fr="Applique une pression à un domaine de milieu continu 2D ou 3D, ou à un domaine de coques et tuyaux",
2568              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2569                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2570                      AU_MOINS_UN('PRES','CISA_2D' ),),
2571              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2572              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2573              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2574              PRES            =SIMP(statut='f',typ='R' ),
2575              CISA_2D         =SIMP(statut='f',typ='R' ),
2576            ),
2577
2578          EFFE_FOND       =FACT(statut='f',max='**',
2579            fr="Calcul l'effet de fond sur une branche de tuyauterie (modélisation 3D) soumise à une pression",
2580            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),),
2581            GROUP_MA_INT    =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
2582            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2583            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2584            PRES            =SIMP(statut='o',typ='R' ),
2585          ),
2586
2587          EPSI_INIT       =FACT(statut='f',max='**',
2588              fr="Applique un chargement de déformation initiale à un élément 2D, 3D ou de structure",
2589              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2590                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2591                      AU_MOINS_UN('EPXX','EPYY','EPZZ','EPXY','EPXZ','EPYZ','EPX',
2592                                  'KY','KZ','EXX','EYY','EXY','KXX','KYY','KXY'),),
2593              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2594              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2595              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2596              EPXX            =SIMP(statut='f',typ='R' ),
2597              EPYY            =SIMP(statut='f',typ='R' ),
2598              EPZZ            =SIMP(statut='f',typ='R' ),
2599              EPXY            =SIMP(statut='f',typ='R' ),
2600              EPXZ            =SIMP(statut='f',typ='R' ),
2601              EPYZ            =SIMP(statut='f',typ='R' ),
2602              EPX             =SIMP(statut='f',typ='R' ),
2603              KY              =SIMP(statut='f',typ='R' ),
2604              KZ              =SIMP(statut='f',typ='R' ),
2605              EXX             =SIMP(statut='f',typ='R' ),
2606              EYY             =SIMP(statut='f',typ='R' ),
2607              EXY             =SIMP(statut='f',typ='R' ),
2608              KXX             =SIMP(statut='f',typ='R' ),
2609              KYY             =SIMP(statut='f',typ='R' ),
2610              KXY             =SIMP(statut='f',typ='R' ),
2611            ),
2612
2613          ARLEQUIN        =FACT(statut='f',min=1,max='**',
2614            fr="Définit les paramètres de la méthode Arlequin",
2615            GROUP_MA_1     =SIMP(statut='o',typ=grma,max='**'),
2616            GROUP_MA_2     =SIMP(statut='o',typ=grma,max='**'),
2617            GROUP_MA_COLL  =SIMP(statut='f',typ=grma,max='**'),
2618            CARA_ELEM      =SIMP(statut='f',typ=cara_elem ),
2619            COND_LIM       =SIMP(statut='f',typ=char_meca ),
2620            COLLAGE        =SIMP(statut='f',typ='TXM',defaut="GROSSIER",into=("GROSSIER","FIN","GROUP_MA_1","GROUP_MA_2"),),
2621            regles         =(UN_PARMI('POIDS_1','POIDS_2','POIDS_GROSSIER','POIDS_FIN',),),
2622            POIDS_1        =SIMP(statut='f',typ='R'),
2623            POIDS_2        =SIMP(statut='f',typ='R'),
2624            POIDS_GROSSIER =SIMP(statut='f',typ='R'),
2625            POIDS_FIN      =SIMP(statut='f',typ='R'),),
2626
2627         FORCE_POUTRE    =FACT(statut='f',max='**',
2628              fr="Applique des forces linéiques sur des éléments de type poutre",
2629              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2630                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2631                      AU_MOINS_UN('FX','FY','FZ','N','VY','VZ'),
2632                      PRESENT_ABSENT('FX','N','VY','VZ'),
2633                      PRESENT_ABSENT('FY','N','VY','VZ'),
2634                      PRESENT_ABSENT('FZ','N','VY','VZ'),
2635                      PRESENT_ABSENT('N','FX','FY','FZ'),
2636                      PRESENT_ABSENT('VY','FX','FY','FZ'),
2637                      PRESENT_ABSENT('VZ','FX','FY','FZ'),),
2638              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2639              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2640              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2641              TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE",) ),
2642 #  rajour d'un mot clé REPERE :/ LOCAL /GLOBAL
2643                FX              =SIMP(statut='f',typ='R' ),
2644                FY              =SIMP(statut='f',typ='R' ),
2645                FZ              =SIMP(statut='f',typ='R' ),
2646
2647                N               =SIMP(statut='f',typ='R' ),
2648                VY              =SIMP(statut='f',typ='R' ),
2649                VZ              =SIMP(statut='f',typ='R' ),
2650
2651            ),
2652
2653          FORCE_TUYAU     =FACT(statut='f',max='**',
2654              fr="Applique une pression sur des éléments TUYAU",
2655              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2656                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
2657              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2658              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2659              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2660              PRES            =SIMP(statut='f',typ='R' ),
2661            ),
2662
2663          FORCE_COQUE     =FACT(statut='f',max='**',
2664              fr="Applique des forces surfaciques sur des éléments de types coques",
2665              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2666                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2667                      AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','PRES','F1','F2','F3','MF1','MF2'),
2668                      PRESENT_ABSENT('FX','PRES','F1','F2','F3','MF1','MF2'),
2669                      PRESENT_ABSENT('FY','PRES','F1','F2','F3','MF1','MF2'),
2670                      PRESENT_ABSENT('FZ','PRES','F1','F2','F3','MF1','MF2'),
2671                      PRESENT_ABSENT('MX','PRES','F1','F2','F3','MF1','MF2'),
2672                      PRESENT_ABSENT('MY','PRES','F1','F2','F3','MF1','MF2'),
2673                      PRESENT_ABSENT('MZ','PRES','F1','F2','F3','MF1','MF2'),
2674                      PRESENT_ABSENT('F1','FX','FY','FZ','MX','MY','MZ','PRES'),
2675                      PRESENT_ABSENT('F2','FX','FY','FZ','MX','MY','MZ','PRES'),
2676                      PRESENT_ABSENT('F3','FX','FY','FZ','MX','MY','MZ','PRES'),
2677                      PRESENT_ABSENT('MF1','FX','FY','FZ','MX','MY','MZ','PRES'),
2678                      PRESENT_ABSENT('MF2','FX','FY','FZ','MX','MY','MZ','PRES'),
2679                      PRESENT_ABSENT('PRES','FX','FY','FZ','MX','MY','MZ','F1','F2','F3','MF1','MF2'),),
2680 #  rajour d'un mot clé REPERE :/ LOCAL /GLOBAL
2681              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2682              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2683              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2684
2685                FX              =SIMP(statut='f',typ='R' ),
2686                FY              =SIMP(statut='f',typ='R' ),
2687                FZ              =SIMP(statut='f',typ='R' ),
2688                MX              =SIMP(statut='f',typ='R' ),
2689                MY              =SIMP(statut='f',typ='R' ),
2690                MZ              =SIMP(statut='f',typ='R' ),
2691
2692                F1              =SIMP(statut='f',typ='R' ),
2693                F2              =SIMP(statut='f',typ='R' ),
2694                F3              =SIMP(statut='f',typ='R' ),
2695                MF1             =SIMP(statut='f',typ='R' ),
2696                MF2             =SIMP(statut='f',typ='R' ),
2697
2698              PRES            =SIMP(statut='f',typ='R' ),
2699              PLAN            =SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL",) ),
2700            ),
2701
2702
2703            GRAPPE_FLUIDE   =FACT(statut='f',max='**',
2704              fr="Définit les données de calcul des forces fluides lors des études de chute de grappe",
2705              regles=(EXCLUS('GROUP_NO_EXTR','NOEUD_EXTR'),
2706                      EXCLUS('GROUP_NO_ORIG','NOEUD_ORIG'),
2707                      PRESENT_PRESENT('CARA_HYDR','VALE_HYDR'),
2708                      PRESENT_PRESENT('CARA_GRAPPE','VALE_GRAPPE'),
2709                      PRESENT_PRESENT('CARA_COMMANDE','VALE_COMMANDE'),
2710                      PRESENT_PRESENT('CARA_MANCHETTE','VALE_MANCHETTE'),
2711                      PRESENT_PRESENT('CARA_GUIDE','VALE_GUIDE'),
2712                      PRESENT_PRESENT('CARA_ASSEMBLAGE','VALE_ASSEMBLAGE'),
2713                      PRESENT_PRESENT('CARA_PDC','VALE_PDC'),),
2714              GROUP_MA        =SIMP(statut='f',typ=grma,max=1),
2715              GROUP_NO_EXTR   =SIMP(statut='f',typ=grno,max=1),
2716              NOEUD_EXTR      =SIMP(statut='f',typ=no,max=1),
2717              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,max=1),
2718              NOEUD_ORIG      =SIMP(statut='f',typ=no,max=1),
2719              Z0              =SIMP(statut='f',typ='R' ),
2720              CARA_HYDR       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2721                                  fr="définition des données hydrauliques",
2722                                  into=("Q","ROC","ROD","ROP","ROM","ROML","ROG","NUC","NUM",
2723                                        "NUML","NUG","P2","P3","P4","CGG","G") ),
2724              VALE_HYDR       =SIMP(statut='f',typ='R',max='**',
2725                                  fr="valeurs des données hydrauliques",),
2726              CARA_GRAPPE     =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2727                                  fr="définition des données géométriques de la grappe",
2728                                  into=("M","DTIGE","DTMOY","ROTIGE","LTIGE","LLT","LCT",
2729                                        "VARAI","RORAI","DCRAY","ROCRAY","LCRAY","LCHUT",
2730                                        "CFCM","CFCI","CFCG","HRUGC","HRUGTC","NCA") ),
2731              VALE_GRAPPE     =SIMP(statut='f',typ='R',max='**',
2732                                  fr="valeurs des données géométriques de la grappe",),
2733              CARA_COMMANDE   =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2734                                  fr="définition des données géométriques du mécanisme de commande",
2735                                  into=("LI","LML","LG","LIG","DIML","DEML","DCSP",
2736                                        "DG","HRUGML","HRUGCSP","HRUGG") ),
2737              VALE_COMMANDE   =SIMP(statut='f',typ='R',max='**',
2738                                  fr="valeurs des données géométriques du mécanisme de commande",),
2739              CARA_MANCHETTE  =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2740                                  fr="définition des données géométriques de la manchette et son adaptateur",
2741                                  into=("LM","LA","LIM","DIMT","DEMT","DCMT","VMT",
2742                                        "ROMT","DA","HRUGM","HRUGA") ),
2743              VALE_MANCHETTE  =SIMP(statut='f',typ='R',max='**',
2744                                  fr="valeurs des données géométriques de la manchette et son adaptateur",),
2745              CARA_GUIDE      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2746                                  fr="définition des données géométriques des tubes guides",
2747                                  into=("NRET","L0","L1","L2","L3","L4","DTG","DR",
2748                                        "DOR","D0","D00","HRUGTG") ),
2749              VALE_GUIDE      =SIMP(statut='f',typ='R',max='**',
2750                                  fr="valeurs des données géométriques des tubes guides",),
2751              CARA_ASSEMBLAGE =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2752                                  fr="définition des données géométriques des assemblages",
2753                                  into=("SASS","DCC","DTI","NGM","NGMDP","KM","KS","KI",
2754                                        "KES","KEI","KF") ),
2755              VALE_ASSEMBLAGE =SIMP(statut='f',typ='R',max='**',
2756                                  fr="valeurs des données géométriques des assemblages",),
2757              CARA_PDC        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
2758                                  fr="définition des coefficients de perte de charge singulière",
2759                                  into=("CD0","CD1","CD2","CDELARG","CDRET","CDM","CDA","CDML",
2760                                        "CDI","CDG") ),
2761              VALE_PDC        =SIMP(statut='f',typ='R',max='**',
2762                                  fr="valeurs des coefficients de perte de charge singulière",),
2763              APPL_FORC_ARCHI  =SIMP(statut='f',typ='TXM',defaut="REPARTIE" ,
2764                                  fr="application de la force d'archimède",
2765                                  into=("REPARTIE","CDG") ),
2766              APPL_FORC_FPLAQ  =SIMP(statut='f',typ='TXM',defaut="REPARTIE" ,
2767                                  fr="application de la force de plaquage dans le guidage continu",
2768                                  into=("REPARTIE","CDG","ZONE","MILIEU","DISTRI") ),
2769              APPL_FORC_FMEC   =SIMP(statut='f',typ='TXM',defaut="REPARTIE" ,
2770                                  fr="application de la force dans le mécanisme de levée",
2771                                  into=("REPARTIE","CDG","ZONE","PTREP") ),
2772              APPL_FORC_FTG    =SIMP(statut='f',typ='TXM',defaut="REPARTIE" ,
2773                                  fr="application de la force tube_guide",
2774                                  into=("REPARTIE","CDG","ZONE","PTREP") ),
2775              DIRE_FORC_FPLAQ  =SIMP(statut='f',typ='R',min=3,max=3,
2776                                  fr="direction d'application de la force de plaquage",),
2777              b_CDG    =BLOC(condition = "(APPL_FORC_ARCHI == 'CDG') or (APPL_FORC_FPLAQ == 'CDG') or \
2778                                          (APPL_FORC_FMEC  == 'CDG') or (APPL_FORC_FTG   == 'CDG')",
2779                 MASS_INER        =SIMP(statut='o',typ=table_sdaster ),
2780              ),
2781              UNITE_IMPR_FORCE =SIMP(statut='f',typ='I',
2782                                  fr="unité d'impression des forces",),
2783              UNITE_IMPR_NOEUD =SIMP(statut='f',typ='I',
2784                                  fr="unité d'impression des noeuds par zone",),
2785            ),
2786
2787            LIAISON_COQUE   =FACT(statut='f',max='**',
2788              fr="Permet de représenter le raccord entre des éléments de coques au moyen des relations linéaires",
2789              GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2790              MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2791              GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2792              NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2793              GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2794              MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2795              GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2796              NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2797              NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
2798            ),
2799
2800          RELA_CINE_BP    =FACT(statut='f',max='**',
2801            fr="Etablir des relations cinématiques permettant de relier les noeuds cable aux noeuds du béton, et spécifier"
2802               +" la prise en compte des contraintes initiales dans les cables",
2803            CABLE_BP        =SIMP(statut='o',typ=cabl_precont ),
2804            SIGM_BPEL       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
2805            RELA_CINE       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
2806          ),
2807
2808          FORCE_ELEC      =FACT(statut='f',max='**',
2809              fr="Appliquer la force de LAPLACE agissant sur un conducteur principal, due à la présence d'un conducteur"
2810                  +" secondaire droit",
2811              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2812                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
2813
2814              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2815              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2816              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2817
2818              POSITION        =SIMP(statut='f',typ='TXM',fr="Direction prédéfinie",into=("PARA","INFI","FINI",) ),
2819              b_fxyz  =BLOC ( condition = "POSITION == None",
2820                   FX   =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
2821                   FY   =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
2822                   FZ   =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
2823                        ),
2824
2825              b_para     =BLOC ( condition = "POSITION == 'PARA'",
2826                regles=(UN_PARMI('TRANS','DIST'),),
2827                TRANS           =SIMP(statut='f',typ='R',max=3),
2828                DIST            =SIMP(statut='f',typ='R' ),
2829                b_point2        =BLOC ( condition = "DIST != None",
2830                  POINT2           =SIMP(statut='o',typ='R',max=3),
2831                ),
2832              ),
2833              b_fini_infi     =BLOC ( condition = "(POSITION == 'FINI') or (POSITION == 'INFI')",
2834                POINT1          =SIMP(statut='o',typ='R',max=3),
2835                POINT2          =SIMP(statut='o',typ='R',max=3),
2836              ),
2837            ),
2838
2839
2840
2841
2842         INTE_ELEC       =FACT(statut='f',max='**',
2843              fr="Appliquer la force de LAPLACE agissant sur un conducteur principal, due à la présence d'un conducteur"
2844                +" secondaire non nécessairement droit",
2845              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2846                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2847                      AU_MOINS_UN('GROUP_MA_2','MAILLE_2','TRANS','SYME'),
2848                      EXCLUS('TRANS','SYME'),),
2849              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2850              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2851              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2852              GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2853              MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2854              TRANS           =SIMP(statut='f',typ='R' ,max='**'),
2855              SYME            =SIMP(statut='f',typ='R' ,max='**'),
2856            ),
2857
2858
2859          IMPE_FACE       =FACT(statut='f',fr="Applique une impédance acoustique à une face",max='**',
2860              regles=(AU_MOINS_UN('GROUP_MA','MAILLE' ),),
2861              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2862              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2863              IMPE            =SIMP(statut='o',typ='R' ),
2864            ),
2865
2866          VITE_FACE       =FACT(statut='f',fr="Impose des vitesses normales à une face (phénomène ACOUSTIQUE), ",max='**',
2867              regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),),
2868              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2869              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2870              VNOR            =SIMP(statut='o',typ='R' ),
2871            ),
2872
2873
2874
2875          ONDE_FLUI       =FACT(statut='f',max='**',
2876              fr="Applique une amplitude de pression d'onde incidente sinusoidale arrivant normalement à une face",
2877              regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),),
2878              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2879              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2880              PRES            =SIMP(statut='o',typ='R' ),
2881            ),
2882
2883          FLUX_THM_REP    =FACT(statut='f',max='**',
2884              fr="Applique à un domaine de milieu continu 2D ou 3D un flux de chaleur et/ou un apport de masse fluide"
2885                  +" (flux hydraulique)",
2886              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2887                      PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2888                      AU_MOINS_UN('FLUN','FLUN_HYDR1','FLUN_HYDR2'),),
2889              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2890              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2891              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2892              FLUN            =SIMP(statut='f',typ='R' ),
2893              FLUN_HYDR1      =SIMP(statut='f',typ='R' ),
2894              FLUN_HYDR2      =SIMP(statut='f',typ='R' ),
2895            ),
2896
2897          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
2898 )  ;
2899
2900
2901 #& MODIF COMMANDE  DATE 24/08/2005   AUTEUR MABBAS M.ABBAS 
2902 #            CONFIGURATION MANAGEMENT OF EDF VERSION
2903 # ======================================================================
2904 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
2905 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
2906 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
2907 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
2908 # (AT YOUR OPTION) ANY LATER VERSION.                                 
2909 #
2910 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
2911 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
2912 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
2913 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
2914 #
2915 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
2916 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
2917 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
2918 # ======================================================================
2919 # RESPONSABLE G8BHHXD X.DESROCHES
2920 AFFE_CHAR_MECA_C=OPER(nom="AFFE_CHAR_MECA_C",op=   7,sd_prod=char_meca,
2921                      fr="Affectation de charges et conditions aux limites mécaniques complexes",
2922                      reentrant='n',
2923             UIinfo={"groupes":("Modélisation",)},
2924          regles=(AU_MOINS_UN('DDL_IMPO','FORCE_POUTRE','LIAISON_DDL', ),),
2925          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
2926          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
2927          DDL_IMPO        =FACT(statut='f',max='**',
2928            fr="Impose à des noeuds une ou plusieurs valeurs de déplacement (ou de certaines grandeurs asscociées)",
2929            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD',),
2930                    AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI','LIAISON', ),),
2931            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2932            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2933            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2934            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
2935            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
2936            LIAISON         =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)), 
2937            DX              =SIMP(statut='f',typ='C' ),
2938            DY              =SIMP(statut='f',typ='C' ),
2939            DZ              =SIMP(statut='f',typ='C' ),
2940            DRX             =SIMP(statut='f',typ='C' ),
2941            DRY             =SIMP(statut='f',typ='C' ),
2942            DRZ             =SIMP(statut='f',typ='C' ),
2943            GRX             =SIMP(statut='f',typ='C' ),
2944            PRES            =SIMP(statut='f',typ='C' ),
2945            PHI             =SIMP(statut='f',typ='C' ),
2946          ),
2947          FORCE_POUTRE    =FACT(statut='f',max='**',
2948            fr="Applique des forces linéiques sur des éléments de type poutre",
2949            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
2950                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
2951                    AU_MOINS_UN('FX','FY','FZ','N','VY','VZ',),
2952                    PRESENT_ABSENT('FX','N','VY','VZ',),
2953                    PRESENT_ABSENT('FY','N','VY','VZ',),
2954                    PRESENT_ABSENT('FZ','N','VY','VZ',),
2955                    PRESENT_ABSENT('N','FX','FY','FZ',),
2956                    PRESENT_ABSENT('VY', 'FX','FY','FZ',),
2957                    PRESENT_ABSENT('VZ','FX','FY','FZ', ),),
2958            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2959            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2960            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
2961            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE") ),
2962            FX              =SIMP(statut='f',typ='C' ),
2963            FY              =SIMP(statut='f',typ='C' ),
2964            FZ              =SIMP(statut='f',typ='C' ),
2965            N               =SIMP(statut='f',typ='C' ),
2966            VY              =SIMP(statut='f',typ='C' ),
2967            VZ              =SIMP(statut='f',typ='C' ),
2968          ),
2969          LIAISON_DDL     =FACT(statut='f',max='**',
2970            fr="Définit une relation linéaire entre les DDLs de deux ou plusieurs noeuds",
2971            regles=(UN_PARMI('GROUP_NO','NOEUD', ),),
2972            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
2973            NOEUD           =SIMP(statut='f',typ=no  ,max='**'),
2974            DDL             =SIMP(statut='o',typ='TXM',max='**'),
2975            COEF_MULT       =SIMP(statut='o',typ='R'  ,max='**'),
2976            COEF_IMPO       =SIMP(statut='o',typ='C' ),
2977          ),
2978          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
2979 )  ;
2980 #& MODIF COMMANDE  DATE 30/04/2007   AUTEUR ABBAS M.ABBAS 
2981 #            CONFIGURATION MANAGEMENT OF EDF VERSION
2982 # ======================================================================
2983 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
2984 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
2985 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
2986 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
2987 # (AT YOUR OPTION) ANY LATER VERSION.                                 
2988 #
2989 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
2990 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
2991 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
2992 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
2993 #
2994 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
2995 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
2996 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
2997 # ======================================================================
2998 # RESPONSABLE G8BHHXD X.DESROCHES
2999 AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
3000                       fr="Affectation de charges et conditions aux limites mécaniques fonction d'un (ou plusieurs) paramètres",
3001                       reentrant='n',
3002             UIinfo={"groupes":("Modélisation",)},
3003         regles=(AU_MOINS_UN('DDL_IMPO','FACE_IMPO','LIAISON_DDL','FORCE_NODALE',
3004                             'FORCE_FACE','FORCE_ARETE','FORCE_CONTOUR','FORCE_INTERNE',
3005                             'PRES_REP','FORCE_POUTRE','VITE_FACE','IMPE_FACE','ONDE_PLANE',
3006                             'LIAISON_OBLIQUE','EPSI_INIT','LIAISON_GROUP','LIAISON_UNIF',
3007                             'LIAISON_SOLIDE','FORCE_COQUE','LIAISON_COQUE','FORCE_TUYAU',
3008                            
3009 'CONTACT','EFFE_FOND','FLUX_THM_REP','LIAISON_UNILATER'),),
3010          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
3011          VERI_NORM       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
3012          MODELE          =SIMP(statut='o',typ=modele_sdaster),
3013
3014          DDL_IMPO        =FACT(statut='f',max='**',
3015            fr="Impose à des noeuds une ou plusieurs valeurs de déplacement (ou de certaines grandeurs asscociées) fournies"
3016                +" par l'intermédiaire d'un concept fonction ",
3017            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
3018                    AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
3019                                'TEMP','PRE1','PRE2','LIAISON','DCX','DCY','DCZ','H1X',
3020                                'H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z',
3021                                'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C'),),
3022            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3023            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3024            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3025            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3026            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3027            LIAISON         =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)), 
3028            DX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3029            DY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3030            DZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3031            DRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3032            DRY             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3033            DRZ             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3034            GRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3035            PRES            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3036            PHI             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3037            TEMP            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3038            PRE1            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3039            PRE2            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3040            DCX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3041            DCY             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3042            DCZ             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3043            H1X             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3044            H1Y             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3045            H1Z             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),                  
3046            E1X             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3047            E1Y             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3048            E1Z             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),      
3049            E2X             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3050            E2Y             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3051            E2Z             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),      
3052            E3X             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3053            E3Y             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3054            E3Z             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),      
3055            E4X             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3056            E4Y             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3057            E4Z             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),      
3058            LAGS_C          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),     
3059          ),
3060
3061          FACE_IMPO       =FACT(statut='f',max='**',
3062            fr="Impose à tous les noeuds d'une face une ou plusieurs valeurs de déplacement (ou de certaines grandeurs associées)"
3063               +" fournies par l'intérmédiaire d'un concept fonction",
3064            regles=(UN_PARMI('GROUP_MA','MAILLE'),
3065                    AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI','TEMP','PRE1','PRE2','DNOR','DTAN'),
3066                    EXCLUS('DNOR','DX'),
3067                    EXCLUS('DNOR','DY'),
3068                    EXCLUS('DNOR','DZ'),
3069                    EXCLUS('DNOR','DRX'),
3070                    EXCLUS('DNOR','DRY'),
3071                    EXCLUS('DNOR','DRZ'),
3072                    EXCLUS('DTAN','DX'),
3073                    EXCLUS('DTAN','DY'),
3074                    EXCLUS('DTAN','DZ'),
3075                    EXCLUS('DTAN','DRX'),
3076                    EXCLUS('DTAN','DRY'),
3077                    EXCLUS('DTAN','DRZ'),),
3078 #  rajout d un mot cle REPERE : / GLOBAL / LOCAL
3079            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3080            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3081            SANS_GROUP_MA   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3082            SANS_MAILLE     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3083            DX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3084            DY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3085            DZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3086            DRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3087            DRY             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3088            DRZ             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3089            GRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3090            PRES            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3091            PHI             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3092            TEMP            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3093            PRE1            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3094            PRE2            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3095            DNOR            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3096            DTAN            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3097          ),
3098          
3099          LIAISON_DDL     =FACT(statut='f',max='**',
3100            fr="Définit une relation linéaire entre des DDLs de deux ou plusieurs noeuds, les valeurs sont fournies par"
3101                +" l'intermediaire d'un concept de type fonction",
3102            regles=(UN_PARMI('GROUP_NO','NOEUD'),UN_PARMI('COEF_MULT','COEF_MULT_FONC'),),
3103            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
3104            NOEUD           =SIMP(statut='f',typ=no  ,max='**'),
3105            DDL             =SIMP(statut='o',typ='TXM',max='**'),
3106            COEF_MULT       =SIMP(statut='f',typ='R',max='**'),
3107            COEF_MULT_FONC  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'),
3108            COEF_IMPO       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3109          ),
3110
3111          LIAISON_OBLIQUE =FACT(statut='f',max='**',
3112            fr="Applique à des noeuds la meme valeur de déplacement définie composante par composante dans un repère oblique"
3113               +" quelconque, les valeurs sont fournis par l'intermédiaire d'un concept fonction",
3114            regles=(UN_PARMI('GROUP_NO','NOEUD'),
3115                    UN_PARMI('DX','DY','DZ','DRX','DRY','DRZ'),),
3116            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
3117            NOEUD           =SIMP(statut='f',typ=no  ,max='**'),
3118            ANGL_NAUT       =SIMP(statut='o',typ='R',max=3),
3119            DX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3120            DY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3121            DZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3122            DRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3123            DRY             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3124            DRZ             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3125          ),         
3126          
3127          LIAISON_GROUP   =FACT(statut='f',max='**',
3128            fr="Définit la meme relation linéaire entre certains DDLs de couples de noeuds, les valeurs sont fournies par"
3129                +" l'intermédiaire de concept fonction",
3130            regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
3131                    UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),
3132                    EXCLUS('GROUP_MA_1','GROUP_NO_2'),
3133                    EXCLUS('GROUP_MA_1','NOEUD_2'),
3134                    EXCLUS('GROUP_NO_1','GROUP_MA_2'),
3135                    EXCLUS('GROUP_NO_1','MAILLE_2'),
3136                    EXCLUS('MAILLE_1','GROUP_NO_2'),
3137                    EXCLUS('MAILLE_1','NOEUD_2'),
3138                    EXCLUS('NOEUD_1','GROUP_MA_2'),
3139                    EXCLUS('NOEUD_1','MAILLE_2'),
3140                    EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),),
3141            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3142            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3143            GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3144            NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3145            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3146            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3147            GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3148            NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3149            SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3150            SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3151            DDL_1           =SIMP(statut='o',typ='TXM',max='**'),
3152            COEF_MULT_1     =SIMP(statut='o',typ='R',max='**'),
3153            DDL_2           =SIMP(statut='o',typ='TXM',max='**'),
3154            COEF_MULT_2     =SIMP(statut='o',typ='R',max='**'),
3155            COEF_IMPO       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3156            SOMMET          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3157            TRAN            =SIMP(statut='f',typ='R',max=3),
3158            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
3159            CENTRE          =SIMP(statut='f',typ='R',max=3),
3160          ),
3161 #
3162 # LIAISON UNILATERALE
3163
3164          LIAISON_UNILATER=FACT(statut='f',max='**',
3165            fr="Définit les zones soumises à des conditions de liaison unilaterale (inegalite sur un DDL)",
3166            regles=(UN_PARMI('GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
3167                                          
3168            GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
3169            MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
3170            GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
3171            NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),   
3172
3173            SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3174            SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3175                  
3176            NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
3177
3178            NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),           
3179            
3180            COEF_IMPO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
3181            COEF_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'),         
3182
3183            METHODE         =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE",
3184                                  into=("CONTRAINTE","GCPC",) ),
3185            
3186                  
3187         ),
3188          CONTACT         =FACT(statut='f',
3189            fr="Définit les zones soumises à des conditions de contact unilatéral avec ou \sans frottement, certaines valeurs"
3190            +" sont données par l'intermédiaire de concept fonction",max='**',
3191            regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'),),
3192            APPARIEMENT     =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL",
3193                                  into=("NODAL","MAIT_ESCL","MAIT_ESCL_SYME")),
3194            RECHERCHE       =SIMP(statut='f',typ='TXM',defaut="NOEUD_BOUCLE",into=("NOEUD_BOUCLE","NOEUD_VOISIN")),
3195            LISSAGE         =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),                 
3196            DIST_POUTRE     =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")),
3197            DIST_COQUE      =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")),
3198            NORMALE         =SIMP(statut='f',typ='TXM',defaut="MAIT",into=("MAIT","MAIT_ESCL")),
3199            METHODE         =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE",    
3200                                  into=("CONTRAINTE","VERIF","LAGRANGIEN","PENALISATION","CONTINUE","GCP") ),           
3201            PROJECTION      =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","QUADRATIQUE") ),
3202            GROUP_MA_MAIT   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3203            MAILLE_MAIT     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3204            GROUP_MA_ESCL   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3205            MAILLE_ESCL     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3206            b_cara         =BLOC(condition = "DIST_POUTRE == 'OUI' or DIST_COQUE == 'OUI'",
3207                CARA_ELEM       =SIMP(statut='o',typ=(cara_elem) ),
3208            ),
3209                     
3210            b_verif         =BLOC(condition = "METHODE == 'VERIF' ",
3211                                  fr="Paramètres de la méthode sans calcul de contact",
3212                 STOP_INTERP     =SIMP(statut='f',typ='TXM',defaut="NON",
3213                                       into=("OUI","NON")),
3214                 TOLE_INTERP     =SIMP(statut='f',typ='R',defaut = 0.),
3215                 DIST_MAIT       =SIMP(statut='f',typ='R'),
3216                 DIST_ESCL       =SIMP(statut='f',typ='R'),
3217                 VECT_NORM_ESCL  =SIMP(statut='f',typ='R',max=3),
3218                 VECT_ORIE_POU   =SIMP(statut='f',typ='R',min=3,max=3),
3219            ),
3220
3221            b_active        =BLOC(condition = "METHODE == 'CONTRAINTE' ",
3222                                  fr="Paramètres de la méthode des contraintes actives (contact uniquement)",
3223                 GLISSIERE       =SIMP(statut='f',typ='TXM',defaut="NON",
3224                                       into=("OUI","NON")),
3225                 b_glissiere     =BLOC(condition = "GLISSIERE == 'OUI' ",                    
3226                       ALARME_JEU  =SIMP(statut='f',typ='R',defaut=0.),
3227                                  ),
3228                 TOLE_PROJ_EXT   =SIMP(statut='f',typ='R'  ,defaut=0.50),
3229                 TOLE_PROJ_INT   =SIMP(statut='f',typ='R'  ,defaut=0.001),
3230                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",
3231                                       into=("OUI","NON")),
3232                 NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
3233                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",
3234                         into=("AUTOMATIQUE","CONTROLE","SANS")),
3235
3236                 b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
3237                                  fr="Parametre de la reactualisation geometrique",
3238                       NB_REAC_GEOM   =SIMP(statut='o',typ='I'),
3239                       
3240                                  ),
3241
3242                 SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3243                 SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3244                 SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
3245                 VECT_NORM_ESCL  =SIMP(statut='f',typ='R',max=3),
3246                 VECT_ORIE_POU   =SIMP(statut='f',typ='R',min=3,max=3),
3247                 DIST_MAIT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
3248                 DIST_ESCL       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
3249             ),
3250            b_lagrangien    =BLOC(condition = "METHODE == 'LAGRANGIEN' ",
3251                                  fr="Paramètres de la méthode Lagrangienne (contact avec ou sans frottement)",
3252                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ),
3253                 TOLE_PROJ_EXT   =SIMP(statut='f',typ='R'  ,defaut=0.50),
3254                 TOLE_PROJ_INT   =SIMP(statut='f',typ='R'  ,defaut=0.001),
3255                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",
3256                                       into=("OUI","NON")),
3257                 NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
3258                 ITER_MULT_MAXI  =SIMP(statut='f',typ='I'  ,defaut=4),
3259
3260                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",
3261                                       into=("AUTOMATIQUE","CONTROLE","SANS")),
3262
3263                 b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",fr="Parametre de la reactualisation geometrique",
3264                       NB_REAC_GEOM   =SIMP(statut='o',typ='I'),
3265
3266                                  ),
3267
3268                 SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3269                 SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3270                 SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
3271                 DIST_MAIT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
3272                 DIST_ESCL       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
3273                 regles=(EXCLUS('VECT_Y','VECT_ORIE_POU')),
3274                 VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
3275                 VECT_ORIE_POU   =SIMP(statut='f',typ='R',min=3,max=3),                
3276                 b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
3277                      COULOMB         =SIMP(statut='o',typ='R',),
3278                      COEF_MATR_FROT  =SIMP(statut='f',typ='R',defaut=0.E+0),  
3279                      ),),
3280            b_penalisation       =BLOC(condition = "METHODE == 'PENALISATION' ",
3281                                       fr="Paramètres de la méthode pénalisée (contact avec ou sans frottement)",
3282                 E_N             =SIMP(statut='f',typ='R'), 
3283                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ),
3284                 TOLE_PROJ_EXT   =SIMP(statut='f',typ='R'  ,defaut=0.50),
3285                 TOLE_PROJ_INT   =SIMP(statut='f',typ='R'  ,defaut=0.001),
3286                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",
3287                                       into=("OUI","NON")),
3288                 NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
3289                 ITER_MULT_MAXI  =SIMP(statut='f',typ='I',defaut=4),
3290                 
3291                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",
3292                                       into=("AUTOMATIQUE","CONTROLE","SANS")),
3293
3294                 b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",fr="Paramètre de la réactualisation géométrique",
3295                       NB_REAC_GEOM   =SIMP(statut='o',typ='I'),
3296                                  ),
3297
3298                 SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3299                 SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3300                 SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
3301                 DIST_MAIT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
3302                 DIST_ESCL       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
3303                 regles=(EXCLUS('VECT_Y','VECT_ORIE_POU')),
3304                 VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
3305                 VECT_ORIE_POU   =SIMP(statut='f',typ='R',min=3,max=3),                
3306                 b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
3307                      COULOMB         =SIMP(statut='o',typ='R',),
3308                      E_T             =SIMP(statut='f',typ='R',
3309                                            fr="Active la pénalisation sur le frottement et définit le coefficient de pénalisation"),
3310                      COEF_MATR_FROT  =SIMP(statut='f',typ='R',defaut=0.E+0),  
3311                      ),),
3312            b_continue      =BLOC(condition = "METHODE == 'CONTINUE' ",
3313                                  fr="Paramètres de la méthode continue (contact avec ou sans frottement)",
3314 #                regles=(UN_PARMI('GLISSIERE','FROTTEMENT'),),
3315                 GLISSIERE       =SIMP(statut='f',typ='TXM',defaut="NON",
3316                                       into=("OUI","NON")),
3317                 b_glissiere     =BLOC(condition = "GLISSIERE == 'OUI' ",                    
3318                       ALARME_JEU  =SIMP(statut='f',typ='R',defaut=0.),
3319                                  ),
3320                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), 
3321                 COMPLIANCE      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
3322                 INTEGRATION     =SIMP(statut='f',typ='TXM',defaut="NOEUD",into=("GAUSS","NOEUD","SIMPSON","SIMPSON1","SIMPSON2",
3323                                                                                                 "NCOTES","NCOTES1","NCOTES2")),
3324                 COEF_REGU_CONT  =SIMP(statut='f',typ='R',defaut=100.E+0),
3325                 FORMULATION     =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE")),
3326                 DIRE_APPA       =SIMP(statut='f',typ='R',max=3),
3327                 ITER_GEOM_MAXI  =SIMP(statut='f',typ='I',defaut=2),
3328                 ITER_CONT_MAXI  =SIMP(statut='f',typ='I',defaut=30),
3329                 DIST_MAIT       =SIMP(statut='f',typ='R'),
3330                 DIST_ESCL       =SIMP(statut='f',typ='R'),
3331                 CONTACT_INIT    =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
3332                 b_compliance    =BLOC(condition = "COMPLIANCE == 'OUI' ",fr="Parametres de la compliance",
3333                      ASPERITE        =SIMP(statut='o',typ='R',),
3334                      E_N             =SIMP(statut='o',typ='R',),
3335                      E_V             =SIMP(statut='f',typ='R',defaut=0.E+0),),
3336                 b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
3337                      COULOMB         =SIMP(statut='o',typ='R',),
3338                      SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3339                      SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3340                      VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
3341                      VECT_Z          =SIMP(statut='f',typ='R',min=3,max=3),
3342                      ITER_FROT_MAXI  =SIMP(statut='f',typ='I',defaut=2),
3343                      COEF_REGU_FROT  =SIMP(statut='f',typ='R',defaut=100.E+0),
3344                      SEUIL_INIT      =SIMP(statut='f',typ='I',defaut=0),),),
3345
3346            b_gcp        =BLOC(condition = "METHODE == 'GCP' ",
3347                                  fr="Paramètres de la méthode du gradient conjugué projeté (contact uniquement)",
3348                 RESI_ABSO       =SIMP(statut='o',typ='R',
3349                                       fr="Critère de convergence (niveau d'interpénétration autorisé)"),
3350                 REAC_ITER       =SIMP(statut='f',typ='I',defaut=3, fr="Fréquence de réinitialisation de la conjugaison"),
3351                 TOLE_PROJ_EXT   =SIMP(statut='f',typ='R'  ,defaut=0.50),
3352                 TOLE_PROJ_INT   =SIMP(statut='f',typ='R'  ,defaut=0.001),
3353                 TOLE_REAC_GEOM  =SIMP(statut='f',typ='R'  ,defaut=0.05),
3354                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",
3355                                       into=("OUI","NON")),
3356                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",
3357                         into=("AUTOMATIQUE","CONTROLE","SANS")),
3358                 b_reac_sans     =BLOC(condition = "REAC_GEOM == 'SANS' ",
3359                                  fr="Paramètre de la réactualisation géométrique",
3360                       
3361                       STOP_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="NON",
3362                                            into=("OUI","NON")),
3363                                  ),
3364                 b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
3365                                  fr="Paramètre de la réactualisation géométrique",
3366                       NB_REAC_GEOM   =SIMP(statut='o',typ='I'),
3367                       
3368                       STOP_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME",
3369                                            into=("OUI","NON")),
3370                                  ),
3371                 b_reac_auto     =BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ",
3372                       fr="Paramètre de la réactualisation géométrique auto",
3373                       NB_REAC_MAXI   =SIMP(statut='o',typ='I',defaut = 10),
3374                                  ), 
3375                 SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3376                 SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3377                 SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
3378                 VECT_NORM_ESCL  =SIMP(statut='f',typ='R',max=3),
3379                 VECT_ORIE_POU   =SIMP(statut='f',typ='R',min=3,max=3),
3380                 DIST_MAIT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
3381                 DIST_ESCL       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
3382            ),
3383          ),        
3384          
3385           LIAISON_UNIF    =FACT(statut='f',max='**',
3386            fr="Impose une meme valeur (inconnue) à des DDLs d'un ensemble de noeuds",
3387            regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
3388            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3389            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3390            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3391            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3392            DDL             =SIMP(statut='o',typ='TXM',max='**'),
3393          ),
3394
3395          LIAISON_SOLIDE  =FACT(statut='f',max='**',
3396            fr="Modélise une partie indéformable d'une structure",
3397            regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
3398            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3399            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3400            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3401            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3402            NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES",) ),
3403          ),
3404
3405
3406
3407          FORCE_NODALE    =FACT(statut='f',max='**',
3408            fr="Applique à des noeuds des forces nodales dont les valeurs des composantes sont fournies par l'intermédiaire"
3409                +" d'un concept fonction",
3410            regles=(UN_PARMI('GROUP_NO','NOEUD'),
3411                    AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
3412            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3413            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3414            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3415            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3416            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3417            MX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3418            MY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3419            MZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3420            ANGL_NAUT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max=3 ),
3421          ),
3422
3423          FORCE_FACE      =FACT(statut='f',max='**',
3424            fr="Applique des forces surfaciques sur une face d'élément volumique dont les valeurs des composantes sont fournies"
3425                +" par l'intermédiaire d'un concept fonction",
3426            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
3427                    AU_MOINS_UN('FX','FY','FZ'),),
3428            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3429            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3430            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3431            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3432            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3433          ),
3434          FORCE_ARETE     =FACT(statut='f',max='**',
3435            fr="Applique des forces linéiques à une arete d'élément volumique ou de coque dont les valeurs des composantes sont"
3436                +" fournies par l'intermédiaire d'un concept fonction",
3437            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
3438                    AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
3439            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3440            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3441            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3442            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3443            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3444            MX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3445            MY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3446            MZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3447          ),
3448          FORCE_CONTOUR   =FACT(statut='f',max='**',
3449            fr="Applique des forces linéiques au bord d'un domaine 2D ou AXIS ou AXIS_FOURIER, dont les valeurs des composantes"
3450                +" sont fournies par l'intermédiaire d'un concept fonction",
3451            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
3452                    AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
3453            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3454            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3455            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3456            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3457            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3458            MX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3459            MY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3460            MZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3461          ),
3462
3463          FORCE_INTERNE   =FACT(statut='f',max='**',
3464            fr="Applique des forces volumiques (2D ou 3D) à un domaine volumique, dont les valeurs des composantes sont fournies"
3465                +" par l'intermédiaire d'un concept fonction",
3466            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3467                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3468                    AU_MOINS_UN('FX','FY','FZ'),),
3469            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3470            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3471            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3472            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3473            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3474            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3475          ),
3476          
3477          PRES_REP        =FACT(statut='f',max='**',
3478            fr="Applique une pression à un domaine de milieu continu 2D ou 3D ou à un domaine de coques et tuyaux, dont les"
3479                +" valeurs imposées (pression et/ou cisaillement) sont fournies par l'intermédiaire d'un concept fonction",
3480            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3481                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3482                    AU_MOINS_UN('PRES','CISA_2D'),),
3483            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3484            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3485            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3486            PRES            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3487            CISA_2D         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3488          ),
3489
3490          EFFE_FOND       =FACT(statut='f',max='**',
3491            fr="Calcul l'effet de fond sur une branche de tuyauterie (modélisation 3D) soumise"
3492                +" à une pression dont la valeur est fournie par l'intermédiaire d'un concept fonction",
3493            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),),
3494            GROUP_MA_INT    =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
3495            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3496            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3497            PRES            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3498          ),
3499
3500          EPSI_INIT       =FACT(statut='f',max='**',
3501            fr="Applique un chargement de déformation initiale à un élément 2D, 3D ou de structure dont les composantes"
3502                +" du tenseur de déformation sont fournies par l'intermédiaire d'un concept fonction",
3503            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3504                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3505                    AU_MOINS_UN('EPXX','EPYY','EPZZ','EPXY','EPXZ','EPYZ'),),
3506            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3507            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3508            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3509            EPXX            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3510            EPYY            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3511            EPZZ            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3512            EPXY            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3513            EPXZ            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3514            EPYZ            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3515          ),
3516          
3517          FORCE_POUTRE    =FACT(statut='f',max='**',
3518            fr="Applique des forces linéiques sur des éléments de type poutre dont les valeurs sont fournies par"
3519                +" l'intermédiaire d'un concept fonction",
3520            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3521                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3522                    AU_MOINS_UN('FX','FY','FZ','N','VY','VZ'),
3523                    PRESENT_ABSENT('FX','N','VY','VZ'),
3524                    PRESENT_ABSENT('FY','N','VY','VZ'),
3525                    PRESENT_ABSENT('FZ','N','VY','VZ'),
3526                    PRESENT_ABSENT('N','FX','FY','FZ'),
3527                    PRESENT_ABSENT('VY','FX','FY','FZ'),
3528                    PRESENT_ABSENT('VZ','FX','FY','FZ'),),
3529 #  rajout d un mot cle REPERE : / GLOBAL / LOCAL
3530            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3531            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3532            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3533            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE") ),
3534            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3535            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3536            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3537            N               =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3538            VY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3539            VZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3540          ),
3541
3542          FORCE_TUYAU     =FACT(statut='f',max='**',
3543            fr="Applique une pression sur des éléments TUYAU, la valeur est fournie par l'intermédiaire d'un concept fonction",
3544            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3545                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
3546            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3547            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3548            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3549            PRES            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3550          ),
3551          
3552          FORCE_COQUE     =FACT(statut='f',max='**',
3553            fr="Applique des forces surfaciques sur des éléments de types coques dont les valeurs sont fournies par"
3554                +" l'intermédiaires d'un concept fonction",
3555            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3556                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3557                    AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','PRES','F1','F2','F3','MF1','MF2'),
3558                    PRESENT_ABSENT('FX','PRES','F1','F2','F3','MF1','MF2'),
3559                    PRESENT_ABSENT('FY','PRES','F1','F2','F3','MF1','MF2'),
3560                    PRESENT_ABSENT('FZ','PRES','F1','F2','F3','MF1','MF2'),
3561                    PRESENT_ABSENT('MX','PRES','F1','F2','F3','MF1','MF2'),
3562                    PRESENT_ABSENT('MY','PRES','F1','F2','F3','MF1','MF2'),
3563                    PRESENT_ABSENT('MZ','PRES','F1','F2','F3','MF1','MF2'),
3564                    PRESENT_ABSENT('F1','PRES','FX','FY','FZ','MX','MY','MZ'),
3565                    PRESENT_ABSENT('F2','PRES','FX','FY','FZ','MX','MY','MZ'),
3566                    PRESENT_ABSENT('F3','PRES','FX','FY','FZ','MX','MY','MZ'),
3567                    PRESENT_ABSENT('MF1','PRES','FX','FY','FZ','MX','MY','MZ'),
3568                    PRESENT_ABSENT('MF2','PRES','FX','FY','FZ','MX','MY','MZ'),
3569                    PRESENT_ABSENT('PRES','FX','FY','FZ','MX','MY','MZ','F1','F2','F3','MF1','MF2'),),
3570 #  rajout d un mot cle REPERE : / GLOBAL / LOCAL
3571            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3572            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3573            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3574            FX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3575            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3576            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3577            MX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3578            MY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3579            MZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3580            F1              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3581            F2              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3582            F3              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3583            MF1             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3584            MF2             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3585            PRES            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3586            PLAN            =SIMP(statut='f',typ='TXM',defaut="MAIL",
3587                                  into=("SUP","INF","MOY","MAIL") ),
3588          ),
3589
3590          LIAISON_COQUE   =FACT(statut='f',max='**',
3591            fr="Permet de représenter le raccord entre des éléments de coques au moyen des relations linéaires",
3592            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3593            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3594            GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3595            NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3596            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3597            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3598            GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3599            NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3600            NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES",) ),
3601          ),         
3602          
3603
3604          VITE_FACE       =FACT(statut='f',max='**',
3605            fr="Impose des vitesses normales à une face (phénomène ACOUSTIQUE) dont les valeurs sont fournies par"
3606                +" l'intermédiaire d'un concept fonction",
3607            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
3608                    PRESENT_ABSENT('GROUP_MA','MAILLE'),),
3609            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3610            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3611            VNOR            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3612          ),
3613          IMPE_FACE       =FACT(statut='f',max='**',
3614            fr="Applique à une face une impédance acoustique dont la valeur est fournie par l'intermédiaire"
3615                +" d'un concept fonction",
3616            regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
3617                    PRESENT_ABSENT('GROUP_MA','MAILLE'),),
3618            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3619            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3620            IMPE            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3621          ),
3622          ONDE_PLANE      =FACT(statut='f',max='**',
3623            fr="Impose un chargement sismique par onde plane dont la valeur est fournie par l'intermédiaire"
3624                +" d'un concept fonction",
3625            DIRECTION       =SIMP(statut='o',typ='R',max='**'),
3626            TYPE_ONDE       =SIMP(statut='o',typ='TXM' ),
3627            FONC_SIGNAL     =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3628            DIST_ORIG       =SIMP(statut='o',typ='R' ),
3629          ),
3630
3631
3632
3633          FLUX_THM_REP    =FACT(statut='f',max='**',
3634            fr="Applique à un domaine continue 2D ou 3D un flux de chaleur et/ou un apport de masse fluide (flux hydraulique)"
3635                +" dont les valeurs des flux sont fournies par l'intermédiaire d'un concept fonction",
3636            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3637                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3638                    AU_MOINS_UN('FLUN','FLUN_HYDR1','FLUN_HYDR2'),),
3639            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3640            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3641            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3642            FLUN            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3643            FLUN_HYDR1      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3644            FLUN_HYDR2      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3645          ),
3646
3647          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
3648 )  ;
3649
3650
3651 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
3652 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3653 # ======================================================================
3654 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
3655 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3656 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3657 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
3658 # (AT YOUR OPTION) ANY LATER VERSION.                                 
3659 #
3660 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
3661 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
3662 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
3663 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
3664 #
3665 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
3666 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
3667 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
3668 # ======================================================================
3669 AFFE_CHAR_OPS011=OPER(nom="AFFE_CHAR_OPS011",op= 190,sd_prod=char_ther,
3670                       fr="Affectation de charges et conditions limites thermiques spécifique à CARA_TORSION",
3671                       reentrant='n',
3672             UIinfo={"groupes":("Outils métier",)},
3673          regles=(AU_MOINS_UN('CARA_TORSION', ),),
3674          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
3675          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",
3676                                into=("OUI","NON") ),
3677          CARA_TORSION    =FACT(statut='f',max='**',
3678            regles=(UN_PARMI('TOUT','GROUP_MA'),),
3679            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3680            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3681          ),
3682          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
3683 )  ;
3684 #& MODIF COMMANDE  DATE 16/05/2006   AUTEUR REZETTE C.REZETTE 
3685 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3686 # ======================================================================
3687 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
3688 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3689 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3690 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
3691 # (AT YOUR OPTION) ANY LATER VERSION.
3692 #
3693 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
3694 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
3695 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
3696 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
3697 #
3698 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
3699 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
3700 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
3701 # ======================================================================
3702 AFFE_CHAR_THER=OPER(nom="AFFE_CHAR_THER",op=34,sd_prod=char_ther
3703                     ,fr="Affectation de charges et conditions aux limites thermiques constantes",
3704                     reentrant='n',
3705             UIinfo={"groupes":("Modélisation",)},
3706       regles=(AU_MOINS_UN('TEMP_IMPO','SOURCE','FLUX_REP','ECHANGE',
3707                           'ECHANGE_PAROI','GRAD_TEMP_INIT','LIAISON_DDL','LIAISON_GROUP',
3708                           'LIAISON_UNIF','LIAISON_CHAMNO','RAYONNEMENT','LIAISON_MAIL' ),),
3709          MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
3710
3711          TEMP_IMPO       =FACT(statut='f',max='**',
3712            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
3713                    AU_MOINS_UN('TEMP_SUP','TEMP','TEMP_INF'),),
3714            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3715            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3716            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3717            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3718            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3719            TEMP            =SIMP(statut='f',typ='R'),
3720            TEMP_INF        =SIMP(statut='f',typ='R'),
3721            TEMP_SUP        =SIMP(statut='f',typ='R'), ),
3722
3723          FLUX_REP        =FACT(statut='f',max='**',
3724            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3725                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3726                    PRESENT_PRESENT('CARA_TORSION','GROUP_MA'),
3727                    AU_MOINS_UN('FLUN','FLUN_INF','FLUN_SUP','CARA_TORSION') ),
3728            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3729            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3730            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3731            FLUN            =SIMP(statut='f',typ='R'),
3732            FLUN_INF        =SIMP(statut='f',typ='R'),
3733            FLUN_SUP        =SIMP(statut='f',typ='R'),
3734            CARA_TORSION    =SIMP(statut='f',typ=table_sdaster),
3735          ),
3736
3737
3738          RAYONNEMENT     =FACT(statut='f',max='**',
3739            fr="Attention, exprimer les températures en Celsius si rayonnement",
3740            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3741                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
3742            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3743            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3744            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3745            SIGMA           =SIMP(statut='o',typ='R'),
3746            EPSILON         =SIMP(statut='o',typ='R'),
3747            TEMP_EXT        =SIMP(statut='o',typ='R'),
3748          ),
3749
3750          ECHANGE         =FACT(statut='f',max='**',
3751            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3752                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3753                    AU_MOINS_UN('COEF_H','COEF_H_INF','COEF_H_SUP'),
3754                    ENSEMBLE('COEF_H','TEMP_EXT',),
3755                    ENSEMBLE('COEF_H_INF','TEMP_EXT_INF'),
3756                              ENSEMBLE('COEF_H_SUP','TEMP_EXT_SUP'),),
3757            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3758            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3759            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3760            COEF_H          =SIMP(statut='f',typ='R'),
3761            TEMP_EXT        =SIMP(statut='f',typ='R'),
3762            COEF_H_INF      =SIMP(statut='f',typ='R'),
3763            TEMP_EXT_INF    =SIMP(statut='f',typ='R'),
3764            COEF_H_SUP      =SIMP(statut='f',typ='R'),
3765            TEMP_EXT_SUP    =SIMP(statut='f',typ='R'),
3766          ),
3767
3768          SOURCE          =FACT(statut='f',max='**',
3769            regles=(UN_PARMI('SOUR','SOUR_CALCULEE',),
3770                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3771                    PRESENT_ABSENT('SOUR_CALCULEE','TOUT','GROUP_MA','MAILLE'),),
3772            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3773            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3774            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3775            SOUR            =SIMP(statut='f',typ='R'),
3776            SOUR_CALCULEE   =SIMP(statut='f',typ=(cham_elem) ),
3777          ),
3778
3779          GRAD_TEMP_INIT  =FACT(statut='f',max='**',
3780            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3781                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3782                    AU_MOINS_UN('FLUX_X','FLUX_Y','FLUX_Z'),),
3783            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3784            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3785            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3786            FLUX_X          =SIMP(statut='f',typ='R' ),
3787            FLUX_Y          =SIMP(statut='f',typ='R' ),
3788            FLUX_Z          =SIMP(statut='f',typ='R' ),
3789                          ),
3790
3791          LIAISON_DDL     =FACT(statut='f',max='**',
3792            regles=(UN_PARMI('GROUP_NO','NOEUD', ),),
3793            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
3794            NOEUD           =SIMP(statut='f',typ=no  ,max='**'),
3795            DDL             =SIMP(statut='f',typ='TXM',max='**',
3796                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
3797            COEF_MULT       =SIMP(statut='o',typ='R',max='**'),
3798            COEF_IMPO       =SIMP(statut='o',typ='R' ),
3799          ),
3800
3801          LIAISON_GROUP   =FACT(statut='f',max='**',
3802            regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
3803                    UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),
3804                              EXCLUS('GROUP_MA_1','GROUP_NO_2'),
3805                              EXCLUS('GROUP_MA_1','NOEUD_2'),
3806                    EXCLUS('GROUP_NO_1','GROUP_MA_2'),
3807                              EXCLUS('GROUP_NO_1','MAILLE_2'),
3808                              EXCLUS('MAILLE_1','GROUP_NO_2'),
3809                              EXCLUS('MAILLE_1','NOEUD_2'),
3810                              EXCLUS('NOEUD_1','GROUP_MA_2'),
3811                              EXCLUS('NOEUD_1','MAILLE_2'),
3812                              EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),),
3813            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3814            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3815            GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3816            NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3817            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3818            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3819            GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3820            NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3821            SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3822            SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3823            DDL_1           =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
3824                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
3825            COEF_MULT_1     =SIMP(statut='o',typ='R',max='**'),
3826            DDL_2           =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
3827                                  into=("TEMP","TEMP_INF","TEMP_SUP",) ),
3828            COEF_MULT_2     =SIMP(statut='o',typ='R',max='**'),
3829            COEF_IMPO       =SIMP(statut='o',typ='R' ),
3830            SOMMET          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3831            TRAN            =SIMP(statut='f',typ='R',max='**'),
3832            ANGL_NAUT       =SIMP(statut='f',typ='R',max='**'),
3833            CENTRE          =SIMP(statut='f',typ='R',max='**'),
3834          ),
3835
3836          LIAISON_MAIL    =FACT(statut='f',max='**',
3837            regles=(AU_MOINS_UN('GROUP_MA_MAIT','MAILLE_MAIT'),
3838                    AU_MOINS_UN('GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL',
3839                                'NOEUD_ESCL'),),
3840            GROUP_MA_MAIT   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3841            MAILLE_MAIT     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3842            GROUP_MA_ESCL   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3843            MAILLE_ESCL     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3844            GROUP_NO_ESCL   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3845            NOEUD_ESCL      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3846            TRAN            =SIMP(statut='f',typ='R',max='**' ),
3847            ANGL_NAUT       =SIMP(statut='f',typ='R',max='**' ),
3848            CENTRE          =SIMP(statut='f',typ='R',max='**' ),
3849            ELIM_MULT       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
3850          ),
3851
3852          ECHANGE_PAROI   =FACT(statut='f',max='**',
3853            regles=(UN_PARMI('GROUP_MA_1','MAILLE_1'),
3854                    UN_PARMI('GROUP_MA_2','MAILLE_2'),),
3855            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3856            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3857            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3858            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3859            COEF_H          =SIMP(statut='f',typ='R'),
3860            TRAN            =SIMP(statut='f',typ='R',min=2,max=3),
3861            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
3862            CENTRE          =SIMP(statut='f',typ='R',min=2,max=3),
3863                          ),
3864
3865          LIAISON_UNIF    =FACT(statut='f',max='**',
3866            regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
3867            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3868            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3869            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3870            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3871            DDL             =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
3872                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
3873          ),
3874
3875          LIAISON_CHAMNO  =FACT(statut='f',max='**',
3876            CHAM_NO         =SIMP(statut='o',typ=cham_no_sdaster),# CO()# "il faut definir une structure de donnee generique chamno"
3877            COEF_IMPO       =SIMP(statut='o',typ='R' ),
3878            NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
3879          ),
3880
3881          CONVECTION      =FACT(statut='f',max='**',
3882            VITESSE         =SIMP(statut='o',typ=(cham_no_sdaster) ),
3883          ),
3884
3885
3886          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
3887 )  ;
3888 #& MODIF COMMANDE  DATE 03/04/2007   AUTEUR DURAND C.DURAND 
3889 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3890 # ======================================================================
3891 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
3892 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3893 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3894 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
3895 # (AT YOUR OPTION) ANY LATER VERSION.                                 
3896 #
3897 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
3898 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
3899 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
3900 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
3901 #
3902 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
3903 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
3904 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
3905 # ======================================================================
3906 AFFE_CHAR_THER_F=OPER(nom="AFFE_CHAR_THER_F",op=34,sd_prod=char_ther,
3907                      fr="Affectation de charges et conditions aux limites thermiques fonction d'un (ou plusieurs)"
3908                          +" paramètres (temps, ...)",
3909                      reentrant='n',
3910             UIinfo={"groupes":("Modélisation",)},
3911       regles=(AU_MOINS_UN('TEMP_IMPO','SOURCE','FLUX_REP','FLUX_NL','ECHANGE',
3912                           'ECHANGE_PAROI','LIAISON_DDL','LIAISON_GROUP','LIAISON_UNIF',
3913                           'GRAD_TEMP_INIT','RAYONNEMENT'),),
3914          MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
3915
3916          TEMP_IMPO       =FACT(statut='f',max='**',
3917            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
3918                    AU_MOINS_UN('TEMP_SUP','TEMP','TEMP_INF','EVOL_THER'),
3919                    PRESENT_ABSENT('EVOL_THER','TEMP','TEMP_INF','TEMP_SUP'),),
3920            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3921            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3922            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3923            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3924            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
3925            EVOL_THER       =SIMP(statut='f',typ=(evol_ther) ),
3926            DDL             =SIMP(statut='f',typ='TXM',into=("TEMP",) ),
3927            TEMP            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3928            TEMP_INF        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3929            TEMP_SUP        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3930          ),
3931          
3932          FLUX_REP        =FACT(statut='f',max='**',
3933            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3934                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3935                    AU_MOINS_UN('FLUN','FLUN_INF','FLUN_SUP','FLUX_X','FLUX_Y','FLUX_Z'),),
3936            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3937            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3938            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3939            FLUN            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3940            FLUN_INF        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3941            FLUN_SUP        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3942            FLUX_X          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3943            FLUX_Y          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3944            FLUX_Z          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3945          ),
3946
3947          FLUX_NL         =FACT(statut='f',max='**',
3948            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3949                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
3950            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3951            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3952            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3953            FLUN            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3954          ), 
3955          
3956
3957          RAYONNEMENT     =FACT(statut='f',max='**',
3958            fr="Attention, exprimer les températures en Celsius si rayonnement",
3959            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3960                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
3961            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3962            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3963            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3964            SIGMA           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3965            EPSILON         =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3966            TEMP_EXT        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3967          ),
3968          
3969
3970
3971          ECHANGE         =FACT(statut='f',max='**',
3972            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
3973                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
3974                    AU_MOINS_UN('COEF_H','COEF_H_INF','COEF_H_SUP'),
3975                    ENSEMBLE('COEF_H','TEMP_EXT'),
3976                    ENSEMBLE('COEF_H_INF','TEMP_EXT_INF'),
3977                    ENSEMBLE('COEF_H_SUP','TEMP_EXT_SUP'),),
3978            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3979            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3980            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3981            COEF_H          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3982            TEMP_EXT        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3983            COEF_H_INF      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3984            TEMP_EXT_INF    =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3985            COEF_H_SUP      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3986            TEMP_EXT_SUP    =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3987          ),
3988          
3989
3990          SOURCE          =FACT(statut='f',max='**',
3991            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
3992            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3993            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3994            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
3995            SOUR            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
3996          ),
3997          
3998          GRAD_TEMP_INIT  =FACT(statut='f',max='**',
3999            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
4000                    PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
4001                    AU_MOINS_UN('FLUX_X','FLUX_Y','FLUX_Z'),),
4002            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
4003            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4004            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
4005            FLUX_X          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
4006            FLUX_Y          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
4007            FLUX_Z          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
4008          ),
4009          
4010          ECHANGE_PAROI   =FACT(statut='f',max='**',
4011            regles=(UN_PARMI('GROUP_MA_1','MAILLE_1'),
4012                         UN_PARMI('GROUP_MA_2','MAILLE_2'),),
4013            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4014            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
4015            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4016            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
4017            COEF_H          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
4018            TRAN            =SIMP(statut='f',typ='R',min=2,max=3),
4019            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
4020            CENTRE          =SIMP(statut='f',typ='R',min=2,max=3),
4021          ),
4022
4023         LIAISON_DDL     =FACT(statut='f',max='**',
4024            regles=(UN_PARMI('GROUP_NO','NOEUD'),),
4025            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
4026            NOEUD           =SIMP(statut='f',typ=no  ,max='**'),
4027            DDL             =SIMP(statut='f',typ='TXM',max='**',into=("TEMP","TEMP_INF","TEMP_SUP") ),
4028            COEF_MULT       =SIMP(statut='o',typ='R',max='**'),
4029            COEF_IMPO       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
4030          ),
4031
4032          LIAISON_GROUP   =FACT(statut='f',max='**',
4033            regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
4034                    UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),
4035                              EXCLUS('GROUP_MA_1','GROUP_NO_2'),
4036                         EXCLUS('GROUP_MA_1','NOEUD_2'),
4037                    EXCLUS('GROUP_NO_1','GROUP_MA_2'),
4038                         EXCLUS('GROUP_NO_1','MAILLE_2'),
4039                         EXCLUS('MAILLE_1','GROUP_NO_2'),
4040                         EXCLUS('MAILLE_1','NOEUD_2'),
4041                         EXCLUS('NOEUD_1','GROUP_MA_2'),
4042                         EXCLUS('NOEUD_1','MAILLE_2'),
4043                         EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),),
4044            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4045            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
4046            GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4047            NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
4048            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4049            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
4050            GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4051            NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
4052            SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
4053            SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4054            DDL_1           =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
4055                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
4056            COEF_MULT_1     =SIMP(statut='o',typ='R',max='**'),
4057            DDL_2           =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
4058                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
4059            COEF_MULT_2     =SIMP(statut='o',typ='R',max='**'),
4060            COEF_IMPO       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
4061            SOMMET          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
4062            TRAN            =SIMP(statut='f',typ='R',max='**'),
4063            ANGL_NAUT       =SIMP(statut='f',typ='R',max='**'),
4064            CENTRE          =SIMP(statut='f',typ='R',max='**'),
4065          ),
4066
4067          LIAISON_UNIF    =FACT(statut='f',max='**',
4068            regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
4069            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4070            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
4071            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4072            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
4073            DDL             =SIMP(statut='f',typ='TXM',defaut="TEMP",
4074                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
4075          ),
4076
4077          CONVECTION      =FACT(statut='f',max='**',
4078            VITESSE         =SIMP(statut='o',typ=cham_no_sdaster ),
4079          ),
4080
4081          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
4082 )  ;
4083 #& MODIF COMMANDE  DATE 28/03/2007   AUTEUR PELLET J.PELLET 
4084 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4085 # ======================================================================
4086 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4087 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4088 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4089 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
4090 # (AT YOUR OPTION) ANY LATER VERSION.
4091 #
4092 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
4093 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
4094 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
4095 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
4096 #
4097 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
4098 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
4099 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
4100 # ======================================================================
4101 # RESPONSABLE VABHHTS J.PELLET
4102 AFFE_MATERIAU=OPER(nom="AFFE_MATERIAU",op=6,sd_prod=cham_mater,
4103                    fr="Affecter des matériaux à des zones géométriques d'un maillage",
4104                          reentrant='n',
4105             UIinfo={"groupes":("Modélisation",)},
4106          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),
4107          MODELE          =SIMP(statut='f',typ=modele_sdaster),
4108
4109          #  affectation du nom du matériau (par mailles):
4110          #  ----------------------------------------------
4111          AFFE            =FACT(statut='o',max='**',
4112            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
4113            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
4114            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4115            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
4116            MATER           =SIMP(statut='o',typ=mater_sdaster,max=30),
4117            TEMP_REF        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
4118          ),
4119
4120          #  affectation du nom du matériau (par noeuds):
4121          #  ----------------------------------------------
4122          AFFE_NOEUD        =FACT(statut='f',max='**',
4123            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
4124            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
4125            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4126            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
4127            MATER           =SIMP(statut='o',typ=mater_sdaster,max=1),
4128          ),
4129
4130          #  affectation de comportement (multifibres pour l'instant):
4131          #  ----------------------------------------------
4132          AFFE_COMPOR        =FACT(statut='f',max='**',
4133            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
4134            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
4135            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4136            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
4137            COMPOR          =SIMP(statut='o',typ=compor_sdaster,max=1),
4138          ),
4139
4140          #  affectation des variables de commande :
4141          #  --------------------------------------------------
4142          # un mot clé caché qui ne sert qu'à boucler sur les VARC possibles :
4143          LIST_NOM_VARC =SIMP(statut='c',typ='TXM', defaut=("TEMP","CORR","IRRA","HYDR","SECH","EPSA",
4144                                                            "M_ACIER","M_ZIRC","NEUT1","NEUT2")),
4145
4146          AFFE_VARC    =FACT(statut='f',max='**',
4147           regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
4148                   PRESENT_ABSENT('GROUP_MA','TOUT'),
4149                   PRESENT_ABSENT('MAILLE','TOUT'),
4150                   UN_PARMI('EVOL','CHAMP_GD'),),
4151
4152           TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ), # [défaut]
4153           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4154           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
4155
4156           CHAMP_GD      =SIMP(statut='f',typ=cham_gd_sdaster,),
4157           B_CHAMP_GD    =BLOC(condition="CHAMP_GD!=None",
4158               NOM_VARC    =SIMP(statut='o',typ='TXM', into=("TEMP","CORR","IRRA","HYDR","SECH","M_ACIER","M_ZIRC",
4159                                                             "EPSA","NEUT1","NEUT2")),
4160           ),
4161           EVOL            =SIMP(statut='f',typ=evol_sdaster,),
4162           B_EVOL          =BLOC(condition="EVOL!=None",
4163               NOM_VARC    =SIMP(statut='o',typ='TXM', into=("TEMP","CORR","IRRA","HYDR","SECH","M_ACIER",
4164                                                             "M_ZIRC","EPSA","NEUT1","NEUT2")),
4165               B_NOM_TEMP    =BLOC(condition="NOM_VARC=='TEMP'",NOM_CHAM=SIMP(statut='f',typ='TXM',defaut= 'TEMP',),),
4166               B_NOM_CORR    =BLOC(condition="NOM_VARC=='CORR'",NOM_CHAM=SIMP(statut='f',typ='TXM',defaut= 'CORR',),),
4167               B_NOM_IRRA    =BLOC(condition="NOM_VARC=='IRRA'",NOM_CHAM=SIMP(statut='f',typ='TXM',defaut= 'IRRA',),),
4168               B_NOM_HYDR    =BLOC(condition="NOM_VARC=='HYDR'",NOM_CHAM=SIMP(statut='f',typ='TXM',defaut= 'HYDR_ELNO_ELGA',),),
4169               B_NOM_SECH    =BLOC(condition="NOM_VARC=='SECH'",NOM_CHAM=SIMP(statut='f',typ='TXM',defaut= 'TEMP',),),
4170               B_NOM_EPSA    =BLOC(condition="NOM_VARC=='EPSA'",NOM_CHAM=SIMP(statut='f',typ='TXM',defaut= 'EPSA_ELNO',),),
4171               B_NOM_M_ACIER =BLOC(condition="NOM_VARC=='M_ACIER'",NOM_CHAM=SIMP(statut='f',typ='TXM',defaut= 'META_ELNO_TEMP',),),
4172               B_NOM_M_ZIRC  =BLOC(condition="NOM_VARC=='M_ZIRC'",NOM_CHAM=SIMP(statut='f',typ='TXM',defaut= 'META_ELNO_TEMP',),),
4173               B_NOM_NEUT1   =BLOC(condition="NOM_VARC=='NEUT1'",NOM_CHAM=SIMP(statut='f',typ='TXM',defaut= 'NEUT',),),
4174               B_NOM_NEUT2   =BLOC(condition="NOM_VARC=='NEUT2'",NOM_CHAM=SIMP(statut='f',typ='TXM',defaut= 'NEUT',),),
4175               PROL_DROITE   =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
4176               PROL_GAUCHE   =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
4177           ),
4178           VALE_REF          =SIMP(statut='f',typ='R'),  # defaut=0. pour TEMP (fait dans le fortran : op0006.f)
4179          ),
4180
4181          #  mots clés cachés pour les variables de commande NEUTi :
4182          #  -------------------------------------------------------
4183          VARC_NEUT1   =FACT(statut='d',
4184            NOM_VARC        =SIMP(statut='c',typ='TXM',defaut="NEUT1"),
4185            GRANDEUR        =SIMP(statut='c',typ='TXM',defaut="NEUT_R"),
4186            CMP_GD          =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("X1")),
4187            CMP_VARC        =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("NEUT1")),
4188          ),
4189          VARC_NEUT2   =FACT(statut='d',
4190            NOM_VARC        =SIMP(statut='c',typ='TXM',defaut="NEUT2"),
4191            GRANDEUR        =SIMP(statut='c',typ='TXM',defaut="NEUT_R"),
4192            CMP_GD          =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("X1")),
4193            CMP_VARC        =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("NEUT2")),
4194          ),
4195
4196          #  mots clés cachés pour variable de commande TEMP :
4197          #  --------------------------------------------------
4198          VARC_TEMP    =FACT(statut='d',
4199            NOM_VARC        =SIMP(statut='c',typ='TXM',defaut="TEMP"),
4200            GRANDEUR        =SIMP(statut='c',typ='TXM',defaut="TEMP_R"),
4201            CMP_GD          =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("TEMP",)),
4202            CMP_VARC        =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("TEMP",)),
4203            VALE_DEF        =SIMP(statut='c',typ='R',max=1,min=1,defaut=(0.,)),
4204          ),
4205
4206          #  mots clés cachés pour variable de commande SECH :
4207          #  --------------------------------------------------
4208          VARC_SECH    =FACT(statut='d',
4209            NOM_VARC        =SIMP(statut='c',typ='TXM',defaut="SECH"),
4210            GRANDEUR        =SIMP(statut='c',typ='TXM',defaut="TEMP_R"),
4211            CMP_GD          =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("TEMP",)),
4212            CMP_VARC        =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("SECH",)),
4213          ),
4214
4215          #  mots clés cachés pour variable de commande HYDR :
4216          #  --------------------------------------------------
4217          VARC_HYDR    =FACT(statut='d',
4218            NOM_VARC        =SIMP(statut='c',typ='TXM',defaut="HYDR"),
4219            GRANDEUR        =SIMP(statut='c',typ='TXM',defaut="HYDR_R"),
4220            CMP_GD          =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("HYDR",)),
4221            CMP_VARC        =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("HYDR",)),
4222          ),
4223
4224          #  mots clés cachés pour variable de commande CORR :
4225          #  --------------------------------------------------
4226          VARC_CORR    =FACT(statut='d',
4227            NOM_VARC        =SIMP(statut='c',typ='TXM',defaut="CORR"),
4228            GRANDEUR        =SIMP(statut='c',typ='TXM',defaut="CORR_R"),
4229            CMP_GD          =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("CORR",)),
4230            CMP_VARC        =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("CORR",)),
4231          ),
4232
4233          #  mots clés cachés pour variable de commande IRRA :
4234          #  --------------------------------------------------
4235          VARC_IRRA    =FACT(statut='d',
4236            NOM_VARC        =SIMP(statut='c',typ='TXM',defaut="IRRA"),
4237            GRANDEUR        =SIMP(statut='c',typ='TXM',defaut="IRRA_R"),
4238            CMP_GD          =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("IRRA",)),
4239            CMP_VARC        =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("IRRA",)),
4240          ),
4241
4242          #  mots clés cachés pour variable de commande EPSA :
4243          #  --------------------------------------------------
4244          VARC_EPSA    =FACT(statut='d',
4245            NOM_VARC        =SIMP(statut='c',typ='TXM',defaut="EPSA"),
4246            GRANDEUR        =SIMP(statut='c',typ='TXM',defaut="EPSI_R"),
4247            CMP_GD          =SIMP(statut='c',typ='TXM',max=6,min=6,defaut=("EPXX","EPYY","EPZZ","EPXY","EPXZ","EPYZ",)),
4248            CMP_VARC        =SIMP(statut='c',typ='TXM',max=6,min=6,defaut=("EPSAXX","EPSAYY","EPSAZZ","EPSAXY","EPSAXZ","EPSAYZ",)),
4249          ),
4250          #  mots clés cachés pour variable de commande metallurgique ACIER :
4251          #  -----------------------------------------------------------------
4252          VARC_M_ACIER  =FACT(statut='d',
4253            NOM_VARC        =SIMP(statut='c',typ='TXM',defaut="M_ACIER"),
4254            GRANDEUR        =SIMP(statut='c',typ='TXM',defaut="VARI_R"),
4255            CMP_GD          =SIMP(statut='c',typ='TXM',max=7,min=7,defaut=("V1","V2","V3","V4","V5","V6","V7")),
4256            CMP_VARC        =SIMP(statut='c',typ='TXM',max=7,min=7,defaut=("PFERRITE","PPERLITE","PBAINITE",
4257                                                                           "PMARTENS","TAUSTE","TRANSF","TACIER",)),
4258          ),
4259          #  mots clés cachés pour variable de commande metallurgique ZIRCALOY :
4260          #  --------------------------------------------------------------------
4261          VARC_M_ZIRC  =FACT(statut='d',
4262            NOM_VARC        =SIMP(statut='c',typ='TXM',defaut="M_ZIRC"),
4263            GRANDEUR        =SIMP(statut='c',typ='TXM',defaut="VARI_R"),
4264            CMP_GD          =SIMP(statut='c',typ='TXM',max=3,min=3,defaut=("V1","V2","V3")),
4265            CMP_VARC        =SIMP(statut='c',typ='TXM',max=3,min=3,defaut=("ALPHPUR","ALPHBETA","TZIRC",)),
4266          ),
4267 )  ;
4268
4269
4270 #& MODIF COMMANDE  DATE 21/05/2007   AUTEUR FERNANDES R.FERNANDES 
4271 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4272 # ======================================================================
4273 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4274 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4275 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4276 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
4277 # (AT YOUR OPTION) ANY LATER VERSION.
4278 #
4279 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
4280 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
4281 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
4282 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
4283 #
4284 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
4285 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
4286 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
4287 # ======================================================================
4288 # RESPONSABLE JMBHH01 J.M.PROIX
4289 AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele_sdaster,
4290             UIinfo={"groupes":("Modélisation",)},
4291                  fr="Définir le phénomène physique modélisé et le type d'éléments finis sur le maillage",reentrant='n',
4292          regles=(AU_MOINS_UN('AFFE','AFFE_SOUS_STRUC'),),
4293          MAILLAGE        =SIMP(statut='o',typ=(maillage_sdaster) ),
4294          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
4295          VERIF           =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2,into=("MAILLE","NOEUD") ),
4296          AFFE_SOUS_STRUC =FACT(statut='f',
4297            regles=(UN_PARMI('TOUT','SUPER_MAILLE'),),
4298            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
4299            SUPER_MAILLE    =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
4300            PHENOMENE       =SIMP(statut='f',typ='TXM',defaut="MECANIQUE",into=("MECANIQUE",) ),
4301          ),
4302          AFFE            =FACT(statut='f',max='**',
4303            regles=(UN_PARMI('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD'),),
4304            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
4305            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4306            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4307            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
4308            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
4309            PHENOMENE       =SIMP(statut='o',typ='TXM',
4310                                  into=("MECANIQUE","THERMIQUE","ACOUSTIQUE") ),
4311                 b_mecanique     =BLOC( condition = "PHENOMENE=='MECANIQUE'",
4312                                         fr="modélisations mécaniques",
4313                     MODELISATION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=(
4314                                                                       "2D_DIS_T",
4315                                                                       "2D_DIS_TR",
4316                                                                       "2D_FLUI_ABSO",
4317                                                                       "2D_FLUI_PESA",
4318                                                                       "2D_FLUI_STRU",
4319                                                                       "2D_FLUIDE",
4320                                                                       "3D",
4321                                                                       "3D_ABSO",
4322                                                                       "3D_FAISCEAU",
4323                                                                       "3D_FLUI_ABSO",
4324                                                                       "3D_FLUIDE",
4325                                                                       "3D_INCO",
4326                                                                       "3D_INCO_GD",
4327                                                                       "3D_SI",
4328                                                                       "3D_GRAD_EPSI",
4329                                                                       "3D_GRAD_VARI",
4330                                                                       "3D_XFEM",
4331                                                                       "3D_JOINT",
4332                                                                       "AXIS",
4333                                                                       "AXIS_FLUI_STRU",
4334                                                                       "AXIS_FLUIDE",
4335                                                                       "AXIS_FOURIER",
4336                                                                       "AXIS_INCO",
4337                                                                       "AXIS_INCO_GD",
4338                                                                       "AXIS_NS",
4339                                                                       "AXIS_SI",
4340                                                                       "AXIS_GRAD_VARI",
4341                                                                       "AXIS_JOINT",
4342                                                                       "AXIS_ELDI",
4343                                                                       "BARRE",
4344                                                                       "2D_BARRE",
4345                                                                       "C_PLAN",
4346                                                                       "C_PLAN_XFEM",
4347                                                                       "C_PLAN_NS",
4348                                                                       "C_PLAN_SI",
4349                                                                       "C_PLAN_GRAD_EPSI",
4350                                                                       "CABLE",
4351                                                                       "CABLE_POULIE",
4352                                                                       "COQUE_3D",
4353                                                                       "COQUE_AXIS",
4354                                                                       "COQUE_C_PLAN",
4355                                                                       "COQUE_D_PLAN",
4356                                                                       "D_PLAN",
4357                                                                       "D_PLAN_XFEM",
4358                                                                       "D_PLAN_GRAD_EPSI",
4359                                                                       "D_PLAN_GRAD_VARI",
4360                                                                       "D_PLAN_NS",
4361                                                                       "PLAN_JOINT",
4362                                                                       "PLAN_ELDI",
4363                                                                       "D_PLAN_ABSO",
4364                                                                       "D_PLAN_INCO",
4365                                                                       "D_PLAN_INCO_GD",
4366                                                                       "D_PLAN_SI",
4367                                                                       "DIS_T",
4368                                                                       "DIS_TR",
4369                                                                       "DKT",
4370                                                                       "DKTG",
4371                                                                       "DST",
4372                                                                       "FLUI_STRU",
4373                                                                       "GRILLE",
4374                                                                       "GRILLE_MEMBRANE",
4375                                                                       "POU_C_T",
4376                                                                       "POU_D_E",
4377                                                                       "POU_D_EM",
4378                                                                       "POU_D_T",
4379                                                                       "POU_D_T_GD",
4380                                                                       "POU_D_TG",
4381                                                                       "POU_D_TGM",
4382                                                                       "Q4G",
4383                                                                       "TUYAU_3M",
4384                                                                       "TUYAU_6M",
4385                                                                       "SHB8",
4386                                                                       "D_PLAN_HHM",
4387                                                                       "D_PLAN_HM",
4388                                                                       "D_PLAN_THH",
4389                                                                       "D_PLAN_THHM",
4390                                                                       "D_PLAN_THM",
4391                                                                       "D_PLAN_HHMD",
4392                                                                       "D_PLAN_HH2MD",
4393                                                                       "D_PLAN_HMD",
4394                                                                       "D_PLAN_THHD",
4395                                                                       "D_PLAN_THH2D",
4396                                                                       "D_PLAN_THVD",
4397                                                                       "D_PLAN_THH2MD",
4398                                                                       "D_PLAN_THHMD",
4399                                                                       "D_PLAN_THMD", 
4400                                                                       "D_PLAN_HHMS",
4401                                                                       "D_PLAN_HH2MS",
4402                                                                       "D_PLAN_HMS",
4403                                                                       "D_PLAN_THHS",
4404                                                                       "D_PLAN_THH2S",
4405                                                                       "D_PLAN_THVS",
4406                                                                       "D_PLAN_THH2MS",
4407                                                                       "D_PLAN_THHMS",
4408                                                                       "D_PLAN_THMS", 
4409                                                                       "D_PLAN_HM_P",
4410                                                                       "D_PLAN_HHD",
4411                                                                       "D_PLAN_HHS",
4412                                                                       "D_PLAN_HH2D",
4413                                                                       "D_PLAN_HH2S",
4414                                                                       "AXIS_THH",
4415                                                                       "AXIS_THHM",
4416                                                                       "AXIS_THM",
4417                                                                       "AXIS_HHM",
4418                                                                       "AXIS_HM",
4419                                                                       "AXIS_HH2MD",
4420                                                                       "AXIS_HHMD",
4421                                                                       "AXIS_HMD",
4422                                                                       "AXIS_THHD",
4423                                                                       "AXIS_THH2D",
4424                                                                       "AXIS_THVD",
4425                                                                       "AXIS_THHMD",
4426                                                                       "AXIS_THH2MD",
4427                                                                       "AXIS_THMD",
4428                                                                       "AXIS_HH2MS",
4429                                                                       "AXIS_HHMS",
4430                                                                       "AXIS_HMS",
4431                                                                       "AXIS_THHS",
4432                                                                       "AXIS_THH2S",
4433                                                                       "AXIS_THVS",
4434                                                                       "AXIS_THHMS",
4435                                                                       "AXIS_THH2MS",
4436                                                                       "AXIS_THMS",
4437                                                                       "AXIS_HHD",
4438                                                                       "AXIS_HHS",
4439                                                                       "AXIS_HH2D",
4440                                                                       "AXIS_HH2S",
4441                                                                       "3D_HHM" ,
4442                                                                       "3D_HM",
4443                                                                       "3D_THH",
4444                                                                       "3D_THV",
4445                                                                       "3D_THHM",
4446                                                                       "3D_THM",
4447                                                                       "3D_HHMD",
4448                                                                       "3D_HMD",
4449                                                                       "3D_THHD",
4450                                                                       "3D_THVD",
4451                                                                       "3D_THHMD",
4452                                                                       "3D_THMD",
4453                                                                       "3D_HHMS",
4454                                                                       "3D_HMS",
4455                                                                       "3D_THHS",
4456                                                                       "3D_THVS",
4457                                                                       "3D_THHMS",
4458                                                                       "3D_THMS",
4459                                                                       "3D_THH2MD",
4460                                                                       "3D_THH2MS",
4461                                                                       "3D_HH2MD",
4462                                                                       "3D_HH2MS",
4463                                                                       "3D_THH2S",
4464                                                                       "3D_THH2D",
4465                                                                       "3D_HHD",
4466                                                                       "3D_HHS",
4467                                                                       "3D_HH2D",
4468                                                                       "3D_HH2S",
4469                                                                       "D_PLAN_2DG",
4470                                                                       "D_PLAN_DIL",
4471                                                                      )  )  ),
4472
4473                 b_thermique     =BLOC( condition = "PHENOMENE=='THERMIQUE'",
4474                                         fr="modélisations thermiques",
4475                     MODELISATION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=(
4476                                                                       "3D",
4477                                                                       "3D_DIAG",
4478                                                                       "AXIS",
4479                                                                       "AXIS_DIAG",
4480                                                                       "AXIS_FOURIER",
4481                                                                       "COQUE",
4482                                                                       "COQUE_AXIS",
4483                                                                       "COQUE_PLAN",
4484                                                                       "PLAN",
4485                                                                       "PLAN_DIAG",
4486                                                                       ),),),
4487
4488                 b_acoustique    =BLOC( condition = "PHENOMENE=='ACOUSTIQUE'",
4489                                         fr="modélisations acoustiques",
4490                      MODELISATION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=(
4491                                                                        "3D",
4492                                                                        "PLAN"
4493                                                                        ), ),),
4494
4495          ),
4496 ) ;
4497 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
4498 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4499 # ======================================================================
4500 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4501 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4502 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4503 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4504 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4505 #
4506 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4507 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4508 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4509 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4510 #
4511 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4512 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4513 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4514 # ======================================================================
4515 AIDE=PROC(nom="AIDE",op=42,
4516        UIinfo={"groupes":("Modélisation",)},
4517        fr="Interroger et imprimer une documentation partielle sur les noms des concepts déjà définis et sur les couples"
4518            +" (type d'éléments, option) disponibles dans la version.",
4519        regles=(AU_MOINS_UN('CONCEPT','TYPE_ELEM', ),),
4520        UNITE       =SIMP(statut='f',typ='I',defaut=8),  
4521        TYPE_ELEM   =FACT(fr="couple type_elem option",statut='f',
4522          INITEL       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
4523                         ),
4524        CONCEPT     =FACT(statut='f',max='**',
4525          NOM          =SIMP(fr="liste des noms de concept",statut='f',typ='TXM',validators=NoRepeat(),max='**',defaut="*"),
4526          OPTION       =SIMP(fr="option d'édition de concept",statut='f',typ='TXM',defaut="TOUT_TYPE",
4527                                  into=("TOUT_TYPE","CREER","A_CREER",) ),
4528          ),
4529 ) ;
4530 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
4531 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4532 # ======================================================================
4533 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4534 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4535 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4536 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4537 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4538 #
4539 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4540 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4541 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4542 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4543 #
4544 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4545 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4546 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4547 # ======================================================================
4548 # RESPONSABLE VABHHTS J.PELLET
4549 ASSE_MAILLAGE=OPER(nom="ASSE_MAILLAGE",op= 105,sd_prod=maillage_sdaster,
4550                    fr="Assembler deux maillages pour en former un nouveau",
4551                    reentrant='n',
4552                    UIinfo={"groupes":("Maillage",)},
4553          MAILLAGE_1 =  SIMP(statut='o',typ=maillage_sdaster,),
4554          MAILLAGE_2 =  SIMP(statut='o',typ=maillage_sdaster,),
4555          OPERATION  =  SIMP(statut='o',typ='TXM',into=("SOUS_STR","SUPERPOSE","COLLAGE"),),
4556          b_collage  =  BLOC(condition = "OPERATION == 'COLLAGE'",
4557            COLLAGE  =  FACT(statut='o',
4558               GROUP_MA_1     =SIMP(statut='o',typ=grma),
4559               GROUP_MA_2     =SIMP(statut='o',typ=grma),
4560                              ),
4561                            ),
4562 )  ;
4563 #& MODIF COMMANDE  DATE 18/04/2005   AUTEUR NICOLAS O.NICOLAS 
4564 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4565 # ======================================================================
4566 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4567 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4568 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4569 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4570 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4571 #
4572 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4573 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4574 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4575 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4576 #
4577 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4578 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4579 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4580 # ======================================================================
4581 ASSE_MATR_GENE=OPER(nom="ASSE_MATR_GENE",op= 128,sd_prod=matr_asse_gene_r,
4582                     fr="Assemblage des matrices généralisées de macro éléments pour construction de la matrice globale généralisée",
4583                     reentrant='n',
4584             UIinfo={"groupes":("Matrices/vecteurs",)},
4585          NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
4586          METHODE          =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("CLASSIQUE","INITIAL") ),
4587          b_option     =BLOC(condition = "METHODE == 'CLASSIQUE'",
4588            OPTION          =SIMP(statut='o',typ='TXM',into=("RIGI_GENE","MASS_GENE","AMOR_GENE") ),
4589            ),
4590 )  ;
4591 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
4592 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4593 # ======================================================================
4594 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4595 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4596 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4597 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4598 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4599 #
4600 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4601 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4602 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4603 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4604 #
4605 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4606 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4607 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4608 # ======================================================================
4609 # RESPONSABLE VABHHTS J.PELLET
4610 def asse_matrice_prod(MATR_ELEM,**args):
4611   if AsType(MATR_ELEM) == matr_elem_depl_r : return matr_asse_depl_r
4612   if AsType(MATR_ELEM) == matr_elem_depl_c : return matr_asse_depl_c
4613   if AsType(MATR_ELEM) == matr_elem_temp_r : return matr_asse_temp_r
4614   if AsType(MATR_ELEM) == matr_elem_pres_c : return matr_asse_pres_c
4615   raise AsException("type de concept resultat non prevu")
4616
4617 ASSE_MATRICE=OPER(nom="ASSE_MATRICE",op=12,sd_prod=asse_matrice_prod,
4618                   fr="Construction d'une matrice assemblée",reentrant='n',
4619             UIinfo={"groupes":("Matrices/vecteurs",)},
4620          MATR_ELEM       =SIMP(statut='o',
4621                                typ=(matr_elem_depl_r,matr_elem_depl_c,matr_elem_temp_r,matr_elem_pres_c) ),
4622          NUME_DDL        =SIMP(statut='o',typ=nume_ddl_sdaster),
4623          CHAR_CINE       =SIMP(statut='f',typ=(char_cine_meca,char_cine_ther,char_cine_acou) ),
4624          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
4625 )  ;
4626 #& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETTE 
4627 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4628 # ======================================================================
4629 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4630 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4631 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4632 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4633 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4634 #
4635 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4636 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4637 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4638 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4639 #
4640 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4641 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4642 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4643 # ======================================================================
4644 # RESPONSABLE VABHHTS J.PELLET
4645
4646 ASSE_VECTEUR=OPER(nom="ASSE_VECTEUR",op=13,sd_prod=cham_no_sdaster,
4647                   fr="Construire un champ aux noeuds par assemblage de vecteurs élémentaires",reentrant='n',
4648             UIinfo={"groupes":("Matrices/vecteurs",)},
4649          VECT_ELEM       =SIMP(statut='o',typ=vect_elem,max='**'),
4650          NUME_DDL        =SIMP(statut='o',typ=nume_ddl_sdaster ),
4651          INFO            =SIMP(statut='f',typ='I',into=(1,2,) ),
4652 )  ;
4653 #& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETTE 
4654 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4655 # ======================================================================
4656 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4657 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4658 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4659 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4660 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4661 #
4662 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4663 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4664 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4665 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4666 #
4667 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4668 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4669 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4670 # ======================================================================
4671 ASSE_VECT_GENE=OPER(nom="ASSE_VECT_GENE",op= 140,sd_prod=vect_asse_gene,
4672                     fr="Projection des chargements sur la base modale d'une sous structure",
4673                     reentrant='n',
4674             UIinfo={"groupes":("Matrices/vecteurs",)},
4675          NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
4676          METHODE          =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("CLASSIQUE","INITIAL") ),
4677          b_nume     =BLOC(condition = "METHODE == 'CLASSIQUE'",
4678              CHAR_SOUS_STRUC =FACT(statut='o',max='**',
4679              SOUS_STRUC      =SIMP(statut='o',typ='TXM' ),
4680              VECT_ASSE       =SIMP(statut='o',typ=cham_no_sdaster ),
4681            ),
4682          ),
4683 )  ;
4684 #& MODIF COMMANDE  DATE 03/01/2006   AUTEUR REZETTE C.REZETTE 
4685 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4686 # ======================================================================
4687 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4688 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4689 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4690 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4691 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4692 #
4693 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4694 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4695 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4696 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4697 #
4698 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4699 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4700 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4701 # ======================================================================
4702 CALC_AMOR_MODAL=OPER(nom="CALC_AMOR_MODAL",op= 172,sd_prod=listr8_sdaster,
4703                      fr="Création d'une liste d'amortissements modaux calculés selon la règle du RCC-G",
4704                      reentrant='n',
4705             UIinfo={"groupes":("Résolution",)},
4706          ENER_SOL        =FACT(statut='o',
4707            regles=(UN_PARMI('GROUP_NO_RADIER','GROUP_MA_RADIER'),
4708                    PRESENT_ABSENT('COEF_GROUP','FONC_GROUP'),
4709 #  Peut-on remplacer les deux règles suivantes par un ENSEMBLE_('KRX','KRY','KRZ')
4710                    PRESENT_PRESENT('KRX','KRY'),
4711                    PRESENT_PRESENT('KRX','KRZ'),
4712                    PRESENT_ABSENT('COOR_CENTRE','NOEUD_CENTRE'),
4713                    PRESENT_ABSENT('GROUP_NO_CENTRE','NOEUD_CENTRE'),
4714                    PRESENT_ABSENT('GROUP_NO_CENTRE','COOR_CENTRE'),),
4715            METHODE         =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","RIGI_PARASOL") ),
4716            MODE_MECA       =SIMP(statut='o',typ=mode_meca ),
4717            GROUP_NO_RADIER =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4718            GROUP_MA_RADIER =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4719            FONC_GROUP      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
4720            COEF_GROUP      =SIMP(statut='f',typ='R',max='**'),
4721            KX              =SIMP(statut='o',typ='R' ),
4722            KY              =SIMP(statut='o',typ='R' ),
4723            KZ              =SIMP(statut='o',typ='R' ),
4724            KRX             =SIMP(statut='f',typ='R' ),
4725            KRY             =SIMP(statut='f',typ='R' ),
4726            KRZ             =SIMP(statut='f',typ='R' ),
4727            GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
4728            NOEUD_CENTRE    =SIMP(statut='f',typ=no),
4729            COOR_CENTRE     =SIMP(statut='f',typ='R',max=3),
4730          ),
4731          AMOR_INTERNE    =FACT(statut='o',
4732            ENER_POT        =SIMP(statut='o',typ=table_sdaster ),
4733            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
4734            AMOR_REDUIT     =SIMP(statut='o',typ='R',max='**'),
4735          ),
4736          AMOR_SOL        =FACT(statut='o',
4737            AMOR_REDUIT     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
4738            FONC_AMOR_GEO   =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ),
4739            HOMOGENE        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
4740            SEUIL           =SIMP(statut='f',typ='R',defaut= 0.3 ),
4741          ),
4742 )  ;
4743 #& MODIF COMMANDE  DATE 16/05/2006   AUTEUR REZETTE C.REZETTE 
4744 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4745 # ======================================================================
4746 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4747 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4748 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4749 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4750 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4751 #
4752 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4753 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4754 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4755 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4756 #
4757 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4758 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4759 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4760 # ======================================================================
4761 # RESPONSABLE JMBHH01 J.M.PROIX
4762
4763 CALC_CHAM_ELEM=OPER(nom="CALC_CHAM_ELEM",op=38,sd_prod=cham_elem,
4764                     fr="Calculer un champ élémentaire en thermique et en accoustique à partir de champs déjà calculés",
4765                     reentrant='n',
4766             UIinfo={"groupes":("Post traitements",)},
4767          MODELE          =SIMP(statut='o',typ=modele_sdaster),
4768          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
4769          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
4770
4771          regles=(EXCLUS('TOUT','GROUP_MA',),EXCLUS('TOUT','MAILLE',),),
4772          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
4773          GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4774          MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
4775
4776 #
4777 #
4778 #  introduire un mot cle de type modelisation : mécanique,thermique,...
4779 #
4780
4781          OPTION          =SIMP(statut='o',typ='TXM',
4782                                into=("FLUX_ELGA_TEMP","FLUX_ELNO_TEMP",
4783                                      "PRES_ELNO_DBEL","PRES_ELNO_REEL","PRES_ELNO_IMAG",
4784                                      "COOR_ELGA"), ),
4785
4786          b_thermique  =BLOC(condition="OPTION in ('FLUX_ELNO_TEMP','FLUX_ELGA_TEMP',)",
4787            TEMP            =SIMP(statut='o',typ=(cham_no_sdaster,)),
4788          ),
4789
4790          b_acoustique  =BLOC(condition="OPTION in ('PRES_ELNO_DBEL','PRES_ELNO_REEL','PRES_ELNO_IMAG',)",
4791            PRES            =SIMP(statut='o',typ=(cham_no_sdaster,)),
4792          ),
4793
4794
4795
4796          EXCIT           =FACT(statut='f',max='**',
4797                regles=(EXCLUS('FONC_MULT','COEF_MULT', ),),
4798                CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou)),
4799                FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
4800                COEF_MULT       =SIMP(statut='f',typ='R'), ),
4801
4802          INST            =SIMP(statut='f',typ='R',defaut= 0.E+0),
4803          ACCE            =SIMP(statut='f',typ=cham_no_sdaster),
4804          NUME_COUCHE     =SIMP(statut='f',typ='I',defaut= 1),
4805          NIVE_COUCHE     =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY") ),
4806          MODE_FOURIER    =SIMP(statut='f',typ='I',defaut= 0 ),
4807          ANGLE           =SIMP(statut='f',typ='I',defaut= 0),
4808 )  ;
4809 #& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETTE 
4810 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4811 # ======================================================================
4812 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4813 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4814 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4815 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4816 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4817 #
4818 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4819 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4820 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4821 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4822 #
4823 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4824 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4825 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4826 # ======================================================================
4827 # RESPONSABLE VABHHTS J.PELLET
4828
4829 CALC_CHAR_CINE=OPER(nom="CALC_CHAR_CINE",op= 102,sd_prod=cham_no_sdaster,
4830                     fr="Calcul des seconds membres associés à des charges cinématiques (conditions aux limites non dualisées)",
4831                     reentrant='n',
4832             UIinfo={"groupes":("Matrices/vecteurs",)},
4833          NUME_DDL        =SIMP(statut='o',typ=nume_ddl_sdaster ),
4834          CHAR_CINE       =SIMP(statut='o',typ=(char_cine_meca,char_cine_ther,char_cine_acou ),validators=NoRepeat(),max='**' ),
4835          INST            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
4836          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
4837 )  ;
4838 #& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETTE 
4839 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4840 # ======================================================================
4841 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4842 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4843 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4844 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4845 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4846 #
4847 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4848 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4849 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4850 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4851 #
4852 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4853 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4854 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4855 # ======================================================================
4856 def calc_char_seisme_prod(MATR_MASS,**args ):
4857   if AsType(MATR_MASS) == matr_asse_depl_r : return cham_no_sdaster
4858   raise AsException("type de concept resultat non prevu")
4859
4860 CALC_CHAR_SEISME=OPER(nom="CALC_CHAR_SEISME",op=  92,sd_prod=calc_char_seisme_prod,
4861                       reentrant='n',fr="Calcul du chargement sismique",
4862             UIinfo={"groupes":("Matrices/vecteurs",)},
4863          regles=(UN_PARMI('MONO_APPUI','MODE_STAT' ),),
4864          MATR_MASS       =SIMP(statut='o',typ=matr_asse_depl_r,fr="Matrice de masse" ),
4865          DIRECTION       =SIMP(statut='o',typ='R',max=6,fr="Directions du séisme imposé"),
4866          MONO_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),         
4867          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,) ),
4868          b_mode_stat     =BLOC ( condition = "MODE_STAT != None",
4869            regles=(UN_PARMI('NOEUD','GROUP_NO' ),),
4870            NOEUD           =SIMP(statut='f',typ=no,validators=NoRepeat(),max='**'),
4871            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4872          ),
4873          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
4874 )  ;
4875 #& MODIF COMMANDE  DATE 09/05/2007   AUTEUR VIVAN L.VIVAN 
4876 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4877 # ======================================================================
4878 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
4879 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4880 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4881 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
4882 # (AT YOUR OPTION) ANY LATER VERSION.                                 
4883 #
4884 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
4885 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
4886 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
4887 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
4888 #
4889 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
4890 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
4891 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
4892 # ======================================================================
4893 # RESPONSABLE JMBHH01 J.M.PROIX
4894 def calc_elem_prod(RESULTAT,**args):
4895    if AsType(RESULTAT) != None : return AsType(RESULTAT)
4896    raise AsException("type de concept resultat non prevu")
4897
4898 CALC_ELEM=OPER(nom="CALC_ELEM",op=58,sd_prod=calc_elem_prod,reentrant='f',
4899             UIinfo={"groupes":("Post traitements",)},
4900             fr="Compléter ou créer un résultat en calculant des champs par éléments (contraintes, déformations,... )",
4901      MODELE          =SIMP(statut='f',typ=modele_sdaster),
4902      CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
4903      CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
4904
4905      RESULTAT        =SIMP(statut='o',typ=resultat_sdaster,
4906                                       fr="Résultat d'une commande globale"),
4907                                            
4908      regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
4909                     'NOEUD_CMP','LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS'),
4910              CONCEPT_SENSIBLE("SEPARE"),
4911              DERIVABLE('RESULTAT'),),
4912      TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
4913      NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
4914      NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
4915      NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
4916      NOM_CAS         =SIMP(statut='f',typ='TXM' ),
4917
4918      INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
4919      FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
4920      LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
4921      LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
4922      PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
4923      CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
4924      LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
4925      
4926      TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
4927      GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
4928                            fr="le calcul ne sera effectué que sur ces mailles là"),
4929      MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**',
4930                            fr="le calcul ne sera effectué que sur ces mailles là"),
4931
4932 #    definition d'un repere local 
4933
4934      REPE_COQUE      =FACT(statut='f',max='**',
4935                            fr="définiton du lieu de post-traitement",
4936                            regles=EXCLUS('ANGL_REP','VECTEUR'),
4937           TOUT         =SIMP(statut='f',typ='TXM',into=("OUI",) ),
4938           GROUP_MA     =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',),
4939           MAILLE       =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**',),
4940
4941           NUME_COUCHE  =SIMP(statut='f',typ='I',defaut= 1,
4942                              fr="numero de couche dans l'épaisseur de la coque ou du tuyau" ),
4943           NIVE_COUCHE  =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY"),
4944                              fr="position dans l'épaisseur de la coque, ou de la couche" ),
4945
4946           ANGLE        =SIMP(statut='f',typ='I',defaut= 0,
4947                              fr="angle de dépouillement pour les tuyaux, en degres à partir de la génératrice" ),
4948
4949           PLAN         =SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL"),
4950                                fr="Plan de calcul pour les plaques excentrées" ),
4951
4952           ANGL_REP     =SIMP(statut='f',typ='R',min=2,max=2,
4953                            fr="définition du repere de post-traitement, par défaut ANGL_REP=(0.,0.)"),
4954           VECTEUR      =SIMP(statut='f',typ='R',min=3,max=3,
4955                            fr="définition du repere de post-traitement, par défaut VECTEUR=(1.,0.,0.)"),
4956                             ),
4957
4958 #    options pour des resultats lineaires 
4959
4960      b_lineaire =BLOC( condition = "AsType(RESULTAT) in (evol_elas,dyna_trans,dyna_harmo,mode_meca,\
4961                                                                mode_stat,mode_stat_depl,mode_stat_acce,mode_stat_forc,\
4962                                                                mult_elas,fourier_elas,base_modale,mode_flamb)",
4963                                                                fr="options mecaniques lineaires",
4964           TYPE_OPTION =SIMP(statut='f',typ='TXM',defaut='TOUTES',fr="type d'options mecaniques lineaires",
4965                            into=("SIGM_MASSIF","SIGM_STRUCT","EPSI","ENER","CRIT","DERIVEES",
4966                                  "INDI_ERREUR","AUTRES","TOUTES"),
4967                            ),
4968           b_toutes=BLOC( condition = "TYPE_OPTION == 'TOUTES'",fr="toutes les options evol elas",
4969                OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut="SIEF_ELNO_ELGA",
4970                               #  contraintes
4971                            into=( "SIEF_ELNO_ELGA","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL",
4972                                   "SIPO_ELNO_DEPL","EFGE_ELNO_DEPL","EFGE_ELNO_CART","SIGM_ELNO_CART",
4973                                   "SIGM_ELNO_SIEF","SIPO_ELNO_SIEF","SIGM_ELNO_TUYO","ARCO_ELNO_SIGM",
4974                               # déformations
4975                                  "EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPSG_ELGA_DEPL","EPSG_ELNO_DEPL",
4976                                  "EPME_ELNO_DEPL","EPME_ELGA_DEPL","DEGE_ELNO_DEPL","EPSI_ELNO_TUYO",
4977                                  "EPVC_ELNO","EPVC_ELGA",
4978                               #  ENER    
4979                                  "EPOT_ELEM_DEPL","ECIN_ELEM_DEPL","ENEL_ELGA","ENEL_ELNO_ELGA",
4980                                  "ETOT_ELGA","ETOT_ELNO_ELGA","ETOT_ELEM",
4981                               #  estimateurs erreur 
4982                                  "SIGM_NOZ1_ELGA","ERZ1_ELEM_SIGM","SIGM_NOZ2_ELGA","ERZ2_ELEM_SIGM",
4983                                  "SIRE_ELNO_DEPL","ERRE_ELEM_SIGM","ERRE_ELNO_ELEM",
4984                                  "QIRE_ELEM_SIGM","QIRE_ELNO_ELEM","QIZ1_ELEM_SIGM","QIZ2_ELEM_SIGM",
4985                                  "SING_ELEM","SING_ELNO_ELEM",
4986                               #  CRIT    
4987                                  "EQUI_ELNO_SIGM","EQUI_ELGA_SIGM","CRIT_ELNO_RUPT",
4988                                  "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI","EQUI_ELNO_EPME","EQUI_ELGA_EPME",
4989                                  "ENDO_ELGA","ENDO_ELNO_ELGA",
4990                                  "ENDO_ELNO_SIGA","ENDO_ELNO_SINO","SIEQ_ELNO_TUYO","EPEQ_ELNO_TUYO",
4991                               #  derivees    
4992                                  "DEUL_ELGA_DEPL","DEDE_ELNO_DLDE","DESI_ELNO_DLSI",
4993                               #  autres      
4994                                  "VALE_NCOU_MAXI","PRES_DBEL_DEPL"),),
4995
4996                NOM_CHAM  =SIMP(statut='f',typ='TXM',fr="nom du champ pour VALE_NCOU_MAXI", ),
4997                NOM_CMP   =SIMP(statut='f',typ='TXM',fr="nom de la composante pour VALE_NCOU_MAXI",  ),
4998               
4999                 b_erre_qi =BLOC(condition = "OPTION in ('QIRE_ELEM_SIGM','QIZ1_ELEM_SIGM','QIZ2_ELEM_SIGM') or \
5000                                         (type(OPTION)==type(()) and 'QIRE_ELEM_SIGM' in OPTION) or \
5001                                         (type(OPTION)==type(()) and 'QIZ1_ELEM_SIGM' in OPTION) or \
5002                                         (type(OPTION)==type(()) and 'QIZ2_ELEM_SIGM' in OPTION)",
5003                     RESU_DUAL=SIMP(statut='o',typ=evol_elas,fr="resultat du probleme dual"),),
5004
5005                b_sing =BLOC(condition= "OPTION == 'SING_ELEM' or \
5006                                (type(OPTION)==type(()) and  'SING_ELEM' in OPTION)",
5007                     PREC_ERR=SIMP(statut='o',typ='R',val_min= 0.,val_max= 1.,
5008                                   fr="precision demandee pour calculer la carte de taille des elements"),),   
5009                
5010                EXCIT           =FACT(statut='f',max='**',
5011                                      fr="Charges contenant les températures, les efforts répartis pour les poutres...",
5012                                      regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),),
5013                     CHARGE          =SIMP(statut='o',typ=char_meca ),
5014                     FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
5015                     FONC_MULT_C     =SIMP(statut='f',typ=fonction_c),
5016                     COEF_MULT       =SIMP(statut='f',typ='R'),
5017                     COEF_MULT_C     =SIMP(statut='f',typ='C'),
5018                     PHAS_DEG        =SIMP(statut='f',typ='R'),
5019                     PUIS_PULS       =SIMP(statut='f',typ='I'),
5020                     TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),),
5021                 
5022                                 
5023                             ),
5024 #             fin bloc b_toutes
5025
5026           b_sigm_massif =BLOC( condition = "TYPE_OPTION == 'SIGM_MASSIF'",
5027                                      fr="options de contraintes elasticite 2D et 3D",
5028               OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut='SIEF_ELNO_ELGA',
5029                             fr="option de calcul des contraintes",
5030                            into=( "SIEF_ELNO_ELGA","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL",),),
5031                            
5032                     b_charge =BLOC( condition = "OPTION in ('SIGM_ELNO_DEPL','SIEF_ELGA_DEPL',) or \
5033                                       (type(OPTION)==type(()) and  'SIGM_ELNO_DEPL' in OPTION ) or \
5034                                       (type(OPTION)==type(()) and  'SIEF_ELGA_DEPL' in OPTION ) ",
5035                                       fr="charge contenant les temperatures ou autre charge",
5036                          EXCIT           =FACT(statut='f',max='**',
5037                          CHARGE          =SIMP(statut='o',typ=char_meca ),),
5038                                     ),
5039                                   ),
5040                                   
5041           b_sigm_struct =BLOC( condition = "TYPE_OPTION == 'SIGM_STRUCT'",
5042                                       fr="options de contraintes elasticite poutres, coques, tuyaux",
5043                OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut='SIEF_ELNO_ELGA',
5044                             fr="option de calcul des contraintes ou efforts generalises",
5045                             into=( "SIEF_ELNO_ELGA","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL","SIGM_ELNO_TUYO",
5046                                    "SIPO_ELNO_DEPL","EFGE_ELNO_DEPL","EFGE_ELNO_CART","SIGM_ELNO_CART",
5047                                    "SIGM_ELNO_SIEF","SIPO_ELNO_SIEF"),),
5048                            
5049                b_charge =BLOC( condition = "OPTION in ('SIGM_ELNO_DEPL','SIEF_ELGA_DEPL',\
5050                                                        'SIPO_ELNO_DEPL','EFGE_ELNO_DEPL',) or \
5051                                             (type(OPTION)==type(()) and  'SIGM_ELNO_DEPL' in OPTION ) or \
5052                                             (type(OPTION)==type(()) and  'SIEF_ELGA_DEPL' in OPTION ) or \
5053                                             (type(OPTION)==type(()) and  'SIPO_ELNO_DEPL' in OPTION ) or \
5054                                             (type(OPTION)==type(()) and  'EFGE_ELNO_DEPL' in OPTION ) ",
5055                                             fr="charge contenant les temperatures ou les efforts répartis (poutres) ou autre",
5056                     EXCIT           =FACT(statut='f',max='**',
5057                                           regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),),
5058                          CHARGE          =SIMP(statut='f',typ=char_meca ),
5059                          FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
5060                          FONC_MULT_C     =SIMP(statut='f',typ=fonction_c),
5061                          COEF_MULT       =SIMP(statut='f',typ='R'),
5062                          COEF_MULT_C     =SIMP(statut='f',typ='C'),
5063                          PHAS_DEG        =SIMP(statut='f',typ='R'),
5064                          PUIS_PULS       =SIMP(statut='f',typ='I'),
5065                          TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),),
5066                              ),
5067                           
5068                                  
5069                             ),
5070 #          fin bloc contraintes struct
5071
5072           b_epsi         =BLOC( condition = "TYPE_OPTION=='EPSI'",
5073                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
5074                            into=("EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPME_ELNO_DEPL","EPME_ELGA_DEPL",
5075                                  "DEGE_ELNO_DEPL","EPSI_ELNO_TUYO","EPVC_ELNO","EPVC_ELGA",),
5076                                  ),
5077 b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_ELGA_DEPL','EPSI_ELNO_DEPL','EPSI_ELNO_TUYO' ) or \
5078                                       (type(OPTION)==type(()) and  'EPSI_ELNO_DEPL' in OPTION ) or \
5079                                       (type(OPTION)==type(()) and  'EPSI_ELNO_TUYO' in OPTION ) or \
5080                                       (type(OPTION)==type(()) and  'EPSI_ELGA_DEPL' in OPTION ) or \
5081                                       (type(OPTION)==type(()) and  'EPME_ELNO_DEPL' in OPTION ) or \
5082                                       (type(OPTION)==type(()) and  'EPME_ELGA_DEPL' in OPTION ) ",
5083                                       fr="charge contenant les temperatures",
5084                     EXCIT           =FACT(statut='f',max='**',
5085                          CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
5086                                  ),
5087                                        ),
5088           b_ener         =BLOC( condition = "TYPE_OPTION=='ENER'",
5089                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
5090                            into=("EPOT_ELEM_DEPL","ECIN_ELEM_DEPL","ENEL_ELGA","ENEL_ELNO_ELGA",
5091                                  "ETOT_ELGA","ETOT_ELNO_ELGA","ETOT_ELEM",),
5092                                  ),
5093                b_charge =BLOC( condition = "OPTION in ('EPOT_ELEM_DEPL','ECIN_ELEM_DEPL','ENEL_ELGA','ENEL_ELNO_ELGA',) or \
5094                                       (type(OPTION)==type(()) and  'EPOT_ELEM_DEPL' in OPTION ) or \
5095                                       (type(OPTION)==type(()) and  'ENEL_ELGA' in OPTION ) or \
5096                                       (type(OPTION)==type(()) and  'ENEL_ELNO_ELGA' in OPTION ) or \
5097                                       (type(OPTION)==type(()) and  'ECIN_ELEM_DEPL' in OPTION ) ",
5098                                       fr="charge contenant les temperatures",
5099                     EXCIT           =FACT(statut='f',max='**',
5100                          CHARGE          =SIMP(statut='f',typ=(char_meca,char_ther,char_acou) ),),
5101                               ),
5102                                  ),
5103                                  
5104           b_crit         =BLOC( condition = "TYPE_OPTION=='CRIT'",
5105                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
5106                            into=("EQUI_ELNO_SIGM","EQUI_ELGA_SIGM",
5107                                  "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI","EQUI_ELNO_EPME","EQUI_ELGA_EPME",
5108                                  "ENDO_ELGA","ENDO_ELNO_ELGA",
5109                                  "ENDO_ELNO_SIGA","ENDO_ELNO_SINO","CRIT_ELNO_RUPT","SIEQ_ELNO_TUYO","EPEQ_ELNO_TUYO",
5110                                  ) ),
5111                 EXCIT           =FACT(statut='f',max='**',fr="charge contenant les temperatures",
5112                      CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
5113                                  ),
5114                                  
5115           b_derivees         =BLOC( condition = "TYPE_OPTION=='DERIVEES'",
5116                   OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
5117                            into=("DEUL_ELGA_DEPL","DEDE_ELNO_DLDE","DESI_ELNO_DLSI",
5118                                  ) ),),
5119
5120           b_autres         =BLOC( condition = "TYPE_OPTION=='AUTRES'",
5121                   OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
5122                            into=("VALE_NCOU_MAXI","PRES_DBEL_DEPL",
5123                                  ) ),
5124                b_maxi    =BLOC( condition = "OPTION=='VALE_NCOU_MAXI' or \
5125                                 (type(OPTION)==type(()) and 'VALE_NCOU_MAXI' in OPTION)",
5126                     NOM_CHAM  =SIMP(statut='o',typ='TXM',fr="Nom du champ pour VALE_NCOU_MAXI" ),
5127                     NOM_CMP   =SIMP(statut='o',typ='TXM',fr="Nom de la composante pour VALE_NCOU_MAXI"),),
5128                                  ),
5129
5130           b_indi_erreur        =BLOC( condition = "TYPE_OPTION=='INDI_ERREUR'",
5131                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut="ERRE_ELEM_SIGM",
5132                            into=("SIGM_NOZ1_ELGA","ERZ1_ELEM_SIGM","SIGM_NOZ2_ELGA","ERZ2_ELEM_SIGM",
5133                                  "SIRE_ELNO_DEPL","ERRE_ELEM_SIGM","ERRE_ELNO_ELEM",
5134                                  "QIRE_ELEM_SIGM","QIRE_ELNO_ELEM","QIZ1_ELEM_SIGM","QIZ2_ELEM_SIGM",
5135                                  "SING_ELEM","SING_ELNO_ELEM",
5136                                  )),
5137                
5138                b_erre_qi =BLOC(condition = "OPTION in ('QIRE_ELEM_SIGM','QIZ1_ELEM_SIGM','QIZ2_ELEM_SIGM') or \
5139                                         (type(OPTION)==type(()) and 'QIRE_ELEM_SIGM' in OPTION) or \
5140                                         (type(OPTION)==type(()) and 'QIZ1_ELEM_SIGM' in OPTION) or \
5141                                         (type(OPTION)==type(()) and 'QIZ2_ELEM_SIGM' in OPTION)",
5142                     RESU_DUAL=SIMP(statut='o',typ=evol_elas,fr="resultat du probleme dual"),),
5143
5144                b_sing =BLOC(condition= "OPTION == 'SING_ELEM' or \
5145                                (type(OPTION)==type(()) and  'SING_ELEM' in OPTION)",
5146                     PREC_ERR=SIMP(statut='o',typ='R',val_min= 0.,val_max=1.,
5147                                   fr="precision demandee pour calculer la carte de taille des elements" ),),     
5148
5149                EXCIT           =FACT(statut='f',max='**',fr="charge contenant les temperatures",
5150                      CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
5151                                  ),
5152                                  ),
5153 #    fin bloc lineaire                                
5154                             
5155                                  
5156 #    statique ou dynamique non lineaire : evol_noli                                
5157      b_noli          =BLOC( condition = "AsType(RESULTAT) == evol_noli",fr="options mecaniques non lineaires",
5158           TYPE_OPTION =SIMP(statut='f',typ='TXM',defaut='TOUTES',fr="type d'options mecaniques non lineaires",
5159                            into=("SIGM_MASSIF","SIGM_STRUCT","EPSI","ENER","CRIT",
5160                                  "VARI","INDI_ERREUR","TOUTES","AUTRES"),
5161                           ),
5162           b_toutes =BLOC( condition = "TYPE_OPTION == 'TOUTES'",fr="toutes les options evol elas",
5163                OPTION      =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
5164                            into=( "SIEF_ELNO_ELGA",
5165                                   "SIGM_ELNO_TUYO","SIGM_ELNO_COQU","ARCO_ELNO_SIGM",
5166                                   "SIGM_ELNO_SIEF","SIPO_ELNO_SIEF","EFGE_ELNO_CART",
5167                                   # EPSI
5168                                   "EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPSG_ELNO_DEPL","EPSG_ELGA_DEPL",
5169                                  "EPME_ELNO_DEPL","EPME_ELGA_DEPL","EPMG_ELNO_DEPL","EPMG_ELGA_DEPL",
5170                                  "DEGE_ELNO_DEPL","EPSI_ELNO_TUYO",
5171                                  "EPSP_ELNO","EPSP_ELGA",
5172                                  "EPFD_ELNO","EPFD_ELGA","EPVC_ELNO","EPVC_ELGA",
5173                                  "EPFP_ELNO","EPFP_ELGA", 
5174                                  "VARI_ELNO_ELGA","VARI_ELNO_TUYO","VARI_ELNO_COQU","CRIT_ELNO_RUPT",
5175                                  "EXTR_ELGA_VARI","EXTR_ELNO_VARI",
5176                                  # CRIT
5177                                  "EQUI_ELNO_SIGM","EQUI_ELGA_SIGM","SIEQ_ELNO_TUYO","EPEQ_ELNO_TUYO",
5178                                  "ERRE_ELEM_SIGM","ERRE_ELNO_ELEM","ERZ1_ELEM_SIGM","ERZ2_ELEM_SIGM",
5179                                  "QIRE_ELEM_SIGM","QIRE_ELNO_ELEM","QIZ1_ELEM_SIGM","QIZ2_ELEM_SIGM",
5180                                  "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI","EQUI_ELNO_EPME","EQUI_ELGA_EPME",
5181                                  "DCHA_ELNO_SIGM","DCHA_ELGA_SIGM","RADI_ELNO_SIGM","RADI_ELGA_SIGM",
5182                                  "ENDO_ELGA","ENDO_ELNO_ELGA","INDI_LOCA_ELGA","SING_ELEM",
5183                                  "SING_ELNO_ELEM","ENDO_ELNO_SIGA","ENDO_ELNO_SINO",
5184                                  "PMPB_ELNO_SIEF","PMPB_ELGA_SIEF","ENEL_ELGA","ENEL_ELNO_ELGA",
5185                                  "ETOT_ELGA","ETOT_ELNO_ELGA","ETOT_ELEM","VALE_NCOU_MAXI"),
5186                                ),
5187                NORME =SIMP(statut='f',typ='TXM',defaut="VMIS",
5188                                  into=("VMIS","TOTAL","VMIS_CINE","TOTAL_CINE"),
5189                                  fr="Type de norme pour les options RADI_ et DCHA_"),
5190                                  
5191                NOM_CHAM  =SIMP(statut='f',typ='TXM',fr="Nom du champ pour VALE_NCOU_MAXI"),
5192                NOM_CMP   =SIMP(statut='f',typ='TXM',fr="Nom de la composante pour VALE_NCOU_MAXI"),
5193
5194                b_erreur_re=BLOC(condition ="OPTION in ('ERRE_ELEM_SIGM','ERRE_ELNO_ELEM') or \
5195                                           (type(OPTION)==type(()) and 'ERRE_ELEM_SIGM' in OPTION) or \
5196                                           (type(OPTION)==type(()) and 'ERRE_ELNO_ELEM' in OPTION)",
5197                  ERRE_THM   =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON",
5198                                    fr="Indicateur d'erreur spatiale pour les modélisations THM",
5199                                    ang="Spatial error indicators for THM models"),
5200                  b_ERRE_THM=BLOC(condition = "ERRE_THM == 'OUI'",
5201                                regles=(ENSEMBLE('LONGUEUR','PRESSION'),),
5202                    LONGUEUR=SIMP(statut='o',typ='R',val_min=0.0,fr="Longueur caractéristique du problème"),
5203                    PRESSION=SIMP(statut='o',typ='R',val_min=0.0,fr="Pression caractéristique du problème"),
5204                    TEMPERATURE=SIMP(statut='f',typ='R',val_min=0.0,fr="Température caractéristique du problème"),),),
5205
5206                b_erre_qi =BLOC(condition = "OPTION in ('QIRE_ELEM_SIGM','QIZ1_ELEM_SIGM','QIZ2_ELEM_SIGM') or \
5207                                         (type(OPTION)==type(()) and 'QIRE_ELEM_SIGM' in OPTION) or \
5208                                         (type(OPTION)==type(()) and 'QIZ1_ELEM_SIGM' in OPTION) or \
5209                                         (type(OPTION)==type(()) and 'QIZ2_ELEM_SIGM' in OPTION)",
5210                     RESU_DUAL=SIMP(statut='o',typ=(evol_elas,evol_noli),fr="resultat du probleme dual"),),
5211
5212                b_sing =BLOC(condition= "OPTION == 'SING_ELEM' or \
5213                                (type(OPTION)==type(()) and  'SING_ELEM' in OPTION)",
5214                     PREC_ERR=SIMP(statut='o',typ='R',val_min= 0.,val_max=1.,
5215                                   fr="precision demandee pour calculer la carte de taille des elements" ),),     
5216
5217                
5218                b_extr = BLOC( condition = "OPTION in ('EXTR_ELNO_VARI','EXTR_ELGA_VARI')",
5219                              NOM_VARI =SIMP(statut='o',typ='TXM',min= 1,max=1,fr="nom de la variable à extraire",
5220                          into=("DPORO","DRHOLQ","DPVP","SATLIQ","EVP","IND_ETA","D","IND_END","TEMP_MAX","GAMP","PCR",
5221                                "SEUIL_HYD","IND_HYD","PCOHE","COMP_ROC","SEUIL_ISO","ANG_DEV","X11","X22","X33","X12","X13","X23",
5222                                "DIST_DEV","DEV_SUR_CRIT","DIST_ISO","NB_ITER","ARRET","NB_REDE","SIGNE",
5223                                "RDEV_1","RDEV_2","RDEV_3","RISO","EPSIVPLA","IND_1","IND_2","IND_3","IND_4",),),
5224                             ),
5225                EXCIT           =FACT(statut='f',max='**',
5226                                       regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),),
5227                     CHARGE          =SIMP(statut='o',typ=char_meca ),
5228                     FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
5229                     FONC_MULT_C     =SIMP(statut='f',typ=fonction_c),
5230                     COEF_MULT       =SIMP(statut='f',typ='R'),
5231                     COEF_MULT_C     =SIMP(statut='f',typ='C'),
5232                     PHAS_DEG        =SIMP(statut='f',typ='R'),
5233                     PUIS_PULS       =SIMP(statut='f',typ='I'),
5234                     TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),),
5235                          ),
5236                          
5237           b_sigm_massif =BLOC( condition = "TYPE_OPTION == 'SIGM_MASSIF'",
5238                                       fr="options de contraintes non lin 2D et 3D",
5239                OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
5240                               #  contraintes
5241                            into=( "SIEF_ELNO_ELGA",),),
5242                             ),
5243                             
5244           b_sigm_struct =BLOC( condition = "TYPE_OPTION == 'SIGM_STRUCT'",
5245                                        fr="options de contraintes non lin poutres, coques",
5246                OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
5247                               #  contraintes
5248                            into=( "SIEF_ELNO_ELGA","EFGE_ELNO_CART","SIGM_ELNO_TUYO","SIGM_ELNO_COQU",
5249                            "SIGM_ELNO_SIEF","SIPO_ELNO_SIEF",),),
5250                              ),
5251                              
5252           b_epsi         =BLOC( condition = "TYPE_OPTION=='EPSI'",
5253                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
5254                            into=( "EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPSG_ELNO_DEPL","EPSG_ELGA_DEPL",
5255                                  "EPME_ELNO_DEPL","EPME_ELGA_DEPL","EPMG_ELNO_DEPL","EPMG_ELGA_DEPL",
5256                                  "EPSP_ELNO","EPSP_ELGA","DEGE_ELNO_DEPL","EPVC_ELNO","EPVC_ELGA",
5257                                  "EPFD_ELNO","EPFD_ELGA","EPFP_ELNO","EPFP_ELGA"),
5258                                  ),
5259                EXCIT           =FACT(statut='f',max='**',fr="charge contenant les temperatures",
5260                     CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
5261                                  ),
5262          b_epstuyo       =BLOC( condition = "OPTION == 'EPSI_ELNO_TUYO' or \
5263                                   (type(OPTION)==type(()) and  'EPSI_ELNO_TUYO' in OPTION) ",
5264               EXCIT           =FACT(statut='f',max='**',fr="charge contenant les temperatures",
5265                     CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
5266                                ),
5267                                  
5268           b_vari         =BLOC( condition = "TYPE_OPTION=='VARI'",
5269                                        fr="Calcul et extraction des variables internes",
5270                    OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
5271                                    into=("VARI_ELNO_ELGA","VARI_ELNO_TUYO","VARI_ELNO_COQU",
5272                                          "EXTR_ELGA_VARI","EXTR_ELNO_VARI"),
5273                                  ),
5274           b_extr         =BLOC( condition = "OPTION in ('EXTR_ELNO_VARI','EXTR_ELGA_VARI')",
5275                    NOM_VARI =SIMP(statut='o',typ='TXM',min= 1,max=1,fr="nom de la variable à extraire",
5276                          into=("DPORO","DRHOLQ","DPVP","SATLIQ","EVP","IND_ETA","D","IND_END","TEMP_MAX","GAMP","PCR",
5277                                "SEUIL_HYD","IND_HYD","PCOHE","COMP_ROC","SEUIL_ISO","ANG_DEV","X11","X22","X33","X12","X13","X23",
5278                                "DIST_DEV","DEV_SUR_CRIT","DIST_ISO","NB_ITER","ARRET","NB_REDE","SIGNE",
5279                                "RDEV_1","RDEV_2","RDEV_3","RISO","EPSIVPLA","IND_1","IND_2","IND_3","IND_4"),),
5280                             ),
5281                            ),
5282                               
5283           b_ener         =BLOC( condition = "TYPE_OPTION=='ENER'",
5284                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
5285                            into=("ETOT_ELGA","ETOT_ELNO_ELGA","ETOT_ELEM","ENEL_ELGA","ENEL_ELNO_ELGA",),
5286                                  ),
5287                EXCIT           =FACT(statut='f',max='**',fr="charge contenant les temperatures",
5288                     CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
5289                                  ),
5290                                  
5291           b_crit         =BLOC( condition = "TYPE_OPTION=='CRIT'",
5292                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
5293                            into=("EQUI_ELNO_SIGM","EQUI_ELGA_SIGM",
5294                                  "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI","EQUI_ELNO_EPME","EQUI_ELGA_EPME",
5295                                  "ENDO_ELNO_SIGA","ENDO_ELNO_SINO","CRIT_ELNO_RUPT",
5296                                  "ENDO_ELGA","ENDO_ELNO_ELGA",
5297                                  "PMPB_ELNO_SIEF","PMPB_ELGA_SIEF","SIEQ_ELNO_TUYO","EPEQ_ELNO_TUYO",
5298                                  ) ),
5299                                  ),
5300                                  
5301           b_autres         =BLOC( condition = "TYPE_OPTION=='AUTRES'",
5302                   OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
5303                            into=("VALE_NCOU_MAXI",) ),
5304                b_maxi    =BLOC( condition = "OPTION=='VALE_NCOU_MAXI' or \
5305                                 (type(OPTION)==type(()) and 'VALE_NCOU_MAXI' in OPTION)",
5306                     NOM_CHAM  =SIMP(statut='o',typ='TXM',fr="Nom du champ pour VALE_NCOU_MAXI" ),
5307                     NOM_CMP   =SIMP(statut='o',typ='TXM',fr="Nom de la composante pour VALE_NCOU_MAXI"),),
5308                                  ),
5309
5310           b_indi_erreur         =BLOC( condition = "TYPE_OPTION=='INDI_ERREUR'",
5311                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut="ERRE_ELEM_SIGM",
5312                            into=("ERRE_ELEM_SIGM","ERRE_ELNO_ELEM","ERZ1_ELEM_SIGM","ERZ2_ELEM_SIGM",
5313                                  "DCHA_ELNO_SIGM","DCHA_ELGA_SIGM","RADI_ELNO_SIGM","RADI_ELGA_SIGM",
5314                                  "QIRE_ELEM_SIGM","QIRE_ELNO_ELEM","QIZ1_ELEM_SIGM","QIZ2_ELEM_SIGM",
5315                                  "SING_ELEM","SING_ELNO_ELEM",) ),
5316
5317                b_erreur_re=BLOC(condition ="OPTION in ('ERRE_ELEM_SIGM','ERRE_ELNO_ELEM') or \
5318                                           (type(OPTION)==type(()) and 'ERRE_ELEM_SIGM' in OPTION) or \
5319                                           (type(OPTION)==type(()) and 'ERRE_ELNO_ELEM' in OPTION)",
5320                  ERRE_THM   =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON",
5321                                    fr="Indicateur d'erreur spatiale pour les modélisations THM",
5322                                    ang="Spatial error indicators for THM models"),
5323                  b_ERRE_THM=BLOC(condition = "ERRE_THM == 'OUI'",
5324                                regles=(ENSEMBLE('LONGUEUR','PRESSION'),),
5325                    LONGUEUR=SIMP(statut='o',typ='R',val_min=0.0,fr="Longueur caractéristique du problème"),
5326                    PRESSION=SIMP(statut='o',typ='R',val_min=0.0,fr="Pression caractéristique du problème"),
5327                    TEMPERATURE=SIMP(statut='f',typ='R',val_min=0.0,fr="Température caractéristique du problème"),),),
5328
5329                b_erre_qi =BLOC(condition = "OPTION in ('QIRE_ELEM_SIGM','QIZ1_ELEM_SIGM','QIZ2_ELEM_SIGM') or \
5330                                         (type(OPTION)==type(()) and 'QIRE_ELEM_SIGM' in OPTION) or \
5331                                         (type(OPTION)==type(()) and 'QIZ1_ELEM_SIGM' in OPTION) or \
5332                                         (type(OPTION)==type(()) and 'QIZ2_ELEM_SIGM' in OPTION)",
5333                 RESU_DUAL    =SIMP(statut='o',typ=(evol_elas,evol_noli),fr="resultat du probleme dual")),
5334
5335                b_sing =BLOC(condition= "OPTION == 'SING_ELEM' or \
5336                                (type(OPTION)==type(()) and  'SING_ELEM' in OPTION)",
5337                     PREC_ERR=SIMP(statut='o',typ='R',val_min= 0.,val_max=1.,
5338                                   fr="precision demandee pour calculer la carte de taille des elements" ),), 
5339                
5340                b_indic = BLOC( condition ="OPTION in ('DCHA_ELNO_SIGM','DCHA_ELGA_SIGM','RADI_ELNO_SIGM','RADI_ELGA_SIGM') or\
5341                                             (type(OPTION)==type(()) and 'DCHA_ELNO_SIGM' in OPTION) or\
5342                                             (type(OPTION)==type(()) and 'DCHA_ELGA_SIGM' in OPTION) or\
5343                                             (type(OPTION)==type(()) and 'RADI_ELNO_SIGM' in OPTION) or\
5344                                             (type(OPTION)==type(()) and 'RADI_ELGA_SIGM' in OPTION) ",
5345                     NORME =SIMP(statut='f',typ='TXM',defaut="VMIS",
5346                                  into=("VMIS","TOTAL","VMIS_CINE","TOTAL_CINE") ),
5347                                  ),
5348                                  ),
5349                                  ),
5350 #          fin bloc evol_noli
5351
5352 #           thermique : evol_ther, fourier_ther                                
5353      b_ther          =BLOC( condition = "AsType(RESULTAT) in (evol_ther,fourier_ther,)" ,fr="options thermiques",
5354           OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
5355                            into=("DEUL_ELGA_TEMP","DETE_ELNO_DLTE","FLUX_ELGA_TEMP","FLUX_ELNO_TEMP",
5356                                   "HYDR_ELNO_ELGA","DURT_ELGA_META","DURT_ELNO_META",
5357                                   "SOUR_ELGA_ELEC","ERRE_ELEM_TEMP","ERRE_ELNO_ELEM",),),
5358                EXCIT           =FACT(statut='f',max='**',
5359                     regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),),
5360                     CHARGE          =SIMP(statut='o',typ=char_ther ),
5361                     FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
5362                     FONC_MULT_C     =SIMP(statut='f',typ=fonction_c),
5363                     COEF_MULT       =SIMP(statut='f',typ='R'),
5364                     COEF_MULT_C     =SIMP(statut='f',typ='C'),
5365                     PHAS_DEG        =SIMP(statut='f',typ='R'),
5366                     PUIS_PULS       =SIMP(statut='f',typ='I'),
5367                     TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),
5368                                      ),
5369                                  ),
5370                                  
5371 #    acoustique                                
5372      b_acou          =BLOC( condition = "AsType(RESULTAT) in (acou_harmo,mode_acou,)",fr="options acoustiques",
5373           OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
5374                            into=("PRES_ELNO_DBEL","PRES_ELNO_REEL","PRES_ELNO_IMAG",
5375                                  "INTE_ELNO_ACTI","INTE_ELNO_REAC",
5376                                  ),),
5377           EXCIT           =FACT(statut='f',max='**',
5378                 regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),),
5379                 CHARGE          =SIMP(statut='o',typ=char_acou ),
5380                 FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
5381                 FONC_MULT_C     =SIMP(statut='f',typ=fonction_c),
5382                 COEF_MULT       =SIMP(statut='f',typ='R'),
5383                 COEF_MULT_C     =SIMP(statut='f',typ='C'),
5384                 PHAS_DEG        =SIMP(statut='f',typ='R'),
5385                 PUIS_PULS       =SIMP(statut='f',typ='I'),
5386                 TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),),
5387                                  ),
5388              
5389      SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
5390                            fr="Liste des paramètres de sensibilité.",
5391                            ang="List of sensitivity parameters"),
5392      INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
5393      TITRE           =SIMP(statut='f',typ='TXM',max='**'),
5394 ) ;
5395 #& MODIF COMMANDE  DATE 16/10/2006   AUTEUR JMBHH01 J.M.PROIX 
5396 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5397 # ======================================================================
5398 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5399 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5400 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5401 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5402 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5403 #
5404 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5405 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5406 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5407 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5408 #
5409 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5410 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5411 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5412 # ======================================================================
5413 def calc_fatigue_prod(TYPE_CALCUL,OPTION,**args):
5414   if TYPE_CALCUL == "CUMUL_DOMMAGE" : return cham_elem
5415   if TYPE_CALCUL == "FATIGUE_MULTI" and OPTION == "DOMA_ELGA": return cham_elem
5416   if TYPE_CALCUL == "FATIGUE_MULTI" and OPTION == "DOMA_NOEUD": return cham_no_sdaster
5417   raise AsException("type de calcul non prevu")
5418
5419 CALC_FATIGUE=OPER(nom="CALC_FATIGUE",op= 151,sd_prod=calc_fatigue_prod,reentrant='n',
5420                   fr="Calculer un champ de dommage de fatigue subit par une structure et déterminer le plan critique"
5421                       +" dans lequel le cisaillement est maximal.",
5422             UIinfo={"groupes":("Post traitements",)},
5423
5424          TYPE_CALCUL = SIMP(statut='o',typ='TXM',
5425                                into=("CUMUL_DOMMAGE","FATIGUE_MULTI",) ),
5426
5427          b_cumul_domma   =BLOC(condition = "TYPE_CALCUL == 'CUMUL_DOMMAGE'",
5428                                fr="Calcul d un champ de dommage subi par une structure.",
5429            regles=(PRESENT_PRESENT('DOMMAGE','MATER', ),),
5430            OPTION          =SIMP(statut='o',typ='TXM',
5431                                  into=("DOMA_ELNO_SIGM","DOMA_ELGA_SIGM",
5432                                        "DOMA_ELNO_EPSI","DOMA_ELGA_EPSI",
5433                                        "DOMA_ELNO_EPME","DOMA_ELGA_EPME") ),
5434            HISTOIRE        =FACT(statut='o',
5435              RESULTAT        =SIMP(statut='o',typ=(evol_elas,dyna_trans,
5436                                                    evol_noli) ),
5437              EQUI_GD         =SIMP(statut='f',typ='TXM',defaut="VMIS_SG",
5438                                  into=("VMIS_SG","INVA_2_SG") ),
5439            ),
5440            DOMMAGE         =SIMP(statut='o',typ='TXM',
5441                                into=("WOHLER","MANSON_COFFIN","TAHERI_MANSON",
5442                                      "TAHERI_MIXTE",) ),
5443            MATER           =SIMP(statut='o',typ=(mater_sdaster) ),
5444            TAHERI_NAPPE    =SIMP(statut='f',typ=(nappe_sdaster,formule) ),
5445            TAHERI_FONC     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5446          ),
5447
5448          b_fatigue_multi   =BLOC(condition = "TYPE_CALCUL == 'FATIGUE_MULTI'",
5449                                  fr="Plan critique dans le cas de la fatigue multiaxiale à grand nombre de cycles.",
5450            TYPE_CHARGE   =SIMP(statut='o',typ='TXM',into=("PERIODIQUE","NON_PERIODIQUE") ),
5451            OPTION        =SIMP(statut='o',typ='TXM',into=("DOMA_ELGA","DOMA_NOEUD") ),
5452            RESULTAT      =SIMP(statut='o',typ=(evol_elas, evol_noli) ),
5453            CHAM_MATER    =SIMP(statut='o',typ=(cham_mater) ),
5454            GROUP_MA      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**' ),
5455            MAILLE        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**' ),
5456            GROUP_NO      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**' ),
5457            NOEUD         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**' ),
5458            COEF_PREECROU =SIMP(statut='f',typ='R',defaut= 1.0E+0),
5459            b_period       =BLOC(condition = "TYPE_CHARGE == 'PERIODIQUE'",
5460                CRITERE       =SIMP(statut='o',typ='TXM',into=("MATAKE_MODI_AC","DANG_VAN_MODI_AC","VMIS_TRESCA") ),
5461                b_fati_p  =BLOC(condition = "(CRITERE == 'MATAKE_MODI_AC' or CRITERE == 'DANG_VAN_MODI_AC')",
5462                    METHODE       =SIMP(statut='o',typ='TXM',into=("CERCLE_EXACT",) ),
5463                ),
5464            ),
5465            b_non_period   =BLOC(condition = "TYPE_CHARGE == 'NON_PERIODIQUE'",
5466                CRITERE       =SIMP(statut='o',typ='TXM',
5467                                    into=("MATAKE_MODI_AV","DANG_VAN_MODI_AV","FATESOCI_MODI_AV","VMIS_TRESCA") ),
5468                b_fati_np  =BLOC(condition = 
5469                                "(CRITERE == 'MATAKE_MODI_AV' or CRITERE == 'DANG_VAN_MODI_AV' or CRITERE == 'FATESOCI_MODI_AV')",
5470                    PROJECTION    =SIMP(statut='o',typ='TXM',into=("UN_AXE", "DEUX_AXES") ),
5471                    DELTA_OSCI    =SIMP(statut='f',typ='R',defaut= 0.0E+0),  
5472                ),
5473            ),
5474            b_fati_grmano  =BLOC(condition = "(GROUP_MA != None or MAILLE != None or GROUP_NO != None or NOEUD != None)",
5475                MAILLAGE      =SIMP(statut='o',typ=maillage_sdaster ),
5476            ),
5477          ),
5478
5479          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
5480 )  ;
5481 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
5482 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5483 # ======================================================================
5484 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5485 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5486 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5487 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5488 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5489 #
5490 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5491 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5492 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5493 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5494 #
5495 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5496 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5497 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5498 # ======================================================================
5499 CALC_FLUI_STRU=OPER(nom="CALC_FLUI_STRU",op= 144,sd_prod=melasflu_sdaster,
5500                     reentrant='n',
5501                     fr="Calculer les paramètres modaux d'une structure soumise à un écoulement",
5502             UIinfo={"groupes":("Matrices/vecteurs",)},
5503          VITE_FLUI       =FACT(statut='f',
5504                                fr="Définir la plage de vitesse fluide étudiée",
5505            VITE_MIN        =SIMP(statut='f',typ='R' ),
5506            VITE_MAX        =SIMP(statut='f',typ='R' ),
5507            NB_POIN         =SIMP(statut='f',typ='I' ),
5508          ),
5509          BASE_MODALE     =FACT(statut='o',
5510                                
5511            regles=(AU_MOINS_UN('AMOR_REDUIT','AMOR_UNIF','AMOR_REDUIT_CONN'),),
5512            MODE_MECA       =SIMP(statut='o',typ=mode_meca ),
5513            NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),
5514            AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**',val_min=0.E+00),
5515            AMOR_UNIF       =SIMP(statut='f',typ='R',val_min=0.E+00 ),
5516            AMOR_REDUIT_CONN=SIMP(statut='f',typ='R',max='**',val_min=0.E+00),
5517          ),
5518          TYPE_FLUI_STRU  =SIMP(statut='o',typ=type_flui_stru ),
5519          IMPRESSION      =FACT(statut='f',
5520                                fr="Choix des informations à imprimer dans le fichier RESULTAT",
5521            PARA_COUPLAGE   =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
5522            DEFORMEE        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
5523          ),
5524 )  ;
5525 #& MODIF COMMANDE  DATE 02/05/2006   AUTEUR MCOURTOI M.COURTOIS 
5526 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5527 # ======================================================================
5528 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5529 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5530 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5531 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5532 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5533 #
5534 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5535 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5536 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5537 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5538 #
5539 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5540 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5541 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5542 # ======================================================================
5543 def calc_fonc_interp_prod(FONCTION, NOM_PARA_FONC, **args):
5544    if   AsType(FONCTION) == nappe_sdaster:
5545       return nappe_sdaster
5546    elif AsType(FONCTION) == fonction_sdaster:
5547       return fonction_sdaster
5548    elif AsType(FONCTION) == fonction_c:
5549       return fonction_c
5550    elif AsType(FONCTION) == formule:
5551       if NOM_PARA_FONC != None:
5552          return nappe_sdaster
5553       return fonction_sdaster
5554    elif AsType(FONCTION) == para_sensi:
5555       return para_sensi
5556    raise AsException("type de concept resultat non prevu")
5557
5558 CALC_FONC_INTERP=OPER(nom="CALC_FONC_INTERP",op= 134,sd_prod=calc_fonc_interp_prod,
5559                       docu="U4.32.01-e",reentrant='n',
5560            fr="Définit une fonction (ou une nappe) à partir d'une fonction FORMULE à 1 ou 2 variables",
5561            UIinfo={"groupes":("Fonction",)},
5562          regles=(UN_PARMI('VALE_PARA','LIST_PARA'),),
5563          FONCTION        =SIMP(statut='o',typ=(formule,fonction_sdaster,nappe_sdaster,fonction_c) ),
5564          VALE_PARA       =SIMP(statut='f',typ='R',max='**'),
5565          LIST_PARA       =SIMP(statut='f',typ=listr8_sdaster ),
5566          NOM_RESU        =SIMP(statut='f',typ='TXM'),
5567          NOM_PARA        =SIMP(statut='f',typ='TXM'),
5568          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ),
5569          PROL_DROITE     =SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ),
5570          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ),
5571          NOM_PARA_FONC   =SIMP(statut='f',typ='TXM'),
5572          b_eval_nappe    =BLOC(condition = "NOM_PARA_FONC != None",             
5573             regles=(UN_PARMI('VALE_PARA_FONC','LIST_PARA_FONC'),),
5574             VALE_PARA_FONC  =SIMP(statut='f',typ='R',max='**'),
5575             LIST_PARA_FONC  =SIMP(statut='f',typ=listr8_sdaster ),
5576             INTERPOL_FONC   =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG")),
5577             PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ),
5578             PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ),
5579          ),
5580          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
5581          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
5582 )  ;
5583 #& MODIF COMMANDE  DATE 09/02/2007   AUTEUR GREFFET N.GREFFET 
5584 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5585 # ======================================================================
5586 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5587 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5588 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5589 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5590 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5591 #
5592 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5593 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5594 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5595 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5596 #
5597 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5598 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5599 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5600 # ======================================================================
5601 # RESPONSABLE MCOURTOI M.COURTOIS
5602 from Macro.calc_fonction_ops import calc_fonction_ops
5603 def calc_fonction_prod(self,DERIVE,EXTRACTION,INTEGRE,INVERSE,COMB,COMB_C,
5604                        ENVELOPPE,SPEC_OSCI,ASSE,FFT,COMPOSE,CORR_ACCE,PUISSANCE,
5605                        LISS_ENVELOP,ABS, **args):
5606
5607    if (INTEGRE     != None): return fonction_sdaster
5608    if (DERIVE      != None): return fonction_sdaster
5609    if (INVERSE     != None): return fonction_sdaster
5610    if (COMB        != None): 
5611       type_vale=AsType(COMB[0]['FONCTION'])
5612       for mcfact in COMB :
5613           if(AsType(mcfact['FONCTION'])!=type_vale):
5614              raise AsException("CALC_FONCTION/COMB : pas de types hétérogènes nappe/fonction")
5615       return type_vale
5616    if (COMB_C      != None):
5617       vale=COMB_C[0]['FONCTION']
5618       if(AsType(vale) == nappe_sdaster):
5619          for mcfact in COMB_C[1:] :
5620              if(AsType(mcfact['FONCTION'])!=nappe_sdaster):
5621                 raise AsException("CALC_FONCTION/COMB_C : pas de types hétérogènes nappe/fonction")
5622          return nappe_sdaster
5623       else:
5624          for mcfact in COMB_C :
5625              if(AsType(mcfact['FONCTION'])==nappe_sdaster):
5626                 raise AsException("CALC_FONCTION/COMB_C : pas de types hétérogènes nappe/fonction")
5627          return fonction_c
5628    if (ENVELOPPE   != None): return AsType(ENVELOPPE[0]['FONCTION'])
5629    if (EXTRACTION  != None): return fonction_sdaster
5630    if (SPEC_OSCI   != None): return nappe_sdaster
5631    if (COMPOSE     != None): return fonction_sdaster
5632    if (ASSE        != None): return fonction_sdaster
5633    if (FFT         != None):
5634       vale=FFT[0]['FONCTION']
5635       if (AsType(vale) == fonction_sdaster )  : return fonction_c
5636       if (AsType(vale) == fonction_c) : return fonction_sdaster
5637    if (CORR_ACCE   != None): return fonction_sdaster
5638    if (LISS_ENVELOP!= None): return nappe_sdaster
5639    if (PUISSANCE   != None): return AsType(PUISSANCE[0]['FONCTION'])
5640    if (ABS         != None): return fonction_sdaster
5641    raise AsException("type de concept resultat non prevu")
5642
5643 CALC_FONCTION=MACRO(nom="CALC_FONCTION",op=calc_fonction_ops,sd_prod=calc_fonction_prod
5644                     ,fr="Effectue des opérations mathématiques sur des concepts de type fonction",
5645                      reentrant='n',
5646             UIinfo={"groupes":("Fonction",)},
5647          regles=(UN_PARMI('DERIVE','INTEGRE','SPEC_OSCI','COMB','COMB_C','ENVELOPPE',
5648                           'COMPOSE','EXTRACTION','ASSE','FFT','CORR_ACCE', 'PUISSANCE',
5649                           'LISS_ENVELOP','INVERSE','ABS'),),
5650          FFT             =FACT(statut='f',fr="Transformée de Fourier ou de son inverse",
5651            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,fonction_c) ),
5652            METHODE         =SIMP(statut='f',typ='TXM',defaut="PROL_ZERO",into=("PROL_ZERO","TRONCATURE","COMPLET") ),
5653            b_syme          =BLOC ( condition = " AsType(FONCTION)==fonction_c ",
5654              SYME           =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI' ),  
5655            ),
5656          ),
5657          DERIVE          =FACT(statut='f',fr="Dérivée d une fonction",
5658            METHODE         =SIMP(statut='f',typ='TXM',defaut="DIFF_CENTREE",into=("DIFF_CENTREE",) ),
5659            FONCTION        =SIMP(statut='o',typ=fonction_sdaster ),
5660          ),
5661          INTEGRE         =FACT(statut='f',fr="Intégrale d'une fonction",
5662            METHODE         =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ),
5663            FONCTION        =SIMP(statut='o',typ=fonction_sdaster),
5664            COEF            =SIMP(statut='f',typ='R',defaut= 0.E+0,fr="Valeur de la constante d intégration" ),
5665          ),
5666          LISS_ENVELOP    = FACT(statut='f',fr="Lissage d une enveloppe",
5667            NAPPE           =SIMP(statut='o',typ=nappe_sdaster ),
5668            FREQ_MIN        =SIMP(statut='f',typ='R',defaut =0.2),
5669            FREQ_MAX        =SIMP(statut='f',typ='R',defaut =35.5),
5670            ELARG           =SIMP(statut='f',typ='R',defaut =0.1 ),
5671            TOLE_LISS       =SIMP(statut='f',typ='R',defaut =0.25 ),
5672          ),
5673          SPEC_OSCI       =FACT(statut='f',fr="Spectre d'oscillateur",
5674            METHODE         =SIMP(statut='f',typ='TXM',defaut="NIGAM",into=("NIGAM",) ),
5675            FONCTION        =SIMP(statut='o',typ=fonction_sdaster ),
5676            AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
5677            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
5678            FREQ            =SIMP(statut='f',typ='R',max='**'),
5679            NORME           =SIMP(statut='o',typ='R',fr="Valeur de la norme du spectre d oscillateur" ),
5680            NATURE          =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("DEPL","VITE","ACCE") ),
5681            NATURE_FONC     =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("DEPL","VITE","ACCE") ),
5682          ),
5683          ABS             =FACT(statut='f',fr="Valeur absolue d'une fonction",
5684            FONCTION        =SIMP(statut='o',typ=fonction_sdaster,),
5685          ),
5686          COMB            =FACT(statut='f',max='**',fr="Combinaison linéaire réelle de fonctions",
5687            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster) ),
5688            COEF            =SIMP(statut='o',typ='R',fr="Coefficient réel de la combinaison linéaire associée à la fonction" ),
5689          ),
5690          COMB_C          =FACT(statut='f',max='**',fr="Combinaison linéaire complexe de fonctions",
5691            regles=(UN_PARMI('COEF_R','COEF_C'),),
5692            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster) ),
5693            COEF_R          =SIMP(statut='f',typ='R',fr="Coefficient réel de la combinaison linéaire associée à la fonction" ),
5694            COEF_C          =SIMP(statut='f',typ='C',fr="Coefficient complexe de la combinaison linéaire associée à la fonction" ),
5695          ),
5696          b_comb          =BLOC ( condition = " (COMB != None) or (COMB_C != None)",
5697              LIST_PARA      =SIMP(statut='f',typ=listr8_sdaster ),  
5698          ),
5699          COMPOSE         =FACT(statut='f',fr="Composition de deux fonctions FONC_RESU(FONC_PARA)",
5700            FONC_RESU       =SIMP(statut='o',typ=fonction_sdaster),
5701            FONC_PARA       =SIMP(statut='o',typ=fonction_sdaster),
5702          ),
5703          EXTRACTION      =FACT(statut='f',fr="Extraction sur une fonction complexe",
5704            FONCTION        =SIMP(statut='o',typ=fonction_c),
5705            PARTIE          =SIMP(statut='o',typ='TXM',into=("REEL","IMAG","MODULE","PHASE"),fr="Partie à extraire"),
5706          ),
5707          ENVELOPPE       =FACT(statut='f',fr="Enveloppe d une famille de fonctions",
5708            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster),max='**' ),
5709            CRITERE         =SIMP(statut='f',typ='TXM',defaut="SUP",into=("SUP","INF"),fr="Type de l enveloppe" ),
5710          ),
5711          ASSE            =FACT(statut='f',fr="Concatenation de fonctions",
5712            FONCTION        =SIMP(statut='o',typ=fonction_sdaster,min=2,max=2 ),
5713            SURCHARGE       =SIMP(statut='f',typ='TXM',defaut="DROITE",into=("DROITE","GAUCHE")),
5714          ),
5715          CORR_ACCE     =FACT(statut='f',fr="Correction d un accelerogramme reel",
5716             CORR_DEPL       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
5717             FONCTION        =SIMP(statut='o',typ=fonction_sdaster ),
5718          ),
5719          PUISSANCE       =FACT(statut='f',fr="Fonction élevée à une puissance",
5720             FONCTION      =SIMP(statut='o', typ=(fonction_sdaster,nappe_sdaster) ),
5721             EXPOSANT      =SIMP(statut='f', typ='I', defaut=1 ),
5722          ),
5723          INVERSE         =FACT(statut='f',fr="Inverse d'une fonction",
5724             FONCTION      =SIMP(statut='o', typ=fonction_sdaster),
5725          ),     
5726          NOM_PARA        =SIMP(statut='f',typ='TXM',into=C_PARA_FONCTION() ),
5727          NOM_RESU        =SIMP(statut='f',typ='TXM' ),
5728          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ),
5729          PROL_DROITE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
5730          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
5731          NOM_PARA_FONC   =SIMP(statut='f',typ='TXM',into=C_PARA_FONCTION() ),
5732          INTERPOL_FONC   =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ),
5733          PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
5734          PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
5735          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
5736 )
5737 #& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETTE 
5738 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5739 # ======================================================================
5740 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5741 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5742 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5743 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5744 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5745 #
5746 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5747 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5748 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5749 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5750 #
5751 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5752 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5753 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5754 # ======================================================================
5755 CALC_FORC_AJOU=OPER(nom="CALC_FORC_AJOU",op=199,sd_prod=vect_asse_gene,
5756                    fr="Calculer l'effet de surpression hydrodynamique due au mouvement d'entrainement de la structure"
5757                        +" en analyse sismique",
5758                    reentrant ='n',
5759             UIinfo={"groupes":("Matrices/vecteurs",)},
5760
5761         regles=(EXCLUS('MODE_MECA','MODELE_GENE'),
5762                 PRESENT_PRESENT( 'MODELE_GENE','NUME_DDL_GENE'),
5763                 UN_PARMI('MONO_APPUI', 'NOEUD','GROUP_NO'),
5764                 UN_PARMI('MONO_APPUI','MODE_STAT')),
5765
5766          MODELE_FLUIDE   =SIMP(statut='o',typ=modele_sdaster ),
5767          MODELE_INTERFACE=SIMP(statut='o',typ=modele_sdaster ),
5768          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
5769          CHARGE          =SIMP(statut='o',typ=char_ther ),
5770          MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
5771          MODELE_GENE     =SIMP(statut='f',typ=modele_gene ),
5772          NUME_DDL_GENE   =SIMP(statut='f',typ=nume_ddl_gene ),
5773          DIST_REFE       =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
5774          AVEC_MODE_STAT  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
5775          NUME_MODE_MECA  =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
5776          POTENTIEL       =SIMP(statut='f',typ=evol_ther ),
5777          NOEUD_DOUBLE    =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
5778
5779          DIRECTION       =SIMP(statut='o',typ='R',max=3),
5780          MONO_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",),),
5781          NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
5782          GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5783          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,),),
5784
5785          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
5786
5787          SOLVEUR         =FACT(statut='d',
5788            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
5789            b_mult_front    = BLOC ( condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
5790              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
5791            ),
5792            b_ldlt          =BLOC( condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
5793              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
5794            ),
5795            b_ldlt_mult     =BLOC( condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
5796                                    fr="Paramètres relatifs à la non iversibilité de la matrice à factorise",
5797              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
5798              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
5799            ),
5800            b_gcpc          =BLOC (condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
5801              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
5802              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut=0),
5803              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
5804              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
5805              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
5806            ),
5807                            ),
5808
5809            ) ;
5810 #& MODIF COMMANDE  DATE 31/10/2006   AUTEUR REZETTE C.REZETTE 
5811 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5812 # ======================================================================
5813 # COPYRIGHT (C) 1991 - 2006  EDF R&D                  WWW.CODE-ASTER.ORG
5814 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
5815 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
5816 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
5817 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
5818 #                                                                       
5819 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
5820 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
5821 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
5822 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
5823 #                                                                       
5824 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
5825 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
5826 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
5827 # ======================================================================
5828 CALC_G=OPER(nom="CALC_G",op=100,sd_prod=table_sdaster,
5829             fr="Calcul du taux de restitution d'énergie par la méthode theta en thermo-élasticité"
5830                         +" et les facteurs d'intensité de contraintes.",
5831                     reentrant='f',
5832             UIinfo={"groupes":("Post traitements",)},
5833          regles=(EXCLUS('COMP_ELAS','COMP_INCR'),
5834                  CONCEPT_SENSIBLE("ENSEMBLE"),
5835                  REUSE_SENSIBLE(),
5836                  DERIVABLE('RESULTAT'),
5837                  EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST',
5838                            'TOUT_MODE','NUME_MODE','LIST_MODE','FREQ','LIST_FREQ',),),
5839
5840          THETA          =FACT(statut='o',
5841            THETA           =SIMP(statut='f',typ=(theta_geom,cham_no_sdaster),),
5842            FOND_FISS       =SIMP(statut='f',typ=fond_fiss,max=1),
5843            FISSURE         =SIMP(statut='f',typ=fiss_xfem,max=1),
5844            regles=(EXCLUS('FOND_FISS','FISSURE'),),
5845          b_theta        =BLOC(condition="THETA == None",fr="calcul de theta",
5846             regles=(UN_PARMI('R_INF','R_INF_FO'),
5847                  EXCLUS('MODULE','MODULE_FO'),
5848                  PRESENT_PRESENT('R_INF','R_SUP'),
5849                  PRESENT_PRESENT('R_INF_FO','R_SUP_FO'), ),
5850              NUME_FOND        =SIMP(statut='f',typ='I',defaut=1),
5851              R_INF           =SIMP(statut='f',typ='R'),
5852              R_SUP           =SIMP(statut='f',typ='R'),
5853              MODULE          =SIMP(statut='f',typ='R'),
5854              DIRE_THETA      =SIMP(statut='f',typ=cham_no_sdaster ),
5855              DIRECTION       =SIMP(statut='f',typ='R',max='**'),
5856              R_INF_FO        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
5857              R_SUP_FO        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),             
5858              MODULE_FO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
5859              ),
5860             ),
5861
5862          RESULTAT        =SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans,mode_meca),),
5863
5864          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5865          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
5866          LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
5867          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
5868          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
5869          TOUT_MODE       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5870          NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
5871          LIST_MODE       =SIMP(statut='f',typ=listis_sdaster),
5872          LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
5873          FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
5874            
5875          b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)or(FREQ != None)or(LIST_FREQ != None)",
5876            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),
5877            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
5878          ),
5879         
5880          EXCIT           =FACT(statut='f',max='**',
5881                CHARGE          =SIMP(statut='f',typ=(char_meca,char_cine_meca)),
5882                FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
5883                TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
5884          ),
5885          SYME_CHAR       =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","ANTI","SANS") ),
5886  
5887          COMP_ELAS       =FACT(statut='f',
5888                RELATION        =SIMP(statut='f',typ='TXM',defaut="ELAS",
5889                                      into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC") ),
5890                ELAS            =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5891                ELAS_VMIS_LINE  =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5892                ELAS_VMIS_TRAC  =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5893                DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","GREEN") ),
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,validators=NoRepeat(),max='**'),
5897                MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
5898          ),  
5899          COMP_INCR       =FACT(statut='f',
5900                RELATION        =SIMP(statut='f',typ='TXM',defaut="ELAS",
5901                                      into=("ELAS","VMIS_ISOT_TRAC","VMIS_ISOT_LINE","VMIS_CINE_LINE") ),
5902                ELAS            =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
5903                VMIS_ISOT_TRAC  =SIMP(statut='f',typ='I',defaut=2,into=(2,) ),
5904                VMIS_ISOT_LINE  =SIMP(statut='f',typ='I',defaut=2,into=(2,) ),
5905                DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","PETIT_REAC") ),
5906       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
5907                TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5908                GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5909                MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
5910          ),
5911          ETAT_INIT       =FACT(statut='f',
5912            SIGM            =SIMP(statut='f',typ=cham_elem),
5913            DEPL            =SIMP(statut='f',typ=cham_no_sdaster),
5914          ),
5915           
5916          LISSAGE         =FACT(statut='d',
5917            DEGRE           =SIMP(statut='f',typ='I',defaut=5,into=(0,1,2,3,4,5,6,7) ),
5918            LISSAGE_THETA   =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE","LAGRANGE_REGU"),),
5919            LISSAGE_G       =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE",
5920                                  "LAGRANGE_NO_NO","LAGRANGE_REGU"),),
5921          ),
5922
5923          OPTION          =SIMP(statut='o',typ='TXM',max=1,defaut='CALC_G',
5924               into=("CALC_G","CALC_G_GLOB","CALC_K_G","K_G_MODA","G_MAX","G_MAX_GLOB","G_BILI",
5925                     "G_BILI_GLOB","G_LAGR","G_LAGR_GLOB","CALC_K_MAX"),),
5926
5927          b_g_max    =BLOC(condition="(OPTION=='G_MAX') or (OPTION=='G_MAX_GLOB')",
5928            BORNES          =FACT(statut='o',max='**',
5929                 NUME_ORDRE     =SIMP(statut='o',typ='I'),
5930                 VALE_MIN       =SIMP(statut='o',typ='R'),
5931                 VALE_MAX       =SIMP(statut='o',typ='R'),
5932                                 ),
5933          ),
5934          b_k_max    =BLOC(condition="(OPTION=='CALC_K_MAX')",
5935            SIGNES          =FACT(statut='o',max=1,
5936                 CHARGE_S       =SIMP(statut='o',typ='I',validators=NoRepeat(),max='**'),
5937                 CHARGE_NS      =SIMP(statut='o',typ='I',validators=NoRepeat(),max='**'),
5938                                 ),
5939          ),
5940
5941          PROPAGATION     =SIMP(statut='f',typ='R'),
5942          THETA_LAGR      =SIMP(statut='f',typ=theta_geom),
5943          DIRE_THETA_LAGR =SIMP(statut='f',typ=cham_no_sdaster),
5944          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
5945                            fr="Liste des paramètres de sensibilité.",
5946                            ang="List of sensitivity parameters"),
5947
5948          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
5949          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
5950 );
5951 #& MODIF COMMANDE  DATE 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
5952 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5953 # ======================================================================
5954 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5955 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5956 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5957 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5958 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5959 #
5960 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5961 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5962 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5963 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5964 #
5965 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5966 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5967 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5968 # ======================================================================
5969 CALC_INTE_SPEC=OPER(nom="CALC_INTE_SPEC",op= 120,sd_prod=table_fonction,
5970                     fr="Calcul d'une matrice interspectrale à partir d'une fonction du temps",
5971                     reentrant='n',
5972             UIinfo={"groupes":("Fonction",)},
5973          INST_INIT       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5974          INST_FIN        =SIMP(statut='o',typ='R' ),
5975          DUREE_ANALYSE   =SIMP(statut='f',typ='R' ),
5976          DUREE_DECALAGE  =SIMP(statut='f',typ='R' ),
5977          NB_POIN         =SIMP(statut='o',typ='I' ),
5978          FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ),
5979          TITRE           =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
5980          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1 , 2) ),
5981 )  ;
5982 #& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETTE 
5983 #            CONFIGURATION MANAGEMENT OF EDF VERSION
5984 # ======================================================================
5985 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
5986 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5987 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5988 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
5989 # (AT YOUR OPTION) ANY LATER VERSION.                                 
5990 #
5991 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
5992 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
5993 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
5994 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
5995 #
5996 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
5997 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
5998 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
5999 # ======================================================================
6000 CALC_MATR_AJOU=OPER(nom="CALC_MATR_AJOU",op= 152,sd_prod=matr_asse_gene_r,
6001                     fr="Calcul des matrices de masse, d'amortissement ou de rigidité ajoutés",
6002                     reentrant='n',
6003             UIinfo={"groupes":("Matrices/vecteurs",)},
6004          regles=(EXCLUS('MODE_MECA','CHAM_NO','MODELE_GENE'),
6005                  PRESENT_ABSENT('NUME_DDL_GENE','CHAM_NO'),
6006                  PRESENT_PRESENT('MODELE_GENE','NUME_DDL_GENE'),),
6007          MODELE_FLUIDE   =SIMP(statut='o',typ=modele_sdaster ),
6008          MODELE_INTERFACE=SIMP(statut='o',typ=modele_sdaster ),
6009          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
6010          CHARGE          =SIMP(statut='o',typ=char_ther ),
6011          MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
6012          CHAM_NO         =SIMP(statut='f',typ=cham_no_sdaster ),
6013          MODELE_GENE     =SIMP(statut='f',typ=modele_gene ),
6014          NUME_DDL_GENE   =SIMP(statut='f',typ=nume_ddl_gene ),
6015          DIST_REFE       =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
6016          AVEC_MODE_STAT  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
6017          NUME_MODE_MECA  =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
6018          OPTION          =SIMP(statut='o',typ='TXM',into=("MASS_AJOU","AMOR_AJOU","RIGI_AJOU") ),
6019          POTENTIEL       =SIMP(statut='f',typ=evol_ther ),
6020          NOEUD_DOUBLE    =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
6021          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
6022
6023          SOLVEUR         =FACT(statut='d',
6024            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
6025            b_mult_front    = BLOC ( condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
6026              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
6027            ),
6028            b_ldlt          =BLOC( condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
6029              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
6030            ),
6031            b_ldlt_mult     =BLOC( condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
6032                                    fr="Paramètres relatifs à la non iversibilité de la matrice à factorise",
6033              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
6034              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
6035            ),
6036            b_gcpc          =BLOC (condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
6037              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
6038              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut=0),
6039              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
6040              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
6041              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
6042            ),
6043          ),
6044 )  ;
6045 #& MODIF COMMANDE  DATE 16/05/2006   AUTEUR REZETTE C.REZETTE 
6046 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6047 # ======================================================================
6048 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6049 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6050 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6051 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
6052 # (AT YOUR OPTION) ANY LATER VERSION.
6053 #
6054 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
6055 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
6056 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
6057 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
6058 #
6059 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
6060 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
6061 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
6062 # ======================================================================
6063 # RESPONSABLE VABHHTS J.PELLET
6064 def calc_matr_elem_prod(OPTION,**args):
6065   if OPTION == "RIGI_MECA"        : return matr_elem_depl_r
6066   if OPTION == "RIGI_FLUI_STRU"   : return matr_elem_depl_r
6067   if OPTION == "RIGI_MECA_LAGR"   : return matr_elem_depl_r
6068   if OPTION == "MASS_ID_MDEP_R"   : return matr_elem_depl_r
6069   if OPTION == "MASS_ID_MDNS_R"   : return matr_elem_depl_r
6070   if OPTION == "MASS_ID_MTEM_R"   : return matr_elem_temp_r
6071   if OPTION == "MASS_ID_MTNS_R"   : return matr_elem_temp_r
6072   if OPTION == "MASS_MECA"        : return matr_elem_depl_r
6073   if OPTION == "MASS_FLUI_STRU"   : return matr_elem_depl_r
6074   if OPTION == "RIGI_GEOM"        : return matr_elem_depl_r
6075   if OPTION == "RIGI_ROTA"        : return matr_elem_depl_r
6076   if OPTION == "AMOR_MECA"        : return matr_elem_depl_r
6077   if OPTION == "IMPE_MECA"        : return matr_elem_depl_r
6078   if OPTION == "ONDE_FLUI"        : return matr_elem_depl_r
6079   if OPTION == "AMOR_MECA_ABSO"   : return matr_elem_depl_r
6080   if OPTION == "RIGI_MECA_HYST"   : return matr_elem_depl_c
6081   if OPTION == "RIGI_THER"        : return matr_elem_temp_r
6082   if OPTION == "MASS_THER"        : return matr_elem_temp_r
6083   if OPTION == "MASS_MECA_DIAG"   : return matr_elem_depl_r
6084   if OPTION == "RIGI_ACOU"        : return matr_elem_pres_c
6085   if OPTION == "MASS_ACOU"        : return matr_elem_pres_c
6086   if OPTION == "AMOR_ACOU"        : return matr_elem_pres_c
6087   raise AsException("type de concept resultat non prevu")
6088
6089 CALC_MATR_ELEM=OPER(nom="CALC_MATR_ELEM",op=   9,sd_prod=calc_matr_elem_prod
6090                     ,fr="Calcul des matrices élémentaires",reentrant='n',
6091             UIinfo={"groupes":("Matrices/vecteurs",)},
6092
6093          OPTION          =SIMP(statut='o',typ='TXM',
6094                                into=("RIGI_MECA","MASS_MECA","RIGI_GEOM",
6095                                      "AMOR_MECA","RIGI_THER","MASS_THER","IMPE_MECA",
6096                                      "ONDE_FLUI","AMOR_MECA_ABSO","MASS_FLUI_STRU","RIGI_FLUI_STRU",
6097                                      "RIGI_ROTA","MASS_MECA_DIAG","RIGI_ACOU",
6098                                      "MASS_ID_MDEP_R","MASS_ID_MDNS_R","MASS_ID_MTEM_R","MASS_ID_MTNS_R",
6099                                      "MASS_ACOU","AMOR_ACOU","RIGI_MECA_HYST",
6100                                      "RIGI_MECA_LAGR") ),
6101
6102          # mots clés facultatifs que l'on a du mal à mettre dans les blocs
6103          # sans gener MACRO_MATR_ASSE :
6104          #------------------------------------------------------------------
6105          INST=SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6106
6107
6108          b_rigi_meca = BLOC( condition = "OPTION=='RIGI_MECA'",
6109            regles=(AU_MOINS_UN('MODELE','CHARGE' ),),
6110            MODELE          =SIMP(statut='f',typ=modele_sdaster ),
6111            b_modele        =BLOC(condition = "MODELE != None",
6112              CHAM_MATER      =SIMP(statut='f',typ=cham_mater ),
6113              CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
6114              MODE_FOURIER    =SIMP(statut='f',typ='I',defaut= 0 ),
6115            ),
6116            CHARGE          =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**' ),
6117          ),
6118
6119          b_rigi_meca_lagr  =BLOC(condition = "OPTION=='RIGI_MECA_LAGR'",
6120            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
6121            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
6122            CHARGE            =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'  ),
6123            THETA           =SIMP(statut='o',typ=theta_geom ),
6124            PROPAGATION     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6125          ),
6126
6127          b_mass_meca       =BLOC(condition = "(OPTION=='MASS_MECA') or (OPTION=='MASS_MECA_DIAG')",
6128            regles=(AU_MOINS_UN('MODELE','CHARGE'),),
6129            MODELE          =SIMP(statut='f',typ=modele_sdaster ),
6130            b_modele          =BLOC(condition = "MODELE != None",
6131              CHAM_MATER        =SIMP(statut='f',typ=cham_mater ),
6132              CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
6133            ),
6134            CHARGE          =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
6135          ),
6136
6137          b_mass_identite   =BLOC(condition = "(OPTION in ('MASS_ID_MDEP_R','MASS_ID_MTEM_R','MASS_ID_MDNS_R','MASS_ID_MTNS_R')) ",
6138            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
6139            # j'ajoute ces 2 mot clés inutiles à cause de l'alarme pas assez subtile de MEDOME
6140            CHAM_MATER        =SIMP(statut='f',typ=cham_mater ),
6141            CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
6142          ),
6143
6144          b_rigi_geom       =BLOC(condition = "OPTION=='RIGI_GEOM'",
6145            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
6146            CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
6147            SIEF_ELGA         =SIMP(statut='o',typ=cham_elem ),
6148            MODE_FOURIER      =SIMP(statut='f',typ='I',defaut= 0 ),
6149          ),
6150
6151          b_rigi_rota       =BLOC(condition = "OPTION=='RIGI_ROTA'",
6152            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
6153            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
6154            CHARGE            =SIMP(statut='o',typ=char_meca,validators=NoRepeat(),max='**' ),
6155          ),
6156
6157          b_amor_meca       =BLOC(condition = "OPTION=='AMOR_MECA'",
6158            regles=(AU_MOINS_UN('CARA_ELEM','RIGI_MECA'),
6159                    ENSEMBLE('RIGI_MECA','MASS_MECA','CHAM_MATER'), ),
6160            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
6161            CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
6162            CHAM_MATER        =SIMP(statut='f',typ=cham_mater ),
6163            RIGI_MECA         =SIMP(statut='f',typ=matr_elem_depl_r ),
6164            MASS_MECA         =SIMP(statut='f',typ=matr_elem_depl_r ),
6165            CHARGE            =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
6166          ),
6167          
6168          b_amor_meca_abso  =BLOC(condition = "OPTION=='AMOR_MECA_ABSO'",
6169            regles=(AU_MOINS_UN('CARA_ELEM','RIGI_MECA'),
6170                    ENSEMBLE('RIGI_MECA','MASS_MECA','CHAM_MATER'), ),
6171            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
6172            CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
6173            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
6174            RIGI_MECA         =SIMP(statut='f',typ=matr_elem_depl_r ),
6175            MASS_MECA         =SIMP(statut='f',typ=matr_elem_depl_r ),
6176            CHARGE            =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
6177          ),
6178          
6179          b_rigi_meca_hyst  =BLOC( condition = "OPTION=='RIGI_MECA_HYST'",
6180            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
6181            CHARGE            =SIMP(statut='f',typ=char_meca ,validators=NoRepeat(),max='**' ),
6182            CHAM_MATER        =SIMP(statut='f',typ=cham_mater ),
6183            CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
6184            RIGI_MECA         =SIMP(statut='o',typ=matr_elem_depl_r ),
6185          ),
6186
6187          b_rigi_ther       =BLOC(condition = "OPTION=='RIGI_THER'",
6188            regles=(AU_MOINS_UN('MODELE','CHARGE' ),),
6189            MODELE            =SIMP(statut='f',typ=modele_sdaster ),
6190            b_modele          =BLOC(condition = "MODELE != None",
6191              CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
6192              CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
6193              MODE_FOURIER      =SIMP(statut='f',typ='I',defaut= 0 ),
6194            ),
6195            CHARGE            =SIMP(statut='f',typ=char_ther,validators=NoRepeat(),max='**' ),
6196          ),
6197
6198          b_mass_ther       =BLOC(condition = "OPTION=='MASS_THER'",
6199            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
6200            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
6201            CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
6202            CHARGE            =SIMP(statut='f',typ=char_ther ,validators=NoRepeat(),max='**' ),
6203          ),
6204
6205          b_rigi_acou       =BLOC(condition = "OPTION=='RIGI_ACOU'",
6206            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
6207            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
6208            CHARGE            =SIMP(statut='f',typ=char_acou ,validators=NoRepeat(),max='**' ),
6209          ),
6210
6211          b_mass_acou       =BLOC(condition = "(OPTION=='MASS_ACOU') or (OPTION=='AMOR_ACOU')",
6212            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
6213            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
6214            CHARGE            =SIMP(statut='f',typ=char_acou ,validators=NoRepeat(),max='**' ),
6215          ),
6216
6217          b_rigi_flui       =BLOC(condition = "OPTION=='RIGI_FLUI_STRU'",
6218            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
6219            CARA_ELEM         =SIMP(statut='o',typ=cara_elem ),
6220            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
6221            CHARGE            =SIMP(statut='o',typ=char_meca ,validators=NoRepeat(),max='**' ),
6222          ),
6223
6224          b_mass_flui       =BLOC(condition = "OPTION=='MASS_FLUI_STRU'",
6225            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
6226            CARA_ELEM         =SIMP(statut='o',typ=cara_elem ),
6227            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
6228            CHARGE            =SIMP(statut='o',typ=char_meca ,validators=NoRepeat(),max='**'),
6229          ),
6230
6231          b_impe_meca       =BLOC(condition = "(OPTION=='IMPE_MECA') or (OPTION=='ONDE_FLUI')",
6232            MODELE            =SIMP(statut='o',typ=modele_sdaster ),
6233            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
6234            CHARGE            =SIMP(statut='o',typ=char_meca,validators=NoRepeat(),max='**' ),
6235          ),
6236 )  ;
6237 #& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETTE 
6238 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6239 # ======================================================================
6240 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6241 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6242 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6243 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
6244 # (AT YOUR OPTION) ANY LATER VERSION.                                 
6245 #
6246 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
6247 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
6248 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
6249 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
6250 #
6251 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
6252 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
6253 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
6254 # ======================================================================
6255 CALC_META=OPER(nom="CALC_META",op=194,sd_prod=evol_ther,reentrant='o',
6256             UIinfo={"groupes":("Post traitements",)},
6257                fr="Calcule l'évolution métallurgique à partir du résultat d'un calcul thermique",
6258          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
6259          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
6260          RESULTAT        =SIMP(statut='o',typ=evol_ther ),
6261          ETAT_INIT       =FACT(statut='o',
6262             regles=(UN_PARMI('EVOL_THER', 'META_INIT_ELNO'),),
6263             EVOL_THER       =SIMP(statut='f',typ=evol_ther ),
6264             META_INIT_ELNO  =SIMP(statut='f',typ=carte_sdaster ),
6265             b_etat     =BLOC(condition="EVOL_THER != None",
6266                regles=(UN_PARMI('NUME_INIT', 'INST_INIT',),),
6267                NUME_INIT       =SIMP(statut='f',typ='I'),
6268                INST_INIT       =SIMP(statut='f',typ='R'),
6269                b_inst     =BLOC(condition="INST_INIT != None",
6270                   PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
6271                   CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") )
6272                ),
6273             ),
6274          ),
6275          COMP_INCR       =FACT(statut='o',max='**',
6276            RELATION        =SIMP(statut='o',typ='TXM',into=("ACIER","ZIRC",) ),
6277            ACIER           =SIMP(statut='c',typ='I',defaut=7,into=(7,) ),
6278            ZIRC            =SIMP(statut='c',typ='I',defaut=3,into=(3,) ),
6279       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
6280            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6281            GROUP_MA        =SIMP(statut='f',typ=grma),
6282            MAILLE          =SIMP(statut='f',typ=ma),
6283          ),
6284          OPTION          =SIMP(statut='f',typ='TXM'     
6285                              ,into=("META_ELNO_TEMP",) ),
6286 )  ;
6287 #& MODIF COMMANDE  DATE 09/05/2007   AUTEUR VIVAN L.VIVAN 
6288 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6289 # ======================================================================
6290 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6291 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6292 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6293 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
6294 # (AT YOUR OPTION) ANY LATER VERSION.                                 
6295 #
6296 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
6297 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
6298 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
6299 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
6300 #
6301 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
6302 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
6303 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
6304 # ======================================================================
6305 # RESPONSABLE G8BHHXD X.DESROCHES
6306 def calc_no_prod(RESULTAT,**args):
6307    if AsType(RESULTAT) != None : return AsType(RESULTAT)
6308    raise AsException("type de concept resultat non prevu")
6309
6310 CALC_NO=OPER(nom="CALC_NO",op= 106,sd_prod=calc_no_prod,reentrant='o',
6311             fr="Enrichir une SD Résultat par des champs aux noeuds calculés à partir de champs aux éléments évalués aux noeuds",
6312             UIinfo={"groupes":("Post traitements",)},
6313          RESULTAT        =SIMP(statut='o',typ=resultat_sdaster),
6314          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
6315                                fr="Liste des paramètres de sensibilité.",
6316                                ang="List of sensitivity parameters"),
6317
6318          regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
6319                         'NOEUD_CMP','LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS'),
6320                  CONCEPT_SENSIBLE("SEPARE"),
6321                  DERIVABLE('RESULTAT'),),
6322          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6323          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
6324          NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
6325          NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
6326          NOM_CAS         =SIMP(statut='f',typ='TXM' ),
6327          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
6328          FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
6329          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
6330          LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
6331          PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
6332          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
6333          LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
6334
6335          OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
6336                                into=("FORC_NODA","REAC_NODA",
6337                                      "DCHA_NOEU_SIGM",
6338                                      "DEGE_NOEU_DEPL",
6339                                      "DETE_NOEU_DLTE",
6340                                      "DEDE_NOEU_DLDE",
6341                                      "DESI_NOEU_DLSI",
6342                                      "DURT_NOEU_META",
6343                                      "EFGE_NOEU_CART","EFGE_NOEU_DEPL",
6344                                      "ENDO_NOEU_SINO",
6345                                      "ENEL_NOEU_ELGA",
6346                                      "EPMG_NOEU_DEPL",
6347                                      "EPSA_NOEU",
6348                                      "EPSG_NOEU_DEPL",
6349                                      "EPSI_NOEU_DEPL",
6350                                      "EPSP_NOEU"     ,"EPSP_NOEU_ZAC",
6351                                      "EPVC_NOEU","EPFD_NOEU","EPFP_NOEU","EPFP_NOEU",
6352                                      "EQUI_NOEU_EPME","EQUI_NOEU_EPSI","EQUI_NOEU_SIGM",
6353                                      "ERRE_NOEU_ELEM","QIRE_NOEU_ELEM",
6354                                      "FLUX_NOEU_TEMP",
6355                                      "HYDR_NOEU_ELGA",
6356                                      "INTE_NOEU_ACTI","INTE_NOEU_REAC",
6357                                      "META_NOEU_TEMP",
6358                                      "PMPB_NOEU_SIEF",
6359                                      "PRES_NOEU_DBEL","PRES_NOEU_IMAG","PRES_NOEU_REEL",
6360                                      "RADI_NOEU_SIGM",
6361                                      "SIEF_NOEU"     ,"SIEF_NOEU_ELGA",
6362                                      "SIGM_NOEU_CART","SIGM_NOEU_COQU","SIGM_NOEU_DEPL",
6363                                      "SIGM_NOEU_SIEF","SIGM_NOEU_ZAC",
6364                                      "SIPO_NOEU_DEPL","SIPO_NOEU_SIEF",
6365                                      "SIRE_NOEU_DEPL",
6366                                      "VARI_NOEU","EXTR_NOEU_VARI","VARI_NOEU_ELGA",
6367                                      "ARCO_NOEU_SIGM",) ),
6368
6369          b_forc_reac     =BLOC(condition = """(OPTION == 'FORC_NODA') or (type(OPTION) == type(()) and 'FORC_NODA' in OPTION) or\
6370  (OPTION == 'REAC_NODA') or (type(OPTION) == type(()) and 'REAC_NODA' in OPTION)""",
6371              MODELE          =SIMP(statut='f',typ=modele_sdaster),
6372          ),
6373
6374          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
6375          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
6376          EXCIT           =FACT(statut='f',max='**',
6377            CHARGE          =SIMP(statut='f',typ=(char_meca,char_ther,char_acou) ),
6378            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
6379            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
6380                                  into=("FIXE_CSTE","FIXE_PILO","SUIV") ),
6381          ),
6382          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6383          GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6384          MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
6385          GROUP_MA_RESU   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6386          MAILLE_RESU     =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
6387          GROUP_NO_RESU   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6388          NOEUD_RESU      =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
6389 )  ;
6390 #& MODIF COMMANDE  DATE 10/10/2006   AUTEUR REZETTE C.REZETTE 
6391 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6392 # ======================================================================
6393 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
6394 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
6395 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
6396 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
6397 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
6398 #                                                                       
6399 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
6400 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
6401 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
6402 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
6403 #                                                                       
6404 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
6405 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
6406 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
6407 # ======================================================================
6408 # RESPONSABLE ASSIRE A.ASSIRE
6409
6410 from Macro.calc_precont_ops import calc_precont_ops
6411
6412
6413 # ===========================================================================
6414 #           CATALOGUE DE LA MACRO "CALC_PRECONT"
6415 #           -----------------------------------------
6416 # USAGE :
6417
6418 #  
6419 # ===========================================================================
6420
6421 CALC_PRECONT=MACRO(nom="CALC_PRECONT",op=calc_precont_ops,sd_prod=evol_noli,
6422                    fr="Imposer la tension définie par le BPEL dans les cables",
6423                    reentrant='f',UIinfo={"groupe":("Modélisation",)},
6424          reuse =SIMP(statut='f',typ='evol_noli'),
6425          MODELE           =SIMP(statut='o',typ=modele_sdaster),
6426          CHAM_MATER       =SIMP(statut='o',typ=cham_mater),
6427          CARA_ELEM        =SIMP(statut='o',typ=cara_elem),
6428          CABLE_BP         =SIMP(statut='o',typ=cabl_precont,validators=NoRepeat(),max='**'),
6429          CABLE_BP_INACTIF =SIMP(statut='f',typ=cabl_precont,validators=NoRepeat(),max='**'),
6430          INCREMENT        =FACT(statut='o',
6431            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
6432            INST_INIT       =SIMP(statut='f',typ='R'),
6433            INST_FIN        =SIMP(statut='f',typ='R'),
6434            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
6435            # DEBUT DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
6436            SUBD_METHODE    =SIMP( statut='f',typ='TXM',
6437               into =("AUCUNE","UNIFORME","EXTRAPOLE"),
6438               defaut="AUCUNE",
6439               fr="Méthode de subdivision des pas de temps en cas de non-convergence"
6440            ),
6441            b_subd_unif=BLOC(condition = "SUBD_METHODE == 'UNIFORME'",
6442              regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
6443              SUBD_COEF_PAS_1=SIMP(statut='f',typ='R',defaut=1.0,val_min=0.0,
6444                 fr="Coefficient multiplicateur de la 1ère subdivision"),
6445              SUBD_PAS       =SIMP(statut='f',typ='I',defaut=4,val_min=2,
6446                 fr="Nombre de subdivision d'un pas de temps"),
6447              SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
6448                 fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
6449              SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
6450                 fr="Pas de temps en dessous duquel on ne subdivise plus"),
6451            ),
6452            b_subd_extr=BLOC(condition = "SUBD_METHODE == 'EXTRAPOLE'",
6453              regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
6454              SUBD_OPTION    =SIMP(statut='f',typ='TXM',
6455                 into =("IGNORE_PREMIERES","GARDE_DERNIERES",), 
6456                 defaut="IGNORE_PREMIERES",
6457                 fr="Technique d'extrapolation : les 1ere itérations sont ignorées ou les dernières sont gardées"),
6458              SUBD_ITER_IGNO =SIMP(statut='c',typ='I',defaut=3,val_min=0,
6459                 fr="Les n premières itérations sont ignorées pour l'extrapolation"),
6460              SUBD_ITER_FIN  =SIMP(statut='c',typ='I',defaut=8,val_min=3,
6461                 fr="Seules les n dernières itérations sont prises pour l'extrapolation"),
6462              SUBD_PAS       =SIMP(statut='c',typ='I',defaut=4,val_min=2,
6463                 fr="Nombre de subdivision d'un pas de temps en cas divergence"),
6464              SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
6465                 fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
6466              SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
6467                 fr="Pas de temps en dessous duquel on ne subdivise plus"),
6468              SUBD_ITER_PLUS =SIMP(statut='c',typ='I',defaut=50,val_min=20,
6469                 fr="% itération autorisée en plus"),
6470            ),
6471            # FIN DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS 
6472          ),
6473
6474          NEWTON          =FACT(statut='d',
6475             REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
6476             PREDICTION      =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ),
6477             MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
6478             PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
6479             REAC_ITER       =SIMP(statut='f',typ='I',defaut=0),
6480             EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
6481           ),
6482          RECH_LINEAIRE   =FACT(statut='f',
6483            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-1 ),
6484            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),
6485          ),
6486           CONVERGENCE     =FACT(statut='d',
6487             RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
6488             RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
6489             ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
6490             ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
6491             ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),
6492           ),
6493           ETAT_INIT       =FACT(statut='f',
6494             regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI','VARI_NON_LOCAL',),
6495                     EXCLUS('EVOL_NOLI','DEPL',),
6496                     EXCLUS('EVOL_NOLI','SIGM',),
6497                     EXCLUS('EVOL_NOLI','VARI',),
6498                     EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',),
6499                     EXCLUS('NUME_ORDRE','INST'), ),
6500             DEPL            =SIMP(statut='f',typ=cham_no_sdaster),
6501             SIGM            =SIMP(statut='f',typ=(carte_sdaster,cham_elem)),
6502             VARI            =SIMP(statut='f',typ=cham_elem),
6503             VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_sdaster),
6504             EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
6505             NUME_ORDRE      =SIMP(statut='f',typ='I'),
6506             INST            =SIMP(statut='f',typ='R'),
6507             PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
6508             CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
6509             NUME_DIDI       =SIMP(statut='f',typ='I'),
6510             INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
6511           ),
6512           SOLVEUR         =FACT(statut='d',
6513             METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
6514             b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
6515               RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
6516             ),
6517             b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
6518               RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
6519             ),
6520             b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
6521                                     fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
6522               NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
6523               STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","DECOUPE") ),
6524             ),
6525             b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
6526               PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
6527               NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
6528               RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
6529               RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
6530               NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
6531             ),
6532             SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
6533           ),
6534             SOLV_NON_LOCAL  =FACT(statut='f',
6535               METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
6536               b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
6537                 RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
6538               ),
6539               b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
6540                 RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
6541               ),
6542               b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
6543                                      fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
6544                 NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
6545                 STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
6546               ),
6547               b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
6548                 PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
6549                 NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
6550                 RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
6551                 NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
6552               ),
6553               EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6554             ),
6555             LAGR_NON_LOCAL  =FACT(statut='f',
6556               ITER_DUAL_MAXI  =SIMP(statut='f',typ='I',defaut= 50),
6557               RESI_DUAL_ABSO  =SIMP(statut='o',typ='R'),
6558               RESI_PRIM_ABSO  =SIMP(statut='o',typ='R'),
6559               R               =SIMP(statut='f',typ='R',defaut= 1000.),
6560               ITER_PRIM_MAXI  =SIMP(statut='f',typ='I',defaut= 10),
6561             ),
6562           INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
6563           TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
6564
6565           EXCIT           =FACT(statut='o',max='**',
6566             CHARGE          =SIMP(statut='o',typ=char_meca),
6567           ),
6568
6569          COMP_INCR       =C_COMP_INCR(),
6570   )  ;
6571 #& MODIF COMMANDE  DATE 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
6572 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6573 # ======================================================================
6574 # COPYRIGHT (C) 1991 - 2005  EDF R&D                  WWW.CODE-ASTER.ORG
6575 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
6576 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
6577 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
6578 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
6579 #                                                                       
6580 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
6581 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
6582 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
6583 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
6584 #                                                                       
6585 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
6586 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
6587 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
6588 # ======================================================================
6589 # -*- coding: iso-8859-1 -*-
6590
6591 # RESPONSABLE MCOURTOI M.COURTOIS
6592
6593 def calc_table_prod(self, TABLE, ACTION, **kargs):
6594    """Typage du concept produit.
6595    """
6596    l_typ = [AsType(TABLE),]
6597    for mcf in ACTION:
6598       dmc = mcf.cree_dict_valeurs(mcf.mc_liste)
6599       if dmc.get('TABLE') != None:
6600          l_typ.append(AsType(dmc['TABLE']))
6601    # une table_fonction étant une table
6602    if table_fonction in l_typ:
6603       return table_fonction
6604    else:
6605       return table_sdaster
6606
6607
6608 from Macro.calc_table_ops import calc_table_ops
6609
6610 CALC_TABLE=MACRO(nom="CALC_TABLE",op=calc_table_ops, sd_prod=calc_table_prod,
6611                  fr="Opérations sur une table",
6612                  reentrant='f',
6613    regles=(DERIVABLE('TABLE'),),
6614    TABLE  = SIMP(statut='o',typ=table_sdaster),
6615    ACTION = FACT(statut='o', max='**',
6616                     fr = "Suite des opérations à effectuer sur la table",
6617       OPERATION = SIMP(statut='o', typ='TXM',
6618                   into=('FILTRE', 'EXTR', 'RENOMME', 'TRI', 'COMB', 'OPER',)),
6619       
6620       b_filtre = BLOC(condition="OPERATION == 'FILTRE'",
6621                       fr="Sélectionne les lignes de la table vérifiant un critère",
6622          NOM_PARA  = SIMP(statut='o',typ='TXM'),
6623          CRIT_COMP = SIMP(statut='f',typ='TXM',defaut="EQ",
6624                           into=('EQ','NE','GT','LT','GE','LE','REGEXP',
6625                                 'VIDE','NON_VIDE','MAXI','ABS_MAXI','MINI','ABS_MINI'),),
6626          b_vale = BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
6627             regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
6628             VALE   = SIMP(statut='f',typ='R'),
6629             VALE_I = SIMP(statut='f',typ='I'),
6630             VALE_C = SIMP(statut='f',typ='C'),
6631             VALE_K = SIMP(statut='f',typ='TXM'),
6632          ),
6633          b_regexp = BLOC(condition = "CRIT_COMP == 'REGEXP'",
6634             VALE_K = SIMP(statut='f',typ='TXM'),
6635          ),
6636          b_crit = BLOC(condition = "CRIT_COMP in ('EQ','NE')",
6637             CRITERE   = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
6638             PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
6639          ),
6640       ),
6641       
6642       b_extr = BLOC(condition="OPERATION ==  'EXTR'",
6643                     fr="Extrait une ou plusieurs colonnes de la table",
6644          NOM_PARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
6645                          fr="Noms des colonnes à extraire"),
6646       ),
6647    
6648       b_renomme = BLOC(condition="OPERATION == 'RENOMME'",
6649                        fr="Renomme un ou plusieurs paramètres de la table",
6650          NOM_PARA = SIMP(statut='o', typ='TXM', validators=NoRepeat(), min=2, max=2,
6651                          fr="Couple (ancien nom du paramètre, nouveau nom du paramètre)",),
6652       ),
6653    
6654       b_tri = BLOC(condition="OPERATION == 'TRI'",
6655                    fr="Ordonne les lignes de la table selon les valeurs d'un ou plusieurs paramètres",
6656          NOM_PARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),
6657          ORDRE    = SIMP(statut='f',typ='TXM',defaut="CROISSANT",
6658                          into=("CROISSANT","DECROISSANT") ),
6659       ),
6660       
6661       b_comb = BLOC(condition="OPERATION == 'COMB'",
6662                     fr="Combine deux tables ayant éventuellement des paramètres communs",
6663          TABLE    = SIMP(statut='o',typ=table_sdaster,
6664                          fr="Table dont les colonnes vont venir surcharger la table initiale"),
6665          NOM_PARA = SIMP(statut='f',typ='TXM',max='**',
6666                          fr="Noms des paramètres dont les valeurs doivent etre identiques dans les deux tables "\
6667                             "pour que les colonnes soient combinées"),
6668       ),
6669       
6670       b_oper = BLOC(condition="OPERATION == 'OPER'",
6671                     fr="Applique une formule dans laquelle les variables sont les paramètres de la table",
6672          FORMULE  = SIMP(statut='o',typ=formule,
6673                          fr="Formule à appliquer aux colonnes de la table"),
6674          NOM_PARA = SIMP(statut='o',typ='TXM',
6675                          fr="Nom de la nouvelle colonne"),
6676       ),
6677    ),
6678    
6679    SENSIBILITE = SIMP(statut='f',typ=(para_sensi,theta_geom),max=1,
6680                       fr="Paramètre de sensibilité",
6681                       ang="Sensitivity parameter"),
6682    TITRE = SIMP(statut='f',typ='TXM',max='**',
6683                 fr="Titre de la table produite"),
6684    INFO  = SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
6685 )
6686 #& MODIF COMMANDE  DATE 05/03/2007   AUTEUR GALENNE E.GALENNE 
6687 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6688 # ======================================================================
6689 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6690 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6691 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6692 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
6693 # (AT YOUR OPTION) ANY LATER VERSION.                                 
6694 #
6695 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
6696 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
6697 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
6698 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
6699 #
6700 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
6701 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
6702 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
6703 # ======================================================================
6704 CALC_THETA=OPER(nom="CALC_THETA",op=54,sd_prod=theta_geom,reentrant='n',
6705             UIinfo={"groupes":("Post traitements",)},
6706                 fr="Définir un champ theta pour le calcul du taux de restitution d'énergie"
6707                     +" ou des facteurs d'intensité de contraintes",
6708          regles=(UN_PARMI('THETA_2D','THETA_3D','THETA_BANDE'),
6709                  PRESENT_ABSENT('THETA_2D','DIRE_THETA'),
6710                  EXCLUS('DIRECTION','DIRE_THETA'),),
6711          OPTION          =SIMP(statut='f',typ='TXM',defaut="COURONNE",into=("COURONNE","BANDE") ),
6712          MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
6713          THETA_3D        =FACT(statut='f',max='**',
6714            regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'),
6715                    UN_PARMI('MODULE','MODULE_FO'),
6716                    ENSEMBLE('MODULE','R_INF','R_SUP'),
6717                    ENSEMBLE('MODULE_FO','R_INF_FO','R_SUP_FO'),),
6718            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6719            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6720            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
6721            MODULE          =SIMP(statut='f',typ='R'),
6722            R_INF           =SIMP(statut='f',typ='R'),
6723            R_SUP           =SIMP(statut='f',typ='R'),
6724            MODULE_FO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
6725            R_INF_FO        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
6726            R_SUP_FO        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
6727                          ),
6728          b_theta_3d     =BLOC(condition="THETA_3D != None",
6729            FOND_FISS       =SIMP(statut='o',typ=fond_fiss),),
6730          DIRE_THETA      =SIMP(statut='f',typ=cham_no_sdaster ),
6731          DIRECTION       =SIMP(statut='f',typ='R',max='**'),
6732          THETA_2D        =FACT(statut='f',max='**',
6733            regles=(UN_PARMI('GROUP_NO','NOEUD'),),
6734            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6735            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
6736            MODULE          =SIMP(statut='o',typ='R'),
6737            R_INF           =SIMP(statut='o',typ='R'),
6738            R_SUP           =SIMP(statut='o',typ='R'),
6739          ),
6740          THETA_BANDE     =FACT(statut='f',max='**',
6741            MODULE          =SIMP(statut='o',typ='R'),
6742            R_INF           =SIMP(statut='o',typ='R'),
6743            R_SUP           =SIMP(statut='o',typ='R'),
6744          ),
6745          GRAD_NOEU_THETA =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
6746          IMPRESSION      =FACT(statut='f',
6747            UNITE           =SIMP(statut='f',typ='I',defaut=8),  
6748            FORMAT          =SIMP(statut='f',typ='TXM',defaut="EXCEL",into=("EXCEL","AGRAF") ),
6749          ),
6750 )  ;
6751 #& MODIF COMMANDE  DATE 12/03/2007   AUTEUR DEVESA G.DEVESA 
6752 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6753 # ======================================================================
6754 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6755 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6756 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6757 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
6758 # (AT YOUR OPTION) ANY LATER VERSION.                                 
6759 #
6760 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
6761 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
6762 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
6763 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
6764 #
6765 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
6766 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
6767 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
6768 # ======================================================================
6769 # RESPONSABLE VABHHTS J.PELLET
6770 def calc_vect_elem_prod(OPTION,**args):
6771   if OPTION == "CHAR_MECA" :      return vect_elem_depl_r
6772   if OPTION == "CHAR_MECA_LAGR" : return vect_elem_depl_r
6773   if OPTION == "CHAR_THER" :      return vect_elem_temp_r
6774   if OPTION == "CHAR_ACOU" :      return vect_elem_pres_c
6775   if OPTION == "FORC_NODA" :      return vect_elem_depl_r
6776   raise AsException("type de concept resultat non prevu")
6777
6778 CALC_VECT_ELEM=OPER(nom="CALC_VECT_ELEM",op=8,sd_prod=calc_vect_elem_prod,reentrant='n',
6779             UIinfo={"groupes":("Matrices/vecteurs",)},
6780                     fr="Calcul des seconds membres élémentaires",
6781          OPTION          =SIMP(statut='o',typ='TXM',into=("CHAR_MECA","CHAR_THER","CHAR_ACOU",
6782                                                            "FORC_NODA","CHAR_MECA_LAGR") ),
6783          b_char_meca     =BLOC(condition = "OPTION=='CHAR_MECA'",
6784            regles=(AU_MOINS_UN('CHARGE','MODELE'),),
6785            CHARGE          =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
6786            MODELE          =SIMP(statut='f',typ=modele_sdaster),
6787            b_charge     =BLOC(condition = "CHARGE != None", fr="modèle ne contenant pas de sous-structure",
6788               CHAM_MATER   =SIMP(statut='f',typ=cham_mater),
6789               CARA_ELEM    =SIMP(statut='f',typ=cara_elem),
6790               INST         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6791               MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ),
6792            ),  
6793            b_modele     =BLOC(condition = "(MODELE != None)",fr="modèle contenant une sous-structure",
6794               SOUS_STRUC      =FACT(statut='o',min=01,
6795                 regles=(UN_PARMI('TOUT','SUPER_MAILLE'),),
6796                 CAS_CHARGE  =SIMP(statut='o',typ='TXM' ),
6797                 TOUT        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6798                 SUPER_MAILLE=SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',),
6799               ),
6800            ),
6801          ),
6802          b_char_ther     =BLOC(condition = "OPTION=='CHAR_THER'",
6803            CARA_ELEM        =SIMP(statut='f',typ=cara_elem),
6804            CHARGE           =SIMP(statut='o',typ=char_ther,validators=NoRepeat(),max='**'),
6805            INST             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6806          ),
6807               
6808          b_char_acou     =BLOC(condition = "OPTION=='CHAR_ACOU'",
6809            CHAM_MATER        =SIMP(statut='o',typ=cham_mater),
6810            CHARGE            =SIMP(statut='o',typ=char_acou,validators=NoRepeat(),max='**'),
6811          ),
6812          
6813          b_forc_noda     =BLOC(condition = "OPTION=='FORC_NODA'",
6814            SIEF_ELGA         =SIMP(statut='o',typ=cham_elem),
6815            CARA_ELEM         =SIMP(statut='f',typ=cara_elem),
6816            MODELE            =SIMP(statut='f',typ=modele_sdaster),
6817          ),
6818          
6819          b_meca_lagr     =BLOC(condition = "OPTION=='CHAR_MECA_LAGR'",
6820            CHAM_MATER        =SIMP(statut='o',typ=cham_mater),
6821            THETA             =SIMP(statut='o',typ=theta_geom),
6822            PROPAGATION       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6823            CHARGE            =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
6824            INST              =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6825          ),
6826 ) ;
6827 #& MODIF COMMANDE  DATE 12/09/2006   AUTEUR REZETTE C.REZETTE 
6828 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6829 # ======================================================================
6830 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6831 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6832 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6833 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
6834 # (AT YOUR OPTION) ANY LATER VERSION.                                 
6835 #
6836 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
6837 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
6838 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
6839 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
6840 #
6841 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
6842 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
6843 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
6844 # ======================================================================
6845 # RESPONSABLE G8BHHXD X.DESROCHES
6846 COMB_FOURIER=OPER(nom="COMB_FOURIER",op= 161,sd_prod=comb_fourier,
6847                   reentrant='n',fr="Recombiner les modes de Fourier d'une SD Résultat dans des directions particulières",
6848             UIinfo={"groupes":("Post traitements",)},
6849          RESULTAT        =SIMP(statut='o',typ=(fourier_elas,fourier_ther),),
6850          ANGL            =SIMP(statut='o',typ='R',max='**'),
6851          NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=6,
6852              into=("DEPL","REAC_NODA","SIEF_ELGA_DEPL","EPSI_ELNO_DEPL","SIGM_ELNO_DEPL","TEMP","FLUX_ELNO_TEMP"),),
6853 ) ;
6854 #& MODIF COMMANDE  DATE 29/01/2007   AUTEUR PELLET J.PELLET 
6855 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6856 # ======================================================================
6857 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6858 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6859 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6860 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
6861 # (AT YOUR OPTION) ANY LATER VERSION.
6862 #
6863 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
6864 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
6865 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
6866 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
6867 #
6868 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
6869 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
6870 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
6871 # ======================================================================
6872 # RESPONSABLE VABHHTS J.PELLET
6873 def comb_matr_asse_prod(COMB_R,COMB_C,CALC_AMOR_GENE,**args):
6874   if COMB_C != None:
6875     type_mat = AsType(COMB_C[0]['MATR_ASSE'])
6876     if type_mat in  (matr_asse_depl_c,matr_asse_depl_r) : return matr_asse_depl_c
6877     if type_mat in  (matr_asse_gene_c,matr_asse_gene_r) : return matr_asse_gene_c
6878     if type_mat in  (matr_asse_temp_c,matr_asse_temp_r) : return matr_asse_temp_c
6879     if type_mat in  (matr_asse_pres_c,matr_asse_pres_r) : return matr_asse_pres_c
6880   elif COMB_R != None:
6881     type_mat = AsType(COMB_R[0]['MATR_ASSE'])
6882     if type_mat in  (matr_asse_depl_c,matr_asse_depl_r) : return matr_asse_depl_r
6883     if type_mat in  (matr_asse_temp_c,matr_asse_temp_r) : return matr_asse_temp_r
6884     if type_mat in  (matr_asse_pres_c,matr_asse_pres_r) : return matr_asse_pres_r
6885     if type_mat in  (matr_asse_gene_c,matr_asse_gene_r) : return matr_asse_gene_r
6886   elif CALC_AMOR_GENE != None: return matr_asse_gene_r
6887   raise AsException("type de concept resultat non prevu")
6888
6889 COMB_MATR_ASSE=OPER(nom="COMB_MATR_ASSE",op=  31,sd_prod=comb_matr_asse_prod,
6890                     fr="Effectuer la combinaison linéaire de matrices assemblées",
6891                     reentrant='f',
6892             UIinfo={"groupes":("Résultats et champs",)},
6893          regles=(UN_PARMI('COMB_R','COMB_C','CALC_AMOR_GENE' ),),
6894          COMB_R          =FACT(statut='f',max='**',
6895            PARTIE          =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ),
6896            MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_temp_c
6897                                                 ,matr_asse_pres_r,matr_asse_pres_c,matr_asse_gene_r,matr_asse_gene_c ) ),
6898            COEF_R          =SIMP(statut='o',typ='R' ),
6899          ),
6900          COMB_C          =FACT(statut='f',max='**',
6901            regles=(UN_PARMI('COEF_R','COEF_C' ),),
6902            MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_temp_c
6903                                                 ,matr_asse_pres_r,matr_asse_pres_c,matr_asse_gene_r,matr_asse_gene_c ) ),
6904            COEF_R          =SIMP(statut='f',typ='R' ),
6905            COEF_C          =SIMP(statut='f',typ='C' ),
6906          ),
6907          CALC_AMOR_GENE   =FACT(statut='f',
6908            RIGI_GENE    = SIMP(statut='o', typ=matr_asse_gene_r),
6909            MASS_GENE    = SIMP(statut='o', typ=matr_asse_gene_r),
6910            regles=(UN_PARMI('AMOR_REDUIT','LIST_AMOR' ),),
6911            AMOR_REDUIT  = SIMP(statut='f',typ='R',max='**'),
6912            LIST_AMOR    = SIMP(statut='f',typ=listr8_sdaster ),
6913          ),
6914          SANS_CMP        =SIMP(statut='f',typ='TXM',into=("LAGR",) ),
6915 )  ;
6916 #& MODIF COMMANDE  DATE 03/01/2006   AUTEUR REZETTE C.REZETTE 
6917 #            CONFIGURATION MANAGEMENT OF EDF VERSION
6918 # ======================================================================
6919 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
6920 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6921 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6922 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
6923 # (AT YOUR OPTION) ANY LATER VERSION.                                 
6924 #
6925 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
6926 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
6927 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
6928 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
6929 #
6930 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
6931 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
6932 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
6933 # ======================================================================
6934 COMB_SISM_MODAL=OPER(nom="COMB_SISM_MODAL",op= 109,sd_prod=mode_stat,
6935                      fr="Réponse sismique par recombinaison modale par une méthode spectrale",
6936                      reentrant='n',
6937             UIinfo={"groupes":("Post traitements",)},
6938          regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','FREQ','NUME_MODE','LIST_FREQ','LIST_ORDRE'),
6939                  UN_PARMI('AMOR_REDUIT','LIST_AMOR','AMOR_GENE' ),),
6940          MODE_MECA       =SIMP(statut='o',typ=mode_meca ),
6941          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6942          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
6943          LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster ),
6944          NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
6945          FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
6946          LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
6947          b_freq          =BLOC(condition = "FREQ != None or LIST_FREQ != None",
6948            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
6949            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
6950          ),
6951          MODE_CORR       =SIMP(statut='f',typ=mode_stat_acce ),
6952          
6953          AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
6954          LIST_AMOR       =SIMP(statut='f',typ=listr8_sdaster ),
6955          AMOR_GENE       =SIMP(statut='f',typ=matr_asse_gene_r ),
6956          
6957          MASS_INER       =SIMP(statut='f',typ=table_sdaster ),
6958          CORR_FREQ       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
6959          
6960          EXCIT           =FACT(statut='o',max='**',
6961            regles=(UN_PARMI('MONO_APPUI','NOEUD','GROUP_NO'),
6962                    UN_PARMI('AXE','TRI_AXE','TRI_SPEC' ),),
6963            
6964            MONO_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6965            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
6966            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6967            AXE             =SIMP(statut='f',typ='R',max=3,fr="Excitation suivant un seul axe",),
6968            TRI_AXE         =SIMP(statut='f',typ='R',max=3,fr="Excitation suivant les trois axes mais avec le meme spectre",),
6969            TRI_SPEC        =SIMP(statut='f',typ='TXM',into=("OUI",),
6970                                  fr="Excitation suivant les trois axes  avec trois spectres"),
6971            b_axe           =BLOC(condition = "AXE != None",fr="Excitation suivant un seul axe",
6972              SPEC_OSCI       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),),
6973              ECHELLE         =SIMP(statut='f',typ='R',),
6974            ),
6975            b_tri_axe       =BLOC(condition = "TRI_AXE != None",fr="Excitation suivant les trois axes mais avec le meme spectre",
6976              SPEC_OSCI       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),),
6977              ECHELLE         =SIMP(statut='f',typ='R',),
6978            ),
6979            b_tri_spec      =BLOC(condition = "TRI_SPEC != None",fr="Excitation suivant les trois axes  avec trois spectres",
6980              SPEC_OSCI       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),min=3,max=3 ),
6981              ECHELLE         =SIMP(statut='f',typ='R',min=3,max=3),
6982            ),       
6983            NATURE          =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("ACCE","VITE","DEPL") ),
6984          ),
6985          COMB_MODE       =FACT(statut='o',
6986            TYPE            =SIMP(statut='o',typ='TXM',into=("SRSS","CQC","DSC","ABS","DPC") ),
6987            DUREE           =SIMP(statut='f',typ='R' ),
6988          ),
6989          COMB_DIRECTION  =FACT(statut='f',
6990            TYPE            =SIMP(statut='f',typ='TXM',into=("QUAD","NEWMARK") ),
6991          ),
6992          COMB_MULT_APPUI =FACT(statut='f',max='**',
6993            regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO' ),),
6994            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6995            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
6996            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6997            TYPE_COMBI      =SIMP(statut='f',typ='TXM',into=("QUAD","LINE",) ),
6998          ),
6999          COMB_DEPL_APPUI=FACT(statut='f',max='**',
7000            regles=(UN_PARMI('TOUT','LIST_CAS'),),
7001            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
7002            LIST_CAS       =SIMP(statut='f',typ='I',max='**'),
7003            TYPE_COMBI      =SIMP(statut='f',typ='TXM',into=("QUAD","LINE","ABS") ),
7004          ),
7005          DEPL_MULT_APPUI =FACT(statut='f',max='**',
7006            regles=(UN_PARMI('NOEUD','GROUP_NO'),
7007                    AU_MOINS_UN('DX','DY','DZ' ),),
7008            NOM_CAS         =SIMP(statut='o',typ='TXM',max='**'),
7009            NUME_CAS        =SIMP(statut='o',typ='I',max='**'),
7010            MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,), ),
7011            NOEUD_REFE      =SIMP(statut='f',typ=no),
7012            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
7013            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
7014            DX              =SIMP(statut='f',typ='R' ),
7015            DY              =SIMP(statut='f',typ='R' ),
7016            DZ              =SIMP(statut='f',typ='R' ),
7017          ),
7018          OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=9,
7019                                into=("DEPL","VITE","ACCE_ABSOLU","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL",
7020                                      "EFGE_ELNO_DEPL","REAC_NODA","FORC_NODA","EFGE_ELNO_CART",
7021                                      "SIPO_ELNO_DEPL") ),
7022          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
7023          IMPRESSION      =FACT(statut='f',max='**',
7024            regles=(EXCLUS('TOUT','NIVEAU'),),
7025            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7026            NIVEAU          =SIMP(statut='f',typ='TXM',into=("SPEC_OSCI","MASS_EFFE","MAXI_GENE"),validators=NoRepeat(),max=3 ),
7027          ),
7028          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
7029 )  ;
7030 #& MODIF COMMANDE  DATE 12/09/2006   AUTEUR REZETTE C.REZETTE 
7031 # RESPONSABLE VABHHTS J.PELLET
7032 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7033 # ======================================================================
7034 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7035 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7036 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7037 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
7038 # (AT YOUR OPTION) ANY LATER VERSION.
7039 #
7040 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
7041 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
7042 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
7043 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
7044 #
7045 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
7046 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
7047 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
7048 # ======================================================================
7049 def crea_champ_prod(TYPE_CHAM,**args):
7050   if TYPE_CHAM[0:5] == "CART_" :
7051      return carte_sdaster
7052   elif TYPE_CHAM[0:5] == "NOEU_" :
7053      return cham_no_sdaster
7054   elif TYPE_CHAM[0:2] == "EL"    :
7055      return cham_elem
7056   else :
7057      raise AsException("type de concept resultat_sdaster non prevu")
7058
7059
7060 CREA_CHAMP=OPER(nom="CREA_CHAMP",op= 195,sd_prod=crea_champ_prod,
7061                 fr="Création d'un champ ",reentrant='n',
7062             UIinfo={"groupes":("Résultats et champs",)},
7063          TYPE_CHAM       =SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO()),
7064       # TYPE_CHAM doit etre de la forme : CART_xx, NOEU_xx, ELEM_xx, ELGA_xx ou ELNO_xx
7065       # ou xx est le nom d'une grandeur définie dans le catalogue des grandeurs 
7066 #        SI CREATION D'UN CHAM_NO, POUR IMPOSER LA NUMEROTATION DES DDLS :
7067 #        ------------------------------------------------------------------
7068          regles=(EXCLUS('NUME_DDL','CHAM_NO',)),
7069          NUME_DDL        =SIMP(statut='f',typ=(nume_ddl_sdaster) ),
7070          CHAM_NO         =SIMP(statut='f',typ=(cham_no_sdaster) ),
7071
7072 #        SI CREATION D'UN CHAM_ELEM, POUR aider a l'allocation du champ :
7073 #        (PAR DEFAUT : TOU_INI_ELNO/_ELGA/_ELEM)
7074 #        ------------------------------------------------------------------
7075          OPTION         =SIMP(statut='f',typ='TXM'),
7076
7077          OPERATION       =SIMP(statut='o',typ='TXM',into=("AFFE","ASSE","EVAL","EXTR","DISC","NORMALE","R2C","C2R") ),
7078
7079 #        ------------------------------------------------------------------
7080          b_norm          =BLOC(condition = "OPERATION == 'NORMALE'",
7081                                regles=(AU_MOINS_UN('GROUP_MA','MAILLE',),),
7082              MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
7083              GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
7084              MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
7085                              ),
7086 #        ------------------------------------------------------------------
7087          b_affe          =BLOC(condition = "OPERATION == 'AFFE'",
7088              regles=(UN_PARMI('MAILLAGE','MODELE'),),
7089              MAILLAGE        =SIMP(statut='f',typ=(maillage_sdaster) ),
7090              MODELE          =SIMP(statut='f',typ=(modele_sdaster) ),
7091              b_affe_modele   =BLOC(condition = "MODELE != None",
7092                  PROL_ZERO       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), ),
7093              AFFE            =FACT(statut='o',max='**',
7094                 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD',),
7095                         UN_PARMI('VALE','VALE_I','VALE_C','VALE_F', ),),
7096                 TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7097                 GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
7098                 MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
7099                 GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
7100                 NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
7101                 NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),
7102                 VALE            =SIMP(statut='f',typ='R',max='**' ),
7103                 VALE_I          =SIMP(statut='f',typ='I',max='**' ),
7104                 VALE_C          =SIMP(statut='f',typ='C',max='**' ),
7105                 VALE_F          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'),
7106                                    ),
7107                              ),
7108 #        ------------------------------------------------------------------
7109          b_asse          =BLOC(condition = "OPERATION == 'ASSE'",
7110              regles=(UN_PARMI('MAILLAGE','MODELE'),),
7111              MAILLAGE        =SIMP(statut='f',typ=(maillage_sdaster) ),
7112              MODELE          =SIMP(statut='f',typ=(modele_sdaster) ),
7113              b_asse_modele   =BLOC(condition = "MODELE != None",
7114                  PROL_ZERO       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), ),
7115              ASSE            =FACT(statut='o',max='**',
7116                 regles=(AU_MOINS_UN('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD',),
7117                 PRESENT_PRESENT('NOM_CMP_RESU','NOM_CMP', ),),
7118                 TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7119                 GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7120                 GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
7121                 MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
7122                 NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
7123                 CHAM_GD         =SIMP(statut='o',typ=cham_gd_sdaster),
7124                 NOM_CMP         =SIMP(statut='f',typ='TXM',max='**' ),
7125                 NOM_CMP_RESU    =SIMP(statut='f',typ='TXM',max='**' ),
7126                 CUMUL           =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
7127                 COEF_R          =SIMP(statut='f',typ='R',defaut= 1. ),
7128                 COEF_C          =SIMP(statut='f',typ='C',max=1),
7129                                     ),
7130                              ),
7131 #        ------------------------------------------------------------------
7132          b_eval          =BLOC(condition = "OPERATION == 'EVAL'",
7133              CHAM_F          =SIMP(statut='o',typ=cham_gd_sdaster),
7134              CHAM_PARA       =SIMP(statut='o',typ=cham_gd_sdaster,max='**'),
7135                              ),
7136 #        ------------------------------------------------------------------
7137          b_r2c           =BLOC(condition = "OPERATION == 'R2C'",
7138              CHAM_GD          =SIMP(statut='o',typ=cham_gd_sdaster),
7139                              ),
7140 #        ------------------------------------------------------------------
7141          b_c2r           =BLOC(condition = "OPERATION == 'C2R'",
7142              CHAM_GD          =SIMP(statut='o',typ=cham_gd_sdaster),
7143              PARTIE           =SIMP(statut='o',typ='TXM',into=('REEL','IMAG'),),
7144                              ),
7145 #        ------------------------------------------------------------------
7146          b_disc          =BLOC(condition = "OPERATION == 'DISC'",
7147              MODELE          =SIMP(statut='f',typ=(modele_sdaster) ),
7148              PROL_ZERO       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
7149              CHAM_GD         =SIMP(statut='o',typ=cham_gd_sdaster),
7150                              ),
7151 #        ------------------------------------------------------------------
7152          b_extr          =BLOC(condition = "OPERATION == 'EXTR'",
7153              regles=(AU_MOINS_UN('MAILLAGE','FISSURE','RESULTAT','TABLE'),),
7154              MAILLAGE        =SIMP(statut='f',typ=(maillage_sdaster) ),
7155              FISSURE         =SIMP(statut='f',typ=(fiss_xfem) ),
7156              RESULTAT        =SIMP(statut='f',typ=(resultat_sdaster) ),
7157              TABLE           =SIMP(statut='f',typ=(table_sdaster),min=1,max=1),
7158              b_extr_maillage =BLOC(condition = "MAILLAGE != None and TABLE == None",
7159                  NOM_CHAM        =SIMP(statut='o',typ='TXM',into=("GEOMETRIE",)),
7160              ),
7161              b_extr_fissure  =BLOC(condition = "FISSURE != None",
7162                  NOM_CHAM        =SIMP(statut='o',typ='TXM',into=("LTNO","LNNO","GRLTNO","GRLNNO","STNO","STNOR","BASLOC")),
7163              ),
7164              b_extr_table    =BLOC(condition = "TABLE != None",
7165                       regles=( EXCLUS('MODELE','MAILLAGE'),
7166                                EXCLUS('PROL_ZERO','MAILLAGE'),),
7167                       MAILLAGE        =SIMP(statut='f',typ=(maillage_sdaster),),
7168                       MODELE          =SIMP(statut='f',typ=(modele_sdaster),),
7169                       OPTION          =SIMP(statut='f',typ='TXM'),
7170                       PROL_ZERO       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
7171                  ),
7172              b_extr_resultat =BLOC(condition = "RESULTAT != None",
7173                  regles=(DERIVABLE('RESULTAT'),),
7174                  SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),
7175                                    fr="Paramètre de sensibilité.",
7176                                    ang="Sensitivity parameter"),
7177                  NOM_CHAM        =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()),
7178                  TYPE_MAXI       =SIMP(statut='f',typ='TXM',into=("MAXI","MINI","MAXI_ABS","MINI_ABS","NORM_TRAN",) ),
7179
7180                  # si TYPE_MAXI, on spécifie en général plusieurs numéros d'ordre :
7181                  b_type_maxi =BLOC(condition = "TYPE_MAXI != None",
7182                       TYPE_RESU       =SIMP(statut='o',typ='TXM',defaut="VALE",into=("VALE","INST",) ),
7183
7184                       regles=(EXCLUS('TOUT_ORDRE','LIST_INST','LIST_FREQ','NUME_ORDRE','INST',
7185                                       'FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGL'),),
7186                       TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7187                       LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),
7188                       LIST_FREQ       =SIMP(statut='f',typ=(listr8_sdaster) ),
7189                       NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),
7190                       INST            =SIMP(statut='f',typ='R',max='**'),
7191                       FREQ            =SIMP(statut='f',typ='R',max='**'),
7192                       NUME_MODE       =SIMP(statut='f',typ='I',max='**'),
7193                       NOEUD_CMP       =SIMP(statut='f',typ='TXM',max='**'),
7194                       NOM_CAS         =SIMP(statut='f',typ='TXM',max='**'),
7195                       ANGL            =SIMP(statut='f',typ='R',max='**'),
7196                  ),
7197
7198                  # si .not. TYPE_MAXI, on ne doit spécifier qu'un seul numéro d'ordre :
7199                  b_non_type_maxi =BLOC(condition = "TYPE_MAXI == None",
7200                       regles=(EXCLUS('NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGL'),),
7201                       NUME_ORDRE      =SIMP(statut='f',typ='I'),
7202                       INST            =SIMP(statut='f',typ='R'),
7203                       FREQ            =SIMP(statut='f',typ='R'),
7204                       NUME_MODE       =SIMP(statut='f',typ='I'),
7205                       NOEUD_CMP       =SIMP(statut='f',typ='TXM',max=2),
7206                       NOM_CAS         =SIMP(statut='f',typ='TXM'),
7207                       ANGL            =SIMP(statut='f',typ='R'),
7208
7209                       INTERPOL        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN",) ),
7210                  ),
7211
7212                  PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
7213                  CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
7214
7215          ),  # fin bloc b_extr
7216
7217
7218                ),
7219 # FIN DU CATALOGUE : INFO,TITRE ET TYPAGE DU RESULTAT :
7220 #-----------------------------------------------------
7221          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ),
7222          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
7223 )  ;
7224 #& MODIF COMMANDE  DATE 13/12/2006   AUTEUR PELLET J.PELLET 
7225 # RESPONSABLE MCOURTOI M.COURTOIS
7226 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7227 # ======================================================================
7228 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7229 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7230 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7231 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
7232 # (AT YOUR OPTION) ANY LATER VERSION.
7233 #
7234 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
7235 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
7236 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
7237 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
7238 #
7239 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
7240 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
7241 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
7242 # ======================================================================
7243 CREA_MAILLAGE=OPER(nom="CREA_MAILLAGE",op= 167,sd_prod=maillage_sdaster,
7244             reentrant='n',fr="Crée un maillage à partir d'un maillage existant",
7245             UIinfo={"groupes":("Maillage",)},
7246          regles=(EXCLUS('ECLA_PG','CREA_MAILLE'),
7247                  EXCLUS('ECLA_PG','CREA_GROUP_MA'),
7248                  EXCLUS('ECLA_PG','DETR_GROUP_MA'),
7249                  EXCLUS('ECLA_PG','MODI_MAILLE'),
7250                  EXCLUS('ECLA_PG','LINE_QUAD'),
7251                  EXCLUS('ECLA_PG','CREA_FISS'),
7252                  EXCLUS('ECLA_PG','COQU_VOLU'),
7253                  EXCLUS('LINE_QUAD','MODI_MAILLE'),
7254                  EXCLUS('LINE_QUAD','CREA_MAILLE'),
7255                  EXCLUS('LINE_QUAD','CREA_GROUP_MA'),
7256                  EXCLUS('LINE_QUAD','DETR_GROUP_MA'),
7257                  EXCLUS('LINE_QUAD','CREA_FISS'),
7258                  EXCLUS('LINE_QUAD','COQU_VOLU'),
7259                  EXCLUS('CREA_FISS','MODI_MAILLE'),
7260                  EXCLUS('CREA_FISS','CREA_MAILLE'),
7261                  EXCLUS('CREA_FISS','CREA_GROUP_MA'),
7262                  EXCLUS('CREA_FISS','DETR_GROUP_MA'),
7263                  EXCLUS('CREA_FISS','COQU_VOLU'),
7264                  EXCLUS('COQU_VOLU','MODI_MAILLE'),
7265                  EXCLUS('COQU_VOLU','CREA_MAILLE'),
7266                  EXCLUS('COQU_VOLU','CREA_GROUP_MA'),
7267                  EXCLUS('COQU_VOLU','DETR_GROUP_MA'),
7268                  ),
7269
7270          # le MAILLAGE est inutile si ECLA_PG
7271          MAILLAGE        =SIMP(statut='f',typ=maillage_sdaster ),
7272
7273          CREA_POI1       =FACT(statut='f',max='**',fr="Création de mailles de type POI1 à partir de noeuds",
7274            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD' ),),
7275            NOM_GROUP_MA    =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7276            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7277            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7278            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
7279            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
7280            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
7281          ),
7282          CREA_MAILLE     =FACT(statut='f',max='**',fr="Duplication de mailles",
7283            regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA'),),
7284            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7285            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
7286            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7287            PREF_MAILLE     =SIMP(statut='o',typ='TXM' ),
7288            PREF_NUME       =SIMP(statut='f',typ='I' ),
7289          ),
7290          CREA_GROUP_MA   =FACT(statut='f',max='**',fr="Duplication de mailles et création de groupes de mailles",
7291            regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),),
7292            NOM             =SIMP(statut='o',typ='TXM'),
7293            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7294            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
7295            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7296            PREF_MAILLE     =SIMP(statut='o',typ='TXM' ),
7297            PREF_NUME       =SIMP(statut='f',typ='I' ),
7298          ),
7299          DETR_GROUP_MA   =FACT(statut='f',fr="Destruction de groupes de mailles",
7300            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7301            NB_MAILLE       =SIMP(statut='f',typ='I',defaut= 0,
7302                                  fr="Nombre minimal de mailles que doit contenir le groupe pour etre détruit",  ),
7303          ),
7304          COQU_VOLU   =FACT(statut='f',
7305                            fr="Creation de mailles volumiques à partir de mailles surfaciques",
7306            NOM             =SIMP(statut='o',typ='TXM'),
7307            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max ='**'),
7308            EPAIS           =SIMP(statut='o',typ='R' ),
7309            PREF_MAILLE     =SIMP(statut='f',typ='TXM',defaut="MS" ),
7310            PREF_NOEUD      =SIMP(statut='f',typ='TXM',defaut="NS" ),
7311            PREF_NUME       =SIMP(statut='f',typ='I'  ,defaut=1 ),
7312            PLAN            =SIMP(statut='o',typ='TXM',into=("SUP","MOY","INF")),
7313            b_MOY =BLOC(condition = "PLAN == 'MOY'",
7314              TRANSLATION   =SIMP(statut='o',typ='TXM',into=("SUP","INF") ),
7315            ),
7316          ),
7317          MODI_MAILLE     =FACT(statut='f',max='**',fr="Modification du type de mailles",
7318            regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),),
7319            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7320            MAILLE          =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7321            GROUP_MA        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
7322            OPTION          =SIMP(statut='o',typ='TXM',into=("TRIA6_7","QUAD8_9","SEG3_4","QUAD_TRIA3"),
7323                                  fr="Choix de la transformation" ),
7324            b_NOS =BLOC(condition = "OPTION == 'TRIA6_7'  or  OPTION == 'QUAD8_9'  or  OPTION == 'SEG3_4'",
7325              PREF_NOEUD      =SIMP(statut='f',typ='TXM',defaut="NS"),
7326              PREF_NUME       =SIMP(statut='f',typ='I',defaut= 1 ),
7327            ),
7328            b_QTR =BLOC(condition = "OPTION == 'QUAD_TRIA3'",
7329              PREF_MAILLE     =SIMP(statut='f',typ='TXM',defaut="MS" ),
7330              PREF_NUME       =SIMP(statut='f',typ='I',defaut= 1 ),
7331            ),
7332          ),
7333          CREA_FISS = FACT(statut='f',max='**',fr="Creation d'une fissure potentielle avec elts de joint ou elts à disc",
7334            NOM             =SIMP(statut='o',typ='TXM'),
7335            GROUP_NO_1      =SIMP(statut='o',typ=grno),
7336            GROUP_NO_2      =SIMP(statut='o',typ=grno),
7337            PREF_MAILLE     =SIMP(statut='o',typ='TXM'),
7338            PREF_NUME       =SIMP(statut='f',typ='I',defaut=1 ),
7339          ),
7340          LINE_QUAD     =FACT(statut='f',fr="Passage linéaire -> quadratique",
7341            regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),),
7342            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7343            MAILLE          =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7344            GROUP_MA        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
7345            PREF_NOEUD      =SIMP(statut='f',typ='TXM',defaut="NS"),
7346            PREF_NUME       =SIMP(statut='f',typ='I',defaut= 1 ),
7347          ),
7348          QUAD_LINE     =FACT(statut='f',fr="Passage quadratique -> linéaire",
7349            regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),),
7350            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7351            MAILLE          =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7352            GROUP_MA        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
7353          ),
7354          REPERE          =FACT(statut='f',max='**',
7355                                fr="changement de repère servant à déterminer les caractéristiques d'une section de poutre",
7356            TABLE           =SIMP(statut='o',typ=table_sdaster,
7357                                  fr="Nom de la table contenant les caractéristiques de la section de poutre" ),
7358            NOM_ORIG        =SIMP(statut='f',typ='TXM',into=("CDG","TORSION"),fr="Origine du nouveau repère" ),
7359            NOM_ROTA        =SIMP(statut='f',typ='TXM',into=("INERTIE",),fr="Direction du repére"  ),
7360            b_cdg =BLOC(condition = "NOM_ORIG == 'CDG'",
7361              GROUP_MA        =SIMP(statut='f',typ=grma,
7362                                    fr="Nom du groupe de mailles dont le centre de gravité sera l origine du nouveau repère"),
7363            ),
7364          ),
7365          ECLA_PG         =FACT(statut='f',
7366                                fr="Eclatement des mailles en petites mailles contenant chacune un seul point de gauss",
7367            MODELE          =SIMP(statut='o',typ=modele_sdaster ),
7368            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7369            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
7370            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7371            SHRINK          =SIMP(statut='f',typ='R',defaut= 0.9, fr="Facteur de réduction" ),
7372            TAILLE_MIN      =SIMP(statut='f',typ='R',defaut= 0.0, fr="Taille minimale d'un coté" ),
7373            NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
7374          ),
7375          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
7376 #
7377          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
7378 )  ;
7379 #& MODIF COMMANDE  DATE 28/03/2007   AUTEUR PELLET J.PELLET 
7380 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7381 # ======================================================================
7382 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7383 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7384 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7385 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
7386 # (AT YOUR OPTION) ANY LATER VERSION.
7387 #
7388 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
7389 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
7390 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
7391 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
7392 #
7393 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
7394 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
7395 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
7396 # ======================================================================
7397 def crea_resu_prod(TYPE_RESU,**args):
7398   if TYPE_RESU == "EVOL_ELAS"    : return evol_elas
7399   if TYPE_RESU == "EVOL_NOLI"    : return evol_noli
7400   if TYPE_RESU == "EVOL_THER"    : return evol_ther
7401   if TYPE_RESU == "MULT_ELAS"    : return mult_elas
7402   if TYPE_RESU == "FOURIER_ELAS" : return fourier_elas
7403   if TYPE_RESU == "FOURIER_THER" : return fourier_ther
7404   if TYPE_RESU == "EVOL_VARC"    : return evol_varc
7405   if TYPE_RESU == "EVOL_CHAR"    : return evol_char
7406   raise AsException("type de concept resultat non prevu")
7407
7408 CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,reentrant='f',
7409             UIinfo={"groupes":("Modélisation",)},
7410                fr="Créer ou enrichir une structure de donnees resultat à partir de champs aux noeuds",
7411
7412          OPERATION =SIMP(statut='o',typ='TXM',into=("AFFE","ECLA_PG","PERM_CHAM","PROL_RTZ","PREP_VRC1","PREP_VRC2",),
7413                          fr="choix de la fonction a activer",),
7414
7415          b_affe       =BLOC(condition = "OPERATION == 'AFFE'",
7416
7417            TYPE_RESU    =SIMP(statut='o',position='global',typ='TXM',into=("MULT_ELAS","EVOL_ELAS","EVOL_NOLI","FOURIER_ELAS",
7418                                                                            "EVOL_THER","EVOL_VARC","EVOL_CHAR","FOURIER_THER") ),
7419            NOM_CHAM     =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()),
7420
7421            AFFE         =FACT(statut='o',max='**',
7422              CHAM_GD       =SIMP(statut='o',typ=(cham_gd_sdaster)),
7423              MODELE        =SIMP(statut='f',typ=modele_sdaster),
7424              CHAM_MATER    =SIMP(statut='f',typ=cham_mater),
7425              CARA_ELEM     =SIMP(statut='f',typ=cara_elem),
7426
7427              b_mult_elas     =BLOC(condition = "TYPE_RESU == 'MULT_ELAS' ",
7428                 NOM_CAS         =SIMP(statut='f',typ='TXM' ),
7429              ),
7430              b_evol          =BLOC(condition = "((TYPE_RESU=='EVOL_ELAS') or (TYPE_RESU=='EVOL_NOLI') or (TYPE_RESU=='EVOL_THER')\
7431                                                                           or (TYPE_RESU=='EVOL_VARC') or (TYPE_RESU=='EVOL_CHAR'))",
7432                 regles=(UN_PARMI('INST','LIST_INST'),),
7433                 INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
7434                 LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
7435                 NUME_INIT       =SIMP(statut='f',typ='I', val_min=1),
7436                 NUME_FIN        =SIMP(statut='f',typ='I', val_min=1),
7437                 PRECISION       =SIMP(statut='f',typ='R',defaut= 0. ),
7438                 CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
7439              ),
7440              b_fourier       =BLOC(condition = "((TYPE_RESU == 'FOURIER_ELAS') or (TYPE_RESU == 'FOURIER_THER')) ",
7441                 NUME_MODE       =SIMP(statut='f',typ='I'),
7442                 TYPE_MODE       =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ),
7443              ),
7444            ),
7445          ),
7446
7447          b_ecla_pg    =BLOC(condition = "OPERATION == 'ECLA_PG'",
7448
7449            TYPE_RESU       =SIMP(statut='o',typ='TXM',into=("EVOL_ELAS","EVOL_NOLI","EVOL_THER"), ),
7450
7451            ECLA_PG         =FACT(statut='o',
7452              regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),),
7453              NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),
7454              MODELE_INIT     =SIMP(statut='o',typ=modele_sdaster),
7455              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7456              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
7457              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7458              RESU_INIT       =SIMP(statut='o',typ=resultat_sdaster),
7459              MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),
7460              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7461              NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
7462              LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
7463              INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
7464              LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
7465              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
7466              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
7467            ),
7468          ),
7469
7470          b_perm_cham =BLOC(condition = "OPERATION == 'PERM_CHAM'",
7471
7472            TYPE_RESU       =SIMP(statut='o',typ='TXM',into=("EVOL_NOLI",) ),
7473            NOM_CHAM        =SIMP(statut='f',typ='TXM',into=("DEPL","SIEF_ELGA","VARI_ELGA",),validators=NoRepeat(),max='**' ),
7474            RESU_INIT       =SIMP(statut='o',typ=evol_noli),
7475            INST_INIT       =SIMP(statut='f',typ='R'),
7476            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
7477            CRITERE         =SIMP(statut='f',typ='TXM',into=('RELATIF','ABSOLU'),defaut='RELATIF'),
7478            MAILLAGE_INIT   =SIMP(statut='o',typ=maillage_sdaster,),
7479            RESU_FINAL      =SIMP(statut='o',typ=evol_noli,),
7480            MAILLAGE_FINAL  =SIMP(statut='o',typ=maillage_sdaster,),
7481            PERM_CHAM       =FACT(statut='o',max='**',
7482               GROUP_MA_FINAL =SIMP(statut='o',typ=grma),
7483               GROUP_MA_INIT  =SIMP(statut='o',typ=grma),
7484               TRAN           =SIMP(statut='o',typ='R',max='**'),
7485               PRECISION      =SIMP(statut='f',typ='R',defaut=1.0E-3),
7486            ),
7487          ),
7488
7489          b_prol_rtz   =BLOC(condition = "OPERATION == 'PROL_RTZ'",
7490
7491            TYPE_RESU       =SIMP(statut='o',typ='TXM',into=("EVOL_THER",) ),
7492
7493            PROL_RTZ        =FACT(statut='o',
7494               regles=(EXCLUS('INST','LIST_INST'),),
7495               MAILLAGE_FINAL  =SIMP(statut='o',typ=maillage_sdaster,),
7496               TABLE           =SIMP(statut='o',typ=table_sdaster,fr="Table issue de post_releve_t"),
7497               INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
7498               LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
7499               b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)",
7500                  PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),
7501                  CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
7502               ),
7503               PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU",),),
7504               PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU",),),
7505               REPERE          =SIMP(statut='o',typ='TXM',into=("CYLINDRIQUE",),),
7506               ORIGINE         =SIMP(statut='o',typ='R',min=3,max=3),
7507               AXE_Z           =SIMP(statut='o',typ='R',min=3,max=3),
7508            ),
7509          ),
7510
7511          b_prep_vrc1      =BLOC(condition = "OPERATION == 'PREP_VRC1'",
7512            # calculer la température dans les couches des coques multicouche à partir d'un champ de fonctions
7513            # de fonctions du temps et de l'espace (épaisseur)
7514
7515            TYPE_RESU    =SIMP(statut='o',position='global',typ='TXM',into=( "EVOL_THER",) ),
7516
7517            PREP_VRC1        =FACT(statut='o',max=1,
7518              CHAM_GD       =SIMP(statut='o',typ=(cham_gd_sdaster)), # carte de fonctions du temps et de l'épaisseur
7519              MODELE        =SIMP(statut='o',typ=modele_sdaster),    # modèle mécanique contenant les coques multicouche
7520              CARA_ELEM     =SIMP(statut='o',typ=cara_elem),         # CARA_ELEM pour connaitre EPAIS et COQU_NCOU
7521              INST          =SIMP(statut='o',typ='R',validators=NoRepeat(),max='**'),
7522            ),
7523          ),
7524
7525          b_prep_vrc2      =BLOC(condition = "OPERATION == 'PREP_VRC2'",
7526            # calculer la température dans les couches des coques multicouche à partir d'un evol_ther "coque"
7527            # contenant TEMP/TEMP_INF/TEMP_SUP
7528
7529            TYPE_RESU    =SIMP(statut='o',position='global',typ='TXM',into=( "EVOL_THER",) ),
7530
7531            PREP_VRC2        =FACT(statut='o',max=1,
7532              EVOL_THER     =SIMP(statut='o',typ=(evol_ther)),       # evol_ther de type "coque" (TEMP/TEMP_INF/TEMP_SUP)
7533              MODELE        =SIMP(statut='o',typ=modele_sdaster),    # modèle mécanique contenant les coques multicouche
7534              CARA_ELEM     =SIMP(statut='o',typ=cara_elem),         # CARA_ELEM pour connaitre EPAIS et COQU_NCOU
7535            ),
7536          ),
7537 )  ;
7538 #& MODIF COMMANDE  DATE 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
7539 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7540 # ======================================================================
7541 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
7542 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
7543 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
7544 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
7545 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
7546 #                                                                       
7547 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
7548 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
7549 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
7550 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
7551 #                                                                       
7552 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
7553 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
7554 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
7555 # ======================================================================
7556
7557 def crea_table_prod(TYPE_TABLE, **args):
7558    """Typage du concept résultat
7559    """
7560    if TYPE_TABLE == 'TABLE_FONCTION':
7561       return table_fonction
7562    else:
7563       return table_sdaster
7564
7565 CREA_TABLE=OPER(nom="CREA_TABLE",op=36,sd_prod=crea_table_prod,
7566                 fr="Création d'une table à partir d'une fonction ou de deux listes",
7567                 reentrant='f',UIinfo={"groupes":("Table",)},
7568
7569            regles=(EXCLUS('FONCTION','LISTE'),),
7570
7571            LISTE=FACT(statut='f',max='**',
7572                  fr="Creation d'une table a partir de listes",
7573                  regles=(UN_PARMI('LISTE_I','LISTE_R','LISTE_K')), 
7574                         PARA     =SIMP(statut='o',typ='TXM'),
7575                         TYPE_K   =SIMP(statut='f',typ='TXM',defaut='K8',
7576                                     into=('K8','K16','K24')),
7577                         NUME_LIGN=SIMP(statut='f',typ='I',max='**'),
7578                         LISTE_I  =SIMP(statut='f',typ='I',max='**'),
7579                         LISTE_R  =SIMP(statut='f',typ='R',max='**'),
7580                         LISTE_K  =SIMP(statut='f',typ='TXM', max='**'),
7581            ),
7582            FONCTION=FACT(statut='f',
7583                     fr="Creation d'une table a partir d'une fonction",
7584                         FONCTION=SIMP(statut='o',typ=(fonction_c,fonction_sdaster)),
7585                         PARA=SIMP(statut='f',typ='TXM',min=2,max=2),
7586            ),
7587            b_fonction = BLOC(condition='FONCTION != None',
7588                regles=(CONCEPT_SENSIBLE('SEPARE'), REUSE_SENSIBLE(),
7589                        DERIVABLE('FONCTION'),),
7590                SENSIBILITE = SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
7591                                     fr="Liste des paramètres de sensibilité.",
7592                                     ang="List of sensitivity parameters"),
7593            ),
7594            TYPE_TABLE = SIMP(statut='f', typ='TXM', defaut="TABLE",
7595                              into=('TABLE', 'TABLE_FONCTION'),),
7596            
7597            TITRE=SIMP(statut='f',typ='TXM',max='**'),
7598 )  ;
7599
7600
7601
7602 #& MODIF COMMANDE  DATE 05/02/2007   AUTEUR PELLET J.PELLET 
7603 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7604 # ======================================================================
7605 # COPYRIGHT (C) 1991 - 2007  EDF R&D                  WWW.CODE-ASTER.ORG
7606 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
7607 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
7608 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
7609 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
7610 #                                                                       
7611 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
7612 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
7613 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
7614 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
7615 #                                                                       
7616 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
7617 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
7618 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
7619 # ======================================================================
7620 # ======================================================================
7621 DEBUG=PROC(nom="DEBUG",op=137,
7622             UIinfo={"groupes":("Utilitaires",)},
7623                fr="Permettre de changer entre 2 commandes quelques variables globales de debug",
7624
7625      SDVERI          =SIMP(fr="vérifie la conformité des SD produites par les commandes",
7626                            statut='f',typ='TXM',into=('OUI','NON')),
7627      JXVERI          =SIMP(fr="vérifie l intégrité de la segmentation mémoire",
7628                            statut='f',typ='TXM',into=('OUI','NON')),
7629      JEVEUX          =SIMP(fr="force les déchargement sur disque",
7630                            statut='f',typ='TXM',into=('OUI','NON')),
7631      IMPR_MACRO      =SIMP(fr="affichage des sous-commandes produites par les macros dans le fichier mess",
7632                            statut='f',typ='TXM',into=("OUI","NON")),
7633  );
7634 #& MODIF COMMANDE  DATE 19/02/2007   AUTEUR LEFEBVRE J-P.LEFEBVRE 
7635 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7636 # ======================================================================
7637 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7638 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7639 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7640 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
7641 # (AT YOUR OPTION) ANY LATER VERSION.
7642 #
7643 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
7644 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
7645 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
7646 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
7647 #
7648 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
7649 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
7650 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
7651 # ======================================================================
7652 DEBUT=MACRO(nom="DEBUT",op=ops.build_debut ,repetable='n',
7653             UIinfo={"groupes":("Gestion du travail",)},
7654            fr="Ouverture d'une étude. Allocation des ressources mémoire et disque et fichiers",
7655           sd_prod=ops.DEBUT,
7656
7657          PAR_LOT         =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM',
7658                            into=("OUI","NON"),defaut="OUI"),
7659          IMPR_MACRO      =SIMP(fr="affichage des sous-commandes produites par les macros dans le fichier mess",
7660                            statut='f',typ='TXM',into=("OUI","NON"),defaut="NON"),
7661 #         FORMAT_HDF      =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f',
7662 #                               typ='TXM',defaut="NON",into=("OUI","NON",) ),
7663          BASE            =FACT(fr="définition des paramètres associés aux bases JEVEUX",
7664                                statut='f',min=1,max=2,
7665            FICHIER         =SIMP(fr="nom de la base",statut='o',typ='TXM',
7666                                  into=('GLOBALE','VOLATILE'),),
7667            TITRE           =SIMP(statut='f',typ='TXM'),
7668            CAS             =SIMP(statut='f',typ='TXM'),
7669            NMAX_ENRE       =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'),
7670            LONG_ENRE       =SIMP(fr="longueur des enregistrements",statut='f',typ='I'),
7671            LONG_REPE       =SIMP(fr="longueur du répertoire",statut='f',typ='I'),
7672          ),
7673
7674          IMPRESSION      =FACT(statut='f',min=1,max=3,
7675            FICHIER         =SIMP(statut='o',typ='TXM'),
7676            UNITE           =SIMP(statut='o',typ='I'),
7677          ),
7678
7679          CATALOGUE       =FACT(statut='f',min=1,max=10,
7680            FICHIER         =SIMP(statut='o',typ='TXM'),
7681            TITRE           =SIMP(statut='f',typ='TXM'),
7682            UNITE           =SIMP(statut='f',typ='I'),
7683          ),
7684
7685          CODE            =FACT(fr="définition d un nom pour l'ensemble d'une étude",
7686                                statut='f',min=1,max=1,
7687            NOM             =SIMP(statut='o',typ='TXM'),
7688            NIV_PUB_WEB     =SIMP(statut='o',typ='TXM',into=('INTERNET','INTRANET')),
7689            VISU_EFICAS     =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI'),
7690            UNITE           =SIMP(statut='f',typ='I',defaut=15),
7691          ),
7692
7693          ERREUR          =FACT(fr="comportement en cas d'erreur",statut='f',min=1,max=1,
7694            ERREUR_F        =SIMP(statut='f',typ='TXM',into=('ABORT','EXCEPTION'),defaut='ABORT'),
7695          ),
7696
7697          DEBUG           =FACT(fr="option de déboggage reservée aux développeurs",
7698                                statut='f',min=1,max=1,
7699            JXVERI          =SIMP(fr="vérifie l intégrité de la segmentation mémoire",
7700                                  statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
7701            SDVERI          =SIMP(fr="vérifie la conformité des SD produites par les commandes",
7702                                  statut='f',typ='TXM',into=('OUI','NON')),
7703            JEVEUX          =SIMP(fr="force les déchargement sur disque",
7704                                  statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
7705            ENVIMA          =SIMP(fr="imprime les valeurs définies dans ENVIMA",
7706                                  statut='f',typ='TXM',into=('TEST',)),
7707          ),
7708
7709          MEMOIRE         =FACT(fr="mode de gestion mémoire utilisé",statut='f',min=1,max=1,
7710            GESTION         =SIMP(statut='f',typ='TXM',into=('COMPACTE','RAPIDE'),defaut='RAPIDE'),
7711            TYPE_ALLOCATION =SIMP(statut='f',typ='I',into=(1,2,3,4),defaut=1),
7712            TAILLE          =SIMP(statut='f',typ='I'),
7713            TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut=800.),
7714            PARTITION       =SIMP(statut='f',typ='R'),
7715            DYNAMIQUE       =SIMP(statut='f',typ='I'),
7716          ),
7717          RESERVE_CPU     =FACT(fr="reserve de temps pour terminer une execution",statut='f',max=1,
7718            regles=(EXCLUS('VALE','POURCENTAGE'),),
7719            VALE            =SIMP(statut='f',typ='I',val_min=0),
7720            POURCENTAGE     =SIMP(statut='f',typ='R',val_min=0.,val_max=1.0),
7721 #          valeur en pourcentage du temps maximum bornée à 180 secondes
7722            BORNE           =SIMP(statut='f',typ='I',val_min=0,defaut=180)
7723          ),
7724  );
7725 #& MODIF COMMANDE  DATE 03/10/2005   AUTEUR NICOLAS O.NICOLAS 
7726 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7727 # ======================================================================
7728 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
7729 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7730 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7731 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
7732 # (AT YOUR OPTION) ANY LATER VERSION.                                 
7733 #
7734 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
7735 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
7736 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
7737 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
7738 #
7739 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
7740 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
7741 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
7742 # ======================================================================
7743 DEFI_BASE_MODALE=OPER(nom="DEFI_BASE_MODALE",op=  99,sd_prod=base_modale,
7744                      reentrant='f',
7745                      fr="Définit la base d'une sous-structuration dynamique ou d'une recombinaison modale",
7746             UIinfo={"groupes":("Matrices/vecteurs",)},
7747          regles=(UN_PARMI('CLASSIQUE','RITZ','DIAG_MASS','ORTHO_BASE'),),
7748          CLASSIQUE       =FACT(statut='f',
7749            INTERF_DYNA     =SIMP(statut='o',typ=interf_dyna_clas ),
7750            MODE_MECA       =SIMP(statut='o',typ=mode_meca,max='**' ),
7751            NMAX_MODE       =SIMP(statut='f',typ='I',defaut= 10 ),
7752          ),
7753          RITZ            =FACT(statut='f',max='**',
7754            regles=(UN_PARMI('MODE_STAT','MODE_MECA','MULT_ELAS','BASE_MODALE'),),
7755            MODE_MECA       =SIMP(statut='f',typ=mode_meca,max='**'  ),
7756            NMAX_MODE       =SIMP(statut='f',typ='I',defaut= 999 ),
7757            MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,) ),
7758            MULT_ELAS       =SIMP(statut='f',typ=mult_elas ),
7759            BASE_MODALE     =SIMP(statut='f',typ=base_modale ),
7760          ),
7761          b_ritz          =BLOC(condition = "RITZ != None",
7762            INTERF_DYNA     =SIMP(statut='f',typ=interf_dyna_clas ),
7763            NUME_REF        =SIMP(statut='o',typ=nume_ddl_sdaster ),
7764            ORTHO           =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
7765                                fr="Reorthonormalisation de la base de Ritz" ),
7766            b_ortho          =BLOC(condition = "ORTHO == 'OUI' ",
7767              MATRICE          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_gene_r,matr_asse_pres_r ) ),
7768                ),
7769          ),
7770         DIAG_MASS        =FACT(statut='f',max='**',
7771            MODE_MECA       =SIMP(statut='o',typ=mode_meca,max='**'  ),
7772            MODE_STAT       =SIMP(statut='o',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,) ),
7773          ),
7774         ORTHO_BASE        =FACT(statut='f',max='**',
7775            BASE       =SIMP(statut='o',typ=(mode_meca,mode_stat_depl,mode_stat_acce,mode_stat_forc,mult_elas,base_modale)),
7776            MATRICE    =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_gene_r,matr_asse_pres_r ) ),
7777          ),
7778          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
7779          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
7780 )  ;
7781 #& MODIF COMMANDE  DATE 26/03/2007   AUTEUR ASSIRE A.ASSIRE 
7782 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7783 # ======================================================================
7784 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
7785 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
7786 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
7787 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
7788 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
7789 #                                                                       
7790 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
7791 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
7792 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
7793 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
7794 #                                                                       
7795 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
7796 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
7797 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
7798 # ======================================================================
7799
7800 from Macro.defi_cable_bp_ops import defi_cable_bp_ops
7801
7802 # ===========================================================================
7803 #           CATALOGUE DE LA MACRO "DEFI_CABLE_BP"
7804 #           -----------------------------------------
7805 #
7806 # USAGE :
7807 # Entrée :
7808 #  - MODELE
7809 #  - CABLE
7810 #  - CHAM_MATER
7811 #  - CARA_ELEM
7812 #  - GROUP_MA_BETON
7813 #  - DEFI_CABLE
7814 #  - TENSION_INIT
7815 #  - RECUL_ANCRAGE
7816 #  - RELAXATION
7817 #  - CONE
7818 #      RAYON
7819 #      LONGUEUR
7820 #      PRESENT          OUI ou NON deux fois
7821 #  - TITRE
7822 #  - INFO               1 / 2
7823 #
7824 # ===========================================================================
7825
7826 DEFI_CABLE_BP=MACRO(nom="DEFI_CABLE_BP",op=defi_cable_bp_ops,sd_prod=cabl_precont,
7827                    fr="Calculer les profils initiaux de tension le long des cables de précontrainte d'une structure en béton",
7828                    reentrant='n',UIinfo={"groupe":("Modélisation",)},
7829          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
7830          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
7831          CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
7832          GROUP_MA_BETON  =SIMP(statut='o',typ=grma,max='**'),
7833          DEFI_CABLE      =FACT(statut='o',max='**',
7834            regles=(UN_PARMI('MAILLE','GROUP_MA'),
7835                    UN_PARMI('NOEUD_ANCRAGE','GROUP_NO_ANCRAGE'),),
7836            MAILLE          =SIMP(statut='f',typ=ma,min=2,validators=NoRepeat(),max='**'),
7837            GROUP_MA        =SIMP(statut='f',typ=grma),
7838            NOEUD_ANCRAGE   =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=2),
7839            GROUP_NO_ANCRAGE=SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
7840          ),
7841          TYPE_ANCRAGE    =SIMP(statut='o',typ='TXM',min=2,max=2,into=("ACTIF","PASSIF") ),
7842          TENSION_INIT    =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7843          RECUL_ANCRAGE   =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7844          RELAXATION      =FACT(statut='f',min=0,
7845            R_J             =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7846          ),
7847          CONE            =FACT(statut='f',
7848            RAYON             =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7849            LONGUEUR          =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7850            PRESENT           =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ),
7851          ),
7852          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
7853          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
7854 )  ;
7855 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
7856 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7857 # ======================================================================
7858 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
7859 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
7860 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
7861 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
7862 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
7863 #                                                                       
7864 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
7865 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
7866 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
7867 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
7868 #                                                                       
7869 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
7870 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
7871 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
7872 # ======================================================================
7873
7874 DEFI_CABLE_OP=OPER(nom="DEFI_CABLE_OP",op= 180,sd_prod=cabl_precont,reentrant='n',
7875             fr="Définit les profils initiaux de tension d'une structure en béton le long des cables de précontrainte"
7876                +" (utilisée par la macro DEFI_CABLE_BP)",
7877             UIinfo={"groupes":("Modélisation",)},
7878          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
7879          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
7880          CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
7881          GROUP_MA_BETON  =SIMP(statut='o',typ=grma,max='**'),
7882          DEFI_CABLE      =FACT(statut='o',max='**',
7883            regles=(UN_PARMI('MAILLE','GROUP_MA'),
7884                    UN_PARMI('NOEUD_ANCRAGE','GROUP_NO_ANCRAGE'),),
7885            MAILLE          =SIMP(statut='f',typ=ma,min=2,validators=NoRepeat(),max='**'),
7886            GROUP_MA        =SIMP(statut='f',typ=grma),
7887            NOEUD_ANCRAGE   =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=2),
7888            GROUP_NO_ANCRAGE=SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
7889            GROUP_NO_FUT    =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
7890          ),
7891          TYPE_ANCRAGE    =SIMP(statut='o',typ='TXM',min=2,max=2,into=("ACTIF","PASSIF") ),
7892          TENSION_INIT    =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7893          RECUL_ANCRAGE   =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7894          RELAXATION      =FACT(statut='f',min=0,
7895            R_J             =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7896          ),
7897          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
7898          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
7899          CONE            =FACT(statut='f',min=0,
7900            RAYON             =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
7901            LONGUEUR          =SIMP(statut='o',typ='R',val_min=0.E+0, defaut=0.E+0 ),  
7902            PRESENT           =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ),
7903          ),
7904 )  ;
7905 #& MODIF COMMANDE  DATE 13/02/2007   AUTEUR PELLET J.PELLET 
7906 # RESPONSABLE JMBHH01 J.M.PROIX
7907 #            CONFIGURATION MANAGEMENT OF EDF VERSION
7908 # ======================================================================
7909 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
7910 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
7911 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
7912 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
7913 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
7914 #                                                                       
7915 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
7916 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
7917 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
7918 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
7919 #                                                                       
7920 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
7921 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
7922 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
7923 # ======================================================================
7924 DEFI_COMPOR=OPER(nom="DEFI_COMPOR",op=59,sd_prod=compor_sdaster,
7925                    fr="Définir le comportement d'un monocristal, d'un polycristal ou de groupes de fibres",
7926                    reentrant='n',
7927             UIinfo={"groupes":("Modélisation",)},
7928 # on exclut MULTIFBRE de MONOCRISTAL ou POLYCRISTAL car la structure de données n'est pas organisée pareil pour ces cas
7929                   regles=(EXCLUS('MONOCRISTAL','POLYCRISTAL','MULTIFIBRE'),
7930                  PRESENT_PRESENT('MULTIFIBRE','GEOM_FIBRE','MATER_SECT'),
7931                          ),
7932           MONOCRISTAL    =FACT(statut='f', max='**',
7933              MATER           =SIMP(statut='o', typ=mater_sdaster, max=1),
7934              ECOULEMENT      =SIMP(statut='o', typ='TXM', max=1,
7935                    fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écoulement viscoplastique"),
7936              ECRO_ISOT       =SIMP(statut='o', typ='TXM', max=1,
7937                    fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écrouissage isotrope"),
7938              ECRO_CINE       =SIMP(statut='o', typ='TXM', max=1,
7939                    fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écrouissage cinématique"),
7940              ELAS            =SIMP(statut='f', typ='TXM', max=1,
7941                    fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le comportement élastique (un et un seul)"),
7942              FAMI_SYST_GLIS  =SIMP(statut='o',typ='TXM', max=1, 
7943                                 into=('BASAL', 'PRISMATIQUE', 'OCTAEDRIQUE', 'PYRAMIDAL1',
7944                                 'PYRAMIDAL2', 'CUBIQUE1', 'CUBIQUE2', 'MACLAGE', 'JOINT_GRAIN', 'RL', 'UNIAXIAL','BCC24'),),
7945                                 ),
7946                                 
7947                                 
7948           POLYCRISTAL    =FACT(statut='f', max='**',
7949            regles=(UN_PARMI('ANGL_REP','ANGL_EULER'),),
7950              MONOCRISTAL     =SIMP(statut='o', typ=compor_sdaster, max=1),
7951              FRAC_VOL  =SIMP(statut='o', typ='R', max=1,fr="fraction volumique de la phase correspondant au monocristal"),
7952              ANGL_REP  =SIMP(statut='f',typ='R',max=3,fr="orientation du monocristal : 3 angles nautiques en degrés"),
7953              ANGL_EULER=SIMP(statut='f',typ='R',max=3,fr="orientation du monocristal : 3 angles d'Euler   en degrés"),
7954                                 ),
7955                                 
7956                                 
7957           b_poly      =BLOC( condition = "POLYCRISTAL!='None'",
7958           LOCALISATION     =SIMP(statut='f', typ='TXM', max=1, into=('BZ', 'BETA', 'RL',),
7959                 fr="Donner le nom de la règle de localisation"),
7960           
7961            b_beta      =BLOC( condition = "LOCALISATION=='BETA'",
7962              DL            =SIMP(statut='o',typ='R',max=1),
7963              DA            =SIMP(statut='o',typ='R',max=1),
7964              ),
7965              ),
7966                                 
7967 #####################################################################################
7968           GEOM_FIBRE = SIMP(statut='f',max=1,typ=gfibre_sdaster,
7969                    fr="Donner le nom du concept regroupant tous les groupes de fibres (issu de DEFI_GEOM_FIBRE)"),
7970           MATER_SECT = SIMP(statut='f',max=1,typ=mater_sdaster,
7971                    fr="Donner le nom du materiau pour les caracteristiques homogeneisees sur la section"),
7972           MULTIFIBRE    = FACT(statut='f',max='**',
7973           GROUP_FIBRE        =SIMP(statut='o', typ='TXM', max='**'),
7974              MATER           =SIMP(statut='o', typ=mater_sdaster, max=1,
7975                                    fr="Donner le nom du materiau pour le groupe de fibres"),
7976              ALGO_1D         =SIMP(statut='f',typ='TXM',defaut="ANALYTIQUE",into=("DEBORST","ANALYTIQUE",)),
7977              DEFORMATION      =SIMP(statut='f',typ='TXM',defaut="PETIT",
7978                                      into=("PETIT","PETIT_REAC","REAC_GEOM")),
7979              RELATION        =SIMP(statut='f', typ='TXM', max=1,defaut="ELAS",
7980 #                                   into=c_relation_into,
7981                                   fr="Donner le nom de la relation incrementale pour le groupe de fibres",
7982                                  into=(
7983                                         "ELAS",
7984                                         "ELAS_HYPER",
7985                                         "VMIS_ISOT_TRAC",
7986                                         "VISC_ISOT_TRAC",
7987                                         "VMIS_ISOT_LINE",
7988                                         "VISC_ISOT_LINE",
7989                                         "VMIS_ISOT_PUIS",
7990                                         "VMIS_ECMI_TRAC",
7991                                         "VMIS_ECMI_LINE",
7992                                         "LABORD_1D",
7993                                         "ENDO_FRAGILE",
7994                                         "ENDO_ISOT_BETON",
7995                                         "ENDO_ORTH_BETON",
7996                                         "BETON_REGLE_PR",
7997                                         "MAZARS",
7998                                         "RUPT_FRAG",
7999                                         "VMIS_CINE_LINE",
8000                                         "VISC_TAHERI",
8001                                         "VISCOCHAB",
8002                                         "VMIS_CIN1_CHAB",
8003                                         "VMIS_CIN2_CHAB",
8004                                         "VISC_CIN1_CHAB",
8005                                         "VISC_CIN2_CHAB",
8006                                         "ROUSSELIER",
8007                                         "ROUSS_PR",
8008                                         "ROUSS_VISC",
8009                                         "NORTON_HOFF",
8010                                         "LEMAITRE",
8011                                         "VENDOCHAB",
8012                                         "DRUCKER_PRAGER",
8013                                         "GRANGER_FP",
8014                                         "GRANGER_FP_INDT",
8015                                         "GRANGER_FP_V",
8016                                         "BAZANT_FD",
8017                                         "BETON_UMLV_FP",
8018                                         "BETON_DOUBLE_DP",
8019                                         "KIT_DDI",
8020                                         "SANS",
8021                                         "CORR_ACIER",
8022                                         "ZMAT",
8023                                         "GRAN_IRRA_LOG",
8024                                      ) ),
8025           ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
8026           ELAS_HYPER      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
8027           SANS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
8028           CORR_ACIER      =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
8029           VMIS_ISOT_TRAC  =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
8030           VISC_ISOT_TRAC  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
8031           VMIS_ISOT_LINE  =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
8032           VISC_ISOT_LINE  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
8033           VMIS_ISOT_PUIS  =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
8034           VMIS_ECMI_TRAC  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
8035           VMIS_ECMI_LINE  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
8036           LABORD_1D       =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
8037           ENDO_FRAGILE    =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
8038           ENDO_ISOT_BETON =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
8039           ENDO_ORTH_BETON =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
8040           BETON_REGLE_PR  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
8041           MAZARS          =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
8042           RUPT_FRAG       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
8043           VMIS_CINE_LINE  =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
8044           VISCOCHAB       =SIMP(statut='c',typ='I',defaut=28,into=(28,)),
8045           VMIS_CIN1_CHAB  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
8046           VMIS_CIN2_CHAB  =SIMP(statut='c',typ='I',defaut=14,into=(14,)),
8047           VISC_CIN1_CHAB  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
8048           VISC_CIN2_CHAB  =SIMP(statut='c',typ='I',defaut=14,into=(14,)),
8049           VISC_TAHERI     =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
8050           ROUSSELIER      =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
8051           ROUSS_PR        =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
8052           ROUSS_VISC      =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
8053           VMIS_POU_LINE   =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
8054           VMIS_POU_FLEJOU =SIMP(statut='c',typ='I',defaut=9 ,into=(9,)),
8055           ASSE_CORN       =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
8056           ARME            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
8057           NORTON_HOFF     =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
8058           LEMAITRE        =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
8059           VENDOCHAB       =SIMP(statut='c',typ='I',defaut=10,into=(10,)),
8060           GRILLE_ISOT_LINE=SIMP(statut='c',typ='I',defaut=4,into=(4,)),
8061           DRUCKER_PRAGER  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
8062           HOEK_BROWN      =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
8063           HOEK_BROWN_EFF  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
8064           HOEK_BROWN_TOT  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
8065           GRANGER_FP      =SIMP(statut='c',typ='I',defaut=55,into=(55,)),
8066           GRANGER_FP_INDT =SIMP(statut='c',typ='I',defaut=55,into=(55,)),
8067           GRANGER_FP_V    =SIMP(statut='c',typ='I',defaut=55,into=(55,)),
8068           BAZANT_FD       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
8069           BETON_DOUBLE_DP =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
8070           BETON_UMLV_FP   =SIMP(statut='c',typ='I',defaut=21,into=(21,)),
8071           GRAN_IRRA_LOG   =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
8072  
8073            RELATION_KIT    =SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(),
8074                                  into=(
8075 # MECA KIT_DDI
8076                                        "VMIS_ISOT_TRAC",
8077                                        "VMIS_ISOT_LINE",
8078                                        "VMIS_ISOT_CINE",
8079                                        "VMIS_ISOT_PUIS",
8080                                        "GRANGER_FP",
8081                                        "GRANGER_FP_INDT",
8082                                        "GRANGER_FP_V",
8083                                        "BETON_UMLV_FP",
8084                                        "ROUSS_PR",
8085                                        "NADAI_B",
8086                                        "BETON_DOUBLE_DP",
8087                                        ),),
8088
8089 # on pourrait ajouter TOUT_GROUP_FIBRE                                           
8090
8091                                 ) );
8092                    
8093 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
8094 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8095 # ======================================================================
8096 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8097 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8098 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8099 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
8100 # (AT YOUR OPTION) ANY LATER VERSION.                                 
8101 #
8102 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
8103 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
8104 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
8105 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
8106 #
8107 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
8108 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
8109 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
8110 # ======================================================================
8111 DEFI_CONSTANTE=OPER(nom="DEFI_CONSTANTE",op=   2,sd_prod=fonction_sdaster,
8112                     fr="Définir la valeur d'une grandeur invariante",
8113                     reentrant='n',
8114             UIinfo={"groupes":("Fonction",)},
8115          NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"),
8116          VALE            =SIMP(statut='o',typ='R',),
8117          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
8118 )  ;
8119 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
8120 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8121 # ======================================================================
8122 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8123 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8124 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8125 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
8126 # (AT YOUR OPTION) ANY LATER VERSION.                                 
8127 #
8128 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
8129 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
8130 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
8131 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
8132 #
8133 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
8134 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
8135 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
8136 # ======================================================================
8137 DEFI_COQU_MULT=OPER(nom="DEFI_COQU_MULT",op=56,sd_prod=mater_sdaster,reentrant='n',
8138             UIinfo={"groupes":("Modélisation",)},
8139                     fr="Déterminer les caractéristiques matériaux homogénéisées d'une coque multicouche à partir"
8140                         +" des caractéristiques de chaque couche",
8141          COUCHE          =FACT(statut='o',max='**',
8142            EPAIS           =SIMP(statut='o',typ='R',val_min=0.E+0 ),
8143            MATER           =SIMP(statut='o',typ=(mater_sdaster) ),
8144            ORIENTATION     =SIMP(statut='f',typ='R',defaut= 0.E+0,
8145                                  val_min=-90.E+0,val_max=90.E+0   ),
8146          ),
8147          IMPRESSION      =FACT(statut='f',
8148            UNITE           =SIMP(statut='f',typ='I',defaut=8),  
8149          ),
8150 )  ;
8151 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
8152 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8153 # ======================================================================
8154 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
8155 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
8156 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
8157 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
8158 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
8159 #                                                                       
8160 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
8161 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
8162 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
8163 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
8164 #                                                                       
8165 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
8166 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
8167 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
8168 # ======================================================================
8169 # RESPONSABLE D6BHHJP J.P.LEFEBVRE
8170 def DEFIC_prod(self,ACTION,UNITE,**args):
8171   if ACTION == "ASSOCIER" or ACTION == "RESERVER":
8172     if UNITE != None :
8173       return
8174     else :
8175       return entier
8176   elif ACTION == "LIBERER"  :
8177     return
8178   else :
8179     raise AsException("ACTION non prevue : %s" % ACTION)
8180
8181 DEFI_FICHIER=MACRO(nom="DEFI_FICHIER",op=ops.build_DEFI_FICHIER,sd_prod=DEFIC_prod,reentrant='n',
8182                   UIinfo={"groupes":("Gestion du travail",)},
8183                   fr="Ouvre ou ferme un fichier associé à un numéro d'unité logique",
8184
8185             ACTION        =SIMP(statut='f',typ='TXM',into=("ASSOCIER","LIBERER","RESERVER"),defaut="ASSOCIER"),
8186
8187             b_associer    =BLOC(condition = "ACTION == 'ASSOCIER'",
8188                                 fr="Paramètres pour l'ouverture du fichier",
8189                                 regles=(AU_MOINS_UN('FICHIER','UNITE'),),
8190                UNITE      =SIMP(statut='f',typ='I' ,val_min=1),
8191                FICHIER    =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)),
8192                TYPE       =SIMP(statut='f',typ='TXM',into=("ASCII","BINARY","LIBRE"),defaut="ASCII"),
8193
8194                b_type_ascii  =BLOC(condition = "TYPE == 'ASCII'",fr="Paramètres pour le type ASCII",
8195                   ACCES      =SIMP(statut='f',typ='TXM',into=("NEW","APPEND","OLD"),defaut="NEW"),
8196                ),
8197                b_type_autre  =BLOC(condition = "TYPE != 'ASCII'",fr="Paramètres pour les types BINARY et LIBRE",
8198                   ACCES      =SIMP(statut='f',typ='TXM',into=("NEW","OLD"),defaut="NEW"),
8199                ),
8200             ),
8201
8202             b_reserver    =BLOC(condition = "ACTION == 'RESERVER'",
8203                                 fr="Paramètres pour la réservation de l'unité du fichier",
8204                                 regles=(AU_MOINS_UN('FICHIER','UNITE'),),
8205                UNITE      =SIMP(statut='f',typ='I' ,val_min=1),
8206                FICHIER    =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)),
8207                TYPE       =SIMP(statut='f',typ='TXM',into=("ASCII",),defaut="ASCII"),
8208                ACCES      =SIMP(statut='f',typ='TXM',into=("APPEND",),defaut="APPEND"),
8209             ),
8210
8211             b_liberer    =BLOC(condition = "ACTION == 'LIBERER'",
8212                                fr="Paramètres pour la fermeture du fichier",
8213                                regles=(UN_PARMI('FICHIER','UNITE'),),
8214                   UNITE         =SIMP(statut='f',typ='I' ,val_min=1),
8215                   FICHIER   =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)),
8216            ),
8217
8218            INFO          =SIMP(statut='f',typ='I',into=(1,2) ),           
8219            )
8220 #& MODIF COMMANDE  DATE 15/05/2007   AUTEUR GENIAUT S.GENIAUT 
8221 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8222 # ======================================================================
8223 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
8224 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8225 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8226 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
8227 # (AT YOUR OPTION) ANY LATER VERSION.
8228 #
8229 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
8230 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
8231 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
8232 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
8233 #
8234 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
8235 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
8236 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
8237 # ======================================================================
8238
8239 DEFI_FISS_XFEM=OPER(nom="DEFI_FISS_XFEM",op=  41,sd_prod=fiss_xfem,reentrant='n',
8240             UIinfo={"groupes":("Modélisation",)},
8241                fr="Définition des caratéristiques d'une fissure avec X-FEM",
8242
8243     MODELE                =SIMP(statut='o',typ=modele_sdaster),
8244     DEFI_FISS             =FACT(statut='o',max=01,
8245       regles              =(UN_PARMI('GROUP_MA_FISS','FONC_LT','FORM_FISS'),
8246                             ENSEMBLE('FONC_LT','FONC_LN'),
8247                             ENSEMBLE('GROUP_MA_FISS','GROUP_MA_FOND')),
8248       FONC_LT             =SIMP(statut='f',typ=(fonction_sdaster,formule) ),
8249       FONC_LN             =SIMP(statut='f',typ=(fonction_sdaster,formule) ),
8250       GROUP_MA_FISS       =SIMP(statut='f',typ=grma,max=01),
8251       GROUP_MA_FOND       =SIMP(statut='f',typ=grma),
8252       FORM_FISS           =SIMP(statut='f',typ='TXM',into=("ELLIPSE",) ),
8253       b_ellipse           =BLOC(condition = "FORM_FISS == 'ELLIPSE' ",fr="Paramères de la fissure elliptique",           
8254            DEMI_GRAND_AXE =SIMP(statut='o',typ='R',val_min=0.E+0),
8255            DEMI_PETIT_AXE =SIMP(statut='o',typ='R',val_min=0.E+0),
8256            CENTRE         =SIMP(statut='o',typ='R',min=3,max=3),
8257            VECT_X         =SIMP(statut='o',typ='R',min=3,max=3),
8258            VECT_Y         =SIMP(statut='o',typ='R',min=3,max=3),
8259            COTE_FISS      =SIMP(statut='f',typ='TXM',defaut="IN",into=("IN","OUT",) ),    ),
8260     ),
8261     GROUP_MA_ENRI         =SIMP(statut='o',typ=grma,max=01),
8262     RAYON_ENRI            =SIMP(statut='f',typ='R',defaut=0.E+0),
8263     ORIE_FOND             =FACT(statut='f',max=01,
8264       PFON_INI            =SIMP(statut='o',typ='R',max=03),
8265       VECT_ORIE           =SIMP(statut='o',typ='R',max=03),
8266       PT_ORIGIN           =SIMP(statut='o',typ='R',max=03),
8267     ),
8268     INFO                  =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,3,) ),
8269 )  ;
8270 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
8271 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8272 # ======================================================================
8273 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8274 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8275 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8276 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
8277 # (AT YOUR OPTION) ANY LATER VERSION.                                 
8278 #
8279 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
8280 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
8281 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
8282 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
8283 #
8284 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
8285 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
8286 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
8287 # ======================================================================
8288 DEFI_FLUI_STRU=OPER(nom="DEFI_FLUI_STRU",op= 143,sd_prod=type_flui_stru,
8289                     reentrant='n',fr="Définit les caractéristiques nécessaires à l'étude dynamique d'une structure sous écoulement",
8290             UIinfo={"groupes":("Maillage",)},
8291          regles=(  UN_PARMI('FAISCEAU_TRANS','GRAPPE','FAISCEAU_AXIAL','COQUE_COAX',),),
8292          FAISCEAU_TRANS  =FACT(statut='f',max='**',
8293            regles=(  ENSEMBLE('CSTE_CONNORS','NB_CONNORS','RHO_TUBE'),),
8294            COUPLAGE        =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
8295            CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
8296            PROF_VITE_FLUI  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
8297            PROF_RHO_F_INT  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
8298            PROF_RHO_F_EXT  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
8299            NOM_CMP         =SIMP(statut='f',typ='TXM',into=("DX","DY","DZ") ),
8300            COEF_MASS_AJOU  =SIMP(statut='f',typ='R' ),
8301            TYPE_PAS        =SIMP(statut='f',typ='TXM',into=("CARRE_LIGN","TRIA_LIGN") ),
8302            TYPE_RESEAU     =SIMP(statut='f',typ='I' ),
8303            UNITE_CD        =SIMP(statut='f',typ='I',defaut=70),
8304            UNITE_CK        =SIMP(statut='f',typ='I',defaut=71),            
8305            PAS             =SIMP(statut='f',typ='R' ),
8306            CSTE_CONNORS    =SIMP(statut='f',typ='R',min=2,max=2,val_min=0.E+00),
8307            NB_CONNORS      =SIMP(statut='f',typ='I',val_min=2,),
8308            RHO_TUBE        =SIMP(statut='f',typ='R' ),
8309          ),
8310          GRAPPE          =FACT(statut='f',
8311            regles=(ENSEMBLE('GRAPPE_2','NOEUD','CARA_ELEM','MODELE','RHO_FLUI',),
8312                    PRESENT_PRESENT('COEF_MASS_AJOU','GRAPPE_2', ),),
8313 #  peut on créer un bloc a partir de la valeur de couplage  
8314            COUPLAGE        =SIMP(statut='o',typ='TXM',into=("OUI","NON") ),
8315            GRAPPE_2        =SIMP(statut='f',typ='TXM',
8316                                  into=("ASC_CEN","ASC_EXC","DES_CEN","DES_EXC") ),
8317            NOEUD           =SIMP(statut='f',typ=no),
8318            CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
8319            MODELE          =SIMP(statut='f',typ=modele_sdaster ),
8320            COEF_MASS_AJOU  =SIMP(statut='f',typ='R' ),
8321            RHO_FLUI        =SIMP(statut='f',typ='R' ),
8322            UNITE_CA        =SIMP(statut='f',typ='I',defaut=70),
8323            UNITE_KA        =SIMP(statut='f',typ='I',defaut=71),            
8324          ),
8325          FAISCEAU_AXIAL  =FACT(statut='f',max='**',
8326            regles=(UN_PARMI('GROUP_MA','TRI_GROUP_MA'),
8327                    UN_PARMI('CARA_ELEM','RAYON_TUBE'),
8328                    ENSEMBLE('RAYON_TUBE','COOR_TUBE'),
8329                    PRESENT_ABSENT('RAYON_TUBE','TRI_GROUP_MA'),
8330                    ENSEMBLE('CARA_PAROI','VALE_PAROI'),
8331                    ENSEMBLE('LONG_TYPG','LARG_TYPG','EPAI_TYPG','RUGO_TYPG','COEF_TRAI_TYPG','COEF_DPOR_TYPG',
8332                             'COOR_GRILLE','TYPE_GRILLE', ),),
8333 #  on doit pouvoir mettre des blocs conditionnels mais pas assez d infos pour le faire                            
8334            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
8335            TRI_GROUP_MA    =SIMP(statut='f',typ='TXM' ),
8336            VECT_X          =SIMP(statut='f',typ='R',max=3),
8337            PROF_RHO_FLUI   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
8338            PROF_VISC_CINE  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
8339            CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
8340            RAYON_TUBE      =SIMP(statut='f',typ='R' ),
8341            COOR_TUBE       =SIMP(statut='f',typ='R',max='**'),
8342            PESANTEUR       =SIMP(statut='f',typ='R',min=4,max=4),
8343            RUGO_TUBE       =SIMP(statut='f',typ='R' ),
8344            CARA_PAROI      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=5,
8345                                  into=("YC","ZC","R","HY","HZ") ),
8346            VALE_PAROI      =SIMP(statut='f',typ='R',max=5),
8347            ANGL_VRIL       =SIMP(statut='f',typ='R' ),
8348            LONG_TYPG       =SIMP(statut='f',typ='R',max='**',val_min=0.E+0),
8349            LARG_TYPG       =SIMP(statut='f',typ='R',max='**',val_min=0.E+0),
8350            EPAI_TYPG       =SIMP(statut='f',typ='R',max='**',val_min=0.E+0),
8351            RUGO_TYPG       =SIMP(statut='f',typ='R',max='**',val_min=0.E+0),
8352            COEF_TRAI_TYPG  =SIMP(statut='f',typ='R',max='**',val_min=0.E+0),
8353            COEF_DPOR_TYPG  =SIMP(statut='f',typ='R',max='**'),
8354            COOR_GRILLE     =SIMP(statut='f',typ='R',max='**'),
8355            TYPE_GRILLE     =SIMP(statut='f',typ='I',max='**'),
8356          ),
8357          COQUE_COAX      =FACT(statut='f',
8358            MASS_AJOU       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
8359            GROUP_MA_INT    =SIMP(statut='o',typ=grma),
8360            GROUP_MA_EXT    =SIMP(statut='o',typ=grma),
8361            VECT_X          =SIMP(statut='o',typ='R',max='**'),
8362            CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
8363            MATER_INT       =SIMP(statut='o',typ=mater_sdaster ),
8364            MATER_EXT       =SIMP(statut='o',typ=mater_sdaster ),
8365            RHO_FLUI        =SIMP(statut='o',typ='R' ),
8366            VISC_CINE       =SIMP(statut='o',typ='R' ),
8367            RUGOSITE        =SIMP(statut='o',typ='R' ),
8368            PDC_MOY_1       =SIMP(statut='o',typ='R' ),
8369            PDC_DYN_1       =SIMP(statut='o',typ='R' ),
8370            PDC_MOY_2       =SIMP(statut='o',typ='R' ),
8371            PDC_DYN_2       =SIMP(statut='o',typ='R' ),
8372          ),
8373          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
8374 )  ;
8375 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
8376 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8377 # ======================================================================
8378 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8379 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8380 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8381 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
8382 # (AT YOUR OPTION) ANY LATER VERSION.                                 
8383 #
8384 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
8385 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
8386 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
8387 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
8388 #
8389 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
8390 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
8391 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
8392 # ======================================================================
8393 DEFI_FONC_ELEC=OPER(nom="DEFI_FONC_ELEC",op=64,sd_prod=fonction_sdaster,reentrant='n',
8394             UIinfo={"groupes":("Outils métier",)},
8395                     fr="Définir une fonction du temps intervenant dans le calcul des forces de LAPLACE",
8396       regles=(UN_PARMI('COUR_PRIN','COUR'),
8397               EXCLUS('COUR','COUR_SECO'), ),
8398          FREQ            =SIMP(statut='f',typ='R',defaut= 50.),
8399          SIGNAL          =SIMP(statut='f',typ='TXM',defaut="COMPLET",into=("COMPLET","CONTINU") ),
8400          COUR            =FACT(statut='f',max='**',
8401          fr="Définition du courant de court-circuit",
8402            regles=(UN_PARMI('PHI_CC_1','INTC_CC_1'),
8403                    UN_PARMI('PHI_CC_2','INTC_CC_2'),),
8404            INTE_CC_1       =SIMP(statut='o',typ='R'),
8405            TAU_CC_1        =SIMP(statut='o',typ='R'),
8406            PHI_CC_1        =SIMP(statut='f',typ='R'),
8407            INTC_CC_1       =SIMP(statut='f',typ='R'),
8408            INTE_CC_2       =SIMP(statut='o',typ='R'),
8409            TAU_CC_2        =SIMP(statut='o',typ='R'),
8410            PHI_CC_2        =SIMP(statut='f',typ='R'),
8411            INTC_CC_2       =SIMP(statut='f',typ='R'),
8412            INST_CC_INIT    =SIMP(statut='o',typ='R'),
8413            INST_CC_FIN     =SIMP(statut='o',typ='R'),
8414          ),
8415          COUR_PRIN       =FACT(statut='f',
8416          fr="Définition du courant de court-circuit avec réenclenchement",
8417            regles=(UN_PARMI('PHI_CC_1','INTC_CC_1'),),
8418            INTE_CC_1       =SIMP(statut='o',typ='R'),
8419            TAU_CC_1        =SIMP(statut='o',typ='R'),
8420            PHI_CC_1        =SIMP(statut='f',typ='R'),
8421            INTC_CC_1       =SIMP(statut='f',typ='R'),
8422            INTE_RENC_1     =SIMP(statut='f',typ='R'),
8423            TAU_RENC_1      =SIMP(statut='f',typ='R'),
8424            PHI_RENC_1      =SIMP(statut='f',typ='R'),
8425            INST_CC_INIT    =SIMP(statut='o',typ='R'),
8426            INST_CC_FIN     =SIMP(statut='o',typ='R'),
8427            INST_RENC_INIT  =SIMP(statut='f',typ='R',defaut= 0.0E+0),
8428            INST_RENC_FIN   =SIMP(statut='f',typ='R',defaut= 0.0E+0),
8429          ),
8430          COUR_SECO       =FACT(statut='f',max='**',
8431          fr="Définition du courant de court-circuit avec un intervalle de temps différent de celui de COUR_PRIN",
8432            regles=(UN_PARMI('PHI_CC_2','INTC_CC_2'),),
8433            INTE_CC_2       =SIMP(statut='o',typ='R'),
8434            TAU_CC_2        =SIMP(statut='o',typ='R'),
8435            PHI_CC_2        =SIMP(statut='f',typ='R'),
8436            INTC_CC_2       =SIMP(statut='f',typ='R'),
8437            INTE_RENC_2     =SIMP(statut='f',typ='R'),
8438            TAU_RENC_2      =SIMP(statut='f',typ='R'),
8439            PHI_RENC_2      =SIMP(statut='f',typ='R'),
8440            DIST            =SIMP(statut='f',typ='R',defaut=1.0E+0),
8441          ),
8442          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
8443 )  ;
8444 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
8445 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8446 # ======================================================================
8447 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8448 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8449 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8450 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
8451 # (AT YOUR OPTION) ANY LATER VERSION.                                 
8452 #
8453 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
8454 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
8455 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
8456 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
8457 #
8458 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
8459 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
8460 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
8461 # ======================================================================
8462 DEFI_FONC_FLUI=OPER(nom="DEFI_FONC_FLUI",op= 142,sd_prod=fonction_sdaster,
8463                     reentrant='n',
8464             fr="Définit un profil de vitesse d'écoulement fluide le long d'une poutre",
8465             UIinfo={"groupes":("Fonction",)},
8466          MAILLAGE        =SIMP(statut='o',typ=(maillage_sdaster) ),
8467          NOEUD_INIT      =SIMP(statut='o',typ=no),
8468          NOEUD_FIN       =SIMP(statut='o',typ=no),
8469          VITE            =FACT(statut='o',
8470            VALE            =SIMP(statut='f',typ='R',defaut= 1. ),
8471            PROFIL          =SIMP(statut='o',typ='TXM',into=("UNIFORME","LEONARD") ),
8472            NB_BAV          =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 2 , 3 ) ),
8473          ),
8474          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",
8475                                into=("NON","LIN","LOG") ),
8476          PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",
8477                                into=("CONSTANT","LINEAIRE","EXCLU") ),
8478          PROL_GAUCHE     =SIMP(statut='f',typ='TXM' ,defaut="EXCLU",
8479                                into=("CONSTANT","LINEAIRE","EXCLU") ),
8480          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
8481          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
8482 )  ;
8483 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
8484 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8485 # ======================================================================
8486 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8487 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8488 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8489 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
8490 # (AT YOUR OPTION) ANY LATER VERSION.                                 
8491 #
8492 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
8493 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
8494 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
8495 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
8496 #
8497 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
8498 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
8499 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
8500 # ======================================================================
8501 # RESPONSABLE MCOURTOI M.COURTOIS
8502 def defi_fonction_prod(VALE,VALE_PARA,VALE_C,NOEUD_PARA,**args):
8503   if VALE       != None  : return fonction_sdaster
8504   if VALE_C     != None  : return fonction_c
8505   if VALE_PARA  != None  : return fonction_sdaster
8506   if NOEUD_PARA != None  : return fonction_sdaster
8507   raise AsException("type de concept resultat non prevu")
8508
8509 DEFI_FONCTION=OPER(nom="DEFI_FONCTION",op=3,sd_prod=defi_fonction_prod
8510                     ,fr="Définit une fonction réelle ou complexe d'une variable réelle",
8511                      reentrant='n',
8512             UIinfo={"groupes":("Fonction",)},
8513          regles=(UN_PARMI('VALE','VALE_C','VALE_PARA','NOEUD_PARA'),),
8514          NOM_PARA        =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ),
8515          NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"),
8516          VALE            =SIMP(statut='f',typ='R',min=2,max='**',
8517                                fr ="Fonction réelle définie par une liste de couples (abscisse,ordonnée)"),
8518          VALE_C          =SIMP(statut='f',typ='R',min=2,max='**',
8519                                fr ="Fonction complexe définie par une liste de couples"),
8520          VALE_PARA       =SIMP(statut='f',typ=listr8_sdaster,
8521                                fr ="Fonction réelle définie par deux concepts de type listr8" ),
8522          b_vale_para     =BLOC(condition = "VALE_PARA != None",
8523            VALE_FONC       =SIMP(statut='o',typ=listr8_sdaster ),
8524          ),
8525          NOEUD_PARA      =SIMP(statut='f',typ=no,max='**',
8526                                fr ="Fonction réelle définie par une liste de noeuds et un maillage"),
8527          b_noeud_para    =BLOC(condition = "NOEUD_PARA != None",
8528            MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster ),
8529            VALE_Y          =SIMP(statut='o',typ='R',max='**'),
8530          ),
8531
8532          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
8533          PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
8534          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
8535          VERIF           =SIMP(statut='f',typ='TXM',defaut="CROISSANT",into=("CROISSANT","NON") ),
8536          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
8537          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
8538 )  ;
8539 #& MODIF COMMANDE  DATE 05/03/2007   AUTEUR GALENNE E.GALENNE 
8540 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8541 # ======================================================================
8542 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8543 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8544 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8545 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
8546 # (AT YOUR OPTION) ANY LATER VERSION.                                 
8547 #
8548 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
8549 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
8550 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
8551 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
8552 #
8553 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
8554 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
8555 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
8556 # ======================================================================
8557 DEFI_FOND_FISS=OPER(nom="DEFI_FOND_FISS",op=55,sd_prod=fond_fiss,reentrant='n',
8558             UIinfo={"groupes":("Post traitements",)},
8559                     fr="Définition de lèvres et d'un fond de fissure en 3D",
8560          regles=(UN_PARMI('FOND_FISS','FOND_FERME','FOND_INF'),
8561                  EXCLUS('FOND_FERME','DTAN_ORIG'),
8562                  EXCLUS('FOND_FERME','DTAN_EXTR'),
8563                       EXCLUS('FOND_FERME','VECT_GRNO_ORIG'),
8564                       EXCLUS('FOND_FERME','VECT_GRNO_EXTR'),
8565                  UN_PARMI('LEVRE_SUP','NORMALE'),
8566                       EXCLUS('LEVRE_INF','NORMALE'),
8567                  ENSEMBLE('DTAN_ORIG','DTAN_EXTR'),
8568                  ENSEMBLE('FOND_SUP','FOND_INF'),
8569                  EXCLUS('FOND_INF','FOND_FISS'),
8570                  EXCLUS('FOND_INF','FOND_FERME'),
8571                       ENSEMBLE('VECT_GRNO_ORIG','VECT_GRNO_EXTR'),
8572                       EXCLUS('DTAN_ORIG','VECT_GRNO_ORIG'),
8573                       EXCLUS('DTAN_EXTR','VECT_GRNO_EXTR') ,),
8574            MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster ),
8575            FOND_FISS       =FACT(statut='f',
8576              regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),
8577                      EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),
8578                           EXCLUS('NOEUD_EXTR','GROUP_NO_EXTR'),),
8579              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
8580              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
8581              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
8582              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
8583 #  à mettre à jour le max vaut-il 1  
8584              NOEUD_ORIG      =SIMP(statut='f',typ=no,),
8585              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,),
8586              NOEUD_EXTR      =SIMP(statut='f',typ=no,),
8587              GROUP_NO_EXTR   =SIMP(statut='f',typ=grno,),
8588            ),
8589            FOND_FERME      =FACT(statut='f',
8590              regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),
8591                           EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),),
8592              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
8593              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
8594              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
8595              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
8596              NOEUD_ORIG      =SIMP(statut='f',typ=no,),
8597              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,),
8598              MAILLE_ORIG     =SIMP(statut='f',typ=ma,),
8599              GROUP_MA_ORIG   =SIMP(statut='f',typ=ma,),
8600            ),
8601            FOND_INF       =FACT(statut='f',
8602              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
8603              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
8604              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
8605              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
8606              NOEUD_ORIG      =SIMP(statut='f',typ=no,),
8607              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,),
8608              NOEUD_EXTR      =SIMP(statut='f',typ=no,),
8609              GROUP_NO_EXTR   =SIMP(statut='f',typ=grno,),
8610            ),
8611            FOND_SUP       =FACT(statut='f',
8612              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), 
8613              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
8614              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
8615              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
8616              NOEUD_ORIG      =SIMP(statut='f',typ=no,),
8617              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,),
8618              NOEUD_EXTR      =SIMP(statut='f',typ=no,),
8619              GROUP_NO_EXTR   =SIMP(statut='f',typ=grno,),
8620            ),
8621            LEVRE_SUP       =FACT(statut='f',
8622              regles=(UN_PARMI('GROUP_MA','MAILLE'),),
8623              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
8624              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
8625            ),
8626            LEVRE_INF       =FACT(statut='f',
8627              regles=(UN_PARMI('GROUP_MA','MAILLE', ),),
8628              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
8629              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
8630            ),
8631            NORMALE         =SIMP(statut='f',typ='R',max='**'),
8632            PREC_NORM       =SIMP(statut='f',typ='R',defaut=0.1),
8633            DTAN_ORIG       =SIMP(statut='f',typ='R',max='**'),
8634            DTAN_EXTR       =SIMP(statut='f',typ='R',max='**'),
8635            VECT_GRNO_ORIG  =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
8636            VECT_GRNO_EXTR  =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
8637            INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
8638 )  ;
8639 #& MODIF COMMANDE  DATE 13/02/2007   AUTEUR PELLET J.PELLET 
8640 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8641 # ======================================================================
8642 # COPYRIGHT (C) 1991 - 2007  EDF R&D                  WWW.CODE-ASTER.ORG
8643 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
8644 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
8645 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
8646 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
8647 #                                                                       
8648 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
8649 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
8650 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
8651 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
8652 #                                                                       
8653 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
8654 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
8655 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
8656 # ======================================================================
8657 # ======================================================================
8658
8659 DEFI_GEOM_FIBRE=OPER(nom="DEFI_GEOM_FIBRE",op=  119, sd_prod=gfibre_sdaster,
8660                     fr="Definition des groupes de fibres pour les elements multifibres",
8661                     reentrant='n',
8662             UIinfo={"groupes":("Modelisation",)},
8663          regles=(AU_MOINS_UN('SECTION','FIBRE'),),
8664
8665          INFO       =SIMP(statut='f',typ='I', defaut= 1 ,into=(1,2) ),
8666 #============================================================================
8667          SECTION     =FACT(statut='f',max='**',
8668               regles=(AU_MOINS_UN('TOUT_SECT','GROUP_MA_SECT','MAILLE_SECT'),
8669                       PRESENT_ABSENT('TOUT_SECT','GROUP_MA_SECT','MAILLE_SECT'),),
8670
8671               GROUP_FIBRE       =SIMP(statut='o',typ='TXM',min=1,max=1),
8672               TOUT_SECT         =SIMP(statut='f',typ='TXM',into=("OUI",) ),
8673               GROUP_MA_SECT     =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
8674               MAILLE_SECT       =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
8675
8676               MAILLAGE_SECT     =SIMP(statut='o',typ=maillage_sdaster),
8677               COOR_AXE_POUTRE   =SIMP(statut='o',typ='R',min=2,max=2),
8678          ),
8679
8680
8681 #============================================================================
8682          FIBRE     =FACT(statut='f',max='**',
8683               GROUP_FIBRE       =SIMP(statut='o',typ='TXM',min=1,max=1),
8684               CARA              =SIMP(statut='f',typ='TXM',defaut='SURFACE',into=('SURFACE','DIAMETRE',)),
8685               VALE              =SIMP(statut='o',typ='R',max='**'),
8686               COOR_AXE_POUTRE   =SIMP(statut='o',typ='R',min=2,max=2),
8687           ),
8688
8689
8690 ) ;
8691 #& MODIF COMMANDE  DATE 04/07/2005   AUTEUR REZETTE C.REZETTE 
8692 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8693 # ======================================================================
8694 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8695 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8696 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8697 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
8698 # (AT YOUR OPTION) ANY LATER VERSION.
8699 #
8700 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
8701 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
8702 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
8703 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
8704 #
8705 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
8706 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
8707 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
8708 # ======================================================================
8709 # RESPONSABLE VABHHTS J.PELLET
8710 def defi_group_prod(MAILLAGE,**args):
8711   if AsType(MAILLAGE) == maillage_sdaster : return maillage_sdaster
8712   if AsType(MAILLAGE) == squelette : return squelette
8713   raise AsException("type de concept resultat non prevu")
8714
8715 DEFI_GROUP=OPER(nom="DEFI_GROUP",op= 104,sd_prod=defi_group_prod,
8716                 fr="Définition de nouveaux groupes de noeuds et/ou de mailles dans un concept maillage",
8717                 reentrant='o',
8718             UIinfo={"groupes":("Maillage",)},
8719          regles=(AU_MOINS_UN('CREA_GROUP_MA','CREA_GROUP_NO','DETR_GROUP_NO','DETR_GROUP_MA'),),
8720          MAILLAGE        =SIMP(statut='o',typ=(maillage_sdaster,squelette) ),
8721          DETR_GROUP_MA   =FACT(statut='f',max='**',
8722            NOM             =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),),
8723          DETR_GROUP_NO   =FACT(statut='f',max='**',
8724            NOM             =SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**'),),
8725          CREA_GROUP_MA   =FACT(statut='f',max='**',
8726
8727 regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','INTERSEC','UNION','DIFFE','OPTION'),),
8728 #  quel est le concept attendu deriere NOM
8729            NOM             =SIMP(statut='o',typ=grma),
8730            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
8731            GROUP_MA        =SIMP(statut='f',typ=grma),
8732            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
8733            INTERSEC        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
8734            UNION           =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
8735            DIFFE           =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
8736            OPTION          =SIMP(statut='f',typ='TXM',into=("FACE_NORMALE","SPHERE","CYLINDRE","BANDE","APPUI_LACHE") ),
8737            b_group_ma      =BLOC(condition = "GROUP_MA != None",
8738              regles=(EXCLUS('POSITION','NUME_INIT'),),
8739              NUME_INIT       =SIMP(statut='f',typ='I'),
8740              POSITION        =SIMP(statut='f',typ='TXM',into=("INIT","FIN","MILIEU") ),
8741              b_nume_init   =BLOC(condition = "NUME_INIT != None",
8742                NUME_FIN        =SIMP(statut='f',typ='I' ),
8743              ),
8744            ),
8745            b_face_normale  =BLOC(condition = "OPTION == 'FACE_NORMALE'",
8746              regles=(UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
8747              ANGL_NAUT       =SIMP(statut='f',typ='R',max=2),
8748              VECT_NORMALE    =SIMP(statut='f',typ='R',max=3),
8749              ANGL_PREC       =SIMP(statut='f',typ='R',defaut= 0.5 ),
8750              VERI_SIGNE      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
8751            ),
8752            b_sphere        =BLOC(condition = "OPTION == 'SPHERE'",
8753              regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),),
8754              POINT           =SIMP(statut='f',typ='R',max=3),
8755              NOEUD_CENTRE    =SIMP(statut='f',typ=no),
8756              GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
8757              RAYON           =SIMP(statut='o',typ='R' ),
8758            ),
8759            b_cylindre      =BLOC(condition = "OPTION == 'CYLINDRE'",
8760              regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),
8761                      UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
8762              POINT           =SIMP(statut='f',typ='R',max=3),
8763              NOEUD_CENTRE    =SIMP(statut='f',typ=no),
8764              GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
8765              RAYON           =SIMP(statut='o',typ='R' ),
8766              ANGL_NAUT       =SIMP(statut='f',typ='R',max=2),
8767              VECT_NORMALE    =SIMP(statut='f',typ='R',max=3),
8768            ),
8769            b_bande         =BLOC(condition = "OPTION == 'BANDE'",
8770              regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),
8771                      UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
8772              POINT           =SIMP(statut='f',typ='R' ,max=3),
8773              NOEUD_CENTRE    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=1),
8774              GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
8775              DIST            =SIMP(statut='o',typ='R' ),
8776              ANGL_NAUT       =SIMP(statut='f',typ='R',max=2),
8777              VECT_NORMALE    =SIMP(statut='f',typ='R',max=3),
8778            ),
8779            b_app_lache         =BLOC(condition = "OPTION == 'APPUI_LACHE'",
8780              regles=(UN_PARMI('NOEUD','GROUP_NO'),),
8781              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
8782              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
8783            ),
8784          ),
8785          CREA_GROUP_NO   =FACT(statut='f',max='**',
8786            OPTION          =SIMP(statut='f',typ='TXM',into=("ENV_SPHERE","ENV_CYLINDRE","PLAN",
8787                                                "SEGM_DROI_ORDO","NOEUD_ORDO","TUNNEL") ),
8788
8789            b_option =BLOC(condition = "OPTION == None" ,
8790                           regles=(UN_PARMI('TOUT_GROUP_MA','GROUP_MA','GROUP_NO','NOEUD',
8791                                                            'INTERSEC','UNION','DIFFE'),),
8792               TOUT_GROUP_MA   =SIMP(statut='f',typ='TXM',into=("OUI",) ),
8793               GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
8794               GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
8795               NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
8796               INTERSEC        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
8797               UNION           =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
8798               DIFFE           =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
8799
8800               b_nom_group_ma  =BLOC(condition = "GROUP_MA != None",
8801                 NOM           = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
8802                 CRIT_NOEUD    = SIMP(statut='f',typ='TXM',defaut="TOUS",
8803                                   into=("TOUS","SOMMET","MILIEU","CENTRE"),),
8804               ),
8805               b_group_no      =BLOC(condition = "GROUP_NO != None",
8806                                     regles=(EXCLUS('POSITION','NUME_INIT'),),
8807                 NUME_INIT       =SIMP(statut='f',typ='I'),
8808                 POSITION        =SIMP(statut='f',typ='TXM',into=("INIT","FIN","MILIEU") ),
8809                 b_nume_init     =BLOC(condition = "NUME_INIT != None",
8810                   NUME_FIN        =SIMP(statut='f',typ='I' ),
8811                 ),
8812               ),
8813               b_nom =BLOC(condition = "GROUP_MA == None and TOUT_GROUP_MA == None" ,
8814                 NOM             =SIMP(statut='o',typ=geom),
8815               ),
8816            ),
8817
8818            b_env_sphere    =BLOC(condition = "OPTION == 'ENV_SPHERE'",
8819              regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),),
8820              NOM             =SIMP(statut='o',typ=geom),
8821              POINT           =SIMP(statut='f',typ='R' ,max=3),
8822              NOEUD_CENTRE    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=1),
8823              GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
8824              RAYON           =SIMP(statut='o',typ='R' ),
8825              PRECISION       =SIMP(statut='o',typ='R' ),
8826            ),
8827            b_env_cylindre  =BLOC(condition = "OPTION == 'ENV_CYLINDRE'",
8828              regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),
8829                      UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
8830              NOM             =SIMP(statut='o',typ=geom),
8831              POINT           =SIMP(statut='f',typ='R' ,max=3),
8832              NOEUD_CENTRE    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=1),
8833              GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
8834              RAYON           =SIMP(statut='o',typ='R' ),
8835              ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
8836              VECT_NORMALE    =SIMP(statut='f',typ='R',max=3),
8837              PRECISION       =SIMP(statut='o',typ='R' ),
8838            ),
8839            b_env_plan      =BLOC(condition = "OPTION == 'PLAN'",
8840              regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),
8841                      UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
8842              NOM             =SIMP(statut='o',typ=geom),
8843              POINT           =SIMP(statut='f',typ='R' ,max=3),
8844              NOEUD_CENTRE    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=1),
8845              GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
8846              ANGL_NAUT       =SIMP(statut='f',typ='R' ,max=3),
8847              VECT_NORMALE    =SIMP(statut='f',typ='R' ,max=3),
8848              PRECISION       =SIMP(statut='o',typ='R' ),
8849            ),
8850            b_segm_droi_ordo=BLOC(condition = "OPTION == 'SEGM_DROI_ORDO'",
8851              regles=(AU_MOINS_UN('NOEUD','GROUP_NO'),
8852                      UN_PARMI('NOEUD_ORIG','GROUP_NO_ORIG'),
8853                      UN_PARMI('NOEUD_EXTR','GROUP_NO_EXTR'),),
8854              NOM             =SIMP(statut='o',typ=geom),
8855              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
8856              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
8857              NOEUD_ORIG      =SIMP(statut='f',typ=no),
8858              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno),
8859              NOEUD_EXTR      =SIMP(statut='f',typ=no),
8860              GROUP_NO_EXTR   =SIMP(statut='f',typ=grno),
8861              PRECISION       =SIMP(statut='o',typ='R' ),
8862              CRITERE         =SIMP(statut='o',typ='TXM',into=("ABSOLU","RELATIF") ),
8863            ),
8864            b_noeud_ordo    =BLOC(condition = "OPTION == 'NOEUD_ORDO'",
8865              regles=(EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),
8866                      EXCLUS('NOEUD_EXTR','GROUP_NO_EXTR'),),
8867              NOM             =SIMP(statut='o',typ=geom),
8868              GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
8869              NOEUD_ORIG      =SIMP(statut='f',typ=no),
8870              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno),
8871              NOEUD_EXTR      =SIMP(statut='f',typ=no),
8872              GROUP_NO_EXTR   =SIMP(statut='f',typ=grno),
8873            ),
8874            b_tunnel    =BLOC(condition = "OPTION == 'TUNNEL'",
8875              regles=(AU_MOINS_UN ('TOUT','GROUP_MA','MAILLE'),
8876                      EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),
8877                      AU_MOINS_UN ('GROUP_MA_AXE','MAILLE_AXE'),),
8878              NOM             =SIMP(statut='o',typ=geom),
8879              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
8880              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
8881              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
8882              GROUP_MA_AXE    =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
8883              MAILLE_AXE      =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
8884              NOEUD_ORIG      =SIMP(statut='f',typ=no),
8885              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno),
8886              RAYON           =SIMP(statut='o',typ='R'),
8887              LONGUEUR        =SIMP(statut='f',typ='R'),
8888            ),
8889          ),
8890          ALARME          =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
8891          INFO            =SIMP(statut='f',typ='I',into=( 1 , 2 ) ),
8892 )  ;
8893 #& MODIF COMMANDE  DATE 26/06/2006   AUTEUR CIBHHLV L.VIVAN 
8894 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8895 # ======================================================================
8896 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8897 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8898 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8899 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
8900 # (AT YOUR OPTION) ANY LATER VERSION.                                 
8901 #
8902 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
8903 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
8904 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
8905 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
8906 #
8907 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
8908 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
8909 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
8910 # ======================================================================
8911 DEFI_INTERF_DYNA=OPER(nom="DEFI_INTERF_DYNA",op=  98,sd_prod=interf_dyna_clas,
8912                       reentrant='n',
8913             UIinfo={"groupes":("Matrices/vecteurs",)},
8914             fr="Définir les interfaces d'une structure et leur affecter un type",
8915          NUME_DDL        =SIMP(statut='o',typ=nume_ddl_sdaster ),
8916          INTERFACE       =FACT(statut='o',max='**',
8917            regles=(ENSEMBLE('NOM','TYPE'),
8918 #  erreur doc U sur la condition qui suit
8919                    UN_PARMI('NOEUD','GROUP_NO'),),
8920            NOM             =SIMP(statut='f',typ='TXM' ),
8921            TYPE            =SIMP(statut='f',typ='TXM',into=("MNEAL","CRAIGB","CB_HARMO","AUCUN") ),
8922            NOEUD           =SIMP(statut='f',typ=no,max='**'),
8923            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
8924 #           DDL_ACTIF       =SIMP(statut='f',typ='TXM',max='**'),
8925            MASQUE          =SIMP(statut='f',typ='TXM',max='**'),
8926          ),
8927          FREQ            =SIMP(statut='f',typ='R',defaut= 1.),
8928          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
8929 )  ;
8930 #& MODIF COMMANDE  DATE 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
8931 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8932 # ======================================================================
8933 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8934 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8935 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8936 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
8937 # (AT YOUR OPTION) ANY LATER VERSION.                                 
8938 #
8939 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
8940 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
8941 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
8942 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
8943 #
8944 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
8945 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
8946 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
8947 # ======================================================================
8948 from Macro.defi_inte_spec_ops import defi_inte_spec_ops
8949
8950 DEFI_INTE_SPEC=MACRO(nom="DEFI_INTE_SPEC",op= defi_inte_spec_ops,sd_prod=table_fonction,
8951                      reentrant='n',
8952                      fr="Définit une matrice interspectrale",
8953                      UIinfo={"groupes":("Fonction",)},
8954
8955          DIMENSION       =SIMP(statut='f',typ='I',defaut= 1 ),
8956
8957          PAR_FONCTION    =FACT(statut='f',max='**',
8958            NUME_ORDRE_I    =SIMP(statut='o',typ='I' ),
8959            NUME_ORDRE_J    =SIMP(statut='o',typ='I' ),
8960            FONCTION        =SIMP(statut='o',typ=fonction_c ),
8961          ),
8962          KANAI_TAJIMI    =FACT(statut='f',max='**',
8963            regles=(EXCLUS('VALE_R','VALE_C'),),
8964            NUME_ORDRE_I    =SIMP(statut='o',typ='I' ),
8965            NUME_ORDRE_J    =SIMP(statut='o',typ='I' ),
8966            FREQ_MIN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8967            FREQ_MAX        =SIMP(statut='f',typ='R',defaut= 100. ),
8968            PAS             =SIMP(statut='f',typ='R',defaut= 1. ),
8969            AMOR_REDUIT     =SIMP(statut='f',typ='R',defaut= 0.6 ),
8970            FREQ_MOY        =SIMP(statut='f',typ='R',defaut= 5. ),
8971            VALE_R          =SIMP(statut='f',typ='R' ),
8972            VALE_C          =SIMP(statut='f',typ='C' ),
8973            INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
8974            PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
8975            PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
8976          ),
8977          CONSTANT        =FACT(statut='f',max='**',
8978            regles=(EXCLUS('VALE_R','VALE_C'),),
8979            NUME_ORDRE_I    =SIMP(statut='o',typ='I' ),
8980            NUME_ORDRE_J    =SIMP(statut='o',typ='I' ),
8981            FREQ_MIN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8982            FREQ_MAX        =SIMP(statut='f',typ='R',defaut= 100. ),
8983            PAS             =SIMP(statut='f',typ='R',defaut= 1. ),
8984            VALE_R          =SIMP(statut='f',typ='R' ),
8985            VALE_C          =SIMP(statut='f',typ='C' ),
8986            INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
8987            PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
8988            PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
8989          ),
8990          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
8991          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),               
8992 )  ;
8993 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
8994 #            CONFIGURATION MANAGEMENT OF EDF VERSION
8995 # ======================================================================
8996 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
8997 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8998 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8999 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
9000 # (AT YOUR OPTION) ANY LATER VERSION.                                 
9001 #
9002 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
9003 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
9004 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
9005 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
9006 #
9007 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
9008 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
9009 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
9010 # ======================================================================
9011 # RESPONSABLE VABHHTS J.PELLET
9012 DEFI_LIST_ENTI=OPER(nom="DEFI_LIST_ENTI",op=22,sd_prod=listis_sdaster,
9013                     fr="Définir une liste d'entier strictement croissante",
9014                     reentrant='n',
9015             UIinfo={"groupes":("Fonction",)},
9016          regles=(UN_PARMI('VALE','DEBUT'),
9017                  EXCLUS('VALE','INTERVALLE'),),
9018          VALE            =SIMP(statut='f',typ='I',max='**'),
9019          DEBUT           =SIMP(statut='f',typ='I'),
9020          INTERVALLE      =FACT(statut='f',max='**',
9021            regles=(UN_PARMI('NOMBRE','PAS'),),
9022            JUSQU_A         =SIMP(statut='o',typ='I'),
9023            NOMBRE          =SIMP(statut='f',typ='I',val_min=1,),
9024            PAS             =SIMP(statut='f',typ='I',val_min=1,),
9025          ),
9026          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
9027          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
9028 )  ;
9029 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
9030 #            CONFIGURATION MANAGEMENT OF EDF VERSION
9031 # ======================================================================
9032 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
9033 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
9034 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
9035 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
9036 # (AT YOUR OPTION) ANY LATER VERSION.                                 
9037 #
9038 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
9039 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
9040 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
9041 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
9042 #
9043 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
9044 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
9045 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
9046 # ======================================================================
9047 # RESPONSABLE VABHHTS J.PELLET
9048 DEFI_LIST_REEL=OPER(nom="DEFI_LIST_REEL",op=24,sd_prod=listr8_sdaster,
9049                     fr="Définir une liste de réels strictement croissante",
9050                     reentrant='n',
9051             UIinfo={"groupes":("Fonction",)},
9052          regles=(UN_PARMI('VALE','DEBUT',),
9053                  EXCLUS('VALE','INTERVALLE'),
9054                  ENSEMBLE('DEBUT','INTERVALLE')),
9055          VALE            =SIMP(statut='f',typ='R',max='**'),
9056          DEBUT           =SIMP(statut='f',typ='R'),
9057          INTERVALLE      =FACT(statut='f',max='**',
9058            regles=(UN_PARMI('NOMBRE','PAS'),),
9059            JUSQU_A         =SIMP(statut='o',typ='R'),
9060            NOMBRE          =SIMP(statut='f',typ='I'),
9061            PAS             =SIMP(statut='f',typ='R'),
9062          ),
9063          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
9064          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
9065 )  ;
9066 #& MODIF COMMANDE  DATE 12/03/2007   AUTEUR DEVESA G.DEVESA 
9067 #            CONFIGURATION MANAGEMENT OF EDF VERSION
9068 # ======================================================================
9069 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
9070 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
9071 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
9072 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
9073 # (AT YOUR OPTION) ANY LATER VERSION.                                 
9074 #
9075 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
9076 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
9077 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
9078 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
9079 #
9080 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
9081 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
9082 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
9083 # ======================================================================
9084 # RESPONSABLE VABHHTS J.PELLET
9085 DEFI_MAILLAGE=OPER(nom="DEFI_MAILLAGE",op=  88,sd_prod=maillage_sdaster,
9086                    fr="Définition d'un nouveau maillage à partir de macro-éléments",
9087                    reentrant='n',
9088             UIinfo={"groupes":("Maillage",)},
9089          DEFI_SUPER_MAILLE =FACT(statut='o',max='**',
9090            MACR_ELEM       =SIMP(statut='o',typ=(macr_elem_stat,macr_elem_dyna),max='**' ),
9091            SUPER_MAILLE    =SIMP(statut='f',typ=ma,max='**'),
9092            TRAN            =SIMP(statut='f',typ='R',max=3),
9093            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
9094            b_angl_naut     =BLOC(condition = "ANGL_NAUT != None",
9095              CENTRE          =SIMP(statut='f',typ='R',max=3),
9096            ),
9097          ),
9098          RECO_GLOBAL     =FACT(statut='f',max='**',
9099            regles=(UN_PARMI('TOUT','SUPER_MAILLE'),),
9100            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9101            SUPER_MAILLE    =SIMP(statut='f',typ=ma,max='**'),
9102            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
9103            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
9104          ),
9105          RECO_SUPER_MAILLE =FACT(statut='f',max='**',
9106            SUPER_MAILLE    =SIMP(statut='o',typ=ma,max='**'),
9107            GROUP_NO        =SIMP(statut='o',typ=grno,max='**'),
9108            OPTION          =SIMP(statut='f',typ='TXM',defaut="GEOMETRIQUE",into=("GEOMETRIQUE","NOEUD_A_NOEUD","INVERSE") ),
9109            geometrique     =BLOC(condition = "OPTION == 'GEOMETRIQUE'",
9110              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
9111              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
9112            ),
9113          ),
9114          DEFI_NOEUD      =FACT(statut='f',max='**',
9115            regles=(UN_PARMI('TOUT','NOEUD_INIT'),),
9116            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",),
9117                                  fr="Renommage de tous les noeuds" ),
9118            NOEUD_INIT      =SIMP(statut='f',typ=no,
9119                                  fr="Renommage d un seul noeud"),                     
9120            b_tout          =BLOC(condition = "TOUT != None",
9121              PREFIXE         =SIMP(statut='f',typ='TXM' ),
9122              INDEX           =SIMP(statut='o',typ='I',max='**'),
9123            ),
9124            b_noeud_init    =BLOC(condition = "NOEUD_INIT != None",
9125              SUPER_MAILLE    =SIMP(statut='o',typ=ma),
9126              NOEUD_FIN       =SIMP(statut='o',typ=no),
9127            ),        
9128          ),
9129          DEFI_GROUP_NO   =FACT(statut='f',max='**',
9130            regles=(UN_PARMI('TOUT','SUPER_MAILLE'),
9131                 AU_MOINS_UN('INDEX','GROUP_NO_FIN'),
9132                    ENSEMBLE('GROUP_NO_INIT','GROUP_NO_FIN'),),
9133 #  la regle ancien catalogue AU_MOINS_UN__: ( INDEX , GROUP_NO_FIN ) incoherente avec doc U           
9134            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",),
9135                                  fr="Création de plusieurs groupes de noeuds" ),
9136            SUPER_MAILLE    =SIMP(statut='f',typ=ma,
9137                                  fr="Création de plusieurs groupes de noeuds"),
9138            GROUP_NO_INIT   =SIMP(statut='f',typ=grno,
9139                                  fr="Création d un seul groupe de noeuds"),
9140            PREFIXE         =SIMP(statut='f',typ='TXM' ),
9141            INDEX           =SIMP(statut='f',typ='I',max='**'),
9142            GROUP_NO_FIN    =SIMP(statut='f',typ=grno),
9143          ),
9144 )  ;
9145 #& MODIF COMMANDE  DATE 21/05/2007   AUTEUR FERNANDES R.FERNANDES 
9146 #            CONFIGURATION MANAGEMENT OF EDF VERSION
9147 # ======================================================================
9148 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
9149 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
9150 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
9151 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
9152 # (AT YOUR OPTION) ANY LATER VERSION.
9153 #
9154 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
9155 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
9156 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
9157 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
9158 #
9159 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
9160 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
9161 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
9162 # ======================================================================
9163 DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
9164                    fr="Définition des paramètres décrivant le comportement d un matériau",
9165                    reentrant='f',
9166             UIinfo={"groupes":("Modélisation",)},
9167        regles=(EXCLUS('ELAS','ELAS_FO','ELAS_FLUI','ELAS_ISTR','ELAS_ISTR_FO','ELAS_ORTH',
9168                       'ELAS_ORTH_FO','ELAS_COQUE','ELAS_COQUE_FO',
9169                       'ELAS_HYPER','ELAS_2NDG',),
9170                EXCLUS('THER','THER_FO','THER_ORTH','THER_NL'),
9171                EXCLUS('ECRO_LINE','ECRO_LINE_FO','ECRO_PUIS'),
9172                EXCLUS('TAHERI','TAHERI_FO'),
9173                EXCLUS('ROUSSELIER','ROUSSELIER_FO'),
9174                EXCLUS('VISC_SINH','VISC_SINH_FO'),
9175                PRESENT_PRESENT('ROUSSELIER','TRACTION'),
9176                PRESENT_PRESENT('ROUSSELIER_FO','TRACTION'),
9177                EXCLUS('CIN1_CHAB','CIN1_CHAB_FO'),
9178                EXCLUS('CIN2_CHAB','CIN2_CHAB_FO'),
9179                EXCLUS('VISCOCHAB','VISCOCHAB_FO'),
9180                EXCLUS('LEMAITRE','LEMAITRE_FO','ZIRC_CYRA2','ZIRC_EPRI','VISC_IRRA_LOG',
9181                'LEMA_SEUIL','LEMA_SEUIL_FO','LEMAITRE_IRRA','LMARC_IRRA',),
9182                EXCLUS('LMARC','LMARC_FO'),
9183                EXCLUS('VMIS_POUTRE','VMIS_POUTRE_FO'),
9184                EXCLUS('VENDOCHAB','VENDOCHAB_FO'),
9185                PRESENT_PRESENT('BPEL_ACIER','ELAS'),
9186                EXCLUS('RCCM','RCCM_FO'),
9187                EXCLUS('WEIBULL','WEIBULL_FO'),
9188                PRESENT_PRESENT('BARCELONE','CAM_CLAY','ELAS'),
9189                PRESENT_PRESENT('CAM_CLAY','ELAS'),
9190                PRESENT_PRESENT('LAIGLE','ELAS'),
9191                PRESENT_PRESENT('DRUCK_PRAGER','ELAS'),
9192                PRESENT_PRESENT('HOEK_BROWN','ELAS'),
9193                EXCLUS('MAZARS','MAZARS_FO'),
9194                PRESENT_PRESENT('BAZANT_FD','ELAS_FO'),
9195                PRESENT_PRESENT('JOINT_BA','ELAS'),
9196                PRESENT_PRESENT('CABLE','ELAS'),
9197                EXCLUS('GLRC_DAMAGE','GLRC_DM'),
9198                ),
9199            MATER      =SIMP(statut='f',typ=mater_sdaster),
9200 #
9201 # comportement élastique
9202 #
9203            ELAS            =FACT(statut='f',
9204              E               =SIMP(statut='o',typ='R',val_min=0.E+0),
9205              NU              =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=0.5E+0),
9206              RHO             =SIMP(statut='f',typ='R'),
9207              ALPHA           =SIMP(statut='f',typ='R'),
9208              AMOR_ALPHA      =SIMP(statut='f',typ='R'),
9209              AMOR_BETA       =SIMP(statut='f',typ='R'),
9210              AMOR_HYST       =SIMP(statut='f',typ='R'),
9211            ),
9212            ELAS_FO         =FACT(statut='f',
9213              regles=(PRESENT_PRESENT('ALPHA','TEMP_DEF_ALPHA'),),
9214              E               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9215              NU              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9216              RHO             =SIMP(statut='f',typ='R'),
9217              TEMP_DEF_ALPHA  =SIMP(statut='f',typ='R'),
9218              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.),
9219              ALPHA           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9220              AMOR_ALPHA      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9221              AMOR_BETA       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9222              AMOR_HYST       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9223              K_DESSIC        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9224              B_ENDOGE        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9225              FONC_DESORP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9226              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST","HYDR","SECH","NEUT1","NEUT2",) ),
9227            ),
9228            ELAS_FLUI       =FACT(statut='f',
9229              E               =SIMP(statut='o',typ='R'),
9230              NU              =SIMP(statut='o',typ='R'),
9231              RHO             =SIMP(statut='o',typ='R'),
9232              PROF_RHO_F_INT  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9233              PROF_RHO_F_EXT  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9234              COEF_MASS_AJOU  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9235              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("ABSC",) ),
9236            ),
9237            ELAS_ISTR       =FACT(statut='f',
9238              E_L             =SIMP(statut='o',typ='R'),
9239              E_N             =SIMP(statut='o',typ='R'),
9240              NU_LT           =SIMP(statut='o',typ='R'),
9241              NU_LN           =SIMP(statut='o',typ='R'),
9242              G_LN            =SIMP(statut='o',typ='R'),
9243              RHO             =SIMP(statut='f',typ='R'),
9244              ALPHA_L         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9245              ALPHA_N         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9246            ),
9247            ELAS_ISTR_FO    =FACT(statut='f',
9248              regles=(
9249                       PRESENT_PRESENT('ALPHA_L','TEMP_DEF_ALPHA'),
9250                       PRESENT_PRESENT('ALPHA_N','TEMP_DEF_ALPHA'),
9251                     ),
9252              E_L             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9253              E_N             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9254              NU_LT           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9255              NU_LN           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9256              G_LN            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9257              RHO             =SIMP(statut='f',typ='R'),
9258              TEMP_DEF_ALPHA  =SIMP(statut='f',typ='R'),
9259              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.),
9260              ALPHA_L         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9261              ALPHA_N         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9262              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST")),
9263            ),
9264            ELAS_ORTH       =FACT(statut='f',
9265              E_L             =SIMP(statut='o',typ='R'),
9266              E_T             =SIMP(statut='o',typ='R'),
9267              E_N             =SIMP(statut='f',typ='R'),
9268              NU_LT           =SIMP(statut='o',typ='R'),
9269              NU_LN           =SIMP(statut='f',typ='R'),
9270              NU_TN           =SIMP(statut='f',typ='R'),
9271              G_LT            =SIMP(statut='o',typ='R'),
9272              G_LN            =SIMP(statut='f',typ='R'),
9273              G_TN            =SIMP(statut='f',typ='R'),
9274              RHO             =SIMP(statut='f',typ='R'),
9275              ALPHA_L         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9276              ALPHA_T         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9277              ALPHA_N         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9278              XT              =SIMP(statut='f',typ='R',defaut= 1. ),
9279              XC              =SIMP(statut='f',typ='R',defaut= 1. ),
9280              YT              =SIMP(statut='f',typ='R',defaut= 1. ),
9281              YC              =SIMP(statut='f',typ='R',defaut= 1. ),
9282              S_LT            =SIMP(statut='f',typ='R',defaut= 1. ),
9283              AMOR_ALPHA      =SIMP(statut='f',typ='R'),
9284              AMOR_BETA       =SIMP(statut='f',typ='R'),
9285              AMOR_HYST       =SIMP(statut='f',typ='R'),
9286            ),
9287            ELAS_ORTH_FO    =FACT(statut='f',
9288              regles=(
9289                       PRESENT_PRESENT('ALPHA_L','TEMP_DEF_ALPHA'),
9290                       PRESENT_PRESENT('ALPHA_N','TEMP_DEF_ALPHA'),
9291                       PRESENT_PRESENT('ALPHA_T','TEMP_DEF_ALPHA'),
9292                     ),
9293              E_L             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9294              E_T             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9295              E_N             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9296              NU_LT           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9297              NU_LN           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9298              NU_TN           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9299              G_LT            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9300              G_LN            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9301              G_TN            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9302              RHO             =SIMP(statut='f',typ='R'),
9303              TEMP_DEF_ALPHA  =SIMP(statut='f',typ='R'),
9304              PRECISION       =SIMP(statut='f',typ='R',defaut= 1. ),
9305              ALPHA_L         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9306              ALPHA_T         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9307              ALPHA_N         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9308              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST",) ),
9309              AMOR_ALPHA      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9310              AMOR_BETA       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9311              AMOR_HYST       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9312            ),
9313            ELAS_HYPER      =FACT(statut='f',
9314                                  regles=(UN_PARMI('K','NU'),),
9315              C10             =SIMP(statut='f',typ='R',defaut=0.0),
9316              C01             =SIMP(statut='o',typ='R'),
9317              C20             =SIMP(statut='f',typ='R',defaut=0.0),
9318              K               =SIMP(statut='f',typ='R'),
9319              RHO             =SIMP(statut='f',typ='R',defaut=0.0),
9320              NU              =SIMP(statut='f',typ='R',val_min=-1.E+0,val_max=0.5E+0),
9321            ),
9322            ELAS_COQUE      =FACT(statut='f',
9323              regles=(EXCLUS('MEMB_L','M_LLLL',),
9324                      PRESENT_PRESENT('MEMB_L','MEMB_LT', 'MEMB_T','MEMB_G_LT','FLEX_L','FLEX_LT',
9325                                      'FLEX_T','FLEX_G_LT','CISA_L','CISA_T',),
9326                      PRESENT_PRESENT('M_LLLL','M_LLTT','M_LLLT','M_TTTT','M_TTLT','M_LTLT','F_LLLL',
9327                                      'F_LLTT','F_LLLT','F_TTTT','F_TTLT','F_LTLT','MF_LLLL',
9328                                      'MF_LLTT','MF_LLLT','MF_TTTT','MF_TTLT','MF_LTLT','MC_LLLZ',
9329                                      'MC_LLTZ','MC_TTLZ','MC_TTTZ','MC_LTLZ','MC_LTTZ','FC_LLLZ',
9330                                      'FC_LLTZ','FC_TTLZ','FC_TTTZ','FC_LTLZ','FC_LTTZ','C_LZLZ',
9331                                      'C_LZTZ','C_TZTZ'),),
9332              MEMB_L          =SIMP(statut='f',typ='R'),
9333              MEMB_LT         =SIMP(statut='f',typ='R'),
9334              MEMB_T          =SIMP(statut='f',typ='R'),
9335              MEMB_G_LT       =SIMP(statut='f',typ='R'),
9336              FLEX_L          =SIMP(statut='f',typ='R'),
9337              FLEX_LT         =SIMP(statut='f',typ='R'),
9338              FLEX_T          =SIMP(statut='f',typ='R'),
9339              FLEX_G_LT       =SIMP(statut='f',typ='R'),
9340              CISA_L          =SIMP(statut='f',typ='R'),
9341              CISA_T          =SIMP(statut='f',typ='R'),
9342              M_LLLL          =SIMP(statut='f',typ='R'),
9343              M_LLTT          =SIMP(statut='f',typ='R'),
9344              M_LLLT          =SIMP(statut='f',typ='R'),
9345              M_TTTT          =SIMP(statut='f',typ='R'),
9346              M_TTLT          =SIMP(statut='f',typ='R'),
9347              M_LTLT          =SIMP(statut='f',typ='R'),
9348              F_LLLL          =SIMP(statut='f',typ='R'),
9349              F_LLTT          =SIMP(statut='f',typ='R'),
9350              F_LLLT          =SIMP(statut='f',typ='R'),
9351              F_TTTT          =SIMP(statut='f',typ='R'),
9352              F_TTLT          =SIMP(statut='f',typ='R'),
9353              F_LTLT          =SIMP(statut='f',typ='R'),
9354              MF_LLLL         =SIMP(statut='f',typ='R'),
9355              MF_LLTT         =SIMP(statut='f',typ='R'),
9356              MF_LLLT         =SIMP(statut='f',typ='R'),
9357              MF_TTTT         =SIMP(statut='f',typ='R'),
9358              MF_TTLT         =SIMP(statut='f',typ='R'),
9359              MF_LTLT         =SIMP(statut='f',typ='R'),
9360              MC_LLLZ         =SIMP(statut='f',typ='R'),
9361              MC_LLTZ         =SIMP(statut='f',typ='R'),
9362              MC_TTLZ         =SIMP(statut='f',typ='R'),
9363              MC_TTTZ         =SIMP(statut='f',typ='R'),
9364              MC_LTLZ         =SIMP(statut='f',typ='R'),
9365              MC_LTTZ         =SIMP(statut='f',typ='R'),
9366              FC_LLLZ         =SIMP(statut='f',typ='R'),
9367              FC_LLTZ         =SIMP(statut='f',typ='R'),
9368              FC_TTLZ         =SIMP(statut='f',typ='R'),
9369              FC_TTTZ         =SIMP(statut='f',typ='R'),
9370              FC_LTLZ         =SIMP(statut='f',typ='R'),
9371              FC_LTTZ         =SIMP(statut='f',typ='R'),
9372              C_LZLZ          =SIMP(statut='f',typ='R'),
9373              C_LZTZ          =SIMP(statut='f',typ='R'),
9374              C_TZTZ          =SIMP(statut='f',typ='R'),
9375              RHO             =SIMP(statut='f',typ='R'),
9376              ALPHA           =SIMP(statut='f',typ='R'),
9377            ),
9378            ELAS_COQUE_FO   =FACT(statut='f',
9379              regles=(EXCLUS('MEMB_L','M_LLLL',),
9380                      PRESENT_PRESENT('MEMB_L','MEMB_LT','MEMB_T','MEMB_G_LT','FLEX_L','FLEX_LT',
9381                                      'FLEX_T','FLEX_G_LT','CISA_L','CISA_T',),
9382                      PRESENT_PRESENT('M_LLLL','M_LLTT','M_LLLT','M_TTTT','M_TTLT','M_LTLT','F_LLLL',
9383                                      'F_LLTT','F_LLLT','F_TTTT','F_TTLT','F_LTLT','MF_LLLL','MF_LLTT',
9384                                      'MF_LLLT','MF_TTTT','MF_TTLT','MF_LTLT','MC_LLLZ','MC_LLTZ',
9385                                      'MC_TTLZ','MC_TTTZ','MC_LTLZ','MC_LTTZ','FC_LLLZ','FC_LLTZ',
9386                                      'FC_TTLZ','FC_TTTZ','FC_LTLZ','FC_LTTZ','C_LZLZ','C_LZTZ','C_TZTZ'),),
9387              MEMB_L          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9388              MEMB_LT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9389              MEMB_T          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9390              MEMB_G_LT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9391              FLEX_L          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9392              FLEX_LT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9393              FLEX_T          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9394              FLEX_G_LT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9395              CISA_L          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9396              CISA_T          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9397              M_LLLL          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9398              M_LLTT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9399              M_LLLT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9400              M_TTTT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9401              M_TTLT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9402              M_LTLT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9403              F_LLLL          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9404              F_LLTT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9405              F_LLLT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9406              F_TTTT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9407              F_TTLT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9408              F_LTLT          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9409              MF_LLLL         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9410              MF_LLTT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9411              MF_LLLT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9412              MF_TTTT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9413              MF_TTLT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9414              MF_LTLT         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9415              MC_LLLZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9416              MC_LLTZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9417              MC_TTLZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9418              MC_TTTZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9419              MC_LTLZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9420              MC_LTTZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9421              FC_LLLZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9422              FC_LLTZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9423              FC_TTLZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9424              FC_TTTZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9425              FC_LTLZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9426              FC_LTTZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9427              C_LZLZ          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9428              C_LZTZ          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9429              C_TZTZ          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9430              RHO             =SIMP(statut='f',typ='R'),
9431              ALPHA           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9432              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST") ),
9433            ),
9434            ELAS_2NDG        =FACT(statut='f',
9435              A1              =SIMP(statut='o',typ='R'),
9436              A2              =SIMP(statut='f',typ='R'),
9437              A3              =SIMP(statut='f',typ='R'),
9438              A4              =SIMP(statut='f',typ='R'),
9439              A5              =SIMP(statut='f',typ='R'),
9440            ),
9441            APPUI_ELAS      =FACT(statut='f',
9442              E_N             =SIMP(statut='o',typ='R'),
9443              E_TAN           =SIMP(statut='f',typ='R',defaut= 0.E+0),
9444            ),
9445            CABLE           =FACT(statut='f',
9446              EC_SUR_E        =SIMP(statut='f',typ='R',defaut= 1.E-4 ),
9447            ),
9448 #
9449 # comportement mécanique non linéaire
9450 #
9451            TRACTION        =FACT(statut='f',
9452              SIGM            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9453              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("EPSI","TEMP","HYDR","SECH",) ),
9454            ),
9455            ECRO_LINE       =FACT(statut='f',
9456              D_SIGM_EPSI     =SIMP(statut='o',typ='R',),
9457              SY              =SIMP(statut='o',typ='R',),
9458            ),
9459            ECRO_LINE_FO    =FACT(statut='f',
9460              D_SIGM_EPSI     =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9461              SY              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9462              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9463            ),
9464            ECRO_PUIS       =FACT(statut='f',
9465              SY              =SIMP(statut='o',typ='R',),
9466              A_PUIS          =SIMP(statut='o',typ='R',val_min=0.0),
9467              N_PUIS          =SIMP(statut='o',typ='R',val_min=1.E-6),
9468            ),
9469            ECRO_PUIS_FO    =FACT(statut='f',
9470              SY              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9471              A_PUIS          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9472              N_PUIS          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9473              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9474            ),
9475            BETON_ECRO_LINE =FACT(statut='f',
9476              D_SIGM_EPSI     =SIMP(statut='o',typ='R'),
9477              SYT             =SIMP(statut='o',typ='R'),
9478              SYC             =SIMP(statut='f',typ='R'),
9479            ),
9480            BETON_REGLE_PR =FACT(statut='f',
9481              D_SIGM_EPSI     =SIMP(statut='o',typ='R'),
9482              SYT             =SIMP(statut='o',typ='R'),
9483              SYC             =SIMP(statut='f',typ='R'),
9484              EPSC            =SIMP(statut='f',typ='R'),
9485              N               =SIMP(statut='f',typ='R'),
9486            ),
9487            ENDO_ORTH_BETON  =FACT(statut='f',
9488              ALPHA            =SIMP(statut='f',typ='R',defaut=0.9),
9489              K0               =SIMP(statut='o',typ='R'),
9490              K1               =SIMP(statut='o',typ='R'),
9491              K2               =SIMP(statut='f',typ='R',defaut=7.E-4),
9492              ECROB            =SIMP(statut='o',typ='R'),
9493              ECROD            =SIMP(statut='o',typ='R'),
9494            ),
9495            PRAGER          =FACT(statut='f',
9496              C               =SIMP(statut='o',typ='R'),
9497            ),
9498            PRAGER_FO       =FACT(statut='f',
9499              C               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9500              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9501            ),
9502            ECRO_FLEJOU     =FACT(statut='f',
9503              EP              =SIMP(statut='o',typ='R'),
9504              SY              =SIMP(statut='o',typ='R'),
9505              SU              =SIMP(statut='o',typ='R'),
9506              PUISS           =SIMP(statut='o',typ='R'),
9507            ),
9508            TAHERI          =FACT(statut='f',
9509              R_0             =SIMP(statut='o',typ='R'),
9510              ALPHA           =SIMP(statut='o',typ='R'),
9511              M               =SIMP(statut='o',typ='R'),
9512              A               =SIMP(statut='o',typ='R'),
9513              B               =SIMP(statut='o',typ='R'),
9514              C1              =SIMP(statut='o',typ='R'),
9515              C_INF           =SIMP(statut='o',typ='R'),
9516              S               =SIMP(statut='o',typ='R'),
9517            ),
9518            TAHERI_FO       =FACT(statut='f',
9519              R_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9520              ALPHA           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9521              M               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9522              A               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9523              B               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9524              C1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9525              C_INF           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9526              S               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9527              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9528            ),
9529            ROUSSELIER      =FACT(statut='f',
9530              D               =SIMP(statut='o',typ='R'),
9531              SIGM_1          =SIMP(statut='o',typ='R'),
9532              PORO_INIT       =SIMP(statut='o',typ='R'),
9533              PORO_CRIT       =SIMP(statut='f',typ='R',defaut= 1. ),
9534              PORO_ACCE       =SIMP(statut='f',typ='R',defaut= 1. ),
9535              PORO_LIMI       =SIMP(statut='f',typ='R',defaut= 0.999 ),
9536              D_SIGM_EPSI_NORM=SIMP(statut='f',typ='R',defaut= 1. ),
9537              AN              =SIMP(statut='f',typ='R',defaut= 0. ),
9538              DP_MAXI         =SIMP(statut='f',typ='R',defaut= 0.1),
9539              BETA            =SIMP(statut='f',typ='R',defaut=0.85),
9540            ),
9541            ROUSSELIER_FO   =FACT(statut='f',
9542              D               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9543              SIGM_1          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9544              PORO_INIT       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9545              PORO_CRIT       =SIMP(statut='f',typ='R',defaut= 1. ),
9546              PORO_ACCE       =SIMP(statut='f',typ='R',defaut= 1. ),
9547              PORO_LIMI       =SIMP(statut='f',typ='R',defaut= 0.999 ),
9548              D_SIGM_EPSI_NORM=SIMP(statut='f',typ='R',defaut= 1. ),
9549              AN              =SIMP(statut='f',typ='R',defaut= 0. ),
9550              DP_MAXI         =SIMP(statut='f',typ='R',defaut= 0.1),
9551              BETA            =SIMP(statut='f',typ='R',defaut=0.85),
9552              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9553            ),
9554            VISC_SINH      =FACT(statut='f',
9555              SIGM_0          =SIMP(statut='o',typ='R'),
9556              EPSI_0          =SIMP(statut='o',typ='R'),
9557              M               =SIMP(statut='o',typ='R'),
9558            ),
9559            VISC_SINH_FO      =FACT(statut='f',
9560              SIGM_0          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9561              EPSI_0          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9562              M               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9563              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9564            ),
9565            CIN1_CHAB  =FACT(statut='f',
9566              R_0             =SIMP(statut='o',typ='R'),
9567              R_I             =SIMP(statut='f',typ='R'),
9568              B               =SIMP(statut='f',typ='R',defaut= 0.0E+0),
9569              C_I             =SIMP(statut='o',typ='R'),
9570              K               =SIMP(statut='f',typ='R',defaut= 1.0E+0),
9571              W               =SIMP(statut='f',typ='R',defaut= 0.0E+0),
9572              G_0             =SIMP(statut='o',typ='R'),
9573              A_I             =SIMP(statut='f',typ='R',defaut= 1.0E+0),
9574            ),
9575            CIN1_CHAB_FO  =FACT(statut='f',
9576              R_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9577              R_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9578              B               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9579              C_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9580              K               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9581              W               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9582              G_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9583              A_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9584              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",)),
9585            ),
9586            CIN2_CHAB  =FACT(statut='f',
9587              R_0             =SIMP(statut='o',typ='R'),
9588              R_I             =SIMP(statut='f',typ='R'),
9589              B               =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9590              C1_I            =SIMP(statut='o',typ='R'),
9591              C2_I            =SIMP(statut='o',typ='R'),
9592              K               =SIMP(statut='f',typ='R',defaut= 1.),
9593              W               =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9594              G1_0            =SIMP(statut='o',typ='R'),
9595              G2_0            =SIMP(statut='o',typ='R'),
9596              A_I             =SIMP(statut='f',typ='R',defaut= 1.E+0 ),
9597            ),
9598            CIN2_CHAB_FO  =FACT(statut='f',
9599              R_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9600              R_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9601              B               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9602              C1_I            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9603              C2_I            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9604              K               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9605              W               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9606              G1_0            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9607              G2_0            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9608              A_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9609              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9610            ),
9611            VISCOCHAB       =FACT(statut='f',
9612              K_0             =SIMP(statut='o',typ='R'),
9613              A_K             =SIMP(statut='o',typ='R'),
9614              A_R             =SIMP(statut='o',typ='R'),
9615              K               =SIMP(statut='o',typ='R'),
9616              N               =SIMP(statut='o',typ='R'),
9617              ALP             =SIMP(statut='o',typ='R'),
9618              B               =SIMP(statut='o',typ='R'),
9619              M_R             =SIMP(statut='o',typ='R'),
9620              G_R             =SIMP(statut='o',typ='R'),
9621              MU              =SIMP(statut='o',typ='R'),
9622              Q_M             =SIMP(statut='o',typ='R'),
9623              Q_0             =SIMP(statut='o',typ='R'),
9624              QR_0            =SIMP(statut='o',typ='R'),
9625              ETA             =SIMP(statut='o',typ='R'),
9626              C1              =SIMP(statut='o',typ='R'),
9627              M_1             =SIMP(statut='o',typ='R'),
9628              D1              =SIMP(statut='o',typ='R'),
9629              G_X1            =SIMP(statut='o',typ='R'),
9630              G1_0            =SIMP(statut='o',typ='R'),
9631              C2              =SIMP(statut='o',typ='R'),
9632              M_2             =SIMP(statut='o',typ='R'),
9633              D2              =SIMP(statut='o',typ='R'),
9634              G_X2            =SIMP(statut='o',typ='R'),
9635              G2_0            =SIMP(statut='o',typ='R'),
9636              A_I             =SIMP(statut='o',typ='R'),
9637            ),
9638            VISCOCHAB_FO    =FACT(statut='f',
9639              K_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9640              A_K             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9641              A_R             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9642              K               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9643              N               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9644              ALP             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9645              B               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9646              M_R             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9647              G_R             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9648              MU              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9649              Q_M             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9650              Q_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9651              QR_0            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9652              ETA             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9653              C1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9654              M_1             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9655              D1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9656              G_X1            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9657              G1_0            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9658              C2              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9659              M_2             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9660              D2              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9661              G_X2            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9662              G2_0            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9663              A_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9664              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9665            ),
9666            LEMAITRE        =FACT(statut='f',
9667              N               =SIMP(statut='o',typ='R'),
9668              UN_SUR_K        =SIMP(statut='o',typ='R'),
9669              UN_SUR_M        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9670            ),
9671            LEMAITRE_IRRA    =FACT(statut='f',
9672              N               =SIMP(statut='o',typ='R'),
9673              UN_SUR_K        =SIMP(statut='o',typ='R'),
9674              UN_SUR_M        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9675              QSR_K           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9676              BETA            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9677              PHI_ZERO        =SIMP(statut='f',typ='R',defaut= 1.E+20),
9678              L               =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9679              GRAN_A          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9680              GRAN_B          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9681              GRAN_S          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9682            ),
9683            LMARC_IRRA       =FACT(statut='f',
9684              DE_0            =SIMP(statut='o',typ='R'),
9685              R_0             =SIMP(statut='o',typ='R'),
9686              N               =SIMP(statut='o',typ='R'),
9687              K               =SIMP(statut='o',typ='R'),
9688              Y_I             =SIMP(statut='o',typ='R'),
9689              Y_0             =SIMP(statut='o',typ='R'),
9690              B               =SIMP(statut='o',typ='R'),
9691              A_0             =SIMP(statut='o',typ='R'),
9692              RM              =SIMP(statut='o',typ='R'),
9693              M               =SIMP(statut='o',typ='R'),
9694              P               =SIMP(statut='o',typ='R'),
9695              P1              =SIMP(statut='o',typ='R'),
9696              P2              =SIMP(statut='o',typ='R'),
9697              M11             =SIMP(statut='o',typ='R'),
9698              M22             =SIMP(statut='o',typ='R'),
9699              M33             =SIMP(statut='o',typ='R'),
9700              M66             =SIMP(statut='o',typ='R'),
9701              N11             =SIMP(statut='o',typ='R'),
9702              N22             =SIMP(statut='o',typ='R'),
9703              N33             =SIMP(statut='o',typ='R'),
9704              N66             =SIMP(statut='o',typ='R'),
9705              Q11             =SIMP(statut='o',typ='R'),
9706              Q22             =SIMP(statut='o',typ='R'),
9707              Q33             =SIMP(statut='o',typ='R'),
9708              Q66             =SIMP(statut='o',typ='R'),
9709              R11             =SIMP(statut='o',typ='R'),
9710              R22             =SIMP(statut='o',typ='R'),
9711              R33             =SIMP(statut='o',typ='R'),
9712              R66             =SIMP(statut='o',typ='R'),
9713              GRAN_A          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9714              GRAN_B          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9715              GRAN_S          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9716            ),
9717            ZIRC_CYRA2      =FACT(statut='f',
9718              EPSI_FAB        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9719              TEMP_RECUIT     =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9720              FLUX_PHI        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9721              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("INST",) ),
9722            ),
9723           VISC_IRRA_LOG    =FACT(statut='f',
9724              A               =SIMP(statut='f',typ='R',defaut= 1.28E-1),
9725              B               =SIMP(statut='f',typ='R',defaut= 0.01159),
9726              CSTE_TPS        =SIMP(statut='f',typ='R',defaut= 0.3540),
9727              ENER_ACT        =SIMP(statut='f',typ='R',defaut= 5000.),
9728              FLUX_PHI        =SIMP(statut='o',typ='R',),
9729            ),
9730           GRAN_IRRA_LOG    =FACT(statut='f',
9731              A               =SIMP(statut='f',typ='R',defaut= 1.28E-1),
9732              B               =SIMP(statut='f',typ='R',defaut= 0.01159),
9733              CSTE_TPS        =SIMP(statut='f',typ='R',defaut= 0.3540),
9734              ENER_ACT        =SIMP(statut='f',typ='R',defaut= 5000.),
9735              FLUX_PHI        =SIMP(statut='o',typ='R',),
9736              GRAN_A          =SIMP(statut='f',typ='R',defaut= 0.E+0),
9737              GRAN_B          =SIMP(statut='f',typ='R',defaut= 0.E+0),
9738              GRAN_S          =SIMP(statut='f',typ='R',defaut= 0.E+0),
9739            ),
9740           LEMA_SEUIL   =FACT(statut='f',
9741              A               =SIMP(statut='o',typ='R',),
9742              S               =SIMP(statut='o',typ='R',),
9743            ),
9744           LEMA_SEUIL_FO=FACT(statut='f',
9745              A               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9746              S               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9747              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9748            ),
9749          IRRAD3M=FACT(statut='f',
9750                R02      =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9751                EPSI_U   =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9752                RM       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9753                AI0      =SIMP(statut='o',typ='R',val_min=0.0),
9754                ZETA_F   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9755                ETAI_S   =SIMP(statut='o',typ='R',val_min=0.0),
9756                RG0      =SIMP(statut='o',typ='R',val_min=0.0),
9757                ALPHA    =SIMP(statut='o',typ='R',val_min=0.0),
9758                PHI0     =SIMP(statut='o',typ='R',val_min=0.0),
9759                KAPPA    =SIMP(statut='f',typ='R',val_min=0.0,defaut=0.8,val_max=1.0),
9760                ZETA_G   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9761                TOLER_ET =SIMP(statut='c',typ='R',val_min=0.1E-2,val_max=10.0E-02,defaut=1.0E-02 ),
9762                VERI_P   =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","IRRA") ),
9763          ),
9764            ZIRC_EPRI       =FACT(statut='f',
9765              FLUX_PHI        =SIMP(statut='o',typ='R'),
9766              R_P             =SIMP(statut='o',typ='R'),
9767              THETA_MAX       =SIMP(statut='o',typ='R'),
9768            ),
9769            LEMAITRE_FO     =FACT(statut='f',
9770              N               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9771              UN_SUR_K        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9772              UN_SUR_M        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9773              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9774            ),
9775            LMARC           =FACT(statut='f',
9776              DE_0            =SIMP(statut='o',typ='R'),
9777              R_0             =SIMP(statut='o',typ='R'),
9778              N               =SIMP(statut='o',typ='R'),
9779              K               =SIMP(statut='o',typ='R'),
9780              Y_I             =SIMP(statut='o',typ='R'),
9781              Y_0             =SIMP(statut='o',typ='R'),
9782              B               =SIMP(statut='o',typ='R'),
9783              A_0             =SIMP(statut='o',typ='R'),
9784              RM              =SIMP(statut='o',typ='R'),
9785              M               =SIMP(statut='o',typ='R'),
9786              P               =SIMP(statut='o',typ='R'),
9787              P1              =SIMP(statut='o',typ='R'),
9788              P2              =SIMP(statut='o',typ='R'),
9789              M11             =SIMP(statut='o',typ='R'),
9790              M22             =SIMP(statut='o',typ='R'),
9791              M33             =SIMP(statut='o',typ='R'),
9792              M66             =SIMP(statut='o',typ='R'),
9793              N11             =SIMP(statut='o',typ='R'),
9794              N22             =SIMP(statut='o',typ='R'),
9795              N33             =SIMP(statut='o',typ='R'),
9796              N66             =SIMP(statut='o',typ='R'),
9797              Q11             =SIMP(statut='o',typ='R'),
9798              Q22             =SIMP(statut='o',typ='R'),
9799              Q33             =SIMP(statut='o',typ='R'),
9800              Q66             =SIMP(statut='o',typ='R'),
9801              R11             =SIMP(statut='o',typ='R'),
9802              R22             =SIMP(statut='o',typ='R'),
9803              R33             =SIMP(statut='o',typ='R'),
9804              R66             =SIMP(statut='o',typ='R'),
9805            ),
9806            LMARC_FO        =FACT(statut='f',
9807              DE_0            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9808              R_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9809              N               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9810              K               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9811              Y_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9812              Y_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9813              B               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9814              A_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9815              RM              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9816              M               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9817              P               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9818              P1              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9819              P2              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9820              M11             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9821              M22             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9822              M33             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9823              M66             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9824              N11             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9825              N22             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9826              N33             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9827              N66             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9828              Q11             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9829              Q22             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9830              Q33             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9831              Q66             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9832              R11             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9833              R22             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9834              R33             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9835              R66             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9836              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9837            ),
9838            VMIS_POUTRE     =FACT(statut='f',
9839              NP              =SIMP(statut='o',typ='R'),
9840              MEY             =SIMP(statut='o',typ='R'),
9841              MPY             =SIMP(statut='o',typ='R'),
9842              CAY             =SIMP(statut='o',typ='R'),
9843              CBY             =SIMP(statut='o',typ='R'),
9844              MEZ             =SIMP(statut='o',typ='R'),
9845              MPZ             =SIMP(statut='o',typ='R'),
9846              CAZ             =SIMP(statut='o',typ='R'),
9847              CBZ             =SIMP(statut='o',typ='R'),
9848              MPX             =SIMP(statut='o',typ='R'),
9849            ),
9850            VMIS_POUTRE_FO  =FACT(statut='f',
9851              NP              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9852              MEY             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9853              MPY             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9854              CAY             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9855              CBY             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9856              MEZ             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9857              MPZ             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9858              CAZ             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9859              CBZ             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9860              MPX             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9861              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
9862            ),
9863            ARME            =FACT(statut='f',
9864              KYE             =SIMP(statut='o',typ='R'),
9865              DLE             =SIMP(statut='o',typ='R'),
9866              KYP             =SIMP(statut='o',typ='R'),
9867              DLP             =SIMP(statut='o',typ='R'),
9868              KYG             =SIMP(statut='o',typ='R'),
9869            ),
9870            ASSE_CORN       =FACT(statut='f',
9871              NU_1            =SIMP(statut='o',typ='R'),
9872              MU_1            =SIMP(statut='o',typ='R'),
9873              DXU_1           =SIMP(statut='o',typ='R'),
9874              DRYU_1          =SIMP(statut='o',typ='R'),
9875              C_1             =SIMP(statut='o',typ='R'),
9876              NU_2            =SIMP(statut='o',typ='R'),
9877              MU_2            =SIMP(statut='o',typ='R'),
9878              DXU_2           =SIMP(statut='o',typ='R'),
9879              DRYU_2          =SIMP(statut='o',typ='R'),
9880              C_2             =SIMP(statut='o',typ='R'),
9881              KY              =SIMP(statut='o',typ='R'),
9882              KZ              =SIMP(statut='o',typ='R'),
9883              KRX             =SIMP(statut='o',typ='R'),
9884              KRZ             =SIMP(statut='o',typ='R'),
9885              R_P0            =SIMP(statut='f',typ='R',defaut= 1.E+4 ),
9886            ),
9887            DIS_CONTACT     =FACT(statut='f',
9888              RIGI_NOR        =SIMP(statut='f',typ='R' ),
9889              DIST_1          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9890              DIST_2          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9891              RIGI_TAN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9892              AMOR_NOR        =SIMP(statut='f',typ='R' ),
9893              AMOR_TAN        =SIMP(statut='f',typ='R' ),
9894              COULOMB         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9895              JEU             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9896              KT_ULTM         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9897              EFFO_N_INIT     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9898              regles=(EXCLUS('RIGI_N_FO','RIGI_N_IRRA',),
9899                      EXCLUS('RELA_MZ','ANGLE_1'),
9900                      PRESENT_PRESENT('ANGLE_1','ANGLE_2','ANGLE_3','ANGLE_4',
9901                                      'MOMENT_1','MOMENT_2','MOMENT_3','MOMENT_4'),),
9902              RIGI_N_IRRA     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9903              RIGI_N_FO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9904              RELA_MZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9905              ANGLE_1         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9906              ANGLE_2         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9907              ANGLE_3         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9908              ANGLE_4         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9909              MOMENT_1        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9910              MOMENT_2        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9911              MOMENT_3        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9912              MOMENT_4        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9913              C_PRAGER_MZ     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
9914              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("DRZ","INST","TEMP",) ),
9915            ),
9916            DIS_GRICRA    =FACT(statut='f',
9917              KN_AX       =SIMP(statut='o',typ='R' ),
9918              KT_AX       =SIMP(statut='o',typ='R' ),
9919              COUL_AX     =SIMP(statut='o',typ='R' ),
9920              F_SER       =SIMP(statut='f',typ='R' ),
9921              F_SER_FO    =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9922              ET_AX       =SIMP(statut='f',typ='R',defaut=1.e-7 ),
9923              ET_ROT      =SIMP(statut='f',typ='R',defaut=1.e-7 ),
9924              ANG1        =SIMP(statut='f',typ='R' ),
9925              ANG2        =SIMP(statut='f',typ='R' ),
9926              PEN1        =SIMP(statut='f',typ='R' ),
9927              PEN2        =SIMP(statut='f',typ='R' ),
9928              PEN3        =SIMP(statut='f',typ='R' ),
9929              ANG1_FO     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9930              ANG2_FO     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9931              PEN1_FO     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9932              PEN2_FO     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9933              PEN3_FO     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9934              regles=(EXCLUS('ANG1','ANG1_FO',),
9935                      UN_PARMI('ANG1','ANG1_FO',),
9936                      EXCLUS('F_SER','F_SER_FO',),
9937                      UN_PARMI('F_SER','F_SER_FO',),
9938                      PRESENT_PRESENT('ANG1','ANG2','PEN1','PEN2','PEN3',),
9939                      PRESENT_PRESENT('ANG1_FO','ANG2_FO','PEN1_FO','PEN2_FO','PEN3_FO',),
9940                                      ),
9941              VERI_P      =SIMP(statut='c',typ='TXM',max='**',defaut=("DRZ","INST","TEMP",) ),
9942            ),
9943            NADAI_B         =FACT(statut='f',
9944              F_C             =SIMP(statut='o',typ='R'),
9945              F_T             =SIMP(statut='o',typ='R'),
9946              CRIT_E_C        =SIMP(statut='o',typ='R'),
9947              EPSP_P_C        =SIMP(statut='o',typ='R'),
9948              EPSP_R_C        =SIMP(statut='o',typ='R'),
9949              EPSI_R_T        =SIMP(statut='o',typ='R'),
9950              FAC_T_C         =SIMP(statut='o',typ='R'),
9951            ),
9952            BETON_DOUBLE_DP =FACT(statut='f',
9953              F_C             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9954              F_T             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9955              COEF_BIAX       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9956              ENER_COMP_RUPT  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9957              ENER_TRAC_RUPT  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9958              COEF_ELAS_COMP  =SIMP(statut='o',typ='R'),
9959              LONG_CARA       =SIMP(statut='f',typ='R'),
9960              ECRO_COMP_P_PIC =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","PARABOLE") ),
9961              ECRO_TRAC_P_PIC =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","EXPONENT") ),
9962              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST","HYDR","SECH",) ),
9963            ),
9964            LABORD_1D=FACT(statut='f',min=0 ,
9965              Y01             =SIMP(statut='o',typ='R'),
9966              Y02             =SIMP(statut='o',typ='R'),
9967              A1              =SIMP(statut='o',typ='R'),
9968              A2              =SIMP(statut='o',typ='R'),
9969              B1              =SIMP(statut='o',typ='R'),
9970              B2              =SIMP(statut='o',typ='R'),
9971              BETA1           =SIMP(statut='o',typ='R'),
9972              BETA2           =SIMP(statut='o',typ='R'),
9973              SIGF            =SIMP(statut='o',typ='R'),
9974            ),
9975          MAZARS=FACT(statut='f',min=0 ,
9976              EPSD0           =SIMP(statut='o',typ='R'),
9977              BETA            =SIMP(statut='o',typ='R'),
9978              AC              =SIMP(statut='o',typ='R'),
9979              BC              =SIMP(statut='o',typ='R'),
9980              AT              =SIMP(statut='o',typ='R'),
9981              BT              =SIMP(statut='o',typ='R'),
9982            ),
9983          MAZARS_FO=FACT(statut='f',min=0 ,
9984              EPSD0           =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9985              BETA            =SIMP(statut='o',typ='R'),
9986              AC              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9987              BC              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9988              AT              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9989              BT              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
9990              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","SECH","HYDR") ),
9991            ),
9992          JOINT_BA=FACT(statut='f',min=0 ,max=1,
9993              HPEN            =SIMP(statut='o',typ='R',defaut= 1.E+0,val_min=0.E+0),
9994              GTT             =SIMP(statut='o',typ='R',val_min=0.E+0),
9995              GAMD0           =SIMP(statut='o',typ='R',val_min=1.E-4,val_max=1.E-1),
9996              AD1             =SIMP(statut='o',typ='R',val_min=0.E+0),
9997              BD1             =SIMP(statut='o',typ='R',defaut= 5.E-1,val_min=1.E-1),
9998              GAMD2           =SIMP(statut='o',typ='R',val_min=1.E-4,val_max=1.E+0),
9999              AD2             =SIMP(statut='o',typ='R',val_min=0.E+0),
10000              BD2             =SIMP(statut='o',typ='R',defaut= 1.E+0,val_min=1.E-1),
10001              VIFROT          =SIMP(statut='o',typ='R',val_min=0.E+0),
10002              FA              =SIMP(statut='o',typ='R',val_min=0.E+0),
10003              FC              =SIMP(statut='o',typ='R',val_min=0.E+0),
10004              EPSTR0          =SIMP(statut='o',typ='R',val_min=1.E-4,val_max=1.E+0),
10005              ADN             =SIMP(statut='o',typ='R',val_min=0.E+0),
10006              BDN             =SIMP(statut='o',typ='R',defaut= 1.E+0,val_min=1.E-1),
10007            ),
10008           VENDOCHAB       =FACT(statut='f',
10009              S_VP            =SIMP(statut='o',typ='R'),
10010              SEDVP1          =SIMP(statut='o',typ='R'),
10011              SEDVP2          =SIMP(statut='o',typ='R'),
10012              N_VP            =SIMP(statut='o',typ='R'),
10013              M_VP            =SIMP(statut='o',typ='R'),
10014              K_VP            =SIMP(statut='o',typ='R'),
10015              R_D             =SIMP(statut='o',typ='R'),
10016              A_D             =SIMP(statut='o',typ='R'),
10017              K_D             =SIMP(statut='o',typ='R'),
10018            ),
10019            VENDOCHAB_FO    =FACT(statut='f',
10020              S_VP            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10021              SEDVP1          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10022              SEDVP2          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10023              N_VP            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10024              M_VP            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10025              K_VP            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10026              R_D             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10027              A_D             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10028              K_D             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10029              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","X",) ),
10030            ),
10031            PINTO_MENEGOTTO =FACT(statut='f',
10032              SY              =SIMP(statut='o',typ='R'),
10033              EPSI_ULTM       =SIMP(statut='o',typ='R'),
10034              SIGM_ULTM       =SIMP(statut='o',typ='R'),
10035              ELAN            =SIMP(statut='f',typ='R',defaut= 4. ),
10036              EPSP_HARD       =SIMP(statut='o',typ='R'),
10037              R_PM            =SIMP(statut='f',typ='R',defaut= 20. ),
10038              EP_SUR_E        =SIMP(statut='f',typ='R'),
10039              A1_PM           =SIMP(statut='f',typ='R',defaut= 18.5 ),
10040              A2_PM           =SIMP(statut='f',typ='R',defaut= 0.15 ),
10041              A6_PM           =SIMP(statut='f',typ='R',defaut= 620. ),
10042              C_PM            =SIMP(statut='f',typ='R',defaut= 0.5 ),
10043              A_PM            =SIMP(statut='f',typ='R',defaut= 6.0E-3 ),
10044            ),
10045            BPEL_BETON      =FACT(statut='f',
10046              PERT_FLUA       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
10047              PERT_RETR       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
10048            ),
10049            BPEL_ACIER      =FACT(statut='f',
10050             regles=(PRESENT_PRESENT('RELAX_1000','F_PRG',),
10051                      PRESENT_PRESENT('MU0_RELAX','F_PRG',),),
10052              RELAX_1000      =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
10053              MU0_RELAX       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
10054              F_PRG           =SIMP(statut='f',typ='R'),
10055              FROT_COURB      =SIMP(statut='f',typ='R',defaut=0.E+0),
10056              FROT_LINE       =SIMP(statut='f',typ='R',defaut=0.E+0),
10057            ),
10058            CAM_CLAY      =FACT(statut='f',
10059              PORO            =SIMP(statut='o',typ='R'),
10060              LAMBDA          =SIMP(statut='o',typ='R'),
10061              KAPA            =SIMP(statut='o',typ='R'),
10062              M               =SIMP(statut='o',typ='R'),
10063              PRES_CRIT       =SIMP(statut='o',typ='R'),
10064              PA              =SIMP(statut='o',typ='R'),
10065            ),
10066            BARCELONE      =FACT(statut='f',
10067              R             =SIMP(statut='o',typ='R'),
10068              BETA          =SIMP(statut='o',typ='R'),
10069              KC            =SIMP(statut='o',typ='R'),
10070              PC0_INIT      =SIMP(statut='o',typ='R'),
10071              KAPAS         =SIMP(statut='o',typ='R'),
10072              LAMBDAS       =SIMP(statut='o',typ='R'),
10073              ALPHAB        =SIMP(statut='f',typ='R'),
10074            ),
10075            CJS             =FACT(statut='f',
10076              BETA_CJS        =SIMP(statut='o',typ='R'),
10077              RM              =SIMP(statut='o',typ='R'),
10078              N_CJS           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
10079              KP              =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
10080              RC              =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
10081              A_CJS           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
10082              B_CJS           =SIMP(statut='f',typ='R',defaut= 1.0E+25 ),
10083              C_CJS           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
10084              GAMMA_CJS       =SIMP(statut='o',typ='R'),
10085              MU_CJS          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
10086              PCO             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
10087              PA              =SIMP(statut='o',typ='R'),
10088              Q_INIT          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
10089              R_INIT          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
10090            ),
10091            HUJEUX   =FACT(statut='f',
10092              N      =SIMP(statut='o',typ='R' ),
10093              BETA   =SIMP(statut='o',typ='R' ),
10094              B      =SIMP(statut='o',typ='R' ),
10095              D      =SIMP(statut='o',typ='R' ),
10096              PHI    =SIMP(statut='o',typ='R' ),
10097              ANGDIL =SIMP(statut='o',typ='R' ),
10098              PCO    =SIMP(statut='o',typ='R' ),
10099              PREF   =SIMP(statut='o',typ='R' ),
10100              ACYC   =SIMP(statut='o',typ='R' ),
10101              AMON   =SIMP(statut='o',typ='R' ),
10102              CCYC   =SIMP(statut='o',typ='R' ),
10103              CMON   =SIMP(statut='o',typ='R' ),
10104              RD_ELA =SIMP(statut='o',typ='R' ),
10105              RI_ELA =SIMP(statut='o',typ='R' ),
10106              RHYS   =SIMP(statut='o',typ='R' ),
10107              RMOB   =SIMP(statut='o',typ='R' ),
10108              XM     =SIMP(statut='o',typ='R'),
10109            ),
10110            ECRO_ASYM_LINE  =FACT(statut='f',
10111              DC_SIGM_EPSI    =SIMP(statut='o',typ='R'),
10112              SY_C            =SIMP(statut='o',typ='R'),
10113              DT_SIGM_EPSI    =SIMP(statut='o',typ='R'),
10114              SY_T            =SIMP(statut='o',typ='R'),
10115            ),
10116            GRANGER_FP      =FACT(statut='f',
10117              J1              =SIMP(statut='f',typ='R'),
10118              J2              =SIMP(statut='f',typ='R'),
10119              J3              =SIMP(statut='f',typ='R'),
10120              J4              =SIMP(statut='f',typ='R'),
10121              J5              =SIMP(statut='f',typ='R'),
10122              J6              =SIMP(statut='f',typ='R'),
10123              J7              =SIMP(statut='f',typ='R'),
10124              J8              =SIMP(statut='f',typ='R'),
10125              TAUX_1          =SIMP(statut='f',typ='R'),
10126              TAUX_2          =SIMP(statut='f',typ='R'),
10127              TAUX_3          =SIMP(statut='f',typ='R'),
10128              TAUX_4          =SIMP(statut='f',typ='R'),
10129              TAUX_5          =SIMP(statut='f',typ='R'),
10130              TAUX_6          =SIMP(statut='f',typ='R'),
10131              TAUX_7          =SIMP(statut='f',typ='R'),
10132              TAUX_8          =SIMP(statut='f',typ='R'),
10133              QSR_K           =SIMP(statut='f',typ='R'),
10134            ),
10135            GRANGER_FP_INDT =FACT(statut='f',
10136              J1              =SIMP(statut='f',typ='R'),
10137              J2              =SIMP(statut='f',typ='R'),
10138              J3              =SIMP(statut='f',typ='R'),
10139              J4              =SIMP(statut='f',typ='R'),
10140              J5              =SIMP(statut='f',typ='R'),
10141              J6              =SIMP(statut='f',typ='R'),
10142              J7              =SIMP(statut='f',typ='R'),
10143              J8              =SIMP(statut='f',typ='R'),
10144              TAUX_1          =SIMP(statut='f',typ='R'),
10145              TAUX_2          =SIMP(statut='f',typ='R'),
10146              TAUX_3          =SIMP(statut='f',typ='R'),
10147              TAUX_4          =SIMP(statut='f',typ='R'),
10148              TAUX_5          =SIMP(statut='f',typ='R'),
10149              TAUX_6          =SIMP(statut='f',typ='R'),
10150              TAUX_7          =SIMP(statut='f',typ='R'),
10151              TAUX_8          =SIMP(statut='f',typ='R'),
10152            ),
10153            V_GRANGER_FP    =FACT(statut='f',
10154              QSR_VEIL        =SIMP(statut='f',typ='R'),
10155              FONC_V          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10156              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("INST",) ),
10157            ),
10158            BAZANT_FD      =FACT(statut='f',
10159              LAM_VISC      =SIMP(statut='o',typ='R'),
10160            ),
10161            BETON_UMLV_FP   =FACT(statut='f',min=0 ,
10162              K_RS            =SIMP(statut='o',typ='R'),
10163              ETA_RS          =SIMP(statut='o',typ='R'),
10164              K_IS            =SIMP(statut='o',typ='R'),
10165              ETA_IS          =SIMP(statut='o',typ='R'),
10166              K_RD            =SIMP(statut='o',typ='R'),
10167              ETA_RD          =SIMP(statut='o',typ='R'),
10168              ETA_ID          =SIMP(statut='o',typ='R'),
10169              ETA_FD          =SIMP(statut='f',typ='R'),
10170            ),
10171            GLRC_DAMAGE       =FACT(statut='f',min=0,max=1,
10172              FMEX1           =SIMP(statut='o',typ=(fonction_sdaster)),
10173              FMEY1           =SIMP(statut='o',typ=(fonction_sdaster)),
10174              FMEX2           =SIMP(statut='o',typ=(fonction_sdaster)),
10175              FMEY2           =SIMP(statut='o',typ=(fonction_sdaster)),
10176              DFMEX1           =SIMP(statut='o',typ=(fonction_sdaster)),
10177              DFMEY1           =SIMP(statut='o',typ=(fonction_sdaster)),
10178              DFMEX2           =SIMP(statut='o',typ=(fonction_sdaster)),
10179              DFMEY2           =SIMP(statut='o',typ=(fonction_sdaster)),
10180              DDFMEX1           =SIMP(statut='o',typ=(fonction_sdaster)),
10181              DDFMEY1           =SIMP(statut='o',typ=(fonction_sdaster)),
10182              DDFMEX2           =SIMP(statut='o',typ=(fonction_sdaster)),
10183              DDFMEY2           =SIMP(statut='o',typ=(fonction_sdaster)),
10184
10185              CX1             =SIMP(statut='o',typ='R',val_min=0.E+0),
10186              CY1             =SIMP(statut='o',typ='R',val_min=0.E+0),
10187              CXY1            =SIMP(statut='o',typ='R',val_min=0.E+0),
10188              CX2             =SIMP(statut='o',typ='R',val_min=0.E+0),
10189              CY2             =SIMP(statut='o',typ='R',val_min=0.E+0),
10190              CXY2            =SIMP(statut='o',typ='R',val_min=0.E+0),
10191              MF1             =SIMP(statut='o',typ='R',val_min=0.E+0),
10192              MF2             =SIMP(statut='o',typ='R',val_max=0.E+0),
10193              QP1             =SIMP(statut='o',typ='R',val_min=0.E+0),
10194              QP2             =SIMP(statut='o',typ='R',val_min=0.E+0),
10195              GAMMA           =SIMP(statut='o',typ='R',val_min=0.E+0),
10196              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("X ",) ),
10197            ),
10198            GLRC_DM         =FACT(statut='f',min=0,max=1,
10199              GAMMA_T         =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=1.E+0),
10200              GAMMA_F         =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=1.E+0),
10201              SYT             =SIMP(statut='o',typ='R',val_min=0.E+0),
10202              SYF             =SIMP(statut='o',typ='R',val_min=0.E+0),
10203              EF              =SIMP(statut='f',typ='R',val_min=0.E+0),
10204              NUF             =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=0.5+0),
10205            ),
10206            GLRC_ACIER        =FACT(statut='f',min=0,max=1,
10207              AX              =SIMP(statut='o',typ='R',val_min=0.E+0),
10208              AY              =SIMP(statut='o',typ='R',val_min=0.E+0),
10209              E               =SIMP(statut='o',typ='R',val_min=0.E+0),
10210              ENROB           =SIMP(statut='o',typ='R',val_min=0.E+0),
10211            ),
10212            GATT_MONERIE    =FACT(statut='f',min=0,max=1,
10213              D_GRAIN         =SIMP(statut='o',typ='R',val_min=0.E+0),
10214              PORO_INIT       =SIMP(statut='o',typ='R',val_min=0.E+0),
10215              EPSI_01         =SIMP(statut='o',typ='R',defaut= 2.7252E-10,val_min=0.E+0),
10216              EPSI_02         =SIMP(statut='o',typ='R',defaut= 9.1440E-41,val_min=0.E+0),
10217            ),
10218            CORR_ACIER   =FACT(statut='f',min=0 ,max=1,
10219              D_CORR           =SIMP(statut='o',typ='R'),
10220              ECRO_K           =SIMP(statut='o',typ='R'),
10221              ECRO_M           =SIMP(statut='o',typ='R'),
10222              SY              =SIMP(statut='o',typ='R'),
10223              ),
10224 # Discrets non-linéaires : début
10225          DIS_ECRO_CINE  =FACT(statut='f',
10226             fr="Loi pour les discrets avec érouissage cinematique.",
10227             regles=(PRESENT_PRESENT('LIMY_DX','KCIN_DX',),PRESENT_PRESENT('PUIS_DX','LIMU_DX',),
10228                     PRESENT_PRESENT('LIMY_DY','KCIN_DY',),PRESENT_PRESENT('PUIS_DY','LIMU_DY',),
10229                     PRESENT_PRESENT('LIMY_DZ','KCIN_DZ',),PRESENT_PRESENT('PUIS_DZ','LIMU_DZ',),
10230                     PRESENT_PRESENT('LIMY_RX','KCIN_RX',),PRESENT_PRESENT('PUIS_RX','LIMU_RX',),
10231                     PRESENT_PRESENT('LIMY_RY','KCIN_RY',),PRESENT_PRESENT('PUIS_RY','LIMU_RY',),
10232                     PRESENT_PRESENT('LIMY_RZ','KCIN_RZ',),PRESENT_PRESENT('PUIS_RZ','LIMU_RZ',),),
10233             LIMY_DX =SIMP(statut='f',typ='R',val_min = 0.0,
10234                fr="Effort limite élastique suivant l'axe local x de l'élément."),
10235             LIMY_DY =SIMP(statut='f',typ='R',val_min = 0.0,
10236                fr="Effort limite élastique suivant l'axe local y de l'élément."),
10237             LIMY_DZ =SIMP(statut='f',typ='R',val_min = 0.0,
10238                fr="Effort limite élastique suivant l'axe local z de l'élément."),
10239             LIMY_RX =SIMP(statut='f',typ='R',val_min = 0.0,
10240                fr="Moment limite élastique suivant l'axe local x de l'élément."),
10241             LIMY_RY =SIMP(statut='f',typ='R',val_min = 0.0,
10242                fr="Moment limite élastique suivant l'axe local y de l'élément."),
10243             LIMY_RZ =SIMP(statut='f',typ='R',val_min = 0.0,
10244                fr="Moment limite élastique suivant l'axe local z de l'élément."),
10245             KCIN_DX =SIMP(statut='f',typ='R',val_min = 0.0,
10246                fr="Raideur suivant l'axe local x de l'élément."),
10247             KCIN_DY =SIMP(statut='f',typ='R',val_min = 0.0,
10248                fr="Raideur suivant l'axe local y de l'élément."),
10249             KCIN_DZ =SIMP(statut='f',typ='R',val_min = 0.0,
10250                fr="Raideur suivant l'axe local z de l'élément."),
10251             KCIN_RX =SIMP(statut='f',typ='R',val_min = 0.0,
10252                fr="Raideur suivant l'axe local Rx de l'élément."),
10253             KCIN_RY =SIMP(statut='f',typ='R',val_min = 0.0,
10254                fr="Raideur suivant l'axe local Ry de l'élément."),
10255             KCIN_RZ =SIMP(statut='f',typ='R',val_min = 0.0,
10256                fr="Raideur suivant l'axe local Rz de l'élément."),
10257             LIMU_DX =SIMP(statut='f',typ='R',val_min = 0.0,
10258                fr="Effort limite suivant l'axe local x de l'élément."),
10259             LIMU_DY =SIMP(statut='f',typ='R',val_min = 0.0,
10260                fr="Effort limite suivant l'axe local y de l'élément."),
10261             LIMU_DZ =SIMP(statut='f',typ='R',val_min = 0.0,
10262                fr="Effort limite suivant l'axe local z de l'élément."),
10263             LIMU_RX =SIMP(statut='f',typ='R',val_min = 0.0,
10264                fr="Moment limite suivant l'axe local x de l'élément."),
10265             LIMU_RY =SIMP(statut='f',typ='R',val_min = 0.0,
10266                fr="Moment limite suivant l'axe local y de l'élément."),
10267             LIMU_RZ =SIMP(statut='f',typ='R',val_min = 0.0,
10268                fr="Moment limite suivant l'axe local z de l'élément."),
10269             PUIS_DX =SIMP(statut='f',typ='R',val_min = 1.0,
10270                fr="Coefficient de non-linéarité suivant l'axe local x de l'élément."),
10271             PUIS_DY =SIMP(statut='f',typ='R',val_min = 1.0,
10272                fr="Coefficient de non-linéarité suivant l'axe local y de l'élément."),
10273             PUIS_DZ =SIMP(statut='f',typ='R',val_min = 1.0,
10274                fr="Coefficient de non-linéarité suivant l'axe local z de l'élément."),
10275             PUIS_RX =SIMP(statut='f',typ='R',val_min = 1.0,
10276                fr="Coefficient de non-linéarité suivant l'axe local Rx de l'élément."),
10277             PUIS_RY =SIMP(statut='f',typ='R',val_min = 1.0,
10278                fr="Coefficient de non-linéarité suivant l'axe local Ry de l'élément."),
10279             PUIS_RZ =SIMP(statut='f',typ='R',val_min = 1.0,
10280                fr="Coefficient de non-linéarité suivant l'axe local Rz de l'élément."),
10281          ),
10282          DIS_VISC  =FACT(statut='f',
10283             fr="Loi pour un discret de type amortisseur visqueux.",
10284             regles=(PRESENT_PRESENT('PUIS_DX','COEF_DX',),
10285                     PRESENT_PRESENT('PUIS_DY','COEF_DY',),
10286                     PRESENT_PRESENT('PUIS_DZ','COEF_DZ',),
10287                     PRESENT_PRESENT('PUIS_RX','COEF_RX',),
10288                     PRESENT_PRESENT('PUIS_RY','COEF_RY',),
10289                     PRESENT_PRESENT('PUIS_RZ','COEF_RZ',),
10290                     ),
10291             PUIS_DX =SIMP(statut='f',typ='R',val_min = 0.0,
10292                fr="Puissance dans la direction locale Dx de l'élément."),
10293             PUIS_DY =SIMP(statut='f',typ='R',val_min = 0.0,
10294                fr="Puissance dans la direction locale Dy de l'élément."),
10295             PUIS_DZ =SIMP(statut='f',typ='R',val_min = 0.0,
10296                fr="Puissance dans la direction locale Dz de l'élément."),
10297             PUIS_RX =SIMP(statut='f',typ='R',val_min = 0.0,
10298                fr="Puissance autour de la direction locale Rx de l'élément."),
10299             PUIS_RY =SIMP(statut='f',typ='R',val_min = 0.0,
10300                fr="Puissance autour de la direction locale Ry de l'élément."),
10301             PUIS_RZ =SIMP(statut='f',typ='R',val_min = 0.0,
10302                fr="Puissance autour de la direction locale Rz de l'élément."),
10303             COEF_DX =SIMP(statut='f',typ='R',val_min = 0.0,
10304                fr="Coefficient C dans la direction locale Dx de l'élément."),
10305             COEF_DY =SIMP(statut='f',typ='R',val_min = 0.0,
10306                fr="Coefficient C dans la direction locale Dy de l'élément."),
10307             COEF_DZ =SIMP(statut='f',typ='R',val_min = 0.0,
10308                fr="Coefficient C dans la direction locale Dz de l'élément."),
10309             COEF_RX =SIMP(statut='f',typ='R',val_min = 0.0,
10310                fr="Coefficient C autour de la direction locale Rx de l'élément."),
10311             COEF_RY =SIMP(statut='f',typ='R',val_min = 0.0,
10312                fr="Coefficient C autour de la direction locale Ry de l'élément."),
10313             COEF_RZ =SIMP(statut='f',typ='R',val_min = 0.0,
10314                fr="Coefficient C autour de la direction locale Rz de l'élément."),
10315          ),
10316 # Discrets non-linéaires : fin
10317 #
10318 # comportement thermique
10319 #
10320            THER_NL         =FACT(statut='f',
10321              regles=(UN_PARMI('BETA','RHO_CP', ),),
10322              LAMBDA          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10323              BETA            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10324              RHO_CP          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10325              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
10326            ),
10327            THER_HYDR       =FACT(statut='f',
10328              LAMBDA          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10329              BETA            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10330              AFFINITE        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10331              CHALHYDR        =SIMP(statut='o',typ='R'),
10332              QSR_K           =SIMP(statut='o',typ='R'),
10333              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("HYDR","TEMP",) ),
10334            ),
10335            THER            =FACT(statut='f',
10336              LAMBDA          =SIMP(statut='o',typ='R'),
10337              RHO_CP          =SIMP(statut='f',typ='R'),
10338            ),
10339            THER_FO         =FACT(statut='f',
10340              LAMBDA          =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10341              RHO_CP          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10342              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("INST",) ),
10343            ),
10344            THER_ORTH       =FACT(statut='f',
10345              LAMBDA_L        =SIMP(statut='o',typ='R'),
10346              LAMBDA_T        =SIMP(statut='o',typ='R'),
10347              LAMBDA_N        =SIMP(statut='f',typ='R'),
10348              RHO_CP          =SIMP(statut='f',typ='R'),
10349            ),
10350            THER_COQUE      =FACT(statut='f',
10351              COND_LMM        =SIMP(statut='o',typ='R'),
10352              COND_TMM        =SIMP(statut='o',typ='R'),
10353              COND_LMP        =SIMP(statut='o',typ='R'),
10354              COND_TMP        =SIMP(statut='o',typ='R'),
10355              COND_LPP        =SIMP(statut='o',typ='R'),
10356              COND_TPP        =SIMP(statut='o',typ='R'),
10357              COND_LSI        =SIMP(statut='o',typ='R'),
10358              COND_TSI        =SIMP(statut='o',typ='R'),
10359              COND_NMM        =SIMP(statut='o',typ='R'),
10360              COND_NMP        =SIMP(statut='o',typ='R'),
10361              COND_NPP        =SIMP(statut='o',typ='R'),
10362              COND_NSI        =SIMP(statut='o',typ='R'),
10363              CMAS_MM         =SIMP(statut='f',typ='R'),
10364              CMAS_MP         =SIMP(statut='f',typ='R'),
10365              CMAS_PP         =SIMP(statut='f',typ='R'),
10366              CMAS_SI         =SIMP(statut='f',typ='R'),
10367            ),
10368            THER_COQUE_FO   =FACT(statut='f',
10369              COND_LMM        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10370              COND_TMM        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10371              COND_LMP        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10372              COND_TMP        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10373              COND_LPP        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10374              COND_TPP        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10375              COND_LSI        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10376              COND_TSI        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10377              COND_NMM        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10378              COND_NMP        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10379              COND_NPP        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10380              COND_NSI        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10381              CMAS_MM         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10382              CMAS_MP         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10383              CMAS_PP         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10384              CMAS_SI         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10385            ),
10386            SECH_GRANGER    =FACT(statut='f',
10387              A               =SIMP(statut='o',typ='R'),
10388              B               =SIMP(statut='o',typ='R'),
10389              QSR_K           =SIMP(statut='o',typ='R'),
10390              TEMP_0_C        =SIMP(statut='o',typ='R'),
10391            ),
10392            SECH_MENSI      =FACT(statut='f',
10393              A               =SIMP(statut='o',typ='R'),
10394              B               =SIMP(statut='o',typ='R'),
10395            ),
10396            SECH_BAZANT     =FACT(statut='f',
10397              D1              =SIMP(statut='o',typ='R'),
10398              ALPHA_BAZANT    =SIMP(statut='o',typ='R'),
10399              N               =SIMP(statut='o',typ='R'),
10400              FONC_DESORP     =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10401              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
10402            ),
10403            SECH_NAPPE      =FACT(statut='f',
10404              FONCTION        =SIMP(statut='o',typ=(nappe_sdaster,formule)),
10405              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","TSEC",) ),
10406            ),
10407 #
10408 # comportement métallurgique
10409 #
10410            META_ACIER      =FACT(statut='f',
10411              TRC             =SIMP(statut='o',typ=(table_sdaster) ),
10412              AR3             =SIMP(statut='o',typ='R'),
10413              ALPHA           =SIMP(statut='o',typ='R'),
10414              MS0             =SIMP(statut='o',typ='R'),
10415              AC1             =SIMP(statut='o',typ='R'),
10416              AC3             =SIMP(statut='o',typ='R'),
10417              TAUX_1          =SIMP(statut='o',typ='R'),
10418              TAUX_3          =SIMP(statut='o',typ='R'),
10419              LAMBDA0         =SIMP(statut='f',typ='R'),
10420              QSR_K           =SIMP(statut='f',typ='R'),
10421              D10             =SIMP(statut='f',typ='R'),
10422              WSR_K           =SIMP(statut='f',typ='R'),
10423            ),
10424            META_ZIRC       =FACT(statut='f',
10425              TDEQ            =SIMP(statut='o',typ='R'),
10426              N               =SIMP(statut='o',typ='R'),
10427              K               =SIMP(statut='o',typ='R'),
10428              TDC             =SIMP(statut='o',typ='R'),
10429              AC              =SIMP(statut='o',typ='R'),
10430              M               =SIMP(statut='o',typ='R'),
10431              QSR_K           =SIMP(statut='f',typ='R'),
10432              TDR             =SIMP(statut='o',typ='R'),
10433              AR              =SIMP(statut='o',typ='R'),
10434              BR              =SIMP(statut='o',typ='R'),
10435            ),
10436            DURT_META       =FACT(statut='f',
10437              F1_DURT         =SIMP(statut='o',typ='R'),
10438              F2_DURT         =SIMP(statut='o',typ='R'),
10439              F3_DURT         =SIMP(statut='o',typ='R'),
10440              F4_DURT         =SIMP(statut='o',typ='R'),
10441              C_DURT          =SIMP(statut='o',typ='R'),
10442            ),
10443            ELAS_META       =FACT(statut='f',
10444              E               =SIMP(statut='o',typ='R'),
10445              NU              =SIMP(statut='o',typ='R'),
10446              F_ALPHA         =SIMP(statut='o',typ='R'),
10447              C_ALPHA         =SIMP(statut='o',typ='R'),
10448              PHASE_REFE      =SIMP(statut='o',typ='TXM',into=("CHAUD","FROID")),
10449              EPSF_EPSC_TREF  =SIMP(statut='o',typ='R'),
10450              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E+0),
10451              F1_SY           =SIMP(statut='f',typ='R'),
10452              F2_SY           =SIMP(statut='f',typ='R'),
10453              F3_SY           =SIMP(statut='f',typ='R'),
10454              F4_SY           =SIMP(statut='f',typ='R'),
10455              C_SY            =SIMP(statut='f',typ='R'),
10456              SY_MELANGE      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10457              F1_S_VP         =SIMP(statut='f',typ='R'),
10458              F2_S_VP         =SIMP(statut='f',typ='R'),
10459              F3_S_VP         =SIMP(statut='f',typ='R'),
10460              F4_S_VP         =SIMP(statut='f',typ='R'),
10461              C_S_VP          =SIMP(statut='f',typ='R' ),
10462              S_VP_MELANGE    =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10463              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("META",)),
10464            ),
10465            ELAS_META_FO    =FACT(statut='f',
10466              regles=(
10467                       PRESENT_PRESENT('F_ALPHA','TEMP_DEF_ALPHA'),
10468                       PRESENT_PRESENT('C_ALPHA','TEMP_DEF_ALPHA'),
10469                     ),
10470              E               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10471              NU              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10472              F_ALPHA         =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10473              C_ALPHA         =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10474              PHASE_REFE      =SIMP(statut='o',typ='TXM',into=("CHAUD","FROID")),
10475              EPSF_EPSC_TREF  =SIMP(statut='o',typ='R'),
10476              TEMP_DEF_ALPHA  =SIMP(statut='f',typ='R'),
10477              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E+0),
10478              F1_SY           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10479              F2_SY           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10480              F3_SY           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10481              F4_SY           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10482              C_SY            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10483              SY_MELANGE      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10484              F1_S_VP         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10485              F2_S_VP         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10486              F3_S_VP         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10487              F4_S_VP         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10488              C_S_VP          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10489              S_VP_MELANGE    =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10490              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","META",)),
10491            ),
10492            META_ECRO_LINE  =FACT(statut='f',
10493              F1_D_SIGM_EPSI  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10494              F2_D_SIGM_EPSI  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10495              F3_D_SIGM_EPSI  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10496              F4_D_SIGM_EPSI  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10497              C_D_SIGM_EPSI   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10498              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",)),
10499            ),
10500            META_TRACTION   =FACT(statut='f',
10501              SIGM_F1         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10502              SIGM_F2         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10503              SIGM_F3         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10504              SIGM_F4         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10505              SIGM_C          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10506              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("EPSI","TEMP",)),
10507            ),
10508            META_VISC_FO    =FACT(statut='f',
10509              F1_ETA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10510              F1_N            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10511              F1_C            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10512              F1_M            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10513              F2_ETA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10514              F2_N            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10515              F2_C            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10516              F2_M            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10517              F3_ETA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10518              F3_N            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10519              F3_C            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10520              F3_M            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10521              F4_ETA          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10522              F4_N            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10523              F4_C            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10524              F4_M            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10525              C_ETA           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10526              C_N             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10527              C_C             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10528              C_M             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10529              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
10530            ),
10531            META_PT         =FACT(statut='f',
10532              F1_K            =SIMP(statut='f',typ='R'),
10533              F2_K            =SIMP(statut='f',typ='R'),
10534              F3_K            =SIMP(statut='f',typ='R'),
10535              F4_K            =SIMP(statut='f',typ='R'),
10536              F1_D_F_META     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10537              F2_D_F_META     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10538              F3_D_F_META     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10539              F4_D_F_META     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10540              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","META",) ),
10541            ),
10542            META_RE         =FACT(statut='f',
10543              C_F1_THETA      =SIMP(statut='f',typ='R'),
10544              C_F2_THETA      =SIMP(statut='f',typ='R'),
10545              C_F3_THETA      =SIMP(statut='f',typ='R'),
10546              C_F4_THETA      =SIMP(statut='f',typ='R'),
10547              F1_C_THETA      =SIMP(statut='f',typ='R'),
10548              F2_C_THETA      =SIMP(statut='f',typ='R'),
10549              F3_C_THETA      =SIMP(statut='f',typ='R'),
10550              F4_C_THETA      =SIMP(statut='f',typ='R'),
10551            ),
10552 #
10553 # comportement fluide
10554 #
10555            FLUIDE          =FACT(statut='f',
10556              regles=(EXCLUS('CELE_C','CELE_R'),),
10557              RHO             =SIMP(statut='o',typ='R'),
10558              CELE_C          =SIMP(statut='f',typ='C'),
10559              CELE_R          =SIMP(statut='f',typ='R'),
10560            ),
10561            PORO_JOINT      =FACT(statut='f',
10562              RHO_FLUI        =SIMP(statut='o',typ='R'),
10563              ENTRO_FLUI      =SIMP(statut='o',typ='R'),
10564              BIOT_M          =SIMP(statut='o',typ='R'),
10565              C_0             =SIMP(statut='o',typ='R'),
10566              T_R             =SIMP(statut='o',typ='R'),
10567              ALPHA_M         =SIMP(statut='o',typ='R'),
10568              LAMBDA_T        =SIMP(statut='o',typ='R'),
10569              LAMBDA_H        =SIMP(statut='o',typ='R'),
10570              SOURCE_INIT     =SIMP(statut='o',typ='R'),
10571              OMEGA_0         =SIMP(statut='o',typ='R'),
10572            ),
10573 # =================================================================================
10574 # COMPORTEMENT THERMO_HYDRO_MECANIQUE
10575 # LES DONNEES NECESSAIRES A LA DEFINITION DU MATERIAU SONT DEPENDANTES
10576 # DE LA LOI DE COUPLAGE THM DE LA RELATION
10577 # LE COMPORTEMENT DE COUPLAGE COMP_THM N EST VALABLE QUE POUR LES LOIS
10578 # DE COUPLAGE : LIQU_SATU,LIQU_GAZ,GAZ,LIQU_GAZ_ATM,LIQU_VAPE_GAZ,LIQU_VAPE
10579 # ET LIQU_AD_GAZ_VAPE
10580 # LA CORRESPONDANCE AVEC LES VARIABLES CACHEES EST LA SUIVANTE :
10581 # 1 -->  LIQU_SATU
10582 # 2 -->  GAZ
10583 # 3 -->  LIQU_VAPE
10584 # 4 -->  LIQU_VAPE_GAZ
10585 # 5 -->  LIQU_GAZ
10586 # 6 -->  LIQU_GAZ_ATM
10587 # 9 -->  LIQU_AD_GAZ_VAPE
10588 # =================================================================================
10589            COMP_THM        = SIMP(statut='f', typ='TXM',
10590                                   into = ( "LIQU_SATU"     ,
10591                                            "LIQU_GAZ"      ,
10592                                            "GAZ"           ,
10593                                            "LIQU_GAZ_ATM"  ,
10594                                            "LIQU_VAPE_GAZ" ,
10595                                            "LIQU_VAPE"     ,
10596                                            "LIQU_AD_GAZ_VAPE" ,
10597                                           ) ),
10598 # =================================================================================
10599 # --- LOI DE COUPLAGE DE TYPE LIQU_SATU -------------------------------------------
10600 # =================================================================================
10601 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
10602 # --- THM_INIT, THM_DIFFU, THM_LIQU -----------------------------------------------
10603 # =================================================================================
10604            b_liqusatu      = BLOC(condition = "COMP_THM == 'LIQU_SATU' ",
10605                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_SATU",
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 # ---------------------------------------------------------------------------------
10616 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10617 # ---------------------------------------------------------------------------------
10618                                            TEMP          = SIMP(statut='f',typ='R'),
10619 # ---------------------------------------------------------------------------------
10620 # -------------------   DONNEES INUTILES   ----------------------------------------
10621 # ---------------------------------------------------------------------------------
10622                                            PRE2          = SIMP(statut='f',typ='R'),
10623                                            PRES_VAPE     = 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= 1.0,),
10630                                              ),
10631 # =================================================================================
10632 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10633 # =================================================================================
10634                              THM_DIFFU  = FACT(statut='o',
10635 # ---------------------------------------------------------------------------------
10636 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10637 # ---------------------------------------------------------------------------------
10638                                            RHO           = SIMP(statut='o',typ='R'),
10639                                            BIOT_COEF     = SIMP(statut='o',typ='R'),
10640                                            PESA_X        = SIMP(statut='o',typ='R'),
10641                                            PESA_Y        = SIMP(statut='o',typ='R'),
10642                                            PESA_Z        = SIMP(statut='o',typ='R'),
10643 # ---------------------------------------------------------------------------------
10644 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10645 # ---------------------------------------------------------------------------------
10646                                            CP            = SIMP(statut='f',typ='R'),
10647                                            PERM_IN       = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10648                                            PERM_END      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10649                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
10650                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
10651                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10652                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10653                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10654                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10655                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10656                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10657                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10658                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10659                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10660                                            LAMB_CT   = SIMP(statut='f',typ='R'),
10661 # ---------------------------------------------------------------------------------
10662 # -------------------   DONNEES INUTILES   ----------------------------------------
10663 # ---------------------------------------------------------------------------------
10664                                            R_GAZ         = SIMP(statut='f',typ='R'),
10665                                            EMMAG           = SIMP(statut='f',typ='R'),
10666                                            SATU_PRES       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10667                                            D_SATU_PRES     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10668                                            PERM_LIQU       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10669                                            D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10670                                            PERM_GAZ        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10671                                            D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10672                                            D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
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 INUTILE -------------------------------------------------------------
10716 # =================================================================================
10717            THM_GAZ         =FACT(statut='f',
10718              MASS_MOL        =SIMP(statut='f',typ='R'),
10719              CP              =SIMP(statut='f',typ='R'),
10720              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10721              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10722              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10723            ),
10724 # =================================================================================
10725 # --- MOT-CLE INUTILE -------------------------------------------------------------
10726 # =================================================================================
10727            THM_VAPE_GAZ    =FACT(statut='f',
10728              MASS_MOL        =SIMP(statut='f',typ='R'),
10729              CP              =SIMP(statut='f',typ='R'),
10730              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10731              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10732              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10733            ),
10734                                  ),
10735 # =================================================================================
10736 # --- LOI DE COUPLAGE DE TYPE LIQU_GAZ --------------------------------------------
10737 # =================================================================================
10738 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
10739 # --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ --------------------------------------
10740 # =================================================================================
10741            b_liqugaz      = BLOC(condition = "COMP_THM == 'LIQU_GAZ' ",
10742                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_GAZ",
10743 # =================================================================================
10744 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10745 # =================================================================================
10746                              THM_INIT   = FACT(statut='o',
10747 # ---------------------------------------------------------------------------------
10748 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10749 # ---------------------------------------------------------------------------------
10750                                            PRE1             = SIMP(statut='o',typ='R'),
10751                                            PRE2             = SIMP(statut='o',typ='R'),
10752                                            PORO             = SIMP(statut='o',typ='R'),
10753 # ---------------------------------------------------------------------------------
10754 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10755 # ---------------------------------------------------------------------------------
10756                                            TEMP             = SIMP(statut='f',typ='R'),
10757 # ---------------------------------------------------------------------------------
10758 # -------------------   DONNEES INUTILES   ----------------------------------------
10759 # ---------------------------------------------------------------------------------
10760                                            PRES_VAPE        = SIMP(statut='f',typ='R'),
10761                                            DEGR_SATU        = SIMP(statut='f',typ='R'),
10762                                            PRES_ATMO        = SIMP(statut='f',typ='R'),
10763 # ---------------------------------------------------------------------------------
10764 # -------------------   DONNEE CACHEE ---------------------------------------------
10765 # ---------------------------------------------------------------------------------
10766                                            COMP_THM         = SIMP(statut='c',typ='R',defaut= 5.0,),
10767                                              ),
10768 # =================================================================================
10769 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10770 # =================================================================================
10771                              THM_DIFFU  = FACT(statut='o',
10772 # ---------------------------------------------------------------------------------
10773 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10774 # ---------------------------------------------------------------------------------
10775                                            R_GAZ            = SIMP(statut='o',typ='R'),
10776                                            RHO              = SIMP(statut='o',typ='R'),
10777                                            BIOT_COEF        = SIMP(statut='o',typ='R'),
10778                                            PESA_X           = SIMP(statut='o',typ='R'),
10779                                            PESA_Y           = SIMP(statut='o',typ='R'),
10780                                            PESA_Z           = SIMP(statut='o',typ='R'),
10781                                            SATU_PRES        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10782                                            D_SATU_PRES      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10783                                            PERM_LIQU        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10784                                            D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10785                                            PERM_GAZ         = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10786                                            D_PERM_SATU_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10787                                            D_PERM_PRES_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10788 # ---------------------------------------------------------------------------------
10789 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10790 # ---------------------------------------------------------------------------------
10791                                            CP               = SIMP(statut='f',typ='R'),
10792                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10793                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10794                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
10795                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
10796                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10797                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10798                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10799                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10800                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10801                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10802                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10803                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10804                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10805                                            LAMB_CT   = SIMP(statut='f',typ='R'),
10806 # ---------------------------------------------------------------------------------
10807 # -------------------   DONNEES INUTILES   ----------------------------------------
10808 # ---------------------------------------------------------------------------------
10809                                            EMMAG           = SIMP(statut='f',typ='R'),
10810                                            SIGMA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10811                                            D_SIGMA_T        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10812                                            PERM_G_INTR      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10813                                            CHAL_VAPO        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10814                                            FICKV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10815                                            FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10816                                            FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10817                                            FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10818                                            D_FV_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10819                                            D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10820                                            FICKA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10821                                            FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10822                                            FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10823                                            FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10824                                            D_FA_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10825 # ---------------------------------------------------------------------------------
10826 # -------------------   DONNEES CACHEES -------------------------------------------
10827 # ---------------------------------------------------------------------------------
10828           VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ),
10829                                              ) ,
10830 # =================================================================================
10831 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10832 # =================================================================================
10833                              THM_LIQU   = FACT(statut='o',
10834 # ---------------------------------------------------------------------------------
10835 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10836 # ---------------------------------------------------------------------------------
10837                                            RHO              = SIMP(statut='o',typ='R'),
10838                                            UN_SUR_K         = SIMP(statut='o',typ='R'),
10839                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10840                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10841 # ---------------------------------------------------------------------------------
10842 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10843 # ---------------------------------------------------------------------------------
10844                                            ALPHA            = SIMP(statut='f',typ='R'),
10845                                            CP               = SIMP(statut='f',typ='R'),
10846 # ---------------------------------------------------------------------------------
10847 # -------------------   DONNEES CACHEES -------------------------------------------
10848 # ---------------------------------------------------------------------------------
10849                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10850                                              ),
10851 # =================================================================================
10852 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10853 # =================================================================================
10854                              THM_GAZ    = FACT(statut='o',
10855 # ---------------------------------------------------------------------------------
10856 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10857 # ---------------------------------------------------------------------------------
10858                                            MASS_MOL        = SIMP(statut='o',typ='R'),
10859                                            VISC            = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10860                                            D_VISC_TEMP     = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10861 # ---------------------------------------------------------------------------------
10862 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10863 # ---------------------------------------------------------------------------------
10864                                            CP              = SIMP(statut='f',typ='R'),
10865 # ---------------------------------------------------------------------------------
10866 # -------------------   DONNEES CACHEES -------------------------------------------
10867 # ---------------------------------------------------------------------------------
10868                                            VERI_P          = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10869                                              ),
10870 # =================================================================================
10871 # --- MOT-CLE INUTILE -------------------------------------------------------------
10872 # =================================================================================
10873            THM_VAPE_GAZ    =FACT(statut='f',
10874              MASS_MOL        =SIMP(statut='f',typ='R'),
10875              CP              =SIMP(statut='f',typ='R'),
10876              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10877              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10878              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10879            ),
10880                                  ),
10881 # =================================================================================
10882 # --- LOI DE COUPLAGE DE TYPE GAZ -------------------------------------------------
10883 # =================================================================================
10884 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
10885 # --- THM_INIT, THM_DIFFU, THM_GAZ ------------------------------------------------
10886 # =================================================================================
10887            b_gaz          = BLOC(condition = "COMP_THM == 'GAZ' ",
10888                                  fr="Paramètres nécessaires pour une loi de couplage de type GAZ",
10889 # =================================================================================
10890 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10891 # =================================================================================
10892                              THM_INIT   = FACT(statut='o',
10893 # ---------------------------------------------------------------------------------
10894 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10895 # ---------------------------------------------------------------------------------
10896                                            TEMP             = SIMP(statut='o',typ='R'),
10897                                            PRE1             = SIMP(statut='o',typ='R'),
10898                                            PORO             = SIMP(statut='o',typ='R'),
10899 # ---------------------------------------------------------------------------------
10900 # -------------------   DONNEES INUTILES   ----------------------------------------
10901 # ---------------------------------------------------------------------------------
10902                                            PRE2             = SIMP(statut='f',typ='R'),
10903                                            PRES_VAPE        = SIMP(statut='f',typ='R'),
10904                                            DEGR_SATU        = SIMP(statut='f',typ='R'),
10905                                            PRES_ATMO        = SIMP(statut='f',typ='R'),
10906 # ---------------------------------------------------------------------------------
10907 # -------------------   DONNEE CACHEE ---------------------------------------------
10908 # ---------------------------------------------------------------------------------
10909                                            COMP_THM         = SIMP(statut='c',typ='R',defaut= 2.0,),
10910                                              ),
10911 # =================================================================================
10912 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10913 # =================================================================================
10914                              THM_DIFFU  = FACT(statut='o',
10915 # ---------------------------------------------------------------------------------
10916 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10917 # ---------------------------------------------------------------------------------
10918                                            R_GAZ            = SIMP(statut='o',typ='R'),
10919                                            RHO              = SIMP(statut='o',typ='R'),
10920                                            BIOT_COEF        = SIMP(statut='o',typ='R'),
10921                                            PESA_X           = SIMP(statut='o',typ='R'),
10922                                            PESA_Y           = SIMP(statut='o',typ='R'),
10923                                            PESA_Z           = SIMP(statut='o',typ='R'),
10924 # ---------------------------------------------------------------------------------
10925 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10926 # ---------------------------------------------------------------------------------
10927                                            CP               = SIMP(statut='f',typ='R'),
10928                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10929                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10930                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
10931                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
10932                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10933                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10934                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10935                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10936                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10937                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10938                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10939                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10940                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10941                                            LAMB_CT   = SIMP(statut='f',typ='R'),
10942 # ---------------------------------------------------------------------------------
10943 # -------------------   DONNEES INUTILES   ----------------------------------------
10944 # ---------------------------------------------------------------------------------
10945                                            EMMAG           = SIMP(statut='f',typ='R'),
10946                                            SATU_PRES       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10947                                            D_SATU_PRES     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10948                                            PERM_LIQU       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10949                                            D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10950                                            PERM_GAZ        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10951                                            D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10952                                            D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10953                                            SIGMA_T         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10954                                            D_SIGMA_T       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10955                                            PERM_G_INTR     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10956                                            CHAL_VAPO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10957                                            FICKV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10958                                            FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10959                                            FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10960                                            FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10961                                            D_FV_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10962                                            D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10963                                            FICKA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10964                                            FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10965                                            FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10966                                            FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10967                                            D_FA_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10968 # ---------------------------------------------------------------------------------
10969 # -------------------   DONNEES CACHEES -------------------------------------------
10970 # ---------------------------------------------------------------------------------
10971             VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ),
10972                                              ) ,
10973 # =================================================================================
10974 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
10975 # =================================================================================
10976                              THM_GAZ    = FACT(statut='o',
10977 # ---------------------------------------------------------------------------------
10978 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
10979 # ---------------------------------------------------------------------------------
10980                                            MASS_MOL         = SIMP(statut='o',typ='R'),
10981                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10982                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
10983 # ---------------------------------------------------------------------------------
10984 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
10985 # ---------------------------------------------------------------------------------
10986                                            CP               = SIMP(statut='f',typ='R'),
10987 # ---------------------------------------------------------------------------------
10988 # -------------------   DONNEES CACHEES -------------------------------------------
10989 # ---------------------------------------------------------------------------------
10990                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
10991                                              ),
10992 # =================================================================================
10993 # --- MOT-CLE INUTILE -------------------------------------------------------------
10994 # =================================================================================
10995            THM_LIQU        =FACT(statut='f',
10996              RHO             =SIMP(statut='f',typ='R'),
10997              UN_SUR_K        =SIMP(statut='f',typ='R'),
10998              ALPHA           =SIMP(statut='f',typ='R'),
10999              CP              =SIMP(statut='f',typ='R'),
11000              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11001              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11002              COEF_HENRY      =SIMP(statut='f',typ='R'),
11003              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
11004            ),
11005 # =================================================================================
11006 # --- MOT-CLE INUTILE -------------------------------------------------------------
11007 # =================================================================================
11008            THM_VAPE_GAZ    =FACT(statut='f',
11009              MASS_MOL        =SIMP(statut='f',typ='R'),
11010              CP              =SIMP(statut='f',typ='R'),
11011              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11012              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11013              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
11014            ),
11015                                  ),
11016 # =================================================================================
11017 # --- LOI DE COUPLAGE DE TYPE LIQU_GAZ_ATM ----------------------------------------
11018 # =================================================================================
11019 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
11020 # --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ --------------------------------------
11021 # =================================================================================
11022            b_liqugazatm   = BLOC(condition = "COMP_THM == 'LIQU_GAZ_ATM' ",
11023                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_GAZ_ATM",
11024 # =================================================================================
11025 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
11026 # =================================================================================
11027                              THM_INIT   = FACT(statut='o',
11028 # ---------------------------------------------------------------------------------
11029 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
11030 # ---------------------------------------------------------------------------------
11031                                            PRE1             = SIMP(statut='o',typ='R'),
11032                                            PORO             = SIMP(statut='o',typ='R'),
11033 # ---------------------------------------------------------------------------------
11034 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
11035 # ---------------------------------------------------------------------------------
11036                                            TEMP             = SIMP(statut='f',typ='R'),
11037 # ---------------------------------------------------------------------------------
11038 # -------------------   DONNEES INUTILES   ----------------------------------------
11039 # ---------------------------------------------------------------------------------
11040                                            PRE2             = SIMP(statut='f',typ='R'),
11041                                            PRES_VAPE        = SIMP(statut='f',typ='R'),
11042                                            DEGR_SATU        = SIMP(statut='f',typ='R'),
11043                                            PRES_ATMO        = SIMP(statut='f',typ='R'),
11044 # ---------------------------------------------------------------------------------
11045 # -------------------   DONNEE CACHEE ---------------------------------------------
11046 # ---------------------------------------------------------------------------------
11047                                            COMP_THM         = SIMP(statut='c',typ='R',defaut= 6.0,),
11048                                              ),
11049 # =================================================================================
11050 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
11051 # =================================================================================
11052                              THM_DIFFU  = FACT(statut='o',
11053 # ---------------------------------------------------------------------------------
11054 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
11055 # ---------------------------------------------------------------------------------
11056                                            RHO              = SIMP(statut='o',typ='R'),
11057                                            BIOT_COEF        = SIMP(statut='o',typ='R'),
11058                                            PESA_X           = SIMP(statut='o',typ='R'),
11059                                            PESA_Y           = SIMP(statut='o',typ='R'),
11060                                            PESA_Z           = SIMP(statut='o',typ='R'),
11061                                            SATU_PRES        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11062                                            D_SATU_PRES      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11063                                            PERM_LIQU        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11064                                            D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11065 # ---------------------------------------------------------------------------------
11066 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
11067 # ---------------------------------------------------------------------------------
11068                                            CP               = SIMP(statut='f',typ='R'),
11069                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11070                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11071                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
11072                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
11073                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11074                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11075                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11076                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11077                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11078                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11079                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11080                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11081                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11082                                            LAMB_CT   = SIMP(statut='f',typ='R'),
11083 # ---------------------------------------------------------------------------------
11084 # -------------------   DONNEES INUTILES   ----------------------------------------
11085 # ---------------------------------------------------------------------------------
11086              EMMAG           = SIMP(statut='f',typ='R'),
11087              R_GAZ           =SIMP(statut='f',typ='R'),
11088              PERM_GAZ        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11089              D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11090              D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11091              SIGMA_T         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11092              D_SIGMA_T       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11093              PERM_G_INTR     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11094              CHAL_VAPO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11095              FICKV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11096              FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11097              FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11098              FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11099              D_FV_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11100              D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11101              FICKA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11102              FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11103              FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11104              FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11105              D_FA_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11106 # ---------------------------------------------------------------------------------
11107 # -------------------   DONNEES CACHEES -------------------------------------------
11108 # ---------------------------------------------------------------------------------
11109              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ),
11110                                              ) ,
11111 # =================================================================================
11112 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
11113 # =================================================================================
11114                              THM_LIQU   = FACT(statut='o',
11115 # ---------------------------------------------------------------------------------
11116 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
11117 # ---------------------------------------------------------------------------------
11118                                            RHO              = SIMP(statut='o',typ='R'),
11119                                            UN_SUR_K         = SIMP(statut='o',typ='R'),
11120                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11121                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11122 # ---------------------------------------------------------------------------------
11123 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
11124 # ---------------------------------------------------------------------------------
11125                                            ALPHA            = SIMP(statut='f',typ='R'),
11126                                            CP               = SIMP(statut='f',typ='R'),
11127 # ---------------------------------------------------------------------------------
11128 # -------------------   DONNEES CACHEES -------------------------------------------
11129 # ---------------------------------------------------------------------------------
11130                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
11131                                              ),
11132 # =================================================================================
11133 # --- MOT-CLE INUTILE -------------------------------------------------------------
11134 # =================================================================================
11135                              THM_GAZ    = FACT(statut='f',
11136                                            MASS_MOL         = SIMP(statut='f',typ='R'),
11137                                            VISC             = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11138                                            D_VISC_TEMP      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11139                                            CP               = SIMP(statut='f',typ='R'),
11140                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
11141                                              ),
11142 # =================================================================================
11143 # --- MOT-CLE INUTILE -------------------------------------------------------------
11144 # =================================================================================
11145            THM_VAPE_GAZ    =FACT(statut='f',
11146              MASS_MOL        =SIMP(statut='f',typ='R'),
11147              CP              =SIMP(statut='f',typ='R'),
11148              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11149              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11150              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
11151            ),
11152                                  ),
11153 # =================================================================================
11154 # --- LOI DE COUPLAGE DE TYPE LIQU_VAPE_GAZ ---------------------------------------
11155 # =================================================================================
11156 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
11157 # --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ, THM_VAPE_GAZ ------------------------
11158 # =================================================================================
11159            b_liquvapegaz  = BLOC(condition = "COMP_THM == 'LIQU_VAPE_GAZ' ",
11160                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_VAPE_GAZ",
11161 # =================================================================================
11162 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
11163 # =================================================================================
11164                              THM_INIT   = FACT(statut='o',
11165 # ---------------------------------------------------------------------------------
11166 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
11167 # ---------------------------------------------------------------------------------
11168                                            PRE1             = SIMP(statut='o',typ='R'),
11169                                            PRE2             = SIMP(statut='o',typ='R'),
11170                                            PORO             = SIMP(statut='o',typ='R'),
11171                                            PRES_VAPE        = SIMP(statut='o',typ='R'),
11172 # ---------------------------------------------------------------------------------
11173 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
11174 # ---------------------------------------------------------------------------------
11175                                            TEMP             = SIMP(statut='f',typ='R'),
11176 # ---------------------------------------------------------------------------------
11177 # -------------------   DONNEES INUTILES   ----------------------------------------
11178 # ---------------------------------------------------------------------------------
11179                                            DEGR_SATU        = SIMP(statut='f',typ='R'),
11180                                            PRES_ATMO        = SIMP(statut='f',typ='R'),
11181 # ---------------------------------------------------------------------------------
11182 # -------------------   DONNEE CACHEE ---------------------------------------------
11183 # ---------------------------------------------------------------------------------
11184                                            COMP_THM         = SIMP(statut='c',typ='R',defaut= 4.0,),
11185                                              ),
11186 # =================================================================================
11187 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
11188 # =================================================================================
11189                              THM_DIFFU  = FACT(statut='o',
11190 # ---------------------------------------------------------------------------------
11191 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
11192 # ---------------------------------------------------------------------------------
11193                                            R_GAZ            = SIMP(statut='o',typ='R'),
11194                                            RHO              = SIMP(statut='o',typ='R'),
11195                                            BIOT_COEF        = SIMP(statut='o',typ='R'),
11196                                            PESA_X           = SIMP(statut='o',typ='R'),
11197                                            PESA_Y           = SIMP(statut='o',typ='R'),
11198                                            PESA_Z           = SIMP(statut='o',typ='R'),
11199                                            SATU_PRES        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11200                                            D_SATU_PRES      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11201                                            PERM_LIQU        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11202                                            D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11203                                            PERM_GAZ         = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11204                                            D_PERM_SATU_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11205                                            D_PERM_PRES_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11206                                            FICKV_T          = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11207 # ---------------------------------------------------------------------------------
11208 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
11209 # ---------------------------------------------------------------------------------
11210                                            CP               = SIMP(statut='f',typ='R'),
11211                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11212                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11213                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
11214                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
11215                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11216                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11217                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11218                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11219                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11220                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11221                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11222                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11223                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11224                                            LAMB_CT   = SIMP(statut='f',typ='R'),
11225 # ---------------------------------------------------------------------------------
11226 # -------------------   DONNEES FACULTATIVE   ----------------------------------
11227 # ---------------------------------------------------------------------------------
11228                                            EMMAG            = SIMP(statut='f',typ='R'),
11229                                            SIGMA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11230                                            D_SIGMA_T        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11231                                            PERM_G_INTR      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11232                                            CHAL_VAPO        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11233                                            FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11234                                            FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11235                                            FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11236                                            D_FV_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11237                                            D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11238 # ---------------------------------------------------------------------------------
11239 # -------------------   DONNEES INUTILES   ----------------------------------------
11240 # ---------------------------------------------------------------------------------
11241                                            FICKA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11242                                            FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11243                                            FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11244                                            FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11245                                            D_FA_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11246 # ---------------------------------------------------------------------------------
11247 # -------------------   DONNEES CACHEES -------------------------------------------
11248 # ---------------------------------------------------------------------------------
11249          VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT" ,"PORO","PGAZ","PCAP","ENDO","PVAP","PLIQ","PAD",) ),
11250                                              ) ,
11251 # =================================================================================
11252 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
11253 # =================================================================================
11254                              THM_LIQU   = FACT(statut='o',
11255 # ---------------------------------------------------------------------------------
11256 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
11257 # ---------------------------------------------------------------------------------
11258                                            RHO              = SIMP(statut='o',typ='R'),
11259                                            UN_SUR_K         = SIMP(statut='o',typ='R'),
11260                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11261                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11262 # ---------------------------------------------------------------------------------
11263 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
11264 # ---------------------------------------------------------------------------------
11265                                            ALPHA            = SIMP(statut='f',typ='R'),
11266                                            CP               = SIMP(statut='f',typ='R'),
11267 # ---------------------------------------------------------------------------------
11268 # -------------------   DONNEES CACHEES -------------------------------------------
11269 # ---------------------------------------------------------------------------------
11270                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
11271                                              ),
11272 # =================================================================================
11273 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
11274 # =================================================================================
11275                              THM_GAZ    = FACT(statut='o',
11276 # ---------------------------------------------------------------------------------
11277 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
11278 # ---------------------------------------------------------------------------------
11279                                            MASS_MOL         = SIMP(statut='o',typ='R'),
11280                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11281                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11282 # ---------------------------------------------------------------------------------
11283 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
11284 # ---------------------------------------------------------------------------------
11285                                            CP               = SIMP(statut='f',typ='R'),
11286 # ---------------------------------------------------------------------------------
11287 # -------------------   DONNEES CACHEES -------------------------------------------
11288 # ---------------------------------------------------------------------------------
11289                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
11290                                              ),
11291 # =================================================================================
11292 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
11293 # =================================================================================
11294                              THM_VAPE_GAZ = FACT(statut='o',
11295 # ---------------------------------------------------------------------------------
11296 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
11297 # ---------------------------------------------------------------------------------
11298                                            MASS_MOL         = SIMP(statut='o',typ='R'),
11299                                            CP               = SIMP(statut='o',typ='R'),
11300                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11301                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11302 # ---------------------------------------------------------------------------------
11303 # -------------------   DONNEES CACHEES -------------------------------------------
11304 # ---------------------------------------------------------------------------------
11305                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
11306                                              ),
11307                                  ),
11308 # =================================================================================
11309 # --- LOI DE COUPLAGE DE TYPE LIQU_AD_GAZ_VAPE -------------------------------------
11310 # =================================================================================
11311 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
11312 # --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ, THM_VAPE_GAZ THM_AIR_DISSOUS---------
11313 # =================================================================================
11314            b_liquadvape  = BLOC(condition = "COMP_THM == 'LIQU_AD_GAZ_VAPE' ",
11315                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_AD_GAZ_VAPE",
11316 # =================================================================================
11317 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
11318 # =================================================================================
11319                              THM_INIT   = FACT(statut='o',
11320 # ---------------------------------------------------------------------------------
11321 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
11322 # ---------------------------------------------------------------------------------
11323                                            PRE1             = SIMP(statut='o',typ='R'),
11324                                            PRE2             = SIMP(statut='o',typ='R'),
11325                                            PORO             = SIMP(statut='o',typ='R'),
11326                                            PRES_VAPE        = SIMP(statut='o',typ='R'),
11327 # ---------------------------------------------------------------------------------
11328 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
11329 # ---------------------------------------------------------------------------------
11330                                            TEMP             = SIMP(statut='f',typ='R'),
11331 # ---------------------------------------------------------------------------------
11332 # -------------------   DONNEES INUTILES   ----------------------------------------
11333 # ---------------------------------------------------------------------------------
11334                                            DEGR_SATU        = SIMP(statut='f',typ='R'),
11335                                            PRES_ATMO        = SIMP(statut='f',typ='R'),
11336 # ---------------------------------------------------------------------------------
11337 # -------------------   DONNEE CACHEE ---------------------------------------------
11338 # ---------------------------------------------------------------------------------
11339                                            COMP_THM         = SIMP(statut='c',typ='R',defaut= 9.0,),
11340                                              ),
11341 # =================================================================================
11342 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
11343 # =================================================================================
11344                              THM_DIFFU  = FACT(statut='o',
11345 # ---------------------------------------------------------------------------------
11346 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
11347 # ---------------------------------------------------------------------------------
11348                                            R_GAZ            = SIMP(statut='o',typ='R'),
11349                                            RHO              = SIMP(statut='o',typ='R'),
11350                                            BIOT_COEF        = SIMP(statut='o',typ='R'),
11351                                            PESA_X           = SIMP(statut='o',typ='R'),
11352                                            PESA_Y           = SIMP(statut='o',typ='R'),
11353                                            PESA_Z           = SIMP(statut='o',typ='R'),
11354                                            SATU_PRES        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11355                                            D_SATU_PRES      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11356                                            PERM_LIQU        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11357                                            D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11358                                            PERM_GAZ         = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11359                                            D_PERM_SATU_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11360                                            D_PERM_PRES_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11361                                            FICKV_T          = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11362                                            FICKA_T          = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11363 # ---------------------------------------------------------------------------------
11364 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
11365 # ---------------------------------------------------------------------------------
11366                                            CP               = SIMP(statut='f',typ='R'),
11367                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11368                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11369                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
11370                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
11371                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11372                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11373                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11374                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11375                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11376                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11377                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11378                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11379                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11380                                            LAMB_CT   = SIMP(statut='f',typ='R'),
11381 # ---------------------------------------------------------------------------------
11382 # -------------------   DONNEES FACULTATIVES   ------------------------------------
11383 # ---------------------------------------------------------------------------------
11384                                            EMMAG            = SIMP(statut='f',typ='R'),
11385                                            SIGMA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11386                                            D_SIGMA_T        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11387                                            PERM_G_INTR      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11388                                            CHAL_VAPO        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11389                                            FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11390                                            FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11391                                            FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11392                                            D_FV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11393                                            D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11394 #
11395                                            FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11396                                            FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11397                                            FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11398                                            D_FA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11399 # ---------------------------------------------------------------------------------
11400 # -------------------   DONNEES CACHEES -------------------------------------------
11401 # ---------------------------------------------------------------------------------
11402          VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO","PVAP","PLIQ","PAD",) ),
11403                                              ) ,
11404 # =================================================================================
11405 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
11406 # =================================================================================
11407                              THM_LIQU   = FACT(statut='o',
11408 # ---------------------------------------------------------------------------------
11409 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
11410 # ---------------------------------------------------------------------------------
11411                                            RHO              = SIMP(statut='o',typ='R'),
11412                                            UN_SUR_K         = SIMP(statut='o',typ='R'),
11413                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11414                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11415 # ---------------------------------------------------------------------------------
11416 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
11417 # ---------------------------------------------------------------------------------
11418                                            ALPHA            = SIMP(statut='f',typ='R'),
11419                                            CP               = SIMP(statut='f',typ='R'),
11420                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11421                                            D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11422                                            LAMB_T    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11423                                            D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11424                                            LAMB_CT        = SIMP(statut='f',typ='R'),
11425 # ---------------------------------------------------------------------------------
11426 # -------------------   DONNEES CACHEES -------------------------------------------
11427 # ---------------------------------------------------------------------------------
11428                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
11429                                              ),
11430 # =================================================================================
11431 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
11432 # =================================================================================
11433                              THM_GAZ    = FACT(statut='o',
11434 # ---------------------------------------------------------------------------------
11435 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
11436 # ---------------------------------------------------------------------------------
11437                                            MASS_MOL         = SIMP(statut='o',typ='R'),
11438                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11439                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11440 # ---------------------------------------------------------------------------------
11441 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
11442 # ---------------------------------------------------------------------------------
11443                                            CP               = SIMP(statut='f',typ='R'),
11444 # ---------------------------------------------------------------------------------
11445 # -------------------   DONNEES CACHEES -------------------------------------------
11446 # ---------------------------------------------------------------------------------
11447                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
11448                                              ),
11449 # =================================================================================
11450 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
11451 # =================================================================================
11452                              THM_VAPE_GAZ = FACT(statut='o',
11453 # ---------------------------------------------------------------------------------
11454 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
11455 # ---------------------------------------------------------------------------------
11456                                            MASS_MOL         = SIMP(statut='o',typ='R'),
11457                                            CP               = SIMP(statut='o',typ='R'),
11458                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11459                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11460 # ---------------------------------------------------------------------------------
11461 # -------------------   DONNEES CACHEES -------------------------------------------
11462 # ---------------------------------------------------------------------------------
11463                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
11464                                              ),
11465 # =================================================================================
11466 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
11467 # =================================================================================
11468                              THM_AIR_DISS = FACT(statut='o',
11469 # ---------------------------------------------------------------------------------
11470 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
11471 # ---------------------------------------------------------------------------------
11472                                            CP               = SIMP(statut='o',typ='R'),
11473                                            COEF_HENRY       = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11474                                            VERI_P      = SIMP(statut='c',typ='TXM',defaut=("TEMP",),),
11475                                              ),
11476                                  ),
11477 # =================================================================================
11478 # --- LOI DE COUPLAGE DE TYPE LIQU_VAPE -------------------------------------------
11479 # =================================================================================
11480 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
11481 # --- THM_INIT, THM_DIFFU, THM_LIQU, THM_VAPE_GAZ ---------------------------------
11482 # =================================================================================
11483            b_liquvape  = BLOC(condition = "COMP_THM == 'LIQU_VAPE' ",
11484                                  fr="Paramètres nécessaires pour une loi de couplage de type LIQU_VAPE",
11485 # =================================================================================
11486 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
11487 # =================================================================================
11488                              THM_INIT   = FACT(statut='o',
11489 # ---------------------------------------------------------------------------------
11490 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
11491 # ---------------------------------------------------------------------------------
11492                                            PRE1             = SIMP(statut='o',typ='R'),
11493                                            PORO             = SIMP(statut='o',typ='R'),
11494                                            PRES_VAPE        = SIMP(statut='o',typ='R'),
11495 # ---------------------------------------------------------------------------------
11496 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
11497 # ---------------------------------------------------------------------------------
11498                                            TEMP             = SIMP(statut='f',typ='R'),
11499 # ---------------------------------------------------------------------------------
11500 # -------------------   DONNEES INUTILES   ----------------------------------------
11501 # ---------------------------------------------------------------------------------
11502                                            PRE2             = SIMP(statut='f',typ='R'),
11503                                            DEGR_SATU        = SIMP(statut='f',typ='R'),
11504                                            PRES_ATMO        = SIMP(statut='f',typ='R'),
11505 # ---------------------------------------------------------------------------------
11506 # -------------------   DONNEE CACHEE ---------------------------------------------
11507 # ---------------------------------------------------------------------------------
11508                                            COMP_THM         = SIMP(statut='c',typ='R',defaut= 3.0,),
11509                                              ),
11510 # =================================================================================
11511 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
11512 # =================================================================================
11513                              THM_DIFFU  = FACT(statut='o',
11514 # ---------------------------------------------------------------------------------
11515 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
11516 # ---------------------------------------------------------------------------------
11517                                            R_GAZ            = SIMP(statut='o',typ='R'),
11518                                            RHO              = SIMP(statut='o',typ='R'),
11519                                            BIOT_COEF        = SIMP(statut='o',typ='R'),
11520                                            PESA_X           = SIMP(statut='o',typ='R'),
11521                                            PESA_Y           = SIMP(statut='o',typ='R'),
11522                                            PESA_Z           = SIMP(statut='o',typ='R'),
11523                                            SATU_PRES        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11524                                            D_SATU_PRES      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11525                                            PERM_LIQU        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11526                                            D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11527                                            PERM_GAZ         = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11528                                            D_PERM_SATU_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11529                                            D_PERM_PRES_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11530 # ---------------------------------------------------------------------------------
11531 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
11532 # ---------------------------------------------------------------------------------
11533                                            CP               = SIMP(statut='f',typ='R'),
11534                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11535                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11536                                                            regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
11537                                                             PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
11538                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11539                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11540                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11541                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11542                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11543                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11544                                            D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11545                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11546                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11547                                            LAMB_CT   = SIMP(statut='f',typ='R'),
11548 # ---------------------------------------------------------------------------------
11549 # -------------------   DONNEES INUTILES   ----------------------------------------
11550 # ---------------------------------------------------------------------------------
11551                                            EMMAG            = SIMP(statut='f',typ='R'),
11552                                            SIGMA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11553                                            D_SIGMA_T        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11554                                            PERM_G_INTR      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11555                                            CHAL_VAPO        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11556                                            FICKV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11557                                            FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11558                                            FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11559                                            FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11560                                            D_FV_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11561                                            D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11562                                            FICKA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11563                                            FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11564                                            FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11565                                            FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11566                                            D_FA_T           = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11567 # ---------------------------------------------------------------------------------
11568 # -------------------   DONNEES CACHEES -------------------------------------------
11569 # ---------------------------------------------------------------------------------
11570             VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ),
11571                                              ) ,
11572 # =================================================================================
11573 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
11574 # =================================================================================
11575                              THM_LIQU   = FACT(statut='o',
11576 # ---------------------------------------------------------------------------------
11577 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
11578 # ---------------------------------------------------------------------------------
11579                                            RHO              = SIMP(statut='o',typ='R'),
11580                                            UN_SUR_K         = SIMP(statut='o',typ='R'),
11581                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11582                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11583 # ---------------------------------------------------------------------------------
11584 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
11585 # ---------------------------------------------------------------------------------
11586                                            ALPHA            = SIMP(statut='f',typ='R'),
11587                                            CP               = SIMP(statut='f',typ='R'),
11588 # ---------------------------------------------------------------------------------
11589 # -------------------   DONNEES CACHEES ---------------------------------------------
11590 # ---------------------------------------------------------------------------------
11591                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
11592                                              ),
11593 # =================================================================================
11594 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
11595 # =================================================================================
11596                              THM_VAPE_GAZ = FACT(statut='o',
11597 # ---------------------------------------------------------------------------------
11598 # -------------------   DONNEES OBLIGATOIRE   -------------------------------------
11599 # ---------------------------------------------------------------------------------
11600                                            MASS_MOL         = SIMP(statut='o',typ='R'),
11601                                            CP               = SIMP(statut='o',typ='R'),
11602                                            VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11603                                            D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11604 # ---------------------------------------------------------------------------------
11605 # -------------------   DONNEES CACHEES -------------------------------------------
11606 # ---------------------------------------------------------------------------------
11607                                            VERI_P           = SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
11608                                              ),
11609 # =================================================================================
11610 # --- MOT-CLE INUTILE -------------------------------------------------------------
11611 # =================================================================================
11612            THM_GAZ         =FACT(statut='f',
11613              MASS_MOL        =SIMP(statut='f',typ='R'),
11614              CP              =SIMP(statut='f',typ='R'),
11615              VISC            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11616              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11617              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP",)),
11618            ),
11619                                  ),
11620 # courbes et coefficients associés à la fatigue et au dommage
11621 #
11622            FATIGUE         =FACT(statut='f',
11623              regles=(PRESENT_ABSENT('WOHLER','A_BASQUIN','BETA_BASQUIN'),
11624                      PRESENT_ABSENT('WOHLER','A0','A1','A2','A3','SL'),
11625                      PRESENT_ABSENT('A_BASQUIN','A0','A1','A2','A3','SL'),
11626                      ENSEMBLE('A_BASQUIN','BETA_BASQUIN'),
11627                      ENSEMBLE('A0','A1','A2','A3','SL'),
11628                      PRESENT_PRESENT('A0','E_REFE'),
11629                      ENSEMBLE('D0','TAU0'),),
11630              WOHLER          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11631              A_BASQUIN       =SIMP(statut='f',typ='R'),
11632              BETA_BASQUIN    =SIMP(statut='f',typ='R'),
11633              A0              =SIMP(statut='f',typ='R'),
11634              A1              =SIMP(statut='f',typ='R'),
11635              A2              =SIMP(statut='f',typ='R'),
11636              A3              =SIMP(statut='f',typ='R'),
11637              SL              =SIMP(statut='f',typ='R'),
11638              MANSON_COFFIN   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11639              E_REFE          =SIMP(statut='f',typ='R'),
11640              D0              =SIMP(statut='f',typ='R'),
11641              TAU0            =SIMP(statut='f',typ='R'),
11642              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("SIGM","EPSI",) ),
11643            ),
11644            DOMMA_LEMAITRE  =FACT(statut='f',
11645              S               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11646              EPSP_SEUIL      =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11647              EXP_S           =SIMP(statut='f',typ='R',val_min=0.0E0,defaut=1.0),
11648              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
11649            ),
11650            CISA_PLAN_CRIT  =FACT(statut='f',
11651              CRITERE       =SIMP(statut='o',typ='TXM',into=("MATAKE_MODI_AC",
11652                                                             "DANG_VAN_MODI_AC",
11653                                                             "DANG_VAN_MODI_AV",
11654                                                             "MATAKE_MODI_AV",
11655                                                             "FATESOCI_MODI_AV",
11656                                                             ) ),
11657
11658              b_critere_matake =BLOC(condition="CRITERE=='MATAKE_MODI_AC' or CRITERE=='MATAKE_MODI_AV'",
11659                          fr="Cisaillement plan critique critère de matake pour les cas amplitude constante et amplitude variable",
11660                MATAKE_A         =SIMP(statut='o',typ='R'),
11661                MATAKE_B         =SIMP(statut='o',typ='R'),
11662                COEF_FLEX_TORS   =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0),
11663              ),
11664
11665              b_critere_dang_van =BLOC(condition="(CRITERE=='DANG_VAN_MODI_AC' or CRITERE=='DANG_VAN_MODI_AV')",
11666                                  fr="Critère de Dang Van modifié pour les cas amplitude constante et amplitude variable",
11667                D_VAN_A            =SIMP(statut='o',typ='R'),
11668                D_VAN_B            =SIMP(statut='o',typ='R'),
11669                COEF_CISA_TRAC     =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0),
11670              ),
11671
11672              b_critere_fate_soci =BLOC(condition="CRITERE=='FATESOCI_MODI_AV'",
11673                                fr="Critère de Fatemi et Socie, en élasticité ou élastoplasticité, pour le cas amplitude variable",
11674                FATSOC_A           =SIMP(statut='o',typ='R'),
11675                COEF_CISA_TRAC     =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0),
11676              ),
11677            ),
11678 #
11679 # autres comportements ...
11680 #
11681            WEIBULL         =FACT(statut='f',
11682              M               =SIMP(statut='o',typ='R'),
11683              VOLU_REFE       =SIMP(statut='o',typ='R'),
11684              SIGM_REFE       =SIMP(statut='o',typ='R'),
11685              SEUIL_EPSP_CUMU =SIMP(statut='f',typ='R',defaut= 1.0E-6),
11686            ),
11687            WEIBULL_FO      =FACT(statut='f',
11688              M               =SIMP(statut='o',typ='R'),
11689              VOLU_REFE       =SIMP(statut='o',typ='R'),
11690              SIGM_CNV        =SIMP(statut='o',typ='R'),
11691              SIGM_REFE       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11692              SEUIL_EPSP_CUMU =SIMP(statut='f',typ='R',defaut= 1.0E-6),
11693              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
11694            ),
11695            NON_LOCAL       =FACT(statut='f',
11696              regles=(AU_MOINS_UN('LONG_CARA','C_GONF','PENA_LAGR',),),
11697              LONG_CARA       =SIMP(statut='f',typ='R'),
11698              PENA_LAGR       =SIMP(statut='f',typ='R',defaut= 1.0E3),
11699              C_GONF          =SIMP(statut='f',typ='R'),
11700              COEF_RIGI_MINI  =SIMP(statut='f',typ='R'),
11701            ),
11702            RUPT_FRAG       =FACT(statut='f',
11703              GC              =SIMP(statut='o',typ='R'),
11704              SIGM_C          =SIMP(statut='f',typ='R'),
11705              PENA_ADHERENCE  =SIMP(statut='f',typ='R'),
11706              PENA_CONTACT    =SIMP(statut='f',typ='R',defaut=1.),
11707            ),
11708            RUPT_FRAG_FO   =FACT(statut='f',
11709              GC              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
11710              SIGM_C          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11711              PENA_ADHERENCE  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11712              PENA_CONTACT    =SIMP(statut='f',typ='R',defaut=1.),
11713              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
11714            ),
11715            RCCM            =FACT(statut='f',
11716              regles=(ENSEMBLE('A_AMORC','B_AMORC','D_AMORC','R_AMORC'),),
11717              SY_02           =SIMP(statut='f',typ='R'),
11718              SM              =SIMP(statut='f',typ='R'),
11719              SU              =SIMP(statut='f',typ='R'),
11720              SC              =SIMP(statut='f',typ='R'),
11721              SH              =SIMP(statut='f',typ='R'),
11722              N_KE            =SIMP(statut='f',typ='R'),
11723              M_KE            =SIMP(statut='f',typ='R'),
11724              A_AMORC         =SIMP(statut='f',typ='R'),
11725              B_AMORC         =SIMP(statut='f',typ='R'),
11726              D_AMORC         =SIMP(statut='f',typ='R'),
11727              R_AMORC         =SIMP(statut='f',typ='R'),
11728            ),
11729            RCCM_FO         =FACT(statut='f',
11730              regles=(ENSEMBLE('A_AMORC','B_AMORC','D_AMORC','R_AMORC'),),
11731              SY_02           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11732              SM              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11733              SU              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11734              S               =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11735              N_KE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11736              M_KE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11737              A_AMORC         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11738              B_AMORC         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11739              D_AMORC         =SIMP(statut='f',typ='R'),
11740              R_AMORC         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11741              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
11742            ),
11743            LAIGLE          =FACT(statut='f',
11744              GAMMA_ULT       =SIMP(statut='o',typ='R'),
11745              GAMMA_E         =SIMP(statut='o',typ='R'),
11746              M_ULT           =SIMP(statut='o',typ='R'),
11747              M_E             =SIMP(statut='o',typ='R'),
11748              A_E             =SIMP(statut='o',typ='R'),
11749              M_PIC           =SIMP(statut='o',typ='R'),
11750              A_PIC           =SIMP(statut='o',typ='R'),
11751              ETA             =SIMP(statut='o',typ='R'),
11752              SIGMA_C         =SIMP(statut='o',typ='R'),
11753              GAMMA           =SIMP(statut='o',typ='R'),
11754              KSI             =SIMP(statut='o',typ='R'),
11755              GAMMA_CJS       =SIMP(statut='o',typ='R'),
11756              SIGMA_P1        =SIMP(statut='o',typ='R'),
11757              PA              =SIMP(statut='o',typ='R'),
11758            ),
11759            DRUCK_PRAGER  =FACT(statut='f',
11760              ALPHA           =SIMP(statut='o',typ='R'),
11761              SY              =SIMP(statut='o',typ='R'),
11762              P_ULTM          =SIMP(statut='o',typ='R'),
11763              ECROUISSAGE = SIMP(statut='o',typ='TXM',into=("LINEAIRE","PARABOLIQUE")),
11764              b_lineaire =BLOC(condition="ECROUISSAGE=='LINEAIRE'",
11765                                     fr="Loi de comportement de type Drucker Prager avec un ecrouissage lineaire",
11766                     H               =SIMP(statut='o',typ='R'),
11767                     TYPE_DP         =SIMP(statut='c',typ='R',defaut= 1.0,),
11768              ),
11769              b_parabolique =BLOC(condition="ECROUISSAGE=='PARABOLIQUE'",
11770                                     fr="Loi de comportement de type Drucker Prager avec un ecrouissage parabolique",
11771                     SY_ULTM         =SIMP(statut='o',typ='R'),
11772                     TYPE_DP         =SIMP(statut='c',typ='R',defaut= 2.0,),
11773              ),
11774            ),
11775            HOEK_BROWN          =FACT(statut='f',
11776              GAMMA_RUP       =SIMP(statut='o',typ='R'),
11777              GAMMA_RES       =SIMP(statut='o',typ='R'),
11778              S_END           =SIMP(statut='o',typ='R'),
11779              S_RUP           =SIMP(statut='o',typ='R'),
11780              M_END           =SIMP(statut='o',typ='R'),
11781              M_RUP           =SIMP(statut='o',typ='R'),
11782              BETA            =SIMP(statut='o',typ='R'),
11783              ALPHAHB         =SIMP(statut='o',typ='R'),
11784              PHI_RUP         =SIMP(statut='o',typ='R'),
11785              PHI_RES         =SIMP(statut='o',typ='R'),
11786              PHI_END         =SIMP(statut='f',typ='R'),
11787            ),
11788 ####  MONOCRISTAL
11789
11790            ECOU_VISC1      =FACT(statut='f',
11791              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),),
11792              N               =SIMP(statut='o',typ='R'),
11793              K               =SIMP(statut='o',typ='R'),
11794              C               =SIMP(statut='o',typ='R'),
11795            ),
11796            ECOU_VISC2      =FACT(statut='f',
11797              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),),
11798              N               =SIMP(statut='o',typ='R'),
11799              K               =SIMP(statut='o',typ='R'),
11800              C               =SIMP(statut='o',typ='R'),
11801              D               =SIMP(statut='o',typ='R'),
11802              A               =SIMP(statut='o',typ='R'),
11803            ),
11804            ECOU_VISC3      =FACT(statut='f',
11805              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),),
11806              K               =SIMP(statut='o',typ='R',fr="Constante de Boltzmann, en eV/K"),
11807              TAUMU           =SIMP(statut='o',typ='R',fr="Seuil d ecoulement, en unite de contraintes"),
11808              GAMMA0          =SIMP(statut='o',typ='R',fr="Vitesse d ecoulement initiale"),
11809              DELTAV          =SIMP(statut='o',typ='R',fr="Volume d activation"),
11810              DELTAG0         =SIMP(statut='o',typ='R',fr="Gain d energie lie au franchissement d obstacle"),
11811            ),
11812            KOCKS_RAUCH      =FACT(statut='f',
11813               regles=(UN_PARMI('H','H1'),
11814                       PRESENT_PRESENT('H1','H2','H3','H4'),
11815                       PRESENT_ABSENT('H','H1','H2','H3','H4','H5','H6'),
11816                       ),
11817              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),),
11818              K               =SIMP(statut='o',typ='R',fr="Constante de Boltzmann, en eV/K"),
11819              TAUR            =SIMP(statut='o',typ='R',fr="Contraintes de cisaillement à T=0K, en unite de contraintes"),
11820              TAU0            =SIMP(statut='o',typ='R',fr="Contraintes critique initiale de cisaillement, en unite de contraintes"),
11821              GAMMA0          =SIMP(statut='o',typ='R',fr="Vitesse d ecoulement initiale"),
11822              DELTAG0         =SIMP(statut='o',typ='R',fr="Gain d energie lie au franchissement d obstacle"),
11823              BSD             =SIMP(statut='o',typ='R',fr="fonction de la taille du grain B/D"),
11824              GCB             =SIMP(statut='o',typ='R',fr="distance critique d'annihilation GC/B"),
11825              KDCS            =SIMP(statut='o',typ='R',fr="Parametre relatif à la direction principale de la dislocation"),
11826              P               =SIMP(statut='o',typ='R',fr="Parametre materiau dépendant de la forme de l'obstacle"),
11827              Q               =SIMP(statut='o',typ='R',fr="Parametre materiau dépendant de la forme de l'obstacle"),
11828              H               =SIMP(statut='f',typ='R'),
11829              H1              =SIMP(statut='f',typ='R'),
11830              H2              =SIMP(statut='f',typ='R'),
11831              H3              =SIMP(statut='f',typ='R'),
11832              H4              =SIMP(statut='f',typ='R'),
11833              H5              =SIMP(statut='f',typ='R'),
11834              H6              =SIMP(statut='f',typ='R'),
11835            ),
11836            ECRO_ISOT1      =FACT(statut='f',
11837               regles=(UN_PARMI('H','H1'),
11838                       PRESENT_PRESENT('H1','H2','H3','H4'),
11839                       PRESENT_ABSENT('H','H1','H2','H3','H4','H5','H6'),
11840                       ),
11841              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECRO_ISOT",),),
11842              R_0             =SIMP(statut='o',typ='R'),
11843              Q               =SIMP(statut='o',typ='R'),
11844              B               =SIMP(statut='o',typ='R'),
11845              H               =SIMP(statut='f',typ='R'),
11846              H1              =SIMP(statut='f',typ='R'),
11847              H2              =SIMP(statut='f',typ='R'),
11848              H3              =SIMP(statut='f',typ='R'),
11849              H4              =SIMP(statut='f',typ='R'),
11850              H5              =SIMP(statut='f',typ='R'),
11851              H6              =SIMP(statut='f',typ='R'),
11852            ),
11853            ECRO_ISOT2      =FACT(statut='f',
11854               regles=(UN_PARMI('H','H1'),
11855                       PRESENT_PRESENT('H1','H2','H3','H4'),
11856                       PRESENT_ABSENT('H','H1','H2','H3','H4','H5','H6'),
11857                       ),
11858              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECRO_ISOT",),),
11859              R_0             =SIMP(statut='o',typ='R'),
11860              Q1              =SIMP(statut='o',typ='R'),
11861              B1              =SIMP(statut='o',typ='R'),
11862              H               =SIMP(statut='f',typ='R'),
11863              H1              =SIMP(statut='f',typ='R'),
11864              H2              =SIMP(statut='f',typ='R'),
11865              H3              =SIMP(statut='f',typ='R'),
11866              H4              =SIMP(statut='f',typ='R'),
11867              H5              =SIMP(statut='f',typ='R'),
11868              H6              =SIMP(statut='f',typ='R'),
11869              Q2              =SIMP(statut='o',typ='R'),
11870              B2              =SIMP(statut='o',typ='R'),
11871            ),
11872            ECRO_CINE1      =FACT(statut='f',
11873              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECRO_CINE",),),
11874              D               =SIMP(statut='o',typ='R'),
11875            ),
11876            ECRO_CINE2      =FACT(statut='f',
11877              TYPE_PARA       =SIMP(statut='f',typ='TXM',into=("ECRO_CINE",),),
11878              D               =SIMP(statut='o',typ='R'),
11879              GM              =SIMP(statut='o',typ='R'),
11880              PM              =SIMP(statut='o',typ='R'),
11881              C               =SIMP(statut='o',typ='R'),
11882            ),
11883
11884 ####  MONOCRISTAL
11885
11886            DRUCK_PRAGER_FO  =FACT(statut='f',
11887              ALPHA           =SIMP(statut='o',typ=(fonction_sdaster,formule)),
11888              SY              =SIMP(statut='o',typ=(fonction_sdaster,formule)),
11889              P_ULTM          =SIMP(statut='o',typ=(fonction_sdaster,formule)),
11890              ECROUISSAGE = SIMP(statut='o',typ='TXM',into=("LINEAIRE","PARABOLIQUE")),
11891              b_lineaire =BLOC(condition="ECROUISSAGE=='LINEAIRE'",
11892                                     fr="Loi de comportement de type Drucker Prager avec un ecrouissage lineaire",
11893                     H               =SIMP(statut='o',typ=(fonction_sdaster,formule)),
11894                     TYPE_DP         =SIMP(statut='c',typ='R',defaut= 1.0,),
11895              ),
11896              b_parabolique =BLOC(condition="ECROUISSAGE=='PARABOLIQUE'",
11897                                     fr="Loi de comportement de type Drucker Prager avec un ecrouissage parabolique",
11898                     SY_ULTM         =SIMP(statut='o',typ=(fonction_sdaster,formule)),
11899                     TYPE_DP         =SIMP(statut='c',typ='R',defaut= 2.0,),
11900              ),
11901            ),
11902
11903
11904            INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
11905 )  ;
11906 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
11907 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11908 # ======================================================================
11909 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11910 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11911 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11912 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11913 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11914 #
11915 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11916 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11917 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11918 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11919 #
11920 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11921 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11922 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11923 # ======================================================================
11924 DEFI_MODELE_GENE=OPER(nom="DEFI_MODELE_GENE",op= 126,sd_prod=modele_gene,
11925                       reentrant='n',
11926             fr="Créer la structure globale à partir des sous-structures en sous-structuration dynamique", 
11927             UIinfo={"groupes":("Matrices/vecteurs",)},
11928          SOUS_STRUC      =FACT(statut='o',max='**',
11929            NOM             =SIMP(statut='o',typ='TXM' ),
11930            MACR_ELEM_DYNA  =SIMP(statut='o',typ=macr_elem_dyna ),
11931            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
11932            TRANS           =SIMP(statut='f',typ='R',max=3),
11933          ),
11934          LIAISON         =FACT(statut='o',max='**',
11935            SOUS_STRUC_1    =SIMP(statut='o',typ='TXM' ),
11936            INTERFACE_1     =SIMP(statut='o',typ='TXM' ),
11937            SOUS_STRUC_2    =SIMP(statut='o',typ='TXM' ),
11938            INTERFACE_2     =SIMP(statut='o',typ='TXM' ),
11939            regles=(EXCLUS('GROUP_MA_MAIT_1','GROUP_MA_MAIT_2','MAILLE_MAIT_2'),
11940                    EXCLUS('MAILLE_MAIT_1','GROUP_MA_MAIT_2','MAILLE_MAIT_2'),),
11941            GROUP_MA_MAIT_1   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
11942            MAILLE_MAIT_1     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
11943            GROUP_MA_MAIT_2   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
11944            MAILLE_MAIT_2     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
11945            OPTION            =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("REDUIT","CLASSIQUE") ),
11946          ),
11947          VERIF           =FACT(statut='f',max='**',
11948 #  dans la doc U stop_erreur est obligatoire         
11949            STOP_ERREUR     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
11950            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
11951            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
11952          ),
11953          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
11954 )  ;
11955 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
11956 #            CONFIGURATION MANAGEMENT OF EDF VERSION
11957 # ======================================================================
11958 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
11959 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11960 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11961 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
11962 # (AT YOUR OPTION) ANY LATER VERSION.                                 
11963 #
11964 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
11965 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
11966 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
11967 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
11968 #
11969 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
11970 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
11971 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
11972 # ======================================================================
11973 DEFI_NAPPE=OPER(nom="DEFI_NAPPE",op=   4,sd_prod=nappe_sdaster,
11974                 fr="Définir une fonction réelle de deux variables réelles",
11975                 reentrant='n',
11976             UIinfo={"groupes":("Fonction",)},
11977          regles=(UN_PARMI('FONCTION','DEFI_FONCTION'),
11978                  EXCLUS('FONCTION','NOM_PARA_FONC',),
11979                  ENSEMBLE('NOM_PARA_FONC','DEFI_FONCTION'),),
11980          NOM_PARA        =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ),
11981          NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"),       
11982          PARA            =SIMP(statut='o',typ='R',max='**'),
11983          FONCTION        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ),
11984          NOM_PARA_FONC   =SIMP(statut='f',typ='TXM',into=("TEMP","INST","X","Y","Z","EPSI","FREQ",
11985                                                           "PULS","AMOR","EPAIS","SAT", "PGAZ","PCAP") ),
11986          DEFI_FONCTION   =FACT(statut='f',max='**',
11987            VALE            =SIMP(statut='o',typ='R',max='**'),
11988            INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
11989            PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
11990            PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
11991          ),
11992          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
11993          PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
11994          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
11995          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
11996          VERIF           =SIMP(statut='f',typ='TXM',into=("CROISSANT",) ),
11997          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
11998 )  ;
11999 #& MODIF COMMANDE  DATE 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
12000 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12001 # ======================================================================
12002 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12003 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12004 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12005 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
12006 # (AT YOUR OPTION) ANY LATER VERSION.                                 
12007 #
12008 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12009 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12010 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
12011 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
12012 #
12013 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
12014 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
12015 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
12016 # ======================================================================
12017 DEFI_OBSTACLE=OPER(nom="DEFI_OBSTACLE",op=  73,sd_prod=table_fonction,
12018                    fr="Définition d'un obstacle plan perpendiculaire à une structure filaire",
12019                    reentrant='n',
12020          UIinfo={"groupes":("Modélisation",)},
12021          TYPE            =SIMP(statut='o',typ='TXM',defaut="CERCLE",
12022                              into=("CERCLE","PLAN_Y","PLAN_Z","DISCRET",
12023                              "BI_CERCLE","BI_PLAN_Y","BI_PLAN_Z","BI_CERC_INT",
12024                              "CRAYON_900","CRAYON_1300","GUID_A_CARTE_900",
12025                              "GUID_B_CARTE_900","GUID_C_CARTE_900",
12026                              "GUID_D_CARTE_900","GUID_E_CARTE_900",
12027                              "GUID_F_CARTE_900","GUID_A_CARTE_1300",
12028                              "GUID_B_CARTE_1300","GUID_C_CARTE_1300",
12029                              "GUID_D_CARTE_1300","GUID_E_CARTE_1300",
12030                              "GUID_F_CARTE_1300","GUID_A_CARSP_900",
12031                              "GUID_B_CARSP_900","GUID_C_CARSP_900",
12032                              "GUID_D_CARSP_900","GUID_E_CARSP_900",
12033                              "GUID_F_CARSP_900","GUID_A_CARSP_1300",
12034                              "GUID_B_CARSP_1300","GUID_C_CARSP_1300",
12035                              "GUID_D_CARSP_1300","GUID_E_CARSP_1300",
12036                              "GUID_F_CARSP_1300","GUID_A_GCONT_900",
12037                              "GUID_B_GCONT_900","GUID_C_GCONT_900",
12038                              "GUID_D_GCONT_900","GUID_E_GCONT_900",
12039                              "GUID_F_GCONT_900","GUID_A_GCONT_1300",
12040                              "GUID_B_GCONT_1300","GUID_C_GCONT_1300",
12041                              "GUID_D_GCONT_1300","GUID_E_GCONT_1300",
12042                              "GUID_F_GCONT_1300","GUID_A_GCOMB_900",
12043                              "GUID_B_GCOMB_900","GUID_C_GCOMB_900",
12044                              "GUID_D_GCOMB_900","GUID_E_GCOMB_900",
12045                              "GUID_F_GCOMB_900","GUID_A_GCOMB_1300",
12046                              "GUID_B_GCOMB_1300","GUID_C_GCOMB_1300",
12047                              "GUID_D_GCOMB_1300","GUID_E_GCOMB_1300",
12048                              "GUID_F_GCOMB_1300",) ),
12049          VALE            =SIMP(statut='f',typ='R',max='**'),
12050          VERIF           =SIMP(statut='f',typ='TXM',defaut="FERME"),
12051 )  ;
12052 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
12053 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12054 # ======================================================================
12055 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12056 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12057 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12058 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
12059 # (AT YOUR OPTION) ANY LATER VERSION.                                 
12060 #
12061 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12062 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12063 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
12064 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
12065 #
12066 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
12067 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
12068 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
12069 # ======================================================================
12070 # RESPONSABLE GNICOLAS G.NICOLAS
12071 DEFI_PARA_SENSI=OPER(nom="DEFI_PARA_SENSI",op=   2,sd_prod=para_sensi,
12072                     fr="Définition d'un paramètre de sensibilité",
12073                     ang="Definition of a sensitive parameter",
12074                     reentrant='n',
12075             UIinfo={"groupes":("Fonction",)},
12076          NOM_RESU        =SIMP(statut='c',typ='TXM',into=("TOUTRESU",),defaut="TOUTRESU",
12077                                fr="Nom du concept créé",
12078                                ang="Name of the concept"),
12079          VALE            =SIMP(statut='o',typ='R',
12080                                fr="Valeur du parametre",
12081                                ang="Value of the parameter"),
12082          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
12083 )  ;
12084 #& MODIF COMMANDE  DATE 30/08/2005   AUTEUR ASSIRE A.ASSIRE 
12085 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12086 # ======================================================================
12087 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
12088 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
12089 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
12090 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
12091 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
12092 #                                                                       
12093 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
12094 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
12095 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
12096 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
12097 #                                                                       
12098 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
12099 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
12100 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
12101 # ======================================================================
12102 # RESPONSABLE ASSIRE A.ASSIRE
12103
12104 from Macro.defi_part_feti_ops import defi_part_feti_ops
12105
12106 DEFI_PART_FETI=MACRO(nom="DEFI_PART_FETI",op=defi_part_feti_ops,sd_prod=sd_feti_sdaster,
12107                      reentrant='n',UIinfo={"groupe":("Maillage",)},
12108                      fr="Creation partitionnement en sous-domaines pour FETI",
12109          regles=(UN_PARMI('MAILLAGE','MODELE'),),
12110          MAILLAGE        =SIMP(statut='f',typ=maillage_sdaster),
12111          MODELE          =SIMP(statut='f',typ=modele_sdaster),
12112          NB_PART         =SIMP(statut='o',typ='I',val_min=2),
12113          EXCIT           =FACT(statut='f',max='**',
12114            CHARGE          =SIMP(statut='f',typ=(char_meca,char_cine_meca)),),
12115
12116          # Methode de partitionnement
12117          METHODE         =SIMP(statut='f',typ='TXM',into=("PMETIS","SCOTCH","KMETIS",), defaut="SCOTCH" ),
12118          
12119          LOGICIEL      =SIMP(statut='f',typ='TXM'),
12120
12121          # Corrige les problemes possibles de non-connexite des sous-domaines
12122          CORRECTION_CONNEX    =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON')),
12123
12124          # Permet de grouper des mailles dans un meme sous-doamine
12125          GROUPAGE        =FACT(statut='f',max='**',
12126            GROUP_MA       =SIMP(statut='o',typ=grma,),
12127                           ),
12128          # Permet d'appliquer des poids sur certaines mailles
12129          POIDS_MAILLES   =FACT(statut='f',max='**',
12130            GROUP_MA       =SIMP(statut='o',typ=grma,),
12131            POIDS          =SIMP(statut='f',typ='I',val_min=2),
12132                           ),
12133          # Prefixe pour le nom des group_ma definissant les sous-domaines 
12134          NOM_GROUP_MA    =SIMP(statut='f',typ='TXM',defaut='SD' ),
12135
12136          # Traiter les mailles de bords (elles sont enlevees du graphe puis reinjectees)
12137          TRAITER_BORDS   =SIMP(statut='f',typ='TXM',defaut='OUI',into=('OUI','NON') ),
12138          
12139          # Si le mot-clé suivant est renseigné, crée de nouveau group_ma a partir des bords
12140          # Note : le calcul FETI sera impossible
12141          b_traiter_bords =BLOC(condition="TRAITER_BORDS == 'OUI'", fr="Crée t on des nouveaux group_ma",
12142            NOM_GROUP_MA_BORD  =SIMP(statut='f',typ='TXM'),
12143              ),
12144
12145          INFO            =SIMP(statut='f',typ='I',into=(1, 2), defaut=1),
12146 );
12147 #& MODIF COMMANDE  DATE 22/02/2005   AUTEUR DURAND C.DURAND 
12148 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12149 # ======================================================================
12150 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
12151 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
12152 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
12153 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
12154 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
12155 #                                                                       
12156 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
12157 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
12158 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
12159 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
12160 #                                                                       
12161 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
12162 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
12163 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
12164 # ======================================================================
12165 # RESPONSABLE ASSIRE A.ASSIRE
12166
12167 DEFI_PART_OPS=OPER(nom="DEFI_PART_OPS",op=21,sd_prod=sd_feti_sdaster,
12168                     fr="Creation partitionnement en sous-domaines pour FETI",
12169                     docu="U4.23.05",reentrant='n',
12170                     UIinfo={"groupes":("Résolution",)},
12171          MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
12172          MAILLAGE        =SIMP(statut='f',typ=(maillage_sdaster) ),
12173          NOM             =SIMP(statut='f',typ='TXM',defaut='SD'),
12174          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2,3,4) ),
12175          DEFI          =FACT(statut='f',max='**',
12176            GROUP_MA        =SIMP(statut='o',typ=grma),
12177            GROUP_MA_BORD   =SIMP(statut='f',typ=grma),
12178          ),
12179          EXCIT           =FACT(statut='f',max='**',
12180            CHARGE          =SIMP(statut='f',typ=(char_meca,char_cine_meca)),
12181          ),
12182 );
12183 #& MODIF COMMANDE  DATE 26/03/2007   AUTEUR ASSIRE A.ASSIRE 
12184 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12185 # ======================================================================
12186 # COPYRIGHT (C) 1991 - 2005  EDF R&D                  WWW.CODE-ASTER.ORG
12187 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
12188 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
12189 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
12190 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
12191 #                                                                       
12192 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
12193 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
12194 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
12195 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
12196 #                                                                       
12197 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
12198 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
12199 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
12200 # ======================================================================
12201 # RESPONSABLE ASSIRE A.ASSIRE
12202
12203 DEFI_PART_PA_OPS=PROC(nom="DEFI_PART_PA_OPS",op=29,
12204                     fr="Creation partitionnement en sous-domaines pour FETI",
12205                     docu="U4.00.00",
12206                     UIinfo={"groupes":("Résolution",)},
12207          MAILLAGE        =SIMP(statut='o',typ=(maillage_sdaster,squelette) ),
12208          MODELE          =SIMP(statut='f',typ=(modele_sdaster)),
12209          NB_PART         =SIMP(statut='o',typ='I',),
12210
12211          # Methode de partitionnement
12212          METHODE         =SIMP(statut='f',typ='TXM',into=("PMETIS","SCOTCH","KMETIS",), defaut="SCOTCH" ),
12213          
12214          LOGICIEL      =SIMP(statut='f',typ='TXM'),
12215
12216          # Corrige les problemes possibles de non-connexite des sous-domaines
12217          CORRECTION_CONNEX    =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON')),
12218
12219          # Permet de grouper des mailles dans un meme sous-doamine
12220          GROUPAGE        =FACT(statut='f',max='**',
12221            GROUP_MA       =SIMP(statut='o',typ=grma,),
12222                           ),
12223          # Permet d'appliquer des poids sur certaines mailles
12224          POIDS_MAILLES   =FACT(statut='f',max='**',
12225            GROUP_MA       =SIMP(statut='o',typ=grma,),
12226            POIDS          =SIMP(statut='f',typ='I'),
12227                           ),
12228          # Prefixe pour le nom des group_ma definissant les sous-domaines 
12229          NOM_GROUP_MA    =SIMP(statut='f',typ='TXM',defaut='SD' ),
12230
12231          # Traiter les mailles de bords (elles sont enlevees du graphe puis reinjectees)
12232          TRAITER_BORDS   =SIMP(statut='f',typ='TXM',defaut='OUI',into=('OUI','NON') ),
12233
12234          # Si le mot-clé suivant est renseigné, crée de nouveau group_ma a partir des bords
12235          # Note : le calcul FETI sera impossible
12236          b_traiter_bords =BLOC(condition="TRAITER_BORDS == 'OUI'", fr="Crée t on des nouveaux group_ma",
12237            NOM_GROUP_MA_BORD  =SIMP(statut='f',typ='TXM'),
12238              ),
12239
12240          INFO            =SIMP(statut='f',typ='I',into=(1, 2), defaut=1),
12241
12242 );
12243 #& MODIF COMMANDE  DATE 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
12244 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12245 # ======================================================================
12246 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12247 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12248 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12249 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
12250 # (AT YOUR OPTION) ANY LATER VERSION.                                 
12251 #
12252 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12253 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12254 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
12255 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
12256 #
12257 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
12258 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
12259 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
12260 # ======================================================================
12261 DEFI_SPEC_TURB=OPER(nom="DEFI_SPEC_TURB",op= 145,sd_prod=spectre_sdaster,
12262                     fr="Définition d'un spectre d'excitation turbulente",
12263                     reentrant='n',
12264             UIinfo={"groupes":("Modélisation",)},
12265          regles=(UN_PARMI('SPEC_LONG_COR_1','SPEC_LONG_COR_2','SPEC_LONG_COR_3',
12266                           'SPEC_LONG_COR_4','SPEC_CORR_CONV_1','SPEC_CORR_CONV_2',
12267                           'SPEC_FONC_FORME','SPEC_EXCI_POINT'),),
12268          SPEC_LONG_COR_1 =FACT(statut='f',
12269            LONG_COR        =SIMP(statut='o',typ='R' ),
12270            PROF_VITE_FLUI  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12271            VISC_CINE       =SIMP(statut='o',typ='R' ),
12272          ),
12273          SPEC_LONG_COR_2 =FACT(statut='f',
12274            regles=(ENSEMBLE('FREQ_COUP','PHI0','BETA' ),),
12275            LONG_COR        =SIMP(statut='o',typ='R' ),
12276            PROF_VITE_FLUI  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12277            FREQ_COUP       =SIMP(statut='f',typ='R',defaut= 0.1 ),
12278            PHI0            =SIMP(statut='f',typ='R',defaut= 1.5E-3 ),
12279            BETA            =SIMP(statut='f',typ='R',defaut= 2.7 ),
12280          ),
12281          SPEC_LONG_COR_3 =FACT(statut='f',
12282            regles=(ENSEMBLE('PHI0_1','BETA_1','PHI0_2','BETA_2','FREQ_COUP'),),
12283            LONG_COR        =SIMP(statut='o',typ='R' ),
12284            PROF_VITE_FLUI  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12285            FREQ_COUP       =SIMP(statut='f',typ='R',defaut= 0.2 ),
12286            PHI0_1          =SIMP(statut='f',typ='R',defaut= 5.E-3 ),
12287            BETA_1          =SIMP(statut='f',typ='R',defaut= 0.5 ),
12288            PHI0_2          =SIMP(statut='f',typ='R',defaut= 4.E-5 ),
12289            BETA_2          =SIMP(statut='f',typ='R',defaut= 3.5 ),
12290          ),
12291          SPEC_LONG_COR_4 =FACT(statut='f',
12292            regles=(ENSEMBLE('BETA','GAMMA'),),
12293            LONG_COR        =SIMP(statut='o',typ='R' ),
12294            PROF_VITE_FLUI  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12295            TAUX_VIDE       =SIMP(statut='o',typ='R' ),
12296            BETA            =SIMP(statut='f',typ='R',defaut= 2. ),
12297            GAMMA           =SIMP(statut='f',typ='R',defaut= 4. ),
12298          ),
12299          SPEC_CORR_CONV_1=FACT(statut='f',
12300            LONG_COR_1      =SIMP(statut='o',typ='R' ),
12301            LONG_COR_2      =SIMP(statut='f',typ='R' ),
12302            VITE_FLUI       =SIMP(statut='o',typ='R' ),
12303            RHO_FLUI        =SIMP(statut='o',typ='R' ),
12304            FREQ_COUP       =SIMP(statut='f',typ='R' ),
12305            K               =SIMP(statut='f',typ='R',defaut= 5.8E-3 ),
12306            D_FLUI          =SIMP(statut='o',typ='R' ),
12307            COEF_VITE_FLUI_A=SIMP(statut='f',typ='R' ),
12308            COEF_VITE_FLUI_O=SIMP(statut='f',typ='R' ),
12309            METHODE         =SIMP(statut='f',typ='TXM',defaut="GENERALE",
12310                                  into=("AU_YANG","GENERALE","CORCOS") ),
12311          ),
12312          SPEC_CORR_CONV_2=FACT(statut='f',
12313            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12314            VITE_FLUI       =SIMP(statut='o',typ='R' ),
12315            FREQ_COUP       =SIMP(statut='f',typ='R' ),
12316            METHODE         =SIMP(statut='f',typ='TXM',defaut="GENERALE",
12317                                  into=("AU_YANG","GENERALE","CORCOS",) ),
12318            COEF_VITE_FLUI_A=SIMP(statut='f',typ='R' ),
12319            COEF_VITE_FLUI_O=SIMP(statut='f',typ='R' ),
12320          ),
12321          SPEC_FONC_FORME =FACT(statut='f',
12322            regles=(UN_PARMI('INTE_SPEC','GRAPPE_1'),
12323                    ENSEMBLE('INTE_SPEC','FONCTION'),),
12324            INTE_SPEC       =SIMP(statut='f',typ=table_fonction),
12325            FONCTION        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'),
12326            GRAPPE_1        =SIMP(statut='f',typ='TXM',into=("DEBIT_180","DEBIT_300",) ),
12327            NOEUD           =SIMP(statut='o',typ=no),
12328            CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
12329            MODELE          =SIMP(statut='o',typ=modele_sdaster ),
12330          ),
12331          SPEC_EXCI_POINT =FACT(statut='f',
12332            regles=(UN_PARMI('INTE_SPEC','GRAPPE_2'),),
12333            INTE_SPEC       =SIMP(statut='f',typ=table_fonction),
12334            GRAPPE_2        =SIMP(statut='f',typ='TXM',
12335                                  into=("ASC_CEN","ASC_EXC","DES_CEN","DES_EXC",) ),
12336 #  Quels sont les statuts des mots cles à l interieur des deux blocs qui suivent
12337            b_inte_spec =BLOC(condition = "INTE_SPEC != None",
12338              NATURE          =SIMP(statut='o',typ='TXM',max='**',into=("FORCE","MOMENT",) ),
12339              ANGL            =SIMP(statut='o',typ='R',max='**'),
12340              NOEUD           =SIMP(statut='o',typ=no,max='**'),
12341            ),
12342            b_grappe_2      =BLOC(condition = "GRAPPE_2 != None",
12343              RHO_FLUI        =SIMP(statut='o',typ='R' ),
12344              NOEUD           =SIMP(statut='o',typ=no),
12345            ),
12346            CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
12347            MODELE          =SIMP(statut='o',typ=modele_sdaster ),
12348          ),
12349          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
12350 )  ;
12351 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
12352 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12353 # ======================================================================
12354 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12355 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12356 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12357 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
12358 # (AT YOUR OPTION) ANY LATER VERSION.                                 
12359 #
12360 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12361 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12362 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
12363 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
12364 #
12365 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
12366 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
12367 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
12368 # ======================================================================
12369 DEFI_SQUELETTE=OPER(nom="DEFI_SQUELETTE",op= 110,sd_prod=squelette,
12370                     fr="Définit un maillage pour visualiser les résultats d'une sous-structuration dynamique",
12371                     reentrant='n',
12372             UIinfo={"groupes":("Maillage",)},
12373          regles=(UN_PARMI('CYCLIQUE','MODELE_GENE','MAILLAGE'),
12374                  PRESENT_PRESENT('CYCLIQUE','SECTEUR'),
12375                  EXCLUS('SOUS_STRUC','SECTEUR'),
12376                  PRESENT_PRESENT('NOM_GROUP_MA','MODELE_GENE'),
12377                  PRESENT_PRESENT('NOM_GROUP_MA','SOUS_STRUC'),),
12378          CYCLIQUE    =FACT(statut='f',max='**',
12379            regles=(UN_PARMI('MODE_CYCL','MAILLAGE'),
12380                    PRESENT_PRESENT('NB_SECTEUR','MAILLAGE'),),
12381            MODE_CYCL       =SIMP(statut='f',typ=mode_cycl ),
12382            NB_SECTEUR      =SIMP(statut='f',typ='I',validators=NoRepeat(),max=1 ),
12383            MAILLAGE        =SIMP(statut='f',typ=maillage_sdaster ),
12384          ),
12385          MODELE_GENE     =SIMP(statut='f',typ=modele_gene ),
12386          SQUELETTE       =SIMP(statut='f',typ=squelette ),
12387          RECO_GLOBAL     =FACT(statut='f',max='**',
12388            regles=(EXCLUS('TOUT','GROUP_NO_1'),
12389                    PRESENT_PRESENT('GROUP_NO_1','GROUP_NO_2'),
12390                    PRESENT_PRESENT('GROUP_NO_1','SOUS_STRUC_1'),
12391                    PRESENT_PRESENT('GROUP_NO_2','SOUS_STRUC_2'),
12392                    PRESENT_PRESENT('SOUS_STRUC_1','SOUS_STRUC_2'),),
12393            TOUT            =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",) ),
12394            GROUP_NO_1      =SIMP(statut='f',typ=grno),
12395            SOUS_STRUC_1    =SIMP(statut='f',typ='TXM' ),
12396            GROUP_NO_2      =SIMP(statut='f',typ=grno),
12397            SOUS_STRUC_2    =SIMP(statut='f',typ='TXM' ),
12398            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
12399            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
12400            DIST_REFE       =SIMP(statut='f',typ='R' ),
12401          ),
12402          NOM_GROUP_MA    =FACT(statut='f',max='**',
12403            NOM             =SIMP(statut='o',typ='TXM' ),
12404            SOUS_STRUC      =SIMP(statut='o',typ='TXM' ),
12405            GROUP_MA        =SIMP(statut='o',typ=grma),
12406          ),
12407          EXCLUSIF        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12408          MAILLAGE        =SIMP(statut='f',typ=maillage_sdaster ),
12409          MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
12410          GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
12411          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12412          TRANS           =SIMP(statut='f',typ='R',min=3,max=3),
12413          ANGL_NAUT       =SIMP(statut='f',typ='R',min=3,max=3),
12414          SOUS_STRUC      =FACT(statut='f',max='**',
12415            NOM             =SIMP(statut='f',typ='TXM' ),
12416            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
12417            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
12418            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12419          ),
12420          SECTEUR         =FACT(statut='f',max='**',
12421            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
12422            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
12423            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12424          ),
12425          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
12426 )  ;
12427 #& MODIF COMMANDE  DATE 03/01/2006   AUTEUR REZETTE C.REZETTE 
12428 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12429 # ======================================================================
12430 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12431 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12432 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12433 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
12434 # (AT YOUR OPTION) ANY LATER VERSION.                                 
12435 #
12436 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12437 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12438 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
12439 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
12440 #
12441 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
12442 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
12443 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
12444 # ======================================================================
12445 DEFI_TRC=OPER(nom="DEFI_TRC",op=94,sd_prod=table_sdaster,reentrant='n',
12446             UIinfo={"groupes":("Modélisation",)},
12447               fr="Définir d'un diagramme de transformations en refroidissement continu (TRC) de référence d'un acier"
12448                 +" pour les calculs métallurgiques.",
12449          HIST_EXP        =FACT(statut='o',max='**',
12450            VALE            =SIMP(statut='o',typ='R',max='**'),
12451          ),
12452          TEMP_MS         =FACT(statut='o',max='**',
12453            SEUIL           =SIMP(statut='o',typ='R'),
12454            AKM             =SIMP(statut='o',typ='R'),
12455            BKM             =SIMP(statut='o',typ='R'),
12456            TPLM            =SIMP(statut='o',typ='R'),
12457          ),
12458          GRAIN_AUST      =FACT(statut='f',max='**',
12459            DREF           =SIMP(statut='f',typ='R'),
12460            A              =SIMP(statut='f',typ='R'),
12461          ),
12462 )  ;
12463 #& MODIF COMMANDE  DATE 31/10/2006   AUTEUR A3BHHAE H.ANDRIAMBOLOLONA 
12464 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12465 # ======================================================================
12466 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12467 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12468 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12469 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
12470 # (AT YOUR OPTION) ANY LATER VERSION.                                 
12471 #
12472 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12473 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12474 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
12475 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
12476 #
12477 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
12478 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
12479 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
12480 # ======================================================================
12481 def depl_interne_prod(DEPL_GLOBAL,**args ):
12482     if AsType(DEPL_GLOBAL)     == cham_no_sdaster: return cham_no_sdaster
12483     if AsType(DEPL_GLOBAL)     == evol_elas      : return evol_elas
12484     if AsType(DEPL_GLOBAL)     == dyna_trans     : return dyna_trans
12485     if AsType(DEPL_GLOBAL)     == dyna_harmo     : return dyna_harmo
12486     if AsType(DEPL_GLOBAL)     == mode_meca      : return mode_meca
12487     if AsType(DEPL_GLOBAL)     == base_modale    : return base_modale
12488     raise AsException("type de concept resultat non prevu")
12489
12490 DEPL_INTERNE=OPER(nom="DEPL_INTERNE",op=89,sd_prod=depl_interne_prod,reentrant='n',
12491             UIinfo={"groupes":("Matrices/vecteurs",)},
12492                   fr="Calculer le champ de déplacement à l'intérieur d'une sous-structure statique",
12493          DEPL_GLOBAL     =SIMP(statut='o',typ=(cham_no_sdaster,mode_meca,base_modale,evol_elas,dyna_trans,dyna_harmo),),
12494          SUPER_MAILLE    =SIMP(statut='o',typ=ma,),
12495          NOM_CAS         =SIMP(statut='f',typ='TXM',defaut=" "),
12496 )  ;
12497 #& MODIF COMMANDE  DATE 10/05/2006   AUTEUR MCOURTOI M.COURTOIS 
12498 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12499 # ======================================================================
12500 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12501 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12502 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12503 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
12504 # (AT YOUR OPTION) ANY LATER VERSION.                                 
12505 #
12506 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12507 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12508 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
12509 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
12510 #
12511 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
12512 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
12513 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
12514 # ======================================================================
12515 DETRUIRE=MACRO(nom="DETRUIRE",op=-7,
12516             UIinfo={"groupes":("Gestion du travail",)},
12517               fr="Détruit des concepts utilisateurs dans la base GLOBALE ou des objets JEVEUX",
12518              op_init=ops.detruire,
12519              regles=(UN_PARMI('CONCEPT','OBJET',),),
12520             CONCEPT     =FACT(statut='f',max='**',
12521                 regles=(DERIVABLE('NOM'),),
12522                 NOM         =SIMP(statut='o',typ=assd,validators=NoRepeat(),max='**'),
12523                 SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),
12524                                  fr="Paramètre de sensibilité.",
12525                                  ang="Sensitivity parameter",max='**'),
12526             ),
12527             OBJET  =FACT(statut='f',max='**',
12528                CLASSE      =SIMP(statut='f',typ='TXM',into=('G','V','L'),defaut='G'),  
12529                CHAINE      =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),
12530                POSITION    =SIMP(statut='f',typ='I'  ,max='**'),
12531             ),
12532             ALARME        =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI',),
12533             INFO          =SIMP(statut='f',typ='I',into=(1,2),defaut=2, ),           
12534 );
12535 #& MODIF COMMANDE  DATE 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
12536 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12537 # ======================================================================
12538 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12539 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12540 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12541 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
12542 # (AT YOUR OPTION) ANY LATER VERSION.                                 
12543 #
12544 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12545 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12546 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
12547 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
12548 #
12549 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
12550 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
12551 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
12552 # ======================================================================
12553 DYNA_ALEA_MODAL=OPER(nom="DYNA_ALEA_MODAL",op= 131,sd_prod=table_fonction,
12554                      fr="Calcul de la réponse spectrale d'une structure linéaire sous une excitation connue par sa DSP",
12555                      reentrant='n',
12556             UIinfo={"groupes":("Résolution",)},
12557          BASE_MODALE     =FACT(statut='o',
12558            regles=(UN_PARMI('NUME_ORDRE','BANDE'),),
12559            MODE_MECA       =SIMP(statut='o',typ=mode_meca ),
12560            BANDE           =SIMP(statut='f',typ='R',validators=NoRepeat(),max=2),
12561            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
12562            b_bande =BLOC(condition = "BANDE != None",
12563              AMOR_UNIF       =SIMP(statut='o',typ='R' ),
12564            ),
12565            b_nume_ordre =BLOC(condition = "NUME_ORDRE != None",
12566              AMOR_REDUIT     =SIMP(statut='o',typ='R',max='**'),
12567            ),
12568          ),
12569          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,)),
12570 # MODE_STAT devrait etre dans EXCIT car est utile et obligatoire que si NOM_CMP=depl_r, on pourrait
12571 # ainsi rajouter un bloc du genre  b_mod_stat= BLOC(condition = "(GRANDEUR == None) or (GRANDEUR == 'DEPL_R')",        
12572          EXCIT           =FACT(statut='o',
12573            INTE_SPEC       =SIMP(statut='o',typ=table_fonction),
12574            NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),
12575            OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG",) ),
12576            MODAL           =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12577            b_modal_non = BLOC(condition = "(MODAL == None) or (MODAL == 'NON')",           
12578              regles=(UN_PARMI('NOEUD_I','NUME_ORDRE_I'),),
12579              NUME_ORDRE_I    =SIMP(statut='f',typ='I',max='**'),
12580              NOEUD_I         =SIMP(statut='f',typ=no,max='**'),
12581              b_nume_ordre_i  =BLOC(condition = "NUME_ORDRE_I != None",
12582                regles=(EXCLUS('CHAM_NO','NOEUD'),),
12583 # on devrait rajouter EXCLUS('GRANDEUR','CHAM_NO') pour eviter ambiguite car CHAM_NO => GRANDEUR='EFFO'
12584 # cela impliquerait d'enlever la valeur par defaut a GRANDEUR            
12585                NUME_ORDRE_J    =SIMP(statut='o',typ='I',max='**'),
12586                CHAM_NO         =SIMP(statut='f',typ=cham_no_sdaster),
12587                NOEUD           =SIMP(statut='f',typ=no,max='**'),
12588                b_noeud         =BLOC(condition = "NOEUD != None",
12589                   NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),
12590                 ),  
12591                GRANDEUR        =SIMP(statut='f',typ='TXM',defaut="DEPL_R",
12592                            into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")),
12593 # que se passe-t-il en cas d'incompatibilite entre GRANDEUR et NOM_CMP  
12594                DERIVATION      =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ),
12595              ),           
12596              b_noeud_i       =BLOC(condition = "NOEUD_I != None",
12597                NOEUD_J         =SIMP(statut='o',typ=no,max='**'),
12598                NOM_CMP_I       =SIMP(statut='o',typ='TXM',max='**'),
12599                NOM_CMP_J       =SIMP(statut='o',typ='TXM',max='**'),
12600                NOEUD           =SIMP(statut='o',typ=no,max='**'),
12601                NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),
12602 # ne serait-il pas bien que NOEUD et NOM_CMP soient facultatifs, car l'information peut etre contenue dans
12603 # NOEUD_I, NOM_CMP_I ...  => modif. du Fortran
12604                GRANDEUR        =SIMP(statut='f',typ='TXM',defaut="DEPL_R",
12605                            into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")),
12606 # que se passe-t-il en cas d'incompatibilite entre GRANDEUR et NOM_CMP_I  
12607                DERIVATION      =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ),
12608              ),
12609            ),  
12610            b_modal_oui = BLOC(condition = "(MODAL == 'OUI')",
12611 # dans ce cas, y-a-t-il vraiment la possibilite d'une matrice interspectrale avec plusieurs termes
12612              NUME_ORDRE_I    =SIMP(statut='o',typ='I',max='**'),
12613              NUME_ORDRE_J    =SIMP(statut='o',typ='I',max='**'),
12614              GRANDEUR        =SIMP(statut='f',typ='TXM',defaut="DEPL_R",
12615                            into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")),
12616              DERIVATION      =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ),
12617 # dans le cas MODAL=OUI, GRANDEUR peut-il etre different de EFFO et doit il etre impose a EFFO   On devrait
12618 # pouvoir supprimer GRANDEUR et DERIVATION ici   
12619            ),  
12620                     
12621          ),
12622          REPONSE         =FACT(statut='f',
12623            regles=( ENSEMBLE('FREQ_MIN','FREQ_MAX'),),
12624            DERIVATION      =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ,) ),
12625            OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG") ),
12626            FREQ_MIN        =SIMP(statut='f',typ='R' ),
12627            FREQ_MAX        =SIMP(statut='f',typ='R' ),
12628            PAS             =SIMP(statut='f',typ='R' ),
12629            b_defaut_freq   =BLOC(condition = "FREQ_MIN == NONE",
12630               FREQ_EXCIT      =SIMP(statut='f',typ='TXM',defaut="AVEC",into=("AVEC","SANS") ),
12631               NB_POIN_MODE    =SIMP(statut='f',typ='I',defaut= 50 ),
12632            ),
12633          ),
12634          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
12635          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
12636 )  ;
12637 #& MODIF COMMANDE  DATE 10/05/2006   AUTEUR MCOURTOI M.COURTOIS 
12638 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12639 # ======================================================================
12640 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12641 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12642 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12643 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
12644 # (AT YOUR OPTION) ANY LATER VERSION.                                 
12645 #
12646 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
12647 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
12648 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
12649 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
12650 #
12651 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
12652 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
12653 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
12654 # ======================================================================
12655 def dyna_line_harm_prod(MATR_RIGI,**args):
12656    if (AsType(MATR_RIGI) == matr_asse_depl_r) : return dyna_harmo
12657    elif (AsType(MATR_RIGI) == matr_asse_depl_c) : return dyna_harmo
12658    elif (AsType(MATR_RIGI) == matr_asse_pres_c) : return acou_harmo
12659    elif (AsType(MATR_RIGI) == matr_asse_gene_r) : return harm_gene
12660    elif (AsType(MATR_RIGI) == matr_asse_gene_c) : return harm_gene
12661    raise AsException("type de concept resultat non prevu")
12662
12663 DYNA_LINE_HARM=OPER(nom="DYNA_LINE_HARM",op=  60,sd_prod=dyna_line_harm_prod,
12664                     fr="Calcul de la réponse dynamique complexe d'un système à une excitation harmonique",
12665                     reentrant='f',
12666             UIinfo={"groupes":("Résolution",)},
12667          regles=(PRESENT_ABSENT('AMOR_REDUIT','MATR_AMOR'),
12668                  PRESENT_ABSENT('AMOR_REDUIT','LIST_AMOR'),
12669                  PRESENT_ABSENT('MATR_AMOR','LIST_AMOR'),
12670                  UN_PARMI('FREQ','LIST_FREQ'),
12671                  CONCEPT_SENSIBLE('ENSEMBLE'),),
12672          MODELE          =SIMP(statut='f',typ=modele_sdaster ),
12673          CHAM_MATER      =SIMP(statut='f',typ=cham_mater ),
12674          CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
12675          MATR_MASS       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_pres_c,matr_asse_gene_r ) ),
12676          MATR_RIGI       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_pres_c
12677                                               ,matr_asse_gene_r,matr_asse_gene_c ) ),
12678          MATR_AMOR       =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_pres_c,matr_asse_gene_r ) ),
12679          AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
12680          LIST_AMOR       =SIMP(statut='f',typ=listr8_sdaster ),
12681          MATR_IMPE_PHI   =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ),
12682          FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
12683          LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
12684          TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI",)),
12685          NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,into=("DEPL","VITE","ACCE") ),
12686          b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : RESULTAT obligatoire",
12687              RESULTAT      =SIMP(statut='o',typ=(dyna_harmo,harm_gene)),
12688          ),         
12689          EXCIT           =FACT(statut='o',max='**',
12690            regles=(UN_PARMI('VECT_ASSE','CHARGE'),
12691                    UN_PARMI('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),
12692                   ),
12693            VECT_ASSE       =SIMP(statut='f',typ=(cham_no_sdaster,vect_asse_gene) ),
12694            CHARGE          =SIMP(statut='f',typ=char_meca ),
12695            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
12696            FONC_MULT_C     =SIMP(statut='f',typ=fonction_c ),
12697            COEF_MULT_C     =SIMP(statut='f',typ='C' ),
12698            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12699            COEF_MULT       =SIMP(statut='f',typ='R' ),
12700            PHAS_DEG        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
12701            PUIS_PULS       =SIMP(statut='f',typ='I',defaut= 0 ),
12702          ),
12703          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
12704          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
12705                                fr="Liste des paramètres de sensibilité.",
12706                                ang="List of sensitivity parameters"),
12707 )  ;
12708 # Rajouter test icompatibilite vect_asse et sensibilite
12709 # Peut-on aussi rajouter ici le test d incompatibilite charge complexe - derivation 
12710 #  presents dans le Fortran          
12711 #& MODIF COMMANDE  DATE 13/12/2006   AUTEUR PELLET J.PELLET 
12712 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12713 # ======================================================================
12714 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12715 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12716 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12717 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
12718 # (AT YOUR OPTION) ANY LATER VERSION.
12719 #
12720 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
12721 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
12722 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
12723 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
12724 #
12725 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
12726 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
12727 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
12728 # ======================================================================
12729 DYNA_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op=  48,sd_prod=dyna_trans,
12730                     fr="Calcul de la réponse dynamique transitoire à une excitation temporelle quelconque",
12731                     reentrant='f',
12732             UIinfo={"groupes":("Résolution",)},
12733 #         regles=(UN_PARMI('WILSON','DIFF_CENTRE','ADAPT'),),
12734          regles=(UN_PARMI('NEWMARK','WILSON','DIFF_CENTRE','ADAPT'),
12735                  CONCEPT_SENSIBLE('ENSEMBLE'),),
12736          MODELE          =SIMP(statut='f',typ=modele_sdaster ),
12737          CHAM_MATER      =SIMP(statut='f',typ=cham_mater ),
12738          CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
12739          MATR_MASS       =SIMP(statut='o',typ=matr_asse_depl_r ),
12740          MATR_RIGI       =SIMP(statut='o',typ=matr_asse_depl_r ),
12741          MATR_AMOR       =SIMP(statut='f',typ=matr_asse_depl_r ),
12742          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,) ),
12743          NEWMARK         =FACT(statut='f',
12744            ALPHA           =SIMP(statut='f',typ='R',defaut= 0.25 ),
12745            DELTA           =SIMP(statut='f',typ='R',defaut= 0.5 ),
12746          ),
12747          WILSON          =FACT(statut='f',
12748            THETA           =SIMP(statut='f',typ='R',defaut= 1.4 ),
12749          ),
12750          DIFF_CENTRE     =FACT(statut='f',
12751          ),
12752          ADAPT           =FACT(statut='f',
12753          ),
12754          ETAT_INIT       =FACT(statut='f',
12755            regles=(AU_MOINS_UN('DYNA_TRANS', 'DEPL_INIT', 'VITE_INIT', 'ACCE_INIT'),
12756                    PRESENT_ABSENT('DYNA_TRANS', 'DEPL_INIT', 'VITE_INIT', 'ACCE_INIT'),),
12757            DYNA_TRANS      =SIMP(statut='f',typ=dyna_trans ),
12758            b_dyna_trans    =BLOC(condition = "DYNA_TRANS != None",
12759              regles=(EXCLUS('NUME_INIT','INST_INIT' ),),
12760              NUME_INIT       =SIMP(statut='f',typ='I' ),
12761              INST_INIT       =SIMP(statut='f',typ='R' ),
12762              b_inst_init     =BLOC(condition = "INST_INIT != None",
12763                PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
12764                CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
12765              ),
12766            ),
12767            DEPL_INIT       =SIMP(statut='f',typ=cham_no_sdaster),
12768            VITE_INIT       =SIMP(statut='f',typ=cham_no_sdaster),
12769            ACCE_INIT       =SIMP(statut='f',typ=cham_no_sdaster),
12770          ),
12771          EXCIT           =FACT(statut='f',max='**',
12772            regles=(UN_PARMI('CHARGE','VECT_ASSE'),
12773                    EXCLUS('CHARGE','COEF_MULT'),
12774                    EXCLUS('FONC_MULT','COEF_MULT'),
12775                    EXCLUS('ACCE','COEF_MULT'),
12776                    PRESENT_ABSENT('ACCE','FONC_MULT'),
12777                    PRESENT_PRESENT('ACCE','VITE','DEPL'),
12778                    # PRESENT_ABSENT('MULT_APPUI','FONC_MULT'),
12779                    ),
12780            VECT_ASSE       =SIMP(statut='f',typ=cham_no_sdaster),
12781            CHARGE          =SIMP(statut='f',typ=char_meca ),
12782            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12783            COEF_MULT       =SIMP(statut='f',typ='R' ),
12784            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
12785            ACCE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12786            VITE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12787            DEPL            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12788            MULT_APPUI      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12789            DIRECTION       =SIMP(statut='f',typ='R',max='**'),
12790            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
12791            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
12792          ),
12793          AMOR_MODAL      =FACT(statut='f',
12794            MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
12795            AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
12796            NB_MODE         =SIMP(statut='f',typ='I',defaut= 9999 ),
12797            REAC_VITE       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12798          ),
12799
12800          SOLVEUR         =FACT(statut='d',
12801          METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ),
12802
12803            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
12804              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
12805            ),
12806
12807            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
12808              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
12809            ),
12810
12811            b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT'",
12812                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
12813              NPREC           =SIMP(statut='f',typ='I',defaut=8),
12814              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
12815            ),
12816
12817            b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
12818              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
12819              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
12820              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
12821              RESI_RELA       =SIMP(statut='f',typ='R',defaut=1.E-6),
12822              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
12823            ),
12824            b_mumps        =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS",
12825              TYPE_RESOL      =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("NONSYM","SYMGEN","SYMDEF","AUTO")),
12826              SCALING         =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("SANS","AUTO")),
12827              RENUM           =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AMD","AMF","PORD","METIS","QAMD","AUTO")),
12828              ELIM_LAGR2      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
12829              PCENT_PIVOT     =SIMP(statut='f',typ='I',defaut=10,),
12830              RESI_RELA       =SIMP(statut='f',typ='R',defaut=1.E-6,),
12831              ),
12832          ),
12833
12834          INCREMENT       =FACT(statut='o',max='**',
12835            regles=(UN_PARMI('LIST_INST','FONC_INST','PAS'),),
12836            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
12837            FONC_INST       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
12838            PAS             =SIMP(statut='f',typ='R' ),
12839            b_pas           =BLOC(condition = "PAS != None",
12840                INST_INIT       =SIMP(statut='f',typ='R' ),
12841                INST_FIN        =SIMP(statut='f',typ='R' ),
12842            ),
12843            b_list_fonc     =BLOC(condition = "LIST_INST != None or FONC_INST != None",
12844                regles=(EXCLUS('INST_FIN','NUME_FIN'),),
12845                NUME_FIN        =SIMP(statut='f',typ='I' ),
12846                INST_FIN        =SIMP(statut='f',typ='R' ),
12847            ),
12848            VITE_MIN        =SIMP(statut='f',typ='TXM',defaut="NORM",into=("MAXI","NORM") ),
12849            COEF_MULT_PAS   =SIMP(statut='f',typ='R',defaut= 1.1 ),
12850            COEF_DIVI_PAS   =SIMP(statut='f',typ='R',defaut= 1.33334 ),
12851            PAS_LIMI_RELA   =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
12852            NB_POIN_PERIODE =SIMP(statut='f',typ='I',defaut= 50 ),
12853            NMAX_ITER_PAS   =SIMP(statut='f',typ='I',defaut= 16 ),
12854            PAS_CALCUL      =SIMP(statut='f',typ='I',defaut= 1 ),
12855          ),
12856          ARCHIVAGE       =FACT(statut='f',
12857            regles=(UN_PARMI('LIST_ARCH','PAS_ARCH', ),),
12858            LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster ),
12859            PAS_ARCH        =SIMP(statut='f',typ='I' ),
12860            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","VITE","ACCE") ),
12861          ),
12862          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
12863                                fr="Liste des paramétres de sensibilité.",
12864                                ang="List of sensitivity parameters",
12865          ),
12866          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
12867          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
12868 )  ;
12869 #& MODIF COMMANDE  DATE 30/05/2007   AUTEUR ABBAS M.ABBAS 
12870 #            CONFIGURATION MANAGEMENT OF EDF VERSION
12871 # ======================================================================
12872 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
12873 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12874 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12875 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
12876 # (AT YOUR OPTION) ANY LATER VERSION.
12877 #
12878 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
12879 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
12880 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
12881 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
12882 #
12883 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
12884 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
12885 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
12886 # ======================================================================
12887 DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
12888             fr="Calcul de l'évolution dynamique d'une structure dont le matériau ou la géométrie ont un comportement non linéaire",
12889             UIinfo={"groupes":("Résolution",)},
12890          regles=(AU_MOINS_UN('COMP_INCR','COMP_ELAS',),
12891                  CONCEPT_SENSIBLE('ENSEMBLE'),),
12892          MODELE          =SIMP(statut='o',typ=modele_sdaster),
12893          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
12894          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,)),
12895          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
12896          MASS_DIAG       =SIMP(statut='f',typ='TXM',into=("OUI","NON",) ),
12897          EXCIT           =FACT(statut='o',max='**',
12898            regles=(PRESENT_ABSENT('FONC_MULT','ACCE'),
12899                    PRESENT_PRESENT('ACCE','VITE','DEPL'),
12900                    # PRESENT_ABSENT('MULT_APPUI','FONC_MULT'),
12901                    ),
12902            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
12903                                  into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")),
12904            CHARGE          =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
12905            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12906            DEPL            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12907            ACCE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12908            VITE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12909            MULT_APPUI      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12910            DIRECTION       =SIMP(statut='f',typ='R',max='**'),
12911            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
12912            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
12913          ),
12914          EXCIT_GENE      =FACT(statut='f',max='**',
12915            FONC_MULT       =SIMP(statut='f',typ=fonction_sdaster,max='**' ),
12916            VECT_GENE       =SIMP(statut='f',typ=vect_asse_gene,max='**' ),
12917          ),         
12918          SOUS_STRUC      =FACT(statut='f',min=01,max='**',
12919                 regles=(UN_PARMI('TOUT','SUPER_MAILLE'),),
12920                 CAS_CHARGE  =SIMP(statut='o',typ='TXM' ),
12921                 TOUT        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12922                 SUPER_MAILLE=SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',),
12923                 FONC_MULT   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12924               ),
12925          AMOR_MODAL      =FACT(statut='f',
12926            regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),),
12927            MODE_MECA       =SIMP(statut='f',typ=mode_meca),
12928            AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**' ),
12929            LIST_AMOR       =SIMP(statut='f',typ=listr8_sdaster ),
12930            NB_MODE         =SIMP(statut='f',typ='I',defaut= 9999 ),
12931            REAC_VITE       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
12932          ),
12933          PROJ_MODAL      =FACT(statut='f',max='**',
12934            MODE_MECA       =SIMP(statut='o',typ=mode_meca),
12935            NB_MODE         =SIMP(statut='f',typ='I',defaut= 9999 ),
12936            regles=(PRESENT_PRESENT('MASS_GENE','RIGI_GENE'),),
12937            MASS_GENE       =SIMP(statut='f',typ=matr_asse_gene_r),
12938            RIGI_GENE       =SIMP(statut='f',typ=matr_asse_gene_r),
12939            AMOR_GENE       =SIMP(statut='f',typ=matr_asse_gene_r),
12940          ),         
12941          COMP_INCR       =C_COMP_INCR(),
12942          COMP_ELAS       =FACT(statut='f',max='**',
12943            RELATION        =SIMP(statut='o',typ='TXM',defaut="ELAS",
12944                                  into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC",
12945                                       "ELAS_POUTRE_GR","CABLE","ELAS_HYPER")),
12946            ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
12947            ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
12948            ELAS_VMIS_LINE  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
12949            ELAS_HYPER      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
12950            ELAS_POUTRE_GR  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
12951            CABLE           =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
12952            DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ),
12953       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
12954            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12955            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
12956            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
12957            RESI_INTE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-6),
12958            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
12959            ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut= 0 ),
12960            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
12961                                  into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
12962          ),
12963 #-------------------------------------------------------------------
12964          b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire",
12965          ETAT_INIT       =FACT(statut='o',
12966            regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','ACCE','SIGM','VARI','VARI_NON_LOCAL',),
12967                    EXCLUS('EVOL_NOLI','DEPL',),
12968                    EXCLUS('EVOL_NOLI','VITE'),
12969                    EXCLUS('EVOL_NOLI','ACCE'),
12970                    EXCLUS('EVOL_NOLI','SIGM',),
12971                    EXCLUS('EVOL_NOLI','VARI',),
12972                    EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',),
12973                    EXCLUS('NUME_ORDRE','INST'), ),
12974            DEPL            =SIMP(statut='f',typ=cham_no_sdaster),
12975            VITE            =SIMP(statut='f',typ=cham_no_sdaster),
12976            ACCE            =SIMP(statut='f',typ=cham_no_sdaster),
12977            SIGM            =SIMP(statut='f',typ=(cham_elem,carte_sdaster)),
12978            VARI            =SIMP(statut='f',typ=cham_elem),
12979            VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_sdaster),
12980            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
12981            NUME_ORDRE      =SIMP(statut='f',typ='I'),
12982            INST            =SIMP(statut='f',typ='R'),
12983            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
12984            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
12985            NUME_DIDI       =SIMP(statut='f',typ='I'),
12986            INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
12987          ),),
12988          b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif",
12989          ETAT_INIT       =FACT(statut='f',
12990            regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','ACCE','SIGM','VARI','VARI_NON_LOCAL',),
12991                    EXCLUS('EVOL_NOLI','DEPL',),
12992                    EXCLUS('EVOL_NOLI','VITE'),
12993                    EXCLUS('EVOL_NOLI','ACCE'),
12994                    EXCLUS('EVOL_NOLI','SIGM',),
12995                    EXCLUS('EVOL_NOLI','VARI',),
12996                    EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',),
12997                    EXCLUS('NUME_ORDRE','INST'), ),
12998            DEPL            =SIMP(statut='f',typ=cham_no_sdaster),
12999            VITE            =SIMP(statut='f',typ=cham_no_sdaster),
13000            ACCE            =SIMP(statut='f',typ=cham_no_sdaster),
13001            SIGM            =SIMP(statut='f',typ=(cham_elem,carte_sdaster)),
13002            VARI            =SIMP(statut='f',typ=cham_elem),
13003            VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_sdaster),
13004            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
13005            NUME_ORDRE      =SIMP(statut='f',typ='I'),
13006            INST            =SIMP(statut='f',typ='R'),
13007            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
13008            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
13009            NUME_DIDI       =SIMP(statut='f',typ='I'),
13010            INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
13011          ),),
13012 #-------------------------------------------------------------------
13013          INCREMENT       =FACT(statut='o',
13014            regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
13015                    EXCLUS('NUME_INST_FIN','INST_FIN'),),
13016            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
13017            EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
13018                                  into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
13019            NUME_INST_INIT  =SIMP(statut='f',typ='I'),
13020            INST_INIT       =SIMP(statut='f',typ='R'),
13021            NUME_INST_FIN   =SIMP(statut='f',typ='I'),
13022            INST_FIN        =SIMP(statut='f',typ='R'),
13023            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
13024            # DEBUT DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
13025            SUBD_METHODE    =SIMP( statut='f',typ='TXM',
13026               into =("AUCUNE","UNIFORME","EXTRAPOLE"),
13027               defaut="AUCUNE",
13028               fr="Méthode de subdivision des pas de temps en cas de non-convergence"
13029            ),
13030            b_subd_unif=BLOC(condition = "SUBD_METHODE == 'UNIFORME'",
13031              regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
13032              SUBD_COEF_PAS_1=SIMP(statut='f',typ='R',defaut=1.0,val_min=0.0,
13033                 fr="Coefficient multiplicateur de la 1ère subdivision"),
13034              SUBD_PAS       =SIMP(statut='f',typ='I',defaut=4,val_min=2,
13035                 fr="Nombre de subdivision d'un pas de temps"),
13036              SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
13037                 fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
13038              SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
13039                 fr="Pas de temps en dessous duquel on ne subdivise plus"),
13040            ),
13041            b_subd_extr=BLOC(condition = "SUBD_METHODE == 'EXTRAPOLE'",
13042              regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
13043              SUBD_OPTION    =SIMP(statut='f',typ='TXM',
13044                 into =("IGNORE_PREMIERES","GARDE_DERNIERES",),
13045                 defaut="IGNORE_PREMIERES",
13046                 fr="Technique d'extrapolation : les 1ere itérations sont ignorées ou les dernières sont gardées"),
13047              SUBD_ITER_IGNO =SIMP(statut='c',typ='I',defaut=3,val_min=0,
13048                 fr="Les n premières itérations sont ignorées pour l'extrapolation"),
13049              SUBD_ITER_FIN  =SIMP(statut='c',typ='I',defaut=8,val_min=3,
13050                 fr="Seules les n dernières itérations sont prises pour l'extrapolation"),
13051              SUBD_PAS       =SIMP(statut='c',typ='I',defaut=4,val_min=2,
13052                 fr="Nombre de subdivision d'un pas de temps en cas divergence"),
13053              SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
13054                 fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
13055              SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
13056                 fr="Pas de temps en dessous duquel on ne subdivise plus"),
13057              SUBD_ITER_PLUS =SIMP(statut='c',typ='I',defaut=50,val_min=20,
13058                 fr="% itération autorisée en plus"),
13059            ),
13060            # FIN DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
13061            OPTI_LIST_INST  =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),),
13062            NOM_CHAM        =SIMP(statut='f',typ='TXM',),
13063            NOM_CMP         =SIMP(statut='f',typ='TXM',),
13064            VALE            =SIMP(statut='f',typ='R'),
13065          ),
13066 #-------------------------------------------------------------------
13067          SCHEMA_TEMPS     =FACT(statut='o',
13068             SCHEMA          =SIMP(statut='o',min=1,max=1,typ='TXM',
13069                                   into=("DIFF_CENT","TCHAMWA","NEWMARK","HHT","THETA_METHODE"),),
13070             b_tchamwa = BLOC(condition="SCHEMA=='TCHAMWA'",
13071                PHI          =SIMP(statut='f',typ='R',defaut= 1.05),),
13072             b_newmark = BLOC(condition="SCHEMA=='NEWMARK'",
13073                ALPHA        =SIMP(statut='f',typ='R',defaut= 0.25),
13074                DELTA        =SIMP(statut='f',typ='R',defaut= 0.5),),
13075             b_hht     = BLOC(condition="SCHEMA=='HHT'",
13076                ALPHA        =SIMP(statut='f',typ='R',defaut= -0.3 ),
13077                MODI_EQUI    =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),),),
13078             b_theta   = BLOC(condition="SCHEMA=='THETA_METHODE'",
13079                THETA         =SIMP(statut='f',typ='R',defaut= 1.,val_min=0.5,val_max=1. ),),
13080             b_explicit= BLOC(condition="SCHEMA=='TCHAMWA'or SCHEMA=='DIFF_CENT'",
13081                STOP_CFL     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),),
13082                FORMULATION  =SIMP(statut='o',typ='TXM',into=("ACCELERATION",),),),
13083             b_implicit= BLOC(condition="SCHEMA!='TCHAMWA'and SCHEMA!='DIFF_CENT'",
13084                FORMULATION  =SIMP(statut='o',max=1,typ='TXM',into=("DEPLACEMENT","VITESSE",),),),
13085          ),
13086          NEWTON          =FACT(statut='d',
13087            REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
13088            PREDICTION      =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE") ),
13089            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
13090            REAC_ITER       =SIMP(statut='f',typ='I',defaut= 0),
13091            REAC_ITER_ELAS  =SIMP(statut='f',typ='I',defaut=0),
13092            PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
13093          ),
13094          SOLVEUR         =FACT(statut='d',
13095            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ),
13096            b_mult_front    =BLOC(condition= "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
13097              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
13098            ),
13099            b_ldlt          =BLOC(condition= "METHODE == 'LDLT'",fr="Paramètres de la méthode LDLT",
13100              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
13101            ),
13102            b_ldlt_mult     =BLOC(condition="METHODE == 'LDLT' or METHODE == 'MULT_FRONT'",
13103                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
13104              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
13105              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","DECOUPE") ),
13106            ),
13107            b_mumps        =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS",
13108              TYPE_RESOL      =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("NONSYM","SYMGEN","SYMDEF","AUTO")),
13109              SCALING         =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("SANS","AUTO")),
13110              RENUM           =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AMD","AMF","PORD","METIS","QAMD","AUTO")),
13111              ELIM_LAGR2      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
13112              PCENT_PIVOT     =SIMP(statut='f',typ='I',defaut=10,),
13113              RESI_RELA       =SIMP(statut='f',typ='R',defaut=-1.0,),
13114              ),
13115            b_gcpc          =BLOC(condition="METHODE == 'GCPC'",fr="Paramètres de la méthode du gradient conjugué",
13116              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
13117              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut=0),
13118              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
13119              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
13120              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
13121            ),
13122            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
13123          ),
13124 #-------------------------------------------------------------------
13125          RECH_LINEAIRE   =FACT(statut='f',
13126            METHODE         =SIMP(statut='f',typ='TXM',defaut="CORDE",into=("CORDE","MIXTE") ),         
13127            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-1 ),
13128            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),
13129            ITER_LINE_CRIT  =SIMP(statut='f',typ='I',defaut= 20),
13130            PAS_MINI_CRIT   =SIMP(statut='f',typ='R',defaut=0.0E+0),
13131            RHO_MIN         =SIMP(statut='f',typ='R',defaut=1.0E-2),
13132            RHO_MAX         =SIMP(statut='f',typ='R',defaut=1.0E+1),
13133            RHO_EXCL        =SIMP(statut='f',typ='R',defaut=0.9E-2,val_min=0.),
13134          ),
13135          PILOTAGE        =FACT(statut='f',
13136            regles=(EXCLUS('NOEUD','GROUP_NO'),PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
13137            TYPE    =SIMP(statut='o',typ='TXM',into=("DDL_IMPO","LONG_ARC","PRED_ELAS","PRED_ELAS_INCR","DEFORMATION","ANA_LIM") ),
13138            COEF_MULT       =SIMP(statut='f',typ='R',defaut= 1.0E+0),
13139            ETA_PILO_MAX    =SIMP(statut='f',typ='R'),
13140            ETA_PILO_MIN    =SIMP(statut='f',typ='R'),
13141            ETA_PILO_R_MAX  =SIMP(statut='f',typ='R'),
13142            ETA_PILO_R_MIN  =SIMP(statut='f',typ='R'),
13143            PROJ_BORNES     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
13144            SELECTION       =SIMP(statut='f',typ='TXM',defaut="NORM_INCR_DEPL", into=("RESIDU","ANGL_INCR_DEPL","NORM_INCR_DEPL") ),
13145            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
13146            GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
13147            MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
13148            NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
13149            GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
13150            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**' ),
13151                          ),
13152          CONVERGENCE     =FACT(statut='d',
13153            regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),),
13154            b_refe_rela    =BLOC(condition = "RESI_REFE_RELA != None",
13155              regles=(AU_MOINS_UN('SIGM_REFE','EPSI_REFE','FLUX_THER_REFE',
13156                                   'FLUX_HYD1_REFE','FLUX_HYD2_REFE','VARI_REFE'),),
13157              SIGM_REFE       =SIMP(statut='f',typ='R'),
13158              EPSI_REFE       =SIMP(statut='f',typ='R'),
13159              FLUX_THER_REFE  =SIMP(statut='f',typ='R'),
13160              FLUX_HYD1_REFE  =SIMP(statut='f',typ='R'),
13161              FLUX_HYD2_REFE  =SIMP(statut='f',typ='R'),
13162              VARI_REFE       =SIMP(statut='f',typ='R'),                     
13163            ),
13164            RESI_REFE_RELA  =SIMP(statut='f',typ='R'),
13165            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
13166            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
13167            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
13168            ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
13169            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),
13170          ),
13171 #-------------------------------------------------------------------
13172          OBSERVATION     =FACT(statut='f',max='**',
13173            NOM_CMP         =SIMP(statut='o',typ='TXM',max='**' ),
13174            SUIVI_DDL       =SIMP(statut='f',typ='TXM',defaut="NON",max=1,into=("OUI","NON")),
13175          b_suivi          =BLOC(condition = "SUIVI_DDL == 'OUI' ",
13176                                 regles=(UN_PARMI('NOEUD','MAILLE','GROUP_NO','GROUP_MA','VALE_MIN','VALE_MAX'),
13177                                                   PRESENT_PRESENT('MAILLE','POINT'),),
13178              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
13179              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
13180              POINT           =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'),
13181              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
13182              NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,
13183                                    into=("DEPL","VITE","ACCE","SIEF_ELGA",
13184                                          "VARI_ELGA","FORC_NODA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU",)),
13185              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
13186              NUME_SUIVI      =SIMP(statut='o',typ='I' ,min=1,max=4),
13187              VALE_MAX        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,into=("OUI",) ),
13188              VALE_MIN        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,into=("OUI",) ),),
13189          b_non_suivi      =BLOC(condition = "SUIVI_DDL == 'NON' ",
13190                                 regles=(UN_PARMI('NOEUD','GROUP_NO','MAILLE'),PRESENT_PRESENT('MAILLE','POINT'),),
13191              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
13192              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
13193              POINT           =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'),
13194              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
13195              NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","VITE","ACCE","SIEF_ELGA",
13196                                               "VARI_ELGA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU")),
13197              INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
13198              LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
13199              PAS_OBSE        =SIMP(statut='f',typ='I'),
13200              LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster),
13201              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
13202              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),),
13203          ),
13204
13205          AFFICHAGE      = FACT(statut='f',max=16,
13206
13207             UNITE       = SIMP(statut='f',typ='I',val_min=1),
13208
13209             LONG_R      = SIMP(statut='f',typ='I',defaut=12,val_min=1,val_max=12),
13210             PREC_R      = SIMP(statut='f',typ='I',defaut=5, val_min=1,val_max=8),
13211             LONG_I      = SIMP(statut='f',typ='I',defaut=6, val_min=1,val_max=12),
13212
13213             NOM_COLONNE = SIMP(statut='o',typ='TXM',defaut="STANDARD",
13214                                 into=("STANDARD","MINIMUM",
13215                                       "ITER_NEWT",
13216                                       "INCR_TPS",
13217                                       "RESI_RELA","RELA_NOEU",
13218                                       "RESI_MAXI","MAXI_NOEU",
13219                                       "RESI_REFE","REFE_NOEU",
13220                                       "RELI_ITER","RELI_COEF",
13221                                       "PILO_PARA",
13222                                       "LAGR_ECAR","LAGR_INCR","LAGR_ITER",
13223                                       "MATR_ASSE",
13224                                       "ITER_DEBO",
13225                                       "CTCD_ITER","CTCD_INFO","CTCD_GEOM","CTCD_NOEU",
13226                                       "CTCC_GEOM","CTCC_FROT","CTCC_CONT",
13227                                       "SUIV_1","SUIV_2","SUIV_3","SUIV_4",
13228                                      ),
13229                                ),
13230             b_residu    = BLOC(condition = " NOM_COLONNE == 'RESI_RELA' or \
13231                     NOM_COLONNE == 'RESI_MAXI' or\
13232                     NOM_COLONNE == 'RESI_REFE' or\
13233                     NOM_COLONNE == 'CTCD_GEOM' or\
13234                     NOM_COLONNE == 'STANDARD' ",
13235                             INFO_RESIDU = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
13236                           ),
13237          ),
13238 #-------------------------------------------------------------------
13239          ARCHIVAGE       =FACT(statut='f',
13240            regles=(EXCLUS('PAS_ARCH','LIST_INST','INST'),
13241                    EXCLUS('ARCH_ETAT_INIT','NUME_INIT'), ),
13242            LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),
13243            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
13244            PAS_ARCH        =SIMP(statut='f',typ='I' ),
13245            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
13246            ARCH_ETAT_INIT  =SIMP(statut='f',typ='TXM',into=("OUI",)),
13247            NUME_INIT       =SIMP(statut='f',typ='I'),
13248            DETR_NUME_SUIV  =SIMP(statut='f',typ='TXM',into=("OUI",)),
13249            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
13250            into=("DEPL","SIEF_ELGA","VARI_ELGA","ACCE","VITE","VARI_NON_LOCAL","LANL_ELGA")),
13251          ),
13252
13253 #-------------------------------------------------------------------
13254          CRIT_FLAMB     =FACT(statut='f',min=1,max=1,
13255            NB_FREQ         =SIMP(statut='f',typ='I',max=1,defaut=3),
13256            CHAR_CRIT       =SIMP(statut='f',typ='R',min=2,max=2,defaut=(-10.0,10.),
13257                             fr="Valeur des deux charges critiques délimitant la bande de recherche en HPP"),
13258          ),
13259          MODE_VIBR     =FACT(statut='f',min=1,max=1,
13260            MATR_RIGI        =SIMP(statut='f',typ='TXM',defaut="ELASTIQUE",into=("ELASTIQUE","TANGENTE") ),
13261            NB_FREQ         =SIMP(statut='f',typ='I',max=1,defaut=3),
13262          ),
13263 #-------------------------------------------------------------------
13264            SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
13265                                fr="Liste des paramètres de sensibilité",
13266                                ang="List of sensitivity parameters"),
13267 #-------------------------------------------------------------------
13268            SOLV_NON_LOCAL  =FACT(statut='f',
13269              METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ),
13270              b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
13271                RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
13272              ),
13273              b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
13274                RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
13275              ),
13276              b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
13277                                     fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
13278                NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
13279                STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
13280              ),
13281              b_mumps        =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS",
13282                TYPE_RESOL      =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("NONSYM","SYMGEN","SYMDEF","AUTO")),
13283                SCALING         =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("SANS","AUTO")),
13284                RENUM           =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AMD","AMF","PORD","METIS","QAMD","AUTO")),
13285                ELIM_LAGR2      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
13286                PCENT_PIVOT     =SIMP(statut='f',typ='I',defaut=10,),
13287                RESI_RELA       =SIMP(statut='f',typ='R',defaut=-1.0,),
13288              ),
13289              b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
13290                PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
13291                NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
13292                RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
13293                NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
13294              ),
13295              EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
13296            ),
13297            LAGR_NON_LOCAL  =FACT(statut='f',
13298              ITER_DUAL_MAXI  =SIMP(statut='f',typ='I',defaut= 50),
13299              RESI_DUAL_ABSO  =SIMP(statut='o',typ='R'),
13300              RESI_PRIM_ABSO  =SIMP(statut='o',typ='R'),
13301              R               =SIMP(statut='f',typ='R',defaut= 1000.),
13302              ITER_PRIM_MAXI  =SIMP(statut='f',typ='I',defaut= 10),
13303            ),
13304 #-------------------------------------------------------------------
13305          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
13306          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
13307 )  ;
13308 #& MODIF COMMANDE  DATE 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
13309 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13310 # ======================================================================
13311 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13312 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13313 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13314 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13315 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13316 #
13317 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13318 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13319 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13320 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13321 #
13322 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13323 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13324 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13325 # ======================================================================
13326 DYNA_SPEC_MODAL=OPER(nom="DYNA_SPEC_MODAL",op= 147,sd_prod=table_fonction,
13327                      fr="Calcul de la réponse par recombinaison modale d'une structure linéaire pour une excitation aléatoire",
13328                      reentrant='n',
13329             UIinfo={"groupes":("Résolution",)},
13330          BASE_ELAS_FLUI  =SIMP(statut='o',typ=melasflu_sdaster ),
13331          EXCIT           =FACT(statut='o',
13332            INTE_SPEC_GENE  =SIMP(statut='o',typ=table_fonction),
13333          ),
13334          OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG") ),
13335          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
13336 )  ;
13337 #& MODIF COMMANDE  DATE 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
13338 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13339 # ======================================================================
13340 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13341 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13342 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13343 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13344 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13345 #
13346 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13347 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13348 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13349 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13350 #
13351 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13352 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13353 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13354 # ======================================================================
13355 DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op=  74,sd_prod=tran_gene,
13356                      fr="Calcul de la réponse dynamique transitoire d'un système amorti ou non en coordonées généralisées"
13357                         +" par superposition modale ou par sous structuration",
13358                      reentrant='f',
13359             UIinfo={"groupes":("Résolution",)},
13360       regles=(EXCLUS('AMOR_REDUIT','AMOR_GENE','LIST_AMOR'), 
13361               PRESENT_ABSENT('MODE_STAT','MODE_CORR'),),
13362          METHODE         =SIMP(statut='f',typ='TXM',defaut="EULER",
13363                                into=("EULER","NEWMARK","DEVOGE","ADAPT","ITMI") ),
13364          MASS_GENE       =SIMP(statut='o',typ=matr_asse_gene_r ),
13365          RIGI_GENE       =SIMP(statut='o',typ=matr_asse_gene_r ),
13366          AMOR_GENE       =SIMP(statut='f',typ=matr_asse_gene_r ),
13367          AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
13368          LIST_AMOR       =SIMP(statut='f',typ=listr8_sdaster ),
13369          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc) ),
13370          MODE_CORR       =SIMP(statut='f',typ=(mult_elas,mode_stat_acce) ,),
13371          
13372          ETAT_INIT       =FACT(statut='f',
13373            regles=(EXCLUS('RESU_GENE','DEPL_INIT_GENE'),
13374                    EXCLUS('RESU_GENE','VITE_INIT_GENE'),),
13375            RESU_GENE       =SIMP(statut='f',typ=tran_gene ),
13376            b_resu_gene     =BLOC(condition = "RESU_GENE != None",
13377              INST_INIT       =SIMP(statut='f',typ='R' ),
13378              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
13379              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
13380            ),
13381            DEPL_INIT_GENE  =SIMP(statut='f',typ=vect_asse_gene ),
13382            VITE_INIT_GENE  =SIMP(statut='f',typ=vect_asse_gene ),
13383          ),
13384          INCREMENT       =FACT(statut='o',max='**',
13385            INST_INIT       =SIMP(statut='f',typ='R' ),
13386            INST_FIN        =SIMP(statut='o',typ='R' ),
13387            PAS             =SIMP(statut='f',typ='R' ),
13388            VERI_PAS        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
13389            VITE_MIN        =SIMP(statut='f',typ='TXM',defaut="NORM",into=("MAXI","NORM") ),
13390            COEF_MULT_PAS   =SIMP(statut='f',typ='R',defaut= 1.1 ),
13391            COEF_DIVI_PAS   =SIMP(statut='f',typ='R',defaut= 1.3333334 ),
13392            PAS_LIMI_RELA   =SIMP(statut='f',typ='R',defaut= 1.0E-6 ),
13393            NB_POIN_PERIODE =SIMP(statut='f',typ='I',defaut= 50 ),
13394            NMAX_ITER_PAS   =SIMP(statut='f',typ='I',defaut= 16 ),
13395          ),
13396          ARCHIVAGE       =FACT(statut='f',
13397            regles=(UN_PARMI('LIST_ARCH','PAS_ARCH'),),
13398            LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster ),
13399            PAS_ARCH        =SIMP(statut='f',typ='I' ),
13400          ),
13401          
13402          NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 20 ),
13403          RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
13404          LAMBDA          =SIMP(statut='f',typ='R',defaut= 10. ),
13405          
13406          EXCIT           =FACT(statut='f',max='**',
13407            regles=(UN_PARMI('FONC_MULT','COEF_MULT','ACCE'),
13408                    PRESENT_PRESENT('ACCE','VITE','DEPL'),
13409                    PRESENT_PRESENT('D_FONC_DT','D_FONC_DT2'),
13410                    PRESENT_ABSENT('NUME_ORDRE','VECT_GENE','COEF_MULT'),
13411                    EXCLUS('MULT_APPUI','CORR_STAT'),
13412                    PRESENT_ABSENT('MULT_APPUI','COEF_MULT'),
13413                    PRESENT_ABSENT('MULT_APPUI','FONC_MULT'),),
13414            VECT_GENE       =SIMP(statut='f',typ=vect_asse_gene ),
13415            NUME_ORDRE      =SIMP(statut='f',typ='I' ),
13416            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
13417            COEF_MULT       =SIMP(statut='f',typ='R' ),
13418            ACCE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
13419            VITE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
13420            DEPL            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
13421            MULT_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
13422            DIRECTION       =SIMP(statut='f',typ='R',max='**'),
13423            b_loca          =BLOC(condition= "DIRECTION != None",
13424              regles=(EXCLUS('NOEUD','GROUP_NO'),),
13425              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
13426              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
13427            ),
13428            CORR_STAT       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
13429            D_FONC_DT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
13430            D_FONC_DT2      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
13431          ),
13432          CHOC            =FACT(statut='f',max='**',
13433            regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD_1','GROUP_NO_1' ),
13434                    EXCLUS('NOEUD_2','GROUP_NO_2'),
13435                    PRESENT_ABSENT('GROUP_MA','NOEUD_2','GROUP_NO_2'),
13436                    PRESENT_ABSENT('MAILLE','NOEUD_2','GROUP_NO_2'),),
13437            INTITULE        =SIMP(statut='f',typ='TXM' ),
13438            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
13439            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
13440            NOEUD_1         =SIMP(statut='f',typ=no),
13441            NOEUD_2         =SIMP(statut='f',typ=no),
13442            GROUP_NO_1      =SIMP(statut='f',typ=grno),
13443            GROUP_NO_2      =SIMP(statut='f',typ=grno),
13444            OBSTACLE        =SIMP(statut='o',typ=table_fonction),
13445            ORIG_OBST       =SIMP(statut='f',typ='R',min=3,max=3),
13446            NORM_OBST       =SIMP(statut='o',typ='R',min=3,max=3),
13447            ANGL_VRIL       =SIMP(statut='f',typ='R' ),
13448            JEU             =SIMP(statut='f',typ='R',defaut= 1. ),
13449            DIST_1          =SIMP(statut='f',typ='R',val_min=0.E+0 ),
13450            DIST_2          =SIMP(statut='f',typ='R',val_min=0.E+0 ),
13451            SOUS_STRUC_1    =SIMP(statut='f',typ='TXM' ),
13452            SOUS_STRUC_2    =SIMP(statut='f',typ='TXM' ),
13453            REPERE          =SIMP(statut='f',typ='TXM',defaut="GLOBAL"),
13454            RIGI_NOR        =SIMP(statut='f',typ='R' ),
13455            AMOR_NOR        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
13456            RIGI_TAN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
13457            AMOR_TAN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
13458            COULOMB         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
13459
13460            LAME_FLUIDE     =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
13461            b_lame          =BLOC(condition="LAME_FLUIDE=='OUI'",
13462                ALPHA           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
13463                BETA            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
13464                CHI             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
13465                DELTA           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
13466            ),
13467          ),
13468          VERI_CHOC       =FACT(statut='f',max='**',
13469            STOP_CRITERE    =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
13470            SEUIL           =SIMP(statut='f',typ='R',defaut= 0.5 ),
13471          ),
13472          FLAMBAGE        =FACT(statut='f',max='**',
13473            regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'),
13474                    EXCLUS('NOEUD_2','GROUP_NO_2'),),
13475            NOEUD_1         =SIMP(statut='f',typ=no),
13476            NOEUD_2         =SIMP(statut='f',typ=no),
13477            GROUP_NO_1      =SIMP(statut='f',typ=grno),
13478            GROUP_NO_2      =SIMP(statut='f',typ=grno),
13479            OBSTACLE        =SIMP(statut='o',typ=table_fonction),
13480            ORIG_OBST       =SIMP(statut='f',typ='R',max='**'),
13481            NORM_OBST       =SIMP(statut='o',typ='R',max='**'),
13482            ANGL_VRIL       =SIMP(statut='f',typ='R' ),
13483            JEU             =SIMP(statut='f',typ='R',defaut= 1. ),
13484            DIST_1          =SIMP(statut='f',typ='R' ),
13485            DIST_2          =SIMP(statut='f',typ='R' ),
13486            REPERE          =SIMP(statut='f',typ='TXM',defaut="GLOBAL"),
13487            RIGI_NOR        =SIMP(statut='f',typ='R' ),
13488            FNOR_CRIT       =SIMP(statut='f',typ='R' ),
13489            FNOR_POST_FL    =SIMP(statut='f',typ='R' ),
13490            RIGI_NOR_POST_FL=SIMP(statut='f',typ='R' ),
13491          ),
13492          ANTI_SISM       =FACT(statut='f',max='**',
13493            regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'),
13494                    UN_PARMI('NOEUD_2','GROUP_NO_2'),),
13495            NOEUD_1         =SIMP(statut='f',typ=no),
13496            NOEUD_2         =SIMP(statut='f',typ=no),
13497            GROUP_NO_1      =SIMP(statut='f',typ=grno),
13498            GROUP_NO_2      =SIMP(statut='f',typ=grno),
13499            RIGI_K1         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
13500            RIGI_K2         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
13501            SEUIL_FX        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
13502            C               =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
13503            PUIS_ALPHA      =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
13504            DX_MAX          =SIMP(statut='f',typ='R',defaut= 1. ),
13505          ),
13506          RELA_EFFO_DEPL  =FACT(statut='f',max='**',
13507            NOEUD           =SIMP(statut='o',typ=no),
13508            SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),
13509            NOM_CMP         =SIMP(statut='f',typ='TXM' ),
13510            RELATION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
13511          ),
13512          RELA_TRANSIS    =FACT(statut='f',max='**',
13513            NOEUD           =SIMP(statut='o',typ=no),
13514            SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),
13515            NOM_CMP         =SIMP(statut='f',typ='TXM' ),
13516            RELATION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
13517          ),
13518          RELA_EFFO_VITE  =FACT(statut='f',max='**',
13519            NOEUD           =SIMP(statut='o',typ=no),
13520            SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),
13521            NOM_CMP         =SIMP(statut='f',typ='TXM' ),
13522            RELATION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
13523          ),
13524          b_itmi          =BLOC(condition = "METHODE=='ITMI'",
13525                 regles=(ENSEMBLE('BASE_ELAS_FLUI','NUME_VITE_FLUI'),),
13526                 BASE_ELAS_FLUI  =SIMP(statut='f',typ=melasflu_sdaster ),
13527                 NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),
13528                 ETAT_STAT       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
13529                 PREC_DUREE      =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
13530                 CHOC_FLUI       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
13531                 NB_MODE         =SIMP(statut='f',typ='I' ),
13532                 NB_MODE_FLUI    =SIMP(statut='f',typ='I' ),
13533                 NB_MODE_DIAG    =SIMP(statut='f',typ='I' ),
13534                 TS_REG_ETAB     =SIMP(statut='f',typ='R' ),
13535          ),
13536          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
13537          IMPRESSION      =FACT(statut='f',max='**',
13538            regles=(EXCLUS('TOUT','NIVEAU'),),
13539            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
13540            NIVEAU          =SIMP(statut='f',typ='TXM',into=("DEPL_LOC","VITE_LOC","FORC_LOC","TAUX_CHOC") ),
13541            INST_INIT       =SIMP(statut='f',typ='R' ),
13542            INST_FIN        =SIMP(statut='f',typ='R' ),
13543          ),
13544          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
13545  )  ;
13546 #& MODIF COMMANDE  DATE 12/12/2006   AUTEUR VIVAN L.VIVAN 
13547 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13548 # ======================================================================
13549 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13550 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13551 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13552 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13553 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13554 #
13555 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13556 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13557 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13558 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13559 #
13560 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13561 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13562 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13563 # ======================================================================
13564 # RESPONSABLE VABHHTS J.PELLET
13565 ENGENDRE_TEST=PROC(nom="ENGENDRE_TEST",op=178,
13566                    UIinfo={"groupes":("Impression",)},
13567                    fr="Engendre des tests pour la non régression du code (pour développeurs)",
13568          UNITE           =SIMP(statut='f',typ='I',defaut=8),  
13569          FORMAT          =SIMP(statut='f',typ='TXM',into=("OBJET",) ),
13570          FORMAT_R        =SIMP(statut='f',typ='TXM',defaut="1PE20.13"),
13571          PREC_R          =SIMP(statut='f',typ='TXM',defaut="1.E-10"),
13572 #============================================================================
13573          b_aster     =BLOC( condition = "FORMAT==None",
13574             CO              =SIMP(statut='o',typ=(cham_gd_sdaster,resultat_sdaster,table_sdaster),
13575                                   validators=NoRepeat(),max='**'),
13576             TYPE_TEST       =SIMP(statut='f',typ='TXM',defaut="SOMM_ABS",into=("SOMM","SOMM_ABS","MAX","MIN") ),
13577          ),
13578 #============================================================================
13579          b_objet     =BLOC( condition = "FORMAT=='OBJET'",
13580                             regles=(UN_PARMI('TOUT','CO'),),
13581             TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
13582             CO              =SIMP(statut='f',typ=assd,validators=NoRepeat(),max='**'),
13583             TYPE_TEST       =SIMP(statut='f',typ='TXM',defaut="SOMME",into=("SOMME","RESUME") ),
13584          ),
13585 )  ;
13586 #& MODIF COMMANDE  DATE 29/08/2006   AUTEUR MCOURTOI M.COURTOIS 
13587 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13588 # ======================================================================
13589 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13590 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13591 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13592 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13593 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13594 #
13595 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13596 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13597 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13598 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13599 #
13600 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13601 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13602 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13603 # ======================================================================
13604
13605 from Macro.exec_logiciel_ops import exec_logiciel_ops
13606 def exec_logiciel_prod(self, MAILLAGE, **args):
13607    if MAILLAGE != None:
13608       mcf = MAILLAGE[0]
13609       self.type_sdprod(mcf['MAILLAGE'], maillage_sdaster)
13610    return None
13611
13612 EXEC_LOGICIEL = MACRO(nom="EXEC_LOGICIEL",op=exec_logiciel_ops, sd_prod=exec_logiciel_prod,
13613                       fr="Exécute un logiciel ou une commande système depuis Aster",
13614                       UIinfo={"groupes":("Outils métier",)},
13615       
13616       regles = (AU_MOINS_UN('LOGICIEL', 'MAILLAGE'),),
13617       
13618       LOGICIEL = SIMP(statut='f', typ='TXM'),
13619       ARGUMENT = SIMP(statut='f', max='**', typ='TXM'),
13620
13621       MAILLAGE = FACT(statut='f',
13622          FORMAT     = SIMP(statut='o', typ='TXM', into=("GMSH", "GIBI", "SALOME")),
13623          UNITE_GEOM = SIMP(statut='f', typ='I', val_min=10, val_max=90, defaut=16,
13624                            fr="Unité logique définissant le fichier (fort.N) contenant les données géométriques (datg)"),
13625          UNITE      = SIMP(statut='f', typ='I', val_min=10, val_max=90, defaut=19,
13626                            fr="Unité logique définissant le fichier (fort.N) produit par le mailleur"),
13627          MAILLAGE   = SIMP(statut='o', typ=CO),
13628       ),
13629
13630       CODE_RETOUR_MAXI = SIMP(statut='f', typ='I', defaut=0, val_min=-1,
13631                               fr="Valeur maximale du code retour toléré (-1 pour l'ignorer)"),
13632       
13633       INFO     = SIMP(statut='f', typ='I', defaut=2, into=(1,2),),
13634 )
13635 #& MODIF COMMANDE  DATE 14/10/2005   AUTEUR CIBHHLV L.VIVAN 
13636 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13637 # ======================================================================
13638 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13639 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13640 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13641 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13642 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13643 #
13644 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13645 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13646 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13647 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13648 #
13649 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13650 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13651 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13652 # ======================================================================
13653 def extr_mode_prod(FILTRE_MODE,**args):
13654   vale=FILTRE_MODE[0]['MODE']
13655   if AsType(vale) == mode_meca   : return mode_meca
13656   if AsType(vale) == mode_meca_c : return mode_meca_c
13657   if AsType(vale) == mode_gene   : return mode_gene
13658   raise AsException("type de concept resultat non prevu")
13659
13660 EXTR_MODE=OPER(nom="EXTR_MODE",op= 168,sd_prod=extr_mode_prod,
13661                reentrant='n',fr="Extraire séléctivement des modes des structures de données modales",
13662             UIinfo={"groupes":("Résolution",)},
13663          FILTRE_MODE     =FACT(statut='o',max='**',
13664            regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','NUME_MODE','NUME_MODE_EXCLU','FREQ_MIN','CRIT_EXTR',),),
13665            MODE            =SIMP(statut='o',typ=(mode_meca,mode_meca_c,mode_gene ) ),
13666            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
13667            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
13668            NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
13669            NUME_MODE_EXCLU =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
13670            FREQ_MIN        =SIMP(statut='f',typ='R' ),
13671            CRIT_EXTR       =SIMP(statut='f',typ='TXM',into=("MASS_EFFE_UN","MASS_GENE") ),
13672            b_freq_min      =BLOC(condition = "FREQ_MIN != None",  
13673              FREQ_MAX        =SIMP(statut='o',typ='R' ),
13674              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
13675            ),
13676            b_crit_extr     =BLOC(condition = "CRIT_EXTR != None",
13677              regles=(AU_MOINS_UN('SEUIL','SEUIL_X','SEUIL_Y','SEUIL_Z'),),
13678              SEUIL           =SIMP(statut='f',typ='R'),
13679              SEUIL_X         =SIMP(statut='f',typ='R'),
13680              SEUIL_Y         =SIMP(statut='f',typ='R'),
13681              SEUIL_Z         =SIMP(statut='f',typ='R'),
13682            ),    
13683          ),
13684          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
13685          IMPRESSION      =FACT(statut='f',
13686            CUMUL           =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
13687            CRIT_EXTR       =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",into=("MASS_EFFE_UN","MASS_GENE") ),
13688          ),
13689 )  ;
13690 #& MODIF COMMANDE  DATE 09/05/2007   AUTEUR VIVAN L.VIVAN 
13691 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13692 # ======================================================================
13693 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13694 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13695 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13696 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
13697 # (AT YOUR OPTION) ANY LATER VERSION.
13698 #
13699 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
13700 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
13701 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
13702 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
13703 #
13704 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
13705 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
13706 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
13707 # ======================================================================
13708 def extr_resu_prod(RESULTAT,**args):
13709   if AsType(RESULTAT) == evol_elas    : return evol_elas
13710   if AsType(RESULTAT) == evol_noli    : return evol_noli
13711   if AsType(RESULTAT) == evol_ther    : return evol_ther
13712   if AsType(RESULTAT) == dyna_trans   : return dyna_trans
13713   if AsType(RESULTAT) == dyna_harmo   : return dyna_harmo
13714   if AsType(RESULTAT) == acou_harmo   : return acou_harmo
13715   if AsType(RESULTAT) == mode_meca    : return mode_meca
13716   if AsType(RESULTAT) == mode_acou    : return mode_acou
13717   if AsType(RESULTAT) == mode_stat_depl :    return mode_stat_depl
13718   if AsType(RESULTAT) == mode_stat_acce :    return mode_stat_acce
13719   if AsType(RESULTAT) == mode_stat_forc :    return mode_stat_forc
13720   if AsType(RESULTAT) == mult_elas    : return mult_elas
13721   if AsType(RESULTAT) == fourier_elas : return fourier_elas
13722   raise AsException("type de concept resultat non prevu")
13723
13724 EXTR_RESU=OPER(nom="EXTR_RESU",op=176,sd_prod=extr_resu_prod,reentrant='f',
13725             UIinfo={"groupes":("Résultats et champs",)},
13726             fr="Extraire des champs au sein d'une SD Résultat",
13727          regles=(CONCEPT_SENSIBLE('SEPARE'), REUSE_SENSIBLE(),
13728                  DERIVABLE('RESULTAT'),),
13729          RESULTAT        =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,acou_harmo,mode_meca,
13730                                                mode_acou,mode_stat_depl,mode_stat_acce,mode_stat_forc,evol_ther,evol_noli,
13731                                                mult_elas,fourier_elas,fourier_ther ) ),
13732
13733          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
13734                                    fr="Liste des paramètres de sensibilité.",
13735                                    ang="List of sensitivity parameters"),
13736
13737          ARCHIVAGE       =FACT(statut='f',
13738            regles=(  UN_PARMI('NUME_ORDRE', 'INST', 'FREQ', 'NUME_MODE',
13739                         'NOEUD_CMP', 'LIST_INST', 'LIST_FREQ', 'LIST_ORDRE',
13740                         'NOM_CAS', 'LIST_ARCH', 'PAS_ARCH' ),
13741                      EXCLUS( 'CHAM_EXCLU','NOM_CHAM' ),   ),
13742            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
13743            NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO()),
13744            PRECISION       =SIMP(statut='f',typ='R',defaut=1.E-3 ),
13745            CRITERE         =SIMP(statut='f',typ='TXM',into=("RELATIF","ABSOLU"),defaut="RELATIF"),
13746            LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster),
13747            PAS_ARCH        =SIMP(statut='f',typ='I'),
13748            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
13749            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
13750            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
13751            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
13752            FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
13753            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
13754            NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
13755            NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
13756            NOM_CAS         =SIMP(statut='f',typ='TXM'),
13757                                ),
13758
13759          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
13760 )  ;
13761 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
13762 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13763 # ======================================================================
13764 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
13765 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
13766 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
13767 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
13768 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
13769 #                                                                       
13770 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
13771 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
13772 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
13773 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
13774 #                                                                       
13775 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
13776 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
13777 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
13778 # ======================================================================
13779 def extr_table_prod(TYPE_RESU,**args):
13780   if TYPE_RESU == "MATR_ASSE_GENE_R" : return matr_asse_gene_r
13781   raise AsException("type de concept resultat non prevu")
13782
13783 EXTR_TABLE=OPER(nom="EXTR_TABLE",op=173,sd_prod=extr_table_prod,reentrant='n',
13784             UIinfo={"groupes":("Résultats et champs",)},
13785          fr="Extraire d'une table la matrice de masse généralisée assemblée",
13786          TYPE_RESU       =SIMP(statut='o',typ='TXM',into=("MATR_ASSE_GENE_R",) ),
13787
13788          TABLE           =SIMP(statut='o',typ=table_sdaster),
13789
13790          NOM_PARA        =SIMP(statut='o',typ='TXM'),
13791
13792          FILTRE          =FACT(statut='f',min=1,max='**',
13793            NOM_PARA        =SIMP(statut='o',typ='TXM'),
13794            CRIT_COMP       =SIMP(statut='f',typ='TXM',defaut="EQ",
13795                                  into=("EQ","LT","GT","NE","LE","GE","VIDE",
13796                                        "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI") ),
13797            b_vale          =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
13798               regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
13799               VALE            =SIMP(statut='f',typ='R'),
13800               VALE_I          =SIMP(statut='f',typ='I'),
13801               VALE_C          =SIMP(statut='f',typ='C'),
13802               VALE_K          =SIMP(statut='f',typ='TXM'),),
13803
13804            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
13805            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
13806          ),
13807
13808          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
13809 )  ;
13810 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
13811 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13812 # ======================================================================
13813 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13814 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13815 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13816 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13817 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13818 #
13819 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13820 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13821 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13822 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13823 #
13824 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13825 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13826 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13827 # ======================================================================
13828 def fact_grad_prod(MATR_ASSE,**args):
13829   if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_depl_r
13830   if AsType(MATR_ASSE) == matr_asse_temp_r : return matr_asse_temp_r
13831   if AsType(MATR_ASSE) == matr_asse_pres_r : return matr_asse_pres_r
13832   raise AsException("type de concept resultat non prevu")
13833
13834 FACT_GRAD=OPER(nom="FACT_GRAD",op=85,sd_prod=fact_grad_prod,
13835             UIinfo={"groupes":("Résolution",)},
13836                fr="Construire une matrice de préconditionnement pour une résolution par gradient conjugué",
13837                reentrant='n',
13838          MATR_ASSE       =SIMP(statut='o',
13839                                typ=(matr_asse_depl_r,matr_asse_temp_r,
13840                                     matr_asse_pres_r) ),
13841          PRE_COND        =SIMP(statut='f',typ='TXM',defaut="LDLT_INC",into=("LDLT_INC",) ),
13842          NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),  
13843          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
13844 )  ;
13845 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
13846 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13847 # ======================================================================
13848 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13849 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13850 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13851 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
13852 # (AT YOUR OPTION) ANY LATER VERSION.
13853 #
13854 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
13855 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
13856 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
13857 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
13858 #
13859 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
13860 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
13861 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
13862 # ======================================================================
13863 # RESPONSABLE VABHHTS J.PELLET
13864 def fact_ldlt_prod(MATR_ASSE,**args):
13865   if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_depl_r
13866   if AsType(MATR_ASSE) == matr_asse_depl_c : return matr_asse_depl_c
13867   if AsType(MATR_ASSE) == matr_asse_temp_r : return matr_asse_temp_r
13868   if AsType(MATR_ASSE) == matr_asse_temp_c : return matr_asse_temp_c
13869   if AsType(MATR_ASSE) == matr_asse_pres_r : return matr_asse_pres_r
13870   if AsType(MATR_ASSE) == matr_asse_pres_c : return matr_asse_pres_c
13871   raise AsException("type de concept resultat non prevu")
13872
13873 FACT_LDLT=OPER(nom="FACT_LDLT",op=14,sd_prod=fact_ldlt_prod,
13874                fr="Factoriser une matrice assemblée en un produit de deux matrices triangulaires",
13875                reentrant='f',
13876             UIinfo={"groupes":("Résolution",)},
13877          regles=(EXCLUS('BLOC_DEBUT','DDL_DEBUT'),
13878                  EXCLUS('BLOC_FIN','DDL_FIN'),),
13879          MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,
13880                                                matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ),
13881          STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
13882          NPREC           =SIMP(statut='f',typ='I',defaut=8,val_min=0,),
13883          PRE_COND        =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","DIAG") ),
13884          BLOC_DEBUT      =SIMP(statut='f',typ='I',val_min=1,),
13885          DDL_DEBUT       =SIMP(statut='f',typ='I',val_min=1,),
13886          BLOC_FIN        =SIMP(statut='f',typ='I',val_min=1,),
13887          DDL_FIN         =SIMP(statut='f',typ='I',val_min=1,),
13888 #
13889          EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
13890
13891 #        mots clés pour solveur MUMPS :
13892          TYPE_RESOL      =SIMP(statut='f',typ='TXM',defaut='AUTO',into=('NONSYM','SYMGEN','SYMDEF','AUTO')),
13893          PCENT_PIVOT     =SIMP(statut='f',typ='I',defaut=20,),
13894
13895          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
13896          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
13897 )  ;
13898 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
13899 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13900 # ======================================================================
13901 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13902 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13903 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13904 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13905 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13906 #
13907 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13908 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13909 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13910 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13911 #
13912 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13913 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13914 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13915 # ======================================================================
13916 FIN=PROC(nom="FIN",op=9999,repetable='n',fr="Fin d'une étude, fin du travail engagé par une des commandes DEBUT ou POURSUITE",
13917             UIinfo={"groupes":("Gestion du travail",)},
13918          FORMAT_HDF      =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f',
13919                                typ='TXM',defaut="NON",into=("OUI","NON",) ), 
13920          RETASSAGE       =SIMP(fr="provoque le retassage de la base GLOBALE",
13921                                statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
13922          PERFORMANCE     =SIMP(fr="provoque l'impression d'un résumé des mesures de temps ",
13923                                statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ),
13924          INFO_RESU       =SIMP(fr="provoque l'impression des informations sur les structures de données",
13925                                statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ),
13926          UNITE           =SIMP(statut='f',typ='I',defaut=6),  
13927 )  ;
13928 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
13929 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13930 # ======================================================================
13931 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13932 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13933 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13934 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13935 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13936 #
13937 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13938 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13939 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13940 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13941 #
13942 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13943 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13944 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13945 # ======================================================================
13946 FONC_FLUI_STRU=OPER(nom="FONC_FLUI_STRU",op= 169,sd_prod=fonction_sdaster,
13947                     reentrant='n',fr="Crée une fonction constante paramètrée par l'abscisse curviligne",
13948             UIinfo={"groupes":("Fonction",)},
13949          TYPE_FLUI_STRU  =SIMP(statut='o',typ=(type_flui_stru) ),
13950 )  ;
13951 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
13952 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13953 # ======================================================================
13954 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13955 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13956 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13957 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13958 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13959 #
13960 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13961 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13962 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13963 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13964 #
13965 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
13966 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
13967 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
13968 # ======================================================================
13969 def form_pyth_ops(self,d):
13970   import types,string
13971   NOM_PARA=self.etape['NOM_PARA']
13972   VALE    =self.etape['VALE']
13973   if type(NOM_PARA) not in (types.ListType,types.TupleType) : NOM_PARA=[NOM_PARA,]
13974   if self.sd==None : return
13975   texte=string.join(VALE.splitlines())
13976
13977   self.sd.setFormule(NOM_PARA,string.strip(texte))
13978
13979 FORMULE=FORM(nom="FORMULE",op_init=form_pyth_ops,op=-5,
13980              sd_prod=formule,UIinfo={"groupes":("Fonction",)},
13981              fr="Définit une formule réelle à partir de son expression mathématique",
13982          VALE     =SIMP(statut='f',typ='TXM'),
13983          NOM_PARA =SIMP(statut='o',typ='TXM',max='**'),
13984 );
13985 #& MODIF COMMANDE  DATE 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
13986 #            CONFIGURATION MANAGEMENT OF EDF VERSION
13987 # ======================================================================
13988 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
13989 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13990 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13991 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
13992 # (AT YOUR OPTION) ANY LATER VERSION.                                 
13993 #
13994 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
13995 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
13996 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
13997 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
13998 #
13999 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14000 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14001 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14002 # ======================================================================
14003 # RESPONSABLE CAMBIER S.CAMBIER
14004 GENE_FONC_ALEA=OPER(nom="GENE_FONC_ALEA",op= 118,sd_prod=table_fonction,
14005                     fr="Génération de la fonction temporelle à partir d une matrice interspectrale",
14006                     reentrant='n',
14007             UIinfo={"groupes":("Fonction",)},
14008          INTE_SPEC       =SIMP(statut='o',typ=table_fonction),
14009          NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),
14010          INTERPOL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("NON","OUI") ),
14011          b_interpol_oui    =BLOC(condition = "INTERPOL == 'OUI' ",fr="Parametres cas interpolation autorisee",
14012            DUREE_TIRAGE    =SIMP(statut='f',typ='R' ),
14013            FREQ_INIT       =SIMP(statut='f',typ='R' ),
14014            FREQ_FIN        =SIMP(statut='f',typ='R' ),
14015              ),
14016          NB_POIN         =SIMP(statut='f',typ='I'),
14017          NB_TIRAGE       =SIMP(statut='f',typ='I',defaut= 1 ),
14018          INIT_ALEA       =SIMP(statut='f',typ='I'),
14019          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
14020          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
14021 )  ;
14022 #& MODIF COMMANDE  DATE 11/07/2005   AUTEUR CAMBIER S.CAMBIER 
14023 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14024 # ======================================================================
14025 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
14026 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
14027 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
14028 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
14029 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
14030 #                                                                       
14031 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
14032 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
14033 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
14034 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
14035 #                                                                       
14036 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
14037 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
14038 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
14039 # ======================================================================
14040 # RESPONSABLE CAMBIER S.CAMBIER
14041 def gene_matr_alea_prod(MATR_MOYEN,**args ):
14042   if (AsType(MATR_MOYEN) == matr_asse_gene_r )  : return matr_asse_gene_r
14043   if (AsType(MATR_MOYEN) == macr_elem_dyna) : return macr_elem_dyna
14044   raise AsException("type de concept resultat non prevu")
14045
14046 GENE_MATR_ALEA=OPER(nom="GENE_MATR_ALEA",op=  27,
14047 #sd_prod=matr_asse_gene_r,
14048 sd_prod=gene_matr_alea_prod,
14049                fr="Générer une réalisation d'une matrice aléatoire réelle sym. déf. positive ou d'un macro élément dynamique",
14050                reentrant='n',
14051             UIinfo={"groupes":("Matrice",)},
14052    MATR_MOYEN   = SIMP(statut='o', typ=(matr_asse_gene_r,macr_elem_dyna)),
14053
14054 #    cas matrice generalisee 
14055    b_matr =BLOC( condition = "AsType(MATR_MOYEN) in (matr_asse_gene_r,)",
14056            COEF_VAR     = SIMP(statut='f', typ='R', defaut=0.1, val_min=0.E+0 ,
14057                                 fr="coefficient de variation de la matrice a generer" ),
14058            ),
14059 #    cas macr_elem_dyna 
14060    b_macr =BLOC( condition = "AsType(MATR_MOYEN) in (macr_elem_dyna,)",
14061            fr="cas macr_elem_dyna (sous-structuratio)",
14062            COEF_VAR_RIGI     = SIMP(statut='f', typ='R', defaut=0.1, val_min=0.E+0 ,
14063                                 fr="coefficient de variation de la matrice de raideur" ),
14064            COEF_VAR_MASS     = SIMP(statut='f', typ='R', defaut=0., val_min=0.E+0 ,
14065                                 fr="coefficient de variation de la matrice de masse" ),
14066            COEF_VAR_AMOR     = SIMP(statut='f', typ='R', defaut=0., val_min=0.E+0 ,
14067                                 fr="coefficient de variation de la matrice d'amortissement" ),),
14068
14069    INIT_ALEA    =SIMP(statut='f',typ='I'),
14070 ) ;
14071    
14072 #& MODIF COMMANDE  DATE 05/02/2007   AUTEUR ZENTNER I.ZENTNER 
14073 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14074 # ======================================================================
14075 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
14076 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
14077 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
14078 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
14079 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
14080 #                                                                       
14081 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
14082 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
14083 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
14084 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
14085 #                                                                       
14086 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
14087 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
14088 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
14089 # ======================================================================
14090 # RESPONSABLE CAMBIER S.CAMBIER
14091 from Macro.gene_vari_alea_ops import gene_vari_alea_ops,gene_vari_alea_init
14092 GENE_VARI_ALEA=MACRO(nom="GENE_VARI_ALEA",
14093                op_init=gene_vari_alea_init,op=gene_vari_alea_ops,
14094                sd_prod=reel,reentrant='n',
14095                fr="Générer une réalisation d'une variable aléatoire réelle de loi de probabilité donnée (Gamma ou Exponentielle)",
14096                UIinfo={"groupes":("Fonction",)},
14097    TYPE       = SIMP(statut='f', typ='TXM', into=("EXP_TRONQUEE", "EXPONENTIELLE", "GAMMA"), defaut="GAMMA"),
14098    b_gamma    =BLOC(condition = "TYPE == 'GAMMA' ",fr="Parametres loi gamma",
14099            VALE_MOY   = SIMP(statut='f', typ='R', defaut=1.),
14100            BORNE_INF  = SIMP(statut='f', typ='R', defaut=0.),
14101            COEF_VAR   = SIMP(statut='f', typ='R', defaut=0.1),
14102              ),
14103    b_expo    =BLOC(condition = "TYPE == 'EXPONENTIELLE' ",fr="Parametres loi exponentielle",
14104            VALE_MOY   = SIMP(statut='f', typ='R', defaut=0.),
14105            BORNE_INF  = SIMP(statut='f', typ='R', defaut=-1.),
14106              ),
14107    b_expo_tronq    =BLOC(condition = "TYPE == 'EXP_TRONQUEE' ",fr="Parametres loi exponentielle tronquee",
14108            VALE_MOY   = SIMP(statut='f', typ='R', defaut=0.),
14109            BORNE_INF  = SIMP(statut='f', typ='R', defaut=-1.),
14110            BORNE_SUP  = SIMP(statut='f', typ='R', defaut=1.),
14111              ),
14112    INIT_ALEA       =SIMP(statut='f',typ='I'),
14113 )
14114 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
14115 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14116 # ======================================================================
14117 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14118 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14119 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14120 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14121 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14122 #
14123 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14124 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14125 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14126 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14127 #
14128 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14129 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14130 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14131 # ======================================================================
14132 IMPR_CHARGE=PROC(nom="IMPR_CHARGE",op= 158,
14133                  fr="Impression des charges mécaniques de type ddl imposés et relations linéaires entre les ddl",
14134                  UIinfo={"groupes":("Fonction",)},
14135          UNITE           =SIMP(statut='f',typ='I',defaut=30),  
14136          FORMAT          =SIMP(statut='f',typ='TXM',defaut="IDEAS",into=("IDEAS",) ),
14137          VERSION         =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ),
14138          CHARGE          =SIMP(statut='o',typ=char_meca,validators=NoRepeat(),max='**', ),
14139 )  ;
14140 #& MODIF COMMANDE  DATE 10/05/2006   AUTEUR MCOURTOI M.COURTOIS 
14141 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14142 # ======================================================================
14143 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14144 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14145 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14146 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
14147 # (AT YOUR OPTION) ANY LATER VERSION.
14148 #
14149 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
14150 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
14151 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
14152 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
14153 #
14154 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
14155 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
14156 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
14157 # ======================================================================
14158 # RESPONSABLE VABHHTS J.PELLET
14159 IMPR_CO=PROC(nom="IMPR_CO",op=17,
14160             UIinfo={"groupes":("Impression",)},
14161              fr="Imprimer tous les objets JEVEUX qui constituent un concept utilisateur existant (pour les développeurs)",
14162          regles=(UN_PARMI('CONCEPT','CHAINE','TOUT' ),),
14163
14164          UNITE           =SIMP(statut='f',typ='I',defaut=8),
14165          NIVEAU          =SIMP(statut='f',typ='I',defaut=2,into=(-1,0,1,2) ),
14166          ATTRIBUT        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","OUI") ),
14167          CONTENU         =SIMP(statut='f',typ='TXM',defaut="OUI",into=("NON","OUI") ),
14168          BASE            =SIMP(statut='f',typ='TXM',defaut="G",into=(" ","G","V","L") ),
14169          CONCEPT    =FACT(statut='f',max='**',
14170              regles=(DERIVABLE('NOM'),),
14171              NOM         =SIMP(statut='o',typ=assd,validators=NoRepeat(),max='**'),
14172              SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),
14173                                  fr="Paramètre de sensibilité.",
14174                                  ang="Sensitivity parameter",max='**'),),        
14175          CHAINE          =SIMP(statut='f',typ='TXM'),
14176          POSITION        =SIMP(statut='f',typ='I',defaut=1),
14177          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14178 )  ;
14179 #& MODIF COMMANDE  DATE 24/04/2007   AUTEUR COURTOIS M.COURTOIS 
14180 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14181 # ======================================================================
14182 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
14183 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
14184 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
14185 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
14186 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
14187 #                                                                       
14188 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
14189 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
14190 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
14191 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
14192 #                                                                       
14193 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
14194 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
14195 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
14196 # ======================================================================
14197 # RESPONSABLE MCOURTOI M.COURTOIS
14198 from Macro.impr_fonction_ops import impr_fonction_ops
14199
14200 IMPR_FONCTION=MACRO(nom="IMPR_FONCTION",op=impr_fonction_ops,sd_prod=None,
14201                  fr="Imprime le contenu d'objets de type fonction ou liste de réels dans un fichier destiné à un traceur de courbe",
14202             UIinfo={"groupes":("Fonction",)},
14203          FORMAT          =SIMP(statut='o',typ='TXM',position='global',defaut='TABLEAU',
14204                                into=("TABLEAU","AGRAF","XMGRACE",),),
14205          b_pilote = BLOC(condition = "FORMAT == 'XMGRACE'",
14206                         fr="Mots-clés propres à XMGRACE",
14207            PILOTE          =SIMP(statut='f',typ='TXM',defaut='',
14208                                  into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'),
14209                             fr="Pilote de sortie, PNG/JPEG/PDF ne sont pas disponibles sur toutes les installations de xmgrace"),
14210            UNITE           =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29,
14211                                  fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
14212          ),
14213          b_agraf = BLOC(condition = "FORMAT == 'AGRAF'",
14214                         fr="Mots-clés propres à AGRAF",
14215            UNITE           =SIMP(statut='o',typ='I',defaut=25,
14216                                  fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
14217            UNITE_DIGR      =SIMP(statut='o',typ='I',defaut=26,
14218                                  fr="Unité logique définissant le fichier dans lequel on écrit les directives Agraf"),
14219          ),
14220          # unite pour TABLEAU dans le bloc de mise en forme spécifique
14221
14222          COURBE          =FACT(statut='o',max='**',fr="Définition de la fonction à tracer",
14223            regles=(UN_PARMI('FONCTION','LIST_RESU','FONC_X','ABSCISSE'),),
14224            FONCTION        =SIMP(statut='f',typ=(fonction_sdaster, formule, fonction_c, nappe_sdaster),
14225                                  fr="Fonction réelle ou complexe", ),
14226            LIST_RESU       =SIMP(statut='f',typ=listr8_sdaster,
14227                                  fr="Liste des ordonnees d'une fonction réelle définie par deux listes", ),
14228            FONC_X          =SIMP(statut='f',typ=(fonction_sdaster,formule),
14229                                  fr="Fonction abscisses d'une fonction paramétrique",),
14230            ABSCISSE        =SIMP(statut='f',typ='R',max='**',
14231                                  fr="Valeurs des abscisses", ),
14232            b_fonction      =BLOC(condition = "FONCTION != None",
14233              LIST_PARA       =SIMP(statut='f',typ=listr8_sdaster ),
14234            ),
14235            b_fonction_c  =BLOC(condition = "AsType(FONCTION) == fonction_c",
14236                                  fr="Fonction complexe définie par le mot-clé fonction",
14237              PARTIE          =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ),
14238            ),
14239            b_list_resu     =BLOC(condition = "LIST_RESU != None",
14240              LIST_PARA       =SIMP(statut='o',typ=listr8_sdaster ),
14241            ),
14242            b_fonc_x        =BLOC(condition = "FONC_X != None",
14243              FONC_Y          =SIMP(statut='o',typ=(fonction_sdaster,formule),fr="Fonction ordonnées d une fonction paramétrique" ),
14244              LIST_PARA       =SIMP(statut='f',typ=listr8_sdaster ),
14245            ),
14246            b_vale_resu     =BLOC(condition = "ABSCISSE != None",
14247              ORDONNEE      =SIMP(statut='o',typ='R',max='**',
14248                                  fr="Valeurs des ordonnées"),
14249            ),
14250
14251            # mots-clés utilisant uniquement aux formats autres que TABLEAU
14252            # mais ce serait trop pénible de devoir les supprimer quand on change de format
14253            # donc on ne les met pas dans un bloc
14254            # "pseudo" bloc mise en forme :
14255                LEGENDE         =SIMP(statut='f',typ='TXM',
14256                                     fr="Légende associée à la fonction" ),
14257                STYLE           =SIMP(statut='f',typ='I',val_min=0,
14258                                     fr="Style de la ligne représentant la fonction",),
14259                COULEUR         =SIMP(statut='f',typ='I',val_min=0,
14260                                     fr="Couleur associée à la fonction",),
14261                MARQUEUR        =SIMP(statut='f',typ='I',val_min=0,
14262                                     fr="Type du marqueur associé à la fonction",),
14263                FREQ_MARQUEUR   =SIMP(statut='f',typ='I',defaut=0,
14264                                     fr="Fréquence d impression du marqueur associé à la fonction", ),
14265            # fin bloc mise en forme
14266            
14267            TRI             =SIMP(statut='f',typ='TXM',defaut="N",
14268                                  fr="Choix du tri effectué sur les abscisses ou sur les ordonnées",
14269                                  into=("N","X","Y","XY","YX") ),
14270          ),
14271          # Mise en page du tableau ou du graphique
14272          b_tableau = BLOC(condition = "FORMAT == 'TABLEAU'",
14273                           fr="Mots-clés propres au format Tableau",
14274            UNITE           =SIMP(statut='o',typ='I',defaut=8,
14275                                  fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
14276            TITRE           =SIMP(statut='f',typ='TXM',
14277                                  fr="Titre associé au graphique" ),
14278            SOUS_TITRE      =SIMP(statut='f',typ='TXM',
14279                                  fr="Sous-titre du graphique" ),
14280            SEPARATEUR      =SIMP(statut='f',typ='TXM',defaut=' ',
14281                                  fr="Séparateur des colonnes du tableau (ex : ' ', ';'...)"),
14282            COMMENTAIRE     =SIMP(statut='f',typ='TXM',defaut='#',
14283                                  fr="Caractère indiquant au traceur de fonction que la ligne peut etre ignorée"),
14284            DEBUT_LIGNE     =SIMP(statut='f',typ='TXM',defaut='',
14285                                  fr="Caractère de debut de ligne"),
14286            FIN_LIGNE       =SIMP(statut='f',typ='TXM',defaut='\n',
14287                                  fr="Caractère de fin de ligne"),
14288          ),
14289          b_graphique = BLOC(condition = "FORMAT != 'TABLEAU'",
14290                         fr="Mise en page du graphique",
14291            TITRE           =SIMP(statut='f',typ='TXM',
14292                                  fr="Titre associé au graphique" ),
14293            SOUS_TITRE      =SIMP(statut='f',typ='TXM',
14294                                  fr="Sous-titre du graphique" ),
14295            BORNE_X         =SIMP(statut='f',typ='R',min=2,max=2,
14296                                  fr="Intervalles de variation des abscisses"),
14297            BORNE_Y         =SIMP(statut='f',typ='R',min=2,max=2,
14298                                  fr="Intervalles de variation des ordonnées"),
14299            ECHELLE_X       =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),
14300                                  fr="Type d'échelle pour les abscisses" ),
14301            ECHELLE_Y       =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),
14302                                  fr="Type d'échelle pour les ordonnées" ),
14303            GRILLE_X        =SIMP(statut='f',typ='R',max=1,val_min=0.,
14304                                  fr="Pas du quadrillage vertical" ),
14305            GRILLE_Y        =SIMP(statut='f',typ='R',max=1,val_min=0.,
14306                                  fr="Pas du quadrillage horizontal" ),
14307            LEGENDE_X       =SIMP(statut='f',typ='TXM',
14308                                  fr="Légende associée à l'axe des abscisses" ),
14309            LEGENDE_Y       =SIMP(statut='f',typ='TXM',
14310                                  fr="Légende associée à l'axe des ordonnées" ),
14311          ),
14312          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
14313 )  ;
14314 #& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETTE 
14315 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14316 # ======================================================================
14317 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14318 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14319 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14320 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14321 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14322 #
14323 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14324 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14325 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14326 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14327 #
14328 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14329 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14330 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14331 # ======================================================================
14332 IMPR_GENE=PROC(nom="IMPR_GENE",op= 157,
14333             fr="Imprimer le résultat d'un calcul dynamique en variables généralisées au format RESULTAT",
14334             UIinfo={"groupes":("Impression",)},
14335          FORMAT          =SIMP(statut='f',typ='TXM',defaut="RESULTAT",into=("RESULTAT",) ),
14336          UNITE           =SIMP(statut='f',typ='I',defaut=8),  
14337          GENE            =FACT(statut='o',max='**',
14338            regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
14339                           'LIST_INST','LIST_FREQ','TOUT_MODE','TOUT_INST','LIST_ORDRE'),
14340                    EXCLUS('TOUT_MODE','NUME_ORDRE','INST','FREQ','NUME_MODE',
14341                           'LIST_INST','LIST_FREQ','TOUT_ORDRE','TOUT_INST','LIST_ORDRE'),
14342                    EXCLUS('TOUT_INST','NUME_ORDRE','INST','FREQ','NUME_MODE',
14343                           'LIST_INST','LIST_FREQ','TOUT_ORDRE','LIST_ORDRE'),
14344                    EXCLUS('TOUT_CMP_GENE','NUME_CMP_GENE'),
14345                    EXCLUS('TOUT_CHAM','NOM_CHAM'),
14346                    EXCLUS('TOUT_PARA','NOM_PARA'),),
14347 #  faut-il faire des blocs selon le type de RESU_GENE                   
14348            RESU_GENE       =SIMP(statut='o',typ=(vect_asse_gene, tran_gene, mode_gene, harm_gene)),
14349            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14350            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
14351            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster ),
14352            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
14353            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
14354            TOUT_INST       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14355            FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
14356            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
14357            TOUT_MODE       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14358            NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
14359            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
14360            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",
14361                                    into=("RELATIF","ABSOLU") ),
14362            TOUT_CMP_GENE   =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
14363            NUME_CMP_GENE   =SIMP(statut='f',typ='I',max='**'),
14364            TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
14365            NOM_CHAM        =SIMP(statut='f',typ='TXM',max='**'),
14366            TOUT_PARA       =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
14367            NOM_PARA        =SIMP(statut='f',typ='TXM',max='**'),
14368            SOUS_TITRE      =SIMP(statut='f',typ='TXM',max='**'),
14369            INFO_CMP_GENE   =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
14370            INFO_GENE       =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
14371          ),
14372 )  ;
14373 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
14374 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14375 # ======================================================================
14376 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14377 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14378 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14379 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14380 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14381 #
14382 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14383 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14384 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14385 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14386 #
14387 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14388 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14389 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14390 # ======================================================================
14391 IMPR_JEVEUX=PROC(nom="IMPR_JEVEUX",op=16,
14392             UIinfo={"groupes":("Impression",)},
14393                  fr="Imprimer le contenu des objets créés par JEVEUX (pour développeur)",
14394          ENTITE          =SIMP(fr="choix de l'observation",statut='o',typ='TXM',
14395                                into=("DISQUE","MEMOIRE","REPERTOIRE",    
14396                                      "OBJET","ATTRIBUT","SYSTEME") ),
14397          b_objet      =BLOC(condition = "(ENTITE=='OBJET')",
14398             NOMOBJ          =SIMP(fr="nom d'objet",statut='f',typ='TXM' ),  
14399             NUMOC           =SIMP(fr="numéro d objet de collection",statut='f',typ='I' ),  
14400             NOMOC           =SIMP(fr="nom d'objet de collection",statut='f',typ='TXM' ),  
14401          ),
14402          b_attribut   =BLOC(condition = "(ENTITE=='ATTRIBUT')",
14403             NOMOBJ          =SIMP(fr="nom de collection",statut='f',typ='TXM' ),  
14404             NOMATR          =SIMP(fr="nom d attribut de collection",statut='f',typ='TXM',
14405                                   into=('$$DESO','$$IADD','$$IADM','$$NOM','$$LONG',
14406                                       '$$LONO','$$LUTI','$$NUM') ),
14407          ),
14408          b_systeme    =BLOC(condition = "(ENTITE=='SYSTEME')",
14409             CLASSE          =SIMP(statut='o',typ='TXM',into=('G','V','L') ),  
14410             NOMATR          =SIMP(fr="nom d attribut systeme",statut='f',typ='TXM',   
14411                                   into=('$$CARA','$$IADD','$$GENR','$$TYPE','$$MARQ',
14412                                       '$$DOCU','$$ORIG','$$RNOM','$$LTYP','$$LONG',
14413                                       '$$LONO','$$DATE','$$LUTI','$$HCOD','$$INDX',
14414                                       '$$TLEC','$$TECR','$$IADM','$$ACCE','$$USADI') ),
14415          ),
14416          b_repertoire =BLOC(condition = "(ENTITE=='REPERTOIRE')",
14417             CLASSE          =SIMP(statut='f',typ='TXM',into=('G','V','L',' '),defaut=' '),  
14418          ),
14419          b_disque     =BLOC(condition = "(ENTITE=='DISQUE')",
14420             CLASSE          =SIMP(statut='f',typ='TXM' ,into=('G','V','L',' '),defaut=' '),  
14421          ),
14422          IMPRESSION      =FACT(statut='f',
14423            NOM             =SIMP(statut='f',typ='TXM' ),  
14424            UNITE           =SIMP(statut='f',typ='I'),  
14425          ),
14426          COMMENTAIRE     =SIMP(statut='f',typ='TXM' ),  
14427 )  ;
14428 #& MODIF COMMANDE  DATE 29/05/2007   AUTEUR VOLDOIRE F.VOLDOIRE 
14429 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14430 # ======================================================================
14431 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14432 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14433 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14434 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14435 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14436 #
14437 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14438 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14439 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14440 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14441 #
14442 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14443 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14444 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14445 # ======================================================================
14446 IMPR_MACR_ELEM=PROC(nom="IMPR_MACR_ELEM",op= 160,
14447                     UIinfo={"groupes":("Impression",)},
14448          fr="Impression d'une structure de données MACR_ELEM_DYNA au format IDEAS MISS3D PLEXUS ou CADYRO",
14449          MACR_ELEM_DYNA  =SIMP(statut='o',typ=macr_elem_dyna ),
14450          FORMAT          =SIMP(statut='f',typ='TXM',defaut="IDEAS",
14451                                into=("MISS_3D","IDEAS","CADYRO","PLEXUS") ),
14452
14453          b_plexus         =BLOC(condition = "FORMAT == 'IDEAS'",
14454            UNITE           =SIMP(statut='f',typ='I',defaut=30),
14455            VERSION          =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ),
14456          ),             
14457
14458          b_ideas         =BLOC(condition = "FORMAT == 'PLEXUS'",
14459            UNITE           =SIMP(statut='f',typ='I',defaut=30),
14460            VERSION         =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ),
14461          ),                      
14462
14463          b_miss_3d       =BLOC(condition = "FORMAT == 'MISS_3D'",
14464            regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),),
14465            UNITE           =SIMP(statut='f',typ='I',defaut= 26 ),
14466            SOUS_TITRE      =SIMP(statut='f',typ='TXM',max='**'),
14467            AMOR_REDUIT     =SIMP(statut='f',typ='R'  ,max='**'),
14468            LIST_AMOR       =SIMP(statut='f',typ=listr8_sdaster ),
14469            GROUP_MA_INTERF =SIMP(statut='o',typ=grma ,max='**'),
14470            GROUP_MA_FLU_STR=SIMP(statut='f',typ=grma,max='**'),
14471            GROUP_MA_FLU_SOL=SIMP(statut='f',typ=grma,max='**'),
14472            GROUP_MA_SOL_SOL=SIMP(statut='f',typ=grma,max='**'),
14473            GROUP_MA_CONTROL=SIMP(statut='f',typ=grma,max='**'),
14474            FORMAT_R        =SIMP(statut='f',typ='TXM',defaut="1PE12.5",into=("1PE12.5","1PE16.9") ),
14475            IMPR_MODE_MECA  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
14476            IMPR_MODE_STAT  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
14477          ),
14478
14479          b_cadyro        =BLOC(condition = "FORMAT == 'CADYRO'",
14480            SQUELETTE       =SIMP(statut='f',typ=squelette ),
14481            UNITE_MODE_MECA =SIMP(statut='f',typ='I',defaut= 26 ),
14482            UNITE_MODE_STAT =SIMP(statut='f',typ='I',defaut= 27 ),
14483            UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut= 28 ),
14484            IMPR_MODE_MECA  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
14485            IMPR_MODE_STAT  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
14486          ),
14487
14488 )  ;
14489 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
14490 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14491 # ======================================================================
14492 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14493 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14494 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14495 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
14496 # (AT YOUR OPTION) ANY LATER VERSION.
14497 #
14498 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
14499 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
14500 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
14501 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
14502 #
14503 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
14504 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
14505 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
14506 # ======================================================================
14507 IMPR_MATRICE=PROC(nom="IMPR_MATRICE",op= 159,
14508                   fr="Imprimer sur un fichier au format IDEAS ou RESULTAT des matrices élémentaires et assemblées",
14509                   UIinfo={"groupes":("Impression",)},
14510                   regles=(AU_MOINS_UN('MATR_ELEM','MATR_ASSE'),),
14511 # ======================================================================
14512    MATR_ELEM       =FACT(statut='f',max='**',
14513 #
14514            MATRICE     =SIMP(statut='o',typ=(matr_elem, vect_elem)),
14515            FORMAT      =SIMP(statut='f',typ='TXM',defaut="IDEAS",
14516                                  into=("IDEAS","RESULTAT") ),
14517 #
14518          b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="unité logique d'impression et version IDEAS",
14519            UNITE       =SIMP(statut='f',typ='I',defaut=30),  
14520            VERSION     =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,), ),  ),
14521 #
14522          b_format_resultat  =BLOC(condition="FORMAT=='RESULTAT'",fr="unité logique d'impression au format RESULTAT",
14523                              regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
14524            UNITE       =SIMP(statut='f',typ='I',defaut=8),
14525            TOUT        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14526            NOEUD       =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
14527            GROUP_NO    =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
14528            MAILLE      =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
14529            GROUP_MA    =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
14530            NOM_CMP     =SIMP(statut='f',typ='TXM',max='**'),
14531            GRAIN       =SIMP(statut='f',typ='TXM',defaut="VALEUR",into=("VALEUR","NOEUD","MAILLE") ),
14532            NB_CHIFFRE  =SIMP(statut='f',typ='I',defaut= 4 ),  ),
14533          ),
14534 # ======================================================================
14535    MATR_ASSE       =FACT(statut='f',max='**',
14536 #
14537            MATRICE     =SIMP(statut='o',typ=matr_asse_gd),
14538            FORMAT      =SIMP(statut='f',typ='TXM',defaut="IDEAS",into=("IDEAS","RESULTAT") ),
14539
14540          b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="unité logique d'impression et version IDEAS",
14541            UNITE       =SIMP(statut='f',typ='I',defaut=30),  
14542            VERSION     =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,), ),  ),
14543
14544          b_format_resultat  =BLOC(condition="FORMAT=='RESULTAT'",fr="unité logique d'impression au format RESULTAT",
14545                              regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
14546            UNITE       =SIMP(statut='f',typ='I',defaut=8),
14547            TOUT        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14548            NOEUD       =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
14549            GROUP_NO    =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
14550            MAILLE      =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
14551            GROUP_MA    =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
14552            OPTION      =SIMP(statut='f',typ='TXM',defaut="SOUS_MATRICE",into=("SOUS_MATRICE","LIGNE","COLONNE") ),
14553            NOM_CMP     =SIMP(statut='f',typ='TXM',max='**'),
14554            GRAIN       =SIMP(statut='f',typ='TXM',defaut="VALEUR",into=("VALEUR","NOEUD") ),
14555            NB_CHIFFRE  =SIMP(statut='f',typ='I',defaut= 4 ),
14556            VALE_ZERO   =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  ),
14557          ),
14558 # ======================================================================
14559 )  ;
14560 #& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETTE 
14561 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14562 # ======================================================================
14563 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14564 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14565 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14566 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14567 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14568 #
14569 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14570 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14571 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14572 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14573 #
14574 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14575 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14576 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14577 # ======================================================================
14578 IMPR_MISS_3D=PROC(nom="IMPR_MISS_3D",op= 162,
14579             UIinfo={"groupes":("Impression",)},
14580          fr="Impression des données d'entrée pour une étude sismique avec MISS3D",
14581          regles=(UN_PARMI('INST_INIT','FREQ_INIT'),
14582                  PRESENT_PRESENT('INST_INIT','INST_FIN'),
14583                  PRESENT_PRESENT('FREQ_INIT','FREQ_FIN'),),
14584          MACR_ELEM_DYNA  =SIMP(statut='o',typ=macr_elem_dyna ),
14585          EXCIT           =FACT(statut='f',max='**',
14586            regles=(UN_PARMI('FONC_MULT','COEF_MULT' ),),
14587            VECT_ASSE       =SIMP(statut='f',typ=cham_no_sdaster),
14588            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
14589            COEF_MULT       =SIMP(statut='f',typ='R' ),
14590          ),
14591          EXCIT_SOL       =FACT(statut='f',max='**',
14592            DIRECTION       =SIMP(statut='o',typ='R',min=3,max=3),
14593            FONC_SIGNAL     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
14594            NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",
14595                                  into=("DEPL","VITE","ACCE","FORC",) ),
14596          ),
14597          INST_INIT       =SIMP(statut='f',typ='R' ),
14598          INST_FIN        =SIMP(statut='f',typ='R' ),
14599          FREQ_INIT       =SIMP(statut='f',typ='R' ),
14600          FREQ_FIN        =SIMP(statut='f',typ='R' ),
14601          PAS             =SIMP(statut='o',typ='R' ),
14602          UNITE           =SIMP(statut='f',typ='I',defaut= 26 ),
14603          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
14604          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
14605 )  ;
14606 #& MODIF COMMANDE  DATE 07/11/2006   AUTEUR DURAND C.DURAND 
14607 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14608 # ======================================================================
14609 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
14610 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
14611 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
14612 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
14613 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
14614 #                                                                       
14615 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
14616 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
14617 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
14618 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
14619 #                                                                       
14620 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
14621 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
14622 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
14623 # ======================================================================
14624 # RESPONSABLE thomasso D.THOMASSON
14625 #
14626 from Macro.impr_oar_ops import impr_oar_ops
14627 IMPR_OAR =MACRO(nom="IMPR_OAR",op= impr_oar_ops, sd_prod=None,
14628                fr="Impression au format OAR",
14629                UIinfo={"groupes":("Impression",)},
14630    TYPE_CALC = SIMP(statut='o', typ='TXM',into=('COMPOSANT', 'MEF', 'TUYAUTERIE')),
14631    b_composant =BLOC(condition = "TYPE_CALC == 'COMPOSANT' ",
14632       regles = (AU_MOINS_UN('RESU_MECA','RESU_THER')),
14633       DIAMETRE = SIMP(statut='o', typ='R'),
14634       ORIGINE  = SIMP(statut='o', typ='TXM', defaut='INTERNE', into=('INTERNE', 'EXTERNE')),
14635       COEF_U   = SIMP(statut='f', typ='R',   defaut=1.0),
14636       ANGLE_C  = SIMP(statut='o', typ='R',   defaut=0.0),
14637       REVET    = SIMP(statut='f', typ='TXM', defaut='NON', into=('OUI', 'NON')),
14638       RESU_MECA = FACT(statut='f', max='**',
14639          NUM_CHAR  = SIMP(statut='o', typ='I'),
14640          TYPE      = SIMP(statut='o', typ='TXM', defaut='FX', into=('FX', 'FY', 'FZ', 'MX', 'MY', 'MZ', 'PRE')),
14641          TABLE     = SIMP(statut='o', typ=table_sdaster),
14642          TABLE_S   = SIMP(statut='f', typ=table_sdaster)),
14643       RESU_THER = FACT(statut='f', max='**',
14644          NUM_TRAN  = SIMP(statut='o', typ='I'),
14645          TABLE_T   = SIMP(statut='o', typ=table_sdaster),
14646          TABLE_TEMP= SIMP(statut='o', typ=table_sdaster),
14647          TABLE_S   = SIMP(statut='f', typ=table_sdaster),
14648          TABLE_ST  = SIMP(statut='f', typ=table_sdaster)),
14649          ),
14650    b_mef = BLOC(condition = "TYPE_CALC == 'MEF' ",
14651       regles = (AU_MOINS_UN('RESU_MECA','RESU_THER')),
14652       DIAMETRE = SIMP(statut='o', typ='R'),
14653       ORIGINE  = SIMP(statut='o', typ='TXM', defaut='INTERNE', into=('INTERNE', 'EXTERNE')),
14654       COEF_U   = SIMP(statut='f', typ='R',   defaut=1.0),
14655       RESU_MECA = FACT(statut='f', max='**',
14656          AZI       = SIMP(statut='o', typ='R'),
14657          TABLE_T   = SIMP(statut='o', typ=table_sdaster),
14658          TABLE_F   = SIMP(statut='o', typ=table_sdaster),
14659          TABLE_P   = SIMP(statut='o', typ=table_sdaster),
14660          TABLE_CA  = SIMP(statut='o', typ=table_sdaster)),
14661       RESU_THER=FACT(statut='f', max='**',
14662          AZI       = SIMP(statut='o', typ='R'),
14663          NUM_CHAR  = SIMP(statut='o', typ='I'),
14664          TABLE_T   = SIMP(statut='o', typ=table_sdaster),
14665          TABLE_TI  = SIMP(statut='o', typ=table_sdaster)),
14666       ),
14667    b_tuyauterie = BLOC(condition = "TYPE_CALC == 'TUYAUTERIE' ",
14668       RESU_MECA = FACT(statut='o', max='**',
14669          NUM_CHAR  = SIMP(statut='o', typ='I'),
14670          TABLE     = SIMP(statut='o', typ=table_sdaster),
14671          MAILLAGE  = SIMP(statut='o', typ=maillage_sdaster)),
14672          ),
14673    UNITE = SIMP(statut='f',typ='I',defaut=38),
14674    AJOUT = SIMP(statut='f', typ='TXM', defaut='NON', into=('OUI', 'NON')),
14675    );
14676 #& MODIF COMMANDE  DATE 09/05/2007   AUTEUR VIVAN L.VIVAN 
14677 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14678 # ======================================================================
14679 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14680 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14681 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14682 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
14683 # (AT YOUR OPTION) ANY LATER VERSION.
14684 #
14685 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
14686 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
14687 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
14688 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
14689 #
14690 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
14691 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
14692 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
14693 # ======================================================================
14694 IMPR_RESU=PROC(nom="IMPR_RESU",op=39,
14695             UIinfo={"groupes":("Impression",)},
14696                fr="Imprimer un maillage et/ou les résultats d'un calcul (différents formats)",
14697          MODELE          =SIMP(statut='f',typ=modele_sdaster),
14698
14699          FORMAT          =SIMP(statut='f',typ='TXM',position='global',defaut="RESULTAT",
14700                                  into=("RESULTAT","IDEAS","ASTER","CASTEM","ENSIGHT","MED","GMSH") ),
14701
14702          b_format_resultat  =BLOC(condition="FORMAT=='RESULTAT'",fr="unité logique d'impression au format RESULTAT",
14703            UNITE           =SIMP(statut='f',typ='I',defaut=8),  
14704          ),
14705
14706          b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="unité logique d'impression et version IDEAS",
14707            UNITE           =SIMP(statut='f',typ='I',defaut=30),  
14708            VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
14709          ),
14710
14711          b_format_aster  =BLOC(condition="FORMAT=='ASTER'",fr="unité logique d'impression au format ASTER",
14712            UNITE           =SIMP(statut='f',typ='I',defaut=26),  
14713          ),
14714
14715          b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="unité logique d'impression et version CASTEM",
14716            UNITE           =SIMP(statut='f',typ='I',defaut=37),  
14717            NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
14718          ),
14719
14720          b_format_ensight  =BLOC(condition="FORMAT=='ENSIGHT'",fr="unité logique d'impression au format ENSIGHT",
14721            UNITE           =SIMP(statut='f',typ='I',defaut=31),  
14722          ),
14723
14724          b_format_med  =BLOC(condition="FORMAT=='MED'",fr="unité logique d'impression au format MED",
14725            UNITE           =SIMP(statut='f',typ='I',defaut=80),  
14726          ),
14727
14728          b_format_gmsh  =BLOC(condition="FORMAT=='GMSH'",fr="unité logique d'impression et version GMSH",
14729            UNITE           =SIMP(statut='f',typ='I',defaut=37),  
14730            VERSION         =SIMP(statut='f',typ='R',defaut=1.2,into=(1.0,1.2)),
14731          ),
14732
14733          RESU            =FACT(statut='o',max='**',
14734
14735            regles=(AU_MOINS_UN('CHAM_GD','RESULTAT','MAILLAGE'),
14736                    EXCLUS('CHAM_GD','RESULTAT'),),
14737            MAILLAGE        =SIMP(statut='f',typ=(maillage_sdaster,squelette)),
14738            CHAM_GD         =SIMP(statut='f',typ=cham_gd_sdaster),
14739            RESULTAT        =SIMP(statut='f',typ=resultat_sdaster),
14740
14741            b_info_med  =BLOC(condition="FORMAT=='MED'",
14742              INFO_MAILLAGE   =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
14743            ),
14744
14745            b_sensibilite   =BLOC(condition="RESULTAT != None",
14746                                  fr="Définition des paramètres de sensibilité",
14747                                  ang="Definition of sensitivity parameters",
14748              regles=(DERIVABLE('RESULTAT'),),
14749              SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
14750                                    fr="Liste des paramètres de sensibilité.",
14751                                    ang="List of sensitivity parameters"),),
14752
14753 #           b_partie        =BLOC(condition="""((AsType(RESULTAT)==dyna_harmo) or  
14754 #                           (AsType(CHAM_GD)!=carte_sdaster))  and ((FORMAT=='CASTEM') or (FORMAT=='GMSH'))""",
14755              PARTIE          =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ),
14756 #           ),
14757            b_extrac        =BLOC(condition="RESULTAT != None",
14758                                  fr="extraction d un champ de grandeur",
14759              regles=(EXCLUS('TOUT_CHAM','NOM_CHAM'),
14760                      EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP',
14761                             'LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS','ANGL'),),
14762              TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
14763              NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO()),
14764
14765              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14766              NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
14767              NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
14768              LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
14769              NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
14770              NOM_CAS         =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
14771              ANGL            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
14772              FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
14773              LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
14774              INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
14775              LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
14776
14777              b_acce_reel     =BLOC(condition="(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)",
14778                PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
14779                CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
14780              ),
14781            ),
14782 ###
14783            b_parametres    =BLOC(condition="""(RESULTAT != None)and(FORMAT == 'RESULTAT')""",
14784              regles=(EXCLUS('TOUT_PARA','NOM_PARA'),),
14785              INFO_RESU       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
14786              TOUT_PARA       =SIMP(statut='f',typ='TXM',into=("OUI","NON",) ),
14787              NOM_PARA        =SIMP(statut='f',typ='TXM',max='**'),
14788              FORM_TABL       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON","EXCEL") ),
14789            ),
14790 ###
14791            b_cmp=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and\
14792            ((FORMAT == 'CASTEM')or(FORMAT == 'RESULTAT')or(FORMAT == 'IDEAS')or(FORMAT == 'ENSIGHT')or(FORMAT == 'MED'))""",
14793                                 fr="sélection des composantes",
14794              regles=(EXCLUS('TOUT_CMP','NOM_CMP'),),
14795              TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14796              NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
14797            ),
14798 ###
14799            b_gmsh=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and((FORMAT == 'GMSH'))""",
14800                                 fr="sélection des composantes et des entités toplogiques",
14801              NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
14802              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
14803              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
14804            ),
14805 ###
14806            b_topologie=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and\
14807            ((FORMAT == 'RESULTAT')or(FORMAT == 'IDEAS')or(FORMAT == 'MED'))""",
14808                                 fr="sélection des entités topologiques",
14809              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14810              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
14811              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
14812              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
14813              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
14814            ),
14815 ###
14816            b_valeurs=BLOC(condition="(FORMAT == 'RESULTAT')",
14817                                fr="sélection sur les valeurs",
14818              VALE_MAX        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14819              VALE_MIN        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14820              BORNE_SUP       =SIMP(statut='f',typ='R'),
14821              BORNE_INF       =SIMP(statut='f',typ='R'),
14822              IMPR_COOR       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
14823              FORMAT_R        =SIMP(statut='f',typ='TXM',defaut="1PE12.5"),
14824            ),
14825
14826            SOUS_TITRE      =SIMP(statut='f',typ='TXM',max='**'),
14827          ),
14828          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
14829 ) ;
14830 #& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
14831 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14832 # ======================================================================
14833 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14834 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14835 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14836 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14837 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14838 #
14839 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14840 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14841 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14842 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14843 #
14844 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14845 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14846 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14847 # ======================================================================
14848 IMPR_STURM=PROC(nom="IMPR_STURM",op=32,fr="Calculer et imprimer le nombre de valeurs propres dans un intervalle donné",
14849             UIinfo={"groupes":("Résolution",)},
14850          MATR_A          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ),
14851          MATR_B          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ),
14852          TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE",into=("MODE_FLAMB","DYNAMIQUE"),
14853                                fr="Type d analyse" ),
14854          b_dynamique  =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'",
14855                             fr="Recheche du nombre de fréquences propres",
14856              FREQ_MIN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ,fr="Borne inférieure de l intervalle" ),
14857              FREQ_MAX        =SIMP(statut='o',typ='R',fr="Borne supérieure de l intervalle" ),
14858          ),
14859          b_mode_flamb =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'",
14860                             fr="Recherche du nombre de charges critiques",
14861              CHAR_CRIT_MIN   =SIMP(statut='o',typ='R',fr="Borne inférieure de l intervalle" ),
14862              CHAR_CRIT_MAX   =SIMP(statut='o',typ='R',fr="Borne supérieure de l intervalle" ),
14863          ),
14864          NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8 ),
14865          NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5 ),
14866          UNITE           =SIMP(statut='f',typ='I',defaut=8),  
14867          PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
14868          SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
14869 )  ;
14870 #& MODIF COMMANDE  DATE 10/05/2006   AUTEUR MCOURTOI M.COURTOIS 
14871 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14872 # ======================================================================
14873 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14874 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14875 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14876 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14877 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14878 #
14879 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14880 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14881 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14882 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14883 #
14884 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14885 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14886 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14887 # ======================================================================
14888 # RESPONSABLE MCOURTOI M.COURTOIS
14889 from Macro.impr_table_ops import impr_table_ops
14890
14891 IMPR_TABLE=MACRO(nom="IMPR_TABLE",op=impr_table_ops,sd_prod=None,
14892             UIinfo={"groupes":("Impression",)},
14893                 fr="Impression du contenu d'une table dans un fichier",
14894            regles=(DERIVABLE("TABLE"),),
14895    TABLE          =SIMP(statut='o',typ=table_sdaster),
14896    SENSIBILITE    =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
14897                          fr="Liste des paramètres de sensibilité.",
14898                          ang="List of sensitivity parameters"),
14899    FORMAT         =SIMP(statut='f',typ='TXM',defaut="TABLEAU",
14900                          into=("TABLEAU","ASTER","TABLEAU_CROISE","AGRAF","XMGRACE",),),
14901    b_pilote       =BLOC(condition = "FORMAT == 'XMGRACE'",
14902                         fr="Mots-clés propres à XMGRACE",
14903       PILOTE         =SIMP(statut='f',typ='TXM',defaut='',
14904                            into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'),
14905                       fr="Pilote de sortie, PNG/JPEG/PDF ne sont pas disponibles sur toutes les installations de xmgrace"),
14906       UNITE          =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29,
14907                            fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
14908    ),
14909    b_unite        =BLOC(condition = "FORMAT != 'XMGRACE'",
14910       UNITE          =SIMP(statut='f',typ='I',defaut=8,
14911                            fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
14912    ),
14913    FILTRE         =FACT(statut='f',max='**',
14914       NOM_PARA       =SIMP(statut='o',typ='TXM'),
14915       CRIT_COMP      =SIMP(statut='f',typ='TXM',defaut="EQ",
14916                            into=("EQ","LT","GT","NE","LE","GE","VIDE",
14917                                  "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI"),),
14918       b_vale         =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
14919          regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
14920          VALE           =SIMP(statut='f',typ='R'),
14921          VALE_I         =SIMP(statut='f',typ='I'),
14922          VALE_C         =SIMP(statut='f',typ='C'),
14923          VALE_K         =SIMP(statut='f',typ='TXM'),
14924       ),
14925       b_crit         =BLOC(condition = "CRIT_COMP in ('EQ','NE')",
14926          CRITERE        =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
14927          PRECISION      =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
14928       ),
14929    ),
14930    TRI            =FACT(statut='f',
14931       NOM_PARA       =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),
14932       ORDRE          =SIMP(statut='f',typ='TXM',defaut="CROISSANT", # max='**',
14933                            into=("CROISSANT","DECROISSANT") ),
14934    ),
14935    PAGINATION     =SIMP(statut='f',typ='TXM',max='**'),
14936    FORMAT_R       =SIMP(statut='f',typ='TXM',defaut="E12.5"),
14937    FORMAT_C       =SIMP(statut='f',typ='TXM',defaut="MODULE_PHASE",
14938                               into=("MODULE_PHASE","REEL_IMAG") ),
14939    NOM_PARA       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
14940    IMPR_FONCTION  =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
14941
14942    # mise en forme pour les formats qui passent par Graph
14943    b_forme         =BLOC(condition = "FORMAT == 'XMGRACE'",
14944                          fr="Données de mise en forme du graphique",
14945       # pour la courbe
14946       LEGENDE         =SIMP(statut='f',typ='TXM',
14947                             fr="Légende associée à la fonction" ),
14948       STYLE           =SIMP(statut='f',typ='I',val_min=0,
14949                             fr="Style de la ligne représentant la fonction",),
14950       COULEUR         =SIMP(statut='f',typ='I',val_min=0,
14951                             fr="Couleur associée à la fonction",),
14952       MARQUEUR        =SIMP(statut='f',typ='I',val_min=0,
14953                             fr="Type du marqueur associé à la fonction",),
14954       FREQ_MARQUEUR   =SIMP(statut='f',typ='I',defaut=0,
14955                             fr="Fréquence d impression du marqueur associé à la fonction", ),
14956       # format du graphique
14957       BORNE_X         =SIMP(statut='f',typ='R',min=2,max=2,
14958                             fr="Intervalles de variation des abscisses"),
14959       BORNE_Y         =SIMP(statut='f',typ='R',min=2,max=2,
14960                             fr="Intervalles de variation des ordonnées"),
14961       ECHELLE_X       =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),
14962                             fr="Type d'échelle pour les abscisses" ),
14963       ECHELLE_Y       =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),
14964                             fr="Type d'échelle pour les ordonnées" ),
14965       GRILLE_X        =SIMP(statut='f',typ='R',max=1,val_min=0.,
14966                             fr="Pas du quadrillage vertical" ),
14967       GRILLE_Y        =SIMP(statut='f',typ='R',max=1,val_min=0.,
14968                             fr="Pas du quadrillage horizontal" ),
14969       LEGENDE_X       =SIMP(statut='f',typ='TXM',
14970                             fr="Légende associée à l'axe des abscisses" ),
14971       LEGENDE_Y       =SIMP(statut='f',typ='TXM',
14972                             fr="Légende associée à l'axe des ordonnées" ),
14973    ),
14974
14975    TITRE          =SIMP(statut='f',typ='TXM',max='**'),
14976    INFO           =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
14977 )  
14978 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
14979 #            CONFIGURATION MANAGEMENT OF EDF VERSION
14980 # ======================================================================
14981 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
14982 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14983 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14984 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
14985 # (AT YOUR OPTION) ANY LATER VERSION.                                 
14986 #
14987 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
14988 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
14989 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
14990 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
14991 #
14992 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
14993 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
14994 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
14995 # ======================================================================
14996 INCLUDE=MACRO(nom="INCLUDE",op=ops.build_include,
14997             UIinfo={"groupes":("Gestion du travail",)},
14998              fr="Débranchement vers un fichier de commandes secondaires",
14999              sd_prod=ops.INCLUDE,op_init=ops.INCLUDE_context,fichier_ini=1,
15000          UNITE = SIMP(statut='o',typ='I'),
15001          INFO  = SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
15002 );
15003 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
15004 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15005 # ======================================================================
15006 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
15007 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15008 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15009 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
15010 # (AT YOUR OPTION) ANY LATER VERSION.                                 
15011 #
15012 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
15013 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
15014 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
15015 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
15016 #
15017 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
15018 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
15019 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
15020 # ======================================================================
15021 INCLUDE_MATERIAU=MACRO(nom="INCLUDE_MATERIAU",op=-14,
15022             UIinfo={"groupes":("Modélisation",)},
15023          fr="Récupérer les caractéristiques d'un matériau dans le Catalogue Materiaux d'Aster ",
15024          sd_prod=ops.INCLUDE_MATERIAU,op_init=ops.INCLUDE_context,fichier_ini=0,
15025          NOM_AFNOR       =SIMP(statut='o',typ='TXM' ),  
15026          TYPE_MODELE     =SIMP(statut='o',typ='TXM',into=("REF","PAR") ),
15027          VARIANTE        =SIMP(statut='o',typ='TXM',     
15028                                into=("A","B","C","D","E","F","G","H","I","J",    
15029                                      "K","L","M","N","O","P","Q","R","S","T","U","V",   
15030                                      "W","X","Y","Z",) ),
15031          TYPE_VALE       =SIMP(statut='o',typ='TXM',into=("NOMI","MINI","MAXI") ),
15032          NOM_MATER       =SIMP(statut='o',typ='TXM' ),  
15033          UNITE           =SIMP(statut='f',typ='I',defaut= 32 ),  
15034          EXTRACTION      =FACT(statut='f',max=99,
15035            COMPOR          =SIMP(statut='o',typ='TXM' ),  
15036            TEMP_EVAL       =SIMP(statut='o',typ='R' ),  
15037          ),
15038          UNITE_LONGUEUR  =SIMP(statut='f',typ='TXM',into=("M","MM"),defaut="M" ),  
15039          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
15040 )  ;
15041 #& MODIF COMMANDE  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
15042 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15043 # ======================================================================
15044 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
15045 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
15046 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
15047 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
15048 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
15049 #                                                                       
15050 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
15051 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
15052 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
15053 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
15054 #                                                                       
15055 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
15056 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
15057 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
15058 # ======================================================================
15059 # RESPONSABLE D6BHHJP J.P.LEFEBVRE
15060 INFO_EXEC_ASTER=OPER(nom="INFO_EXEC_ASTER",op=35,sd_prod=table_sdaster,
15061                     fr="Récupère différentes informations propres à l'exécution en cours",
15062                     reentrant='n',
15063                     UIinfo={"groupes":("Gestion du travail",)},
15064
15065          regles=(),
15066          LISTE_INFO     =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=3,
15067                               into=("CPU_RESTANT","UNITE_LIBRE","ETAT_UNITE"),),
15068          b_etat_unite   =BLOC(condition = "'ETAT_UNITE' in LISTE_INFO", 
15069             regles=(UN_PARMI('UNITE','FICHIER'),),
15070             UNITE          =SIMP(statut='f',typ='I',val_min=1,val_max=99,max=1,
15071                                  fr="Unité logique dont on veut obtenir l'état",),
15072             FICHIER        =SIMP(statut='f',typ='TXM',validators=LongStr(1,255),
15073                                  fr="Nom du fichier dont on veut obtenir l'état",),
15074          ),
15075          TITRE          =SIMP(statut='f',typ='TXM',max='**'),
15076          INFO           =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
15077 )  ;
15078 #& MODIF COMMANDE  DATE 30/05/2007   AUTEUR COURTOIS M.COURTOIS 
15079 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15080 # ======================================================================
15081 # COPYRIGHT (C) 1991 - 2005  EDF R&D                  WWW.CODE-ASTER.ORG
15082 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
15083 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
15084 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
15085 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
15086 #                                                                       
15087 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
15088 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
15089 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
15090 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
15091 #                                                                       
15092 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
15093 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
15094 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
15095 # ======================================================================
15096 from Macro.info_fonction_ops import info_fonction_ops
15097 def info_fonction_prod(self,ECART_TYPE,RMS,NOCI_SEISME,MAX,NORME, **args):
15098    if (RMS         != None): return table_sdaster
15099    if (MAX         != None): return table_sdaster
15100    if (NOCI_SEISME != None): return table_sdaster
15101    if (ECART_TYPE  != None): return table_sdaster
15102    if (NORME       != None): return table_sdaster
15103    raise AsException("type de concept resultat non prevu")
15104
15105 INFO_FONCTION=MACRO(nom="INFO_FONCTION",op=info_fonction_ops,sd_prod=info_fonction_prod
15106                     ,fr="Opérations mathématiques sur des concepts de type fonction, fonction_c ou nappe",
15107                      reentrant='n',
15108             UIinfo={"groupes":("Fonction",)},
15109          regles=(UN_PARMI('MAX','RMS','NOCI_SEISME','NORME','ECART_TYPE',),),
15110          RMS             =FACT(statut='f',fr="Valeur RMS d'une fonction",max='**',
15111            METHODE         =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ),
15112            FONCTION        =SIMP(statut='o',typ=fonction_sdaster ),
15113            INST_INIT       =SIMP(statut='f',typ='R',fr="Instant initial définissant le début du signal" ),
15114            INST_FIN        =SIMP(statut='f',typ='R',fr="Instant final définissant la fin du signal" ),
15115            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
15116            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3,val_min=0.E+0 ),
15117          ),
15118          NOCI_SEISME     =FACT(statut='f',
15119            regles=(UN_PARMI('FONCTION','SPEC_OSCI',),),
15120            FONCTION        =SIMP(statut='f',typ=fonction_sdaster ),
15121            SPEC_OSCI       =SIMP(statut='f',typ=nappe_sdaster ),
15122            b_option_f      =BLOC(condition="""FONCTION !=None""",
15123              OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",validators=NoRepeat(),max='**',
15124                                    into=("INTE_ARIAS","POUV_DEST","INTE_SPEC","VITE_ABSO_CUMU",
15125                                          "DUREE_PHAS_FORT","MAXI","ACCE_SUR_VITE","TOUT",), ),
15126              b_amor_red          =BLOC(condition="""OPTION in ("TOUT", "INTE_SPEC") """,
15127                 AMOR_REDUIT     =SIMP(statut='o',typ='R'),),
15128              b_pesanteur         =BLOC(condition="""OPTION in ("TOUT", "INTE_ARIAS", "POUV_DEST", "DUREE_PHAS_FORT") """,
15129                 PESANTEUR       =SIMP(statut='o',typ='R'),),
15130            ),
15131            b_option_n      =BLOC(condition="""SPEC_OSCI !=None""",
15132              OPTION          =SIMP(statut='f',typ='TXM',defaut="INTE_SPEC",into=("INTE_SPEC",), ),
15133              NATURE          =SIMP(statut='o',typ='TXM',into=("DEPL","VITE","ACCE") ),
15134              AMOR_REDUIT     =SIMP(statut='o',typ='R'), ),
15135            INST_INIT       =SIMP(statut='f',typ='R'),
15136            INST_FIN        =SIMP(statut='f',typ='R'),
15137            COEF            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
15138            FREQ_INIT       =SIMP(statut='f',typ='R',defaut= 4.E-1 ),
15139            FREQ_FIN        =SIMP(statut='f',typ='R',defaut= 10.E+0 ),
15140            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
15141            FREQ            =SIMP(statut='f',typ='R',max='**'),
15142            NORME           =SIMP(statut='f',typ='R',defaut= 1.E+0 ),
15143            BORNE_INF       =SIMP(statut='f',typ='R',defaut= 0.05E+0 ),
15144            BORNE_SUP       =SIMP(statut='f',typ='R',defaut= 0.95E+0 ),
15145            b_acce_reel     =BLOC(condition="(INST_INIT != None)or(INST_FIN != None)or(FREQ_INIT != None)or(FREQ_FIN != None)",
15146              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3,val_min=0.E+0),
15147              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
15148            ),
15149          ),
15150          MAX             =FACT(statut='f',fr="Extrémas locaux d'une fonction",
15151            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster),max='**' ),
15152          ),
15153          NORME           =FACT(statut='f',fr="Norme L2 d'une fonction",
15154             FONCTION      =SIMP(statut='o', typ=nappe_sdaster),
15155          ),     
15156          ECART_TYPE      =FACT(statut='f',fr="Ecart-type d'une fonction",
15157             METHODE       =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ),
15158             FONCTION      =SIMP(statut='o',typ=fonction_sdaster),
15159             INST_INIT     =SIMP(statut='f',typ='R',fr="Instant initial définissant le début du signal" ),
15160             INST_FIN      =SIMP(statut='f',typ='R',fr="Instant final définissant la fin du signal" ),
15161             CRITERE       =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
15162             PRECISION     =SIMP(statut='f',typ='R',defaut= 1.E-3,val_min=0.E+0 ),
15163          ),     
15164          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
15165 )
15166 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
15167 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15168 # ======================================================================
15169 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
15170 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15171 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15172 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
15173 # (AT YOUR OPTION) ANY LATER VERSION.                                 
15174 #
15175 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
15176 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
15177 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
15178 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
15179 #
15180 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
15181 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
15182 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
15183 # ======================================================================
15184 # RESPONSABLE G8BHHXD X.DESROCHES
15185 INTE_MAIL_2D=OPER(nom="INTE_MAIL_2D",op=50,sd_prod=courbe_sdaster,
15186             UIinfo={"groupes":("Post traitements",)},
15187                   fr="Définition d'une courbe dans un maillage 2D",reentrant='n',
15188
15189          MAILLAGE        =SIMP(statut='o',typ=(maillage_sdaster) ),
15190
15191          regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
15192                  AU_MOINS_UN('DEFI_SEGMENT','DEFI_ARC','DEFI_CHEMIN'),
15193                  PRESENT_ABSENT('DEFI_CHEMIN','DEFI_SEGMENT','DEFI_ARC'),
15194                  PRESENT_ABSENT('DEFI_SEGMENT','NOEUD_ORIG','GROUP_NO_ORIG'),
15195                  PRESENT_ABSENT('DEFI_ARC','NOEUD_ORIG','GROUP_NO_ORIG'),
15196                  EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),
15197                  EXCLUS('DEFI_CHEMIN','DEFI_SEGMENT'),
15198                  EXCLUS('DEFI_CHEMIN','DEFI_ARC'),),
15199
15200          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
15201          GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
15202          MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
15203
15204          DEFI_SEGMENT    =FACT(statut='f',max='**',
15205            regles=(UN_PARMI('ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'),
15206                    UN_PARMI('EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'),),
15207            ORIGINE         =SIMP(statut='f',typ='R',min=2,max=2),  
15208            NOEUD_ORIG      =SIMP(statut='f',typ=no,),
15209            GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,),
15210            EXTREMITE       =SIMP(statut='f',typ='R',min=2,max=2),  
15211            NOEUD_EXTR      =SIMP(statut='f',typ=no,),
15212            GROUP_NO_EXTR   =SIMP(statut='f',typ=grno,),
15213          ),
15214
15215          DEFI_ARC        =FACT(statut='f',max='**',
15216            regles=(UN_PARMI('CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE'),
15217                    UN_PARMI('RAYON','ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'),
15218                    UN_PARMI('RAYON','EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'),               
15219                    PRESENT_PRESENT('RAYON','SECTEUR'),),
15220            CENTRE          =SIMP(statut='f',typ='R',min=2,max=2),  
15221            NOEUD_CENTRE    =SIMP(statut='f',typ=no,),
15222            GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,),
15223            RAYON           =SIMP(statut='f',typ='R',val_min=0.E+0),  
15224            SECTEUR         =SIMP(statut='f',typ='R',min=2,max=2,
15225                                  val_min=-180.E+0,val_max=180E+0),  
15226            ORIGINE         =SIMP(statut='f',typ='R',min=2,max=2),  
15227            NOEUD_ORIG      =SIMP(statut='f',typ=no,),
15228            GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,),
15229            EXTREMITE       =SIMP(statut='f',typ='R',min=2,max=2),  
15230            NOEUD_EXTR      =SIMP(statut='f',typ=no,),
15231            GROUP_NO_EXTR   =SIMP(statut='f',typ=grno,),
15232            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),  
15233            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",    
15234                                  into=("RELATIF","ABSOLU",) ),
15235          ),
15236
15237          DEFI_CHEMIN     =FACT(statut='f',max='**',
15238            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
15239            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
15240            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
15241          ),
15242
15243          NOEUD_ORIG      =SIMP(statut='f',typ=no,),
15244          GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,),
15245          PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),  
15246          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
15247 )  ;
15248 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
15249 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15250 # ======================================================================
15251 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
15252 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15253 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15254 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
15255 # (AT YOUR OPTION) ANY LATER VERSION.                                 
15256 #
15257 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
15258 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
15259 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
15260 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
15261 #
15262 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
15263 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
15264 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
15265 # ======================================================================
15266 # RESPONSABLE G8BHHXD X.DESROCHES
15267 INTE_MAIL_3D=OPER(nom="INTE_MAIL_3D",op=96,sd_prod=surface_sdaster,
15268             UIinfo={"groupes":("Post traitements",)},
15269                   fr="Définir un chemin de type segment de droite dans un maillage 3D",reentrant='n',
15270          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),
15271          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
15272          GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
15273          MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
15274          DEFI_SEGMENT    =FACT(statut='o',max='**',
15275            regles=(UN_PARMI('ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'),
15276                    UN_PARMI('EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'),),
15277            ORIGINE         =SIMP(statut='f',typ='R',min=3,max=3),  
15278            NOEUD_ORIG      =SIMP(statut='f',typ=no,),
15279            GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,),
15280            EXTREMITE       =SIMP(statut='f',typ='R',min=3,max=3),  
15281            NOEUD_EXTR      =SIMP(statut='f',typ=no,),
15282            GROUP_NO_EXTR   =SIMP(statut='f',typ=grno,),
15283          ),
15284          PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),  
15285          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
15286 )  ;
15287 #& MODIF COMMANDE  DATE 16/05/2006   AUTEUR REZETTE C.REZETTE 
15288 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15289 # ======================================================================
15290 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
15291 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15292 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15293 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
15294 # (AT YOUR OPTION) ANY LATER VERSION.                                 
15295 #
15296 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
15297 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
15298 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
15299 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
15300 #
15301 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
15302 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
15303 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
15304 # ======================================================================
15305 def lire_champ_prod(TYPE_CHAM=None,**args):
15306 # Remarque : si cette liste évolue, il faut penser à mettre à jour son
15307 #            homologue dans macr_adap_mail
15308   import string
15309 #  
15310   if TYPE_CHAM[0:5] == "NOEU_" : return cham_no_sdaster
15311   if TYPE_CHAM[0:2] == "EL"    : return cham_elem
15312   raise AsException("type de concept resultat non prevu")
15313
15314 LIRE_CHAMP=OPER(nom="LIRE_CHAMP",op= 192,sd_prod=lire_champ_prod,
15315                 fr="Lire un champ dans un fichier au format MED et le stocker dans un concept.",
15316                 reentrant='n',UIinfo={"groupe":("Résultats et champs",)},
15317          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster,),
15318          FORMAT          =SIMP(statut='f',typ='TXM',defaut="MED",into=("MED",),),
15319          UNITE           =SIMP(statut='f',typ='I',defaut= 81,),  
15320          b_format =BLOC(condition = "FORMAT == 'MED'",
15321          regles=( UN_PARMI('NOM_CMP_IDEM','NOM_CMP'),
15322                   PRESENT_PRESENT('NOM_CMP','NOM_CMP_MED' ),
15323                   EXCLUS('NUME_ORDRE','INST'),
15324                   EXCLUS('NUME_PT','INST'),),
15325             NOM_MED      =SIMP(statut='o',typ='TXM', ),
15326             NOM_CMP_IDEM =SIMP(statut='f',typ='TXM',into=("OUI",), ),
15327             NOM_CMP      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',),
15328             NOM_CMP_MED  =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',),
15329             NUME_PT      =SIMP(statut='f',typ='I'  ,validators=NoRepeat(),max='**',),
15330             NUME_ORDRE   =SIMP(statut='f',typ='I'  ,validators=NoRepeat(),max='**',
15331                            fr="Numero d ordre du champ à lire",ang="Rank of the field to be read" ),
15332             INST         =SIMP(statut='f',typ='R',fr="Instant associé",ang="Instant" ),
15333 #
15334             b_precision     =BLOC(condition="(INST != None)",
15335               PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3,
15336               fr="Précision sur le choix de l'instant associé",ang="Accuracy over instant choice" ),
15337               CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"),
15338               fr="Critère de précision sur le choix de l'instant associé",
15339               ang="Accuracy criterium over instant choice" ),),
15340 #
15341             NOM_MAIL_MED =SIMP(statut='f',typ='TXM',),
15342                   ),
15343 #        Remarque : si cette liste évolue, il faut penser à mettre à jour son
15344 #                   homologue dans macr_adap_mail
15345          TYPE_CHAM       =SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO()),
15346          b_modele =BLOC(condition = "TYPE_CHAM!=None and TYPE_CHAM[0:2] == 'EL'",
15347             MODELE      =SIMP(statut='o',typ=modele_sdaster, ),
15348                   ),
15349          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
15350 )  ;
15351 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
15352 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15353 # ======================================================================
15354 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
15355 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15356 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15357 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
15358 # (AT YOUR OPTION) ANY LATER VERSION.                                 
15359 #
15360 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
15361 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
15362 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
15363 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
15364 #
15365 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
15366 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
15367 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
15368 # ======================================================================
15369
15370 from Macro.lire_fonction_ops import lire_fonction_ops
15371
15372 def lire_fonction_prod(self,TYPE,**args):
15373   if   (TYPE == 'FONCTION')  : return fonction_sdaster
15374   elif (TYPE == 'FONCTION_C'): return fonction_c
15375   elif (TYPE == 'NAPPE'   )  : return nappe_sdaster
15376   raise AsException("type de concept resultat non prevu")
15377
15378 LIRE_FONCTION=MACRO(nom="LIRE_FONCTION",op=lire_fonction_ops,sd_prod=lire_fonction_prod,
15379                    fr="Lit les valeurs réelles dans un fichier de données représentant une fonction et"
15380                      +" crée un concept de type fonction ou nappe",
15381                    reentrant='n',
15382             UIinfo={"groupes":("Fonction",)},
15383          FORMAT          =SIMP(statut='f',typ='TXM',into=("LIBRE",),defaut="LIBRE"  ),
15384          TYPE            =SIMP(statut='f',typ='TXM',into=("FONCTION","FONCTION_C","NAPPE"),defaut="FONCTION"  ),
15385          SEPAR           =SIMP(statut='f',typ='TXM',into=("None",",",";","/"),defaut="None" ),
15386          INDIC_PARA      =SIMP(statut='f',typ='I',min=2,max=2,defaut=[1,1]),
15387          b_fonction      =BLOC(condition = "TYPE=='FONCTION' ",
15388            INDIC_RESU      =SIMP(statut='f',typ='I',min=2,max=2,defaut=[1,2]), ),
15389          b_fonction_c    =BLOC(condition = "TYPE=='FONCTION_C' ",
15390            FORMAT_C        =SIMP(statut='f',typ='TXM',defaut="REEL_IMAG",into=("REEL_IMAG","MODULE_PHASE") ),
15391            b_reel_imag     =BLOC(condition = "FORMAT_C=='REEL_IMAG' ",
15392              INDIC_REEL      =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,2]),
15393              INDIC_IMAG      =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,3]), ) ,
15394            b_modu_phas     =BLOC(condition = "FORMAT_C=='MODULE_PHASE' ",
15395              INDIC_MODU      =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,2]),
15396              INDIC_PHAS      =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,3]), ), ),
15397          b_nappe         =BLOC(condition = "TYPE=='NAPPE' ",
15398            NOM_PARA_FONC   =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ),
15399            INDIC_ABSCISSE  =SIMP(statut='o',typ='I',min=2,max=2,),
15400            INTERPOL_FONC   =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
15401            PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
15402            PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
15403            DEFI_FONCTION   =FACT(statut='f',max='**',
15404              INDIC_RESU      =SIMP(statut='o',typ='I',min=2,max=2,),),  ),
15405          UNITE           =SIMP(statut='o',typ='I' ),
15406          NOM_PARA        =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ),
15407          NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"),
15408          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
15409          PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
15410          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
15411          VERIF           =SIMP(statut='f',typ='TXM',defaut="CROISSANT",into=("CROISSANT","NON") ),
15412          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
15413          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
15414 )  ;
15415 #& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETTE 
15416 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15417 # ======================================================================
15418 # COPYRIGHT (C) 1991 - 2005  EDF R&D                  WWW.CODE-ASTER.ORG
15419 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
15420 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
15421 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
15422 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
15423 #                                                                       
15424 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
15425 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
15426 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
15427 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
15428 #                                                                       
15429 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
15430 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
15431 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
15432 # ======================================================================
15433 LIRE_FORC_MISS=OPER(nom="LIRE_FORC_MISS",op= 179,sd_prod=vect_asse_gene,
15434                     fr="Création d un vecteur assemblé à partir de base modale",
15435                     reentrant='n',
15436             UIinfo={"groupes":("Matrices/vecteurs",)},           
15437          BASE            =SIMP(statut='o',typ=base_modale ),
15438          NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
15439          FREQ_EXTR       =SIMP(statut='o',typ='R',max=1),
15440          NOM_CMP         =SIMP(statut='o',typ='TXM',into=("DX","DY","DZ") ),
15441          NOM_CHAM        =SIMP(statut='f',typ='TXM',into=("DEPL","VITE","ACCE"),defaut="DEPL"),
15442          UNITE_RESU_FORC =SIMP(statut='f',typ='I',defaut=30),
15443 )  ;
15444
15445 #& MODIF COMMANDE  DATE 19/09/2006   AUTEUR ACBHHCD G.DEVESA 
15446 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15447 # ======================================================================
15448 # COPYRIGHT (C) 1991 - 2005  EDF R&D                  WWW.CODE-ASTER.ORG
15449 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
15450 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
15451 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
15452 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
15453 #                                                                       
15454 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
15455 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
15456 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
15457 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
15458 #                                                                       
15459 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
15460 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
15461 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
15462 # ======================================================================
15463 LIRE_IMPE_MISS=OPER(nom="LIRE_IMPE_MISS",op= 164,sd_prod=matr_asse_gene_c,
15464                     fr="Création d une matrice assemblée à partir de base modale",
15465                     reentrant='n',
15466             UIinfo={"groupes":("Matrices/vecteurs",)},           
15467          BASE            =SIMP(statut='o',typ=base_modale ),
15468          NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
15469          FREQ_EXTR       =SIMP(statut='o',typ='R',max=1),
15470          UNITE_RESU_IMPE =SIMP(statut='f',typ='I',defaut=30),
15471          TYPE            =SIMP(statut='f',typ='TXM',defaut="ASCII",into=("BINAIRE","ASCII") ),         
15472 )  ;
15473
15474 #& MODIF COMMANDE  DATE 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
15475 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15476 # ======================================================================
15477 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
15478 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15479 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15480 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
15481 # (AT YOUR OPTION) ANY LATER VERSION.                                 
15482 #
15483 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
15484 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
15485 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
15486 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
15487 #
15488 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
15489 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
15490 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
15491 # ======================================================================
15492
15493 from Macro.lire_inte_spec_ops import lire_inte_spec_ops
15494
15495 LIRE_INTE_SPEC=MACRO(nom="LIRE_INTE_SPEC",op=lire_inte_spec_ops,sd_prod=table_fonction,
15496                     fr="Lecture sur un fichier externe de fonctions complexes pour créer une matrice interspectrale",
15497                     reentrant='n',
15498             UIinfo={"groupes":("Fonction",)},
15499          UNITE           =SIMP(statut='o',typ='I' ),
15500          FORMAT          =SIMP(statut='f',typ='TXM',defaut="MODULE_PHASE",into=("REEL_IMAG","MODULE_PHASE") ),
15501          NOM_PARA        =SIMP(statut='f',typ='TXM',defaut="FREQ",
15502                                into=("DX","DY","DZ","DRX","DRY","DRZ","TEMP",
15503                                      "INST","X","Y","Z","EPSI","FREQ","PULS","AMOR","ABSC",) ),
15504          NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="DSP" ),
15505          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ),
15506          PROL_DROITE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
15507          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
15508          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
15509          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
15510 )  ;
15511 #& MODIF COMMANDE  DATE 21/11/2006   AUTEUR COURTOIS M.COURTOIS 
15512 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15513 # ======================================================================
15514 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
15515 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15516 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15517 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
15518 # (AT YOUR OPTION) ANY LATER VERSION.                                 
15519 #
15520 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
15521 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
15522 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
15523 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
15524 #
15525 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
15526 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
15527 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
15528 # ======================================================================
15529 # RESPONSABLE VABHHTS J.PELLET
15530 LIRE_MAILLAGE=OPER(nom="LIRE_MAILLAGE",op=   1,sd_prod=maillage_sdaster,
15531                    fr="Crée un maillage par lecture d'un fichier au format Aster ou Med",
15532                    ang="Readings of a mesh file",
15533                    reentrant='n',
15534             UIinfo={"groupes":("Maillage",)},
15535 #
15536          UNITE           =SIMP(statut='f',typ='I',defaut= 20 ),
15537 #
15538          FORMAT          =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","MED"),
15539                             fr="Format du fichier : ASTER ou MED.",
15540                             ang="Format of the file : ASTER or MED.",),
15541 #
15542          ABSC_CURV       =FACT(statut='f',min=0,
15543                TOUT          =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
15544          ),
15545 #
15546          VERI_MAIL       =FACT(statut='d',
15547                VERIF         =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),  
15548                APLAT         =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),  
15549          ),
15550 #
15551          b_format_med =BLOC( condition = " ( FORMAT == 'MED' ) " ,
15552                              fr="Informations complémentaires pour la lecture MED.",
15553                              ang="Further information for MED readings.",
15554 #
15555 # Pour une lecture dans un fichier MED, on peut préciser le nom sous lequel
15556 # le maillage y a été enregistré. Par défaut, on va le chercher sous le nom du concept à créer.
15557             NOM_MED    = SIMP(statut='f',typ='TXM',
15558                               fr="Nom du maillage dans le fichier MED.",
15559                               ang="Name of the mesh into the MED file.",),
15560             INFO_MED   = SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
15561 #
15562             RENOMME = FACT(statut='f', max='**',
15563                                  fr="Renommer un nom de groupe MED",
15564                  NOM_MED     = SIMP(statut='o', typ=grma,
15565                                     fr="Nom du groupe dans le fichier MED"),
15566                  NOM         = SIMP(statut='o', typ=grma, validators=LongStr(1,8),
15567                                     fr="Nom du groupe dans le maillage ASTER"),
15568             ),
15569          ),
15570 #
15571          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
15572 #
15573 )  ;
15574 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
15575 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15576 # ======================================================================
15577 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
15578 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15579 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15580 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
15581 # (AT YOUR OPTION) ANY LATER VERSION.                                 
15582 #
15583 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
15584 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
15585 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
15586 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
15587 #
15588 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
15589 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
15590 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
15591 # ======================================================================
15592 def lire_miss_3d_prod(TYPE_RESU,**args):
15593   if TYPE_RESU == "TRANS" : return dyna_trans
15594   if TYPE_RESU == "HARMO" : return dyna_harmo
15595   raise AsException("type de concept resultat non prevu")
15596
15597 LIRE_MISS_3D=OPER(nom="LIRE_MISS_3D",op= 163,sd_prod=lire_miss_3d_prod,
15598                   fr="Restituer sur base physique une réponse harmonique ou transitoire issue de MISS3D",
15599                   reentrant='n',
15600             UIinfo={"groupes":("Maillage",)},
15601          MACR_ELEM_DYNA  =SIMP(statut='o',typ=macr_elem_dyna ),
15602          UNITE           =SIMP(statut='f',typ='I',defaut= 27 ),
15603          NOM             =SIMP(statut='f',typ='TXM' ),
15604          TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="TRANS",into=("TRANS","HARMO") ),
15605          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
15606 )  ;
15607 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
15608 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15609 # ======================================================================
15610 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
15611 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15612 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15613 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
15614 # (AT YOUR OPTION) ANY LATER VERSION.                                 
15615 #
15616 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
15617 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
15618 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
15619 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
15620 #
15621 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
15622 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
15623 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
15624 # ======================================================================
15625 LIRE_PLEXUS=OPER(nom="LIRE_PLEXUS",op= 184,sd_prod=evol_char,
15626                  fr="Lire le fichier de résultats au format IDEAS produit par le logiciel EUROPLEXUS",
15627                  reentrant='n',
15628             UIinfo={"groupes":("Maillage",)},
15629          regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),),
15630          UNITE           =SIMP(statut='f',typ='I',defaut= 19 ),
15631          FORMAT          =SIMP(statut='f',typ='TXM',defaut="IDEAS",into=("IDEAS",)),
15632          MAIL_PLEXUS     =SIMP(statut='o',typ=maillage_sdaster ),
15633          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster ),
15634          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
15635          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
15636          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
15637          LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster ),
15638          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
15639          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
15640          b_prec_crit     =BLOC(condition = "LIST_INST != None or INST != None",
15641              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
15642              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",
15643                                    into=("RELATIF","ABSOLU") ),
15644          ),
15645          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
15646 )  ;
15647 #& MODIF COMMANDE  DATE 13/02/2007   AUTEUR PELLET J.PELLET 
15648 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15649 # ======================================================================
15650 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
15651 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15652 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15653 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
15654 # (AT YOUR OPTION) ANY LATER VERSION.
15655 #
15656 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
15657 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
15658 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
15659 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
15660 #
15661 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
15662 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
15663 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
15664 # ======================================================================
15665 # RESPONSABLE VABHHTS J.PELLET
15666
15667 def lire_resu_prod(TYPE_RESU,**args):
15668   if TYPE_RESU == "EVOL_CHAR" :  return evol_char
15669   if TYPE_RESU == "EVOL_THER" :  return evol_ther
15670   if TYPE_RESU == "EVOL_ELAS" :  return evol_elas
15671   if TYPE_RESU == "EVOL_NOLI" :  return evol_noli
15672   if TYPE_RESU == "DYNA_TRANS" : return dyna_trans
15673   if TYPE_RESU == "DYNA_HARMO" : return dyna_harmo
15674   if TYPE_RESU == "HARM_GENE" :  return harm_gene
15675   if TYPE_RESU == "MODE_MECA" :  return mode_meca
15676   if TYPE_RESU == "MODE_MECA_C" : return mode_meca_c
15677   raise AsException("type de concept resultat non prevu")
15678
15679 # pour éviter d'écrire 3 fois cette liste :
15680 def l_nom_cham_pas_elga(): return (
15681      "ACCE", "ACCE_ABSOLU", "CRIT_ELNO_RUPT", "DCHA_ELNO_SIGM",
15682      "DCHA_NOEU_SIGM", "DEDE_ELNO_DLDE", "DEDE_NOEU_DLDE", "DEGE_ELNO_DEPL", "DEGE_NOEU_DEPL",
15683      "DEPL", "DEPL_ABSOLU", "DESI_ELNO_DLSI", "DESI_NOEU_DLSI", "DETE_ELNO_DLTE", "DETE_NOEU_DLTE",
15684      "DURT_ELNO_META", "DURT_NOEU_META", "ECIN_ELEM_DEPL", "EFGE_ELNO_CART", "EFGE_ELNO_DEPL",
15685      "EFGE_NOEU_CART", "EFGE_NOEU_DEPL", "ENDO_ELNO_SIGA", "ENDO_ELNO_SINO", "ENDO_NOEU_SINO",
15686      "ENEL_ELNO_ELGA", "ENEL_NOEU_ELGA", "EPEQ_ELNO_TUYO", "EPGR_ELNO", "EPME_ELNO_DEPL",
15687      "EPMG_ELNO_DEPL", "EPMG_NOEU_DEPL", "EPOT_ELEM_DEPL", "EPSA_ELNO", "EPSA_NOEU",
15688      "EPSG_ELNO_DEPL", "EPSG_NOEU_DEPL", "EPSI_ELNO_DEPL", "EPSI_ELNO_TUYO", "EPSI_NOEU_DEPL",
15689      "EPSP_ELNO", "EPSP_ELNO_ZAC", "EPSP_NOEU", "EPSP_NOEU_ZAC", "EQUI_ELNO_EPME", "EQUI_ELNO_EPSI",
15690      "EQUI_ELNO_SIGM", "EQUI_NOEU_EPME", "EQUI_NOEU_EPSI", "EQUI_NOEU_SIGM", "ERRE_ELEM_NOZ1",
15691      "ERRE_ELEM_NOZ2", "ERRE_ELNO_ELGA", "ERRE_NOEU_ELGA", "ERTH_ELEM_TEMP", "ERTH_ELNO_ELEM",
15692      "ETOT_ELEM", "ETOT_ELNO_ELGA", "FLUX_ELNO_TEMP", "FLUX_NOEU_TEMP", "FORC_NODA", "FSUR_2D",
15693      "FSUR_3D", "FVOL_2D", "FVOL_3D", "GRAD_NOEU_THETA", "HYDR_ELNO_ELGA", "HYDR_NOEU_ELGA",
15694      "INTE_ELNO_ACTI", "INTE_ELNO_REAC", "INTE_NOEU_ACTI", "INTE_NOEU_REAC", "IRRA",
15695      "META_ELNO_TEMP", "META_NOEU_TEMP", "PMPB_ELNO_SIEF", "PMPB_NOEU_SIEF",
15696      "PRES", "PRES_DBEL_DEPL", "PRES_ELNO_DBEL", "PRES_ELNO_IMAG", "PRES_ELNO_REEL",
15697      "PRES_NOEU_DBEL", "PRES_NOEU_IMAG", "PRES_NOEU_REEL",
15698      "RADI_ELNO_SIGM", "RADI_NOEU_SIGM", "REAC_NODA",
15699      "SIEF_ELNO", "SIEF_ELNO_ELGA", "SIEF_NOEU", "SIEF_NOEU_ELGA", "SIEQ_ELNO_TUYO",
15700      "SIGM_ELNO_CART", "SIGM_ELNO_COQU", "SIGM_ELNO_DEPL", "SIGM_ELNO_SIEF",
15701      "SIGM_ELNO_TUYO", "SIGM_ELNO_ZAC", "SIGM_NOEU_CART", "SIGM_NOEU_COQU",
15702      "SIGM_NOEU_DEPL", "SIGM_NOEU_SIEF", "SIGM_NOEU_ZAC", "SIGM_NOZ1_ELGA",
15703      "SIGM_NOZ2_ELGA", "SIPO_ELNO_DEPL", "SIPO_ELNO_SIEF", "SIPO_NOEU_DEPL",
15704      "SIPO_NOEU_SIEF", "SIRE_ELNO_DEPL", "SIRE_NOEU_DEPL", "TEMP", "THETA",
15705      "VALE_CONT", "VALE_NCOU_MAXI", "VARI_ELNO", "VARI_ELNO_COQU",
15706      "VARI_ELNO_ELGA", "VARI_ELNO_TUYO", "VARI_NOEU", "VARI_NOEU_ELGA", "VARI_NON_LOCAL",
15707      "VITE", "VITE_ABSOLU", "VITE_VENT",
15708                            )
15709
15710 LIRE_RESU=OPER(nom="LIRE_RESU",op=150,sd_prod=lire_resu_prod,reentrant='n',
15711             UIinfo={"groupes":("Résultats et champs",)},
15712                fr="Lire dans un fichier, soit format IDEAS, soit au format ENSIGHT soit au format MED,"
15713                  +" des champs et les stocker dans une SD résultat",
15714
15715
15716 # 0) mots clés généraux :
15717 #----------------------
15718          TYPE_RESU       =SIMP(statut='o',typ='TXM',into=("EVOL_THER","EVOL_ELAS","EVOL_NOLI","MODE_MECA",
15719                                                           "MODE_MECA_C","DYNA_TRANS","DYNA_HARMO","HARM_GENE",
15720                                                           "EVOL_CHAR") ),
15721
15722          FORMAT          =SIMP(statut='o',typ='TXM',into=("IDEAS","IDEAS_DS58","ENSIGHT","MED") ),
15723
15724          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
15725          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
15726
15727          regles=(UN_PARMI('MAILLAGE','MODELE'),),
15728          MAILLAGE        =SIMP(statut='f',typ=maillage_sdaster),
15729          MODELE          =SIMP(statut='f',typ=modele_sdaster),
15730
15731          NB_VARI         =SIMP(statut='f',typ='I' ),
15732
15733          CHAM_MATER      =SIMP(statut='f',typ=cham_mater,),
15734          
15735          CARA_ELEM       =SIMP(statut='f',typ=cara_elem,),
15736
15737           b_evol_elas  = BLOC(condition="TYPE_RESU=='EVOL_ELAS'",
15738           EXCIT           =FACT(statut='f',max='**',
15739             CHARGE          =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
15740             FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
15741             TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),),
15742            ),
15743
15744           b_evol_ther  = BLOC(condition="TYPE_RESU=='EVOL_THER'",
15745           EXCIT           =FACT(statut='f',max='**',
15746             CHARGE          =SIMP(statut='o',typ=(char_ther,char_cine_ther)),
15747             FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),),
15748            ),
15749
15750           b_evol_noli  = BLOC(condition="TYPE_RESU=='EVOL_NOLI'",
15751           EXCIT           =FACT(statut='f',max='**',
15752            CHARGE          =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
15753            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
15754            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
15755                                  into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")),
15756            DEPL            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
15757            ACCE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
15758            VITE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
15759            MULT_APPUI      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
15760            DIRECTION       =SIMP(statut='f',typ='R',max='**'),
15761            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
15762            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),),
15763          ),
15764
15765
15766 # 1) blocs selon le format choisi :
15767 #---------------------------------
15768
15769 # 1-1 ideas dataset-58 :
15770 # ----------------------
15771          b_dataset_58 = BLOC(condition="FORMAT=='IDEAS_DS58'",
15772            UNITE           =SIMP(statut='f',typ='I',defaut= 19 ),
15773          ),
15774          b_dataset_58_b = BLOC(condition="(FORMAT=='IDEAS_DS58') and ((TYPE_RESU=='DYNA_TRANS') or\
15775                                         (TYPE_RESU=='DYNA_HARMO') or (TYPE_RESU=='HARM_GENE'))",
15776            UNITE           =SIMP(statut='f',typ='I',defaut= 19 ),
15777            NOM_CHAM=SIMP(statut='o',typ='TXM',into=("DEPL","VITE","ACCE","EPSI_NOEU_DEPL","SIEF_NOEU",) ),
15778            REDEFI_ORIENT=FACT(statut='f',max='**',
15779                               regles=(PRESENT_PRESENT('CODE_DIR','DIRECTION','NOEUD',),),
15780                               CODE_DIR =SIMP(statut='f',typ='I',into=(1,2,3,) ),
15781                               DIRECTION=SIMP(statut='f',typ='R',min=3,max=3,),
15782                               NOEUD    =SIMP(statut='f',typ=no,validators=NoRepeat(),max='**'),),
15783          ),
15784
15785 # 1-2 ideas  :
15786 # ---------
15787          b_ideas         =BLOC(condition="FORMAT=='IDEAS'",
15788            UNITE           =SIMP(statut='f',typ='I',defaut= 19 ),
15789 #           TEST            =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ),
15790            NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=l_nom_cham_pas_elga()),
15791            FORMAT_IDEAS    =FACT(statut='f',max='**',
15792              regles=(UN_PARMI('POSI_INST','POSI_FREQ'),),
15793              NOM_CHAM        =SIMP(statut='o',typ='TXM',into=l_nom_cham_pas_elga()),
15794              NUME_DATASET    =SIMP(statut='f',typ='I',into=(55,57,2414) ),
15795              RECORD_3        =SIMP(statut='f',typ='I',max=10),
15796              RECORD_6        =SIMP(statut='f',typ='I',max=10),
15797              RECORD_9        =SIMP(statut='f',typ='I',max=10),
15798              POSI_ORDRE      =SIMP(statut='o',typ='I',min=2,max=2),
15799              POSI_NUME_MODE  =SIMP(statut='f',typ='I',min=2,max=2),
15800              POSI_MASS_GENE  =SIMP(statut='f',typ='I',min=2,max=2),
15801              POSI_AMOR_GENE  =SIMP(statut='f',typ='I',min=2,max=2),
15802              POSI_INST       =SIMP(statut='f',typ='I',min=2,max=2),
15803              POSI_FREQ       =SIMP(statut='f',typ='I',min=2,max=2),
15804              NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),),
15805          ),
15806 # 1-3 ensight :
15807 # -------------
15808          b_ensight       =BLOC(condition="FORMAT=='ENSIGHT'",
15809            NOM_FICHIER     =SIMP(statut='f',typ='TXM'),
15810            NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=l_nom_cham_pas_elga()),
15811          ),
15812
15813 # 1-4 med :
15814 # ---------
15815          b_med           =BLOC(condition = "FORMAT == 'MED'",fr="Nom du champ dans le fichier MED",
15816            UNITE           =SIMP(statut='f',typ='I',defaut= 81, fr="Le fichier est : fort.n.",),
15817            FORMAT_MED      =FACT(statut='f',max='**',
15818              regles=(ENSEMBLE('NOM_CMP','NOM_CMP_MED'),),
15819              NOM_CHAM        =SIMP(statut='o',typ='TXM',into=l_nom_cham_pas_elga()),
15820              NOM_CHAM_MED    =SIMP(statut='o',typ='TXM',               fr="Nom du champ dans le fichier MED.",  ),
15821              NOM_CMP         =SIMP(statut='f',typ='TXM',max='**',      fr="Nom des composantes dans ASTER.", ),
15822              NOM_CMP_MED     =SIMP(statut='f',typ='TXM',max='**',      fr="Nom des composantes dans MED.", ),
15823            ),
15824                   ),
15825
15826 # 2) blocs selon le type du résultat :
15827 #---------------------------------
15828          b_mode_meca     =BLOC(condition="(TYPE_RESU=='MODE_MECA')or(TYPE_RESU=='MODE_MECA_C')",
15829            MATR_A         =SIMP(statut='f',typ=matr_asse_depl_r,),
15830            MATR_B         =SIMP(statut='f',typ=matr_asse_depl_r,),
15831          ),
15832
15833
15834 # 3) autres blocs :
15835 #---------------------------------
15836          b_extrac        =BLOC(condition="1",fr="accès à un champ dans la structure de données résultat",
15837            regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST','FREQ','LIST_FREQ'),),
15838            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
15839            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
15840            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
15841            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
15842            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
15843            FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
15844            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
15845
15846            b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)or(FREQ != None)or(LIST_FREQ != None)",
15847              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
15848              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
15849            ),
15850          ),
15851 )  ;
15852 #& MODIF COMMANDE  DATE 03/04/2006   AUTEUR MCOURTOI M.COURTOIS 
15853 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15854 # ======================================================================
15855 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
15856 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
15857 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
15858 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
15859 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
15860 #                                                                       
15861 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
15862 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
15863 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
15864 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
15865 #                                                                       
15866 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
15867 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
15868 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
15869 # ======================================================================
15870
15871 from Macro.lire_table_ops import lire_table_ops
15872
15873 LIRE_TABLE=MACRO(nom="LIRE_TABLE",op=lire_table_ops,sd_prod=table_sdaster,
15874                  fr="Lecture d'un fichier contenant une table",
15875             UIinfo={"groupes":("Table",)},
15876          UNITE           =SIMP(statut='o',typ='I' ),
15877          FORMAT          =SIMP(statut='f',typ='TXM',into=("ASTER",),defaut="ASTER"),
15878          NUME_TABLE      =SIMP(statut='f',typ='I',defaut=1),
15879          SEPARATEUR      =SIMP(statut='f',typ='TXM',defaut=' '),
15880          PARA            =SIMP(statut='f',typ='TXM',max='**'),
15881          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
15882          )  ;
15883
15884 #& MODIF COMMANDE  DATE 13/02/2006   AUTEUR DURAND C.DURAND 
15885 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15886 # ======================================================================
15887 # COPYRIGHT (C) 1991 - 2005  EDF R&D                  WWW.CODE-ASTER.ORG
15888 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
15889 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
15890 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
15891 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
15892 #                                                                       
15893 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
15894 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
15895 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
15896 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
15897 #                                                                       
15898 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
15899 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
15900 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
15901 # ======================================================================
15902 # ======================================================================
15903
15904 MAC_MODES=OPER(nom="MAC_MODES",op=  141,sd_prod=table_sdaster,
15905                fr="Normalisation de modes propres",
15906                reentrant='n',
15907             UIinfo={"groupes":("Résolution",)},
15908          BASE_1       =SIMP(statut='o',typ=(mode_meca,mode_flamb,base_modale) ),
15909          BASE_2       =SIMP(statut='o',typ=(mode_meca,mode_flamb,base_modale) ),
15910          MATR_ASSE       =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c) ),
15911          TITRE      =SIMP(statut='f',typ='TXM',max='**'),
15912          INFO       =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
15913 )  ;
15914 #& MODIF COMMANDE  DATE 15/05/2007   AUTEUR GNICOLAS G.NICOLAS 
15915 #            CONFIGURATION MANAGEMENT OF EDF VERSION
15916 # ======================================================================
15917 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
15918 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15919 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15920 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
15921 # (AT YOUR OPTION) ANY LATER VERSION.                                 
15922 #
15923 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
15924 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
15925 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
15926 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
15927 #
15928 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
15929 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
15930 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
15931 # ======================================================================
15932 # RESPONSABLE GNICOLAS G.NICOLAS
15933
15934
15935 from Macro.macr_adap_mail_ops import macr_adap_mail_ops
15936
15937 def macr_adap_mail_prod(self,MAJ_CHAM,ADAPTATION,**args):
15938 #
15939 # 0. Typage des structures produites
15940 #
15941   maillage_np1=args['MAILLAGE_NP1']
15942   self.type_sdprod(maillage_np1,maillage_sdaster)
15943 #
15944   if ( args['MAILLAGE_NP1_ANNEXE'] is not None ) :
15945     maillage_np1_annexe=args['MAILLAGE_NP1_ANNEXE']
15946     self.type_sdprod(maillage_np1_annexe,maillage_sdaster)
15947 #
15948   if MAJ_CHAM == None:return None
15949 # Remarque : la liste qui suit doit etre conforme à son homologue de LIRE_CHAMP
15950   for ch in MAJ_CHAM:
15951     t=ch['TYPE_CHAM']
15952     if t[0:5] == "NOEU_":self.type_sdprod(ch['CHAM_MAJ'],cham_no_sdaster)
15953     if t[0:2] == "EL":   self.type_sdprod(ch['CHAM_MAJ'],cham_elem)
15954   return None
15955
15956
15957 MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_adap_mail_prod,
15958                      fr="Adapter un maillage avec le logiciel HOMARD.",
15959                      ang="Mesh adaptation with HOMARD software.",
15960                      docu="U7.03.01-b",UIinfo={"groupe":("Maillage",)},
15961 #
15962 # 1. Le niveau d'information
15963 #
15964   INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
15965 #
15966 # 2. Version de HOMARD
15967 #
15968   VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V8_7",
15969                         into=("V8_7", "V8_N", "V8_N_PERSO"),
15970                         fr="Version de HOMARD",
15971                         ang="HOMARD release"),
15972 #
15973 # 3. Langue des messages produits par HOMARD
15974 #
15975   LANGUE = SIMP(statut='f',typ='TXM',defaut="FRANCAIS",    
15976                 into=("FRANCAIS","FRENCH","ANGLAIS","ENGLISH",),
15977                 fr="Langue des messages produits par HOMARD.",
15978                 ang="Language for HOMARD messages." ),
15979 #
15980 # 4. Les maillages
15981 # 4.1. Quel que soit le type de traitement, il faut donner  :
15982 #      A. Le concept du maillage initial (entree)
15983 #      B. Le concept du maillage final (sortie)
15984 #
15985   MAILLAGE_N   = SIMP(statut='o',typ=maillage_sdaster,
15986                       fr="Maillage avant adaptation",
15987                       ang="Mesh before adaptation" ),
15988 #
15989   MAILLAGE_NP1 = SIMP(statut='o',typ=CO,
15990                       fr="Maillage apres adaptation",
15991                       ang="Mesh after adaptation" ),
15992 #
15993 # 4.2. Eventuellement, on peut produire un maillage annexe
15994 #      Actuellement, c'est le maillage n+1, mais de degré différent.
15995 #
15996   MAILLAGE_NP1_ANNEXE = SIMP(statut='f',typ=CO,
15997                              fr="Maillage annexe apres adaptation",
15998                              ang="Additional mesh after adaptation" ),
15999 #
16000 # 5. Le pilotage de l'adaptation, avec les variantes suivantes :
16001 #  . Raffinement et deraffinement, selon un champ d'indicateurs d'erreur
16002 #  . Raffinement seul, selon un champ d'indicateurs d'erreur
16003 #  . Deraffinement seul, selon un champ d'indicateurs d'erreur
16004 #  . Raffinement seul, selon des zones geometriques
16005 #  . Raffinement uniforme : toutes les mailles sont divisées
16006 #  . Deraffinement uniforme : toutes les mailles sont regroupées
16007 #  . Rien : le maillage est le meme a la sortie et a l'entree
16008 #
16009   ADAPTATION = SIMP(statut='o',typ='TXM',
16010                     into=("RAFF_DERA","RAFFINEMENT","DERAFFINEMENT","RAFFINEMENT_ZONE", \
16011                           "RAFFINEMENT_UNIFORME","DERAFFINEMENT_UNIFORME","RIEN"),    
16012                     fr="Pilotage de l'adaptation : selon un indicateur d'erreur ou uniforme.",
16013                     ang="Adaptation control : among an error indicator or uniform" ),
16014 #
16015 # 6. Pour de l'adaptation libre, il faut un indicateur d'erreur
16016 #
16017   b_indicateur_d_erreur = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \
16018                                               (ADAPTATION == 'RAFFINEMENT') or \
16019                                               (ADAPTATION == 'DERAFFINEMENT') " ,
16020                                 fr="Pour une adaptation libre, choix de l'indicateur d'erreur ou d'une zone à raffiner",
16021                                 ang="For free adaptation, selection of error indicator or zone",
16022 #
16023     regles=(UN_PARMI('CHAM_GD','RESULTAT_N')),
16024 #
16025 # 6.1. Repérage de la zone à raffiner à l'aide d'un indicateur
16026 #
16027 # 6.1.1. Sous forme de champ de grandeur
16028 #
16029     CHAM_GD    = SIMP(statut='f',typ=cham_gd_sdaster,
16030                       fr="Champ de grandeur Code_Aster contenant l'indicateur d'erreur",
16031                       ang="Code_Aster champ de grandeur with error indicator" ),
16032 #
16033 # 6.1.2. Sous forme de concept resultat_sdaster
16034 #
16035     RESULTAT_N = SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther) ,
16036                       fr="Concept resultat Code_Aster contenant l'indicateur d'erreur",
16037                       ang="Code_Aster result with error indicator" ),
16038 #
16039     b_champ_indicateur = BLOC(condition="(RESULTAT_N != None)",
16040       INDICATEUR = SIMP(statut='o',typ='TXM',     
16041                         fr="Champ de l'indicateur d'erreur dans le résultat",
16042                         ang="Error indicator field in the result structure" ),
16043     ),
16044 #
16045 # 6.1.3. Est-ce un champ dérivé
16046 #
16047     b_sensibilite = BLOC(condition=" (RESULTAT_N != None) or (CHAM_GD != None) ",
16048                         fr="Est-ce un champ dérivé",
16049                         ang="Is the indicator a derivative field",
16050 #
16051       SENSIBILITE = SIMP(statut='f',typ=(para_sensi,theta_geom),
16052                          fr="Paramètre de sensibilité.",
16053                          ang="Sensitivity parameter")
16054 #
16055     ),
16056 #
16057 # 6.1.4. La composante retenue
16058 #
16059     b_composante = BLOC(condition=" (RESULTAT_N != None) or (CHAM_GD != None) ",
16060                         fr="Choix de la composante pour l'indicateur",
16061                         ang="Component selection for error indicator",
16062 #
16063       NOM_CMP_INDICA = SIMP(statut='o',typ='TXM',
16064                             fr="Composante retenue pour l'indicateur d'erreur",
16065                             ang="Selected component for error indicator" ),
16066 #
16067     ),
16068 #
16069 # 6.1.5. Le paramètre temporel pour l'indicateur
16070 #
16071     b_parametre_temporel = BLOC(condition="(RESULTAT_N != None)",
16072                                 fr="Choix éventuel du paramètre temporel pour l'indicateur",
16073                                 ang="Time selection for error indicator (option)",
16074 #
16075       regles=(EXCLUS('NUME_ORDRE','INST'),),
16076 #
16077 # 6.1.5.1. Soit le numero d'ordre
16078 #
16079       NUME_ORDRE = SIMP(statut='f',typ='I',
16080                         fr="Numero d ordre",
16081                         ang="Rank" ),  
16082 #
16083 # 6.1.5.2. Soit l'instant
16084 # 6.1.5.2.1. Sa valeur
16085 #
16086       INST       = SIMP(statut='f',typ='R',
16087                         fr="Instant associé",
16088                         ang="Instant" ),
16089 #
16090 # 6.1.5.2.2. La précision du choix de l'instant
16091 #
16092       b_precision = BLOC(condition="(INST != None)",
16093                          fr="Choix de la précision du choix de l'instant",
16094                          ang="Selection for instant choice",
16095         PRECISION = SIMP(statut='f',typ='R',defaut=1.0E-3,
16096                          fr="Précision sur le choix de l'instant associé",
16097                          ang="Accuracy over instant choice" ),
16098         CRITERE   = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"),
16099                          fr="Critère de précision sur le choix de l'instant associé",
16100                          ang="Accuracy criterium over instant choice" ),
16101       ),
16102 #
16103     ),
16104 #
16105 # 6.1.6. Type de valeur de l'indicateur : absolue ou relative
16106 #
16107     b_valeur_indicateur = BLOC(condition=" (RESULTAT_N != None) or (CHAM_GD != None) ",
16108                                fr="Type de valeur pour l'indicateur",
16109                                ang="Value type for error indicator",
16110 #
16111       TYPE_VALEUR_INDICA = SIMP(statut='f',typ='TXM',defaut="V_ABSOLUE",into=("V_ABSOLUE","V_RELATIVE"),
16112                                 fr="Valeur absolue ou relative pour l'indicateur",
16113                                 ang="Absolute or relative value for error indicator" ),
16114 #
16115     ),
16116 #
16117   ) ,
16118 #
16119 # 7. Les criteres pour de l'adaptation libre avec un indicateur d'erreur :
16120 #        absolu, relatif, en proportion d'entite
16121 # 7.1. Pour le raffinement :
16122 #
16123   b_critere_de_raffinement = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \
16124                                                  (ADAPTATION == 'RAFFINEMENT') " ,
16125                                 fr="Critère de raffinement.",
16126                                 ang="Refinement threshold.",
16127 #
16128     regles=(UN_PARMI ( 'CRIT_RAFF_ABS', 'CRIT_RAFF_REL', 'CRIT_RAFF_PE' ),),
16129 #
16130     CRIT_RAFF_ABS = SIMP(statut='f',typ='R',
16131                          fr="Critère absolu",
16132                          ang="Absolute threshold" ),  
16133     CRIT_RAFF_REL = SIMP(statut='f',typ='R',
16134                          fr="Critère relatif : fraction réelle entre 0. et 1.",
16135                          ang="Relative threshold : ratio between 0. and 1." ),  
16136     CRIT_RAFF_PE  = SIMP(statut='f',typ='R',
16137                          fr="Pourcentage d'éléments : fraction réelle entre 0. et 1.",
16138                          ang="Percentage of elements : ratio between 0. and 1." ),  
16139   ) ,
16140 #
16141 # 7.2. Pour le deraffinement :
16142 #
16143   b_critere_de_deraffinement = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \
16144                                                    (ADAPTATION == 'DERAFFINEMENT') " ,
16145                                      fr="Critère de déraffinement.",
16146                                      ang="Unrefinement threshold.",
16147 #
16148     regles=(UN_PARMI ( 'CRIT_DERA_ABS', 'CRIT_DERA_REL', 'CRIT_DERA_PE' ),),
16149 #
16150     CRIT_DERA_ABS = SIMP(statut='f',typ='R' ,
16151                          fr="Critère absolu",
16152                          ang="Absolute threshold" ),  
16153     CRIT_DERA_REL = SIMP(statut='f',typ='R',
16154                          fr="Critère relatif : fraction réelle entre 0. et 1.",
16155                          ang="Relative threshold : ratio between 0. and 1." ),  
16156     CRIT_DERA_PE  = SIMP(statut='f',typ='R',
16157                          fr="Pourcentage d'éléments : fraction réelle entre 0. et 1.",
16158                          ang="Percentage of elements : ratio between 0. and 1." ),  
16159   ) ,
16160 #
16161 # 8. Pour de l'adaptation par zone, définitions des zones
16162 #
16163   b_zone = BLOC( condition = " (ADAPTATION == 'RAFFINEMENT_ZONE') " ,
16164                                 fr="Pour une adaptation selon une zone à raffiner",
16165                                 ang="For adaptation among zone",
16166     ZONE = FACT(statut='f',max='**',
16167                   fr="Définition de zones à raffiner.",
16168                   ang="Refined zone definition.",
16169 #
16170       regles=(AU_MOINS_UN('X_MINI','X_CENTRE'),
16171               EXCLUS('X_MINI','X_CENTRE',),
16172               EXCLUS('Z_MINI','X_CENTRE',),
16173               EXCLUS('X_MINI','Z_CENTRE',),
16174               EXCLUS('Z_MINI','Z_CENTRE',),
16175               PRESENT_PRESENT('X_MINI','X_MAXI','Y_MINI','Y_MAXI'),
16176               PRESENT_PRESENT('Z_MINI','Z_MAXI'),
16177               PRESENT_PRESENT('X_CENTRE','Y_CENTRE','RAYON'),),
16178 #
16179 # 6.2.1. Une boite parallelepipedique
16180 #
16181       X_MINI = SIMP(statut='f',typ='R',
16182                     fr="Abscisse minimum de la boite",
16183                     ang="Minimum X for the box"),
16184       X_MAXI = SIMP(statut='f',typ='R',
16185                     fr="Abscisse maximum de la boite",
16186                     ang="Maximum X for the box"),
16187 #
16188       Y_MINI = SIMP(statut='f',typ='R',
16189                     fr="Orodnnée minimum de la boite",
16190                     ang="Minimum Y for the box"),
16191       Y_MAXI = SIMP(statut='f',typ='R',
16192                     fr="Abscisse maximum de la boite",
16193                     ang="Maximum Y for the box"),
16194 #
16195       Z_MINI = SIMP(statut='f',typ='R',
16196                     fr="Cote minimum de la boite",
16197                     ang="Minimum Z for the box"),
16198       Z_MAXI = SIMP(statut='f',typ='R',
16199                     fr="Cote maximum de la boite",
16200                     ang="Maximum Z for the box"),
16201 #
16202 # 6.2.2. Une sphere
16203 #
16204       X_CENTRE = SIMP(statut='f',typ='R',
16205                       fr="Abscisse du centre de la sphere",
16206                       ang="X for the center of the sphere"),
16207       Y_CENTRE = SIMP(statut='f',typ='R',
16208                       fr="Ordonnee du centre de la sphere",
16209                       ang="Y for the center of the sphere"),
16210       Z_CENTRE = SIMP(statut='f',typ='R',
16211                       fr="Cote du centre de la sphere",
16212                       ang="Z for the center of the sphere"),
16213       RAYON = SIMP(statut='f',typ='R',
16214                    fr="Rayon de la sphere",
16215                    ang="Radius of the sphere"),
16216 #
16217     ) ,
16218 #
16219   ) ,
16220 #
16221 # 9. Les niveaux extremes pour le maillage adapte
16222 # 9.1. Pour le raffinement :
16223 #
16224   b_niveau_maximum = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \
16225                                          (ADAPTATION == 'RAFFINEMENT') or \
16226                                          (ADAPTATION == 'RAFFINEMENT_UNIFORME') or \
16227                                          (ADAPTATION == 'RAFFINEMENT_ZONE') " ,
16228                            fr="Niveau maximum de profondeur de raffinement",
16229                            ang="Maximum level for refinement",
16230     NIVE_MAX = SIMP(statut='f',typ='I',
16231                     fr="Niveau maximum de profondeur de raffinement",
16232                     ang="Maximum level for refinement"),
16233   ) ,
16234 #
16235 # 9.2. Pour le deraffinement :
16236 #
16237   b_niveau_minimum = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \
16238                                          (ADAPTATION == 'DERAFFINEMENT') or \
16239                                          (ADAPTATION == 'DERAFFINEMENT_UNIFORME') " ,
16240                            fr="Niveau minimum de profondeur de déraffinement",
16241                            ang="Minimum level for unrefinement",
16242     NIVE_MIN = SIMP(statut='f',typ='I',
16243                     fr="Niveau minimum de profondeur de déraffinement",
16244                     ang="Minimum level for unrefinement"),
16245   ) ,
16246 #
16247 # 10. Suivi d'une frontiere
16248 #
16249   MAILLAGE_FRONTIERE = SIMP(statut='f',typ=maillage_sdaster,
16250                            fr="Maillage de la frontiere à suivre",
16251                            ang="Boundary mesh" ),
16252 #
16253   b_frontiere = BLOC( condition = " MAILLAGE_FRONTIERE != None " ,
16254                       fr="Information complémentaire sur la frontière",
16255                       ang="Further information about boundary",
16256 #
16257     GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
16258                     fr="Liste des groupes de mailles définissant la frontière",
16259                     ang="Mesh groups which define the boundary" ),
16260 #
16261   ) ,
16262 #
16263 # 11. Mise à jour de champs sur le nouveau maillage
16264 #
16265   MAJ_CHAM = FACT(statut='f',max='**',
16266                   fr="Mise à jour de champs sur le nouveau maillage.",
16267                   ang="Updating of fields over the new mesh.",
16268 #
16269 # 11.1. Le nom du champ de grandeur qui contiendra le resultat de la mise a jour
16270 #
16271     CHAM_MAJ = SIMP(statut='o',typ=CO,
16272                     fr="Nom du champ de grandeur qui contiendra le champ mis à jour",
16273                     ang="Name of the field for the updated field"),
16274 #
16275 # 11.2. Le type du champ qui contiendra le resultat de la mise a jour
16276 #
16277     TYPE_CHAM = SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO(),
16278                      fr="Type du champ qui contiendra le champ mis à jour",
16279                      ang="Type of the field for the updated field" ),
16280 #
16281 # 11.3. Le champ a interpoler
16282 #
16283     regles=(UN_PARMI('CHAM_GD','RESULTAT')),
16284 #
16285 # 11.3.1. Sous forme de champ de grandeur
16286 #
16287     CHAM_GD = SIMP(statut='f',typ=cham_gd_sdaster,
16288                    fr="Champ de grandeur Code_Aster contenant le champ à mettre à jour",
16289                    ang="Champ de grandeur with field to be updated" ),
16290 #
16291 # 11.3.2. Sous forme de champ dans un resultat
16292 #
16293     RESULTAT = SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther),
16294                     fr="Resultat contenant le champ à mettre à jour",
16295                     ang="Result with field to be updated" ),
16296 #
16297     b_nom_du_champ = BLOC(condition="(RESULTAT != None)",
16298                           fr="Choix éventuel du nom du champ à interpoler",
16299                           ang="Selection for the name of the field (option)",
16300 #
16301       NOM_CHAM = SIMP(statut='o',typ='TXM',
16302                       fr="Nom du champ à mettre à jour",
16303                       ang="Name of the field to be updated" ),
16304 #
16305     ),
16306 #
16307 # 11.4. Est-ce un champ dérivé
16308 #
16309     SENSIBILITE = SIMP(statut='f',typ=(para_sensi,theta_geom),
16310                        fr="Paramètre de sensibilité.",
16311                        ang="Sensitivity parameter"),
16312 #
16313 # 11.5. Le paramètre temporel pour le champ a interpoler
16314 #
16315     b_parametre_temporel = BLOC(condition="(RESULTAT != None)",
16316                                 fr="Choix éventuel du paramètre temporel pour le champ à interpoler",
16317                                 ang="Time selection for the field (option)",
16318 #
16319       regles=(EXCLUS('NUME_ORDRE','INST'),),
16320 #
16321 # 11.5.1. Soit le numero d'ordre
16322 #
16323       NUME_ORDRE = SIMP(statut='f',typ='I',
16324                         fr="Numero d ordre du champ à mettre à jour",
16325                         ang="Rank of the field to be updated" ),
16326 #
16327 # 11.5.2. Soit l'instant
16328 # 11.5.2.1. Sa valeur
16329 #
16330       INST = SIMP(statut='f',typ='R',
16331                   fr="Instant associé",
16332                   ang="Instant" ),
16333 #
16334 # 11.5.2.2. La précision du choix de l'instant
16335 #
16336       b_precision = BLOC(condition="(INST != None)",
16337                          fr="Choix de la précision du choix de l'instant",
16338                          ang="Selection for instant choice",
16339 #
16340         PRECISION = SIMP(statut='f',typ='R',defaut=1.0E-3,
16341                          fr="Précision sur le choix de l'instant associé",
16342                          ang="Accuracy over instant choice" ),
16343 #
16344         CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"),
16345                        fr="Critère de précision sur le choix de l'instant associé",
16346                        ang="Accuracy criterium over instant choice" ),
16347 #
16348       ),
16349 #
16350     ),
16351   ),
16352 #
16353 # 12. Les options d'analyse de maillage ; par defaut, on ne fait que les nombres
16354 # 12.1. Nombre de noeuds et éléments
16355 #
16356   NOMBRE         = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),
16357                           fr="Nombre de noeuds et éléments du maillage",
16358                           ang="Number of nodes and éléments in the mesh" ),
16359 #
16360 # 12.2. Determination de la qualité des éléments du maillage
16361 #
16362   QUALITE        = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
16363                           fr="Qualité du maillage",
16364                           ang="Mesh quality" ),
16365 #
16366 # 12.3. Connexite du maillage
16367 #
16368   CONNEXITE      = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
16369                           fr="Connexité du maillage.",
16370                           ang="Mesh connexity." ),
16371 #
16372 # 12.4. Taille des sous-domaines du maillage
16373 #
16374   TAILLE         = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
16375                           fr="Tailles des sous-domaines du maillage.",
16376                           ang="Sizes of mesh sub-domains." ),
16377 #
16378 # 12.5. Controle de la non-interpenetration des éléments
16379 #
16380   INTERPENETRATION= SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
16381                           fr="Controle de la non interpénétration des éléments.",
16382                           ang="Overlapping checking." ),
16383 #
16384 # 13. Gestion des éléments autres que ceux compatibles avec HOMARD
16385 #       "REFUSER" : ils sont refuses (defaut)
16386 #       "IGNORER" : ils sont ignorés
16387 #
16388   ELEMENTS_NON_HOMARD = SIMP(statut='f',typ='TXM',defaut="REFUSER",into=("REFUSER","IGNORER"),
16389                              fr="Acceptation d'éléments incompatibles avec HOMARD",
16390                              ang="Incompatible elements for HOMARD" ),
16391 #
16392 ) ;
16393 #& MODIF COMMANDE  DATE 25/09/2006   AUTEUR MJBHHPE J.L.FLEJOU 
16394 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16395 # ======================================================================
16396 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
16397 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
16398 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
16399 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
16400 # (AT YOUR OPTION) ANY LATER VERSION.                                 
16401 #
16402 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
16403 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
16404 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
16405 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
16406 #
16407 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
16408 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
16409 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
16410 # ======================================================================
16411 # RESPONSABLE F1BHHAJ J.ANGLES
16412 from Macro.macr_ascouf_calc_ops import macr_ascouf_calc_ops
16413 def macr_ascouf_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS,CHARGE,RESU_THER,**args):
16414   self.type_sdprod(MODELE,modele_sdaster)
16415   if CHAM_MATER != None:self.type_sdprod(CHAM_MATER,cham_mater)
16416   if CARA_ELEM  != None:self.type_sdprod(CARA_ELEM,cara_elem)
16417   if FOND_FISS  != None:self.type_sdprod(FOND_FISS,fond_fiss)
16418   if CHARGE     != None:self.type_sdprod(CHARGE,char_meca)
16419   if RESU_THER  != None:self.type_sdprod(RESU_THER,evol_ther)
16420   return evol_noli
16421
16422 MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC",op=macr_ascouf_calc_ops,sd_prod=macr_ascouf_calc_prod,
16423                       fr="Réalise l'analyse thermomécanique du coude dont le maillage a été concu par MACR_ASCOUF_MAIL",
16424                       reentrant='n',
16425             UIinfo={"groupes":("Outils métier",)},
16426          regles=(UN_PARMI('COMP_INCR','COMP_ELAS'),),
16427
16428          TYPE_MAILLAGE   =SIMP(statut='o',typ='TXM',
16429                                into=("SAIN",
16430                                      "FISS_COUDE",
16431                                      "FISS_AXIS_DEB",
16432                                      "SOUS_EPAIS_COUDE"
16433                                      ) ),
16434
16435          CL_BOL_P2_GV    =FACT(statut='f',
16436            ANGLE           =SIMP(statut='o',typ='R' ),
16437            AZIMUT          =SIMP(statut='f',typ='R',defaut= 90. ),
16438          ),
16439
16440          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster ),
16441          MODELE          =SIMP(statut='o',typ=CO,),
16442          CHAM_MATER      =SIMP(statut='f',typ=CO,),
16443          CARA_ELEM       =SIMP(statut='f',typ=CO,),
16444          FOND_FISS       =SIMP(statut='f',typ=CO,),
16445          CHARGE          =SIMP(statut='f',typ=CO,),
16446          RESU_THER       =SIMP(statut='f',typ=CO,),
16447
16448          AFFE_MATERIAU   =FACT(statut='o',max=3,
16449            regles=(UN_PARMI('TOUT','GROUP_MA'),),
16450            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
16451            GROUP_MA        =SIMP(statut='f',typ='TXM',into=("COUDE","BOL") ),
16452            MATER           =SIMP(statut='o',typ=mater_sdaster ),
16453            TEMP_REF        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
16454          ),
16455
16456          PRES_REP        =FACT(statut='f',
16457            PRES            =SIMP(statut='o',typ='R' ),
16458            EFFE_FOND_P1    =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
16459            PRES_LEVRE      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
16460            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
16461          ),
16462
16463          ECHANGE         =FACT(statut='f',
16464            COEF_H          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
16465            TEMP_EXT        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
16466          ),
16467
16468          TORS_P1         =FACT(statut='f',max=6,
16469            regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
16470            FX              =SIMP(statut='f',typ='R' ),
16471            FY              =SIMP(statut='f',typ='R' ),
16472            FZ              =SIMP(statut='f',typ='R' ),
16473            MX              =SIMP(statut='f',typ='R' ),
16474            MY              =SIMP(statut='f',typ='R' ),
16475            MZ              =SIMP(statut='f',typ='R' ),
16476            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
16477          ),
16478
16479          COMP_INCR       =FACT(statut='f',
16480            RELATION        =SIMP(statut='o',typ='TXM',into=("VMIS_ISOT_TRAC",) ),
16481            VMIS_ISOT_TRAC  =SIMP(statut='c',typ='I',defaut= 2,into=( 2 ,) ),
16482            RESI_INTE_RELA  =SIMP(statut='f',typ='R'
16483                                 ,defaut= 1.0E-6),
16484            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
16485            ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut= 0 ),
16486            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
16487                                  into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
16488          ),
16489
16490          COMP_ELAS       =FACT(statut='f',
16491            RELATION        =SIMP(statut='o',typ='TXM',into=("ELAS","ELAS_VMIS_TRAC") ),
16492            ELAS            =SIMP(statut='c',typ='I',defaut= 1,into=( 1 ,) ),
16493            ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut= 1,into=( 1 ,) ),
16494            RESI_INTE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-6),
16495            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
16496            ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut= 0 ),
16497            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
16498                                  into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
16499          ),
16500
16501          SOLVEUR         =FACT(statut='d',
16502            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
16503            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
16504              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
16505            ),
16506            b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
16507              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
16508            ),
16509            b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
16510                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
16511              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
16512              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
16513            ),
16514            b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
16515              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
16516              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
16517              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
16518              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
16519              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
16520            ),
16521            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
16522          ),
16523
16524          CONVERGENCE     =FACT(statut='d',
16525            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
16526            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
16527            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
16528            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),
16529          ),
16530
16531          NEWTON          =FACT(statut='d',
16532            REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
16533            PREDICTION      =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ),
16534            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
16535            REAC_ITER       =SIMP(statut='f',typ='I',defaut=0),
16536            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
16537          ),
16538
16539          RECH_LINEAIRE   =FACT(statut='d',
16540            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
16541            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),
16542          ),
16543
16544          INCREMENT       =FACT(statut='o',
16545            regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
16546                    EXCLUS('NUME_INST_FIN','INST_FIN'),),
16547            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
16548            EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
16549                                  into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
16550            NUME_INST_INIT  =SIMP(statut='f',typ='I'),
16551            INST_INIT       =SIMP(statut='f',typ='R'),
16552            NUME_INST_FIN   =SIMP(statut='f',typ='I'),
16553            INST_FIN        =SIMP(statut='f',typ='R'),
16554            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
16555            # DEBUT DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
16556            SUBD_METHODE    =SIMP( statut='f',typ='TXM',
16557               into =("AUCUNE","UNIFORME","EXTRAPOLE"),
16558               defaut="AUCUNE",
16559               fr="Méthode de subdivision des pas de temps en cas de non-convergence"
16560            ),
16561            b_subd_unif=BLOC(condition = "SUBD_METHODE == 'UNIFORME'",
16562              regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
16563              SUBD_COEF_PAS_1=SIMP(statut='f',typ='R',defaut=1.0,val_min=0.0,
16564                 fr="Coefficient multiplicateur de la 1ère subdivision"),
16565              SUBD_PAS       =SIMP(statut='f',typ='I',defaut=4,val_min=2,
16566                 fr="Nombre de subdivision d'un pas de temps"),
16567              SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
16568                 fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
16569              SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
16570                 fr="Pas de temps en dessous duquel on ne subdivise plus"),
16571            ),
16572            b_subd_extr=BLOC(condition = "SUBD_METHODE == 'EXTRAPOLE'",
16573              regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
16574              SUBD_OPTION    =SIMP(statut='f',typ='TXM',
16575                 into =("IGNORE_PREMIERES","GARDE_DERNIERES",), 
16576                 defaut="IGNORE_PREMIERES",
16577                 fr="Technique d'extrapolation : les 1ere itérations sont ignorées ou les dernières sont gardées"),
16578              SUBD_ITER_IGNO =SIMP(statut='c',typ='I',defaut=3,val_min=0,
16579                 fr="Les n premières itérations sont ignorées pour l'extrapolation"),
16580              SUBD_ITER_FIN  =SIMP(statut='c',typ='I',defaut=8,val_min=3,
16581                 fr="Seules les n dernières itérations sont prises pour l'extrapolation"),
16582              SUBD_PAS       =SIMP(statut='c',typ='I',defaut=4,val_min=2,
16583                 fr="Nombre de subdivision d'un pas de temps en cas divergence"),
16584              SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
16585                 fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
16586              SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
16587                 fr="Pas de temps en dessous duquel on ne subdivise plus"),
16588              SUBD_ITER_PLUS =SIMP(statut='c',typ='I',defaut=50,val_min=20,
16589                 fr="% itération autorisée en plus"),
16590            ),
16591            # FIN DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS 
16592          ),
16593
16594          THETA_3D        =FACT(statut='f',max='**',
16595            R_INF           =SIMP(statut='o',typ='R' ),
16596            R_SUP           =SIMP(statut='o',typ='R' ),
16597          ),
16598
16599          IMPR_TABLE      =FACT(statut='f',
16600            regles=(UN_PARMI('TOUT_PARA','NOM_PARA', ),
16601             PRESENT_PRESENT('TOUT_PARA','ANGLE',    ),
16602             PRESENT_PRESENT('TOUT_PARA','R_CINTR',  ),
16603                    UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL',),),
16604            NOM_PARA        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=4,
16605                                  into=("TRESCA_MEMBRANE",
16606                                        "TRESCA_MFLE",
16607                                        "TRESCA",
16608                                        "SI_LONG"
16609                                        "SI_RADI"
16610                                        "SI_CIRC"
16611                                        ) ),
16612            TOUT_PARA       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
16613            ANGLE           =SIMP(statut='f',typ='R',max='**' ),
16614            R_CINTR         =SIMP(statut='f',typ='R',max='**' ),
16615            POSI_CURV_LONGI =SIMP(statut='f',typ='R',max='**' ),
16616            POSI_ANGUL      =SIMP(statut='f',typ='R',max='**' ),
16617            TRANSFORMEE     =SIMP(statut='f',typ='TXM',defaut="COUDE",into=("COUDE","TUBE") ),
16618          ),
16619
16620          IMPRESSION      =FACT(statut='f',
16621            FORMAT          =SIMP(statut='f',typ='TXM',defaut="RESULTAT",
16622                                  into=("RESULTAT","ASTER","IDEAS","CASTEM") ),
16623                                  
16624            b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas",
16625              VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
16626            ),  
16627
16628            b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem",
16629              NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
16630            ),
16631
16632          ),
16633
16634          TITRE           =SIMP(statut='f',typ='TXM' ),
16635
16636          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
16637 )  ;
16638 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
16639 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16640 # ======================================================================
16641 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
16642 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
16643 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
16644 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
16645 # (AT YOUR OPTION) ANY LATER VERSION.                                 
16646 #
16647 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
16648 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
16649 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
16650 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
16651 #
16652 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
16653 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
16654 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
16655 # ======================================================================
16656 # RESPONSABLE F1BHHAJ J.ANGLES
16657 from Macro.macr_ascouf_mail_ops import macr_ascouf_mail_ops
16658 MACR_ASCOUF_MAIL=MACRO(nom="MACR_ASCOUF_MAIL",op=macr_ascouf_mail_ops,sd_prod=maillage_sdaster,
16659             fr="Engendre le maillage d'un coude sain ou comportant une fissure ou une (ou plusieurs) sous-épaisseur(s)",
16660             UIinfo={"groupes":("Outils métier",)},reentrant='n',
16661
16662          regles=(EXCLUS('SOUS_EPAIS_COUDE','FISS_COUDE','SOUS_EPAIS_MULTI'),),
16663
16664          EXEC_MAILLAGE   =FACT(statut='o',
16665            LOGICIEL        =SIMP(statut='o',typ='TXM',defaut="GIBI2000",into=("GIBI98","GIBI2000") ),
16666            UNITE_DATG      =SIMP(statut='f',typ='I',defaut=70),  
16667            UNITE_MGIB      =SIMP(statut='f',typ='I',defaut=19),  
16668            NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,4,5,6,7,8,9,10,11)),
16669          ),
16670
16671          TYPE_ELEM       =SIMP(statut='f',typ='TXM',defaut="CU20",into=("CU20","CUB8") ),
16672
16673          COUDE           =FACT(statut='o',
16674            ANGLE           =SIMP(statut='o',typ='R' ),  
16675            R_CINTR         =SIMP(statut='o',typ='R' ),  
16676            L_TUBE_P1       =SIMP(statut='o',typ='R' ),  
16677            L_TUBE_P2       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
16678            NB_ELEM_EPAIS   =SIMP(statut='f',typ='I',defaut= 3 ),  
16679            SYME            =SIMP(statut='f',typ='TXM',defaut="ENTIER",into=("ENTIER","QUART","DEMI") ),
16680            TRANSFORMEE     =SIMP(statut='o',typ='TXM',defaut="COUDE",into=("COUDE","TUBE") ),
16681            b_transf_coude  =BLOC(condition = "TRANSFORMEE == 'COUDE' ",
16682               DEXT            =SIMP(statut='o',typ='R' ),  
16683               EPAIS           =SIMP(statut='o',typ='R' ),  
16684               SUR_EPAIS       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
16685               BOL_P2          =SIMP(statut='f',typ='TXM',into=("ASP_MPP","CUVE","GV") ),
16686            ),
16687            b_transf_tube   =BLOC(condition = "TRANSFORMEE == 'TUBE' ",
16688               TRAN_EPAIS      =SIMP(statut='o',typ='TXM',defaut="NON",into=("OUI","NON") ),
16689               b_trans_epais_oui    =BLOC(condition = "TRAN_EPAIS == 'OUI' ",
16690                       regles=(ENSEMBLE('ANGL_TETA2','EPAIS_TI'),
16691                               UN_PARMI('ABSC_CURV_TRAN','POSI_ANGU_TRAN'),),
16692                       DEXT_T1         =SIMP(statut='o',typ='R' ),  
16693                       EPAIS_T1        =SIMP(statut='o',typ='R' ),  
16694                       EPAIS_T2        =SIMP(statut='o',typ='R' ),  
16695                       EPAIS_TI        =SIMP(statut='f',typ='R' ),  
16696                       ANGL_TETA1      =SIMP(statut='o',typ='R' ),  
16697                       ANGL_TETA2      =SIMP(statut='f',typ='R' ),  
16698                       ABSC_CURV_TRAN  =SIMP(statut='f',typ='R' ),  
16699                       POSI_ANGU_TRAN  =SIMP(statut='f',typ='R' ),  
16700               ),
16701               b_trans_epais_non    =BLOC(condition = "TRAN_EPAIS == 'NON' ",
16702                       DEXT            =SIMP(statut='o',typ='R' ),  
16703                       EPAIS           =SIMP(statut='o',typ='R' ),  
16704                       SUR_EPAIS       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
16705                       BOL_P2          =SIMP(statut='f',typ='TXM',into=("ASP_MPP","CUVE","GV") ),
16706               ),
16707            ),
16708          ),
16709
16710          SOUS_EPAIS_COUDE=FACT(statut='f',
16711            regles=(UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL'),
16712                    UN_PARMI('POSI_CURV_CIRC','AZIMUT'),),
16713            TYPE            =SIMP(statut='o',typ='TXM',into=("AXIS","ELLI") ),
16714            AXE_CIRC        =SIMP(statut='f',typ='R' ),  
16715            AXE_LONGI       =SIMP(statut='o',typ='R' ),  
16716            PROFONDEUR      =SIMP(statut='o',typ='R' ),  
16717            POSI_CURV_LONGI =SIMP(statut='f',typ='R' ),  
16718            POSI_ANGUL      =SIMP(statut='f',typ='R' ),  
16719            POSI_CURV_CIRC  =SIMP(statut='f',typ='R' ),  
16720            AZIMUT          =SIMP(statut='f',typ='R' ),  
16721            SOUS_EPAIS      =SIMP(statut='o',typ='TXM',into=("INTERNE","EXTERNE") ),
16722            NB_ELEM_LONGI   =SIMP(statut='o',typ='I' ),  
16723            NB_ELEM_CIRC    =SIMP(statut='o',typ='I' ),  
16724            NB_ELEM_RADI    =SIMP(statut='f',typ='I',defaut= 3 ),  
16725            EMPREINTE       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
16726          ),
16727
16728          SOUS_EPAIS_MULTI=FACT(statut='f',max='**',
16729            regles=(UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL'),
16730                    UN_PARMI('POSI_CURV_CIRC','AZIMUT'),),
16731            TYPE            =SIMP(statut='o',typ='TXM',into=("AXIS","ELLI") ),
16732            AXE_CIRC        =SIMP(statut='f',typ='R' ),  
16733            AXE_LONGI       =SIMP(statut='o',typ='R' ),  
16734            PROFONDEUR      =SIMP(statut='o',typ='R' ),  
16735            POSI_CURV_LONGI =SIMP(statut='f',typ='R' ),  
16736            POSI_ANGUL      =SIMP(statut='f',typ='R' ),  
16737            POSI_CURV_CIRC  =SIMP(statut='f',typ='R' ),  
16738            AZIMUT          =SIMP(statut='f',typ='R' ),  
16739            SOUS_EPAIS      =SIMP(statut='o',typ='TXM',into=("INTERNE","EXTERNE") ),
16740            NB_ELEM_LONGI   =SIMP(statut='o',typ='I' ),  
16741            NB_ELEM_CIRC    =SIMP(statut='o',typ='I' ),  
16742            EMPREINTE       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
16743          ),
16744
16745          FISS_COUDE      =FACT(statut='f',
16746            regles=(UN_PARMI('ABSC_CURV','POSI_ANGUL'),),
16747            AXIS            =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ),  
16748            b_axis_non    =BLOC(condition = "AXIS == 'NON' ",
16749                    LONGUEUR        =SIMP(statut='o',typ='R' ),  
16750            ),
16751            b_axis_oui    =BLOC(condition = "AXIS == 'OUI' ",
16752                    LONGUEUR        =SIMP(statut='f',typ='R' ),  
16753            ),
16754            PROFONDEUR      =SIMP(statut='o',typ='R' ),  
16755            ABSC_CURV       =SIMP(statut='f',typ='R' ),  
16756            POSI_ANGUL      =SIMP(statut='f',typ='R' ),  
16757            FISSURE         =SIMP(statut='o',typ='TXM',into=("DEB_INT","DEB_EXT") ),
16758            AZIMUT          =SIMP(statut='f',typ='R',defaut= 90. ),  
16759            ORIEN           =SIMP(statut='o',typ='R',
16760                                  into=(45.,-45.,90.,0.E+0) ),
16761            NB_TRANCHE      =SIMP(statut='o',typ='I' ),  
16762            NB_SECTEUR      =SIMP(statut='o',typ='I' ),  
16763            NB_COURONNE     =SIMP(statut='o',typ='I' ),  
16764            RAYON_TORE      =SIMP(statut='f',typ='R' ),  
16765            COEF_MULT_RC2   =SIMP(statut='f',typ='R',defaut= 1. ),  
16766            COEF_MULT_RC3   =SIMP(statut='f',typ='R' ),  
16767            ANGL_OUVERTURE  =SIMP(statut='f',typ='R',defaut= 0.5 ),  
16768          ),
16769
16770          IMPRESSION      =FACT(statut='f',max='**',
16771            regles=(PRESENT_PRESENT('FICHIER','UNITE'),),
16772            FORMAT          =SIMP(statut='f',typ='TXM',defaut="ASTER",   
16773                                  into=("ASTER","IDEAS","CASTEM") ),
16774            b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas",
16775              VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
16776            ),  
16777            b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem",
16778              NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
16779            ),
16780            FICHIER         =SIMP(statut='f',typ='TXM' ),  
16781            UNITE           =SIMP(statut='f',typ='I' ),  
16782          ),
16783
16784          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
16785 )  ;
16786 #& MODIF COMMANDE  DATE 25/09/2006   AUTEUR MJBHHPE J.L.FLEJOU 
16787 #            CONFIGURATION MANAGEMENT OF EDF VERSION
16788 # ======================================================================
16789 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
16790 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
16791 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
16792 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
16793 # (AT YOUR OPTION) ANY LATER VERSION.                                 
16794 #
16795 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
16796 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
16797 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
16798 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
16799 #
16800 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
16801 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
16802 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
16803 # ======================================================================
16804 # RESPONSABLE F1BHHAJ J.ANGLES
16805 from Macro.macr_aspic_calc_ops import macr_aspic_calc_ops
16806
16807 def macr_aspic_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS_1,FOND_FISS_2,CHARGE,RESU_THER,**args):
16808   if MODELE      != None:self.type_sdprod(MODELE,modele_sdaster)
16809   if CHAM_MATER  != None:self.type_sdprod(CHAM_MATER,cham_mater)
16810   if CARA_ELEM   != None:self.type_sdprod(CARA_ELEM,cara_elem)
16811   if FOND_FISS_1 != None:self.type_sdprod(FOND_FISS_1,fond_fiss)
16812   if FOND_FISS_2 != None:self.type_sdprod(FOND_FISS_2,fond_fiss)
16813   if CHARGE      != None:self.type_sdprod(CHARGE,char_meca)
16814   if RESU_THER   != None:self.type_sdprod(RESU_THER,evol_ther)
16815   return evol_noli
16816
16817 MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC",op=macr_aspic_calc_ops,sd_prod=macr_aspic_calc_prod,
16818             fr="Réalise un calcul prédéfini de piquages sains ou fissurés ainsi que les post-traitements associés ",
16819             UIinfo={"groupes":("Outils métier",)},reentrant='n',
16820          regles=(UN_PARMI('COMP_INCR','COMP_ELAS'),),
16821
16822          TYPE_MAILLAGE   =SIMP(statut='o',typ='TXM',
16823                                into=("SAIN_FIN","SAIN_GROS","FISS_COUR_DEB","FISS_COUR_NONDEB","FISS_LONG_DEB",
16824                                      "FISS_LONG_NONDEB","FISS_AXIS_DEB","FISS_AXIS_NONDEB") ),
16825
16826          TUBULURE        =FACT(statut='o',
16827            TYPE            =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2") ),
16828          ),
16829          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),
16830          MODELE          =SIMP(statut='f',typ=CO,),
16831          CHAM_MATER      =SIMP(statut='f',typ=CO,),
16832          CARA_ELEM       =SIMP(statut='f',typ=CO,),
16833          FOND_FISS_1     =SIMP(statut='f',typ=CO,),
16834          FOND_FISS_2     =SIMP(statut='f',typ=CO,),
16835          CHARGE          =SIMP(statut='f',typ=CO,),
16836          RESU_THER       =SIMP(statut='f',typ=CO,),
16837
16838          AFFE_MATERIAU   =FACT(statut='o',max=3,
16839            regles=(UN_PARMI('TOUT','GROUP_MA'),),
16840            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
16841            GROUP_MA        =SIMP(statut='f',typ='TXM',into=("TUBU","CORP","SOUD","SOUDCORP","SOUDTUBU") ),
16842            MATER           =SIMP(statut='o',typ=mater_sdaster),
16843            TEMP_REF        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
16844            RCCM            =SIMP(statut='o',typ='TXM',into=("OUI","NON")),
16845          ),
16846
16847          EQUILIBRE       =FACT(statut='o',
16848            NOEUD           =SIMP(statut='o',typ=no),
16849          ),
16850
16851          PRES_REP        =FACT(statut='o',
16852            PRES            =SIMP(statut='o',typ='R'),
16853            NOEUD           =SIMP(statut='f',typ=no),
16854            EFFE_FOND       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
16855            PRES_LEVRE      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
16856            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16857          ),
16858
16859          ECHANGE         =FACT(statut='f',
16860            COEF_H_TUBU     =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16861            COEF_H_CORP     =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16862            TEMP_EXT        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16863          ),
16864
16865          TORS_CORP       =FACT(statut='f',max=6,
16866            regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
16867            NOEUD           =SIMP(statut='o',typ=no),
16868            FX              =SIMP(statut='f',typ='R'),
16869            FY              =SIMP(statut='f',typ='R'),
16870            FZ              =SIMP(statut='f',typ='R'),
16871            MX              =SIMP(statut='f',typ='R'),
16872            MY              =SIMP(statut='f',typ='R'),
16873            MZ              =SIMP(statut='f',typ='R'),
16874            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16875          ),
16876
16877          TORS_TUBU       =FACT(statut='f',max=6,
16878            regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
16879            FX              =SIMP(statut='f',typ='R'),
16880            FY              =SIMP(statut='f',typ='R'),
16881            FZ              =SIMP(statut='f',typ='R'),
16882            MX              =SIMP(statut='f',typ='R'),
16883            MY              =SIMP(statut='f',typ='R'),
16884            MZ              =SIMP(statut='f',typ='R'),
16885            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16886          ),
16887
16888          COMP_INCR       =FACT(statut='f',
16889            RELATION        =SIMP(statut='o',typ='TXM',into=("VMIS_ISOT_TRAC",) ),
16890            VMIS_ISOT_TRAC  =SIMP(statut='c',typ='I',defaut= 2,into=( 2 ,) ),
16891            RESI_INTE_RELA  =SIMP(statut='f',typ='R',defaut=1.0E-6),
16892            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut=10),
16893            ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut=0),
16894            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
16895                                  into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
16896          ),
16897
16898          COMP_ELAS       =FACT(statut='f',
16899            RELATION        =SIMP(statut='o',typ='TXM',into=("ELAS","ELAS_VMIS_TRAC") ),
16900            ELAS            =SIMP(statut='c',typ='I',defaut= 1,into=( 1 ,) ),
16901            ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut= 1,into=( 1 ,) ),
16902            RESI_INTE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-6),
16903            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
16904            ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut= 0 ),
16905            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
16906                                  into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
16907          ),
16908
16909          THETA_3D        =FACT(statut='f',max='**',
16910            R_INF           =SIMP(statut='o',typ='R'),
16911            R_SUP           =SIMP(statut='o',typ='R'),
16912          ),
16913
16914          OPTION          =SIMP(statut='f',typ='TXM',into=("CALC_G_MAX","CALC_G_MAX_LOCAL") ),
16915          BORNES          =FACT(statut='f',max='**',
16916            NUME_ORDRE      =SIMP(statut='o',typ='I'),
16917            VALE_MIN        =SIMP(statut='o',typ='R'),
16918            VALE_MAX        =SIMP(statut='o',typ='R'),
16919          ),
16920
16921          SOLVEUR         =FACT(statut='d',
16922            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
16923            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
16924              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
16925            ),
16926            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
16927              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
16928            ),
16929            b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
16930                                    fr="Paramètres relatifs à la non iversibilité de la matrice à factorise",
16931              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
16932              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
16933            ),
16934            b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
16935              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
16936              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
16937              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
16938              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
16939              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
16940            ),
16941            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
16942          ),
16943
16944          CONVERGENCE     =FACT(statut='d',
16945            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
16946            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
16947            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
16948            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),
16949          ),
16950
16951          NEWTON          =FACT(statut='d',
16952            REAC_INCR       =SIMP(statut='f',typ='I',defaut=1),
16953            PREDICTION      =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE","EXTRAPOL","DEPL_CALCULE")),
16954            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE")),
16955            REAC_ITER       =SIMP(statut='f',typ='I',defaut= 0),
16956          ),
16957
16958          RECH_LINEAIRE   =FACT(statut='d',
16959            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut=1.0E-3),
16960            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut=3),
16961          ),
16962
16963          INCREMENT       =FACT(statut='o',
16964            regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
16965                    EXCLUS('NUME_INST_FIN','INST_FIN'),),
16966            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
16967            EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
16968                                  into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
16969            NUME_INST_INIT  =SIMP(statut='f',typ='I'),
16970            INST_INIT       =SIMP(statut='f',typ='R'),
16971            NUME_INST_FIN   =SIMP(statut='f',typ='I'),
16972            INST_FIN        =SIMP(statut='f',typ='R'),
16973            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
16974            # DEBUT DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
16975            SUBD_METHODE    =SIMP( statut='f',typ='TXM',
16976               into =("AUCUNE","UNIFORME","EXTRAPOLE"),
16977               defaut="AUCUNE",
16978               fr="Méthode de subdivision des pas de temps en cas de non-convergence"
16979            ),
16980            b_subd_unif=BLOC(condition = "SUBD_METHODE == 'UNIFORME'",
16981              regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
16982              SUBD_COEF_PAS_1=SIMP(statut='f',typ='R',defaut=1.0,val_min=0.0,
16983                 fr="Coefficient multiplicateur de la 1ère subdivision"),
16984              SUBD_PAS       =SIMP(statut='f',typ='I',defaut=4,val_min=2,
16985                 fr="Nombre de subdivision d'un pas de temps"),
16986              SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
16987                 fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
16988              SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
16989                 fr="Pas de temps en dessous duquel on ne subdivise plus"),
16990            ),
16991            b_subd_extr=BLOC(condition = "SUBD_METHODE == 'EXTRAPOLE'",
16992              regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
16993              SUBD_OPTION    =SIMP(statut='f',typ='TXM',
16994                 into =("IGNORE_PREMIERES","GARDE_DERNIERES",), 
16995                 defaut="IGNORE_PREMIERES",
16996                 fr="Technique d'extrapolation : les 1ere itérations sont ignorées ou les dernières sont gardées"),
16997              SUBD_ITER_IGNO =SIMP(statut='c',typ='I',defaut=3,val_min=0,
16998                 fr="Les n premières itérations sont ignorées pour l'extrapolation"),
16999              SUBD_ITER_FIN  =SIMP(statut='c',typ='I',defaut=8,val_min=3,
17000                 fr="Seules les n dernières itérations sont prises pour l'extrapolation"),
17001              SUBD_PAS       =SIMP(statut='c',typ='I',defaut=4,val_min=2,
17002                 fr="Nombre de subdivision d'un pas de temps en cas divergence"),
17003              SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
17004                 fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
17005              SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
17006                 fr="Pas de temps en dessous duquel on ne subdivise plus"),
17007              SUBD_ITER_PLUS =SIMP(statut='c',typ='I',defaut=50,val_min=20,
17008                 fr="% itération autorisée en plus"),
17009            ),
17010            # FIN DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS 
17011          ),
17012
17013          PAS_AZIMUT      =SIMP(statut='f',typ='I',defaut=1),
17014
17015          IMPRESSION      =FACT(statut='f',
17016            FORMAT          =SIMP(statut='f',typ='TXM',defaut="RESULTAT",
17017                                  into=("RESULTAT","ASTER","CASTEM","IDEAS")),
17018                                  
17019            b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas",
17020              VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
17021            ),  
17022
17023            b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem",
17024              NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
17025            ),
17026
17027            b_extrac        =BLOC(condition="((FORMAT=='IDEAS')or(FORMAT=='CASTEM'))",
17028                                  fr="extraction d un champ de grandeur",
17029              regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST'),),
17030              NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,
17031                                    into=("DEPL","EQUI_ELNO_SIGM","TEMP")),
17032              
17033              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
17034              NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
17035              INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
17036            ),      
17037          ),
17038
17039          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
17040
17041          TITRE           =SIMP(statut='f',typ='TXM'),
17042 )
17043 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
17044 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17045 # ======================================================================
17046 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17047 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17048 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17049 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17050 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17051 #
17052 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17053 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17054 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17055 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17056 #
17057 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17058 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17059 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17060 # ======================================================================
17061 # RESPONSABLE F1BHHAJ J.ANGLES
17062
17063 from Macro.macr_aspic_mail_ops import macr_aspic_mail_ops
17064
17065 MACR_ASPIC_MAIL=MACRO(nom="MACR_ASPIC_MAIL",op= macr_aspic_mail_ops,sd_prod=maillage_sdaster,reentrant='n',
17066             fr="Engendre le maillage d'un piquage sain ou avec fissure (longue ou courte)",
17067             UIinfo={"groupes":("Outils métier",)},
17068
17069          EXEC_MAILLAGE   =FACT(statut='o',
17070            LOGICIEL        =SIMP(statut='o',typ='TXM',defaut="GIBI2000",into=("GIBI98","GIBI2000")),
17071            UNITE_DATG      =SIMP(statut='f',typ='I',defaut=70),  
17072            UNITE_MGIB      =SIMP(statut='f',typ='I',defaut=19),  
17073            NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,4,5,6,7,8,9,10,11)),
17074          ),
17075
17076          TYPE_ELEM       =SIMP(statut='f',typ='TXM',defaut="CU20",into=("CU20","CUB8")),
17077
17078          RAFF_MAIL       =SIMP(statut='f',typ='TXM',defaut="GROS",into=("GROS","FIN")),
17079
17080          TUBULURE        =FACT(statut='o',
17081            E_BASE          =SIMP(statut='o',typ='R'),  
17082            DEXT_BASE       =SIMP(statut='o',typ='R'),  
17083            L_BASE          =SIMP(statut='o',typ='R'),  
17084            L_CHANF         =SIMP(statut='o',typ='R'),  
17085            E_TUBU          =SIMP(statut='o',typ='R'),  
17086            DEXT_TUBU       =SIMP(statut='o',typ='R'),  
17087            Z_MAX           =SIMP(statut='o',typ='R'),  
17088            TYPE            =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2")),
17089            L_PENETR        =SIMP(statut='f',typ='R',defaut= 0.0E+0),  
17090          ),
17091
17092          SOUDURE         =FACT(statut='o',
17093            H_SOUD          =SIMP(statut='o',typ='R'),  
17094            ANGL_SOUD       =SIMP(statut='o',typ='R'),  
17095            JEU_SOUD        =SIMP(statut='o',typ='R'),  
17096          ),
17097
17098          CORPS           =FACT(statut='o',
17099            E_CORP          =SIMP(statut='o',typ='R'),  
17100            DEXT_CORP       =SIMP(statut='o',typ='R'),  
17101            X_MAX           =SIMP(statut='o',typ='R'),  
17102          ),
17103
17104          FISS_SOUDURE    =FACT(statut='f',
17105            TYPE            =SIMP(statut='o',typ='TXM',into=("LONGUE","COURTE")),
17106            AXIS            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
17107            PROFONDEUR      =SIMP(statut='o',typ='R'),  
17108            LONGUEUR        =SIMP(statut='f',typ='R'),  
17109            AZIMUT          =SIMP(statut='o',typ='R'),  
17110            RAYON_TORE      =SIMP(statut='f',typ='R'),  
17111            POSITION        =SIMP(statut='o',typ='TXM',into=("DROIT","INCLINE")),
17112            FISSURE         =SIMP(statut='o',typ='TXM',into=("DEB_INT","DEB_EXT","NON_DEB","TRAVERS")),
17113            LIGA_INT        =SIMP(statut='f',typ='R'),  
17114            ANGL_OUVERTURE  =SIMP(statut='f',typ='R',defaut= 0.0E+0),  
17115            COEF_MULT_RC1   =SIMP(statut='f',typ='R'),  
17116            COEF_MULT_RC2   =SIMP(statut='f',typ='R'),  
17117            COEF_MULT_RC3   =SIMP(statut='f',typ='R'),  
17118            NB_TRANCHE      =SIMP(statut='f',typ='I'),  
17119            NB_SECTEUR      =SIMP(statut='f',typ='I'),  
17120            NB_COURONNE     =SIMP(statut='f',typ='I'),  
17121          ),
17122
17123          IMPRESSION      =FACT(statut='f',max='**',
17124            regles=(PRESENT_PRESENT('FICHIER','UNITE'),),
17125            FORMAT          =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","IDEAS","CASTEM")),
17126
17127            b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas",
17128              VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
17129            ),  
17130
17131            b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem",
17132              NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
17133            ),
17134            FICHIER         =SIMP(statut='f',typ='TXM'),  
17135            UNITE           =SIMP(statut='f',typ='I'),  
17136          ),
17137
17138          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
17139 )  ;
17140 #& MODIF COMMANDE  DATE 25/09/2006   AUTEUR MJBHHPE J.L.FLEJOU 
17141 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17142 # ======================================================================
17143 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
17144 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
17145 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
17146 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
17147 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
17148 #                                                                       
17149 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
17150 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
17151 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
17152 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
17153 #                                                                       
17154 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
17155 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
17156 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
17157 # ======================================================================
17158
17159 from Macro.macr_cabri_calc_ops import macr_cabri_calc_ops
17160    
17161 def macr_cabri_calc_prod(self,MODELE_THER,MODELE_MECA,CHAM_MATER,
17162                          CHAR_THER,CHAR_MECA,RESU_THER,**args):
17163   if MODELE_THER != None:
17164    self.type_sdprod(MODELE_THER,modele_sdaster)   
17165   if MODELE_MECA != None:
17166    self.type_sdprod(MODELE_MECA,modele_sdaster)  
17167   if RESU_THER != None:
17168    self.type_sdprod(RESU_THER,evol_ther)     
17169   if CHAM_MATER != None:
17170    self.type_sdprod(CHAM_MATER,cham_mater)     
17171   if CHAR_THER != None: 
17172     for m in CHAR_THER:
17173       self.type_sdprod(m['CHARGE'],char_ther)
17174   if CHAR_MECA != None: 
17175     for m in CHAR_MECA:
17176       self.type_sdprod(m['CHARGE'],char_meca)
17177   return evol_noli
17178
17179
17180 MACR_CABRI_CALC=MACRO(nom="MACR_CABRI_CALC",
17181                       op=macr_cabri_calc_ops,
17182                       sd_prod=macr_cabri_calc_prod,
17183                       fr="Calcul thermo-mécanique d'une jonction boulonnée de tuyauterie",
17184                       reentrant='n',
17185                       UIinfo={"groupes":("Outils métier",)},
17186                       MAILLAGE   = SIMP(statut='o',typ=maillage_sdaster,),
17187                       AFFE_MATERIAU = FACT(statut='o',max='**',
17188                         regles=(UN_PARMI('TOUT','GROUP_MA',),),
17189                         TOUT     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
17190                         GROUP_MA = SIMP(statut='f',typ='TXM',into=(
17191                                                                   "BRIDE",
17192                                                                   "GOUJON",
17193                                                                   "ROND",
17194                                                                   "ECROU",
17195                                                                   "JOINT",) ),
17196                         MATER    = SIMP(statut='o',typ=mater_sdaster),
17197                         TEMP_REF = SIMP(statut='d',typ='R',defaut= 25. ),
17198                       ),                      
17199                       CHAM_MATER = SIMP(statut = 'f',typ=CO,),
17200                       MODELE_THER= SIMP(statut = 'f',typ=CO,),
17201                       
17202                       DEFI_CHAR_THER = FACT(statut ='d',
17203                         TEMP_INIT     = SIMP(statut='d',typ='R',defaut= 25.,),
17204                         COEF_H_FLUI   = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
17205                         TEMP_EXT_FLUI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
17206                         COEF_H_AIR    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
17207                         TEMP_EXT_AIR  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
17208                         LIST_INST     = SIMP(statut='f',typ=listr8_sdaster),
17209                       ),                      
17210                       
17211                       CHAR_THER  = FACT(statut = 'f',max=4,
17212                         CHARGE    = SIMP(statut='o',typ=CO),
17213                         TYPE      = SIMP(statut='o',typ='TXM',
17214                                  into=("BRIDE_FLUIDE","BRIDE_AIR","ECROU_GOUJON",
17215                                        "BRIDE_JOINT"),)
17216                                        ),
17217
17218                       RESU_THER  = SIMP(statut = 'f',typ=CO,),                                       
17219
17220                                        
17221                       MODELE_MECA= SIMP(statut = 'f',typ=CO,),
17222
17223                       DEFI_CHAR_MECA   = FACT(statut='o',
17224                         PRETENS    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
17225                         PRES_REP   = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
17226                         EFFE_FOND  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
17227                       ),                                                             
17228
17229                       CHAR_MECA  = FACT(statut = 'f',max=11,
17230                         CHARGE    = SIMP(statut='o',typ=CO),
17231                         TYPE      = SIMP(statut='o',typ='TXM',
17232                                  into=("BLOC_BAS_GOUJ","BLOC_BAS_JOINT",
17233                                        "BLOC_LAT_ALES","BLOC_LAT_NALES",
17234                                        "PLAN_TUBE",
17235                                        "PRES_FLU","EFFET_FOND",
17236                                        "CONT_JOINT",
17237                                        "DEFO_THER",
17238                                        "SERR_ECROU_1","SERR_ECROU_2",),)
17239                                        ),
17240                      
17241                       RELATION = SIMP(statut='f',typ='TXM',
17242                                        into=('VMIS_ISOT_TRAC','ELAS','ELAS_VMIS_TRAC',),),
17243                         
17244                       SOLVEUR   = FACT(statut='d',
17245                         METHODE  = SIMP(statut='d',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT",) ),
17246                         b_mult_front = BLOC(condition = "METHODE == 'MULT_FRONT' ",
17247                            fr="Paramètres de la méthode multi frontale",
17248                            RENUM           = SIMP(statut='d',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
17249                            NPREC           = SIMP(statut='d',typ='I',defaut=8),
17250                            STOP_SINGULIER  = SIMP(statut='d',typ='TXM',defaut="OUI",into=("OUI","NON") ),
17251                            ),                 
17252                       ),                                             
17253                       INCREMENT = FACT(statut='f',
17254                         regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
17255                                 EXCLUS('NUME_INST_FIN','INST_FIN'),),
17256                         LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
17257                         EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
17258                                  into=("CHRONOLOGIQUE",) ),                                 
17259                         NUME_INST_INIT  =SIMP(statut='f',typ='I'),
17260                         INST_INIT       =SIMP(statut='f',typ='R'),
17261                         NUME_INST_FIN   =SIMP(statut='f',typ='I'),
17262                         INST_FIN        =SIMP(statut='f',typ='R'),
17263                         PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
17264            # DEBUT DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
17265            SUBD_METHODE    =SIMP( statut='f',typ='TXM',
17266               into =("AUCUNE","UNIFORME","EXTRAPOLE"),
17267               defaut="AUCUNE",
17268               fr="Méthode de subdivision des pas de temps en cas de non-convergence"
17269            ),
17270            b_subd_unif=BLOC(condition = "SUBD_METHODE == 'UNIFORME'",
17271              regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
17272              SUBD_COEF_PAS_1=SIMP(statut='f',typ='R',defaut=1.0,val_min=0.0,
17273                 fr="Coefficient multiplicateur de la 1ère subdivision"),
17274              SUBD_PAS       =SIMP(statut='f',typ='I',defaut=4,val_min=2,
17275                 fr="Nombre de subdivision d'un pas de temps"),
17276              SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
17277                 fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
17278              SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
17279                 fr="Pas de temps en dessous duquel on ne subdivise plus"),
17280            ),
17281            b_subd_extr=BLOC(condition = "SUBD_METHODE == 'EXTRAPOLE'",
17282              regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
17283              SUBD_OPTION    =SIMP(statut='f',typ='TXM',
17284                 into =("IGNORE_PREMIERES","GARDE_DERNIERES",), 
17285                 defaut="IGNORE_PREMIERES",
17286                 fr="Technique d'extrapolation : les 1ere itérations sont ignorées ou les dernières sont gardées"),
17287              SUBD_ITER_IGNO =SIMP(statut='c',typ='I',defaut=3,val_min=0,
17288                 fr="Les n premières itérations sont ignorées pour l'extrapolation"),
17289              SUBD_ITER_FIN  =SIMP(statut='c',typ='I',defaut=8,val_min=3,
17290                 fr="Seules les n dernières itérations sont prises pour l'extrapolation"),
17291              SUBD_PAS       =SIMP(statut='c',typ='I',defaut=4,val_min=2,
17292                 fr="Nombre de subdivision d'un pas de temps en cas divergence"),
17293              SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
17294                 fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
17295              SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
17296                 fr="Pas de temps en dessous duquel on ne subdivise plus"),
17297              SUBD_ITER_PLUS =SIMP(statut='c',typ='I',defaut=50,val_min=20,
17298                 fr="% itération autorisée en plus"),
17299            ),
17300            # FIN DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS 
17301                         OPTI_LIST_INST  =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),),
17302                         NOM_CHAM        =SIMP(statut='f',typ='TXM',),
17303                         NOM_CMP         =SIMP(statut='f',typ='TXM',),
17304                         VALE            =SIMP(statut='f',typ='R'),
17305                       ),
17306                       NEWTON          =FACT(statut='d',
17307                         REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
17308                         PREDICTION      =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE","EXTRAPOL") ),
17309                         MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
17310                         PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
17311                         REAC_ITER       =SIMP(statut='f',typ='I',defaut=0),
17312                         EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
17313                       ),
17314                       RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
17315                                 into=("IMPLICITE",)),
17316                       CONVERGENCE     =FACT(statut='d',
17317                         regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),),
17318                         SIGM_REFE       =SIMP(statut='f',typ='R'),
17319                         EPSI_REFE       =SIMP(statut='f',typ='R'),
17320                         FLUX_THER_REFE  =SIMP(statut='f',typ='R'),        
17321                         RESI_REFE_RELA  =SIMP(statut='f',typ='R'),
17322                         RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
17323                         RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
17324                         ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
17325                         ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
17326                       ),
17327                      );
17328
17329 #& MODIF COMMANDE  DATE 07/02/2005   AUTEUR MABBAS M.ABBAS 
17330 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17331 # ======================================================================
17332 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
17333 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
17334 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
17335 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
17336 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
17337 #                                                                       
17338 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
17339 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
17340 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
17341 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
17342 #                                                                       
17343 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
17344 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
17345 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
17346 # ======================================================================
17347
17348 from Macro.macr_cabri_mail_ops import macr_cabri_mail_ops
17349
17350 MACR_CABRI_MAIL=MACRO(nom="MACR_CABRI_MAIL",
17351                       op=macr_cabri_mail_ops,
17352                       sd_prod=maillage_sdaster,
17353                       fr="maillage d'une jonction boulonnée de tuyauterie",
17354                       reentrant='n',
17355                       UIinfo={"groupes":("Outils métier",)},
17356                       EXEC_MAILLAGE = FACT(statut='o',
17357                         LOGICIEL      = SIMP(statut = 'o',typ='TXM',into=("GIBI2000",),),
17358                         UNITE_DATG    = SIMP(statut = 'f',typ='I',defaut=70,),
17359                         UNITE_MGIB    = SIMP(statut = 'f',typ='I',defaut=19,),
17360                         NIVE_GIBI     = SIMP(statut = 'f',typ='I',defaut=10,
17361                                           into = (3,4,5,6,7,8,9,10,11),
17362                                             ),
17363                                           ),
17364                       RAFF_MAILLAGE   = FACT(statut = 'd',
17365                         NB_RADIAL    = SIMP(statut = 'f',typ='I',defaut=2,),
17366                         NB_CIRCONF   = SIMP(statut = 'f',typ='I',defaut=3,),
17367                         NB_VERTICAL  = SIMP(statut = 'f',typ='I',defaut=6,),
17368                         NB_ALESAGE   = SIMP(statut = 'f',typ='I',defaut=5,),
17369                                           ),
17370                       VERI_MAIL     = FACT(statut='d',
17371                         VERIF         = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),  
17372                         APLAT         = SIMP(statut='f',typ='R',defaut= 1.0E-3 ),  
17373                                           ),                                          
17374                       GEOM_BRID     = FACT(statut = 'o',
17375                         NORME         = SIMP(statut = 'o',typ='TXM',into=("OUI","NON"),),
17376                         b_bride_iso   = BLOC(condition = "NORME == 'OUI'",
17377                           TYPE           = SIMP(statut='o',typ='TXM',
17378                                                 into=('A','AA','B','B1','C','D','D1','E','F',
17379                                                       'FF','G','GG','H','H1','I','J','J1',
17380                                                       'K','L','L1','M','N','O','P','S','T','W'), 
17381                                                ),
17382                                             ),
17383                         b_bride_niso  = BLOC(condition = "NORME == 'NON'",
17384                           TUBU_D_EXT     = SIMP(statut='o',typ='R',),
17385                           TUBU_H         = SIMP(statut='o',typ='R',),
17386                           BRID_D_EXT     = SIMP(statut='o',typ='R',),
17387                           BRID_D_INT     = SIMP(statut='o',typ='R',),
17388                           BRID_H         = SIMP(statut='o',typ='R',),
17389                           BRID_D_CONGE   = SIMP(statut='o',typ='R',),
17390                           BRID_R_CONGE   = SIMP(statut='o',typ='R',),
17391                           BRID_D_EPAUL   = SIMP(statut='o',typ='R',),
17392                           BRID_H_EPAUL   = SIMP(statut='o',typ='R',),
17393                           BRID_D_ALESAG  = SIMP(statut='o',typ='R',),
17394                           BRID_P_ALESAG  = SIMP(statut='o',typ='R',),
17395                           BRID_H_ALESAG  = SIMP(statut='o',typ='R',),
17396                           GOUJ_N_GOUJON  = SIMP(statut='o',typ='I',),
17397                           GOUJ_D_GOUJON  = SIMP(statut='o',typ='R',),
17398                           GOUJ_E_FILET   = SIMP(statut='o',typ='R',),
17399                           GOUJ_D_RONDEL  = SIMP(statut='o',typ='R',),
17400                           GOUJ_E_RONDEL  = SIMP(statut='o',typ='R',),
17401                           GOUJ_D_ECROU   = SIMP(statut='o',typ='R',),
17402                           GOUJ_E_ECROU   = SIMP(statut='o',typ='R',),
17403                           ETAN_E_JOINT   = SIMP(statut='o',typ='R',),
17404                                             ),
17405                                          ),
17406                       IMPRESSION    = FACT(statut='d',
17407                         UNITE          = SIMP(statut='f',typ='I'),
17408                         FORMAT         = SIMP(statut='f',typ='TXM',defaut="ASTER",    
17409                                               into=("ASTER","CASTEM","IDEAS"),
17410                                              ),
17411                         b_impr_castem = BLOC(condition = "FORMAT == 'CASTEM'",
17412                           NIVE_GIBI      = SIMP(statut='f',typ='I',defaut=10,into=(3,10),),
17413                                             ),
17414                         b_impr_ideas  = BLOC(condition = "FORMAT == 'IDEAS'",
17415                           VERSION        = SIMP(statut='f',typ='I',defaut=5,into=(4,5),),
17416                                             ),
17417                                           ),
17418                      );
17419
17420 #& MODIF COMMANDE  DATE 03/01/2006   AUTEUR REZETTE C.REZETTE 
17421 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17422 # ======================================================================
17423 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
17424 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
17425 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
17426 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
17427 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
17428 #                                                                       
17429 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
17430 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
17431 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
17432 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
17433 #                                                                       
17434 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
17435 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
17436 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
17437 # ======================================================================
17438 # RESPONSABLE JMBHH01 J.M.PROIX
17439
17440 from Macro.macr_cara_poutre_ops import macr_cara_poutre_ops
17441
17442 MACR_CARA_POUTRE=MACRO(nom="MACR_CARA_POUTRE",op=macr_cara_poutre_ops,sd_prod=table_sdaster,
17443                        reentrant='n',
17444           UIinfo={"groupes":("Modélisation",)},
17445           fr="Calculer les caractéristiques d'une section transversale de poutre à partir d'un maillage 2D de la section",
17446           regles=(EXCLUS('SYME_X','GROUP_MA_BORD'),
17447                   EXCLUS('SYME_Y','GROUP_MA_BORD'),),
17448                  
17449           UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut= 20 ),  
17450           ORIG_INER       =SIMP(statut='f',typ='R',max=3,defaut=(0.E+0,0.E+0),
17451                                 fr="Point par rapport auquel sont calculées les inerties"),  
17452           INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
17453          
17454           SYME_X          =SIMP(statut='f',typ='TXM',into=("OUI",),fr="demi maillage par rapport a x=0"),
17455           SYME_Y          =SIMP(statut='f',typ='TXM',into=("OUI",),fr="demi maillage par rapport a y=0"),
17456          
17457           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
17458           fr="Calcul des caractéristiques équivalentes a plusieurs sections disjointes"),
17459           
17460           GROUP_MA_BORD   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
17461                                fr="Groupe(s) de mailles linéiques, bord(s) de(s) section(s)"),
17462          
17463                b_gma_bord = BLOC( condition = "GROUP_MA_BORD != None",
17464                             fr=" calcul des carac. mecaniques",
17465
17466                     NOEUD           =SIMP(statut='f',typ=no,max='**',
17467                     fr="Simplement pour empecher des pivots nuls le cas echeant. Fournir un noeud quelconque"),
17468                     GROUP_MA_INTE   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
17469                     fr="groupes de mailles linéiques bordant des trous dans la section"),
17470                     ),
17471                     
17472                b_reseau = BLOC( condition ="""(GROUP_MA_BORD != None) and (GROUP_MA != None)""",
17473                            fr=" calcul des coef de cisaillement équivalents a un reseau de poutres",
17474                             regles=(ENSEMBLE('LONGUEUR','LIAISON','MATERIAU') ,),
17475                             LONGUEUR        =SIMP(statut='f',typ='R',fr="Longueur du réseau de poutres"),  
17476                             MATERIAU        =SIMP(statut='f',typ=mater_sdaster,fr="Materiau elastique lineaire du reseau"),
17477                             LIAISON         =SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT"),
17478                             fr="type de conditions aux limites sur le plancher supérieur" ),
17479                               ), 
17480                     )
17481 #& MODIF COMMANDE  DATE 13/12/2006   AUTEUR PELLET J.PELLET 
17482 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17483 # ======================================================================
17484 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
17485 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17486 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17487 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
17488 # (AT YOUR OPTION) ANY LATER VERSION.
17489 #
17490 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
17491 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
17492 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
17493 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
17494 #
17495 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
17496 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
17497 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
17498 # ======================================================================
17499
17500
17501 from Macro.macr_ecla_pg_ops import macr_ecla_pg_ops
17502
17503 def macr_ecla_pg_prod(self,RESULTAT,MAILLAGE,RESU_INIT,**args):
17504   self.type_sdprod(RESULTAT,AsType(RESU_INIT))
17505   self.type_sdprod(MAILLAGE,maillage_sdaster)
17506   return None
17507
17508
17509 MACR_ECLA_PG=MACRO(nom="MACR_ECLA_PG",op=macr_ecla_pg_ops,sd_prod=macr_ecla_pg_prod, reentrant='n',
17510              UIinfo={"groupes":("Post traitements",)},
17511              fr="Permettre la visualisation des champs aux points de Gauss d'une SD_RESULTAT sans lissage ni interpolation",
17512
17513
17514              # SD résultat ,modèle et champs à "éclater" :
17515              RESU_INIT       =SIMP(statut='o',typ=resultat_sdaster,fr="RESULTAT à éclater",),
17516              MODELE_INIT     =SIMP(statut='o',typ=modele_sdaster,fr="MODELE à éclater"),
17517              NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),
17518
17519              # paramètres numériques de la commande :
17520              SHRINK          =SIMP(statut='f',typ='R',defaut= 0.9, fr="Facteur de réduction" ),
17521              TAILLE_MIN      =SIMP(statut='f',typ='R',defaut= 0.0, fr="Taille minimale d'un coté" ),
17522
17523              # concepts produits par la commande :
17524              RESULTAT        =SIMP(statut='o',typ=CO,fr="SD_RESULTAT résultat de la commande"),
17525              MAILLAGE        =SIMP(statut='o',typ=CO,fr="MAILLAGE associé aux cham_no de la SD_RESULTAT"),
17526
17527              # Sélection éventuelle d'un sous-ensemble des éléments à visualiser :
17528              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
17529              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
17530              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
17531
17532              # Sélection des numéros d'ordre :
17533              regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),),
17534              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
17535              NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
17536              LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
17537              INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
17538              LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
17539              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
17540              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
17541             )
17542 #& MODIF COMMANDE  DATE 12/03/2007   AUTEUR DEVESA G.DEVESA 
17543 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17544 # ======================================================================
17545 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17546 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17547 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17548 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17549 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17550 #
17551 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17552 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17553 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17554 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17555 #
17556 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17557 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17558 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17559 # ======================================================================
17560 MACR_ELEM_DYNA=OPER(nom="MACR_ELEM_DYNA",op=  81,sd_prod=macr_elem_dyna,
17561                     fr="Définition d'un macro élément pour analyse modale ou harmonique par sous structuration dynamique",
17562                     reentrant='n',
17563             UIinfo={"groupes":("Matrices/vecteurs",)},
17564          regles=(EXCLUS('MATR_AMOR','AMOR_REDUIT' ),
17565                  PRESENT_ABSENT('MATR_IMPE','MATR_RIGI','MATR_MASS'),),
17566          BASE_MODALE     =SIMP(statut='o',typ=base_modale ),
17567          MATR_RIGI       =SIMP(statut='f',typ=matr_asse_depl_r ),
17568          MATR_MASS       =SIMP(statut='f',typ=matr_asse_depl_r ),
17569          MATR_AMOR       =SIMP(statut='f',typ=matr_asse_depl_r ),
17570          AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),         
17571          OPTION          =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("CLASSIQUE","RITZ",
17572                           "DIAG_MASS") ),
17573          MATR_IMPE       =SIMP(statut='f',typ=matr_asse_gene_c ),
17574          b_matr_impe     =BLOC(condition = "MATR_IMPE != None",
17575              FREQ_EXTR       =SIMP(statut='o',typ='R' ),
17576              AMOR_SOL        =SIMP(statut='f',typ='R',defaut=0.E+0 ),
17577            ),
17578          CAS_CHARGE      =FACT(statut='f',max='**',
17579            NOM_CAS         =SIMP(statut='o',typ='TXM'),
17580            VECT_ASSE_GENE  =SIMP(statut='o',typ=vect_asse_gene ),
17581          ),
17582 )  ;
17583 #& MODIF COMMANDE  DATE 31/10/2006   AUTEUR A3BHHAE H.ANDRIAMBOLOLONA 
17584 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17585 # ======================================================================
17586 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
17587 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
17588 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
17589 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
17590 # (AT YOUR OPTION) ANY LATER VERSION.                                 
17591 #
17592 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
17593 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
17594 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
17595 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
17596 #
17597 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
17598 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
17599 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
17600 # ======================================================================
17601 MACR_ELEM_STAT=OPER(nom="MACR_ELEM_STAT",op=86,sd_prod=macr_elem_stat,reentrant='f',
17602             UIinfo={"groupes":("Matrices/vecteurs",)},
17603                     fr="Définition d'un macro-élément pour l'analyse statique par sous-structuration",
17604         regles=(AU_MOINS_UN('DEFINITION','RIGI_MECA','MASS_MECA','CAS_CHARGE'),
17605                 ENSEMBLE('DEFINITION','EXTERIEUR'),),
17606          DEFINITION      =FACT(statut='f',
17607            regles=(PRESENT_PRESENT('PROJ_MESU','MODE_MESURE'),),
17608            MODELE          =SIMP(statut='o',typ=modele_sdaster),
17609            CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
17610            CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
17611            CHAR_MACR_ELEM  =SIMP(statut='f',typ=char_meca),
17612            INST            =SIMP(statut='f',typ='R',defaut=0.0E+0 ),
17613            NMAX_CAS        =SIMP(statut='f',typ='I',defaut=10),
17614            NMAX_CHAR       =SIMP(statut='f',typ='I',defaut=10),
17615            PROJ_MESU       =SIMP(statut='f',typ=(mode_gene,tran_gene,harm_gene),max=1),
17616            MODE_MESURE     =SIMP(statut='f',typ=( mode_meca,base_modale) ),
17617          ),
17618          EXTERIEUR       =FACT(statut='f',
17619            regles=(AU_MOINS_UN('NOEUD','GROUP_NO'),),
17620            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
17621            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
17622          ),
17623          RIGI_MECA       =FACT(statut='f',
17624          ),
17625          MASS_MECA       =FACT(statut='f',
17626          ),
17627          CAS_CHARGE      =FACT(statut='f',max='**',
17628            NOM_CAS         =SIMP(statut='o',typ='TXM'),
17629            SUIV            =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
17630            CHARGE          =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
17631            INST            =SIMP(statut='f',typ='R',defaut=0.E+0),
17632          ),
17633
17634 )  ;
17635 #& MODIF COMMANDE  DATE 27/11/2006   AUTEUR GNICOLAS G.NICOLAS 
17636 #            CONFIGURATION MANAGEMENT OF EDF VERSION
17637 # ======================================================================
17638 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
17639 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
17640 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
17641 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
17642 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
17643 #                                                                       
17644 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
17645 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
17646 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
17647 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
17648 #                                                                       
17649 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
17650 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
17651 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
17652 # ======================================================================
17653 # RESPONSABLE GNICOLAS G.NICOLAS
17654
17655 from Macro.macr_fiabilite_ops import macr_fiabilite_ops
17656
17657 #
17658 #====
17659 # 1. Le retour : une liste de rééls.
17660 #====
17661 #
17662 def macr_fiabilite_prod ( self , **args ):
17663   return listr8_sdaster
17664 #
17665 #====
17666 # 2. L'entete
17667 #====
17668 #
17669 MACR_FIABILITE = MACRO ( nom="MACR_FIABILITE",op=macr_fiabilite_ops,
17670                          docu="U7.03.31",UIinfo={"groupe":("Post traitements",)},
17671                          sd_prod=macr_fiabilite_prod,
17672                          fr="Calcule les probabiltés de dépassement de seuil (mécanique de fiabilité).",
17673                          ang="Fiability mechanics.",
17674 #
17675 #====
17676 # 3. Le niveau d'information
17677 #====
17678 #
17679    INFO           = SIMP(statut="f",typ="I",defaut=1,into=(1,2)),
17680 #
17681 #====
17682 # 4. Nom et Version du logiciel de fiabilité
17683 #====
17684 #
17685    LOGICIEL = SIMP(statut="f",typ="TXM",defaut="MEFISTO",
17686                    into=("MEFISTO",),
17687                    fr="Nom du logiciel de fiabilité.",
17688                    ang="Fiability software name."),
17689 #
17690    VERSION = SIMP(statut="f",typ="TXM",defaut="V3_2",
17691                   into=("V3_2", "V3_N"),
17692                   fr="Version du logiciel de fiabilité.",
17693                   ang="Fiability software release."),
17694 #
17695 #====
17696 # 5. Les entrees-sorties du calcul ASTER déterministe
17697 #====
17698 #
17699 # 5.1. ==> Le jeu de commandes déterministe
17700 #
17701    UNITE_ESCL = SIMP(statut="o",typ="I",
17702                      fr="Unité logique associée aux commandes du calcul ASTER déterministe.",
17703                      ang="Logical unit for the commands of the ASTER deterministic calculation."),
17704 #
17705 # 5.2. ==> Le destin des messages produits par ASTER
17706 #
17707    MESS_ASTER = SIMP(statut="f",typ="TXM",defaut="DERNIER",
17708                         into=("AUCUN", "DERNIER", "TOUS"),
17709                         fr="Quels messages ASTER récupérer.",
17710                         ang="Which ASTER messages must be kept."),
17711 #
17712 #====
17713 # 6. Options
17714 #====
17715 # 6.1. ==> Générales
17716 #
17717 # 6.1.1. ==> La valeur du seuil
17718 #
17719    SEUIL = SIMP(statut="o",typ="R",max=1,
17720                 fr="Le seuil de défaillance.",
17721                 ang="Failure threshold."),
17722 #
17723 # 6.1.2. ==> Le type du seuil : on a deux cas de figure selon que
17724 #            la défaillance a lieu au dessus d'un seuil maximum ou
17725 #            en dessous d'un seuil minimum
17726 #
17727    SEUIL_TYPE = SIMP(statut="o",typ="TXM",max=1,
17728                      into=("MINIMUM","MAXIMUM"),
17729                      fr="Que faut-il ne pas dépasser : un maximum ou un minimum.",
17730                      ang="What is the failure threshold : maximum or minimum."),
17731 #
17732 # 6.2. ==> Pour MEFISTO
17733 #
17734 ### en attente de résolution de AL 2004-006 (1/2)   b_mefisto=BLOC( condition = "LOGICIEL=='MEFISTO'",
17735 #
17736 # 6.2.1. ==> Pilotage de la recherche du point de conception
17737 #
17738      RECH_PT_CONCEPT = SIMP(statut="f",typ="TXM",defaut="OUI",
17739                             into=("OUI","NON"),
17740                             fr="Pour trouver le point de conception.",
17741                             ang="To find the design point."),
17742 #
17743      b_rech_pt_concept=BLOC( condition = "RECH_PT_CONCEPT=='OUI'",
17744 #
17745        EPSILON_U = SIMP(statut="f",typ="R",defaut=1.0E-2,
17746                         fr="Précision du test d'arret sur les points itératifs dans l'espace standard.",
17747                         ang="Precision of stop test for iterative points in standard space."),
17748 #
17749        EPSILON_G = SIMP(statut="f",typ="R",defaut=1.0E-2,
17750                         fr="Précision du test d'arret sur la proximité de la surface d'état limite.",
17751                         ang="Precision of stop test for limit state surface."),
17752 #
17753        TAU       = SIMP(statut="f",typ="R",defaut=5.0E-1,
17754                         fr="Paramètre de la méthode de minimisation.",
17755                         ang="Parameter for the minimization method."),
17756 #
17757        OMEGA     = SIMP(statut="f",typ="R",defaut=1.0E-4,
17758                         fr="Paramètre de la méthode de minimisation.",
17759                         ang="Parameter for the minimization method."),
17760 #
17761        ITER_MAX  = SIMP(statut="f",typ="I",defaut=50,
17762                         fr="Nombre maximum d'itérations.",
17763                         ang="Maximum number of iterations."),
17764      ),
17765 #
17766 # 6.2.2. ==> Méthode(s) employée(s) pour la probabilité de défaillance
17767 #
17768      METHODE_FORM = SIMP(statut="f",typ="TXM",defaut="OUI",
17769                          into=("OUI","NON"),
17770                          fr="Recherche de la probabilité de défaillance avec la méthode FORM.",
17771                          ang="Research of failure probability with FORM method."),
17772 #
17773      METHODE_SORM = SIMP(statut="f",typ="TXM",defaut="NON",
17774                          into=("OUI","NON"),
17775                          fr="Recherche de la probabilité de défaillance avec la méthode SORM.",
17776                          ang="Research of failure probability with SORM method."),
17777 #
17778      TIRAGE_IMPORTANCE = SIMP(statut="f",typ="TXM",defaut="NON",
17779                               into=("OUI","NON"),
17780                               fr="Recherche de la probabilité de défaillance avec le tirage d'importance.",
17781                               ang="Research of failure probability with ."),
17782 #
17783      b_tirage_importance=BLOC( condition = "TIRAGE_IMPORTANCE=='OUI'",
17784 #
17785        NB_SIMULATION = SIMP(statut="f",typ="I",defaut=3,
17786                             fr="Nombre de simulations pour le tirage d'importance.",
17787                             ang="Number of simulation for."),
17788 #
17789      ),
17790 #
17791 # 6.2.3. ==> Création d'une surface de réponse polynomiale
17792 #
17793      POLYNOME_TAYLOR   = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),),
17794      HGRAD             = SIMP(statut="f",typ="R",defaut=1.0E-2,
17795                               fr="Pas incrémental pour le calcul des gradients.",
17796                               ang="Step for calculation of gradients."),
17797      HHESS             = SIMP(statut="f",typ="R",defaut=1.0E-2,
17798                               fr="Pas incrémental pour le calcul des dérivées secondes.",
17799                               ang="Step for calculation of second derivatives."),
17800 #
17801 # 6.2.4. ==> Recherche d'un plan d'expérience
17802 #
17803      PLAN_EXPERIENCE   = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),
17804                               fr="Construction d'un plan d'expérience.",
17805                               ang="Construction of an experiment plan."),
17806 #
17807      b_plan_experience=BLOC( condition = "PLAN_EXPERIENCE=='OUI'",
17808 #
17809        ALPHA         = SIMP(statut="f",typ="R",defaut=2.0E-1,
17810                             fr="Plan d'expérience : maille du plan de type composite centré.",
17811                             ang="Experiment plane : mesh centered composite."),
17812 #
17813        BETA          = SIMP(statut="f",typ="R",defaut=4.0E-1,
17814                             fr="Plan d'expérience : maille du plan de type factoriel.",
17815                             ang="Experiment plane : mesh factor."),
17816 #
17817      ),
17818 #
17819 # 6.2.5. ==> Les tests
17820 # 6.2.5.1. ==> Test de la sphere
17821 #
17822      T_SPHERE = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),
17823                      fr="Test de la sphère.",
17824                      ang="Sphere test."),
17825 #
17826      b_test_de_la_sphere=BLOC( condition = "T_SPHERE=='OUI'",
17827 #
17828        METHODE_TEST = SIMP(statut="f",typ="TXM",defaut="GAUSSIENNE",
17829                            into=("GAUSSIENNE","PARAMETRIQUE","REJECTION"),
17830                            fr="Type de méthode.",
17831                            ang="Method."),
17832 #
17833        NB_POINT     = SIMP(statut="f",typ="I",max=1,defaut=60,
17834                            fr="Nombre de points de la sphere.",
17835                            ang="Number of points over the sphere.")
17836      ),
17837 #
17838 # 6.2.5.2. ==> Test du maximum fort
17839 #
17840      T_MAXIMUM_FORT = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),
17841                            fr="Test du maximum fort.",
17842                            ang="Strong maximum test."),
17843 #
17844      b_test_du_maximum_fort=BLOC( condition = "T_MAXIMUM_FORT=='OUI'",
17845 #
17846        COS_LIM = SIMP(statut="f",typ="R",max=1,defaut=1.0,
17847                       fr="Cosinus de l'angle d'exclusion.",
17848                       ang="Cosine of angle of exclusion."),
17849 #
17850        DPROB   = SIMP(statut="f",typ="R",max=1,defaut=4.3E-1,
17851                       fr="Fraction d'iso-densité de probabilité de défaillance.",
17852                       ang="Fraction.")
17853 #
17854      ),
17855 #
17856 # 6.2.5.3. ==> Test du hessien
17857 #
17858      T_HESSIEN = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),
17859                       fr="Test du hessien.",
17860                       ang="Hessian test."),
17861 #
17862 # 6.2.6. ==> Les correlations entre les variables
17863 #
17864      MATRICE = SIMP(statut="f",typ="R",max="**",
17865                     fr="Matrice de corrélation entre les variables.",
17866                     ang="Correlation matrix."), 
17867 #
17868 ### en attente de résolution de AL 2004-006 (2/2)   ),
17869 #
17870 #====
17871 # 7. Definition des paramètres
17872 #====
17873 #
17874    VARIABLE = FACT(statut="o",min=1,max="**",
17875 #
17876 # 7.1. ==> Nom de la variable
17877 #
17878        NOM = SIMP(statut="o",typ="TXM",
17879                   fr="Nom de la variable, identique au nom de concept PARA_SENSI.",
17880                   ang="Name of the variable, identical to the name of the PARA_SENSI conceipt."),
17881 #
17882 # 7.2. ==> Loi de distribution
17883 #
17884        LOI = SIMP(statut="o",typ="TXM",
17885                   into=("UNIFORME","NORMALE","LOGNORMALE","NORMALE_TRONQUEE"),
17886                   fr="Choix de la loi",
17887                   ang="Law."),
17888 #
17889 # 7.2.1. ==> Loi normale
17890 #
17891        b_normale=BLOC(condition="LOI=='NORMALE'",
17892 #
17893          VALE_MOY   = SIMP(statut="o",typ="R",max=1,
17894                                fr="Valeur moyenne.",
17895                                ang="Mean value."),
17896 #
17897          ECART_TYPE = SIMP(statut="o",typ="R",max=1,
17898                                fr="Ecart type.",
17899                                ang="Standard deviation."),
17900 #
17901        ),
17902 #
17903 # 7.2.2. ==> Loi lognormale
17904 #
17905        b_lognormale=BLOC(condition="LOI=='LOGNORMALE'",
17906 #
17907          VALE_MIN       = SIMP(statut="o",typ="R",max=1,
17908                                    fr="Valeur minimale.",
17909                                    ang="Minimal value."),
17910 #
17911          VALE_MOY       = SIMP(statut="f",typ="R",max=1,
17912                                    fr="Valeur moyenne dans l'espace de la loi normale.",
17913                                    ang="Mean value in the space of the normal law."),
17914 #
17915          ECART_TYPE     = SIMP(statut="f",typ="R",max=1,
17916                                    fr="Ecart type dans l'espace de la loi normale.",
17917                                    ang="Standard deviation in the space of the normal law."),
17918 #
17919          VALE_MOY_PHY   = SIMP(statut="f",typ="R",max=1,
17920                                    fr="Valeur moyenne dans l'espace physique.",
17921                                    ang="Mean value in the physical space."),
17922 #
17923          ECART_TYPE_PHY = SIMP(statut="f",typ="R",max=1,
17924                                    fr="Ecart type dans l'espace physique.",
17925                                    ang="Standard deviation in the physical space."),
17926 #
17927          regles=(AU_MOINS_UN("VALE_MOY"  ,"VALE_MOY_PHY"),
17928                  AU_MOINS_UN("ECART_TYPE","ECART_TYPE_PHY"),
17929                  EXCLUS  ("VALE_MOY"  ,"VALE_MOY_PHY"),
17930                  EXCLUS  ("VALE_MOY"  ,"ECART_TYPE_PHY"),
17931                  EXCLUS  ("ECART_TYPE","VALE_MOY_PHY"),
17932                  EXCLUS  ("ECART_TYPE","ECART_TYPE_PHY")),
17933 #
17934        ),
17935 #
17936 # 7.2.3. ==> Loi uniforme
17937 #
17938        b_uniforme=BLOC(condition="LOI=='UNIFORME'",
17939 #
17940          VALE_MIN = SIMP(statut="o",typ="R",max=1,
17941                              fr="Valeur minimale.",
17942                              ang="Minimal value."),
17943 #
17944          VALE_MAX = SIMP(statut="o",typ="R",max=1,
17945                              fr="Valeur maximale.",
17946                              ang="Maximal value."),
17947 #
17948        ),
17949 #
17950 # 7.2.4. ==> Loi normale tronquée
17951 #
17952        b_normale_tronquee=BLOC(condition="LOI=='NORMALE_TRONQUEE'",
17953 #
17954          VALE_MOY   = SIMP(statut="o",typ="R",max=1,
17955                                fr="Valeur moyenne de la loi normale complète.",
17956                                ang="Mean value for the entire normal law."),
17957 #
17958          ECART_TYPE = SIMP(statut="o",typ="R",max=1,
17959                                fr="Ecart type de la loi normale complète.",
17960                                ang="Standard deviation for the entire normal law."),
17961 #
17962          VALE_MIN   = SIMP(statut="o",typ="R",max=1,
17963                                fr="Valeur minimale.",
17964                                ang="Minimal value."),
17965 #
17966          VALE_MAX   = SIMP(statut="o",typ="R",max=1,
17967                                fr="Valeur maximale.",
17968                                ang="Maximal value."),
17969 #
17970        ),
17971 #
17972 # 7.3. ==> Paramètres de calcul
17973 # 7.3.1. ==> Soit on cherche le point de conception, soit on le connait deja
17974 #
17975        regles=(EXCLUS("POINT_INI","POINT_CONCEPT"),
17976                EXCLUS("POINT_REF","POINT_CONCEPT"),),
17977 #
17978 # 7.3.2. ==> Quand on cherche le point de conception, on peut préciser le départ de l'algorithme.
17979 #            Si on ne le fait pas, le programme prendra la valeur moyenne.
17980 #
17981        POINT_INI = SIMP(statut="f",typ="R",max=1,
17982                           fr="Point de démarrage de l'algorithme itératif.",
17983                           ang="Initial point for iterative process."),
17984 #
17985 # 7.3.3. ==> Quand on cherche le point de conception, on peut préciser un point de référence pour normaliser.
17986 #            Si on ne le fait pas, le programme prendra la valeur moyenne.
17987 #
17988        POINT_REF = SIMP(statut="f",typ="R",max=1,
17989                           fr="Point de référence de l'algorithme itératif.",
17990                           ang="Reference point for iterative process."),
17991 #
17992 # 7.3.4. ==> Quand on cherche uniquement la probabilité de défaillance, il faut donner le point de conception
17993 #
17994        POINT_CONCEPT = SIMP(statut="f",typ="R",max=1,
17995                               fr="Point de conception.",
17996                               ang="Design point."),
17997 #
17998 # 7.4. ==> Mode d'obtention du gradient par rapport à ce paramètre
17999 #
18000        GRADIENT = SIMP(statut="o",typ="TXM",max=1,
18001                            into=("OUI","NON"),
18002                            fr="ASTER calcule directement le gradient.",
18003                        ang="ASTER computes the gradient for this parameter."),
18004
18005        b_gradient=BLOC(condition="GRADIENT=='NON'",
18006          INCREMENT = SIMP(statut="o",typ="R",max=1,
18007                              fr="Incrément dans la direction.",
18008                          ang="Direction increment."),
18009        ),
18010
18011    ),
18012 #
18013 );
18014 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
18015 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18016 # ======================================================================
18017 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
18018 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
18019 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
18020 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
18021 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
18022 #                                                                       
18023 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
18024 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
18025 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
18026 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
18027 #                                                                       
18028 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
18029 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
18030 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
18031 # ======================================================================
18032 # RESPONSABLE GNICOLAS G.NICOLAS
18033
18034 from Macro.macr_fiab_impr_ops import macr_fiab_impr_ops
18035
18036 MACR_FIAB_IMPR=MACRO(nom="MACR_FIAB_IMPR",op=macr_fiab_impr_ops,
18037                      docu="U7.04.41",UIinfo={"groupe":("Impression",)},
18038                      fr="Imprimer les valeurs à transmettre au logiciel de fiabilité.",
18039                      ang="Print values for the fiability software",
18040 #
18041 # 1. Le niveau d'information
18042 #
18043    INFO           = SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
18044 #
18045 # 2. Impression de la valeur de la cible
18046 #
18047 # 2.1. ==> La table contenant la valeur à imprimer
18048 #
18049    TABLE_CIBLE = SIMP(statut='o',typ=table_sdaster,
18050                  fr="Table contenant la valeur cible.",
18051                  ang="Table which includes the target value."),
18052 #
18053 # 2.2. ==> Le nom du paramètre associé à la valeur cible dans cette table
18054 #
18055    NOM_PARA_CIBLE = SIMP(statut='o',typ='TXM',
18056                     fr="Nom du paramètre associé à la valeur cible.",
18057                     ang="Name of the parameter connected to the target value."),
18058 #
18059 # 3. Impressions des valeurs des éventuels gradients
18060 #
18061    GRADIENTS = FACT(statut='f',min=1,max='**',
18062 #
18063 # 3.1. ==> La table contenant la valeur à imprimer
18064 #
18065        TABLE = SIMP(statut='o',typ=table_sdaster,
18066                     fr="Table contenant le gradient.",
18067                     ang="Table which includes the gradient."),
18068 #
18069 # 3.2. ==> Le paramètre sensible
18070 #
18071        PARA_SENSI = SIMP(statut='o',typ=(para_sensi,theta_geom),
18072                        fr="Paramètre sensible associé au gradient.",
18073                        ang="Sensitivity parameter connected to the gradient."),
18074 #
18075 # 3.3. ==> Le nom du paramètre associé au gradient dans cette table
18076 #
18077        NOM_PARA = SIMP(statut='o',typ='TXM',
18078                        fr="Nom du paramètre associé au gradient.",
18079                        ang="Name of the parameter connected to the gradient."),
18080 #
18081          ),
18082 #
18083 );
18084 #& MODIF COMMANDE  DATE 15/05/2007   AUTEUR GNICOLAS G.NICOLAS 
18085 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18086 # ======================================================================
18087 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18088 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18089 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18090 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18091 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18092 #
18093 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18094 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18095 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18096 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18097 #
18098 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18099 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18100 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18101 # ======================================================================
18102 # RESPONSABLE GNICOLAS G.NICOLAS
18103
18104 from Macro.macr_adap_mail_ops import macr_adap_mail_ops
18105
18106 MACR_INFO_MAIL=MACRO(nom="MACR_INFO_MAIL",op=macr_adap_mail_ops,
18107                      docu="U7.03.02-b",UIinfo={"groupe":("Maillage",)},
18108                      fr="Donner des informations sur un maillage.",
18109                      ang="To give information about a mesh.",
18110 #
18111 # 1. Le niveau d'information
18112 #
18113   INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
18114 #
18115 # 2. Version de HOMARD
18116 #
18117   VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V8_7",
18118                         into=("V8_7", "V8_N", "V8_N_PERSO"),
18119                         fr="Version de HOMARD",
18120                         ang="HOMARD release"),
18121 #
18122 # 3. Langue des messages issus de HOMARD
18123 #
18124   LANGUE = SIMP(statut='f',typ='TXM',defaut="FRANCAIS",    
18125                 into=("FRANCAIS","FRENCH","ANGLAIS","ENGLISH",),
18126                 fr="Langue des messages issus de HOMARD.",
18127                 ang="Language for HOMARD messages." ),
18128 #
18129 # 4. Le nom du maillage a analyser
18130 #
18131   MAILLAGE = SIMP(statut='o',typ=maillage_sdaster,
18132                   fr="Maillage à analyser.",
18133                   ang="Mesh to be checked." ),
18134 #
18135 # 5. Suivi d'une frontiere
18136 #
18137   MAILLAGE_FRONTIERE = SIMP(statut='f',typ=maillage_sdaster,
18138                            fr="Maillage de la frontiere à suivre",
18139                            ang="Boundary mesh" ),
18140 #
18141   b_frontiere = BLOC( condition = " MAILLAGE_FRONTIERE != None " ,
18142                       fr="Information complémentaire sur la frontière",
18143                       ang="Further information about boundary",
18144 #
18145     GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
18146                     fr="Groupes de mailles définissant la frontière",
18147                     ang="Mesh groups which define the boundary" ),
18148 #
18149                     ) ,
18150 #
18151 # 6. Les options ; par defaut, on controle tout
18152 # 6.1. Nombre de noeuds et elements
18153 #
18154   NOMBRE         = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),
18155                         fr="Nombre de noeuds et éléments du maillage",
18156                         ang="Number of nodes and elements in the mesh" ),
18157 #
18158 # 6.2. Determination de la qualite des elements du maillage
18159 #
18160   QUALITE        = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),
18161                         fr="Qualité du maillage",
18162                         ang="Mesh quality" ),
18163 #
18164 # 6.3. Connexite du maillage
18165 #
18166   CONNEXITE      = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),
18167                         fr="Connexité du maillage.",
18168                         ang="Mesh connexity." ),
18169 #
18170 # 6.4. Taille des sous-domaines du maillage
18171 #
18172   TAILLE         = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),
18173                         fr="Tailles des sous-domaines du maillage.",
18174                         ang="Sizes of mesh sub-domains." ),
18175 #
18176 # 6.5. Controle de la non-interpenetration des elements
18177 #
18178   INTERPENETRATION=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
18179                         fr="Controle de la non interpénétration des éléments.",
18180                         ang="Overlapping checking." ),
18181 #
18182 # 7. Gestion des éléments autres que ceux compatibles avec HOMARD
18183 #       "REFUSER" : ils sont refuses (defaut)
18184 #       "IGNORER" : ils sont ignorés
18185 #
18186   ELEMENTS_NON_HOMARD = SIMP(statut='f',typ='TXM',defaut="REFUSER",into=("REFUSER","IGNORER"),
18187                              fr="Acceptation d'éléments incompatibles avec HOMARD",
18188                              ang="Incompatible elements for HOMARD" ),
18189 )  ;
18190 #& MODIF COMMANDE  DATE 22/05/2007   AUTEUR GALENNE E.GALENNE 
18191 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18192 # ======================================================================
18193 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
18194 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
18195 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
18196 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
18197 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
18198 #                                                                       
18199 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
18200 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
18201 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
18202 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
18203 #                                                                       
18204 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
18205 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
18206 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
18207 # ======================================================================
18208
18209 from Macro.macr_lign_coupe_ops import macr_lign_coupe_ops
18210
18211 MACR_LIGN_COUPE=MACRO(nom="MACR_LIGN_COUPE",op=macr_lign_coupe_ops,sd_prod=table_sdaster,
18212                        reentrant='n',
18213             UIinfo={"groupes":("Outils métier",)},
18214             fr="Extraction des valeurs d'un résultat dans une ou plusieurs tables sur des lignes de coupe définies"
18215              +" par deux points et un intervalle",
18216             regles=(UN_PARMI("RESULTAT","CHAM_GD"),),
18217                    
18218          RESULTAT        =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther) ),
18219          CHAM_GD         =SIMP(statut='f',typ=(cham_gd_sdaster)),
18220
18221          b_extrac        =BLOC(condition = "RESULTAT != None",fr="extraction des résultats",
18222                                  regles=(EXCLUS('NUME_ORDRE','LIST_ORDRE','INST','LIST_INST',), ),           
18223              NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),  
18224              LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
18225              INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),  
18226              LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
18227              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),  
18228              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
18229            ),
18230
18231 # extraction des résultats
18232          b_meca        =BLOC(condition = "AsType(RESULTAT) in (evol_elas,evol_noli)",fr="résultat mécanique",
18233            NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut='SIGM_NOEU_DEPL' ),  
18234          ),
18235          b_ther        =BLOC(condition = "AsType(RESULTAT) in (evol_ther,)",fr="résultat thermique",
18236            NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut='TEMP' ),  
18237          ),
18238          b_cham       =BLOC(condition = "CHAM_GD!=None",
18239            NOM_CHAM        =SIMP(statut='f',typ='TXM',),),
18240
18241          UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut=25),
18242          MODELE          =SIMP(statut='f',typ=modele_sdaster ),
18243
18244          VIS_A_VIS       =FACT(statut='f',max='**',
18245                              regles=(EXCLUS('GROUP_MA_1','MAILLE_1'),),
18246            GROUP_MA_1        =SIMP(statut='f',typ=grma),
18247            MAILLE_1          =SIMP(statut='f',typ=ma,max='**'),),
18248          
18249          LIGN_COUPE     =FACT(statut='o',max='**',
18250             regles=(EXCLUS("NOM_CMP","INVARIANT","ELEM_PRINCIPAUX","RESULTANTE"),
18251                     PRESENT_PRESENT("TRAC_DIR","DIRECTION"),
18252                     EXCLUS("TRAC_DIR","TRAC_NOR"), 
18253                     PRESENT_PRESENT("TRAC_DIR","NOM_CMP"),
18254                     PRESENT_PRESENT("TRAC_NOR","NOM_CMP"),),
18255
18256            INTITULE        =SIMP(statut='f',typ='TXM',),
18257            TYPE            =SIMP(statut='o',typ='TXM',max=1,
18258                                  into=("GROUP_NO","SEGMENT","ARC","GROUP_MA"),defaut="SEGMENT"),
18259            REPERE          =SIMP(statut='f',typ='TXM',defaut="GLOBAL",
18260                                 into=("GLOBAL","LOCAL","POLAIRE","UTILISATEUR","CYLINDRIQUE"),),
18261            OPERATION       =SIMP(statut='f',typ='TXM',into=("EXTRACTION","MOYENNE",),defaut="EXTRACTION",),
18262
18263            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
18264            INVARIANT       =SIMP(statut='f',typ='TXM',into=("OUI",),),
18265            ELEM_PRINCIPAUX =SIMP(statut='f',typ='TXM',into=("OUI",),),
18266            RESULTANTE      =SIMP(statut='f',typ='TXM',max='**'),
18267            TRAC_NOR        =SIMP(statut='f',typ='TXM',into=("OUI",)),
18268            TRAC_DIR        =SIMP(statut='f',typ='TXM',into=("OUI",)),
18269            DIRECTION       =SIMP(statut='f',typ='R',max='**'),  
18270
18271
18272            b_local        =BLOC(condition = "REPERE=='LOCAL' ",
18273              VECT_Y          =SIMP(statut='o',typ='R',min=2,max=3),),
18274
18275            b_utili        =BLOC(condition = "REPERE=='UTILISATEUR'",
18276              ANGL_NAUT       =SIMP(statut='o',typ='R',min=3,max=3),),
18277
18278            b_grno          =BLOC(condition = "TYPE=='GROUP_NO'",    
18279              GROUP_NO        =SIMP(statut='o',typ=grno, max=1),),
18280
18281            b_grma          =BLOC(condition = "TYPE=='GROUP_MA'",    
18282              GROUP_MA        =SIMP(statut='o',typ=grma, max=1),
18283              MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),),
18284
18285            b_segment       =BLOC(condition = "TYPE=='SEGMENT'",    
18286              NB_POINTS       =SIMP(statut='o',typ='I',max=1),
18287              COOR_ORIG       =SIMP(statut='o',typ='R',min=2,max=3),  
18288              COOR_EXTR       =SIMP(statut='o',typ='R',min=2,max=3),),
18289
18290            b_arc           =BLOC(condition = "TYPE=='ARC'",    
18291              NB_POINTS       =SIMP(statut='o',typ='I',max=1),
18292              COOR_ORIG       =SIMP(statut='o',typ='R',min=2,max=3),  
18293              CENTRE          =SIMP(statut='o',typ='R',min=2,max=3),
18294              ANGLE           =SIMP(statut='o',typ='R',max=1),
18295              DNOR            =SIMP(statut='f',typ='R',min=2,max=3),),
18296
18297            b_cylind       =BLOC(condition = ("REPERE=='CYLINDRIQUE' and TYPE!='ARC'"),
18298              ORIGINE         =SIMP(statut='f',typ='R',min=2,max=3),  
18299              AXE_Z           =SIMP(statut='f',typ='R',min=3,max=3),),
18300            
18301          ),
18302 )  ;
18303
18304
18305 #& MODIF COMMANDE  DATE 04/04/2006   AUTEUR CIBHHLV L.VIVAN 
18306 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18307 # ======================================================================
18308 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18309 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18310 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18311 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18312 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18313 #
18314 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18315 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18316 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18317 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18318 #
18319 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18320 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18321 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18322 # ======================================================================
18323 # RESPONSABLE G8BHHXD X.DESROCHES
18324
18325 from Macro.macro_elas_mult_ops import macro_elas_mult_ops
18326
18327 def macro_elas_mult_prod(self,NUME_DDL,CAS_CHARGE,**args ):
18328   if isinstance(NUME_DDL,CO) :
18329     self.type_sdprod(NUME_DDL,nume_ddl_sdaster)
18330   else:
18331     self.type_sdprod(NUME_DDL,NUME_DDL.__class__)
18332   if CAS_CHARGE[0]['NOM_CAS']      != None : return mult_elas
18333   if CAS_CHARGE[0]['MODE_FOURIER'] != None : return fourier_elas
18334   raise AsException("type de concept resultat non prevu")
18335
18336 MACRO_ELAS_MULT=MACRO(nom="MACRO_ELAS_MULT",op=macro_elas_mult_ops,sd_prod=macro_elas_mult_prod,reentrant='f',
18337             UIinfo={"groupes":("Résolution",)},
18338          fr="Calculer les réponses statiques linéaires pour différents cas de charges ou modes de Fourier",
18339          regles=(UN_PARMI('CHAR_MECA_GLOBAL','CHAR_CINE_GLOBAL','LIAISON_DISCRET', ),),
18340          MODELE          =SIMP(statut='o',typ=modele_sdaster),
18341          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
18342          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
18343          NUME_DDL        =SIMP(statut='f',typ=(nume_ddl_sdaster,CO)),
18344          CHAR_MECA_GLOBAL=SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
18345          CHAR_CINE_GLOBAL=SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
18346          LIAISON_DISCRET =SIMP(statut='f',typ='TXM',into=("OUI",)),
18347          CAS_CHARGE      =FACT(statut='o',max='**',
18348            regles=(UN_PARMI('NOM_CAS','MODE_FOURIER'),
18349                    UN_PARMI('CHAR_MECA','CHAR_CINE','VECT_ASSE'),),
18350            NOM_CAS         =SIMP(statut='f',typ='TXM' ),
18351            MODE_FOURIER    =SIMP(statut='f',typ='I' ),
18352            TYPE_MODE       =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ),
18353            CHAR_MECA       =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
18354            CHAR_CINE       =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
18355            OPTION          =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
18356                                  into=("EFGE_ELNO_DEPL","EPOT_ELEM_DEPL","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL",
18357                                        "SIGM_ELNO_CART","EFGE_ELNO_CART","DEGE_ELNO_DEPL","EPSI_ELNO_DEPL",
18358                                        "EPSI_ELGA_DEPL","EPSG_ELNO_DEPL","EPSG_ELGA_DEPL","EPSP_ELNO","EPSP_ELGA",
18359                                        "ECIN_ELEM_DEPL","FLUX_ELGA_TEMP","FLUX_ELNO_TEMP","SOUR_ELGA_ELEC",
18360                                        "PRES_ELNO_DBEL","PRES_ELNO_REEL","PRES_ELNO_IMAG","INTE_ELNO_ACTI",
18361                                        "INTE_ELNO_REAC","SIGM_NOZ1_ELGA","ERZ1_ELEM_SIGM","SIGM_NOZ2_ELGA",
18362                                        "ERZ2_ELEM_SIGM","VNOR_ELEM_DEPL","ERRE_ELNO_ELEM","SIRE_ELNO_DEPL",
18363                                        "ERRE_ELEM_SIGM","EQUI_ELNO_SIGM","EQUI_ELGA_SIGM","EQUI_ELNO_EPSI",
18364                                        "QIRE_ELEM_SIGM","QIRE_ELNO_ELEM","QIZ1_ELEM_SIGM","QIZ2_ELEM_SIGM",
18365                                        "EQUI_ELGA_EPSI","FORC_NODA","REAC_NODA","EPSI_NOEU_DEPL","SIGM_NOEU_DEPL",
18366                                        "EFGE_NOEU_DEPL","EQUI_NOEU_SIGM","EQUI_NOEU_EPSI","FLUX_NOEU_TEMP") ),
18367            NUME_COUCHE     =SIMP(statut='f',typ='I',defaut=1),
18368            NIVE_COUCHE     =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY")),
18369            SOUS_TITRE      =SIMP(statut='f',typ='TXM',max='**'),
18370            VECT_ASSE       =SIMP(statut='f',typ=cham_no_sdaster),
18371          ),
18372          SOLVEUR         =FACT(statut='d',
18373            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT") ),
18374            b_mult_front    = BLOC ( condition = "METHODE == 'MULT_FRONT' ",
18375                                     fr="Paramètres de la méthode multi frontale",
18376              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
18377            ),
18378            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
18379              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
18380             ),
18381            b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
18382                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
18383              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
18384              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
18385            ),
18386          ),
18387          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2)),
18388          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
18389 )  ;
18390 #& MODIF COMMANDE  DATE 22/12/2006   AUTEUR BODEL C.BODEL 
18391 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18392 # ======================================================================
18393 # COPYRIGHT (C) 1991 - 2006  EDF R&D                  WWW.CODE-ASTER.ORG
18394 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
18395 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
18396 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
18397 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
18398 #                                                                       
18399 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
18400 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
18401 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
18402 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
18403 #                                                                       
18404 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
18405 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
18406 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
18407 # ======================================================================
18408
18409
18410 from Macro.macro_expans_ops import macro_expans_ops
18411
18412 def macro_expans_prod(self, MODELE_MESURE, RESU_NX, RESU_EX, RESU_ET, RESU_RD, **args):
18413     RESU_EXP = MODELE_MESURE['MESURE']
18414     for res in (RESU_NX, RESU_EX, RESU_ET, RESU_RD):
18415         if isinstance(res, CO):
18416             if AsType(RESU_EXP) == mode_meca:
18417                 self.type_sdprod(res, mode_meca)
18418             else:
18419                 self.type_sdprod(res, dyna_harmo)
18420         else:
18421             self.type_sdprod(res,res.__class__)
18422     return None
18423
18424 MACRO_EXPANS=MACRO(nom="MACRO_EXPANS",
18425                    op=macro_expans_ops,
18426                    sd_prod=macro_expans_prod,
18427                    reentrant='n',
18428                    UIinfo={"groupes":("Outils métier",)},
18429                    fr="Outil d'expansion de resultats exprimentaux sur une base definie sur un modele numerique",
18430                         MODELE_CALCUL   = FACT(statut='o',
18431                            MODELE          = SIMP(statut='o',typ=(modele_sdaster) ),
18432                            BASE            = SIMP(statut='o',typ=(mode_meca,base_modale,) ), 
18433                            NUME_MODE       = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**',defaut=0),
18434                                              ),
18435                         MODELE_MESURE   = FACT(statut='o',
18436                            MODELE          = SIMP(statut='o',typ=(modele_sdaster) ),
18437                            MESURE          = SIMP(statut='o',typ=(dyna_trans,dyna_harmo,base_modale,mode_meca,mode_meca_c,) ),
18438                            NOM_CHAM        = SIMP(statut='f',typ='TXM',defaut="DEPL",
18439                                                   into=("DEPL","VITE","ACCE","SIEF_NOEU","EPSI_NOEU_DEPL",) ),
18440                            NUME_MODE       = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**',defaut=0),
18441                                              ),
18442                         NUME_DDL       = SIMP(statut='f',typ=(nume_ddl_sdaster)),
18443                         RESU_NX        = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)),
18444                         RESU_EX        = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)),
18445                         RESU_ET        = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)),
18446                         RESU_RD        = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)),
18447                         RESOLUTION     = FACT(statut='f',
18448                            METHODE =SIMP(statut='f',typ='TXM',defaut="LU",into=("LU","SVD",) ),
18449                            b_svd   =BLOC(condition="METHODE=='SVD'",
18450                                          EPS=SIMP(statut='f',typ='R',defaut=0. ),
18451                                         ),
18452                            REGUL   =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","NORM_MIN","TIK_RELA",) ),
18453                            b_regul =BLOC(condition="REGUL!='NON'",
18454                                          regles=(PRESENT_ABSENT('COEF_PONDER','COEF_PONDER_F', ),),
18455                                          COEF_PONDER   =SIMP(statut='f',typ='R',defaut=0.     ,max='**' ),
18456                                          COEF_PONDER_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ),
18457                                         ),
18458                                              ),
18459                    )
18460 #& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETTE 
18461 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18462 # ======================================================================
18463 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18464 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18465 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18466 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18467 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18468 #
18469 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18470 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18471 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18472 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18473 #
18474 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18475 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18476 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18477 # ======================================================================
18478
18479 from Macro.macro_matr_ajou_ops import macro_matr_ajou_ops
18480
18481 def macro_matr_ajou_prod(self,MATR_AMOR_AJOU,MATR_MASS_AJOU,MATR_RIGI_AJOU,FORC_AJOU,**args):
18482   self.type_sdprod(MATR_AMOR_AJOU,matr_asse_gene_r)
18483   self.type_sdprod(MATR_MASS_AJOU,matr_asse_gene_r)
18484   self.type_sdprod(MATR_RIGI_AJOU,matr_asse_gene_r)
18485   if FORC_AJOU != None:
18486     for m in FORC_AJOU:
18487       self.type_sdprod(m['VECTEUR'],vect_asse_gene)
18488
18489   return None
18490
18491 MACRO_MATR_AJOU=MACRO(nom="MACRO_MATR_AJOU",op=macro_matr_ajou_ops,sd_prod=macro_matr_ajou_prod,
18492             UIinfo={"groupes":("Matrices/vecteurs",)},
18493             fr="Calculer de facon plus condensée qu'avec CALC_MATR_AJOU des matrices de masse, d'amortissement"
18494               +" ou de rigidité ajoutés",
18495       regles=(AU_MOINS_UN('MODE_MECA','DEPL_IMPO','MODELE_GENE'),
18496               AU_MOINS_UN('MATR_MASS_AJOU','MATR_AMOR_AJOU','MATR_RIGI_AJOU'),
18497               EXCLUS('MODE_MECA','DEPL_IMPO','MODELE_GENE'),
18498               EXCLUS('MONO_APPUI','MODE_STAT',),
18499              ),
18500          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),
18501          GROUP_MA_FLUIDE =SIMP(statut='o',typ=grma),
18502          GROUP_MA_INTERF =SIMP(statut='o',typ=grma),
18503          MODELISATION    =SIMP(statut='o',typ='TXM',into=("PLAN","AXIS","3D")),
18504          FLUIDE          =FACT(statut='o',max='**',
18505            RHO             =SIMP(statut='o',typ='R'),
18506            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
18507            GROUP_MA        =SIMP(statut='f',typ=grma),
18508            MAILLE          =SIMP(statut='f',typ=ma),
18509          ),
18510          DDL_IMPO        =FACT(statut='o',max='**',
18511            regles=(UN_PARMI('NOEUD','GROUP_NO'),
18512                    UN_PARMI('PRES_FLUIDE','PRES_SORTIE'),),
18513            NOEUD           =SIMP(statut='f',typ=no),
18514            GROUP_NO        =SIMP(statut='f',typ=grno),
18515            PRES_FLUIDE     =SIMP(statut='f',typ='R'),
18516            PRES_SORTIE     =SIMP(statut='f',typ='R'),
18517          ),
18518          ECOULEMENT      =FACT(statut='f',
18519            GROUP_MA_1      =SIMP(statut='o',typ=grma),
18520            GROUP_MA_2      =SIMP(statut='o',typ=grma),
18521            VNOR_1          =SIMP(statut='o',typ='R'),
18522            VNOR_2          =SIMP(statut='f',typ='R'),
18523            POTENTIEL       =SIMP(statut='f',typ=evol_ther),
18524          ),
18525          MODE_MECA       =SIMP(statut='f',typ=mode_meca),
18526          DEPL_IMPO       =SIMP(statut='f',typ=cham_no_sdaster),
18527          MODELE_GENE     =SIMP(statut='f',typ=modele_gene),
18528          NUME_DDL_GENE   =SIMP(statut='f',typ=nume_ddl_gene),
18529          DIST_REFE       =SIMP(statut='f',typ='R',defaut= 1.0E-2),
18530          MATR_MASS_AJOU  =SIMP(statut='f',typ=CO,),
18531          MATR_RIGI_AJOU  =SIMP(statut='f',typ=CO,),
18532          MATR_AMOR_AJOU  =SIMP(statut='f',typ=CO,),
18533          MONO_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",),),
18534          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,),),
18535          FORC_AJOU       =FACT(statut='f',max='**',
18536            DIRECTION     =SIMP(statut='o',typ='R',max=3),
18537            NOEUD         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
18538            GROUP_NO      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
18539            VECTEUR       =SIMP(statut='o',typ=CO),
18540          ),
18541          SOLVEUR         =FACT(statut='d',
18542            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
18543            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
18544              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
18545            ),
18546            b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
18547              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
18548            ),
18549            b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
18550                                    fr="Paramètres relatifs à la non iversibilité de la matrice à factorise",
18551              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
18552              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
18553            ),
18554            b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
18555              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
18556              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
18557              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
18558              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
18559              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
18560            ),
18561          ),
18562          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
18563          NOEUD_DOUBLE    =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
18564          AVEC_MODE_STAT  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
18565 )
18566 #& MODIF COMMANDE  DATE 12/06/2006   AUTEUR CIBHHLV L.VIVAN 
18567 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18568 # ======================================================================
18569 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18570 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18571 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18572 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
18573 # (AT YOUR OPTION) ANY LATER VERSION.
18574 #
18575 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
18576 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
18577 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
18578 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
18579 #
18580 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
18581 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
18582 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
18583 # ======================================================================
18584
18585 from Macro.macro_matr_asse_ops import macro_matr_asse_ops
18586
18587 def macro_matr_asse_prod(self,NUME_DDL,MATR_ASSE,**args):
18588   if not MATR_ASSE:  raise AsException("Impossible de typer les concepts resultats")
18589   if not NUME_DDL :  raise AsException("Impossible de typer les concepts resultats")
18590   if isinstance(NUME_DDL,CO) :
18591     self.type_sdprod(NUME_DDL,nume_ddl_sdaster)
18592   else:
18593     self.type_sdprod(NUME_DDL,NUME_DDL.__class__)
18594   for m in MATR_ASSE:
18595     opti=m['OPTION']
18596
18597     if opti in ( "RIGI_MECA","RIGI_FLUI_STRU","RIGI_MECA_LAGR" ,
18598        "MASS_MECA" , "MASS_FLUI_STRU" ,"RIGI_GEOM" ,"RIGI_ROTA",
18599        "AMOR_MECA","IMPE_MECA","MASS_ID_MDEP_R","MASS_ID_MDNS_R",
18600        "ONDE_FLUI","MASS_MECA_DIAG" ) : t=matr_asse_depl_r
18601
18602     if opti in ( "RIGI_ACOU","MASS_ACOU","AMOR_ACOU",) : t=matr_asse_pres_c
18603
18604     if opti in ( "RIGI_THER","MASS_THER","RIGI_THER_CONV" ,
18605        "RIGI_THER_CONV_D","MASS_ID_MTEM_R","MASS_ID_MTNS_R",) : t=matr_asse_temp_r
18606
18607     if opti == "RIGI_MECA_HYST"   : t= matr_asse_depl_c
18608
18609     self.type_sdprod(m['MATRICE'],t)
18610   return None
18611
18612 MACRO_MATR_ASSE=MACRO(nom="MACRO_MATR_ASSE",op=macro_matr_asse_ops,
18613             UIinfo={"groupes":("Matrices/vecteurs",)},
18614                       sd_prod=macro_matr_asse_prod,
18615                       fr="Calcul des matrices assemblées (rigidité, masse, amortissement,...) ",
18616          MODELE          =SIMP(statut='o',typ=modele_sdaster),
18617          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
18618          INST            =SIMP(statut='f',typ='R',defaut=0.),
18619          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
18620          CHARGE          =SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**'),
18621          CHAR_CINE       =SIMP(statut='f',typ=(char_cine_meca,char_cine_ther,char_cine_acou) ),
18622          NUME_DDL        =SIMP(statut='o',typ=(nume_ddl_sdaster,CO)),
18623          SOLVEUR         =FACT(statut='d',
18624            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",
18625                                  into=("LDLT","MULT_FRONT","GCPC","MUMPS")),
18626            RENUM           =SIMP(statut='f',typ='TXM',into=("SANS","RCMK","MD","MDA","METIS")),
18627          ),
18628
18629          MATR_ASSE       =FACT(statut='o',max='**',
18630              MATRICE         =SIMP(statut='o',typ=CO),
18631              OPTION          =SIMP(statut='o',typ='TXM',
18632                                    into=("RIGI_MECA","MASS_MECA","MASS_MECA_DIAG",
18633                                          "AMOR_MECA","RIGI_MECA_HYST","IMPE_MECA",
18634                                          "ONDE_FLUI","RIGI_FLUI_STRU","MASS_FLUI_STRU",
18635                                          "RIGI_ROTA","RIGI_GEOM","RIGI_MECA_LAGR",
18636                                          "RIGI_THER","MASS_THER",
18637                                          "RIGI_ACOU","MASS_ACOU","AMOR_ACOU",
18638                                          "MASS_ID_MTEM_R","MASS_ID_MTNS_R","MASS_ID_MDEP_R","MASS_ID_MDNS_R",)
18639                                    ),
18640
18641              b_rigi_meca = BLOC( condition = "OPTION=='RIGI_MECA'",
18642                MODE_FOURIER    =SIMP(statut='f',typ='I',defaut= 0),
18643              ),
18644
18645              b_rigi_geom = BLOC( condition = "OPTION=='RIGI_GEOM'",
18646                SIEF_ELGA       =SIMP(statut='o',typ=cham_elem),
18647                MODE_FOURIER    =SIMP(statut='f',typ='I',defaut= 0),
18648              ),
18649
18650              b_rigi_meca_lagr = BLOC( condition = "OPTION=='RIGI_MECA_LAGR'",
18651                THETA           =SIMP(statut='o',typ=theta_geom),
18652                PROPAGATION     =SIMP(statut='f',typ='R'),
18653              ),
18654
18655              b_rigi_ther = BLOC( condition = "OPTION=='RIGI_THER'",
18656                MODE_FOURIER    =SIMP(statut='f',typ='I',defaut= 0),
18657              ),
18658
18659          ), # fin MATR_ASSE
18660
18661          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
18662          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
18663 )  ;
18664 #& MODIF COMMANDE  DATE 29/05/2007   AUTEUR VOLDOIRE F.VOLDOIRE 
18665 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18666 # ======================================================================
18667 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18668 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18669 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18670 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18671 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18672 #
18673 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18674 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18675 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18676 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18677 #
18678 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18679 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18680 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18681 # ======================================================================
18682
18683 from Macro.macro_miss_3d_ops import macro_miss_3d_ops
18684
18685 MACRO_MISS_3D=MACRO(nom="MACRO_MISS_3D",op=macro_miss_3d_ops,
18686             fr="Préparation des données puis exécution du logiciel MISS3D",
18687             UIinfo={"groupes":("Matrices/vecteurs",)},
18688          OPTION          =FACT(statut='o',
18689            regles=(UN_PARMI('TOUT','MODULE'),),
18690            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
18691            MODULE          =SIMP(statut='f',typ='TXM',into=("PRE_MISS","MISS_EVOL","MISS_IMPE")),
18692          ),
18693          PROJET          =SIMP(statut='o',typ='TXM'),  
18694          REPERTOIRE      =SIMP(statut='f',typ='TXM'),
18695          VERSION         =SIMP(statut='f',typ='TXM',into=("V1_3","V1_4",),defaut="V1_3"),
18696          UNITE_IMPR_ASTER=SIMP(statut='f',typ='I',defaut=25),  
18697          UNITE_OPTI_MISS =SIMP(statut='f',typ='I',defaut=26),  
18698          UNITE_MODELE_SOL=SIMP(statut='f',typ='I',defaut=27),  
18699          UNITE_RESU_IMPE =SIMP(statut='f',typ='I',defaut=30),
18700          UNITE_RESU_FORC =SIMP(statut='f',typ='I',defaut=0),
18701          PARAMETRE       =FACT(statut='f',         
18702            regles=(PRESENT_PRESENT('FREQ_MIN','FREQ_MAX','FREQ_PAS'),
18703                    PRESENT_PRESENT('CONTR_NB','CONTR_LISTE'),
18704                    PRESENT_PRESENT('LFREQ_NB','LFREQ_LISTE'),
18705                    PRESENT_PRESENT('OFFSET_MAX','OFFSET_NB'),
18706                    PRESENT_PRESENT('SPEC_MAX','SPEC_NB'),),
18707            FREQ_MIN        =SIMP(statut='f',typ='R'), 
18708            FREQ_MAX        =SIMP(statut='f',typ='R'),
18709            FREQ_PAS        =SIMP(statut='f',typ='R'),
18710            Z0              =SIMP(statut='f',typ='R'), 
18711            SURF            =SIMP(statut='f',typ='TXM',into=("OUI","NON",),defaut="NON"),
18712            RFIC            =SIMP(statut='f',typ='R'),
18713            FICH_RESU_IMPE  =SIMP(statut='f',typ='TXM'),
18714            FICH_RESU_FORC  =SIMP(statut='f',typ='TXM'),
18715            TYPE            =SIMP(statut='f',typ='TXM',into=("BINAIRE","ASCII",),defaut="ASCII"),
18716            DREF            =SIMP(statut='f',typ='R'),
18717            ALGO            =SIMP(statut='f',typ='TXM',into=("DEPL","REGU")),
18718            OFFSET_MAX      =SIMP(statut='f',typ='R'),
18719            OFFSET_NB       =SIMP(statut='f',typ='I'),
18720            SPEC_MAX        =SIMP(statut='f',typ='R'),
18721            SPEC_NB         =SIMP(statut='f',typ='I'),
18722            ISSF            =SIMP(statut='f',typ='TXM',into=("OUI","NON",),defaut="NON"),
18723            FICH_POST_TRAI  =SIMP(statut='f',typ='TXM'),
18724            CONTR_NB        =SIMP(statut='f',typ='I'),
18725            CONTR_LISTE     =SIMP(statut='f',typ='R',max='**'),
18726            LFREQ_NB        =SIMP(statut='f',typ='I'),
18727            LFREQ_LISTE     =SIMP(statut='f',typ='R',max='**'),
18728          ),
18729 )  ;
18730 #& MODIF COMMANDE  DATE 27/03/2007   AUTEUR BOYERE E.BOYERE 
18731 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18732 # ======================================================================
18733 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18734 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18735 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18736 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18737 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18738 #
18739 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18740 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18741 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18742 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18743 #
18744 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18745 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18746 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18747 # ======================================================================
18748
18749 from Macro.macro_mode_meca_ops import macro_mode_meca_ops
18750
18751 MACRO_MODE_MECA=MACRO(nom="MACRO_MODE_MECA",op=macro_mode_meca_ops,sd_prod=mode_meca,
18752                      reentrant='n',fr="Lancer une succession de calculs de modes propres réels",
18753             UIinfo={"groupes":("Résolution",)},
18754          MATR_A          =SIMP(statut='o',typ=matr_asse_depl_r ),
18755          MATR_B          =SIMP(statut='o',typ=matr_asse_depl_r ),
18756          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
18757 #  ce mot cle ne devrait il pas etre dans calc_freq  
18758          METHODE         =SIMP(statut='f',typ='TXM',defaut="SORENSEN",    
18759                                into=("TRI_DIAG","JACOBI","SORENSEN",) ),
18760          b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'",
18761            PREC_ORTHO      =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ),
18762            NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
18763            PREC_LANCZOS    =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ),
18764            NMAX_ITER_QR    =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), 
18765          ),
18766          b_jacobi =BLOC(condition = "METHODE == 'JACOBI'",
18767            PREC_BATHE      =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ),
18768            NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ),
18769            PREC_JACOBI     =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
18770            NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ),
18771          ),
18772          b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'",
18773            PREC_SOREN      =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ),  
18774            NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ),  
18775            PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717,val_min=0.E+0 ),
18776          ),
18777          OPTION          =SIMP(statut='f',typ='TXM',defaut="SANS",    
18778                                into=("MODE_RIGIDE","SANS") ),
18779          CALC_FREQ       =FACT(statut='d',min=0,
18780            regles=(UN_PARMI('FREQ','FREQ_MAX'),
18781                    PRESENT_PRESENT('FREQ_MIN','FREQ_MAX'),
18782                    PRESENT_PRESENT('FREQ_MAX','NB_BLOC_FREQ'),
18783                    EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),),
18784            FREQ            =SIMP(statut='f',typ='R',min=2,validators=NoRepeat(),max='**', ),  
18785            FREQ_MIN        =SIMP(statut='f',typ='R' ),  
18786            FREQ_MAX        =SIMP(statut='f',typ='R' ),  
18787            NB_BLOC_FREQ    =SIMP(statut='f',typ='I' ),  
18788            DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ),  
18789            COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ),
18790            NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8 ),  
18791            NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5 ),  
18792            PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2 ),  
18793            SEUIL_FREQ      =SIMP(statut='f',typ='R' ,defaut= 1.E-2 ),  
18794            STOP_FREQ_VIDE  =SIMP(statut='f',typ='TXM',defaut="NON" ,into=("OUI","NON") ),
18795          ),
18796          VERI_MODE       =FACT(statut='d',min=0,
18797            STOP_ERREUR     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
18798            SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-6 ),  
18799            PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-3 ),  
18800            STURM           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
18801          ),
18802          NORM_MODE       =FACT(statut='o',max='**',
18803            MASS_INER       =SIMP(statut='o',typ=table_sdaster),
18804            NORME           =SIMP(statut='f',typ='TXM',defaut="TRAN_ROTA",    
18805                                  into=("MASS_GENE","RIGI_GENE","EUCL",           
18806                                        "EUCL_TRAN","TRAN","TRAN_ROTA") ),
18807            INFO            =SIMP(statut='f',typ='I',defaut= 1 ,into=(1,2) ),
18808          ),
18809          FILTRE_MODE     =FACT(statut='f',
18810            CRIT_EXTR       =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",    
18811                                  into=("MASS_EFFE_UN","MASS_GENE") ),
18812            SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-3 ),  
18813          ),
18814          IMPRESSION      =FACT(statut='d',
18815            TOUT_PARA       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
18816            CUMUL           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
18817            CRIT_EXTR       =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",    
18818                                  into=("MASS_EFFE_UN","MASS_GENE",) ),
18819          ),
18820 )  ;
18821 #& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETTE 
18822 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18823 # ======================================================================
18824 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
18825 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
18826 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
18827 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
18828 # (AT YOUR OPTION) ANY LATER VERSION.                                 
18829 #
18830 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
18831 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
18832 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
18833 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
18834 #
18835 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
18836 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
18837 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
18838 # ======================================================================
18839
18840 from Macro.macro_proj_base_ops import macro_proj_base_ops
18841
18842 def macro_proj_base_prod(self,MATR_ASSE_GENE,VECT_ASSE_GENE,PROFIL,**args ):
18843   if MATR_ASSE_GENE != None:
18844     for m in MATR_ASSE_GENE:
18845       self.type_sdprod(m['MATRICE'],matr_asse_gene_r)
18846   if VECT_ASSE_GENE != None:
18847     for v in VECT_ASSE_GENE:
18848       self.type_sdprod(v['VECTEUR'],vect_asse_gene)
18849   return None
18850
18851 MACRO_PROJ_BASE=MACRO(nom="MACRO_PROJ_BASE",op=macro_proj_base_ops,
18852          regles=(AU_MOINS_UN('MATR_ASSE_GENE','VECT_ASSE_GENE')),
18853             UIinfo={"groupes":("Matrices/vecteurs",)},
18854                       sd_prod=macro_proj_base_prod,
18855          fr="Projection des matrices et/ou vecteurs assemblés sur une base (modale ou de RITZ)",
18856          BASE            =SIMP(statut='o',typ=(mode_meca,mode_stat,base_modale,mode_gene) ),
18857          NB_VECT         =SIMP(statut='f',typ='I',defaut= 9999),
18858          PROFIL          =SIMP(statut='f',typ='TXM',defaut="DIAG",into=("PLEIN","DIAG") ),
18859          MATR_ASSE_GENE  =FACT(statut='f',max='**',
18860            MATRICE         =SIMP(statut='o',typ=CO,),
18861            regles=(UN_PARMI('MATR_ASSE','MATR_ASSE_GENE',),),
18862            MATR_ASSE       =SIMP(statut='f',typ=matr_asse_depl_r),
18863            MATR_ASSE_GENE  =SIMP(statut='f',typ=matr_asse_gene_r),
18864          ),
18865          VECT_ASSE_GENE  =FACT(statut='f',max='**',
18866            VECTEUR         =SIMP(statut='o',typ=CO,),
18867            regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE',),),
18868            TYPE_VECT       =SIMP(statut='f',typ='TXM',defaut="FORC"),
18869            VECT_ASSE       =SIMP(statut='f',typ=cham_no_sdaster),
18870            VECT_ASSE_GENE  =SIMP(statut='f',typ=vect_asse_gene),
18871          ),
18872          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
18873 )  ;
18874 #& MODIF COMMANDE  DATE 02/04/2007   AUTEUR BODEL C.BODEL 
18875 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18876 # ======================================================================
18877 # COPYRIGHT (C) 1991 - 2006  EDF R&D                  WWW.CODE-ASTER.ORG
18878 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
18879 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
18880 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
18881 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
18882 #                                                                       
18883 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
18884 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
18885 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
18886 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
18887 #                                                                       
18888 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
18889 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
18890 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
18891 # ======================================================================
18892
18893 from Macro.macro_visu_meidee_ops import macro_visu_meidee_ops
18894
18895 def macro_visu_meidee_prod(self,RESULTATS,**args):
18896     if RESULTATS != None:
18897         for res in RESULTATS:
18898             if isinstance(res['TABLE'],CO) :
18899                 if res['TYPE_TABLE'] == 'TABLE':
18900                     self.type_sdprod(res['TABLE'],table_sdaster)
18901                 else:
18902                     self.type_sdprod(res['TABLE'],table_fonction)
18903
18904     return None
18905
18906 MACRO_VISU_MEIDEE=MACRO(nom       = 'MACRO_VISU_MEIDEE',
18907                         op        = macro_visu_meidee_ops,
18908                         sd_prod   = macro_visu_meidee_prod,
18909                         reentrant = 'n',
18910                         UIinfo    = {"groupes":("Outils métier",)},
18911                         fr        = "Outil de post-traitement interactif pour Meidee ",
18912                         UNITE_FIMEN = SIMP( statut='f',typ='I',max='**' ),
18913                         INTERACTIF  = SIMP( statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI' ),
18914                         RESULTATS   = FACT( statut='f',max='**',
18915                                             TABLE  = SIMP(statut='o',typ=(table_sdaster,table_fonction,CO)),
18916                                             TYPE_TABLE = SIMP(statut='f',typ='TXM',defaut='TABLE', into=('TABLE','TABLE_FONCTION')),
18917                                           ),
18918                         UNITE_RESU = SIMP( statut='f',typ='I',defaut=6),
18919
18920                         b_inter    = BLOC( condition="INTERACTIF=='NON'",
18921
18922                              EXPANSION        = FACT( statut='f',max='**',
18923                                                       CALCUL     = SIMP(statut='o',typ=mode_meca),
18924                                                       MESURE     = SIMP(statut='o',typ=mode_meca),
18925                                                       RESOLUTION = SIMP(statut='f',typ='TXM',defaut='SVD',into=('SVD','LU')),
18926                                                       b_reso     = BLOC(condition = "RESOLUTION=='SVD'",
18927                                                                         EPS = SIMP(statut='f',typ='R', defaut = 0.)
18928                                                                        )
18929                                                     ),
18930                              FLUIDE_ELASTIQUE = FACT( statut='f', max='**',
18931                                                       MESURE1 = SIMP(statut='o',typ=mode_meca),
18932                                                       MESURE2 = SIMP(statut='o',typ=mode_meca),
18933                                                       MESURE3 = SIMP(statut='o',typ=mode_meca),
18934                                                       RESU_EXPANSION = SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON')),
18935                                                       b_base   = BLOC(condition = "RESU_EXPANSION=='NON'",
18936                                                                       BASE = SIMP(statut='o',typ=mode_meca),
18937                                                                      ) 
18938                                                     ),
18939                              TURBULENT        = FACT( statut='f',max='**',   
18940                                                       ALPHA   = SIMP(statut='f',typ='R', defaut = 0.),
18941                                                       EPS     = SIMP(statut='f',typ='R', defaut = 0.),
18942                                                       IDENTIFICATION_MOMENTS = SIMP(statut='f',typ='TXM',defaut='NON',
18943                                                                                     into=('OUI','NON')),
18944                                                       OBSERVABILITE  = SIMP(statut='o',typ=mode_meca),
18945                                                       COMMANDABILITE = SIMP(statut='o',typ=mode_meca),
18946                                                       INTE_SPEC      = SIMP(statut='o',typ=table_sdaster),
18947                                                       RESU_EXPANSION = SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON')),
18948                                                       b_base         = BLOC(condition = "RESU_EXPANSION=='NON'",
18949                                                                             BASE = SIMP(statut='o',typ=mode_meca),
18950                                                                            ),
18951                                                      )
18952                                          )
18953                         )
18954
18955 #& MODIF COMMANDE  DATE 15/05/2007   AUTEUR ASSIRE A.ASSIRE 
18956 #            CONFIGURATION MANAGEMENT OF EDF VERSION
18957 # ======================================================================
18958 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
18959 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
18960 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
18961 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
18962 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
18963 #                                                                       
18964 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
18965 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
18966 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
18967 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
18968 #                                                                       
18969 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
18970 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
18971 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
18972 # ======================================================================
18973    
18974 from Macro.macr_recal_ops import macr_recal_ops
18975
18976 def macr_recal_prod(self,**args ):
18977   return listr8_sdaster
18978
18979 MACR_RECAL = MACRO(nom="MACR_RECAL",op=macr_recal_ops,
18980             UIinfo={"groupes":("Résultats et champs",)},
18981                       sd_prod=macr_recal_prod,
18982                       fr="Réalise le recalage des calculs Aster sur des résultats expérimentaux"
18983                         +" ou sur d'autres résultats de calculs",
18984          UNITE_ESCL      =SIMP(statut='o',typ='I'),
18985          RESU_EXP        =SIMP(statut='o',typ=assd,max='**'),
18986          POIDS           =SIMP(statut='f',typ=assd,max='**'),
18987          RESU_CALC       =SIMP(statut='o',typ=assd,max='**'),
18988          LIST_PARA       =SIMP(statut='o',typ=assd,max='**'),
18989          LIST_DERIV      =SIMP(statut='f',typ=assd,max='**'),
18990          ITER_MAXI       =SIMP(statut='f',typ='I',defaut=10),
18991          ITER_FONC_MAXI  =SIMP(statut='f',typ='I',defaut=100),
18992          RESI_GLOB_RELA  =SIMP(statut='f',typ='R',defaut=1.E-3),
18993          UNITE_RESU      =SIMP(statut='f',typ='I',defaut=91),
18994          PARA_DIFF_FINI  =SIMP(statut='f',typ='R',defaut=0.001),
18995          GRAPHIQUE       =FACT(statut='f',
18996            FORMAT          =SIMP(statut='f',typ='TXM',defaut='XMGRACE',into=("XMGRACE","GNUPLOT")),
18997            b_pilote = BLOC(condition = "FORMAT == 'XMGRACE'",
18998                           fr="Mots-clés propres à XMGRACE",
18999              PILOTE          =SIMP(statut='f',typ='TXM',defaut='',
19000                                  into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'),
19001                             fr="Pilote de sortie, PNG/JPEG/PDF ne sont pas disponibles sur toutes les installations de xmgrace"),
19002              UNITE           =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29,
19003                                  fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
19004          ),
19005
19006          AFFICHAGE       =SIMP(statut='f',typ='TXM',defaut='TOUTE_ITERATION',into=("TOUTE_ITERATION","ITERATION_FINALE")),),
19007          SUIVI_ESCLAVE   =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON"),),
19008
19009          METHODE         =SIMP(statut='f',typ='TXM',defaut='LEVENBERG',into=("LEVENBERG","FMIN","FMINBFGS","FMINNCG","EXTERNE")),
19010
19011          b_gradient =BLOC(condition = "METHODE == 'FMINBFGS' or METHODE == 'FMINNCG'" ,
19012             GRADIENT        =SIMP(statut='f',typ='TXM',defaut='NON_CALCULE', into=("NON_CALCULE", "NORMAL", "ADIMENSIONNE" )),
19013          ),
19014
19015          b_gradient_externe =BLOC(condition = "METHODE == 'EXTERNE'" ,
19016             GRADIENT        =SIMP(statut='f',typ='TXM',defaut='NON_CALCULE', into=("NON_CALCULE", "NORMAL", "ADIMENSIONNE" )),
19017          ),
19018
19019          b_type_fonctionnelle =BLOC(condition = "METHODE == 'EXTERNE'" ,
19020             FONCTIONNELLE   =SIMP(statut='f',typ='TXM',defaut='SCALAIRE',into=("SCALAIRE","VECTORIELLE")),
19021          ),
19022
19023          INFO            =SIMP(statut='f',typ='I',defaut=2,into=( 1, 2 ) ),
19024 );
19025 #& MODIF COMMANDE  DATE 09/01/2007   AUTEUR ABBAS M.ABBAS 
19026 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19027 # ======================================================================
19028 # COPYRIGHT (C) 1991 - 2006  EDF R&D                  WWW.CODE-ASTER.ORG
19029 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
19030 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
19031 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
19032 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
19033 #                                                                       
19034 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
19035 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
19036 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
19037 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
19038 #                                                                       
19039 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
19040 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
19041 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
19042 # ======================================================================
19043
19044 from Macro.macr_spectre_ops import macr_spectre_ops
19045
19046 MACR_SPECTRE=MACRO(nom="MACR_SPECTRE",op=macr_spectre_ops,sd_prod=table_sdaster,
19047                        reentrant='n', UIinfo={"groupes":("Outils métier",)},
19048                        fr="calcul de spectre, post-traitement de séisme",
19049          MAILLAGE      =SIMP(statut='o',typ=maillage_sdaster,),
19050          PLANCHER      =FACT(statut='o',max='**',
19051             regles=(AU_MOINS_UN('NOEUD','GROUP_NO' ),),
19052             NOM           =SIMP(statut='o',typ='TXM',),
19053             GROUP_NO      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
19054             NOEUD         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'), ),
19055          NOM_CHAM      =SIMP(statut='o',typ='TXM' ,into=('ACCE','DEPL')),
19056          CALCUL        =SIMP(statut='o',typ='TXM' ,into=('ABSOLU','RELATIF'),position='global'),
19057          b_acce  =BLOC( condition = "NOM_CHAM=='ACCE'",
19058            regles=(UN_PARMI('LIST_FREQ','FREQ'),),
19059            AMOR_SPEC     =SIMP(statut='o',typ='R',max='**'),
19060            LIST_INST     =SIMP(statut='f',typ=listr8_sdaster ),
19061            LIST_FREQ     =SIMP(statut='f',typ=listr8_sdaster ),
19062            FREQ          =SIMP(statut='f',typ='R',max='**'),
19063            NORME         =SIMP(statut='o',typ='R'),  
19064            RESU          =FACT(statut='o',max='**',
19065                 regles=(UN_PARMI('RESU_GENE','RESULTAT'),),
19066                 RESU_GENE     =SIMP(statut='f',typ=tran_gene),
19067                 RESULTAT      =SIMP(statut='f',typ=(dyna_trans,evol_noli)),
19068                 b_calc  =BLOC( condition = "CALCUL=='RELATIF'",
19069                    ACCE_X        =SIMP(statut='o',typ=fonction_sdaster),
19070                    ACCE_Y        =SIMP(statut='o',typ=fonction_sdaster),
19071                    ACCE_Z        =SIMP(statut='o',typ=fonction_sdaster),), ),
19072            IMPRESSION    =FACT(statut='f',
19073                 TRI           =SIMP(statut='f',typ='TXM',defaut='AMOR_SPEC',into=("AMOR_SPEC","DIRECTION",),),
19074                 FORMAT        =SIMP(statut='f',typ='TXM',defaut='TABLEAU',into=("TABLEAU","XMGRACE",),),
19075                 UNITE         =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29,
19076                                     fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
19077                 b_pilote = BLOC(condition = "FORMAT == 'XMGRACE'",
19078                    PILOTE        =SIMP(statut='f',typ='TXM',defaut='',
19079                                  into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'),),),
19080                 TOUT          =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON",),),
19081                               ),
19082          ),
19083          b_depl  =BLOC( condition = "NOM_CHAM=='DEPL'",
19084            LIST_INST     =SIMP(statut='f',typ=listr8_sdaster),  
19085            RESU          =FACT(statut='o',max=3,
19086                 regles=(UN_PARMI('RESU_GENE','RESULTAT'),),
19087                 RESU_GENE     =SIMP(statut='f',typ=tran_gene),
19088                 RESULTAT      =SIMP(statut='f',typ=(dyna_trans,evol_noli)),
19089                 b_calc  =BLOC( condition = "CALCUL=='ABSOLU'",
19090                    DEPL_X        =SIMP(statut='o',typ=fonction_sdaster),
19091                    DEPL_Y        =SIMP(statut='o',typ=fonction_sdaster),
19092                    DEPL_Z        =SIMP(statut='o',typ=fonction_sdaster),),),
19093          ),
19094 )
19095 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
19096 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19097 # ======================================================================
19098 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19099 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19100 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19101 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19102 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19103 #
19104 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19105 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19106 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19107 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19108 #
19109 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19110 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19111 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19112 # ======================================================================
19113 MAJ_CATA=PROC(nom="MAJ_CATA",op=20,
19114             UIinfo={"groupes":("Gestion du travail",)},
19115               fr="Compilation des catalogues de commandes et d'éléments",
19116
19117          ELEMENT         =FACT(statut='f',),
19118
19119 )  ;
19120 #& MODIF COMMANDE  DATE 04/04/2007   AUTEUR ABBAS M.ABBAS 
19121 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19122 # ======================================================================
19123 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19124 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19125 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19126 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
19127 # (AT YOUR OPTION) ANY LATER VERSION.
19128 #
19129 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
19130 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
19131 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
19132 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
19133 #
19134 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
19135 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
19136 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
19137 # ======================================================================
19138 # RESPONSABLE VABHHTS J.PELLET
19139 MECA_STATIQUE=OPER(nom="MECA_STATIQUE",op=46,sd_prod=evol_elas,
19140                    fr="Résoudre un problème de mécanique statique linéaire",reentrant='f',
19141             UIinfo={"groupes":("Résolution",)},
19142          regles=(EXCLUS("INST","LIST_INST"),
19143                  AU_MOINS_UN('CHAM_MATER','CARA_ELEM',),
19144                  CONCEPT_SENSIBLE('ENSEMBLE'),),
19145          MODELE          =SIMP(statut='o',typ=modele_sdaster),
19146          CHAM_MATER      =SIMP(statut='f',typ=cham_mater,
19147          fr="le CHAM_MATER est nécessaire, sauf si le modèle ne contient que des éléments discrets (modélisations DIS_XXX)",
19148          ang="CHAM_MATER is compulsory, except if the model contains only discret elements (modelizations DIS_XXX)"),
19149          CARA_ELEM       =SIMP(statut='f',typ=cara_elem,
19150          fr="le CARA_ELEM est nécessaire dès que le modèle contient des éléments de structure : coques, poutres, ...",
19151          ang="CARA_ELEM is compulsory as soon as the model contains structural elements : plates, beams, ..."),
19152          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
19153          EXCIT           =FACT(statut='o',max='**',
19154            CHARGE          =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
19155            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19156            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
19157          ),
19158          INST            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
19159          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
19160          INST_FIN        =SIMP(statut='f',typ='R'),
19161          OPTION          =SIMP(statut='f',typ='TXM',into=("SIEF_ELGA_DEPL","SANS"),defaut="SIEF_ELGA_DEPL",max=1,
19162              fr="seule option : contraintes aux points de Gauss. Utiliser CALC_ELEM pour les autres.",
19163                           ),
19164          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
19165                                fr="Liste des paramètres de sensibilité.",
19166                                ang="List of sensitivity parameters"),
19167
19168          SOLVEUR         =FACT(statut='d',
19169          METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","FETI","MUMPS") ),
19170
19171            b_feti          =BLOC(condition = "METHODE == 'FETI' ",fr="Paramètres de la méthode FETI 1",
19172              PARTITION       =SIMP(statut='o',typ=sd_feti_sdaster),
19173              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
19174              RESI_RELA       =SIMP(statut='f',typ='R',defaut=1.E-6,val_min=0.),
19175              NMAX_ITER       =SIMP(statut='f',typ='I',defaut=0,val_min=0),
19176              REAC_RESI       =SIMP(statut='f',typ='I',defaut=0,val_min=0),
19177              TYPE_REORTHO_DD =SIMP(statut='f',typ='TXM',defaut="GSM",into=("SANS","GS","GSM","IGSM") ),
19178              NB_REORTHO_DD   =SIMP(statut='f',typ='I',defaut=0,val_min=0),
19179              NB_REORTHO_INST =SIMP(statut='f',typ='I',defaut=0,val_min=0),
19180              PRE_COND        =SIMP(statut='f',typ='TXM',defaut="LUMPE",into=("LUMPE","SANS") ),
19181              SCALING         =SIMP(statut='f',typ='TXM',defaut="MULT",into=("SANS","MULT") ),
19182              VERIF_SDFETI    =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
19183              TEST_CONTINU    =SIMP(statut='f',typ='R',defaut=1.E-8,val_min=0.),
19184              INFO_FETI       =SIMP(statut='f',typ='TXM',defaut='FFFFFFFFFFFFFFFFFFFFFFFF'),
19185              STOCKAGE_GI     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","CAL") ),
19186              NB_SD_PROC0     =SIMP(statut='f',typ='I',defaut=0,val_min=0),
19187              ACCELERATION_SM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
19188            ),
19189
19190            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
19191              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
19192            ),
19193
19194            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
19195              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
19196            ),
19197
19198            b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' or METHODE == 'FETI' ",
19199                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
19200              NPREC           =SIMP(statut='f',typ='I',defaut=8),
19201              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
19202            ),
19203
19204            b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
19205              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
19206              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
19207              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
19208              RESI_RELA       =SIMP(statut='f',typ='R',defaut=1.E-6),
19209              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
19210            ),
19211
19212            b_mumps        =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS",
19213              TYPE_RESOL      =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("NONSYM","SYMGEN","SYMDEF","AUTO")),
19214              SCALING         =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("SANS","AUTO")),
19215              RENUM           =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AMD","AMF","PORD","METIS","QAMD","AUTO")),
19216              ELIM_LAGR2      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
19217              PCENT_PIVOT     =SIMP(statut='f',typ='I',defaut=10,),
19218              RESI_RELA       =SIMP(statut='f',typ='R',defaut=1.E-6,),
19219              ),
19220          ),
19221          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
19222 )  ;
19223 #& MODIF COMMANDE  DATE 16/05/2007   AUTEUR COURTOIS M.COURTOIS 
19224 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19225 # ======================================================================
19226 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19227 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19228 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19229 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19230 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19231 #
19232 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19233 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19234 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19235 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19236 #
19237 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19238 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19239 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19240 # ======================================================================
19241 # RESPONSABLE GNICOLAS G.NICOLAS
19242 from Macro.Sensibilite import memo_nom_sensi_ops
19243
19244 MEMO_NOM_SENSI=MACRO(nom="MEMO_NOM_SENSI",op=memo_nom_sensi_ops,
19245             UIinfo={"groupes":("Fonction",)},
19246                     fr="Mémorisation des noms des concepts dérivés.",
19247                     ang="Memorisation of the names of the sensitive concepts.",
19248
19249          NOM=FACT(statut='o',max='**',
19250              regles=(PRESENT_PRESENT('MOT_CLE','VALEUR','MOT_FACT' ),),
19251
19252              NOM_SD=SIMP(statut='o',typ='TXM',
19253                          fr="Nom de la structure de base",
19254                          ang="Name of the basic structure"),
19255
19256              PARA_SENSI=SIMP(statut='o',typ=(para_sensi,theta_geom),
19257                          fr="Nom du paramètre sensible",
19258                          ang="Name of the sensitive parameter"),
19259
19260              NOM_COMPOSE=SIMP(statut='f',typ='TXM',defaut=" ",
19261                          fr="Nom de la structure composée",
19262                          ang="Name of the built structure"),
19263
19264              MOT_FACT=SIMP(statut='f',typ='TXM',max='**',
19265                          fr="Liste des mots clés facteurs concernés par la dérivation",
19266                          ang="Factor keyword list involved in derivation"),
19267
19268              MOT_CLE=SIMP(statut='f',typ='TXM',max='**',
19269                          fr="Liste des mots clés concernés par la dérivation",
19270                          ang="Keyword list involved in derivation"),
19271
19272              VALEUR=SIMP(statut='f',typ='TXM',max='**',
19273                          fr="Liste des objets concernés par la dérivation",
19274                          ang="Object list involved in derivation"),
19275
19276          ),
19277 )
19278 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
19279 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19280 # ======================================================================
19281 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19282 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19283 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19284 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19285 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19286 #
19287 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19288 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19289 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19290 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19291 #
19292 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19293 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19294 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19295 # ======================================================================
19296 MODE_ITER_CYCL=OPER(nom="MODE_ITER_CYCL",op=  80,sd_prod=mode_cycl,
19297                     fr="Calcul des modes propres d'une structure à répétitivité cyclique à partir"
19298                         +" d'une base de modes propres réels",
19299                     reentrant='n',
19300             UIinfo={"groupes":("Résolution",)},
19301          BASE_MODALE     =SIMP(statut='o',typ=base_modale ),
19302          NB_MODE         =SIMP(statut='f',typ='I',defaut= 999 ),
19303          NB_SECTEUR      =SIMP(statut='o',typ='I' ),
19304          LIAISON         =FACT(statut='o',
19305            DROITE          =SIMP(statut='o',typ='TXM' ),
19306            GAUCHE          =SIMP(statut='o',typ='TXM' ),
19307            AXE             =SIMP(statut='f',typ='TXM' ),
19308          ),
19309          VERI_CYCL       =FACT(statut='f',
19310            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
19311            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF",) ),
19312            DIST_REFE       =SIMP(statut='f',typ='R' ),
19313          ),
19314          CALCUL          =FACT(statut='o',
19315            TOUT_DIAM       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19316            NB_DIAM         =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19317            OPTION          =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE"
19318                                 ,into=("PLUS_PETITE","CENTRE","BANDE") ),
19319            b_centre      =BLOC(condition = "OPTION == 'CENTRE'",
19320              FREQ            =SIMP(statut='o',typ='R',),
19321            ),
19322            b_bande       =BLOC(condition = "OPTION == 'BANDE'",
19323              FREQ            =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2),
19324            ),
19325 #  NMAX_FREQ n a-t-il pas un sens qu avec OPTION CENTRE                                
19326            NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10 ),
19327            PREC_SEPARE     =SIMP(statut='f',typ='R',defaut= 100. ),
19328            PREC_AJUSTE     =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
19329            NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 50 ),
19330          ),
19331          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
19332 )  ;
19333 #& MODIF COMMANDE  DATE 10/05/2006   AUTEUR MCOURTOI M.COURTOIS 
19334 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19335 # ======================================================================
19336 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19337 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19338 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19339 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19340 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19341 #
19342 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19343 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19344 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19345 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19346 #
19347 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19348 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19349 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19350 # ======================================================================
19351 def mode_iter_inv_prod(MATR_A,MATR_C,TYPE_RESU,**args ):
19352   if TYPE_RESU == "MODE_FLAMB" : return mode_flamb
19353   if AsType(MATR_C) == matr_asse_depl_r : return mode_meca_c
19354   if AsType(MATR_A) == matr_asse_depl_r : return mode_meca
19355   if AsType(MATR_A) == matr_asse_pres_r : return mode_acou
19356   if AsType(MATR_A) == matr_asse_gene_r : return mode_gene
19357   raise AsException("type de concept resultat non prevu")
19358
19359 MODE_ITER_INV=OPER(nom="MODE_ITER_INV",op=  44,sd_prod=mode_iter_inv_prod
19360                     ,fr="Calcul des modes propres par itérations inverses ; valeurs propres et modes réels ou complexes",
19361                      reentrant='n',
19362             UIinfo={"groupes":("Résolution",)},
19363          regles=(CONCEPT_SENSIBLE('ENSEMBLE'),),
19364          MATR_A          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
19365          MATR_B          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
19366          MATR_C          =SIMP(statut='f',typ=matr_asse_depl_r ),
19367          TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE",   
19368                                into=("MODE_FLAMB","DYNAMIQUE"),fr="Type d analyse" ),
19369          b_dynam         =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'",
19370            CALC_FREQ       =FACT(statut='o',fr="Choix des paramètres pour le calcul des valeurs propres",
19371            
19372              OPTION          =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"),
19373                                    fr="Choix de l option pour estimer les valeurs propres"  ),
19374              FREQ            =SIMP(statut='o',typ='R',max='**'),
19375              AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),     
19376              NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 0,val_min=0 ),           
19377              NMAX_ITER_SEPARE=SIMP(statut='f',typ='I' ,defaut= 30,val_min=0 ),
19378              PREC_SEPARE     =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0 ),
19379              NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15,val_min=0 ),
19380              PREC_AJUSTE     =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0 ),
19381
19382              NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ),
19383              NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
19384              PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0, ),
19385              SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, ),
19386            ),
19387          ),
19388          b_flamb        =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'",
19389            CALC_FREQ       =FACT(statut='o',fr="Choix des paramètres pour le calcul des valeurs propres",
19390            
19391              OPTION          =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"),
19392                                  fr="Choix de l option pour estimer les valeurs propres"  ),
19393              CHAR_CRIT       =SIMP(statut='o',typ='R',validators=NoRepeat(),max='**' ),
19394              NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 0,val_min=0 ),           
19395              NMAX_ITER_SEPARE=SIMP(statut='f',typ='I' ,defaut= 30,val_min=0 ),
19396              PREC_SEPARE     =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0, ),
19397              NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15 ),
19398              PREC_AJUSTE     =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0, ),
19399            
19400              NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ),
19401              NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
19402              PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0, ),
19403              SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, ),
19404            ),
19405          ),
19406          CALC_MODE       =FACT(statut='d',min=0,fr="Choix des paramètres pour le calcul des vecteurs propres",
19407            OPTION          =SIMP(statut='f',typ='TXM',defaut="DIRECT",into=("DIRECT","RAYLEIGH") ),
19408            PREC            =SIMP(statut='f',typ='R',defaut= 1.E-5,val_min=0.E+0,fr="Précision de convergence" ),
19409            NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ),
19410          ),
19411          VERI_MODE       =FACT(statut='d',min=0,
19412            STOP_ERREUR     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
19413            SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0,
19414                                  fr="Valeur limite admise pour l ereur a posteriori des modes"  ),
19415          ),
19416          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
19417                                fr="Liste des param\350tres de sensibilit\351.",
19418                                ang="List of sensitivity parameters",
19419          ),
19420          b_sensibilite   =BLOC(condition = "SENSIBILITE != None",
19421              CHAM_MATER      =SIMP(statut='f',typ=cham_mater ),
19422              CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
19423              EXCIT           =FACT(statut='f',max='**',),  # que pour NMDOME
19424          ),
19425          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
19426          TITRE           =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
19427 )  ;
19428 #& MODIF COMMANDE  DATE 13/03/2007   AUTEUR REZETTE C.REZETTE 
19429 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19430 # ======================================================================
19431 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19432 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19433 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19434 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19435 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19436 #
19437 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19438 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19439 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19440 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19441 #
19442 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19443 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19444 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19445 # ======================================================================
19446 def mode_iter_simult_prod(MATR_A,MATR_C,TYPE_RESU,**args ):
19447   if TYPE_RESU == "MODE_FLAMB" : return mode_flamb
19448   if AsType(MATR_C) == matr_asse_depl_r : return mode_meca_c
19449   if AsType(MATR_A) == matr_asse_depl_r : return mode_meca
19450   if AsType(MATR_A) == matr_asse_depl_c : return mode_meca_c
19451   if AsType(MATR_A) == matr_asse_pres_r : return mode_acou
19452   if AsType(MATR_A) == matr_asse_gene_r : return mode_gene
19453   if AsType(MATR_A) == matr_asse_gene_c : return mode_gene
19454
19455   raise AsException("type de concept resultat non prevu")
19456
19457 MODE_ITER_SIMULT=OPER(nom="MODE_ITER_SIMULT",op=  45,sd_prod=mode_iter_simult_prod,
19458                       fr="Calcul des modes propres par itérations simultanées ; valeurs propres et"
19459                          +" modes propres réels ou complexes",
19460                       reentrant='n',
19461             UIinfo={"groupes":("Résolution",)},
19462          regles=(CONCEPT_SENSIBLE('ENSEMBLE'),),
19463          MATR_A          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,
19464                                matr_asse_gene_r,matr_asse_gene_c,matr_asse_pres_r ) ),
19465          MATR_B          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
19466          MATR_C          =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ),
19467          METHODE         =SIMP(statut='f',typ='TXM',defaut="SORENSEN",
19468                                into=("TRI_DIAG","JACOBI","SORENSEN") ),
19469          b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'",
19470            PREC_ORTHO      =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ),
19471            NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
19472            PREC_LANCZOS    =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ),
19473            NMAX_ITER_QR    =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), 
19474          ),
19475          b_jacobi =BLOC(condition = "METHODE == 'JACOBI'",
19476            PREC_BATHE      =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ),
19477            NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ),
19478            PREC_JACOBI     =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
19479            NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ),
19480          ),
19481          b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'",
19482            PREC_SOREN      =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ),  
19483            NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ),  
19484            PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717,val_min=0.E+0 ),
19485          ),
19486          TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE",
19487                                into=("MODE_FLAMB","DYNAMIQUE"),
19488                                fr="Type d analyse" ),
19489          OPTION          =SIMP(statut='f',typ='TXM',defaut="SANS",into=("MODE_RIGIDE","SANS"),
19490                                fr="Calcul des modes de corps rigide, uniquement pour la méthode TRI_DIAG" ),
19491
19492          b_flamb         =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'",
19493            CALC_FREQ       =FACT(statut='d',min=0,
19494              OPTION          =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE"),
19495                                    fr="Choix de l option et par conséquent du shift du problème modal" ),
19496              b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres",
19497                NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
19498              ),
19499              b_centre      =BLOC(condition = "OPTION == 'CENTRE'",
19500                                  fr="Recherche des valeurs propres les plus proches d une valeur donnée",
19501                CHAR_CRIT       =SIMP(statut='o',typ='R',
19502                                      fr="Charge critique autour de laquelle on cherche les charges critiques propres"),
19503                NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
19504              ),
19505              b_bande       =BLOC(condition = "(OPTION == 'BANDE')",
19506                                  fr="Recherche des valeurs propres dans une bande donnée",
19507                CHAR_CRIT       =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2,
19508                                      fr="Valeur des deux charges critiques délimitant la bande de recherche"),
19509              ),           
19510              APPROCHE        =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG"),
19511                                    fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ),           
19512              regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),),
19513              DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ),
19514              COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ),
19515              NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ),
19516              NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
19517              PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ),
19518              SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
19519            ),
19520          ),
19521
19522          b_dynam        =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'",
19523            CALC_FREQ       =FACT(statut='d',min=0,
19524              OPTION          =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE"),
19525                                    fr="Choix de l option et par conséquent du shift du problème modal" ),
19526              b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres",
19527                NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
19528              ),
19529              b_centre       =BLOC(condition = "OPTION == 'CENTRE'",
19530                                   fr="Recherche des valeurs propres les plus proches d une valeur donnée",
19531                FREQ            =SIMP(statut='o',typ='R',
19532                                      fr="Fréquence autour de laquelle on cherche les fréquences propres"),
19533                AMOR_REDUIT     =SIMP(statut='f',typ='R',),
19534                NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
19535              ),
19536              b_bande         =BLOC(condition = "(OPTION == 'BANDE')",
19537                                    fr="Recherche des valeurs propres dans une bande donnée",
19538                FREQ            =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2,
19539                                      fr="Valeur des deux fréquences délimitant la bande de recherche"),
19540              ),           
19541              APPROCHE        =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG","COMPLEXE"),
19542                                    fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ),           
19543              regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),),
19544              DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ),
19545              COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ),
19546              NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ),
19547              NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
19548              PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ),
19549              SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
19550            ),
19551          ),
19552
19553          VERI_MODE       =FACT(statut='d',min=0,
19554            STOP_ERREUR     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
19555            PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-3,val_min=0.E+0 ),
19556            SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0,
19557                                  fr="Valeur limite admise pour l ereur a posteriori des modes" ),
19558            STURM           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
19559          ),
19560          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
19561                                fr="Liste des param\350tres de sensibilit\351.",
19562                                ang="List of sensitivity parameters",
19563          ),
19564          b_sensibilite   =BLOC(condition = "SENSIBILITE != None",
19565              CHAM_MATER      =SIMP(statut='f',typ=cham_mater ),
19566              CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
19567              EXCIT           =FACT(statut='f',max='**',),  # que pour NMDOME
19568          ),
19569          STOP_FREQ_VIDE  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
19570          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
19571          TITRE           =SIMP(statut='f',typ='TXM',max='**'),        
19572 )  ;
19573 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
19574 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19575 # ======================================================================
19576 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19577 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19578 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19579 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19580 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19581 #
19582 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19583 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19584 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19585 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19586 #
19587 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19588 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19589 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19590 # ======================================================================
19591 def mode_stat_prod(MODE_STAT,FORCE_NODALE,PSEUDO_MODE,**args):
19592  if (MODE_STAT != None)          : return mode_stat_depl
19593  if (PSEUDO_MODE !=None)         : return mode_stat_acce
19594  if (FORCE_NODALE != None)       : return mode_stat_forc
19595  raise AsException("type de concept resultat non prevu")
19596 MODE_STATIQUE=OPER(nom="MODE_STATIQUE",op= 93,sd_prod=mode_stat_prod,
19597                    fr="Calcul de modes statiques pour un déplacement, une force ou une accélération unitaire imposé",
19598                    reentrant='n',
19599             UIinfo={"groupes":("Résolution",)},
19600          MATR_RIGI       =SIMP(statut='o',typ=matr_asse_depl_r ),
19601          MATR_MASS       =SIMP(statut='f',typ=matr_asse_depl_r ),
19602                regles=(UN_PARMI('MODE_STAT','FORCE_NODALE','PSEUDO_MODE'),),
19603          MODE_STAT       =FACT(statut='f',max='**',
19604            regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'),
19605                    UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),),
19606            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ,),
19607            NOEUD           =SIMP(statut='f',typ=no   ,max='**'),
19608            GROUP_NO        =SIMP(statut='f',typ=grno ,max='**'),
19609            TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",) ,),
19610            AVEC_CMP        =SIMP(statut='f',typ='TXM',max='**'),
19611            SANS_CMP        =SIMP(statut='f',typ='TXM',max='**'),
19612          ),
19613          FORCE_NODALE    =FACT(statut='f',max='**',
19614            regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'),
19615                    UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),),
19616            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",), ),
19617            NOEUD           =SIMP(statut='f',typ=no   ,max='**'),
19618            GROUP_NO        =SIMP(statut='f',typ=grno ,max='**'),
19619            TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",), ),
19620            AVEC_CMP        =SIMP(statut='f',typ='TXM',max='**'),
19621            SANS_CMP        =SIMP(statut='f',typ='TXM',max='**'),
19622          ),
19623          PSEUDO_MODE       =FACT(statut='f',max='**',
19624            regles=(UN_PARMI('AXE','DIRECTION','TOUT','NOEUD','GROUP_NO' ),),
19625            AXE             =SIMP(statut='f',typ='TXM',into=("X","Y","Z"),max=3),
19626            DIRECTION       =SIMP(statut='f',typ='R',min=3,max=3),
19627            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
19628            NOEUD           =SIMP(statut='f',typ=no   ,max='**'),
19629            GROUP_NO        =SIMP(statut='f',typ=grno ,max='**'),
19630            b_dir           =BLOC(condition = "DIRECTION != None",
19631              NOM_DIR         =SIMP(statut='f',typ='TXM' ),),
19632            b_cmp          =BLOC(condition="TOUT!= None or NOEUD!=None or GROUP_NO!=None",
19633              regles=(UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),),
19634              TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19635              AVEC_CMP        =SIMP(statut='f',typ='TXM',max='**'),
19636              SANS_CMP        =SIMP(statut='f',typ='TXM',max='**'), 
19637         ),
19638          ),
19639          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
19640          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ,) ),
19641 )  ;
19642 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
19643 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19644 # ======================================================================
19645 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19646 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19647 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19648 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19649 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19650 #
19651 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19652 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19653 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19654 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19655 #
19656 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19657 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19658 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19659 # ======================================================================
19660 MODI_BASE_MODALE=OPER(nom="MODI_BASE_MODALE",op= 149,sd_prod=mode_meca,
19661                       reentrant='f',
19662             fr="Définir la base modale d'une structure sous écoulement",
19663             UIinfo={"groupes":("Matrices/vecteurs",)},
19664 #  la commande modi_base _modale : reentrant = f ou o                      
19665          regles=(EXCLUS('AMOR_UNIF','AMOR_REDUIT', ),),
19666          BASE            =SIMP(statut='o',typ=mode_meca ),
19667          BASE_ELAS_FLUI  =SIMP(statut='o',typ=melasflu_sdaster ),
19668          NUME_VITE_FLUI  =SIMP(statut='o',typ='I' ),
19669          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19670          AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
19671          AMOR_UNIF       =SIMP(statut='f',typ='R' ),
19672          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
19673          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
19674 )  ;
19675 #& MODIF COMMANDE  DATE 10/07/2006   AUTEUR LEBOUVIE F.LEBOUVIER 
19676 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19677 # ======================================================================
19678 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19679 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19680 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19681 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19682 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19683 #
19684 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19685 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19686 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19687 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19688 #
19689 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19690 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19691 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19692 # ======================================================================
19693 # RESPONSABLE G8BHHXD X.DESROCHES
19694 MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage_sdaster,
19695                    fr="Effectuer des modifications sur un maillage existant: réorienter des mailles servant,"
19696                       +" à l'application d'une pression, à la modélisation du contact,...",
19697                    reentrant='o',
19698             UIinfo={"groupes":("Maillage",)},
19699       regles=(AU_MOINS_UN('ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
19700                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',
19701                        'TRANSLATION','ROTATION','MODI_BASE','ECHELLE','ORIE_SHB8','SYMETRIE',
19702                        ),
19703               PRESENT_ABSENT('ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
19704                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',),
19705               PRESENT_ABSENT('DEFORME','ORIE_FISSURE','EQUE_PIQUA','ORIE_PEAU_2D',
19706                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',),
19707               PRESENT_ABSENT('EQUE_PIQUA','ORIE_FISSURE','DEFORME','ORIE_PEAU_2D',
19708                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',),
19709               PRESENT_ABSENT('ORIE_PEAU_2D','ORIE_FISSURE','DEFORME','EQUE_PIQUA',
19710                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',),
19711               PRESENT_ABSENT('ORIE_PEAU_3D','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
19712                        'PLAQ_TUBE','MODI_MAILLE',),
19713               PRESENT_ABSENT('ORIE_NORM_COQUE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
19714                        'PLAQ_TUBE','MODI_MAILLE',),
19715               PRESENT_ABSENT('PLAQ_TUBE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
19716                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','MODI_MAILLE',),
19717               PRESENT_ABSENT('MODI_MAILLE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
19718                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE',),
19719               EXCLUS('EQUE_PIQUA','PLAQ_TUBE'),
19720               EXCLUS('EQUE_PIQUA','TUBE_COUDE'),
19721               EXCLUS('ROTATION','MODI_BASE'),
19722               EXCLUS('SYMETRIE','ROTATION'),
19723               EXCLUS('SYMETRIE','TRANSLATION'),
19724               EXCLUS('SYMETRIE','MODI_BASE'),
19725               EXCLUS('SYMETRIE','ECHELLE'),
19726               ),
19727          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster ),
19728
19729          ORIE_FISSURE    =FACT(statut='f',
19730            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
19731          ),
19732
19733          DEFORME         =FACT(statut='f',
19734            OPTION          =SIMP(statut='o',typ='TXM',into=("TRAN","TRAN_APPUI") ),
19735            DEPL            =SIMP(statut='o',typ=cham_no_sdaster ),
19736         b_deform        =BLOC(condition = "OPTION=='TRAN_APPUI'", 
19737            GROUP_NO_APPUI = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**' ),
19738            GROUP_NO_STRU  = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**' ),),
19739          ),
19740
19741          EQUE_PIQUA      =FACT(statut='f',
19742            GROUP_NO        =SIMP(statut='o',typ=grno),
19743            E_BASE          =SIMP(statut='o',typ='R' ),
19744            DEXT_BASE       =SIMP(statut='o',typ='R' ),
19745            L_BASE          =SIMP(statut='o',typ='R' ),
19746            L_CHANF         =SIMP(statut='o',typ='R' ),
19747            TYPE            =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2")),
19748            H_SOUD          =SIMP(statut='o',typ='R' ),
19749            ANGL_SOUD       =SIMP(statut='o',typ='R' ),
19750            JEU_SOUD        =SIMP(statut='o',typ='R' ),
19751            E_CORP          =SIMP(statut='o',typ='R' ),
19752            DEXT_CORP       =SIMP(statut='o',typ='R' ),
19753            AZIMUT          =SIMP(statut='o',typ='R' ),
19754            RAFF_MAIL       =SIMP(statut='o',typ='TXM' ),
19755            X_MAX           =SIMP(statut='o',typ='R' ),
19756          ),
19757          ORIE_PEAU_2D    =FACT(statut='f',max='**',
19758            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
19759          ),
19760          ORIE_PEAU_3D    =FACT(statut='f',max='**',
19761            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
19762          ),
19763          ORIE_SHB8       =FACT(statut='f',max=1,
19764            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
19765          ),
19766          ORIE_NORM_COQUE =FACT(statut='f',max='**',
19767            regles=(EXCLUS('NOEUD','GROUP_NO'),
19768                    PRESENT_PRESENT('NOEUD','VECT_NORM'),
19769                    PRESENT_PRESENT('GROUP_NO','VECT_NORM'),),
19770            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
19771            VECT_NORM       =SIMP(statut='f',typ='R',max=3),
19772            NOEUD           =SIMP(statut='f',typ=no),
19773            GROUP_NO        =SIMP(statut='f',typ=grno),
19774          ),
19775          PLAQ_TUBE       =FACT(statut='f',
19776            DEXT            =SIMP(statut='o',typ='R' ),
19777            EPAIS           =SIMP(statut='o',typ='R' ),
19778            L_TUBE_P1       =SIMP(statut='o',typ='R' ),
19779            AZIMUT          =SIMP(statut='f',typ='R',defaut= 90. ),
19780            COUTURE         =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",)  ),
19781          ),
19782          TUBE_COUDE      =FACT(statut='f',
19783            ANGLE           =SIMP(statut='o',typ='R' ),
19784            R_CINTR         =SIMP(statut='o',typ='R' ),
19785            L_TUBE_P1       =SIMP(statut='o',typ='R' ),
19786          ),
19787          MODI_MAILLE     =FACT(statut='f',max=1,
19788            regles=(AU_MOINS_UN('GROUP_MA_FOND','MAILLE_FOND','GROUP_NO_FOND','NOEUD_FOND'),),
19789            OPTION          =SIMP(statut='o',typ='TXM',into=("NOEUD_QUART",) ),
19790            GROUP_MA_FOND   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1),
19791            MAILLE_FOND     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max=1),
19792            GROUP_NO_FOND   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
19793            NOEUD_FOND      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=1),
19794          ),
19795          MODI_BASE       =FACT(statut='f',
19796            VECT_X          =SIMP(statut='o',typ='R',min=2,max=3),
19797            VECT_Y          =SIMP(statut='f',typ='R',min=2,max=3),
19798          ),
19799          ECHELLE         =SIMP(statut='f',typ='R',),        
19800          TRANSLATION     =SIMP(statut='f',typ='R',min=2,max=3),
19801          ROTATION        =FACT(statut='f',max='**',
19802            POIN_1           =SIMP(statut='o',typ='R',min=2,max=3),
19803            ANGL             =SIMP(statut='o',typ='R',defaut= 0.E+0 ),
19804            regles=(EXCLUS('DIR','POIN_2'),),
19805            POIN_2           =SIMP(statut='f',typ='R',min=2,max=3),
19806            DIR              =SIMP(statut='f',typ='R',min=2,max=3),
19807          ),
19808          SYMETRIE        =FACT(statut='f',max='**',
19809                           fr = "Symétrie du maillage par rapport à un plan en 3D ou à une droite en 2D.",
19810            POINT           =SIMP(statut='o',typ='R',min=2,max=3,
19811                             fr="Point appartenant à la droite ou au plan."),
19812            AXE_1           =SIMP(statut='o',typ='R',min=2,max=3,
19813                             fr="Vecteur directeur de la droite ou 1er vecteur appartenant au plan."),
19814            AXE_2           =SIMP(statut='f',typ='R',min=3,max=3,
19815                             fr="2nd vecteur appartenant du plan."),
19816          ),
19817          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
19818 )  ;
19819 #& MODIF COMMANDE  DATE 30/04/2007   AUTEUR ABBAS M.ABBAS 
19820 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19821 # ======================================================================
19822 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
19823 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
19824 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19825 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
19826 # (AT YOUR OPTION) ANY LATER VERSION.
19827 #
19828 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
19829 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
19830 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
19831 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
19832 #
19833 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
19834 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
19835 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
19836 # ======================================================================
19837
19838 MODI_MODELE_XFEM=OPER(nom="MODI_MODELE_XFEM",op= 113,sd_prod=modele_sdaster,docu="U4.44.12-e",reentrant='f',
19839             UIinfo={"groupes":("Modélisation",)},
19840                            fr="Engendrer ou enrichir une structure de donnees en affectant les cham_gd associes",
19841                            
19842     MODELE_IN       =SIMP(statut='o',typ=modele_sdaster,min=1,max=1,),
19843     FISSURE         =SIMP(statut='o',typ=fiss_xfem,min=1,max=100,),
19844     CRITERE         =SIMP(statut='f',typ='R',defaut=1.67E-8),
19845     INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,)),
19846     CONTACT         =SIMP(statut='f',typ=char_meca,min=1,max=1,),
19847 )  ;
19848 #& MODIF COMMANDE  DATE 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
19849 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19850 # ======================================================================
19851 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19852 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19853 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19854 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19855 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19856 #
19857 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19858 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19859 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19860 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19861 #
19862 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19863 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19864 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19865 # ======================================================================
19866 MODI_OBSTACLE=OPER(nom="MODI_OBSTACLE",op=182,sd_prod=table_fonction,
19867             fr="Calculer les obstacles dans les systèmes guidage-tube après usure",
19868             reentrant='f',
19869             UIinfo={"groupes":("Modélisation",)},
19870       regles=(PRESENT_ABSENT('R_MOBILE','CRAYON'),
19871               PRESENT_PRESENT('V_USUR_TUBE','V_USUR_OBST'),),
19872          OBSTACLE        =SIMP(statut='f',typ=table_fonction),
19873          GUIDE           =SIMP(statut='o',typ=table_sdaster),
19874          CRAYON          =SIMP(statut='f',typ=table_sdaster),
19875          TABL_USURE      =SIMP(statut='f',typ=table_sdaster),
19876          INST            =SIMP(statut='f',typ='R'),  
19877          R_MOBILE        =SIMP(statut='f',typ='R'),  
19878          PERCEMENT       =SIMP(statut='f',typ='R',defaut=1),  
19879          V_USUR_TUBE     =SIMP(statut='f',typ='R',max='**'),
19880          V_USUR_OBST     =SIMP(statut='f',typ='R',max='**'),
19881          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
19882 )  ;
19883 #& MODIF COMMANDE  DATE 09/05/2007   AUTEUR VIVAN L.VIVAN 
19884 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19885 # ======================================================================
19886 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19887 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19888 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19889 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
19890 # (AT YOUR OPTION) ANY LATER VERSION.
19891 #
19892 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
19893 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
19894 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
19895 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
19896 #
19897 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
19898 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
19899 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
19900 # ======================================================================
19901 # RESPONSABLE JMBHH01 J.M.PROIX
19902 def modi_repere_prod(RESULTAT,**args):
19903   if AsType(RESULTAT) != None : return AsType(RESULTAT)
19904
19905 MODI_REPERE=OPER(nom="MODI_REPERE",op=191,sd_prod=modi_repere_prod,reentrant='n',
19906             UIinfo={"groupes":("Résultats et champs",)},
19907                     fr="Calcule des résultats dans le repère cylindrique",
19908          RESULTAT        =SIMP(statut='o',typ=resultat_sdaster),
19909
19910          regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
19911                         'NOEUD_CMP','LIST_INST','LIST_FREQ','NOM_CAS'),),
19912          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
19913          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19914          NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
19915          NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
19916          NOM_CAS         =SIMP(statut='f',typ='TXM' ),
19917
19918          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19919          FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
19920          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
19921          LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
19922
19923          PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
19924          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
19925
19926          MODI_CHAM       =FACT(statut='o',max='**',
19927            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
19928            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
19929            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
19930            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
19931            TYPE_CHAM       =SIMP(statut='o',typ='TXM',
19932                                  into=("VECT_2D","VECT_3D","TORS_3D","TENS_2D","TENS_3D"),),
19933            NOM_CHAM        =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()),
19934            b_vect_2d       =BLOC(condition = "TYPE_CHAM=='VECT_2D'",
19935               NOM_CMP         =SIMP(statut='o',typ='TXM',min=2,max=2 ),),
19936            b_vect_3d       =BLOC(condition = "TYPE_CHAM=='VECT_3D'",
19937               NOM_CMP         =SIMP(statut='o',typ='TXM',min=3,max=3 ),),
19938            b_tors_3d       =BLOC(condition = "TYPE_CHAM=='TORS_3D'",
19939               NOM_CMP         =SIMP(statut='o',typ='TXM',min=6,max=6 ),),
19940            b_tens_2d       =BLOC(condition = "TYPE_CHAM=='TENS_2D'",
19941               NOM_CMP         =SIMP(statut='o',typ='TXM',min=4,max=4 ),),
19942            b_tens_3d       =BLOC(condition = "TYPE_CHAM=='TENS_3D'",
19943               NOM_CMP         =SIMP(statut='o',typ='TXM',min=6,max=6 ),),
19944          ),
19945          DEFI_REPERE     =FACT(statut='o',
19946          regles=(UN_PARMI('ANGL_NAUT','ORIGINE'),),
19947            REPERE          =SIMP(statut='f',typ='TXM',defaut="UTILISATEUR",
19948                                  into=("UTILISATEUR","CYLINDRIQUE"),),
19949            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
19950            ORIGINE         =SIMP(statut='f',typ='R',min=2,max=3),
19951            AXE_Z           =SIMP(statut='f',typ='R',min=3,max=3),
19952          ),
19953          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
19954          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
19955 )  ;
19956 #& MODIF COMMANDE  DATE 31/10/2006   AUTEUR A3BHHAE H.ANDRIAMBOLOLONA 
19957 #            CONFIGURATION MANAGEMENT OF EDF VERSION
19958 # ======================================================================
19959 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
19960 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
19961 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
19962 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
19963 # (AT YOUR OPTION) ANY LATER VERSION.                                 
19964 #
19965 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
19966 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
19967 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
19968 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
19969 #
19970 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
19971 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
19972 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
19973 # ======================================================================
19974 def norm_mode_prod(MODE,**args ):
19975   if AsType(MODE) == mode_meca   : return mode_meca
19976   if AsType(MODE) == mode_meca_c : return mode_meca_c
19977   if AsType(MODE) == mode_flamb  : return mode_flamb
19978   if AsType(MODE) == base_modale : return base_modale
19979   raise AsException("type de concept resultat non prevu")
19980
19981 NORM_MODE=OPER(nom="NORM_MODE",op=  37,sd_prod=norm_mode_prod,
19982                fr="Normer des modes propres en fonction d'un critère choisi par l'utilisateur",
19983                reentrant='f',
19984             UIinfo={"groupes":("Résolution",)},
19985          regles=(UN_PARMI('NORME','NOEUD','AVEC_CMP','SANS_CMP'),
19986                  CONCEPT_SENSIBLE('SEPARE'),
19987                  DERIVABLE('MODE'),),
19988          MODE       =SIMP(statut='o',typ=(mode_meca,mode_flamb,base_modale) ),
19989          NORME      =SIMP(statut='f',typ='TXM',fr="Norme prédéfinie : masse généralisée, euclidienne,...",
19990                           into=("MASS_GENE","RIGI_GENE","EUCL","EUCL_TRAN","TRAN","TRAN_ROTA") ),
19991          NOEUD      =SIMP(statut='f',typ=no, fr="Composante donnée d un noeud spécifié égale à 1"),
19992          b_noeud    =BLOC(condition = "NOEUD != None",
19993            NOM_CMP    =SIMP(statut='o',typ='TXM' ),
19994          ),
19995          AVEC_CMP   =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
19996          SANS_CMP   =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
19997          MASS_INER  =SIMP(statut='f',typ=table_sdaster),
19998          MODE_SIGNE =FACT(statut='f',fr="Imposer un signe sur une des composantes des modes",
19999            NOEUD      =SIMP(statut='o',typ=no,fr="Noeud ou sera imposé le signe"),
20000            NOM_CMP    =SIMP(statut='o',typ='TXM',fr="Composante du noeud ou sera imposé le signe" ),
20001            SIGNE      =SIMP(statut='f',typ='TXM',defaut="POSITIF",into=("NEGATIF","POSITIF"),
20002                             fr="Choix du signe" ),
20003          ),
20004          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
20005                                fr="Liste des param\350tres de sensibilit\351.",
20006                                ang="List of sensitivity parameters",
20007          ),
20008          b_base    =BLOC(condition = "AsType(MODE) == base_modale",
20009               MASSE = SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ), ),
20010               RAIDE = SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_gene_r,matr_asse_pres_r ), ),
20011               AMOR  = SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ),
20012          ),
20013          TITRE      =SIMP(statut='f',typ='TXM',max='**'),
20014          INFO       =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
20015 )  ;
20016 #& MODIF COMMANDE  DATE 13/12/2006   AUTEUR PELLET J.PELLET 
20017 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20018 # ======================================================================
20019 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20020 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20021 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20022 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
20023 # (AT YOUR OPTION) ANY LATER VERSION.
20024 #
20025 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
20026 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
20027 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
20028 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
20029 #
20030 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
20031 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
20032 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
20033 # ======================================================================
20034 # RESPONSABLE VABHHTS J.PELLET
20035 NUME_DDL=OPER(nom="NUME_DDL",op=11,sd_prod=nume_ddl_sdaster,reentrant='n',
20036             UIinfo={"groupes":("Matrices/vecteurs",)},
20037               fr="Etablissement de la numérotation des ddl avec ou sans renumérotation et du stockage de la matrice",
20038                   regles=(UN_PARMI('MATR_RIGI','MODELE'),),
20039          MATR_RIGI       =SIMP(statut='f',validators=NoRepeat(),max=100,
20040                                typ=(matr_elem_depl_r ,matr_elem_depl_c,matr_elem_temp_r ,matr_elem_pres_c) ),
20041          MODELE          =SIMP(statut='f',typ=modele_sdaster ),
20042          b_modele        =BLOC(condition = "MODELE != None",
20043            CHARGE     =SIMP(statut='f',validators=NoRepeat(),max='**',typ=(char_meca,char_ther,char_acou, ),),
20044          ),
20045          METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ),
20046          b_mult_front    =BLOC(condition="METHODE=='MULT_FRONT'",fr="paramètres associés à la méthode multifrontale",
20047            RENUM           =SIMP(statut='f',typ='TXM',into=("MD","MDA","METIS"),defaut="METIS" ),
20048          ),
20049          b_ldlt          =BLOC(condition="METHODE=='LDLT'",fr="paramètres associés à la méthode LDLT",
20050            RENUM           =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK"  ),
20051          ),
20052          b_mumps        =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS",
20053            RENUM         =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AMD","AMF","PORD","METIS","QAMD","AUTO")),
20054            ELIM_LAGR2    =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
20055          ),
20056          b_gcpc          =BLOC(condition="METHODE=='GCPC'",fr="paramètres associés à la méthode gradient conjugué",
20057            RENUM           =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK"  ),
20058          ),
20059          INFO            =SIMP(statut='f',typ='I',into=(1,2)),
20060 )  ;
20061 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
20062 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20063 # ======================================================================
20064 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20065 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20066 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20067 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20068 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20069 #
20070 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20071 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20072 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20073 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20074 #
20075 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20076 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20077 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20078 # ======================================================================
20079 NUME_DDL_GENE=OPER(nom="NUME_DDL_GENE",op= 127,sd_prod=nume_ddl_gene,
20080                    fr="Etablissement de la numérotation des ddl d'un modèle établi en coordonnées généralisées",
20081                     reentrant='n',
20082             UIinfo={"groupes":("Matrices/vecteurs",)},
20083          regles=UN_PARMI('MODELE_GENE','BASE'),
20084          MODELE_GENE     =SIMP(statut='f',typ=modele_gene ),
20085              b_modele_gene     =BLOC(condition = "MODELE_GENE != None",
20086                STOCKAGE     =SIMP(statut='f',typ='TXM',defaut="LIGN_CIEL",into=("LIGN_CIEL","PLEIN") ),
20087                METHODE            =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("INITIAL","CLASSIQUE") ),
20088                                     ),
20089          BASE     =SIMP(statut='f',typ=(mode_meca,mode_stat,base_modale,mode_gene ) ),
20090              b_base     =BLOC(condition = "BASE != None",
20091                STOCKAGE     =SIMP(statut='f',typ='TXM',defaut="DIAG",into=("DIAG","PLEIN") ),
20092                NB_VECT     =SIMP(statut='f',typ='I',defaut= 9999 ),
20093                              ),
20094 )  ;
20095 #& MODIF COMMANDE  DATE 22/05/2007   AUTEUR BODEL C.BODEL 
20096 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20097 # ======================================================================
20098 # COPYRIGHT (C) 1991 - 2007  EDF R&D                  WWW.CODE-ASTER.ORG
20099 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
20100 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
20101 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
20102 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
20103 #                                                                       
20104 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
20105 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
20106 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
20107 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
20108 #                                                                       
20109 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
20110 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
20111 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
20112 # ======================================================================
20113
20114 from Macro.observation_ops import observation_ops
20115
20116
20117 def observation_prod(self, RESULTAT, **args):
20118     if AsType(RESULTAT) == base_modale or AsType(RESULTAT) == mode_meca :
20119         return base_modale
20120     elif AsType(RESULTAT) == evol_elas :
20121         return evol_elas
20122     elif AsType(RESULTAT) == dyna_harmo :
20123         return dyna_harmo
20124     else :
20125         return None
20126
20127 OBSERVATION=MACRO(nom="OBSERVATION",op=observation_ops,
20128             UIinfo={"groupes":("Matrices/vecteurs",)},
20129                       sd_prod=observation_prod,
20130                       fr="Calcul de l'observabilite d'un champ aux noeuds ",
20131 #
20132          MODELE_1        =SIMP(statut='o',typ=modele_sdaster),
20133          MODELE_2        =SIMP(statut='o',typ=modele_sdaster),
20134          RESULTAT        =SIMP(statut='o',typ=(mode_meca,base_modale) ),
20135          NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1),
20136
20137 #        ------------------------------------------------------------------
20138
20139          regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','FREQ','LIST_FREQ','NUME_MODE' ),),
20140          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20141          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
20142          FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
20143          LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
20144          NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
20145          LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
20146          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
20147          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
20148          NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
20149
20150 #        ------------------------------------------------------------------
20151 #        OPTIONS DE PROJ_CHAMP (SANS MC FACTEUR PARTICULIER)
20152 #        ------------------------------------------------------------------
20153          PROJECTION     =SIMP(statut='f',max=1,typ='TXM',into=("OUI","NON"),defaut="NON"),
20154          CAS_FIGURE      =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",) ),
20155          DISTANCE_MAX    =SIMP(statut='f',typ='R',
20156                 fr="Distance maximale entre le noeud et l'élément le plus proche, lorsque le noeud n'est dans aucun élément."),
20157          ALARME          =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
20158
20159          TYPE_CHAM       =SIMP(statut='f',typ='TXM',into=("NOEU",), 
20160                 fr="Pour forcer le type des champs projetés. NOEU -> cham_no"),
20161
20162 #           PROL_ZERO       =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON",
20163 #                fr="Si le résultat est un mode_xxx ou une base_xxx, on peut prolonger"
20164 #                   +" les champs par zéro la ou la projection ne donne pas de valeurs."),
20165
20166          NUME_DDL        =SIMP(statut='f',typ=(nume_ddl_sdaster) ),
20167          VIS_A_VIS       =FACT(statut='f',max='**',
20168              regles=(AU_MOINS_UN('TOUT_1','GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
20169                      AU_MOINS_UN('TOUT_2','GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),),
20170              TOUT_1          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20171              GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20172              MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
20173              GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
20174              NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
20175              TOUT_2          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20176              GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20177              MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
20178              GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
20179              NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
20180              CAS_FIGURE      =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",) ),
20181              ),
20182
20183 #        ------------------------------------------------------------------
20184 #        MODI_REPERE
20185 #        ------------------------------------------------------------------
20186          MODI_REPERE     =FACT(statut='f',max='**',
20187          regles=(UN_PARMI('REPERE'),
20188                  AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
20189            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20190            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
20191            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
20192            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
20193            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20194 #
20195            TYPE_CHAM       =SIMP(statut='f',typ='TXM',
20196                                  into=("VECT_2D","VECT_3D","TORS_3D","TENS_2D","TENS_3D"),
20197                                        defaut="VECT_3D"),
20198            b_vect_2d       =BLOC(condition = "TYPE_CHAM=='VECT_2D'",
20199               NOM_CMP         =SIMP(statut='o',typ='TXM',min=2,max=2 ),),
20200            b_vect_3d       =BLOC(condition = "TYPE_CHAM=='VECT_3D'",
20201               NOM_CMP         =SIMP(statut='f',typ='TXM',min=3,max=3,defaut=('DX','DY','DZ') ),),
20202            b_tors_3d       =BLOC(condition = "TYPE_CHAM=='TORS_3D'",
20203               NOM_CMP         =SIMP(statut='o',typ='TXM',min=6,max=6 ),),
20204            b_tens_2d       =BLOC(condition = "TYPE_CHAM=='TENS_2D'",
20205               NOM_CMP         =SIMP(statut='o',typ='TXM',min=4,max=4 ),),
20206            b_tens_3d       =BLOC(condition = "TYPE_CHAM=='TENS_3D'",
20207               NOM_CMP         =SIMP(statut='o',typ='TXM',min=6,max=6 ),),
20208
20209            REPERE          =SIMP(statut='o',typ='TXM',
20210                                  into=("UTILISATEUR","CYLINDRIQUE","NORMALE"),),
20211            b_normale       =BLOC(condition = "REPERE=='NORMALE'",
20212              regles=(UN_PARMI('VECT_X','VECT_Y')),
20213              VECT_X          =SIMP(statut='f',typ='R',min=3,max=3),
20214              VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3), ),
20215            b_utilisateur   =BLOC(condition = "REPERE=='UTILISATEUR'",
20216              ANGL_NAUT       =SIMP(statut='o',typ='R',max=3)),
20217            b_cylindrique   =BLOC(condition = "REPERE=='CYLINDRIQUE'",
20218              ORIGINE         =SIMP(statut='o',typ='R',min=2,max=3),
20219              AXE_Z           =SIMP(statut='o',typ='R',min=3,max=3)),
20220          ),
20221
20222 #        ------------------------------------------------------------------
20223 #        FILTRE DES DDL
20224 #        ------------------------------------------------------------------
20225          FILTRE     =FACT(statut='f',max='**',
20226            regles=(UN_PARMI('DDL_ACTIF'),
20227 #                           'MASQUE'),
20228            AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
20229            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20230            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
20231            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
20232            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
20233            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20234 #
20235            DDL_ACTIF       =SIMP(statut='f',typ='TXM',max=6),
20236 # TODO : mettre en place le systeme de masques
20237 #           MASQUE          =SIMP(statut='f',typ='TXM',max=6),
20238          ),
20239 #        ------------------------------------------------------------------
20240
20241          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
20242          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
20243       )  ;
20244 #& MODIF COMMANDE  DATE 15/05/2007   AUTEUR GENIAUT S.GENIAUT 
20245 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20246 # ======================================================================
20247 # COPYRIGHT (C) 1991 - 2005  EDF R&D                  WWW.CODE-ASTER.ORG
20248 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
20249 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
20250 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
20251 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
20252 #                                                                       
20253 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
20254 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
20255 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
20256 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
20257 #                                                                       
20258 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
20259 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
20260 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
20261 # ======================================================================
20262 POST_CHAM_XFEM=OPER(nom="POST_CHAM_XFEM",op= 196,sd_prod=evol_noli,
20263                     reentrant='n',UIinfo={"groupes":("Post traitements",)},
20264             fr="Calcul des champs DEPL et SIEF_ELGA sur le maillage fissuré",
20265     MAILLAGE_SAIN = SIMP(statut='o',typ=maillage_sdaster),
20266     MAILLAGE_FISS = SIMP(statut='o',typ=maillage_sdaster),
20267     NOM_CHAM      = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","SIEF_ELGA"),),
20268     MODELE        = SIMP(statut='o',typ=modele_sdaster,),
20269     RESULTAT      = SIMP(statut='o',typ=resultat_sdaster),
20270       b_elga      = BLOC(condition = "NOM_CHAM == 'SIEF_ELGA' or \
20271                                       (type(NOM_CHAM)==type(()) and 'SIEF_ELGA' in NOM_CHAM)",
20272       MODELE_VISU = SIMP(statut='o',typ=modele_sdaster,),
20273                          ),
20274     INFO           =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ),
20275 );                     
20276 #& MODIF COMMANDE  DATE 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
20277 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20278 # ======================================================================
20279 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20280 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20281 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20282 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20283 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20284 #
20285 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20286 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20287 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20288 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20289 #
20290 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20291 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20292 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20293 # ======================================================================
20294 from Macro.post_dyna_alea_ops import post_dyna_alea_ops
20295
20296 POST_DYNA_ALEA=MACRO(nom="POST_DYNA_ALEA",op= post_dyna_alea_ops,sd_prod=table_sdaster,
20297                     fr="Traitements statistiques de résultats de type interspectre et impression sur fichiers",
20298                     reentrant='n',
20299             UIinfo={"groupes":("Post traitements",)},
20300          regles=(UN_PARMI('NOEUD_I','NUME_ORDRE_I','OPTION'),),
20301          INTE_SPEC       =SIMP(statut='o',typ=table_fonction),
20302          NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),  
20303          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20304          NUME_ORDRE_I    =SIMP(statut='f',typ='I',max='**' ),
20305          NOEUD_I         =SIMP(statut='f',typ=no,max='**'),         
20306          OPTION          =SIMP(statut='f',typ='TXM',into=("DIAG",) ),
20307          b_nume_ordre_i =BLOC(condition = "NUME_ORDRE_I != None",
20308            NUME_ORDRE_J    =SIMP(statut='o',typ='I',max='**' ),   
20309          ),  
20310          b_noeud_i      =BLOC(condition = "NOEUD_I != None",
20311            NOEUD_J         =SIMP(statut='o',typ=no,max='**'),
20312            NOM_CMP_I       =SIMP(statut='o',typ='TXM',max='**' ),  
20313            NOM_CMP_J       =SIMP(statut='o',typ='TXM',max='**' ),     
20314          ),  
20315          MOMENT          =SIMP(statut='f',typ='I',max='**',fr="Moments spectraux en complément des cinq premiers" ),  
20316          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
20317          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
20318 )  ;
20319 #& MODIF COMMANDE  DATE 03/01/2006   AUTEUR REZETTE C.REZETTE 
20320 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20321 # ======================================================================
20322 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20323 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20324 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20325 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20326 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20327 #
20328 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20329 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20330 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20331 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20332 #
20333 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20334 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20335 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20336 # ======================================================================
20337 POST_DYNA_MODA_T=OPER(nom="POST_DYNA_MODA_T",op= 130,sd_prod=table_sdaster,
20338                       fr="Post-traiter les résultats en coordonnées généralisées produit par DYNA_TRAN_MODAL",
20339                       reentrant='n',
20340             UIinfo={"groupes":("Post traitements",)},
20341         regles=(UN_PARMI('CHOC','RELA_EFFO_DEPL', ),),
20342          RESU_GENE       =SIMP(statut='o',typ=tran_gene ),
20343          CHOC            =FACT(statut='f',max='**',
20344                                fr="Analyse des non linéarités de choc",
20345            INST_INIT       =SIMP(statut='f',typ='R',defaut= -1. ),  
20346            INST_FIN        =SIMP(statut='f',typ='R',defaut= 999. ),  
20347            NB_BLOC         =SIMP(statut='f',typ='I',defaut= 1 ),  
20348            SEUIL_FORCE     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
20349            DUREE_REPOS     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
20350            OPTION          =SIMP(statut='f',typ='TXM',defaut="USURE",into=("IMPACT","USURE") ),
20351            NB_CLASSE       =SIMP(statut='f',typ='I',defaut= 10 ),  
20352          ),
20353          RELA_EFFO_DEPL  =FACT(statut='f',
20354                                fr="Analyse des relationsnon linéaires effort-déplacement",
20355            NOEUD           =SIMP(statut='o',typ=no),
20356            NOM_CMP         =SIMP(statut='o',typ='TXM' ),  
20357          ),
20358          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
20359          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
20360 )  ;
20361 #& MODIF COMMANDE  DATE 12/09/2006   AUTEUR REZETTE C.REZETTE 
20362 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20363 # ======================================================================
20364 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20365 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20366 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20367 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20368 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20369 #
20370 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20371 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20372 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20373 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20374 #
20375 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20376 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20377 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20378 # ======================================================================
20379 # RESPONSABLE G8BHHXD X.DESROCHES
20380 POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=table_sdaster,reentrant='n',
20381             UIinfo={"groupes":("Post traitements",)},
20382                fr="Calcul de quantités globales (masse, inerties, énergie, ...) sur tout ou partie du modèle",
20383
20384          regles=(UN_PARMI('MASS_INER', 'ENER_POT', 'ENER_CIN','TRAV_EXT',
20385                           'WEIBULL', 'RICE_TRACEY', 'CARA_GEOM','CHAR_LIMITE',
20386                           'CARA_POUTRE', 'INDIC_ENER', 'INDIC_SEUIL',
20387                           'AIRE_INTERNE','ENER_ELAS','ENER_TOTALE','INTEGRALE'),
20388                 ),
20389
20390          MASS_INER      = FACT(statut='f',max='**',
20391                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
20392                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
20393                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
20394                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20395                                ORIG_INER    = SIMP(statut='f',typ='R',min=3,max=3 ),
20396                               ),
20397          b_mass_iner = BLOC(condition = "( MASS_INER != None )",
20398                        fr="calcul de la masse, les inerties et le centre de gravité",
20399                        regles=(EXCLUS('CHAM_GD','RESULTAT'),
20400                                EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
20401                                       'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),),
20402                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
20403                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
20404                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
20405                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
20406                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
20407                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
20408                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
20409                        GEOMETRIE      = SIMP(statut='f',typ='TXM',defaut="INITIALE",into=("INITIALE","DEFORMEE")),
20410                        CHAM_GD        = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ),
20411                        RESULTAT       = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_noli,mult_elas,
20412                                                              fourier_elas,dyna_trans) ),
20413                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
20414                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
20415                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
20416                        NUME_ORDRE     = SIMP(statut='f',typ='I',),
20417                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
20418                        INST           = SIMP(statut='f',typ='R',),
20419                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
20420                        FREQ           = SIMP(statut='f',typ='R',),
20421                        LIST_FREQ      = SIMP(statut='f',typ=listr8_sdaster),
20422                        NUME_MODE      = SIMP(statut='f',typ='I',),
20423                        NOEUD_CMP      = SIMP(statut='f',typ='TXM',min=2,validators=NoRepeat(),max=2),
20424                        NOM_CAS        = SIMP(statut='f',typ='TXM',),
20425          ),
20426
20427          ENER_POT       = FACT(statut='f',max='**',
20428                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
20429                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
20430                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
20431                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20432                               ),
20433          b_ener_pot = BLOC(condition = "( ENER_POT  != None )",
20434                        fr="calcul de l'énergie potentielle de déformation",
20435                        regles=(UN_PARMI('CHAM_GD','RESULTAT'),
20436                                EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
20437                                       'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),),
20438                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
20439                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
20440                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
20441                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
20442                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
20443                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
20444                        ANGLE          = SIMP(statut='f',typ='I',defaut=0),
20445                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
20446                        CHAM_GD        = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ),
20447                        RESULTAT       = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_ther,evol_noli,dyna_trans,mult_elas) ),
20448                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
20449                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
20450                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
20451                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
20452                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
20453                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
20454                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
20455                        FREQ           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
20456                        LIST_FREQ      = SIMP(statut='f',typ=listr8_sdaster),
20457                        NUME_MODE      = SIMP(statut='f',typ='I'  ,validators=NoRepeat(),max='**'),
20458                        NOEUD_CMP      = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
20459                        NOM_CAS        = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
20460          ),
20461
20462          ENER_CIN       = FACT(statut='f',max='**',
20463                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
20464                                OPTION       = SIMP(statut='f',typ='TXM',
20465                                                    into=("MASS_MECA","MASS_MECA_DIAG"),
20466                                                    defaut="MASS_MECA" ),
20467                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
20468                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
20469                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20470                               ),
20471          b_ener_cin = BLOC(condition = "( ENER_CIN != None )",
20472                        fr="calcul de l'énergie cinétique",
20473                        regles=(UN_PARMI('CHAM_GD','RESULTAT'),
20474                                EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
20475                                       'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),),
20476                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
20477                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
20478                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
20479                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
20480                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
20481                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
20482                        ANGLE          = SIMP(statut='f',typ='I',defaut=0),
20483                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
20484                        CHAM_GD        = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ),
20485                        RESULTAT       = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_ther,evol_noli,dyna_trans) ),
20486                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
20487                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
20488                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
20489                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
20490                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
20491                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
20492                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
20493                        FREQ           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
20494                        LIST_FREQ      = SIMP(statut='f',typ=listr8_sdaster),
20495                        NUME_MODE      = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
20496                        NOEUD_CMP      = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
20497                        NOM_CAS        = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
20498          ),
20499
20500          ENER_ELAS      = FACT(statut='f',max='**',
20501                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
20502                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
20503                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
20504                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20505                               ),
20506          b_ener_elas = BLOC(condition = "( ENER_ELAS != None )",
20507                        fr="calcul de l'énergie de déformation élastique",
20508                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
20509                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
20510                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
20511                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
20512                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
20513                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
20514                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
20515                        RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
20516                        regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
20517                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
20518                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
20519                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
20520                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
20521                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
20522                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
20523                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
20524          ),
20525
20526          ENER_TOTALE    = FACT(statut='f',max='**',
20527                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
20528                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
20529                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
20530                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20531                               ),
20532          b_ener_totale = BLOC(condition = "( ENER_TOTALE != None )",
20533                        fr="calcul de l'énergie de déformation totale",
20534                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
20535                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
20536                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
20537                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
20538                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
20539                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
20540                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
20541                        RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
20542                        regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
20543                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
20544                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
20545                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
20546                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
20547                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
20548                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
20549                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
20550          ),
20551
20552          INTEGRALE  = FACT(statut='f',max='**',
20553                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
20554                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
20555                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
20556                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20557                                NOM_CHAM       = SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()),
20558                                NOM_CMP        = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),
20559                               ),
20560          b_integrale = BLOC(condition = "( INTEGRALE != None )",
20561                        fr="calcul de la moyenne d'une composante",
20562                        regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
20563                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
20564                        RESULTAT       = SIMP(statut='o',typ=(evol_noli,evol_ther,evol_elas) ),
20565                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
20566                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
20567                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
20568                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
20569                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
20570                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
20571                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
20572          ),
20573
20574          WEIBULL        = FACT(statut='f',max='**',
20575                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
20576                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
20577                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
20578                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20579                                OPTION       = SIMP(statut='f',typ='TXM',
20580                                                    into=("SIGM_ELGA","SIGM_ELMOY"),
20581                                                    defaut="SIGM_ELGA"),
20582                                CORR_PLAST   = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
20583                                COEF_MULT    = SIMP(statut='f',typ='R',defaut=1.),
20584                               ),
20585          b_weibull = BLOC(condition = "( WEIBULL != None )",
20586                        fr="calcul du champ élémentaire de la puissance m-ième de la contrainte de Weibull",
20587                        regles=(UN_PARMI('CHAM_GD','RESULTAT'),
20588                                EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
20589                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
20590                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
20591                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
20592                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
20593                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
20594                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
20595                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
20596                        CHAM_GD        = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ),
20597                        RESULTAT       = SIMP(statut='f',typ=(evol_noli) ),
20598                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
20599                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
20600                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
20601                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
20602                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
20603                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
20604                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
20605          ),
20606
20607          RICE_TRACEY    = FACT(statut='f',max='**',
20608                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
20609                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
20610                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
20611                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20612                                OPTION       = SIMP(statut='f',typ='TXM',
20613                                                    into=("SIGM_ELGA","SIGM_ELMOY"),
20614                                                    defaut="SIGM_ELGA"),
20615                                LOCAL        = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
20616                               ),
20617          b_rice_tracey = BLOC(condition = "( RICE_TRACEY != None )",
20618                        fr="calcul du taux de croissance d'une cavité sphérique par rapport à un domaine",
20619                        regles=(UN_PARMI('CHAM_GD','RESULTAT'),
20620                                EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
20621                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
20622                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
20623                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
20624                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
20625                        NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
20626                        NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
20627                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
20628                        CHAM_GD        = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ),
20629                        RESULTAT       = SIMP(statut='f',typ=(evol_noli) ),
20630                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
20631                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
20632                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
20633                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
20634                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
20635                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
20636                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
20637          ),
20638
20639          INDIC_ENER     = FACT(statut='f',max='**',
20640                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
20641                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
20642                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
20643                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20644                               ),
20645          b_indic_ener = BLOC(condition = "( INDIC_ENER != None )",
20646                        fr="calcul un indicateur global de perte de proportionnalité du chargement",
20647                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
20648                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
20649                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
20650                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
20651                        RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
20652                        regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
20653                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
20654                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
20655                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
20656                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
20657                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
20658                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
20659                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
20660          ),
20661
20662          INDIC_SEUIL    = FACT(statut='f',max='**',
20663                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
20664                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
20665                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
20666                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20667                               ),
20668          b_indic_seuil = BLOC(condition = "( INDIC_SEUIL != None )",
20669                        fr="calcul un indicateur global de perte de proportionnalité du chargement",
20670                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
20671                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
20672                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
20673                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
20674                        RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
20675                        regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
20676                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
20677                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
20678                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
20679                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
20680                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
20681                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
20682                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
20683          ),
20684
20685          CHAR_LIMITE    = FACT(statut='f',min=0,
20686                                CHAR_CSTE = SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON")
20687                               ),
20688          b_char_limite = BLOC(condition = "( CHAR_LIMITE != None )",
20689                        fr="post-traitement du calcul de la charge limite",
20690                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
20691                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
20692                        CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
20693                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
20694                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
20695                        RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
20696                        regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
20697                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
20698                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
20699                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
20700                        NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
20701                        LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
20702                        INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
20703                        LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
20704          ),
20705
20706          CARA_GEOM      = FACT(statut='f',max='**',
20707                                regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
20708                                TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
20709                                MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
20710                                GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20711                                SYME_X       = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
20712                                SYME_Y       = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
20713                                ORIG_INER    = SIMP(statut='f',typ='R',min=2,max=2),
20714                               ),
20715          b_cara_geom = BLOC(condition = "( CARA_GEOM != None )",
20716                        fr="calcul des caractéristiques géométriques d'un section de poutre",
20717                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
20718                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
20719                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
20720                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
20721          ),
20722
20723          CARA_POUTRE    = FACT(statut='f',max='**',
20724                                regles=(AU_MOINS_UN('TOUT','GROUP_MA'),
20725                                        ENSEMBLE('LONGUEUR','LIAISON','MATERIAU'),),
20726                                TOUT          = SIMP(statut='f',typ='TXM',into=("OUI",) ),
20727                                GROUP_MA      = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20728                                GROUP_MA_INTE = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20729                                CARA_GEOM     = SIMP(statut='o',typ=table_sdaster),
20730                                RT            = SIMP(statut='f',typ='R'),
20731                                LAPL_PHI      = SIMP(statut='f',typ=evol_ther),
20732                                LAPL_PHI_Y    = SIMP(statut='f',typ=evol_ther),
20733                                LAPL_PHI_Z    = SIMP(statut='f',typ=evol_ther),
20734                                LIAISON       = SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT")),
20735                                LONGUEUR      = SIMP(statut='f',typ='R'),
20736                                MATERIAU      = SIMP(statut='f',typ=mater_sdaster),
20737                                OPTION        = SIMP(statut='f',typ='TXM',
20738                                                     into=("CARA_TORSION","CARA_CISAILLEMENT","CARA_GAUCHI") ),
20739                              ),
20740          b_cara_poutre = BLOC(condition = "( CARA_POUTRE != None )",
20741                        fr="calcul des caractéristiques mécaniques d'un section de poutre",
20742                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
20743                        CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
20744                        CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
20745                        MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
20746          ),
20747
20748           AIRE_INTERNE   = FACT(statut='f',max='**',
20749                                 GROUP_MA_BORD  = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
20750                                ),
20751          b_aire_interne = BLOC(condition = "( AIRE_INTERNE != None )",
20752                        fr="calcul de l'aire d'un trou dans un maillage 2D",
20753                        MODELE         = SIMP(statut='f',typ=modele_sdaster),
20754          ),
20755
20756          TRAV_EXT       = FACT(statut='f',),
20757          b_trav_ext = BLOC(condition = "( TRAV_EXT != None )",
20758                        fr="calcul du travail des efforts extérieurs",
20759                        RESULTAT       = SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans) ),
20760                        PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
20761                        CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
20762                        TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
20763          ),
20764
20765          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
20766          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
20767
20768  )  ;
20769 #& MODIF COMMANDE  DATE 03/01/2006   AUTEUR REZETTE C.REZETTE 
20770 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20771 # ======================================================================
20772 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20773 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20774 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20775 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20776 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20777 #
20778 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20779 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20780 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20781 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20782 #
20783 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20784 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20785 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20786 # ======================================================================
20787 POST_FATI_ALEA=OPER(nom="POST_FATI_ALEA",op=170,sd_prod=table_sdaster,reentrant='n',
20788             UIinfo={"groupes":("Post traitements",)},
20789                     fr="Calculer le dommage de fatigue subi par une structure soumise à une sollicitation de type aléatoire",
20790          regles=(ENSEMBLE('MOMENT_SPEC_0','MOMENT_SPEC_2'),
20791                  PRESENT_PRESENT( 'MOMENT_SPEC_4','MOMENT_SPEC_0'),
20792                  UN_PARMI('TABL_POST_ALEA','MOMENT_SPEC_0'), ),
20793          MOMENT_SPEC_0   =SIMP(statut='f',typ='R'),  
20794          MOMENT_SPEC_2   =SIMP(statut='f',typ='R'),  
20795          MOMENT_SPEC_4   =SIMP(statut='f',typ='R'),  
20796          TABL_POST_ALEA  =SIMP(statut='f',typ=table_sdaster),
20797          COMPTAGE        =SIMP(statut='o',typ='TXM',into=("PIC","NIVEAU")),
20798          DUREE           =SIMP(statut='f',typ='R',defaut= 1.),  
20799          CORR_KE         =SIMP(statut='f',typ='TXM',into=("RCCM",)),
20800          DOMMAGE         =SIMP(statut='o',typ='TXM',into=("WOHLER",)),
20801          MATER           =SIMP(statut='o',typ=mater_sdaster),
20802          TITRE           =SIMP(statut='f',typ='TXM',max='**'),  
20803 )  ;
20804 #& MODIF COMMANDE  DATE 03/01/2006   AUTEUR REZETTE C.REZETTE 
20805 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20806 # ======================================================================
20807 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20808 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20809 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20810 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
20811 # (AT YOUR OPTION) ANY LATER VERSION.
20812 #
20813 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
20814 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
20815 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
20816 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
20817 #
20818 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
20819 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
20820 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
20821 # ======================================================================
20822 POST_FATIGUE=OPER(nom="POST_FATIGUE",op=136,sd_prod=table_sdaster,reentrant='n',
20823             UIinfo={"groupes":("Post traitements",)},
20824                   fr="Calculer en un point, le dommage de fatigue subi par une structure soumise à une histoire de chargement",
20825
20826          CHARGEMENT = SIMP(statut='o',typ='TXM',into=("UNIAXIAL","PERIODIQUE","QUELCONQUE")),
20827
20828          b_uniaxial = BLOC( condition = "CHARGEMENT=='UNIAXIAL'",
20829                       regles=(PRESENT_PRESENT('CORR_KE','MATER'),
20830                               PRESENT_PRESENT('CORR_SIGM_MOYE','MATER'),
20831                               PRESENT_PRESENT('DOMMAGE','MATER'),),
20832              HISTOIRE       = FACT(statut='o',
20833                                  regles=(UN_PARMI('SIGM','EPSI'),),
20834                                  SIGM  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
20835                                  EPSI  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),),
20836              COMPTAGE       = SIMP(statut='o',typ='TXM',into=("RAINFLOW","RCCM","NATUREL")),
20837              DELTA_OSCI     = SIMP(statut='f',typ='R',defaut= 0.0E+0),
20838              COEF_MULT      = FACT(statut='f',
20839                                  KT    = SIMP(statut='o',typ='R'),),
20840              CORR_KE        = SIMP(statut='f',typ='TXM',into=("RCCM",)),
20841              DOMMAGE        = SIMP(statut='f',typ='TXM',into=("WOHLER","MANSON_COFFIN",
20842                                                               "TAHERI_MANSON","TAHERI_MIXTE")),
20843              MATER          = SIMP(statut='f',typ=mater_sdaster),
20844              CORR_SIGM_MOYE = SIMP(statut='f',typ='TXM',into=("GOODMAN","GERBER")),
20845              TAHERI_NAPPE   = SIMP(statut='f',typ=(nappe_sdaster,formule)),
20846              TAHERI_FONC    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
20847              CUMUL          = SIMP(statut='f',typ='TXM',into=("LINEAIRE",)),
20848          ),
20849
20850          b_periodique = BLOC( condition = "CHARGEMENT=='PERIODIQUE'",
20851              HISTOIRE       = FACT(statut='o',
20852                                  SIGM_XX  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
20853                                  SIGM_YY  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
20854                                  SIGM_ZZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
20855                                  SIGM_XY  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
20856                                  SIGM_XZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
20857                                  SIGM_YZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),),
20858              CRITERE        = SIMP(statut='o',typ='TXM',into=("CROSSLAND","PAPADOPOULOS")),
20859              DOMMAGE        = SIMP(statut='f',typ='TXM',into=("WOHLER",)),
20860              MATER          = SIMP(statut='o',typ=mater_sdaster),
20861              COEF_CORR      = SIMP(statut='f',typ='R'),
20862          ),
20863
20864          b_quelconque = BLOC( condition = "CHARGEMENT=='QUELCONQUE'",
20865              HISTOIRE       = FACT(statut='o',
20866                                  SIGM_XX  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
20867                                  SIGM_YY  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
20868                                  SIGM_ZZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
20869                                  SIGM_XY  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
20870                                  SIGM_XZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
20871                                  SIGM_YZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
20872                                  EPSP     = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
20873                                  TEMP     = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),),
20874              DOMMAGE        = SIMP(statut='f',typ='TXM',into=("LEMAITRE",),),
20875              MATER          = SIMP(statut='o',typ=mater_sdaster),
20876              CUMUL          = SIMP(statut='f',typ='TXM',into=("LINEAIRE",)),
20877          ),
20878
20879          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
20880          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
20881 )  ;
20882 #& MODIF COMMANDE  DATE 31/10/2006   AUTEUR REZETTE C.REZETTE 
20883 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20884 # ======================================================================
20885 # COPYRIGHT (C) 1991 - 2006  EDF R&D                  WWW.CODE-ASTER.ORG
20886 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
20887 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
20888 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
20889 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
20890 #                                                                       
20891 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
20892 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
20893 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
20894 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
20895 #                                                                       
20896 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
20897 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
20898 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
20899 # ======================================================================
20900
20901 from Macro.post_gp_ops import post_gp_ops
20902 def post_gp_prod(self, TABL_RESU, **kargs):
20903    """Typage des sd_prod
20904    """
20905    if TABL_RESU != None:
20906       self.type_sdprod(TABL_RESU, table_sdaster)
20907    return table_sdaster
20908
20909 POST_GP=MACRO(nom="POST_GP", op=post_gp_ops, sd_prod=post_gp_prod,
20910               fr="Calcul du critère énergétique Gp suite à un calcul thermo-mécanique",
20911               reentrant='n',
20912               UIinfo={"groupes":("Post traitements",)},
20913               regles=(AU_MOINS_UN('IDENTIFICATION', 'PREDICTION'),),
20914       
20915       # Résultat, modèle, comportement, chargement
20916       RESULTAT     = SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans,mode_meca),),
20917       RESU_THER    = SIMP(statut='f',typ=evol_ther,),
20918       MODELE       = SIMP(statut='o',typ=modele_sdaster),
20919       MATER        = SIMP(statut='o',typ=mater_sdaster),
20920       
20921       COMP_ELAS    = FACT(statut='o',
20922             RELATION    = SIMP(statut='f',typ='TXM',defaut="ELAS",
20923                             into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC"),),
20924             DEFORMATION = SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","GREEN"),),
20925       ),
20926       
20927       EXCIT        = FACT(statut='f', max='**',
20928             CHARGE      = SIMP(statut='o', typ=(char_meca,char_cine_meca)),
20929             FONC_MULT   = SIMP(statut='f', typ=(fonction_sdaster,nappe_sdaster,formule)),
20930             TYPE_CHARGE = SIMP(statut='f', typ='TXM', defaut="FIXE", into=("FIXE",)),
20931       ),
20932       SYME_CHAR    = SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","ANTI","SANS")),
20933       
20934       DIRECTION    = SIMP(statut='o', typ='R', max=3),
20935       THETA_2D     = FACT(statut='o', max='**',
20936                           fr="paramètres de définition des champs theta",
20937             GROUP_NO    = SIMP(statut='o', typ=grno, validators=NoRepeat(), max='**'),
20938             R_INF       = SIMP(statut='o', typ='R'),
20939             R_SUP       = SIMP(statut='o', typ='R'),
20940       ),
20941       
20942       # copeaux
20943       GROUP_MA     = SIMP(statut='o', typ=grma, validators=NoRepeat(), max='**'),
20944       PAS_ENTAILLE = SIMP(statut='o', typ='R', val_min=0.),
20945       
20946       # critère sur Gp
20947       CRIT_MAXI_GP = SIMP(statut='f', typ='TXM', defaut="ABSOLU",
20948                           into=("RELATIF","ABSOLU")),
20949       
20950       # correction axisymétrie
20951       RAYON_AXIS   = SIMP(statut='f', typ='R', val_min=0., defaut=1.),
20952       
20953       # identification
20954       IDENTIFICATION = FACT(statut='f', max=1,
20955             KJ_CRIT     = SIMP(statut='o', typ='R', val_min=0., max='**'),
20956             TEMP        = SIMP(statut='o', typ='R', val_min=0., max='**'),
20957       ),
20958       
20959       # prédiction
20960       PREDICTION   = FACT(statut='f', max=1,
20961             GP_CRIT     = SIMP(statut='o', typ='R', val_min=0., max='**'),
20962             TEMP        = SIMP(statut='o', typ='R', val_min=0., max='**'),
20963       ),
20964       
20965       # table résultat
20966       TABL_RESU    = SIMP(statut='o', typ=CO,),
20967       
20968       INFO         = SIMP(statut='f', typ='I', defaut=1, into=(1, 2),),
20969 )
20970 #& MODIF COMMANDE  DATE 05/03/2007   AUTEUR GALENNE E.GALENNE 
20971 #            CONFIGURATION MANAGEMENT OF EDF VERSION
20972 # ======================================================================
20973 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
20974 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20975 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20976 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
20977 # (AT YOUR OPTION) ANY LATER VERSION.                                 
20978 #
20979 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
20980 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
20981 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
20982 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
20983 #
20984 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
20985 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
20986 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
20987 # ======================================================================
20988 # RESPONSABLE GALENNE E.GALENNE
20989 from Macro.post_k1_k2_k3_ops import post_k1_k2_k3_ops
20990 POST_K1_K2_K3=MACRO(nom="POST_K1_K2_K3",op=post_k1_k2_k3_ops,sd_prod=table_sdaster,
20991                    fr="Calcul des facteurs d'intensité de contraintes en 2D et en 3D par extrapolation des sauts de déplacements"
20992                      +" sur les lèvres de la fissure",
20993                    reentrant='n',
20994             UIinfo={"groupes":("Post traitements",)},
20995
20996            regles=(UN_PARMI('RESULTAT','TABL_DEPL_SUP'),
20997                   EXCLUS('FISSURE','FOND_FISS'),
20998                   PRESENT_PRESENT('FISSURE','RESULTAT'),
20999                    #PRESENT_PRESENT('RESULTAT','FOND_FISS'),
21000                    ),
21001
21002          MODELISATION  =SIMP(statut='o',typ='TXM',
21003                              into=("3D","AXIS","D_PLAN","C_PLAN"),
21004                              fr="Modélisation cohérente avec celle utilisée pour le calcul des déplacements"),
21005          FOND_FISS     =SIMP(statut='f',typ=fond_fiss),
21006          FISSURE     =SIMP(statut='f',typ=fiss_xfem),
21007          b_fond_fiss   =BLOC (condition="(FOND_FISS!= None)",
21008                          MAILLAGE      = SIMP(statut='o',typ=maillage_sdaster),
21009                          TYPE_MAILLAGE = SIMP(statut='f',typ='TXM',into=("LIBRE","REGLE"),defaut="REGLE"),
21010                          NB_NOEUD_COUPE= SIMP(statut='f',typ='I'),
21011                          NOEUD         = SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
21012                          GROUP_NO      = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
21013                          SANS_NOEUD    = SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
21014                          SANS_GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
21015                          TOUT          = SIMP(statut='f',typ='TXM',into=("OUI",) )
21016                          ),
21017          b_fissure   =BLOC (condition="(FISSURE!= None)",
21018                          MAILLAGE       = SIMP(statut='o',typ=maillage_sdaster),
21019                          NB_NOEUD_COUPE = SIMP(statut='f',typ='I' ,defaut=5 ),
21020                          DTAN_ORIG      = SIMP(statut='f',typ='R',max='**'),
21021                          DTAN_EXTR      = SIMP(statut='f',typ='R',max='**'),
21022                          ),
21023          MATER         =SIMP(statut='o',typ=mater_sdaster,
21024                              fr="Matériau homogène et isotrope cohérent avec celui utilisé pour le calcul des déplacements"),
21025          RESULTAT      =SIMP(statut='f',typ=(evol_elas,evol_noli),
21026                              fr="Déplacement des noeuds de la lèvre supérieure et inférieure"),
21027          TABL_DEPL_SUP =SIMP(statut='f',typ=table_sdaster,
21028                              fr="Table issue de post_releve_t sur les noeuds de la lèvre supérieure"),
21029          TABL_DEPL_INF =SIMP(statut='f',typ=table_sdaster,
21030                              fr="Table issue de post_releve_t sur les noeuds de la lèvre inférieure"),
21031          ABSC_CURV_MAXI=SIMP(statut='f',typ='R',
21032                              fr="Distance maximum à partir du fond de fissure à utiliser pour le calcul"),  
21033          PREC_VIS_A_VIS= SIMP(statut='f',typ='R',defaut=0.1),
21034          TOUT_ORDRE    =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21035          NUME_ORDRE    =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
21036          LIST_ORDRE    =SIMP(statut='f',typ=listis_sdaster),
21037          INST          =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
21038          LIST_INST     =SIMP(statut='f',typ=listr8_sdaster),
21039              b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)",
21040                PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),
21041                CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21042              ),
21043          SYME_CHAR       =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","SANS") ),
21044          INFO          =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
21045          VECT_K1       =SIMP(statut='o',typ='R',max=3,
21046                              fr="Vecteur normal au plan de fissure, orienté de la lèvre inférieure vers la lèvre supérieure"),  
21047          TITRE         =SIMP(statut='f',typ='TXM',max='**'),  
21048 )  ;
21049 #& MODIF COMMANDE  DATE 03/01/2006   AUTEUR REZETTE C.REZETTE 
21050 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21051 # ======================================================================
21052 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
21053 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21054 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21055 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
21056 # (AT YOUR OPTION) ANY LATER VERSION.                                 
21057 #
21058 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
21059 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
21060 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
21061 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
21062 #
21063 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
21064 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
21065 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
21066 #                                                                       
21067 #                                                                       
21068 # ======================================================================
21069 #
21070 POST_K_BETA=OPER(nom="POST_K_BETA",op=198,sd_prod=table_sdaster,
21071                    fr="Calcul des facteurs d'intensité de contraintes par la méthode K_BETA",
21072                    reentrant='n',
21073             UIinfo={"groupes":("Post traitements",)},
21074          MAILLAGE      = SIMP(statut='o',typ=maillage_sdaster),
21075          MATER_REV     = SIMP(statut='o',typ=mater_sdaster),
21076          EPAIS_REV     = SIMP(statut='o',typ='R'),
21077          FISSURE       = FACT(statut='o',
21078             DECALAGE       = SIMP(statut='f',typ='R',defaut=-2.e-04),
21079             PROFONDEUR     = SIMP(statut='o',typ='R'),
21080             LONGUEUR       = SIMP(statut='o',typ='R'),
21081             ORIENTATION    = SIMP(statut='o',typ='TXM',
21082                                  into=("CIRC","LONGI"),),
21083          ),
21084          K1D           = FACT(statut='o',max='**',
21085             TABL_MECA_REV  = SIMP(statut='o',typ=(table_sdaster)),
21086             TABL_MECA_MDB  = SIMP(statut='o',typ=(table_sdaster)),
21087             TABL_THER      = SIMP(statut='o',typ=(table_sdaster)),
21088             INTITULE       = SIMP(statut='o',typ='TXM' ), 
21089          ),
21090          TITRE         = SIMP(statut='f',typ='TXM',max='**'),  
21091 );
21092 #& MODIF COMMANDE  DATE 31/10/2006   AUTEUR REZETTE C.REZETTE 
21093 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21094 # ======================================================================
21095 # COPYRIGHT (C) 1991 - 2006  EDF R&D                  WWW.CODE-ASTER.ORG
21096 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
21097 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
21098 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
21099 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
21100 #                                                                       
21101 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
21102 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
21103 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
21104 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
21105 #                                                                       
21106 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
21107 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
21108 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
21109 # ======================================================================
21110
21111 from Macro.post_k_trans_ops import post_k_trans_ops
21112
21113 POST_K_TRANS=MACRO(nom="POST_K_TRANS",op=post_k_trans_ops,sd_prod=table_sdaster,
21114             fr="Calcul des facteurs d intensite des contrainte par recombinaison modale",reentrant='n',
21115             UIinfo={"groupes":("Post traitements",)},
21116         RESU_TRANS      =SIMP(statut='o',typ=tran_gene), 
21117         K_MODAL         =FACT(statut='o',
21118            TABL_K_MODA     =SIMP(statut='f',typ=table_sdaster,),
21119            RESU_MODA       =SIMP(statut='f',typ=mode_meca,),
21120            FOND_FISS       =SIMP(statut='f',typ=fond_fiss,),
21121            FISSURE         =SIMP(statut='f',typ=fiss_xfem,),
21122            THETA           =SIMP(statut='f',typ=(theta_geom,cham_no_sdaster)),
21123            R_INF           =SIMP(statut='f',typ='R'),
21124            R_SUP           =SIMP(statut='f',typ='R'),
21125            MODULE          =SIMP(statut='f',typ='R'),
21126            DIRE_THETA      =SIMP(statut='f',typ=cham_no_sdaster ),
21127            DIRECTION       =SIMP(statut='f',typ='R',max='**'),
21128            R_INF_FO        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
21129            R_SUP_FO        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),             
21130            MODULE_FO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
21131            DEGRE           =SIMP(statut='f',typ='I',into=(0,1,2,3,4,5,6,7) ),
21132            LISSAGE_THETA   =SIMP(statut='f',typ='TXM',into=("LEGENDRE","LAGRANGE","LAGRANGE_REGU"),),
21133            LISSAGE_G       =SIMP(statut='f',typ='TXM',into=("LEGENDRE","LAGRANGE","LAGRANGE_NO_NO","LAGRANGE_REGU"),),
21134
21135
21136            regles=(UN_PARMI('TABL_K_MODA','RESU_MODA'),
21137                    UN_PARMI('FISSURE','FOND_FISS'),
21138                    EXCLUS('MODULE','MODULE_FO'),
21139                    PRESENT_PRESENT('R_INF','R_SUP'),
21140                    PRESENT_PRESENT('R_INF_FO','R_SUP_FO'), ),
21141          ),
21142         regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),),
21143         TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21144         NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
21145         LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
21146         INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
21147         LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
21148         PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
21149         CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
21150
21151         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
21152         TITRE           =SIMP(statut='f',typ='TXM'),
21153 )
21154
21155 #& MODIF COMMANDE  DATE 15/05/2007   AUTEUR GENIAUT S.GENIAUT 
21156 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21157 # ======================================================================
21158 # COPYRIGHT (C) 1991 - 2005  EDF R&D                  WWW.CODE-ASTER.ORG
21159 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
21160 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
21161 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
21162 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
21163 #                                                                       
21164 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
21165 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
21166 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
21167 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
21168 #                                                                       
21169 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
21170 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
21171 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
21172 # ======================================================================
21173 POST_MAIL_XFEM=OPER(nom="POST_MAIL_XFEM",op= 187,sd_prod=maillage_sdaster,
21174                     reentrant='n',UIinfo={"groupes":("Maillage",)},
21175             fr="Crée un maillage se conformant à la fissure pour le post-traitement des éléments XFEM",
21176     MODELE        = SIMP(statut='o',typ=modele_sdaster),
21177     MAILLAGE_SAIN = SIMP(statut='o',typ=maillage_sdaster),
21178     TITRE         = SIMP(statut='f',typ='TXM',max='**'),
21179     INFO           =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ),
21180
21181 );                     
21182 #& MODIF COMMANDE  DATE 03/04/2007   AUTEUR VIVAN L.VIVAN 
21183 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21184 # ======================================================================
21185 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21186 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21187 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21188 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
21189 # (AT YOUR OPTION) ANY LATER VERSION.                                 
21190 #
21191 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
21192 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
21193 # MERCHANTABILITY OR FITNESS FOR A PARTIC               
21194 #
21195 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
21196 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
21197 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
21198 # ======================================================================
21199 # RESPONSABLE JMBHH01 J.M.PROIX
21200 POST_RCCM=OPER(nom="POST_RCCM",op= 165,sd_prod=table_sdaster,
21201                fr="Vérification des critères de niveau 0 et certains critères de niveau A du RCC-M-B3200 (Edition 1991)",
21202                reentrant='n',
21203             UIinfo={"groupes":("Post traitements",)},
21204          TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="VALE_MAX",into=("VALE_MAX","DETAILS") ),
21205          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
21206          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
21207          TYPE_RESU_MECA  =SIMP(statut='o',typ='TXM',into=("EVOLUTION","UNITAIRE","TUYAUTERIE") ),
21208
21209 # ======================================================================
21210      b_evolution  =BLOC(condition="(TYPE_RESU_MECA == 'EVOLUTION')",
21211
21212          OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
21213                                into=("PM_PB","SN","FATIGUE_ZH210","AMORCAGE") ),
21214          MATER           =SIMP(statut='o',typ=mater_sdaster ),
21215          SY_MAX          =SIMP(statut='f',typ='R',
21216                                fr="limite élastique utilisée pour le calcul du rochet thermique" ),
21217
21218          TRANSITOIRE     =FACT(statut='o',max='**',fr="transitoire à dépouiller",
21219            regles=(EXCLUS('TOUT_ORDRE','INST','LIST_INST'),
21220                    UN_PARMI('TABL_RESU_MECA','TABL_SIGM_THETA'),),
21221            NB_OCCUR        =SIMP(statut='f',typ='I',defaut= 1,
21222                                  fr="nombre d occurences réelles de ce transitoire" ),
21223            TABL_RESU_MECA  =SIMP(statut='f',typ=table_sdaster,
21224                                  fr="relevé des contraintes sur le chemin"),
21225            TABL_SIGM_THER  =SIMP(statut='f',typ=table_sdaster,
21226                                  fr="résultat sous chargement thermique seul" ),
21227            TABL_RESU_PRES  =SIMP(statut='f',typ=table_sdaster,
21228                                  fr="table relevé des contraintes sous chargement de pression" ),
21229            TABL_SIGM_THETA =SIMP(statut='f',typ=table_sdaster,
21230                                  fr="table relevé des contraintes a la distance d de la singularité pour chacun des angles THETA" ),
21231            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21232            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
21233            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
21234            b_inst          =BLOC(condition = "(INST != None) or (LIST_INST != None)" ,
21235              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
21236              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ),
21237                                  ), 
21238                              ),
21239          ),
21240
21241 # ======================================================================
21242      b_unitaire  =BLOC(condition="(TYPE_RESU_MECA == 'UNITAIRE')",
21243
21244          OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
21245                                into=("PM_PB","SN","FATIGUE") ),
21246          MATER           =SIMP(statut='o',typ=mater_sdaster ),
21247          SY_MAX          =SIMP(statut='f',typ='R',
21248                                fr="limite élastique utilisée pourle calcul du rochet thermique" ),
21249          TYPE_KE         =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"),
21250                                fr="Ke meca seul ou partition mecanique + thermique" ),
21251          CHAR_MECA   =FACT(statut='o',max='**',fr="Chargements mécaniques",
21252                            regles=(UN_PARMI('MX','MX_TUBU'),),
21253            NUME_CHAR     =SIMP(statut='o',typ='I',fr="numéro du chargement" ),
21254            NOM_CHAR      =SIMP(statut='f',typ='TXM',fr="nom du chargement" ),
21255            TYPE_CHAR     =SIMP(statut='f',typ='TXM',fr="nature du chargement",into=( "SEISME","AUTRE"),defaut="AUTRE",),
21256            MX            =SIMP(statut='f',typ='R',fr="moment suivant x", ),
21257            MX_TUBU       =SIMP(statut='f',typ='R',fr="moment suivant x, tubulure", ),
21258            b_1_tenseur     =BLOC( condition = "MX != None",
21259              FX            =SIMP(statut='f',typ='R',fr="effort suivant x", ),
21260              FY            =SIMP(statut='f',typ='R',fr="effort suivant y", ),
21261              FZ            =SIMP(statut='f',typ='R',fr="effort suivant z", ),
21262              MY            =SIMP(statut='o',typ='R',fr="moment suivant y", ),
21263              MZ            =SIMP(statut='o',typ='R',fr="moment suivant z", ),
21264            ),
21265            b_2_tenseurs    =BLOC( condition = "MX_TUBU != None",
21266              FX_TUBU       =SIMP(statut='f',typ='R',fr="effort suivant x, tubulure", ),
21267              FY_TUBU       =SIMP(statut='f',typ='R',fr="effort suivant y, tubulure", ),
21268              FZ_TUBU       =SIMP(statut='f',typ='R',fr="effort suivant z, tubulure", ),
21269              MY_TUBU       =SIMP(statut='o',typ='R',fr="moment suivant y, tubulure", ),
21270              MZ_TUBU       =SIMP(statut='o',typ='R',fr="moment suivant z, tubulure", ),
21271              FX_CORP       =SIMP(statut='f',typ='R',fr="effort suivant x, corps du piquage", ),
21272              FY_CORP       =SIMP(statut='f',typ='R',fr="effort suivant y, corps du piquage", ),
21273              FZ_CORP       =SIMP(statut='f',typ='R',fr="effort suivant z, corps du piquage", ),
21274              MX_CORP       =SIMP(statut='o',typ='R',fr="moment suivant x, corps du piquage", ),
21275              MY_CORP       =SIMP(statut='o',typ='R',fr="moment suivant y, corps du piquage", ),
21276              MZ_CORP       =SIMP(statut='o',typ='R',fr="moment suivant z, corps du piquage", ),
21277            ),
21278
21279                          ),
21280          RESU_MECA_UNIT =FACT(statut='o',fr="resultats mécaniques unitaires",
21281                               regles=(UN_PARMI('TABL_MX','TABL_MX_TUBU'),),
21282            TABL_MX       =SIMP(statut='f',typ=table_sdaster,
21283                                fr="table relevé des contraintes pour chargement unitaire MX"),
21284            TABL_MX_TUBU  =SIMP(statut='f',typ=table_sdaster,
21285                                fr="table relevé des contraintes pour chargement unitaire MX_TUBU"),
21286            b_1_tenseur     =BLOC( condition = "TABL_MX != None",
21287              TABL_FX       =SIMP(statut='f',typ=table_sdaster,
21288                                  fr="table relevé des contraintes pour chargement unitaire FX"),
21289              TABL_FY       =SIMP(statut='f',typ=table_sdaster,
21290                                  fr="table relevé des contraintes pour chargement unitaire FY"),
21291              TABL_FZ       =SIMP(statut='f',typ=table_sdaster,
21292                                  fr="table relevé des contraintes pour chargement unitaire FZ"),
21293              TABL_MY       =SIMP(statut='o',typ=table_sdaster,
21294                                  fr="table relevé des contraintes pour chargement unitaire MY"),
21295              TABL_MZ       =SIMP(statut='o',typ=table_sdaster,
21296                                  fr="table relevé des contraintes pour chargement unitaire MZ"),
21297            ),
21298            b_2_tenseurs    =BLOC( condition = "TABL_MX_TUBU != None",
21299              TABL_FX_TUBU  =SIMP(statut='f',typ=table_sdaster,
21300                                  fr="table relevé des contraintes pour chargement unitaire FX_TUBU"),
21301              TABL_FY_TUBU  =SIMP(statut='f',typ=table_sdaster,
21302                                  fr="table relevé des contraintes pour chargement unitaire FY_TUBU"),
21303              TABL_FZ_TUBU  =SIMP(statut='f',typ=table_sdaster,
21304                                  fr="table relevé des contraintes pour chargement unitaire FZ_TUBU"),
21305              TABL_MY_TUBU  =SIMP(statut='o',typ=table_sdaster,
21306                                  fr="table relevé des contraintes pour chargement unitaire MY_TUBU"),
21307              TABL_MZ_TUBU  =SIMP(statut='o',typ=table_sdaster,
21308                                  fr="table relevé des contraintes pour chargement unitaire MZ_TUBU"),
21309              TABL_FX_CORP  =SIMP(statut='f',typ=table_sdaster,
21310                                  fr="table relevé des contraintes pour chargement unitaire FX_CORP"),
21311              TABL_FY_CORP  =SIMP(statut='f',typ=table_sdaster,
21312                                  fr="table relevé des contraintes pour chargement unitaire FY_CORP"),
21313              TABL_FZ_CORP  =SIMP(statut='f',typ=table_sdaster,
21314                                  fr="table relevé des contraintes pour chargement unitaire FZ_CORP"),
21315              TABL_MX_CORP  =SIMP(statut='o',typ=table_sdaster,
21316                                  fr="table relevé des contraintes pour chargement unitaire MX_CORP"),
21317              TABL_MY_CORP  =SIMP(statut='o',typ=table_sdaster,
21318                                  fr="table relevé des contraintes pour chargement unitaire MY_CORP"),
21319              TABL_MZ_CORP  =SIMP(statut='o',typ=table_sdaster,
21320                                  fr="table relevé des contraintes pour chargement unitaire MZ_CORP"),
21321            ),
21322            TABL_PRES     =SIMP(statut='o',typ=table_sdaster,
21323                                fr="table relevé des contraintes pour chargement unitaire de pression"),
21324                          ),
21325
21326           RESU_THER   =FACT(statut='f',max='**',fr="resultats thermiques",
21327            NUME_RESU_THER =SIMP(statut='o',typ='I',fr="numéro de la table de résultat thermique" ),
21328            TABL_RESU_THER =SIMP(statut='o',typ=table_sdaster,
21329                               fr="table relevé des contraintes sous chargement thermique seul" ),
21330                            ),
21331          SITUATION         =FACT(statut='o',max='**',fr="Situation",ang="situation_ang",
21332               NB_OCCUR         =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ),
21333               NB_CYCL_SEISME   =SIMP(statut='f',typ='I',fr="nombre de cycles associé au séisme" ),
21334               NUME_SITU        =SIMP(statut='o',typ='I',fr="numéro de la situation" ),
21335               NOM_SITU         =SIMP(statut='f',typ='TXM',fr="nom de la situation" ),
21336               COMBINABLE       =SIMP(statut='f',typ='TXM',defaut= "OUI",into=("OUI","NON"),fr="non = sous-cycle" ),
21337               NUME_GROUPE      =SIMP(statut='o',typ='I',fr="numéro du groupe de la situation" ),
21338               NUME_PASSAGE     =SIMP(statut='f',typ='I',max=2,fr="numéro des deux groupes en relation" ),
21339               NUME_RESU_THER   =SIMP(statut='f',typ='I',max='**',fr="numeros de transitoires thermiques" ),
21340               CHAR_ETAT_A      =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ),
21341               CHAR_ETAT_B      =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat B" ),
21342               PRES_A           =SIMP(statut='o',typ='R',fr="pression etat A"),
21343               PRES_B           =SIMP(statut='o',typ='R',fr="pression etat B"),
21344               TEMP_REF_A       =SIMP(statut='f',typ='R',fr="temperature référence etat A"),
21345               TEMP_REF_B       =SIMP(statut='f',typ='R',fr="temperature référence etat B"),
21346                                ),
21347                       ),
21348 # ======================================================================
21349      b_tuyauterie  =BLOC(condition="(TYPE_RESU_MECA == 'TUYAUTERIE')",
21350
21351          OPTION          =SIMP(statut='o',typ='TXM',into=("FATIGUE",) ),
21352          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
21353          TYPE_KE         =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"),
21354                                fr="Ke meca seul ou partition mecanique + thermique" ),
21355          MODELE          =SIMP(statut='o',typ=modele_sdaster),
21356          CARA_ELEM       =SIMP(statut='o',typ=cara_elem),
21357          ZONE_ANALYSE =FACT(statut='o',fr="liste des mailles ou des noeuds analysés",
21358             regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
21359             TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21360             GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
21361             MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
21362             ),
21363          RESU_MECA   =FACT(statut='o',max='**',fr="Chargements mécaniques",
21364            regles=(UN_PARMI('CHAM_GD','RESULTAT'),),
21365            NUME_CHAR     =SIMP(statut='o',typ='I',fr="numéro du chargement" ),
21366            NOM_CHAR      =SIMP(statut='f',typ='TXM',fr="nom du chargement" ),
21367            TYPE_CHAR     =SIMP(statut='f',typ='TXM',fr="nature du chargement",into=( "SEISME","AUTRE"),defaut="AUTRE",),
21368            CHAM_GD         =SIMP(statut='f',typ=cham_gd_sdaster),
21369            RESULTAT        =SIMP(statut='f',typ=resultat_sdaster),
21370            b_extrac        =BLOC(condition="RESULTAT != None",
21371                                  fr="extraction d un champ de grandeur",
21372              regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','INST','NOEUD_CMP'),),
21373              NOM_CHAM        =SIMP(statut='o',typ='TXM',into=("EFGE_ELNO_DEPL","SIEF_ELNO_ELGA"),),
21374              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21375              NUME_ORDRE      =SIMP(statut='f',typ='I',),
21376              INST            =SIMP(statut='f',typ='R',),
21377              NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
21378              b_acce_reel     =BLOC(condition="(INST != None)",
21379                PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
21380                CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"), ),
21381              ),
21382            ),
21383                           ),
21384          INDI_SIGM =FACT(statut='o',max='**',fr="indices de contraintes",
21385             regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
21386             C1              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes C1 du RCCM"),
21387             K1              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K1 du RCCM"),
21388             C2              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes C2 du RCCM"),
21389             K2              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K2 du RCCM"),
21390             C3              =SIMP(statut='f',typ='R',defaut=0.5,fr="indice de contraintes C3 du RCCM"),
21391             K3              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K3 du RCCM"),
21392             TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",),),
21393             GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
21394                              fr="groupe(s) de mailles ou sont affectés les indices de contraintes"),
21395             MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',
21396                              fr="liste des mailles ou sont affectés les indices de contraintes"),
21397             b_grma     =BLOC(condition="(GROUP_MA != None)or(MAILLE != None)",
21398                GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
21399                NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
21400             ),
21401             TYPE_ELEM_STANDARD =SIMP(statut='f',typ='TXM',into=("DRO","COU","TRN","TEE"),
21402                               fr="type d'élément de tuyauterie ou sont affectés les indices de contraintes"),
21403                          ),
21404           RESU_THER   =FACT(statut='f',max='**',fr="resultats thermiques",
21405             regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
21406             NUME_RESU_THER =SIMP(statut='o',typ='I',fr="numéro de la table de résultat thermique" ),
21407             TABL_RESU_THER =SIMP(statut='o',typ=table_sdaster,
21408                               fr="table relevé des températures sur la section"),
21409             TABL_MOYE_THER =SIMP(statut='o',typ=table_sdaster,
21410                               fr="table relevé des moyennes sur la section"),
21411             TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21412             GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
21413             MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
21414             b_grma     =BLOC(condition="(GROUP_MA != None)or(MAILLE != None)",
21415                GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
21416                NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
21417             ),
21418                            ),
21419          SITUATION         =FACT(statut='o',max='**',fr="Situation",ang="situation_ang",
21420               NB_OCCUR         =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ),
21421               NB_CYCL_SEISME   =SIMP(statut='f',typ='I',fr="nombre de cycles associé au séisme" ),
21422               NUME_SITU        =SIMP(statut='o',typ='I',fr="numéro de la situation" ),
21423               NOM_SITU         =SIMP(statut='f',typ='TXM',fr="nom de la situation" ),
21424               COMBINABLE       =SIMP(statut='f',typ='TXM',defaut= "OUI",into=("OUI","NON"),fr="non = sous-cycle" ),
21425               NUME_GROUPE      =SIMP(statut='o',typ='I',fr="numéro du groupe de la situation" ),
21426               NUME_PASSAGE     =SIMP(statut='f',typ='I',max=2,fr="numéro des deux groupes en relation" ),
21427               NUME_RESU_THER   =SIMP(statut='f',typ='I',max='**',fr="numeros de transitoires thermiques" ),
21428               CHAR_ETAT_A      =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ),
21429               CHAR_ETAT_B      =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat B" ),
21430               PRES_A           =SIMP(statut='o',typ='R',fr="pression etat A"),
21431               PRES_B           =SIMP(statut='o',typ='R',fr="pression etat B"),
21432               TEMP_REF_A       =SIMP(statut='f',typ='R',fr="temperature référence etat A"),
21433               TEMP_REF_B       =SIMP(statut='f',typ='R',fr="temperature référence etat B"),
21434                                ),
21435                ),
21436 )  ;
21437 #& MODIF COMMANDE  DATE 09/05/2007   AUTEUR VIVAN L.VIVAN 
21438 # ======================================================================
21439 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21440 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21441 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21442 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21443 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
21444 # (AT YOUR OPTION) ANY LATER VERSION.                                 
21445 #
21446 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
21447 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
21448 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
21449 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
21450 #
21451 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
21452 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
21453 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
21454 # ======================================================================
21455 # RESPONSABLE G8BHHXD X.DESROCHES
21456 POST_RELEVE_T=OPER(nom="POST_RELEVE_T",op=51,sd_prod=table_sdaster,reentrant='f',
21457             fr="Extraire des valeurs de composantes de champs de grandeurs pour y effectuer des calculs (moyenne,invariants,..)"
21458                +" ou pour les exprimer dans d'autres repères",
21459             docu="U4.81.21",UIinfo={"groupes":("Post traitements",)},
21460
21461          ACTION          =FACT(statut='o',max='**',
21462                                regles=(UN_PARMI('RESULTAT','CHAM_GD'),), 
21463
21464            OPERATION       =SIMP(statut='o',typ='TXM',into=("EXTRACTION","MOYENNE","EXTREMA"),validators=NoRepeat(),max=2),
21465            INTITULE        =SIMP(statut='o',typ='TXM'),  
21466
21467            CHAM_GD         =SIMP(statut='f',typ=(cham_no_sdaster,
21468                                                  cham_elem,),),
21469            RESULTAT        =SIMP(statut='f',typ=resultat_sdaster),
21470 #
21471 #  1. Sensibilité
21472 #  1.1. Cas d'un résultat réel
21473 #       Cas d'un résultat harmonique dont on veut partie réelle ou imaginaire
21474 #
21475            b_sensibilite   =BLOC(condition=" (RESULTAT != None) and \
21476                                       (   AsType(RESULTAT) in (evol_elas,evol_ther,evol_noli,dyna_trans, \
21477                                                                mode_meca,mode_flamb,mode_acou,base_modale,mode_stat, \
21478                                                                mult_elas,fourier_elas,fourier_ther) or \
21479                                         ( AsType(RESULTAT) in (dyna_harmo,acou_harmo) and FORMAT_C != 'MODULE' ) )",
21480                                  fr="Définition des paramètres de sensibilité",
21481                                  ang="Definition of sensitivity parameters",
21482              regles=(CONCEPT_SENSIBLE("SEPARE"), REUSE_SENSIBLE(),
21483                      DERIVABLE('RESULTAT'),),
21484              SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
21485                                    fr="Liste des paramètres de sensibilité.",
21486                                    ang="List of sensitivity parameters"),
21487
21488            ),
21489 #
21490 #  1.2. Cas d'un résultat harmonique dont on veut le module
21491 #
21492            b_sensibilite_harmo =BLOC(condition=" (RESULTAT != None) and \
21493                                       ( AsType(RESULTAT) in (dyna_harmo,acou_harmo) and FORMAT_C == 'MODULE' )",
21494                                      fr="Définition des paramètres de sensibilité",
21495                                      ang="Definition of sensitivity parameters",
21496              regles=(CONCEPT_SENSIBLE("SEPARE"), REUSE_SENSIBLE(),
21497                      DERIVABLE('RESULTAT'),),
21498              SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
21499                                    fr="Liste des paramètres de sensibilité.",
21500                                    ang="List of sensitivity parameters"),
21501                b_sensibilite_harmo =BLOC(condition=" SENSIBILITE != None",
21502                                          fr="Option pour la sensibilite",
21503                                          ang="Option for sensitivity",
21504                SENSIBILITE_OPTION =SIMP(statut='o',typ='TXM',into=("MODULE_SENSIBILITE","SENSIBILITE_MODULE",),
21505                                         fr="Option : module de la dérivée ou dérivée du module",
21506                                         ang="Option : modulus of derivative or derivative of modulus"),
21507                ),
21508            ),
21509
21510            b_extrac        =BLOC(condition = "RESULTAT != None",fr="extraction des résultats",
21511                                  regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','NUME_MODE','LIST_MODE',         
21512                                                 'INST','LIST_INST','FREQ','LIST_FREQ','NOEUD_CMP','NOM_CAS'), ),           
21513              NOM_CHAM        =SIMP(statut='o',typ='TXM' ),  
21514              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21515              NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),  
21516              LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
21517              NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),  
21518              LIST_MODE       =SIMP(statut='f',typ=listis_sdaster),
21519              NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
21520              NOM_CAS         =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),  
21521              FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),  
21522              LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
21523              INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),  
21524              LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
21525              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),  
21526              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
21527            ),
21528
21529            b_extrema   =BLOC(condition="OPERATION == 'EXTREMA'",
21530                              fr="recherche de MIN MAX",
21531                              regles=(EXCLUS('TOUT_CMP','NOM_CMP'),),
21532               TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21533               GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
21534               MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
21535               GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
21536               NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
21537               TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",)),
21538               NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),  
21539            ),
21540
21541            b_autre   =BLOC(condition="OPERATION != 'EXTREMA'",
21542                            fr="extraction et moyenne",
21543                            regles=(AU_MOINS_UN('CHEMIN','GROUP_NO','NOEUD'),
21544                                    EXCLUS('CHEMIN','GROUP_NO'),
21545                                    EXCLUS('CHEMIN','NOEUD'),
21546                                    PRESENT_ABSENT('CHEMIN','GROUP_MA','MAILLE'),
21547                                    UN_PARMI('TOUT_CMP','NOM_CMP','INVARIANT','ELEM_PRINCIPAUX','RESULTANTE'),
21548                                    PRESENT_PRESENT('TRAC_DIR','DIRECTION'),          
21549                                    ENSEMBLE('MOMENT','POINT'),
21550                                    PRESENT_PRESENT('MOMENT','RESULTANTE'),
21551                                    PRESENT_ABSENT('TOUT_CMP','TRAC_DIR','TRAC_NOR'),
21552                                    EXCLUS('TRAC_DIR','TRAC_NOR'),
21553                                    PRESENT_PRESENT('ORIGINE','AXE_Z'),),
21554                    
21555               CHEMIN          =SIMP(statut='f',typ=(courbe_sdaster,surface_sdaster) ),
21556               TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21557               GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
21558               MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
21559               GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
21560               NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
21561
21562               TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",)),
21563               NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),  
21564               INVARIANT       =SIMP(statut='f',typ='TXM',into=("OUI",)),
21565               ELEM_PRINCIPAUX =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21566               RESULTANTE      =SIMP(statut='f',typ='TXM',max='**'),  
21567
21568               MOMENT          =SIMP(statut='f',typ='TXM',max='**'),  
21569               POINT           =SIMP(statut='f',typ='R',max='**'),  
21570
21571               REPERE          =SIMP(statut='f',typ='TXM',defaut="GLOBAL",
21572                                  into=("GLOBAL","LOCAL","POLAIRE","UTILISATEUR","CYLINDRIQUE"),),
21573               ANGL_NAUT       =SIMP(statut='f',typ='R',min=3,max=3),  
21574               ORIGINE         =SIMP(statut='f',typ='R',min=3,max=3),  
21575               AXE_Z           =SIMP(statut='f',typ='R',min=3,max=3),  
21576
21577               TRAC_NOR        =SIMP(statut='f',typ='TXM',into=("OUI",)),
21578               TRAC_DIR        =SIMP(statut='f',typ='TXM',into=("OUI",)),
21579               DIRECTION       =SIMP(statut='f',typ='R',max='**'),  
21580  
21581               VECT_Y          =SIMP(statut='f',typ='R',max='**'),  
21582               MOYE_NOEUD      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
21583            ),
21584
21585            FORMAT_C        =SIMP(statut='f',typ='TXM',defaut="MODULE",into=("MODULE","REEL","IMAG")),
21586
21587          ),
21588          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
21589          TITRE           =SIMP(statut='f',typ='TXM',max='**'),  
21590 )  ;
21591 #& MODIF COMMANDE  DATE 03/01/2006   AUTEUR REZETTE C.REZETTE 
21592 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21593 # ======================================================================
21594 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21595 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21596 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21597 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
21598 # (AT YOUR OPTION) ANY LATER VERSION.                                 
21599 #
21600 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
21601 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
21602 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
21603 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
21604 #
21605 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
21606 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
21607 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
21608 # ======================================================================
21609 POST_USURE=OPER(nom="POST_USURE",op=153,sd_prod=table_sdaster,reentrant='f',
21610             UIinfo={"groupes":("Post traitements",)},
21611                 fr="Calcul des volumes d'usure et des profondeurs d'usure d'après la puissance d'usure",
21612          regles=(UN_PARMI('TUBE_NEUF','RESU_GENE','PUIS_USURE'),
21613                  PRESENT_PRESENT('RESU_GENE','NOEUD','LOI_USURE'),
21614                  PRESENT_PRESENT('PUIS_USURE','LOI_USURE'),),
21615          TUBE_NEUF       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21616          ETAT_INIT       =FACT(statut='f',
21617            TABL_USURE      =SIMP(statut='f',typ=table_sdaster),
21618            INST_INIT       =SIMP(statut='f',typ='R'),  
21619                          ),
21620          RESU_GENE       =SIMP(statut='f',typ=tran_gene),
21621          NOEUD           =SIMP(statut='f',typ=no,),
21622          INST_INIT       =SIMP(statut='f',typ='R',defaut=-1.0E+0),  
21623          INST_FIN        =SIMP(statut='f',typ='R'),  
21624          NB_BLOC         =SIMP(statut='f',typ='I',defaut= 1 ),  
21625          PUIS_USURE      =SIMP(statut='f',typ='R'),  
21626          LOI_USURE       =SIMP(statut='f',typ='TXM',into=("ARCHARD","KWU_EPRI","EDF_MZ")),
21627          b_archard       =BLOC(condition = "LOI_USURE == 'ARCHARD'",
21628            regles=(UN_PARMI('MOBILE','MATER_USURE','SECTEUR'), 
21629                    EXCLUS('MATER_USURE','OBSTACLE'),
21630                    EXCLUS('MOBILE','USURE_OBST'),),
21631            MOBILE          =FACT(statut='f',
21632              COEF_USURE      =SIMP(statut='o',typ='R'), 
21633            ),   
21634            OBSTACLE        =FACT(statut='f',
21635              COEF_USURE      =SIMP(statut='o',typ='R'), 
21636            ),
21637            SECTEUR         =FACT(statut='f',max='**',
21638              CONTACT         =SIMP(statut='f',typ='TXM',into=("TUBE_BAV","TUBE_ALESAGE","TUBE_4_ENCO",  
21639                                                               "GRAPPE_ALESAGE","TUBE_3_ENCO","TUBE_TUBE", 
21640                                                               "GRAPPE_1_ENCO","GRAPPE_2_ENCO")),
21641              COEF_USUR_MOBILE=SIMP(statut='f',typ='R'),  
21642              COEF_USUR_OBST  =SIMP(statut='f',typ='R'),  
21643              ANGL_INIT       =SIMP(statut='f',typ='R'),  
21644              ANGL_FIN        =SIMP(statut='f',typ='R'),  
21645            ),
21646            MATER_USURE     =SIMP(statut='f',typ='TXM'),  
21647            USURE_OBST      =SIMP(statut='f',typ='TXM',into=("OUI",)),
21648          ),
21649          b_kwu_epri        =BLOC(condition = "LOI_USURE == 'KWU_EPRI'",
21650            regles=(UN_PARMI('MOBILE','MATER_USURE'), 
21651                    EXCLUS('MATER_USURE','OBSTACLE'),
21652                    EXCLUS('MOBILE','USURE_OBST'),),
21653            MOBILE          =FACT(statut='f',
21654              COEF_FNOR       =SIMP(statut='f',typ='R'),  
21655              COEF_VTAN       =SIMP(statut='f',typ='R'),  
21656              COEF_USURE      =SIMP(statut='f',typ='R'),  
21657              COEF_K          =SIMP(statut='f',typ='R',defaut=5.0E+0),  
21658              COEF_C          =SIMP(statut='f',typ='R',defaut=10.0E+0),  
21659            ),   
21660            OBSTACLE        =FACT(statut='f',
21661              COEF_FNOR       =SIMP(statut='f',typ='R' ),  
21662              COEF_VTAN       =SIMP(statut='f',typ='R' ),  
21663              COEF_USURE      =SIMP(statut='o',typ='R'), 
21664              COEF_K          =SIMP(statut='f',typ='R',defaut=5.0E+0),  
21665              COEF_C          =SIMP(statut='f',typ='R',defaut=10.0E+0),  
21666            ),   
21667            MATER_USURE     =SIMP(statut='f',typ='TXM'),  
21668            USURE_OBST      =SIMP(statut='f',typ='TXM',into=("OUI",)),
21669            FNOR_MAXI       =SIMP(statut='f',typ='R' ),  
21670            VTAN_MAXI       =SIMP(statut='f',typ='R' ),  
21671          ),
21672          b_edf_mz          =BLOC(condition = "LOI_USURE == 'EDF_MZ'",
21673            regles=(UN_PARMI('MOBILE','MATER_USURE'), 
21674                    EXCLUS('MATER_USURE','OBSTACLE'),
21675                    EXCLUS('MOBILE','USURE_OBST'),),
21676            MOBILE          =FACT(statut='f',
21677              COEF_USURE      =SIMP(statut='f',typ='R',defaut=1.0E-13),  
21678              COEF_B          =SIMP(statut='f',typ='R',defaut=1.2E+0),  
21679              COEF_N          =SIMP(statut='f',typ='R',defaut=2.44E-8),  
21680              COEF_S          =SIMP(statut='f',typ='R',defaut=1.14E-16),  
21681            ),   
21682            OBSTACLE        =FACT(statut='f',
21683              COEF_USURE      =SIMP(statut='o',typ='R',defaut=1.0E-13), 
21684              COEF_B          =SIMP(statut='f',typ='R',defaut=1.2E+0),  
21685              COEF_N          =SIMP(statut='f',typ='R',defaut=2.44E-8),  
21686              COEF_S          =SIMP(statut='f',typ='R',defaut=1.14E-16),  
21687            ),   
21688            MATER_USURE     =SIMP(statut='f',typ='TXM'),  
21689            USURE_OBST      =SIMP(statut='f',typ='TXM',into=("OUI",)),
21690          ),
21691          b_tube_neuf       =BLOC(condition = "TUBE_NEUF == 'OUI'",
21692             TABL_USURE      =SIMP(statut='o',typ=table_sdaster),
21693             INST            =SIMP(statut='f',typ='R'),
21694          ),
21695          CONTACT         =SIMP(statut='f',typ='TXM',into=("TUBE_BAV","TUBE_ALESAGE","TUBE_4_ENCO",    
21696                                                           "GRAPPE_ALESAGE","TUBE_3_ENCO","TUBE_TUBE",        
21697                                                           "GRAPPE_1_ENCO","GRAPPE_2_ENCO")),
21698          RAYON_MOBILE    =SIMP(statut='f',typ='R'),  
21699          RAYON_OBST      =SIMP(statut='f',typ='R'),  
21700          LARGEUR_OBST    =SIMP(statut='f',typ='R'),  
21701          ANGL_INCLI      =SIMP(statut='f',typ='R'),  
21702          ANGL_ISTHME     =SIMP(statut='f',typ='R'),  
21703          ANGL_IMPACT     =SIMP(statut='f',typ='R'),  
21704          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),  
21705          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
21706          COEF_INST       =SIMP(statut='f',typ='R',defaut=1.0E+0),  
21707          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
21708          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
21709 )  ;
21710 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
21711 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21712 # ======================================================================
21713 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21714 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21715 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21716 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
21717 # (AT YOUR OPTION) ANY LATER VERSION.                                 
21718 #
21719 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
21720 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
21721 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
21722 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
21723 #
21724 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
21725 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
21726 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
21727 # ======================================================================
21728 POST_ZAC=OPER(nom="POST_ZAC",op= 175,sd_prod=mult_elas,reentrant='n',
21729             UIinfo={"groupes":("Post traitements",)},
21730               fr="Déterminer l'état adapté ou accommodé par la méthode de Zarka-Casier d'une structure sous"
21731                 +" chargement cyclique élastique affine ou non",
21732          MODELE          =SIMP(statut='o',typ=modele_sdaster),
21733          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
21734          EXCIT           =FACT(statut='o',max='**',
21735            CHARGE          =SIMP(statut='o',typ=char_meca),
21736            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
21737            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",into=("FIXE_CSTE",)),
21738          ),
21739          EVOL_ELAS       =SIMP(statut='o',typ=evol_elas),
21740          b_evol_elas     =BLOC(condition="EVOL_ELAS != None",
21741            regles=(UN_PARMI('NUME_ORDRE','LIST_INST','INST'),),
21742            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),  
21743            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
21744            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),  
21745          ),
21746          TEMP_ZAC        =SIMP(statut='f',typ='R',defaut=0.0E+0),  
21747          EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
21748          b_evol_noli     =BLOC(condition="EVOL_NOLI != None",
21749            INST_MAX        =SIMP(statut='o',typ='R'),  
21750          ),
21751          PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),  
21752          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
21753
21754 )  ;
21755 #& MODIF COMMANDE  DATE 19/02/2007   AUTEUR LEFEBVRE J-P.LEFEBVRE 
21756 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21757 # ======================================================================
21758 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21759 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21760 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21761 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
21762 # (AT YOUR OPTION) ANY LATER VERSION.
21763 #
21764 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
21765 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
21766 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
21767 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
21768 #
21769 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
21770 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
21771 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
21772 # ======================================================================
21773 POURSUITE=MACRO(nom="POURSUITE",op=ops.build_poursuite,repetable='n',
21774                 fr="Poursuite d'une étude à partir de la sauvegarde au format JEVEUX ou HDF de sa base globale",
21775                 sd_prod = ops.POURSUITE,
21776             UIinfo={"groupes":("Gestion du travail",)},
21777                 op_init = ops.POURSUITE_context,fichier_ini = 1,
21778          FORMAT_HDF      =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f',
21779                                typ='TXM',defaut="NON",into=("OUI","NON",) ),
21780          PAR_LOT         =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM',
21781                            into=("OUI","NON"),defaut="OUI"),
21782          IMPR_MACRO      =SIMP(fr="affichage des sous-commandes produites par les macros dans le fichier mess",
21783                            statut='f',typ='TXM',into=("OUI","NON"),defaut="NON"),
21784          BASE            =FACT(fr="définition des paramètres associés aux bases JEVEUX",
21785                                statut='f',min=1,max=2,
21786            FICHIER         =SIMP(fr="nom de la base",statut='o',typ='TXM'),
21787            TITRE           =SIMP(statut='f',typ='TXM'),
21788            CAS             =SIMP(statut='f',typ='TXM'),
21789            NMAX_ENRE       =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'),
21790            LONG_ENRE       =SIMP(fr="longueur des enregistrements",statut='f',typ='I'),
21791            LONG_REPE       =SIMP(fr="longueur du répertoire",statut='f',typ='I'),
21792          ),
21793          IMPRESSION      =FACT(statut='f',min=1,max=3,
21794            FICHIER         =SIMP(statut='o',typ='TXM'),
21795            UNITE           =SIMP(statut='o',typ='I'),
21796          ),
21797          CATALOGUE       =FACT(statut='f',min=1,max=10,
21798            FICHIER         =SIMP(statut='o',typ='TXM'),
21799            TITRE           =SIMP(statut='f',typ='TXM'),
21800            UNITE           =SIMP(statut='f',typ='I'),
21801          ),
21802          ERREUR          =FACT(fr="comportement en cas d'erreur",statut='f',min=1,max=1,
21803            ERREUR_F        =SIMP(statut='f',typ='TXM',into=('ABORT','EXCEPTION'),defaut='ABORT'),
21804          ),
21805          DEBUG           =FACT(fr="option de déboggage reservée aux développeurs",
21806                                statut='f',min=1,max=1,
21807            JXVERI          =SIMP(fr="vérifie l intégrité de la segmentation mémoire",
21808                                  statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
21809            SDVERI          =SIMP(fr="vérifie la conformité des SD produites par les commandes",
21810                                  statut='f',typ='TXM',into=('OUI','NON')),
21811            JEVEUX          =SIMP(fr="force les déchargement sur disque",
21812                                  statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
21813            ENVIMA          =SIMP(fr="imprime les valeurs définies dans ENVIMA",
21814                                  statut='f',typ='TXM',into=('TEST',)),
21815          ),
21816          MEMOIRE         =FACT(fr="mode de gestion mémoire utilisé",statut='f',min=1,max=1,
21817            GESTION         =SIMP(statut='f',typ='TXM',into=('COMPACTE','RAPIDE'),defaut='RAPIDE'),
21818            TYPE_ALLOCATION =SIMP(statut='f',typ='I',into=(1,2,3,4),defaut=1),
21819            TAILLE          =SIMP(statut='f',typ='I'),
21820            TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut=800.),
21821            PARTITION       =SIMP(statut='f',typ='R' ),
21822            DYNAMIQUE       =SIMP(statut='f',typ='I'),
21823          ),
21824          RESERVE_CPU     =FACT(fr="reserve de temps pour terminer une execution",statut='f',max=1,
21825            regles=(EXCLUS('VALE','POURCENTAGE'),),
21826            VALE            =SIMP(statut='f',typ='I',val_min=0),
21827            POURCENTAGE     =SIMP(statut='f',typ='R',val_min=0.,val_max=1.0),
21828 #          valeur en pourcentage du temps maximum bornée à 180 secondes
21829            BORNE           =SIMP(statut='f',typ='I',val_min=0,defaut=180)
21830          ),
21831          CODE            =FACT("définition d un nom pour l'esemble d'une étude",
21832                                statut='f',min=1,max=1,
21833            NOM             =SIMP(statut='o',typ='TXM'),
21834            UNITE           =SIMP(statut='f',typ='I',defaut=15),
21835          ),
21836 )  ;
21837 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
21838 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21839 # ======================================================================
21840 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21841 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21842 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21843 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
21844 # (AT YOUR OPTION) ANY LATER VERSION.                                 
21845 #
21846 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
21847 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
21848 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
21849 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
21850 #
21851 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
21852 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
21853 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
21854 # ======================================================================
21855 PRE_GIBI=PROC(nom="PRE_GIBI",op=49,
21856             UIinfo={"groupes":("Gestion du travail",)},
21857               fr="Conversion d'un fichier de maillage GIBI au format Aster",
21858          UNITE_GIBI      =SIMP(statut='f',typ='I',defaut=19),  
21859          UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut=20),  
21860 )  ;
21861 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
21862 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21863 # ======================================================================
21864 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21865 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21866 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21867 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
21868 # (AT YOUR OPTION) ANY LATER VERSION.                                 
21869 #
21870 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
21871 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
21872 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
21873 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
21874 #
21875 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
21876 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
21877 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
21878 # ======================================================================
21879
21880 PRE_GMSH=PROC(nom="PRE_GMSH",op=47,
21881             UIinfo={"groupes":("Gestion du travail",)},
21882                fr="Conversion d'un fichier de maillage GMSH au format Aster",
21883          UNITE_GMSH      =SIMP(statut='f',typ='I',defaut=19),  
21884          UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut=20),  
21885 )  ;
21886 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
21887 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21888 # ======================================================================
21889 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21890 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21891 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21892 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
21893 # (AT YOUR OPTION) ANY LATER VERSION.                                 
21894 #
21895 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
21896 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
21897 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
21898 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
21899 #
21900 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
21901 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
21902 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
21903 # ======================================================================
21904 PRE_IDEAS=PROC(nom="PRE_IDEAS",op=47,
21905             UIinfo={"groupes":("Gestion du travail",)},
21906                fr="Conversion d'un fichier universel IDEAS-SUPERTAB au format Aster",
21907          UNITE_IDEAS     =SIMP(statut='f',typ='I',defaut=19),  
21908          UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut=20),  
21909          CREA_GROUP_COUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
21910 )  ;
21911 #& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETTE 
21912 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21913 # ======================================================================
21914 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21915 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21916 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21917 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
21918 # (AT YOUR OPTION) ANY LATER VERSION.                                 
21919 #
21920 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
21921 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
21922 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
21923 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
21924 #
21925 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
21926 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
21927 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
21928 # ======================================================================
21929
21930 PROD_MATR_CHAM=OPER(nom="PROD_MATR_CHAM",op= 156,sd_prod=cham_no_sdaster,
21931                     fr="Effectuer le produit d'une matrice par un vecteur",
21932                     reentrant='n',
21933             UIinfo={"groupes":("Résultats et champs",)},
21934          MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_pres_c ) ),
21935          CHAM_NO         =SIMP(statut='o',typ=cham_no_sdaster),
21936          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
21937 )  ;
21938 #& MODIF COMMANDE  DATE 09/05/2007   AUTEUR VIVAN L.VIVAN 
21939 #            CONFIGURATION MANAGEMENT OF EDF VERSION
21940 # ======================================================================
21941 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
21942 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21943 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21944 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
21945 # (AT YOUR OPTION) ANY LATER VERSION.
21946 #
21947 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
21948 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
21949 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
21950 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
21951 #
21952 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
21953 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
21954 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
21955 # ======================================================================
21956 # RESPONSABLE VABHHTS J.PELLET
21957 def proj_champ_prod(RESULTAT=None,CHAM_NO_REFE=None,**args ):
21958     if AsType(RESULTAT) != None : return AsType(RESULTAT)
21959     if CHAM_NO_REFE     != None : return cham_no_sdaster
21960     raise AsException("type de concept resultat non prevu")
21961
21962 PROJ_CHAMP=OPER(nom="PROJ_CHAMP",op= 166,sd_prod=proj_champ_prod,reentrant='f',
21963             UIinfo={"groupes":("Résultats et champs",)},
21964                 fr="Projeter les champs aux noeuds d'une SD résultat de type evol_xxx sur un autre maillage",
21965 #
21966          METHODE         =SIMP(statut='f',typ='TXM',defaut="ELEM",
21967                                into=("NUAGE_DEG_0","NUAGE_DEG_1","ELEM",) ),
21968          b_nuage         =BLOC(condition="(METHODE=='NUAGE_DEG_1') or (METHODE=='NUAGE_DEG_0')",
21969                                fr="Lissage d'un nuage de points",
21970            CHAM_NO         =SIMP(statut='o',typ=cham_no_sdaster),
21971            CHAM_NO_REFE    =SIMP(statut='o',typ=cham_no_sdaster),
21972          ),
21973          b_elem          =BLOC(condition="METHODE=='ELEM'",
21974                               fr="Utilisation des fonctions de forme du maillage initial",
21975            regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','LIST_INST','LIST_FREQ','LIST_ORDRE'),
21976                    EXCLUS('TOUT_CHAM','NOM_CHAM',),
21977                    CONCEPT_SENSIBLE('SEPARE'),
21978                    REUSE_SENSIBLE(),
21979                    DERIVABLE('RESULTAT'),),
21980            RESULTAT        =SIMP(statut='o',typ=resultat_sdaster),
21981            SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
21982                                fr="Liste des paramètres de sensibilité.",
21983                                ang="List of sensitivity parameters",),
21984            MODELE_1        =SIMP(statut='o',typ=modele_sdaster),
21985            MODELE_2        =SIMP(statut='o',typ=modele_sdaster),
21986
21987            NOM_PARA        =SIMP(statut='f',typ='TXM', max='**'),
21988            TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21989            NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
21990
21991 #          POUR IMPOSER LA NUMEROTATION DES DDLS :
21992 #          ------------------------------------------------------------------
21993            NUME_DDL        =SIMP(statut='f',typ=(nume_ddl_sdaster) ),
21994
21995
21996            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21997            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
21998            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
21999            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
22000            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
22001            FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
22002            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
22003            NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
22004            NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
22005
22006
22007            CAS_FIGURE      =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",) ),
22008            DISTANCE_MAX    =SIMP(statut='f',typ='R',
22009                 fr="Distance maximale entre le noeud et l'élément le plus proche, lorsque le noeud n'est dans aucun élément."),
22010            TRANSF_GEOM_2   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3,
22011                 fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+
22012                    " aux noeuds du MODELE_2 avant la projection."),
22013
22014            ALARME          =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
22015
22016            TYPE_CHAM       =SIMP(statut='f',typ='TXM',into=("NOEU",),
22017                 fr="Pour forcer le type des champs projetés. NOEU -> cham_no"),
22018
22019            PROL_ZERO       =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON",
22020                 fr="Si le résultat est un mode_xxx ou une base_xxx, on peut prolonger"
22021                    +" les champs par zéro la ou la projection ne donne pas de valeurs."),
22022
22023          ),
22024
22025          VIS_A_VIS       =FACT(statut='f',max='**',
22026            regles=(AU_MOINS_UN('TOUT_1','GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
22027                    AU_MOINS_UN('TOUT_2','GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),),
22028            TOUT_1          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
22029            GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
22030            MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
22031            GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
22032            NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
22033            TOUT_2          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
22034            GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
22035            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
22036            GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
22037            NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
22038            CAS_FIGURE      =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",) ),
22039            TRANSF_GEOM_2   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3,
22040                 fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+
22041                    " aux noeuds du MODELE_2 avant la projection."),
22042          ),
22043
22044          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
22045          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
22046 )  ;
22047 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
22048 #            CONFIGURATION MANAGEMENT OF EDF VERSION
22049 # ======================================================================
22050 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
22051 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
22052 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
22053 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
22054 # (AT YOUR OPTION) ANY LATER VERSION.                                 
22055 #
22056 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
22057 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
22058 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
22059 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
22060 #
22061 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
22062 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
22063 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
22064 # ======================================================================
22065 def matr_asse_gene_prod(MATR_ASSE,MATR_ASSE_GENE,**args):
22066   if AsType(MATR_ASSE) == matr_asse_depl_r  : return matr_asse_gene_r
22067   if AsType(MATR_ASSE_GENE) == matr_asse_gene_r  : return matr_asse_gene_r
22068   if AsType(MATR_ASSE) == matr_asse_depl_c  : return matr_asse_gene_c
22069   if AsType(MATR_ASSE_GENE) == matr_asse_gene_c  : return matr_asse_gene_c
22070   raise AsException("type de concept resultat non prevu")
22071
22072 PROJ_MATR_BASE=OPER(nom="PROJ_MATR_BASE",op=  71,sd_prod=matr_asse_gene_prod,
22073                     fr="Projection d'une matrice assemblée sur une base (modale ou de RITZ)",
22074                     reentrant='n',
22075             UIinfo={"groupes":("Matrices/vecteurs",)},
22076          regles=(UN_PARMI('MATR_ASSE','MATR_ASSE_GENE'),),            
22077          BASE            =SIMP(statut='o',typ=(mode_meca,base_modale,mode_gene,mode_stat ) ),
22078          NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
22079          MATR_ASSE       =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c) ),
22080          MATR_ASSE_GENE  =SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c) ),
22081 )  ;
22082
22083 #& MODIF COMMANDE  DATE 19/06/2006   AUTEUR VABHHTS J.PELLET 
22084 #            CONFIGURATION MANAGEMENT OF EDF VERSION
22085 # ======================================================================
22086 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
22087 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
22088 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
22089 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
22090 # (AT YOUR OPTION) ANY LATER VERSION.                                 
22091 #
22092 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
22093 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
22094 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
22095 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
22096 #
22097 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
22098 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
22099 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
22100 # ======================================================================
22101 def proj_mesu_modal_prod(MODELE_MESURE,**args):
22102      vale=MODELE_MESURE['MESURE']
22103      if  AsType(vale) == dyna_trans   : return tran_gene
22104      if  AsType(vale) == dyna_harmo   : return harm_gene
22105      if  AsType(vale) == mode_meca    : return mode_gene
22106 #     if  AsType(vale) == mode_meca_c  : return mode_gene_c
22107      if  AsType(vale) == base_modale  : return mode_gene
22108      raise AsException("type de concept resultat non prevu")
22109
22110 PROJ_MESU_MODAL=OPER(nom="PROJ_MESU_MODAL",op= 193,
22111                      sd_prod=proj_mesu_modal_prod,
22112                      reentrant='n',
22113             UIinfo={"groupes":("Résultats et champs",)},
22114                      fr="Calcul des coordonnees généralisees de mesure experimentale relatives a une base de projection",
22115
22116          MODELE_CALCUL   =FACT(statut='o',
22117            MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
22118            BASE            =SIMP(statut='o',typ=(mode_meca,base_modale,) ),
22119                          ),
22120          MODELE_MESURE   =FACT(statut='o',
22121            MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
22122            MESURE          =SIMP(statut='o',typ=(dyna_trans,dyna_harmo,base_modale,mode_meca,mode_meca_c,) ),
22123            NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE","ACCE","SIEF_NOEU","EPSI_NOEU_DEPL",) ),
22124                          ),
22125          CORR_MANU       =FACT(statut='f',max='**',
22126            regles=(PRESENT_PRESENT('NOEU_CALCUL','NOEU_MESURE'),),
22127            NOEU_CALCUL     =SIMP(statut='f',typ=no),
22128            NOEU_MESURE     =SIMP(statut='f',typ=no),
22129                          ),
22130          NOM_PARA        =SIMP(statut='f',typ='TXM',max='**'),
22131          RESOLUTION      =FACT(statut='f',
22132            METHODE         =SIMP(statut='f',typ='TXM',defaut="LU",into=("LU","SVD",) ),
22133            b_svd =BLOC(condition="METHODE=='SVD'",
22134                        EPS=SIMP(statut='f',typ='R',defaut=0. ),
22135                       ),
22136            REGUL           =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","NORM_MIN","TIK_RELA",) ),
22137            b_regul =BLOC(condition="REGUL!='NON'",
22138                          regles=(PRESENT_ABSENT('COEF_PONDER','COEF_PONDER_F', ),),
22139                          COEF_PONDER   =SIMP(statut='f',typ='R',defaut=0.     ,max='**' ),  
22140                          COEF_PONDER_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ),
22141                         ),
22142              ),
22143
22144           ); 
22145 #& MODIF COMMANDE  DATE 30/05/2007   AUTEUR ADOBES A.ADOBES 
22146 #            CONFIGURATION MANAGEMENT OF EDF VERSION
22147 # ======================================================================
22148 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
22149 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
22150 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
22151 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
22152 # (AT YOUR OPTION) ANY LATER VERSION.                                 
22153 #
22154 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
22155 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
22156 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
22157 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
22158 #
22159 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
22160 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
22161 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
22162 # ======================================================================
22163 PROJ_SPEC_BASE=OPER(nom="PROJ_SPEC_BASE",op= 146,sd_prod=table_fonction,reentrant='n',
22164             UIinfo={"groupes":("Matrices/vecteurs",)},
22165             fr="Projecter un ou plusieurs spectres de turbulence sur une (ou plusieurs) base(s) modale(s) ",
22166       regles=(UN_PARMI('BASE_ELAS_FLUI','MODE_MECA','CHAM_NO'),),
22167          SPEC_TURB       =SIMP(statut='o',typ=spectre_sdaster,validators=NoRepeat(),max='**' ),
22168          TOUT_CMP        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
22169          BASE_ELAS_FLUI  =SIMP(statut='f',typ=melasflu_sdaster ),
22170          MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
22171          CHAM_NO         =SIMP(statut='f',typ=cham_no_sdaster),
22172          FREQ_INIT       =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
22173          FREQ_FIN        =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
22174          NB_POIN         =SIMP(statut='o',typ='I' ),  
22175          OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG")),
22176          GROUP_MA        =SIMP(statut='f',typ=grma),
22177 #  Quel est le type attendu derriere  MODELE_INTERFACE         
22178          MODELE_INTERFACE=SIMP(statut='f',typ=modele_sdaster),
22179          VECT_X          =SIMP(statut='f',typ='R',min=3,max=3 ),  
22180          VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3 ),  
22181          ORIG_AXE        =SIMP(statut='f',typ='R',min=3,max=3 ),  
22182          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
22183 )  ;
22184 #& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETTE 
22185 #            CONFIGURATION MANAGEMENT OF EDF VERSION
22186 # ======================================================================
22187 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
22188 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
22189 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
22190 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
22191 # (AT YOUR OPTION) ANY LATER VERSION.                                 
22192 #
22193 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
22194 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
22195 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
22196 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
22197 #
22198 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
22199 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
22200 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
22201 # ======================================================================
22202
22203 PROJ_VECT_BASE=OPER(nom="PROJ_VECT_BASE",op=  72,sd_prod=vect_asse_gene,
22204                     fr="Projection d'un vecteur assemblé sur une base (modale ou de RITZ)",
22205                     reentrant='n',
22206             UIinfo={"groupes":("Matrices/vecteurs",)},
22207          regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE'),),              
22208          BASE            =SIMP(statut='o',typ=(mode_meca,base_modale,mode_gene,mode_stat ) ),
22209          NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
22210          TYPE_VECT       =SIMP(statut='f',typ='TXM',defaut="FORC"),
22211          VECT_ASSE       =SIMP(statut='f',typ=cham_no_sdaster),
22212          VECT_ASSE_GENE  =SIMP(statut='f',typ=vect_asse_gene ),
22213 )  ;
22214 #& MODIF COMMANDE  DATE 30/04/2007   AUTEUR ABBAS M.ABBAS 
22215 #            CONFIGURATION MANAGEMENT OF EDF VERSION
22216 # ======================================================================
22217 # COPYRIGHT (C) 1991 - 2006  EDF R&D                  WWW.CODE-ASTER.ORG
22218 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
22219 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
22220 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
22221 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
22222 #                                                                       
22223 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
22224 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
22225 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
22226 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
22227 #                                                                       
22228 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
22229 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
22230 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
22231 # ======================================================================
22232
22233 PROPA_XFEM=OPER(nom="PROPA_XFEM",op=10,sd_prod=fiss_xfem,reentrant='n',
22234                 UIinfo={"groupes":("Modélisation",)},
22235                 fr="Propagation de fissure avec X-FEM",
22236     
22237     MODELE        =SIMP(statut='o',typ=modele_sdaster),
22238         
22239     TABLE         =SIMP(statut='o',typ=table_sdaster),
22240
22241     LOI_PROPA     =FACT(statut='o',max=1,
22242       LOI            =SIMP(statut='o',typ='TXM',into=("PARIS",),defaut="PARIS"),
22243       b_paris        =BLOC( condition = "LOI=='PARIS'",
22244         C            =SIMP(statut='o',typ='R',),
22245         M            =SIMP(statut='o',typ='R',),),
22246             ),
22247             
22248     RAYON          =SIMP(statut='o',typ='R',),
22249           
22250     METHODE =SIMP(statut='f',typ='TXM',into=("SIMPLEXE","UPWIND",),defaut="SIMPLEXE"),
22251
22252 #    RUNGE_KUTTA    =SIMP(statut='f',typ='I',into=("1","2",),defaut=1),
22253
22254     INFO           =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
22255 )  ;
22256 #& MODIF COMMANDE  DATE 03/01/2006   AUTEUR REZETTE C.REZETTE 
22257 #            CONFIGURATION MANAGEMENT OF EDF VERSION
22258 # ======================================================================
22259 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
22260 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
22261 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
22262 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
22263 # (AT YOUR OPTION) ANY LATER VERSION.                                 
22264 #
22265 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
22266 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
22267 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
22268 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
22269 #
22270 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
22271 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
22272 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
22273 # ======================================================================
22274 RECA_WEIBULL=OPER(nom="RECA_WEIBULL",op= 197,sd_prod=table_sdaster,
22275                      fr="Recaler les paramètres du modèle de WEIBULL sur des données expérimentales",reentrant='n',
22276             UIinfo={"groupes":("Post traitements",)},
22277          LIST_PARA       =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2,into=("SIGM_REFE","M",) ),
22278          RESU            =FACT(statut='o',max='**',
22279            regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST',),
22280                    AU_MOINS_UN('TOUT','GROUP_MA','MAILLE', ),),
22281            EVOL_NOLI       =SIMP(statut='o',typ=(evol_noli) ),
22282            MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
22283            CHAM_MATER      =SIMP(statut='o',typ=(cham_mater) ),
22284            TEMPE           =SIMP(statut='f',typ='R' ),
22285            LIST_INST_RUPT  =SIMP(statut='o',typ='R',validators=NoRepeat(),max='**' ),
22286            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
22287            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
22288            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
22289            LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),
22290            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
22291            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
22292            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
22293            COEF_MULT       =SIMP(statut='f',typ='R',defaut= 1.E0 ),
22294                          ),
22295          OPTION          =SIMP(statut='f',typ='TXM',defaut="SIGM_ELGA",into=("SIGM_ELGA","SIGM_ELMOY",) ),
22296          CORR_PLAST      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
22297          METHODE         =SIMP(statut='f',typ='TXM',defaut="MAXI_VRAI",into=("MAXI_VRAI","REGR_LINE",) ),
22298          INCO_GLOB_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
22299          ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
22300          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ,) ),
22301                        )  ;
22302 #& MODIF COMMANDE  DATE 09/05/2007   AUTEUR VIVAN L.VIVAN 
22303 #            CONFIGURATION MANAGEMENT OF EDF VERSION
22304 # ======================================================================
22305 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
22306 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
22307 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
22308 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
22309 # (AT YOUR OPTION) ANY LATER VERSION.
22310 #
22311 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
22312 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
22313 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
22314 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
22315 #
22316 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
22317 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
22318 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
22319 # ======================================================================
22320 # RESPONSABLE MCOURTOI M.COURTOIS
22321 def recu_fonction_prod(RESULTAT=None,TABLE=None,RESU_GENE=None,
22322                        BASE_ELAS_FLUI=None,CHAM_GD=None,NAPPE=None,
22323                        NOM_PARA_TABL=None,**args):
22324    if AsType(RESULTAT)  == dyna_harmo or \
22325       AsType(RESU_GENE) == harm_gene or \
22326       (TABLE != None and NOM_PARA_TABL == "FONCTION_C"):
22327       return fonction_c
22328    else:
22329       return fonction_sdaster
22330
22331 RECU_FONCTION=OPER(nom="RECU_FONCTION",op=90,sd_prod=recu_fonction_prod,
22332                    fr="Extraire sous forme d'une fonction, l'évolution d'une grandeur en fonction d'une autre",
22333                    reentrant='f',
22334             UIinfo={"groupes":("Fonction",)},
22335          regles=(UN_PARMI('CHAM_GD','RESULTAT','RESU_GENE','TABLE','BASE_ELAS_FLUI','NAPPE'),),
22336
22337          CHAM_GD         =SIMP(statut='f',typ=(cham_no_sdaster,cham_elem,),),
22338          RESULTAT        =SIMP(statut='f',typ=resultat_sdaster),
22339          RESU_GENE       =SIMP(statut='f',typ=(tran_gene, mode_gene, harm_gene)),
22340          TABLE           =SIMP(statut='f',typ=(table_sdaster,table_fonction)),
22341          BASE_ELAS_FLUI  =SIMP(statut='f',typ=melasflu_sdaster),
22342          NAPPE           =SIMP(statut='f',typ=nappe_sdaster),
22343
22344 # ======= SENSIBILITE =================================================
22345          b_sensibilite   =BLOC(condition="RESULTAT != None",
22346                                  fr="Définition des paramètres de sensibilité",
22347                                  ang="Definition of sensitivity parameters",
22348            regles=(CONCEPT_SENSIBLE('SEPARE'), REUSE_SENSIBLE(),
22349                    DERIVABLE('RESULTAT'),),
22350            SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
22351                                    fr="Liste des paramètres de sensibilité.",
22352                                    ang="List of sensitivity parameters"),),
22353 # ======= ACCES A LA SD RESULTAT =================================================
22354          b_acces = BLOC ( condition = "(RESULTAT != None) or (RESU_GENE != None)",
22355                           fr="acces a une SD résultat",
22356 # on ne peut pas mettre de regles, le défaut TOUT_ORDRE est pris en compte dans le fortran
22357            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
22358            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
22359            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster ),
22360            TOUT_INST       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
22361            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
22362            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
22363            FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
22364            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
22365            NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
22366            b_prec = BLOC ( condition = "(INST != None) or (LIST_INST != None) or (FREQ != None) or (LIST_FREQ != None)",
22367              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
22368              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
22369              INTERP_NUME     =SIMP(statut='f',typ='TXM',into=("NON","LIN") ),
22370            ),
22371          ),
22372 # ======= BASE_ELAS_FLUI =================================================
22373          b_base_elas_flui = BLOC ( condition = "BASE_ELAS_FLUI != None",
22374                                    fr="Récupération de la fonction à partir d un concept melasflu",
22375            regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE'),),
22376            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
22377            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
22378            NUME_MODE       =SIMP(statut='o',typ='I' ),
22379            PARA_X          =SIMP(statut='o',typ='TXM',into=("VITE_FLU",) ),
22380            PARA_Y          =SIMP(statut='o',typ='TXM',into=("FREQ","AMOR") ),
22381          ),
22382
22383 # ======= TABLE =================================================
22384          b_table = BLOC ( condition = "TABLE != None",
22385                           fr="Récupération de la fonction à partir d un concept table",
22386                           regles=(UN_PARMI('PARA_X','NOM_PARA_TABL'),
22387                                   PRESENT_PRESENT('PARA_X','PARA_Y'),),
22388            PARA_X        = SIMP(statut='f',typ='TXM',
22389                                  fr="1ère colonne de la table qui définit la fonction à récupérer", ),
22390            PARA_Y        = SIMP(statut='f',typ='TXM',
22391                                  fr="2ème colonne de la table qui définit la fonction à récupérer", ),
22392            #b_tabl_fonc = BLOC(condition = "AsType(TABLE) == table_fonction",
22393            NOM_PARA_TABL = SIMP(statut='f',typ='TXM',into=("FONCTION","FONCTION_C"),
22394                                 fr="Nom du paramètre de la table contenant la fonction" ),
22395            #),
22396
22397            FILTRE        = FACT(statut='f',max='**',
22398               NOM_PARA        =SIMP(statut='o',typ='TXM' ),
22399               CRIT_COMP       =SIMP(statut='f',typ='TXM',defaut="EQ",
22400                                     into=("EQ","LT","GT","NE","LE","GE","VIDE",
22401                                           "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI") ),
22402               b_vale          =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
22403                  regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
22404                  VALE            =SIMP(statut='f',typ='R' ),
22405                  VALE_I          =SIMP(statut='f',typ='I' ),
22406                  VALE_C          =SIMP(statut='f',typ='C' ),
22407                  VALE_K          =SIMP(statut='f',typ='TXM' ),),
22408
22409               CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
22410               PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
22411            ),
22412          ),
22413
22414 # ======= RESULTAT =================================================
22415          b_resu = BLOC ( condition = "RESULTAT != None", fr="Opérandes en cas de RESULTAT",
22416                          regles=(UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),),
22417            NOM_CHAM        =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()),
22418            NOM_PARA_RESU   =SIMP(statut='f',typ='TXM' ),
22419            b_cham = BLOC ( condition = "NOM_CHAM != None",
22420                            regles=(AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD'),
22421                                    PRESENT_ABSENT('POINT','NOEUD','GROUP_NO'),
22422                                    PRESENT_ABSENT('SOUS_POINT','NOEUD','GROUP_NO'),
22423                                    EXCLUS('GROUP_MA','MAILLE'),
22424                                    EXCLUS('GROUP_NO','NOEUD'),),
22425              NOM_CMP         =SIMP(statut='o',typ='TXM' ),
22426              MAILLE          =SIMP(statut='f',typ=ma),
22427              GROUP_MA        =SIMP(statut='f',typ=grma),
22428              NOEUD           =SIMP(statut='f',typ=no),
22429              GROUP_NO        =SIMP(statut='f',typ=grno),
22430              POINT           =SIMP(statut='f',typ='I' ),
22431              SOUS_POINT      =SIMP(statut='f',typ='I' ),
22432            ),
22433          ),
22434
22435 # ======= RESU_GENE =================================================
22436          b_tran_gene = BLOC ( condition = "AsType(RESU_GENE) == tran_gene",
22437                               fr="Récupération d'une fonction à partir d un concept TRAN_GENE",
22438                               regles=(UN_PARMI('NOM_CHAM','NOEUD_CHOC','GROUP_NO_CHOC'),),
22439              NOM_CHAM        =SIMP(statut='f',typ='TXM',into=("DEPL","VITE","ACCE","PTEM") ),
22440              NOEUD_CHOC      =SIMP(statut='f',typ=no),
22441              GROUP_NO_CHOC   =SIMP(statut='f',typ=grno),
22442            b_cham = BLOC ( condition = "(NOM_CHAM=='DEPL') or (NOM_CHAM=='VITE') or (NOM_CHAM=='ACCE')",
22443                            regles=(UN_PARMI('GROUP_NO','NOEUD'),
22444                                    EXCLUS('MULT_APPUI','CORR_STAT'),),
22445              NOM_CMP         =SIMP(statut='o',typ='TXM' ),
22446              NOEUD           =SIMP(statut='f',typ=no),
22447              GROUP_NO        =SIMP(statut='f',typ=grno),
22448              MULT_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
22449              CORR_STAT       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
22450              ACCE_MONO_APPUI =SIMP(statut='f',typ=(fonction_sdaster,formule)),
22451            ),
22452            b_choc = BLOC ( condition = "(NOEUD_CHOC != None) or (GROUP_NO_CHOC != None)",
22453                            regles=(PRESENT_PRESENT('SOUS_STRUC','INTITULE'),),
22454              PARA_X          =SIMP(statut='o',typ='TXM',
22455                               into=("INST","FN","FT1","FT2","VN","VT1","VT2","DXLOC","DYLOC","DZLOC") ),
22456              PARA_Y          =SIMP(statut='o',typ='TXM',
22457                               into=("INST","FN","FT1","FT2","VN","VT1","VT2","DXLOC","DYLOC","DZLOC") ),
22458              LIST_PARA       =SIMP(statut='f',typ=listr8_sdaster ),
22459              INTITULE        =SIMP(statut='f',typ='TXM' ),
22460              SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),
22461            ),
22462          ),
22463          b_harm_gene = BLOC ( condition = "AsType(RESU_GENE)==harm_gene",
22464                               fr="Récupération d'une fonction à partir d un concept HARM_GENE",
22465                               regles=(UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),),
22466              NOM_CHAM        =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()),
22467              NOM_PARA_RESU   =SIMP(statut='f',typ='TXM' ),
22468            b_cham = BLOC ( condition = "NOM_CHAM != None",
22469                            regles=(UN_PARMI('NUME_CMP_GENE','NOM_CMP'),),
22470              NUME_CMP_GENE   =SIMP(statut='f',typ='I' ),
22471              NOM_CMP         =SIMP(statut='f',typ='TXM' ),
22472              b_cmp = BLOC ( condition = "NOM_CMP != None",
22473                             regles=(UN_PARMI('NOEUD','GROUP_NO'),),
22474                NOEUD         =SIMP(statut='f',typ=no),
22475                GROUP_NO      =SIMP(statut='f',typ=grno),
22476              ),
22477            ),
22478          ),
22479          b_mode_gene = BLOC ( condition = "AsType(RESU_GENE)==mode_gene",
22480                               fr="Récupération d'une fonction à partir d un concept MODE_GENE",
22481                               regles=(UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),),
22482              NOM_CHAM        =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()),
22483              NOM_PARA_RESU   =SIMP(statut='f',typ='TXM' ),
22484            b_cham = BLOC ( condition = "NOM_CHAM != None",
22485                            regles=(UN_PARMI('NUME_CMP_GENE','NOM_CMP'),),
22486              NUME_CMP_GENE   =SIMP(statut='f',typ='I' ),
22487              NOM_CMP         =SIMP(statut='f',typ='TXM' ),
22488              b_cmp = BLOC ( condition = "NOM_CMP != None",
22489                             regles=(UN_PARMI('NOEUD','GROUP_NO'),
22490                                     UN_PARMI('SQUELETTE','SOUS_STRUC'),),
22491                NOEUD         =SIMP(statut='f',typ=no),
22492                GROUP_NO      =SIMP(statut='f',typ=grno),
22493                SQUELETTE     =SIMP(statut='f',typ=squelette ),
22494                SOUS_STRUC    =SIMP(statut='f',typ='TXM' ),  
22495              ),
22496            ),
22497          ),
22498
22499 # ======= CHAM_GD =================================================
22500          b_cham_gd = BLOC ( condition = "(CHAM_GD != None)", fr="Opérandes en cas de CHAM_GD",
22501                             regles=(AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD'),
22502                                     PRESENT_ABSENT('POINT','NOEUD','GROUP_NO'),
22503                                     PRESENT_ABSENT('SOUS_POINT','NOEUD','GROUP_NO'),
22504                                     EXCLUS('GROUP_MA','MAILLE'),
22505                                     EXCLUS('GROUP_NO','NOEUD'),),
22506            NOM_CMP         =SIMP(statut='o',typ='TXM' ),
22507            MAILLE          =SIMP(statut='f',typ=ma),
22508            GROUP_MA        =SIMP(statut='f',typ=grma),
22509            NOEUD           =SIMP(statut='f',typ=no),
22510            GROUP_NO        =SIMP(statut='f',typ=grno),
22511            POINT           =SIMP(statut='f',typ='I' ),
22512            SOUS_POINT      =SIMP(statut='f',typ='I' ),
22513          ),
22514
22515 # ======= NAPPE =================================================
22516          b_nappe = BLOC ( condition = "(NAPPE != None)", fr="Opérandes en cas de NAPPE",
22517          VALE_PARA_FONC  =SIMP(statut='o',typ='R' ),
22518          PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
22519          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
22520          ),
22521
22522 # ======= SURCHARGE DES ATTRIBUTS =================================================
22523          NOM_PARA        =SIMP(statut='f',typ='TXM', into=C_PARA_FONCTION() ),
22524          NOM_RESU        =SIMP(statut='f',typ='TXM' ),
22525          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ),
22526          PROL_DROITE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
22527          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
22528
22529          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
22530          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
22531 )  ;
22532 #& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETTE 
22533 #            CONFIGURATION MANAGEMENT OF EDF VERSION
22534 # ======================================================================
22535 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
22536 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
22537 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
22538 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
22539 # (AT YOUR OPTION) ANY LATER VERSION.                                 
22540 #
22541 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
22542 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
22543 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
22544 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
22545 #
22546 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
22547 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
22548 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
22549 # ======================================================================
22550 RECU_GENE=OPER(nom="RECU_GENE",op=  76,sd_prod=vect_asse_gene,reentrant='n',
22551             UIinfo={"groupes":("Résultats et champs",)},
22552                fr="Extraire d'un champ de grandeur (déplacements, vitesses ou accélérations) à partir de résultats"
22553                   +" en coordonnées généralisées",
22554          RESU_GENE       =SIMP(statut='o',typ=tran_gene ),
22555          INST            =SIMP(statut='o',typ='R' ),
22556          NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE","ACCE") ),
22557          INTERPOL        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ),
22558          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF" ,into=("ABSOLU","RELATIF") ),
22559          PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
22560 )  ;
22561 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
22562 #            CONFIGURATION MANAGEMENT OF EDF VERSION
22563 # ======================================================================
22564 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
22565 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
22566 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
22567 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
22568 # (AT YOUR OPTION) ANY LATER VERSION.                                 
22569 #
22570 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
22571 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
22572 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
22573 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
22574 #
22575 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
22576 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
22577 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
22578 # ======================================================================
22579 # RESPONSABLE VABHHTS J.PELLET
22580 RECU_TABLE=OPER(nom="RECU_TABLE",op= 174,sd_prod=table_sdaster,
22581          fr="Récupérer dans une table les valeurs d'un paramètre d'une SD Résultat ou d'extraire une table contenue"
22582             +" dans une autre SD pour celles qui le permettent",
22583          UIinfo={"groupes":("Résultats et champs",)},reentrant='n',
22584          CO              =SIMP(statut='o',typ=assd),
22585          regles=(UN_PARMI('NOM_TABLE','NOM_PARA')),
22586          NOM_TABLE       =SIMP(statut='f',typ='TXM' ),
22587          NOM_PARA        =SIMP(statut='f',typ='TXM',max='**'),  
22588          TITRE           =SIMP(statut='f',typ='TXM',max='**'),  
22589 )  ;
22590 #& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETTE 
22591 #            CONFIGURATION MANAGEMENT OF EDF VERSION
22592 # ======================================================================
22593 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
22594 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
22595 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
22596 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
22597 # (AT YOUR OPTION) ANY LATER VERSION.                                 
22598 #
22599 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
22600 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
22601 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
22602 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
22603 #
22604 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
22605 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
22606 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
22607 # ======================================================================
22608
22609 RESO_GRAD=OPER(nom="RESO_GRAD",op=  84,sd_prod=cham_no_sdaster,
22610                fr="Résolution d'un système linéaire par la méthode du gradient conjugué préconditionné",
22611                reentrant='f',
22612             UIinfo={"groupes":("Résolution",)},
22613          MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ),
22614          CHAM_NO         =SIMP(statut='o',typ=cham_no_sdaster),
22615          CHAM_CINE       =SIMP(statut='f',typ=cham_no_sdaster),
22616          MATR_FACT       =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ),
22617          NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),  
22618          REPRISE         =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
22619          RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1E-6 ),  
22620          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
22621 )  ;
22622 #& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETTE 
22623 #            CONFIGURATION MANAGEMENT OF EDF VERSION
22624 # ======================================================================
22625 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
22626 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
22627 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
22628 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
22629 # (AT YOUR OPTION) ANY LATER VERSION.
22630 #
22631 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
22632 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
22633 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
22634 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
22635 #
22636 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
22637 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
22638 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
22639 # ======================================================================
22640 # RESPONSABLE VABHHTS J.PELLET
22641
22642 RESO_LDLT=OPER(nom="RESO_LDLT",op=15,sd_prod=cham_no_sdaster,reentrant='f',
22643                fr="Résoudre par méthode directe un système d'équations linéaires préalablement factorisé par FACT_LDLT",
22644             UIinfo={"groupes":("Résolution",)},
22645          MATR_FACT       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,
22646                                                matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ),
22647          CHAM_NO         =SIMP(statut='o',typ=cham_no_sdaster),
22648          CHAM_CINE       =SIMP(statut='f',typ=cham_no_sdaster),
22649          # RESI_RELA : précision utilisée si SOLVEUR=MUMPS
22650          RESI_RELA       =SIMP(statut='f',typ='R',defaut=1.e-6),
22651          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
22652          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
22653 )  ;
22654 #& MODIF COMMANDE  DATE 12/03/2007   AUTEUR DEVESA G.DEVESA 
22655 #            CONFIGURATION MANAGEMENT OF EDF VERSION
22656 # ======================================================================
22657 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
22658 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
22659 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
22660 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
22661 # (AT YOUR OPTION) ANY LATER VERSION.                                 
22662 #
22663 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
22664 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
22665 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
22666 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
22667 #
22668 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
22669 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
22670 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
22671 # ======================================================================
22672 # RESPONSABLE BOYERE E.BOYERE
22673 def rest_base_phys_prod(RESU_GENE,RESU_PHYS,RESULTAT,**args ):
22674   if AsType(RESU_GENE) == tran_gene : return dyna_trans
22675   if AsType(RESU_GENE) == mode_gene : return mode_meca
22676   if AsType(RESU_GENE) == mode_cycl : return mode_meca
22677   if AsType(RESU_GENE) == harm_gene : return dyna_harmo
22678   if AsType(RESU_PHYS) == evol_noli : return dyna_trans
22679   if AsType(RESULTAT)  == evol_elas      : return evol_elas
22680   if AsType(RESULTAT)  == evol_noli      : return evol_noli
22681   if AsType(RESULTAT)  == evol_char      : return evol_char
22682   if AsType(RESULTAT)  == dyna_trans     : return dyna_trans
22683   if AsType(RESULTAT)  == mode_meca      : return mode_meca
22684   if AsType(RESULTAT)  == mode_stat_depl : return mode_stat_depl
22685   if AsType(RESULTAT)  == base_modale    : return base_modale
22686   raise AsException("type de concept resultat non prevu")
22687
22688 REST_BASE_PHYS=OPER(nom="REST_BASE_PHYS",op=  75,sd_prod=rest_base_phys_prod,
22689                     fr="Restituer dans la base physique des résultats en coordonnées généralisées",
22690                     reentrant='n',
22691             UIinfo={"groupes":("Matrices/vecteurs",)},
22692         regles=(UN_PARMI('RESU_GENE','RESU_PHYS','RESULTAT'),
22693                 EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','TOUT_INST'),
22694                 EXCLUS('TOUT_INST','NUME_ORDRE','INST','LIST_INST','TOUT_ORDRE'),
22695 #  Doc U à revoir
22696                 EXCLUS('MULT_APPUI','CORR_STAT'),
22697                 EXCLUS('MULT_APPUI','NOEUD','GROUP_NO'),
22698                 EXCLUS('CORR_STAT','NOEUD','GROUP_NO'),             
22699                 EXCLUS('NOEUD','GROUP_NO'),
22700                 EXCLUS('MACR_ELEM_DYNA','BASE_MODALE'),
22701                 PRESENT_PRESENT('RESULTAT','SQUELETTE'),
22702                 PRESENT_PRESENT('ACCE_MONO_APPUI','DIRECTION'),),
22703          RESULTAT        =SIMP(statut='f',typ=(evol_elas,evol_noli,dyna_trans,evol_char,
22704                                                mode_meca,mode_stat_depl,base_modale) ),
22705          
22706          RESU_GENE       =SIMP(statut='f',typ=(tran_gene,mode_gene,mode_cycl,harm_gene) ),
22707          RESU_PHYS       =SIMP(statut='f',typ=evol_noli ),
22708          BASE_MODALE     =SIMP(statut='f',typ=(base_modale,mode_meca) ),
22709          NUME_DDL        =SIMP(statut='f',typ=nume_ddl_sdaster ),
22710          MACR_ELEM_DYNA  =SIMP(statut='f',typ=macr_elem_dyna),
22711          MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
22712          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
22713          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),  
22714          NUME_MODE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),  
22715          TOUT_INST       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
22716          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),  
22717          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
22718          FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),  
22719          LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
22720          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ),
22721          PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),  
22722          INTERPOL        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ),
22723          MULT_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
22724          CORR_STAT       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
22725          NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=8,defaut="ACCE",   
22726                                into=("DEPL","VITE","ACCE","ACCE_ABSOLU","EFGE_ELNO_DEPL","SIPO_ELNO_DEPL",                 
22727                                      "SIGM_ELNO_DEPL","FORC_NODA",) ),
22728          TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
22729          GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
22730          NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
22731          GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
22732          MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
22733  
22734          ACCE_MONO_APPUI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
22735          DIRECTION       =SIMP(statut='f',typ='R',min=3,max=3 ),
22736
22737          CYCLIQUE    =FACT(statut='f',max='**',
22738            NB_SECTEUR      =SIMP(statut='f',typ='I',validators=NoRepeat(),max=1 ),
22739            NUME_DIAMETRE    =SIMP(statut='f',typ='I',validators=NoRepeat(),max=1 ),
22740            RESULTAT2       =SIMP(statut='f',typ=(evol_elas,evol_noli,dyna_trans,evol_char,
22741                                                mode_meca,mode_stat_depl,base_modale) ),
22742          ),
22743
22744          SQUELETTE       =SIMP(statut='f',typ=squelette ),
22745          SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),  
22746          SECTEUR         =SIMP(statut='f',typ='I',defaut= 1 ),  
22747          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
22748 )  ;
22749 #& MODIF COMMANDE  DATE 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
22750 #            CONFIGURATION MANAGEMENT OF EDF VERSION
22751 # ======================================================================
22752 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
22753 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
22754 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
22755 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
22756 # (AT YOUR OPTION) ANY LATER VERSION.                                 
22757 #
22758 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
22759 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
22760 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
22761 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
22762 #
22763 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
22764 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
22765 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
22766 # ======================================================================
22767 REST_SPEC_PHYS=OPER(nom="REST_SPEC_PHYS",op= 148,sd_prod=table_fonction,
22768                     reentrant='n',
22769             fr="Calculer la réponse d'une structure dans la base physique",
22770             UIinfo={"groupes":("Matrices/vecteurs",)},
22771          regles=(AU_MOINS_UN('BASE_ELAS_FLUI','MODE_MECA'),),
22772          BASE_ELAS_FLUI  =SIMP(statut='f',typ=melasflu_sdaster ),
22773          MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
22774          BANDE           =SIMP(statut='f',typ='R',min=2,validators=NoRepeat(),max=2    ),  
22775          NUME_ORDRE      =SIMP(statut='f',typ='I'      ,validators=NoRepeat(),max='**' ),  
22776          INTE_SPEC_GENE  =SIMP(statut='o',typ=table_fonction),
22777          NOEUD           =SIMP(statut='o',typ=no   ,max='**'),
22778          MAILLE          =SIMP(statut='f',typ=ma   ,max='**'),
22779          NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),  
22780          NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=7,    
22781                                into=("DEPL","VITE","ACCE","EFGE_ELNO_DEPL",
22782                                      "SIPO_ELNO_DEPL","SIGM_ELNO_DEPL","FORC_NODA") ),
22783          MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc), ),
22784          EXCIT           =FACT(statut='f',
22785            NOEUD           =SIMP(statut='o',typ=no   ,max='**'),
22786            NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),  
22787          ),
22788          MOUVEMENT       =SIMP(statut='f',typ='TXM',defaut="ABSOLU",into=("RELATIF","ABSOLU","DIFFERENTIEL") ),
22789          OPTION          =SIMP(statut='f',typ='TXM',defaut="DIAG_DIAG",    
22790                                into=("DIAG_TOUT","DIAG_DIAG","TOUT_TOUT","TOUT_DIAG") ),
22791          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
22792 )  ;
22793 #& MODIF COMMANDE  DATE 23/04/2007   AUTEUR PROIX J-M.PROIX 
22794 #            CONFIGURATION MANAGEMENT OF EDF VERSION
22795 # ======================================================================
22796 # COPYRIGHT (C) 1991 - 2006  EDF R&D                  WWW.CODE-ASTER.ORG
22797 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
22798 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
22799 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
22800 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
22801 #                                                                       
22802 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
22803 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
22804 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
22805 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
22806 #                                                                       
22807 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
22808 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
22809 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
22810 # ======================================================================
22811 # -*- coding: iso-8859-1 -*-
22812
22813 from Macro.simu_point_mat_ops import simu_point_mat_ops
22814
22815 SIMU_POINT_MAT=MACRO(nom="SIMU_POINT_MAT", op=simu_point_mat_ops,sd_prod=table_sdaster,
22816                    UIinfo={"groupes":("Résolution",)},
22817                    fr="Calcul de l'évolution mécanique, en quasi-statique,"
22818                       +" d'un point matériel en non linéaire",
22819    COMP_INCR       =C_COMP_INCR(),
22820    COMP_ELAS       =FACT(statut='f',max='**',
22821            RESI_INTE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-6),
22822            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
22823            RELATION        =SIMP(statut='o',typ='TXM',defaut="ELAS",
22824                                  into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC",
22825                                       "ELAS_POUTRE_GR","CABLE","ELAS_HYPER")),
22826            ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
22827            ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
22828            ELAS_VMIS_LINE  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
22829            ELAS_HYPER      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
22830            DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ),
22831          ),
22832    MATER           =SIMP(statut='o',typ=mater_sdaster,max=30),
22833    INCREMENT       =FACT(statut='o',
22834            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
22835            NUME_INST_INIT  =SIMP(statut='f',typ='I'),
22836            INST_INIT       =SIMP(statut='f',typ='R'),
22837            NUME_INST_FIN   =SIMP(statut='f',typ='I'),
22838            INST_FIN        =SIMP(statut='f',typ='R'),
22839            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
22840            # DEBUT DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
22841            SUBD_METHODE    =SIMP( statut='f',typ='TXM',
22842               into =("AUCUNE","UNIFORME","EXTRAPOLE"),
22843               defaut="AUCUNE",
22844               fr="Méthode de subdivision des pas de temps en cas de non-convergence"
22845            ),
22846            b_subd_unif=BLOC(condition = "SUBD_METHODE == 'UNIFORME'",
22847              regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
22848              SUBD_COEF_PAS_1=SIMP(statut='f',typ='R',defaut=1.0,val_min=0.0,
22849                 fr="Coefficient multiplicateur de la 1ère subdivision"),
22850              SUBD_PAS       =SIMP(statut='f',typ='I',defaut=4,val_min=2,
22851                 fr="Nombre de subdivision d'un pas de temps"),
22852              SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
22853                 fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
22854              SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
22855                 fr="Pas de temps en dessous duquel on ne subdivise plus"),
22856            ),
22857            b_subd_extr=BLOC(condition = "SUBD_METHODE == 'EXTRAPOLE'",
22858              regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
22859              SUBD_OPTION    =SIMP(statut='f',typ='TXM',
22860                 into =("IGNORE_PREMIERES","GARDE_DERNIERES",), 
22861                 defaut="IGNORE_PREMIERES",
22862                 fr="Technique d'extrapolation : les 1ere itérations sont ignorées ou les dernières sont gardées"),
22863              SUBD_ITER_IGNO =SIMP(statut='c',typ='I',defaut=3,val_min=0,
22864                 fr="Les n premières itérations sont ignorées pour l'extrapolation"),
22865              SUBD_ITER_FIN  =SIMP(statut='c',typ='I',defaut=8,val_min=3,
22866                 fr="Seules les n dernières itérations sont prises pour l'extrapolation"),
22867              SUBD_PAS       =SIMP(statut='c',typ='I',defaut=4,val_min=2,
22868                 fr="Nombre de subdivision d'un pas de temps en cas divergence"),
22869              SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
22870                 fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
22871              SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
22872                 fr="Pas de temps en dessous duquel on ne subdivise plus"),
22873              SUBD_ITER_PLUS =SIMP(statut='c',typ='I',defaut=50,val_min=20,
22874                 fr="% itération autorisée en plus"),
22875            ),
22876            # FIN DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS 
22877          ),
22878    NEWTON          =FACT(statut='d',
22879            PREDICTION      =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE","EXTRAPOL") ),
22880            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
22881            PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
22882            REAC_ITER       =SIMP(statut='f',typ='I',defaut=1),
22883            REAC_ITER_ELAS  =SIMP(statut='f',typ='I',defaut=0),
22884          ),
22885    RECH_LINEAIRE   =FACT(statut='f',                                          
22886      RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-1 ),               
22887      ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),                     
22888      ITER_LINE_CRIT  =SIMP(statut='f',typ='I',defaut= 20),                    
22889      PAS_MINI_CRIT   =SIMP(statut='f',typ='R',defaut=0.0E+0),                 
22890      RHO_MIN         =SIMP(statut='f',typ='R',defaut=1.0E-2),                 
22891      RHO_MAX         =SIMP(statut='f',typ='R',defaut=1.0E+1),                 
22892      RHO_EXCL        =SIMP(statut='f',typ='R',defaut=0.9E-2,val_min=0.),      
22893    ),                                                                         
22894    CONVERGENCE     =FACT(statut='d',
22895      regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),),
22896      SIGM_REFE       =SIMP(statut='f',typ='R'),
22897      EPSI_REFE       =SIMP(statut='f',typ='R'),
22898      RESI_REFE_RELA  =SIMP(statut='f',typ='R'),
22899      RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
22900      RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
22901      ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=50),
22902      ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
22903      ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
22904    ),
22905    SUIVI_DDL      = FACT(statut='f',max=4,                                                                   
22906        NUME_SUIVI      =SIMP(statut='o',typ='I' ,min=1,max=4),                                               
22907        NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,                               
22908                              into=("DEPL","SIEF_ELGA","VARI_ELGA",)),                                        
22909        NOM_CMP         =SIMP(statut='o',typ='TXM',max=1 ),                                                   
22910    ),                                                                                                        
22911    ARCHIVAGE       =FACT(statut='f',
22912      regles=(EXCLUS('PAS_ARCH','LIST_INST','INST'),
22913             EXCLUS('ARCH_ETAT_INIT','NUME_INIT'), ),  
22914      LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),                                                 
22915      INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
22916      PAS_ARCH        =SIMP(statut='f',typ='I' ),
22917      PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
22918      ARCH_ETAT_INIT  =SIMP(statut='f',typ='TXM',into=("OUI",)),
22919      NUME_INIT       =SIMP(statut='f',typ='I'),
22920      DETR_NUME_SUIV  =SIMP(statut='f',typ='TXM',into=("OUI",)),
22921      CHAM_EXCLU      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
22922             into=("DEPL","SIEF_ELGA","VARI_ELGA","VARI_NON_LOCAL","LANL_ELGA")),
22923             ),       
22924    MODELISATION  =SIMP(statut='f',typ='TXM',defaut="3D",validators=NoRepeat(),max=1,
22925                        into=("3D","C_PLAN","D_PLAN",)),                                                       
22926    b_3D = BLOC(condition="MODELISATION ==  '3D'",
22927                        fr="Trajets de chargement en 3D",                    
22928           SIGM_IMPOSE=FACT(statut='f',
22929                  SIXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22930                  SIYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22931                  SIZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22932                  SIXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22933                  SIXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22934                  SIYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22935                             ),
22936           EPSI_IMPOSE=FACT(statut='f',
22937                  EPXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22938                  EPYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22939                  EPZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22940                  EPXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22941                  EPXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22942                  EPYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22943                             ),
22944             ),
22945             
22946    b_2D = BLOC(condition="MODELISATION !=  '3D'",
22947                     fr="Trajets de chargement en 2D",
22948                     
22949          SIGM_IMPOSE=FACT(statut='f',
22950                 SIXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22951                 SIYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22952                 SIXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22953                            ),
22954          EPSI_IMPOSE=FACT(statut='f',
22955                 EPXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22956                 EPYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22957                 EPXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22958                            ),
22959              ),
22960
22961    b_3Dini = BLOC(condition="MODELISATION ==  '3D'",
22962                       fr="Etat initial en 3D",                    
22963           SIGM_INIT=FACT(statut='f',
22964                  SIXX = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
22965                  SIYY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
22966                  SIZZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
22967                  SIXY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
22968                  SIXZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
22969                  SIYZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
22970                             ),
22971           EPSI_INIT=FACT(statut='f',
22972                  EPXX = SIMP(statut='o',typ='R',max=1),
22973                  EPYY = SIMP(statut='o',typ='R',max=1),
22974                  EPZZ = SIMP(statut='o',typ='R',max=1),
22975                  EPXY = SIMP(statut='o',typ='R',max=1),
22976                  EPXZ = SIMP(statut='o',typ='R',max=1),
22977                  EPYZ = SIMP(statut='o',typ='R',max=1),
22978                             ),
22979           VARI_INIT=FACT(statut='f',
22980                  VALE = SIMP(statut='o',typ='R',max='**'),
22981                             ),
22982             ),
22983             
22984    b_2Dini = BLOC(condition="MODELISATION !=  '3D'",
22985                     fr="Etat initial en 2D",
22986                     
22987          SIGM_INIT=FACT(statut='f',
22988                 SIXX = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
22989                 SIYY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
22990                 SIXY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
22991                            ),
22992          EPSI_INIT=FACT(statut='f',
22993                 EPXX = SIMP(statut='o',typ='R',max=1),
22994                 EPYY = SIMP(statut='o',typ='R',max=1),
22995                 EPXY = SIMP(statut='o',typ='R',max=1),
22996                            ),
22997           VARI_INIT=FACT(statut='f',
22998                  VALE    = SIMP(statut='o',typ='R',max='**'),
22999                             ),
23000              ),
23001    INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
23002 )
23003
23004 #& MODIF COMMANDE  DATE 15/05/2006   AUTEUR ASSIRE A.ASSIRE 
23005 #            CONFIGURATION MANAGEMENT OF EDF VERSION
23006 # ======================================================================
23007 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
23008 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
23009 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
23010 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
23011 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
23012 #                                                                       
23013 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
23014 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
23015 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
23016 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
23017 #                                                                       
23018 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
23019 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
23020 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
23021 # ======================================================================
23022
23023 from Macro.stanley_ops import stanley_ops
23024
23025 STANLEY=MACRO(nom="STANLEY",op=stanley_ops,sd_prod=None,
23026                        reentrant='n',
23027               UIinfo={"groupes":("Outils métier",)},
23028                        fr="Outil de post-traitement interactif Stanley ",
23029          RESULTAT        =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther,mode_meca,mode_stat,dyna_harmo,dyna_trans) ),
23030          MODELE          =SIMP(statut='f',typ=modele_sdaster),
23031          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
23032          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
23033          DISPLAY         =SIMP(statut='f',typ='TXM'),
23034          UNITE_VALIDATION=SIMP(statut='c',typ='I',val_min=10,val_max=90,
23035                                fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit les md5"),
23036
23037 )  ;
23038 #& MODIF COMMANDE  DATE 30/05/2007   AUTEUR ABBAS M.ABBAS 
23039 #            CONFIGURATION MANAGEMENT OF EDF VERSION
23040 # ======================================================================
23041 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
23042 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
23043 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
23044 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
23045 # (AT YOUR OPTION) ANY LATER VERSION.
23046 #
23047 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
23048 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
23049 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
23050 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
23051 #
23052 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
23053 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
23054 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
23055 # ======================================================================
23056 # RESPONSABLE MABBAS M.ABBAS
23057 STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
23058                    fr="Calcul de l'évolution mécanique ou thermo-hydro-mécanique couplée, en quasi-statique,"
23059                       +" d'une structure en non linéaire",
23060                    reentrant='f',
23061             UIinfo={"groupes":("Résolution",)},
23062          regles=(AU_MOINS_UN('COMP_INCR','COMP_ELAS'),
23063                  CONCEPT_SENSIBLE('ENSEMBLE'),),
23064          MODELE          =SIMP(statut='o',typ=modele_sdaster),
23065          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
23066          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
23067          EXCIT           =FACT(statut='o',max='**',
23068            CHARGE          =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
23069            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
23070            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
23071                                  into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")),
23072          ),
23073          SOUS_STRUC      =FACT(statut='f',min=01,max='**',
23074                 regles=(UN_PARMI('TOUT','SUPER_MAILLE'),),
23075                 CAS_CHARGE  =SIMP(statut='o',typ='TXM' ),
23076                 TOUT        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
23077                 SUPER_MAILLE=SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',),
23078                 FONC_MULT   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
23079               ),
23080          COMP_INCR       =C_COMP_INCR(),
23081          COMP_ELAS       =FACT(statut='f',max='**',
23082            RESI_INTE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-6),
23083            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
23084            ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut= 0 ),
23085            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
23086                                  into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
23087            RELATION        =SIMP(statut='o',typ='TXM',defaut="ELAS",
23088                                  into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC",
23089                                       "ELAS_POUTRE_GR","CABLE","ELAS_HYPER")),
23090            ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
23091            ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
23092            ELAS_VMIS_LINE  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
23093            ELAS_HYPER      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
23094            ELAS_POUTRE_GR  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
23095            CABLE           =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
23096            DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ),
23097       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
23098            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
23099            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
23100            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
23101          ),
23102          b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire",
23103            ETAT_INIT       =FACT(statut='o',
23104              regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI','VARI_NON_LOCAL',),
23105                      EXCLUS('EVOL_NOLI','DEPL',),
23106                      EXCLUS('EVOL_NOLI','SIGM',),
23107                      EXCLUS('EVOL_NOLI','VARI',),
23108                      EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',),
23109                      EXCLUS('NUME_ORDRE','INST'), ),
23110              DEPL            =SIMP(statut='f',typ=cham_no_sdaster),
23111              SIGM            =SIMP(statut='f',typ=(cham_elem,carte_sdaster)),
23112              VARI            =SIMP(statut='f',typ=cham_elem),
23113              VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_sdaster),
23114              EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
23115              NUME_ORDRE      =SIMP(statut='f',typ='I'),
23116              INST            =SIMP(statut='f',typ='R'),
23117              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
23118              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
23119              NUME_DIDI       =SIMP(statut='f',typ='I'),
23120              INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
23121          ),),
23122          b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif",
23123            ETAT_INIT       =FACT(statut='f',
23124              regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI','VARI_NON_LOCAL',),
23125                      EXCLUS('EVOL_NOLI','DEPL',),
23126                      EXCLUS('EVOL_NOLI','SIGM',),
23127                      EXCLUS('EVOL_NOLI','VARI',),
23128                      EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',),
23129                      EXCLUS('NUME_ORDRE','INST'), ),
23130              DEPL            =SIMP(statut='f',typ=cham_no_sdaster),
23131              SIGM            =SIMP(statut='f',typ=(cham_elem,carte_sdaster)),
23132              VARI            =SIMP(statut='f',typ=cham_elem),
23133              VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_sdaster),
23134              EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
23135              NUME_ORDRE      =SIMP(statut='f',typ='I'),
23136              INST            =SIMP(statut='f',typ='R'),
23137              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
23138              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
23139              NUME_DIDI       =SIMP(statut='f',typ='I'),
23140              INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
23141          ),),
23142          INCREMENT       =FACT(statut='o',
23143            regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
23144                    EXCLUS('NUME_INST_FIN','INST_FIN'),),
23145            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
23146            EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
23147                                  into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
23148            NUME_INST_INIT  =SIMP(statut='f',typ='I'),
23149            INST_INIT       =SIMP(statut='f',typ='R'),
23150            NUME_INST_FIN   =SIMP(statut='f',typ='I'),
23151            INST_FIN        =SIMP(statut='f',typ='R'),
23152            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
23153            # DEBUT DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
23154            SUBD_METHODE    =SIMP( statut='f',typ='TXM',
23155               into =("AUCUNE","UNIFORME","EXTRAPOLE"),
23156               defaut="AUCUNE",
23157               fr="Méthode de subdivision des pas de temps en cas de non-convergence"
23158            ),
23159            b_subd_unif=BLOC(condition = "SUBD_METHODE == 'UNIFORME'",
23160              regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
23161              SUBD_COEF_PAS_1=SIMP(statut='f',typ='R',defaut=1.0,val_min=0.0,
23162                 fr="Coefficient multiplicateur de la 1ère subdivision"),
23163              SUBD_PAS       =SIMP(statut='f',typ='I',defaut=4,val_min=2,
23164                 fr="Nombre de subdivision d'un pas de temps"),
23165              SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
23166                 fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
23167              SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
23168                 fr="Pas de temps en dessous duquel on ne subdivise plus"),
23169            ),
23170            b_subd_extr=BLOC(condition = "SUBD_METHODE == 'EXTRAPOLE'",
23171              regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
23172              SUBD_OPTION    =SIMP(statut='f',typ='TXM',
23173                 into =("IGNORE_PREMIERES","GARDE_DERNIERES",),
23174                 defaut="IGNORE_PREMIERES",
23175                 fr="Technique d'extrapolation : les 1ere itérations sont ignorées ou les dernières sont gardées"),
23176              SUBD_ITER_IGNO =SIMP(statut='c',typ='I',defaut=3,val_min=0,
23177                 fr="Les n premières itérations sont ignorées pour l'extrapolation"),
23178              SUBD_ITER_FIN  =SIMP(statut='c',typ='I',defaut=8,val_min=3,
23179                 fr="Seules les n dernières itérations sont prises pour l'extrapolation"),
23180              SUBD_PAS       =SIMP(statut='c',typ='I',defaut=4,val_min=2,
23181                 fr="Nombre de subdivision d'un pas de temps en cas divergence"),
23182              SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
23183                 fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
23184              SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
23185                 fr="Pas de temps en dessous duquel on ne subdivise plus"),
23186              SUBD_ITER_PLUS =SIMP(statut='c',typ='I',defaut=50,val_min=20,
23187                 fr="% itération autorisée en plus"),
23188            ),
23189            # FIN DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
23190            OPTI_LIST_INST  =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),),
23191            NOM_CHAM        =SIMP(statut='f',typ='TXM',),
23192            NOM_CMP         =SIMP(statut='f',typ='TXM',),
23193            VALE            =SIMP(statut='f',typ='R'),
23194          ),
23195          NEWTON          =FACT(statut='d',
23196            REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
23197            PREDICTION      =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ),
23198            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
23199            PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
23200            REAC_ITER       =SIMP(statut='f',typ='I',defaut=0),
23201            REAC_ITER_ELAS  =SIMP(statut='f',typ='I',defaut=0),
23202            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
23203          ),
23204          RECH_LINEAIRE   =FACT(statut='f',
23205            METHODE         =SIMP(statut='f',typ='TXM',defaut="CORDE",into=("CORDE","MIXTE") ),         
23206            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-1 ),
23207            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),
23208            ITER_LINE_CRIT  =SIMP(statut='f',typ='I',defaut= 20),
23209            PAS_MINI_CRIT   =SIMP(statut='f',typ='R',defaut=0.0E+0),
23210            RHO_MIN         =SIMP(statut='f',typ='R',defaut=1.0E-2),
23211            RHO_MAX         =SIMP(statut='f',typ='R',defaut=1.0E+1),
23212            RHO_EXCL        =SIMP(statut='f',typ='R',defaut=0.9E-2,val_min=0.),
23213          ),
23214          PILOTAGE        =FACT(statut='f',
23215            regles=(EXCLUS('NOEUD','GROUP_NO'),PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
23216            TYPE    =SIMP(statut='o',typ='TXM',into=("DDL_IMPO","LONG_ARC","PRED_ELAS","PRED_ELAS_INCR","DEFORMATION","ANA_LIM") ),
23217            COEF_MULT       =SIMP(statut='f',typ='R',defaut= 1.0E+0),
23218            ETA_PILO_MAX    =SIMP(statut='f',typ='R'),
23219            ETA_PILO_MIN    =SIMP(statut='f',typ='R'),
23220            ETA_PILO_R_MAX  =SIMP(statut='f',typ='R'),
23221            ETA_PILO_R_MIN  =SIMP(statut='f',typ='R'),
23222            PROJ_BORNES     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
23223            SELECTION       =SIMP(statut='f',typ='TXM',defaut="NORM_INCR_DEPL", into=("RESIDU","ANGL_INCR_DEPL","NORM_INCR_DEPL") ),
23224            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
23225            GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
23226            MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
23227            NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
23228            GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
23229            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
23230                          ),
23231          CONVERGENCE     =FACT(statut='d',
23232            regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),),
23233            b_refe_rela    =BLOC(condition = "RESI_REFE_RELA != None",
23234              regles=(AU_MOINS_UN('SIGM_REFE','EPSI_REFE','FLUX_THER_REFE',
23235                                   'FLUX_HYD1_REFE','FLUX_HYD2_REFE','VARI_REFE'),),
23236              SIGM_REFE       =SIMP(statut='f',typ='R'),
23237              EPSI_REFE       =SIMP(statut='f',typ='R'),
23238              FLUX_THER_REFE  =SIMP(statut='f',typ='R'),
23239              FLUX_HYD1_REFE  =SIMP(statut='f',typ='R'),
23240              FLUX_HYD2_REFE  =SIMP(statut='f',typ='R'),
23241              VARI_REFE       =SIMP(statut='f',typ='R'),                     
23242            ),
23243            
23244            
23245            
23246            RESI_REFE_RELA  =SIMP(statut='f',typ='R'),
23247            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
23248            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
23249            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
23250            ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
23251            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
23252          ),
23253          SOLVEUR         =FACT(statut='d',
23254            METHODE=SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS","FETI") ),
23255            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
23256              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
23257            ),
23258            b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
23259              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
23260            ),
23261            b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
23262                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
23263              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
23264              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","DECOUPE") ),
23265            ),
23266            b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
23267              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
23268              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
23269              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
23270              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
23271              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
23272            ),
23273            b_mumps        =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS",
23274              TYPE_RESOL      =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("NONSYM","SYMGEN","SYMDEF","AUTO")),
23275              SCALING         =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("SANS","AUTO")),
23276              RENUM           =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AMD","AMF","PORD","METIS","QAMD","AUTO")),
23277              ELIM_LAGR2      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
23278              PCENT_PIVOT     =SIMP(statut='f',typ='I',defaut=10,),
23279              RESI_RELA       =SIMP(statut='f',typ='R',defaut=-1.0,),
23280              ),
23281            b_feti          =BLOC(condition = "METHODE == 'FETI' ",fr="Paramètres de la méthode FETI 1",
23282              PARTITION       =SIMP(statut='o',typ=sd_feti_sdaster),
23283              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
23284              RESI_RELA       =SIMP(statut='f',typ='R',defaut=1.E-6,val_min=0.),
23285              NMAX_ITER       =SIMP(statut='f',typ='I',defaut=0,val_min=0),
23286              REAC_RESI       =SIMP(statut='f',typ='I',defaut=0,val_min=0),
23287              TYPE_REORTHO_DD =SIMP(statut='f',typ='TXM',defaut="GSM",into=("SANS","GS","GSM","IGSM") ),
23288              NB_REORTHO_DD   =SIMP(statut='f',typ='I',defaut=0,val_min=0),
23289              NB_REORTHO_INST =SIMP(statut='f',typ='I',defaut=0,val_min=0),
23290              PRE_COND        =SIMP(statut='f',typ='TXM',defaut="LUMPE",into=("LUMPE","SANS") ),
23291              SCALING         =SIMP(statut='f',typ='TXM',defaut="MULT",into=("SANS","MULT") ),
23292              VERIF_SDFETI    =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
23293              TEST_CONTINU    =SIMP(statut='f',typ='R',defaut=1.E-8,val_min=0.),
23294              INFO_FETI       =SIMP(statut='f',typ='TXM',defaut='FFFFFFFFFFFFFFFFFFFFFFFF'),
23295              STOCKAGE_GI     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","CAL") ),
23296              NB_SD_PROC0     =SIMP(statut='f',typ='I',defaut=0,val_min=0),
23297              ACCELERATION_SM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
23298            ),
23299            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
23300          ),
23301          ARCHIVAGE       =FACT(statut='f',
23302            regles=(EXCLUS('PAS_ARCH','LIST_INST','INST'),
23303                    EXCLUS('ARCH_ETAT_INIT','NUME_INIT'), ),
23304            LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),
23305            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
23306            PAS_ARCH        =SIMP(statut='f',typ='I' ),
23307            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
23308            ARCH_ETAT_INIT  =SIMP(statut='f',typ='TXM',into=("OUI",)),
23309            NUME_INIT       =SIMP(statut='f',typ='I'),
23310            DETR_NUME_SUIV  =SIMP(statut='f',typ='TXM',into=("OUI",)),
23311            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","SIEF_ELGA","VARI_ELGA",
23312                                                                      "VARI_NON_LOCAL","LANL_ELGA")),
23313          ),
23314          OBSERVATION     =FACT(statut='f',max='**',
23315            NOM_CMP         =SIMP(statut='o',typ='TXM',max='**' ),
23316            SUIVI_DDL       =SIMP(statut='f',typ='TXM',defaut="NON",max=1,into=("OUI","NON")),
23317          b_suivi          =BLOC(condition = "SUIVI_DDL == 'OUI' ",
23318                                 regles=(UN_PARMI('NOEUD','MAILLE','GROUP_NO','GROUP_MA','VALE_MIN','VALE_MAX'),
23319                                                   PRESENT_PRESENT('MAILLE','POINT'),),
23320              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
23321              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
23322              POINT           =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'),
23323              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
23324              NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,
23325                                    into=("DEPL","VITE","ACCE","SIEF_ELGA",
23326                                          "VARI_ELGA","FORC_NODA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU",)),
23327              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
23328              NUME_SUIVI      =SIMP(statut='o',typ='I' ,min=1,max=4),
23329              VALE_MAX        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,into=("OUI",) ),
23330              VALE_MIN        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,into=("OUI",) ),),
23331          b_non_suivi      =BLOC(condition = "SUIVI_DDL == 'NON' ",
23332                                 regles=(UN_PARMI('NOEUD','GROUP_NO','MAILLE'),PRESENT_PRESENT('MAILLE','POINT'),),
23333              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
23334              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
23335              POINT           =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'),
23336              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
23337              NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","VITE","ACCE","SIEF_ELGA",
23338                                               "VARI_ELGA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU","VALE_CONT")),
23339              INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
23340              LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
23341              PAS_OBSE        =SIMP(statut='f',typ='I'),
23342              LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster),
23343              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
23344              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),),
23345          ),
23346
23347          AFFICHAGE      = FACT(statut='f',max=16,
23348
23349             UNITE       = SIMP(statut='f',typ='I',val_min=1),
23350
23351             LONG_R      = SIMP(statut='f',typ='I',defaut=12,val_min=1,val_max=12),
23352             PREC_R      = SIMP(statut='f',typ='I',defaut=5, val_min=1,val_max=8),
23353             LONG_I      = SIMP(statut='f',typ='I',defaut=6, val_min=1,val_max=12),
23354
23355             NOM_COLONNE = SIMP(statut='o',typ='TXM',defaut="STANDARD",
23356                                 into=("STANDARD","MINIMUM",
23357                                       "ITER_NEWT",
23358                                       "INCR_TPS",
23359                                       "RESI_RELA","RELA_NOEU",
23360                                       "RESI_MAXI","MAXI_NOEU",
23361                                       "RESI_REFE","REFE_NOEU",
23362                                       "RELI_ITER","RELI_COEF",
23363                                       "PILO_PARA",
23364                                       "LAGR_ECAR","LAGR_INCR","LAGR_ITER",
23365                                       "MATR_ASSE",
23366                                       "ITER_DEBO",
23367                                       "CTCD_ITER","CTCD_INFO","CTCD_GEOM","CTCD_NOEU",
23368                                       "CTCC_GEOM","CTCC_FROT","CTCC_CONT",
23369                                       "SUIV_1","SUIV_2","SUIV_3","SUIV_4","ITER_FETI",
23370                                      ),
23371                                ),
23372             b_residu    = BLOC(condition = " NOM_COLONNE == 'RESI_RELA' or \
23373                     NOM_COLONNE == 'RESI_MAXI' or\
23374                     NOM_COLONNE == 'RESI_REFE' or\
23375                     NOM_COLONNE == 'CTCD_GEOM' or\
23376                     NOM_COLONNE == 'STANDARD' ",
23377                             INFO_RESIDU = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
23378                           ),
23379          ),
23380
23381
23382
23383          CRIT_FLAMB     =FACT(statut='f',min=1,max=1,
23384            NB_FREQ         =SIMP(statut='f',typ='I',max=1,defaut=3),
23385            CHAR_CRIT       =SIMP(statut='f',typ='R',min=2,max=2,defaut=(-10.0,10),
23386                             fr="Valeur des deux charges critiques délimitant la bande de recherche en HPP"),
23387          ),
23388            SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
23389                                fr="Liste des paramètres de sensibilité",
23390                                ang="List of sensitivity parameters"),
23391            SOLV_NON_LOCAL  =FACT(statut='f',
23392              METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ),
23393              b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
23394                RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
23395              ),
23396              b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
23397                RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
23398              ),
23399              b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
23400                                     fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
23401                NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
23402                STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
23403              ),
23404              b_mumps        =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS",
23405                TYPE_RESOL      =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("NONSYM","SYMGEN","SYMDEF","AUTO")),
23406                SCALING         =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("SANS","AUTO")),
23407              RENUM           =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AMD","AMF","PORD","METIS","QAMD","AUTO")),
23408              ELIM_LAGR2      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
23409                PCENT_PIVOT     =SIMP(statut='f',typ='I',defaut=10,),
23410                RESI_RELA       =SIMP(statut='f',typ='R',defaut=-1.0,),
23411              ),
23412              b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
23413                PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
23414                NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
23415                RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
23416                NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
23417              ),
23418              EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
23419            ),
23420            LAGR_NON_LOCAL  =FACT(statut='f',
23421              ITER_DUAL_MAXI  =SIMP(statut='f',typ='I',defaut= 50),
23422              RESI_DUAL_ABSO  =SIMP(statut='o',typ='R'),
23423              RESI_PRIM_ABSO  =SIMP(statut='o',typ='R'),
23424              R               =SIMP(statut='f',typ='R',defaut= 1000.),
23425              ITER_PRIM_MAXI  =SIMP(statut='f',typ='I',defaut= 10),
23426            ),
23427          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
23428          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
23429  )
23430
23431 #& MODIF COMMANDE  DATE 22/05/2006   AUTEUR MCOURTOI M.COURTOIS 
23432 #            CONFIGURATION MANAGEMENT OF EDF VERSION
23433 # ======================================================================
23434 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
23435 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
23436 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
23437 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
23438 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
23439 #                                                                       
23440 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
23441 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
23442 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
23443 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
23444 #                                                                       
23445 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
23446 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
23447 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
23448 # ======================================================================
23449
23450 # RESPONSABLE MCOURTOI M.COURTOIS
23451
23452 from Macro.test_fichier_ops import test_fichier_ops
23453
23454 TEST_FICHIER=MACRO(nom="TEST_FICHIER", op=test_fichier_ops,
23455                    UIinfo={"groupes":("Impression",)},
23456                    fr="Tester la non régression de fichiers produits par des commandes aster",
23457    FICHIER          =SIMP(statut='o',typ='TXM',validators=LongStr(1,255)),
23458    NB_CHIFFRE      =SIMP(statut='o',typ='I',),   # defaut=6        pas de defaut, il faut
23459    EPSILON         =SIMP(statut='o',typ='R',),   # defaut=1.E-12   se poser la question !
23460    EXPR_IGNORE     =SIMP(statut='f',typ='TXM',max='**',
23461                          fr="Liste d'expressions régulières permettant d'ignorer certaines lignes"),
23462    VALE_K          =SIMP(statut='o',typ='TXM' ),
23463    REFERENCE       =SIMP(statut='f',typ='TXM',
23464                          into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
23465
23466    b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'",
23467       VERSION         =SIMP(statut='f',typ='TXM' ),
23468    ),
23469
23470    INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
23471 )
23472 #& MODIF COMMANDE  DATE 17/10/2006   AUTEUR MCOURTOI M.COURTOIS 
23473 #            CONFIGURATION MANAGEMENT OF EDF VERSION
23474 # ======================================================================
23475 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
23476 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
23477 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
23478 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
23479 # (AT YOUR OPTION) ANY LATER VERSION.                                 
23480 #
23481 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
23482 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
23483 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
23484 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
23485 #
23486 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
23487 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
23488 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
23489 # ======================================================================
23490 # RESPONSABLE MCOURTOI M.COURTOIS
23491 TEST_FONCTION=PROC(nom="TEST_FONCTION",op= 135,
23492             fr="Extraction d'une valeur numérique ou d'un attribut de fonction pour comparaison à une valeur de référence",
23493             UIinfo={"groupes":("Impression",)},
23494          TEST_NOOK       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
23495          VALEUR          =FACT(statut='f',max='**',
23496                                fr="Tester la valeur d une fonction ou d une nappe",
23497            regles=(UN_PARMI('VALE_REFE','VALE_REFE_C',),
23498                    DERIVABLE('FONCTION'),),
23499            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster,formule) ),
23500            SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),
23501                                  fr="Paramètre de sensibilité.",
23502                                  ang="Sensitivity parameter"),
23503            NOM_PARA        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2),
23504            VALE_PARA       =SIMP(statut='o',typ='R'  ,validators=NoRepeat(),max=2),
23505            VALE_REFE       =SIMP(statut='f',typ='R',max='**' ),
23506            VALE_REFE_C     =SIMP(statut='f',typ='C',max='**' ),
23507            VALE_ABS        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
23508            CRITERE         =SIMP(statut='f',typ='TXM',fr="Critère de comparaison avec la solution de référence",
23509                                  defaut="RELATIF",into=("RELATIF","ABSOLU") ),
23510            PRECISION       =SIMP(statut='f',typ='R',fr="Ecart maximal autorisé avec la solution de référence",
23511                                  defaut= 1.E-3 ),
23512            REFERENCE       =SIMP(statut='f',typ='TXM',
23513                                  into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
23514            b_version = BLOC (condition = "REFERENCE == 'NON_REGRESSION'", 
23515              VERSION         =SIMP(statut='f',typ='TXM' ),
23516            ),
23517          ),
23518          ATTRIBUT        =FACT(statut='f',max='**',
23519                                fr="Tester la valeur d un attribut d une fonction ou d''une nappe",
23520            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster,formule) ),
23521            PARA            =SIMP(statut='f',typ='R' ),
23522            CRIT_PARA       =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
23523            PREC_PARA       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
23524            ATTR            =SIMP(statut='o',typ='TXM',
23525                                  into=("NOM_PARA","NOM_RESU","PROL_DROITE","PROL_GAUCHE","INTERPOL",
23526                                        "PROL_GAUCHE_FONC","PROL_DROITE_FONC","INTERPOL_FONC","NOM_PARA_FONC") ),
23527            ATTR_REFE       =SIMP(statut='o',typ='TXM' ),
23528            REFERENCE       =SIMP(statut='f',typ='TXM',
23529                                  into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
23530            b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'", 
23531              VERSION         =SIMP(statut='f',typ='TXM' ),
23532            ),
23533          ),
23534          TABL_INTSP      =FACT(statut='f',max='**',
23535                                fr="Tester la valeur d une fonction contenue dans une table interspectrale",
23536            regles=(UN_PARMI('NUME_ORDRE_I','NOEUD_I'),),
23537            INTE_SPEC       =SIMP(statut='o',typ=table_fonction),
23538            NOEUD_I         =SIMP(statut='f',typ=no),
23539            NUME_ORDRE_I    =SIMP(statut='f',typ='I' ),
23540            b_nume_ordre_i = BLOC (condition = "NUME_ORDRE_I != None", 
23541              NUME_ORDRE_J    =SIMP(statut='o',typ='I' ),
23542            ),
23543            b_noeud_i = BLOC (condition = "NOEUD_I != None",             
23544              NOEUD_J         =SIMP(statut='o',typ=no),
23545              NOM_CMP_I       =SIMP(statut='o',typ='TXM' ),
23546              NOM_CMP_J       =SIMP(statut='o',typ='TXM' ),
23547            ),
23548            NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),
23549            VALE_PARA       =SIMP(statut='o',typ='R' ),
23550            VALE_REFE_C     =SIMP(statut='o',typ='C',max='**' ),
23551            CRITERE         =SIMP(statut='f',typ='TXM',fr="Critère de comparaison avec la solution de référence",
23552                                  defaut="RELATIF",into=("RELATIF","ABSOLU") ),
23553            PRECISION       =SIMP(statut='f',typ='R',fr="Ecart maximal autorisé avec la solution de référence",
23554                                  defaut= 1.E-3 ),
23555            REFERENCE       =SIMP(statut='f',typ='TXM',
23556                                  into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
23557            b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'", 
23558              VERSION         =SIMP(statut='f',typ='TXM' ),
23559            ),
23560          ),
23561 )  ;
23562 #& MODIF COMMANDE  DATE 10/10/2006   AUTEUR REZETTE C.REZETTE 
23563 # RESPONSABLE VABHHTS J.PELLET
23564 #            CONFIGURATION MANAGEMENT OF EDF VERSION
23565 # ======================================================================
23566 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
23567 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
23568 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
23569 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
23570 # (AT YOUR OPTION) ANY LATER VERSION.
23571 #
23572 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
23573 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
23574 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
23575 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
23576 #
23577 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
23578 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
23579 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
23580 #
23581 #
23582 # ======================================================================
23583 TEST_RESU=PROC(nom="TEST_RESU",op=23,
23584             UIinfo={"groupes":("Impression",)},
23585          fr="Extraction d'une valeur d'une structure de donnée et comparaison à une valeur de référence",
23586          regles=(AU_MOINS_UN('CHAM_NO','CHAM_ELEM','RESU','GENE','OBJET')),
23587
23588          CHAM_NO         =FACT(statut='f',max='**',
23589            regles=(UN_PARMI('NOEUD','GROUP_NO','TYPE_TEST'),
23590                    EXCLUS('NOEUD','GROUP_NO'),
23591                    PRESENT_PRESENT('NOEUD','NOM_CMP'),
23592                    PRESENT_PRESENT( 'GROUP_NO','NOM_CMP'),
23593                    UN_PARMI('VALE','VALE_I','VALE_C'),),
23594            CHAM_GD         =SIMP(statut='o',typ=cham_no_sdaster),
23595            NOEUD           =SIMP(statut='f',typ=no   ),
23596            GROUP_NO        =SIMP(statut='f',typ=grno ),
23597            NOM_CMP         =SIMP(statut='f',typ='TXM'),
23598            TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN")),
23599            VALE            =SIMP(statut='f',typ='R',max='**'),
23600            VALE_I          =SIMP(statut='f',typ='I',max='**'),
23601            VALE_C          =SIMP(statut='f',typ='C',max='**'),
23602            VALE_ABS        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
23603            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
23604            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
23605            REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
23606                                                             "NON_REGRESSION","AUTRE_ASTER")),
23607            VERSION         =SIMP(statut='f',typ='TXM'),
23608          ),
23609
23610          CHAM_ELEM       =FACT(statut='f',max='**',
23611            regles=(UN_PARMI('MAILLE','TYPE_TEST',),
23612                    EXCLUS('NOEUD','GROUP_NO','POINT'),
23613                    PRESENT_PRESENT('NOEUD','NOM_CMP'),
23614                    PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
23615                    PRESENT_PRESENT('POINT','NOM_CMP'),
23616                    UN_PARMI('VALE','VALE_I','VALE_C'), ),
23617            CHAM_GD         =SIMP(statut='o',typ=cham_elem),
23618            MAILLE          =SIMP(statut='f',typ=ma),
23619            POINT           =SIMP(statut='f',typ='I' ),
23620            SOUS_POINT      =SIMP(statut='f',typ='I'),
23621            NOEUD           =SIMP(statut='f',typ=no),
23622            GROUP_NO        =SIMP(statut='f',typ=grno),
23623            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
23624            TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN") ),
23625            VALE            =SIMP(statut='f',typ='R',max='**' ),
23626            VALE_I          =SIMP(statut='f',typ='I',max='**' ),
23627            VALE_C          =SIMP(statut='f',typ='C',max='**' ),
23628            VALE_ABS        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
23629            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
23630            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
23631            REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
23632                                                             "NON_REGRESSION","AUTRE_ASTER") ),
23633            VERSION         =SIMP(statut='f',typ='TXM' ),
23634          ),
23635
23636          RESU            =FACT(statut='f',max='**',
23637            regles=(UN_PARMI('NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGL'),
23638                    UN_PARMI('NOM_CHAM','PARA'),
23639                    PRESENT_ABSENT('PARA','NOEUD','GROUP_NO','POINT','NOM_CMP','TYPE_TEST'),
23640                    PRESENT_PRESENT('NOM_CMP','NOM_CHAM'),
23641                    EXCLUS('NOEUD','GROUP_NO','POINT','TYPE_TEST'),
23642                    PRESENT_PRESENT('NOEUD','NOM_CMP'),
23643                    PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
23644                    PRESENT_PRESENT('POINT','NOM_CMP'),
23645                    UN_PARMI('VALE','VALE_I','VALE_C'),
23646                    DERIVABLE('RESULTAT'),),
23647            RESULTAT        =SIMP(statut='o',typ=resultat_sdaster),
23648            SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),
23649                                  fr="Paramètre de sensibilité.",
23650                                  ang="Sensitivity parameter"),
23651            NUME_ORDRE      =SIMP(statut='f',typ='I'),
23652            INST            =SIMP(statut='f',typ='R'),
23653            FREQ            =SIMP(statut='f',typ='R'),
23654            NUME_MODE       =SIMP(statut='f',typ='I'),
23655            NOEUD_CMP       =SIMP(statut='f',typ='TXM',min=2,max=2),
23656            NOM_CAS         =SIMP(statut='f',typ='TXM'),
23657            ANGL            =SIMP(statut='f',typ='R'),
23658            PARA            =SIMP(statut='f',typ='TXM'),
23659            NOM_CHAM        =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()),
23660            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
23661            MAILLE          =SIMP(statut='f',typ=ma   ,max='**'),
23662            NOEUD           =SIMP(statut='f',typ=no   ,max='**'),
23663            GROUP_NO        =SIMP(statut='f',typ=grno ,max='**'),
23664            POINT           =SIMP(statut='f',typ='I'),
23665            SOUS_POINT      =SIMP(statut='f',typ='I'),
23666            TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN")),
23667            VALE            =SIMP(statut='f',typ='R',max='**'),
23668            VALE_I          =SIMP(statut='f',typ='I',max='**'),
23669            VALE_C          =SIMP(statut='f',typ='C',max='**'),
23670            VALE_ABS        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
23671            CRITERE         =SIMP(statut='f',typ='TXM',into=("RELATIF","ABSOLU"),max=2),
23672            PRECISION       =SIMP(statut='f',typ='R',max=2),
23673            REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
23674                                                             "NON_REGRESSION","AUTRE_ASTER",) ),
23675            VERSION         =SIMP(statut='f',typ='TXM' ),
23676          ),
23677
23678          GENE            =FACT(statut='f',max='**',
23679            regles=(UN_PARMI('VALE','VALE_I','VALE_C') ,),
23680            RESU_GENE       =SIMP(statut='o',typ=(vect_asse_gene, tran_gene, mode_gene, harm_gene)),
23681            b_vect_asse     =BLOC(condition = "AsType(RESU_GENE) == vect_asse_gene",
23682              NUME_CMP_GENE   =SIMP(statut='o',typ='I'),
23683            ),
23684            b_mode          =BLOC(condition = "(AsType(RESU_GENE) == harm_gene) or (AsType(RESU_GENE) == mode_gene)",
23685                             regles=(UN_PARMI('NUME_ORDRE','FREQ','NUME_MODE'),
23686                                     UN_PARMI('NOM_CHAM','PARA'),
23687                                     PRESENT_PRESENT('NOM_CHAM','NUME_CMP_GENE'),),
23688              NOM_CHAM        =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()),
23689              NUME_CMP_GENE   =SIMP(statut='f',typ='I'),
23690              PARA            =SIMP(statut='f',typ='TXM'),
23691              NUME_ORDRE      =SIMP(statut='f',typ='I'),
23692              NUME_MODE       =SIMP(statut='f',typ='I'),
23693              FREQ            =SIMP(statut='f',typ='R'),
23694            ),
23695            b_tran          =BLOC(condition = "AsType(RESU_GENE) == tran_gene",
23696                             regles=(UN_PARMI('NUME_ORDRE','INST') ,),
23697              NOM_CHAM        =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()),
23698              NUME_CMP_GENE   =SIMP(statut='o',typ='I'),
23699              NUME_ORDRE      =SIMP(statut='f',typ='I'),
23700              INST            =SIMP(statut='f',typ='R'),
23701            ),
23702            VALE            =SIMP(statut='f',typ='R',max='**'),
23703            VALE_I          =SIMP(statut='f',typ='I',max='**'),
23704            VALE_C          =SIMP(statut='f',typ='C',max='**'),
23705            VALE_ABS        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
23706            CRITERE         =SIMP(statut='f',typ='TXM',into=("RELATIF","ABSOLU"),max=2),
23707            PRECISION       =SIMP(statut='f',typ='R',max=2),
23708            REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
23709                                                             "NON_REGRESSION","AUTRE_ASTER",) ),
23710            VERSION         =SIMP(statut='f',typ='TXM' ),
23711          ),
23712
23713          OBJET           =FACT(statut='f',max='**',
23714            regles=(UN_PARMI('S_I','S_R','RESUME',),
23715                    UN_PARMI('VALE','VALE_I','VALE_C','RESUME','S_R','S_I'),),
23716            NOM             =SIMP(statut='o',typ='TXM'),
23717            S_R             =SIMP(statut='f',typ='R'),
23718            S_I             =SIMP(statut='f',typ='I'),
23719            RESUME          =SIMP(statut='f',typ='I'),
23720            VALE            =SIMP(statut='f',typ='R'),
23721            VALE_I          =SIMP(statut='f',typ='I'),
23722            VALE_C          =SIMP(statut='f',typ='C'),
23723            VALE_ABS        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
23724            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
23725            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
23726            REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
23727                                                             "NON_REGRESSION","AUTRE_ASTER",) ),
23728            VERSION         =SIMP(statut='f',typ='TXM' ),
23729          ),
23730 )  ;
23731 #& MODIF COMMANDE  DATE 17/04/2007   AUTEUR COURTOIS M.COURTOIS 
23732 #            CONFIGURATION MANAGEMENT OF EDF VERSION
23733 # ======================================================================
23734 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
23735 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
23736 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
23737 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
23738 # (AT YOUR OPTION) ANY LATER VERSION.                                 
23739 #
23740 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
23741 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
23742 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
23743 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
23744 #
23745 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
23746 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
23747 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
23748 # ======================================================================
23749 # RESPONSABLE VABHHTS J.PELLET
23750 TEST_TABLE=PROC(nom="TEST_TABLE",op= 177,
23751             UIinfo={"groupes":("Impression",)},
23752          fr="Tester une cellule ou une colonne d'une table",
23753          regles=(UN_PARMI('VALE','VALE_I','VALE_C', ),
23754                  DERIVABLE('TABLE'),),
23755 #  concept table_sdaster à tester
23756          TABLE           =SIMP(statut='o',typ=table_sdaster),
23757
23758          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),
23759                                  fr="Paramètre de sensibilité.",
23760                                  ang="Sensitivity parameter"),
23761          FILTRE          =FACT(statut='f',max='**',
23762            NOM_PARA        =SIMP(statut='o',typ='TXM' ),
23763            CRIT_COMP       =SIMP(statut='f',typ='TXM',defaut="EQ",
23764                                  into=("EQ","LT","GT","NE","LE","GE","VIDE",
23765                                        "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI") ),
23766            b_vale          =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
23767               regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
23768               VALE            =SIMP(statut='f',typ='R',),
23769               VALE_I          =SIMP(statut='f',typ='I',),
23770               VALE_C          =SIMP(statut='f',typ='C',),
23771               VALE_K          =SIMP(statut='f',typ='TXM' ),),
23772
23773            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
23774            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
23775          ),
23776          TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN") ),
23777          NOM_PARA        =SIMP(statut='o',typ='TXM' ),
23778          VALE            =SIMP(statut='f',typ='R',max='**' ),
23779          VALE_I          =SIMP(statut='f',typ='I',max='**' ),
23780          VALE_C          =SIMP(statut='f',typ='C',max='**' ),
23781          VALE_ABS        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
23782          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
23783          PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
23784          REFERENCE       =SIMP(statut='f',typ='TXM',
23785                                into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
23786          b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'",
23787              VERSION         =SIMP(statut='f',typ='TXM' ),
23788          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
23789          ),
23790 )  ;
23791 #& MODIF COMMANDE  DATE 13/12/2006   AUTEUR PELLET J.PELLET 
23792 #            CONFIGURATION MANAGEMENT OF EDF VERSION
23793 # ======================================================================
23794 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
23795 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
23796 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
23797 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
23798 # (AT YOUR OPTION) ANY LATER VERSION.
23799 #
23800 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
23801 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
23802 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
23803 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
23804 #
23805 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
23806 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
23807 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
23808 # ======================================================================
23809 THER_LINEAIRE=OPER(nom="THER_LINEAIRE",op=25,sd_prod=evol_ther,reentrant='f',
23810             UIinfo={"groupes":("Résolution",)},
23811                    fr="Résoudre un problème thermique linéaire stationnaire ou transitoire",
23812          regles=(CONCEPT_SENSIBLE('ENSEMBLE'),),
23813          MODELE          =SIMP(statut='o',typ=modele_sdaster),
23814          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
23815          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
23816          EXCIT           =FACT(statut='o',max='**',
23817            CHARGE          =SIMP(statut='o',typ=(char_ther,char_cine_ther)),
23818            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
23819          ),
23820          INCREMENT       =FACT(statut='f',
23821            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster ),
23822            NUME_INIT       =SIMP(statut='f',typ='I'),
23823            NUME_FIN        =SIMP(statut='f',typ='I'),
23824          ),
23825          TEMP_INIT       =FACT(statut='f',
23826            regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),),
23827            STATIONNAIRE    =SIMP(statut='f',typ='TXM',into=("OUI",) ),
23828            EVOL_THER       =SIMP(statut='f',typ=evol_ther),
23829            CHAM_NO         =SIMP(statut='f',typ=cham_no_sdaster),
23830            VALE            =SIMP(statut='f',typ='R'),
23831            NUME_INIT       =SIMP(statut='f',typ='I'),
23832          ),
23833          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
23834                                fr="Liste des paramètres de sensibilité.",
23835                                ang="List of sensitivity parameters",
23836          ),
23837            SENS_INIT       =FACT(statut='f',
23838              regles=(EXCLUS('STATIONNAIRE','EVOL_THER', ),),
23839              STATIONNAIRE    =SIMP(statut='f',typ='TXM',into=("OUI",) ),
23840              EVOL_THER       =SIMP(statut='f',typ=evol_ther),
23841              NUME_INIT       =SIMP(statut='f',typ='I'),
23842            ),
23843          SOLVEUR         =FACT(statut='d',
23844            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ),
23845            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
23846              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
23847            ),
23848            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
23849              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
23850            ),
23851            b_ldlt_mult      =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
23852                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
23853              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
23854              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
23855            ),
23856            b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
23857              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
23858              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
23859              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
23860              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
23861              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
23862            ),
23863            b_mumps        =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS",
23864              TYPE_RESOL      =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("NONSYM","SYMGEN","SYMDEF","AUTO")),
23865              SCALING         =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("SANS","AUTO")),
23866              RENUM           =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AMD","AMF","PORD","METIS","QAMD","AUTO")),
23867              ELIM_LAGR2      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
23868              PCENT_PIVOT     =SIMP(statut='f',typ='I',defaut=10,),
23869              RESI_RELA       =SIMP(statut='f',typ='R',defaut=1.E-6,),
23870              ),
23871          ),
23872          PARM_THETA      =SIMP(statut='f',typ='R',defaut= 0.57),
23873          ARCHIVAGE       =FACT(statut='f',
23874            regles=(UN_PARMI('LIST_ARCH','PAS_ARCH','LIST_INST','INST'),),
23875            LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster),
23876            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
23877            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
23878            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
23879            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",
23880                                  into=("RELATIF","ABSOLU")),
23881            PAS_ARCH        =SIMP(statut='f',typ='I'),
23882            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',into=("VARI",)),
23883          ),
23884          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
23885          INFO            =SIMP(statut='f',typ='I',into=(1,2)),
23886 )  ;
23887 #& MODIF COMMANDE  DATE 13/12/2006   AUTEUR PELLET J.PELLET 
23888 #            CONFIGURATION MANAGEMENT OF EDF VERSION
23889 # ======================================================================
23890 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
23891 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
23892 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
23893 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
23894 # (AT YOUR OPTION) ANY LATER VERSION.
23895 #
23896 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
23897 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
23898 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
23899 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
23900 #
23901 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
23902 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
23903 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
23904 # ======================================================================
23905 THER_NON_LINE=OPER(nom="THER_NON_LINE",op= 186,sd_prod=evol_ther,reentrant='f',
23906             UIinfo={"groupes":("Résolution",)},
23907                    fr="Résoudre un problème thermique non linéaire (conditions limites ou comportement matériau)"
23908                       +" stationnaire ou transitoire" ,
23909          regles=(CONCEPT_SENSIBLE('ENSEMBLE'),),
23910          MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
23911          CHAM_MATER      =SIMP(statut='o',typ=(cham_mater) ),
23912          CARA_ELEM       =SIMP(statut='c',typ=(cara_elem) ),
23913          COMP_THER_NL    =FACT(statut='d',max='**',
23914            RELATION        =SIMP(statut='f',typ='TXM',defaut="THER_NL",
23915                                  into=("THER_NL",
23916                                        "THER_HYDR",
23917                                        "SECH_GRANGER",
23918                                        "SECH_MENSI",
23919                                        "SECH_BAZANT",
23920                                        "SECH_NAPPE"
23921                                        ) ),
23922          regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
23923            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
23924            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
23925            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
23926          ),
23927          EVOL_THER_SECH  =SIMP(statut='f',typ=evol_ther),
23928          EXCIT           =FACT(statut='o',max='**',
23929            CHARGE          =SIMP(statut='o',typ=char_ther),
23930            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
23931          ),
23932          INCREMENT       =FACT(statut='f',
23933            LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
23934            NUME_INIT       =SIMP(statut='f',typ='I'),
23935            NUME_FIN        =SIMP(statut='f',typ='I'),
23936          ),
23937          TEMP_INIT       =FACT(statut='f',
23938            regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),),
23939            STATIONNAIRE    =SIMP(statut='f',typ='TXM',into=("OUI",)),
23940            EVOL_THER       =SIMP(statut='f',typ=evol_ther),
23941            CHAM_NO         =SIMP(statut='f',typ=cham_no_sdaster),
23942            VALE            =SIMP(statut='f',typ='R'),
23943            NUME_INIT       =SIMP(statut='f',typ='I'),
23944          ),
23945          NEWTON          =FACT(statut='d',
23946            REAC_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
23947            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
23948            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 0 ),
23949          ),
23950          CONVERGENCE     =FACT(statut='d',
23951            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
23952            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
23953            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
23954          ),
23955          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
23956                                fr="Liste des paramètres de sensibilité.",
23957                                ang="List of sensitivity parameters",
23958          ),
23959          SOLVEUR         =FACT(statut='d',
23960            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ),
23961            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Parametres de la méthode multi frontale",
23962              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
23963            ),
23964            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Parametres de la méthode LDLT",
23965              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
23966            ),
23967            b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
23968                                    fr="Parametres relatifs a la non inversibilité de la matrice a factorise",
23969              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
23970              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
23971            ),
23972            b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Parametres de la méthode du gradient conjugué",
23973              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
23974              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I'  ,defaut= 0 ),
23975              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
23976              RESI_RELA       =SIMP(statut='f',typ='R'  ,defaut= 1.E-6 ),
23977              NMAX_ITER       =SIMP(statut='f',typ='I'  ,defaut= 0 ),
23978            ),
23979            b_mumps        =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS",
23980              TYPE_RESOL      =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("NONSYM","SYMGEN","SYMDEF","AUTO")),
23981              SCALING         =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("SANS","AUTO")),
23982              RENUM           =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AMD","AMF","PORD","METIS","QAMD","AUTO")),
23983              ELIM_LAGR2      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
23984              PCENT_PIVOT     =SIMP(statut='f',typ='I',defaut=10,),
23985              RESI_RELA       =SIMP(statut='f',typ='R',defaut=-1.0,),
23986              ),
23987            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
23988          ),
23989          PARM_THETA      =SIMP(statut='f',typ='R',defaut= 0.57 ),
23990          ARCHIVAGE       =FACT(statut='f',
23991            regles=(UN_PARMI('LIST_ARCH','PAS_ARCH','LIST_INST','INST', ),),
23992            LIST_ARCH       =SIMP(statut='f',typ=(listis_sdaster) ),
23993            LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),
23994            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
23995            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
23996            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
23997            PAS_ARCH        =SIMP(statut='f',typ='I'),
23998            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',into=("VARI",)),
23999          ),
24000          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
24001          OPTION          =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2,
24002                                into=("FLUX_ELGA_TEMP","FLUX_ELNO_TEMP") ),
24003          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
24004
24005 )  ;
24006 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
24007 #            CONFIGURATION MANAGEMENT OF EDF VERSION
24008 # ======================================================================
24009 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
24010 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
24011 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
24012 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
24013 # (AT YOUR OPTION) ANY LATER VERSION.
24014 #
24015 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
24016 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
24017 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
24018 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
24019 #
24020 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
24021 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
24022 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
24023 # ======================================================================
24024 THER_NON_LINE_MO=OPER(nom="THER_NON_LINE_MO",op= 171,sd_prod=evol_ther,
24025                      fr="Résoudre un problème thermique non linéaire (conditions limites ou comportement matériau)"
24026                         +" stationnaire avec chargement mobile",
24027                      reentrant='n',
24028             UIinfo={"groupes":("Résolution",)},
24029          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
24030          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
24031          CARA_ELEM       =SIMP(statut='c',typ=cara_elem ),
24032          EXCIT           =FACT(statut='o',max='**',
24033            CHARGE          =SIMP(statut='o',typ=char_ther ),
24034            FONC_MULT       =SIMP(statut='c',typ=(fonction_sdaster,nappe_sdaster,formule) ),
24035          ),
24036          TEMP_INIT       =FACT(statut='f',
24037            EVOL_THER       =SIMP(statut='f',typ=evol_ther ),
24038            NUME_INIT       =SIMP(statut='f',typ='I',defaut= 0 ),
24039          ),
24040          CONVERGENCE     =FACT(statut='d',
24041            CRIT_TEMP_RELA  =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
24042            CRIT_ENTH_RELA  =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
24043            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
24044            ARRET           =SIMP(statut='c',typ='TXM',defaut="OUI",into=("OUI","NON") ),
24045          ),
24046          SOLVEUR         =FACT(statut='d',
24047            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
24048            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
24049              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
24050            ),
24051            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
24052              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
24053            ),
24054            b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
24055                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
24056              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
24057              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
24058            ),
24059            b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
24060              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
24061              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
24062              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
24063              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
24064              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
24065            ),
24066            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
24067          ),
24068          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
24069          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
24070 )  ;
24071
24072
24073