Salome HOME
CCAR: mise a jour proc distrib
[tools/eficas.git] / Aster / Cata / cata_STA5.py
1 #& MODIF COMMANDE  DATE 10/07/2001   AUTEUR ACBHHCD G.DEVESA 
2 #               CONFIGURATION MANAGEMENT OF EDF VERSION
3 # ======================================================================
4 # COPYRIGHT (C) 1991 - 2001  EDF R&D                    WWW.CODE-ASTER.ORG
5 #               SEE THE FILE "LICENSE.TERMS" FOR INFORMATION ON USAGE AND
6 #               REDISTRIBUTION OF THIS FILE.
7 # ======================================================================
8
9 import Accas
10 from Accas import *
11 from Accas import _F
12
13 import ops
14
15 try:
16   import aster
17 except:
18   pass
19
20 #
21 JdC = JDC_CATA(code='ASTER',
22                execmodul=None,
23                regles = (AU_MOINS_UN('DEBUT','POURSUITE'),
24                          AU_MOINS_UN('FIN'),
25                          A_CLASSER(('DEBUT','POURSUITE'),'FIN')),
26               )
27
28 # Type le plus general
29 class entier(ASSD):pass
30 class reel(ASSD):pass
31 class complexe(ASSD):pass
32 class liste(ASSD):pass
33 class chaine(ASSD):pass
34
35 # Type generaux
36 class no(GEOM):pass
37 class grno(GEOM):pass
38 class ma(GEOM):pass
39 class grma(GEOM):pass
40
41 class table(ASSD):
42   def __getitem__(self,key):
43     return aster.getpara(self.get_name(),"TABLE",key[0],key[1])
44
45 class resultat(ASSD):
46   def __getitem__(self,key):
47     return aster.getpara(self.get_name(),"RESULTAT",key[0],key[1])
48
49 # Autres
50 class affe_carte(ASSD):pass
51 class affe_cham_no(ASSD):pass
52 class affe_char_cine(ASSD):pass
53 class affe_char_cine_f(ASSD):pass
54 class asse_matrice(ASSD):pass
55 class asse_vecteur(ASSD):pass
56 class base_modale(ASSD):pass
57 class cabl_precont(ASSD):pass
58 class calc_cham_elem(ASSD):pass
59 class calc_char_cine(ASSD):pass
60 class calc_char_seisme(ASSD):pass
61
62 class calc_elem(resultat):pass
63
64 class calc_matr_elem(ASSD):pass
65
66 class calc_no(resultat):pass
67
68 class calc_vect_elem(ASSD):pass
69 class cara_elem(ASSD):pass
70 class cara_pout(ASSD):pass
71
72 class carte(ASSD):pass
73 class carte_depl_r(carte):pass
74 class carte_epsi_r(carte):pass
75 class carte_flux_r(carte):pass
76 class carte_geom_r(carte):pass
77 class carte_inst_r(carte):pass
78 class carte_meta_r(carte):pass
79 class carte_neut_f(carte):pass
80 class carte_neut_r(carte):pass
81 class carte_sief_r(carte):pass
82 class carte_temp_f(carte):pass
83 class carte_temp_r(carte):pass
84 class carte_var2_r(carte):pass
85 # ajout JMP 2908
86 class cham_gd(ASSD):pass
87 #class cham_elem(ASSD):pass
88 class cham_elem(cham_gd):pass
89 class cham_elem_crit_r(cham_elem):pass
90 class cham_elem_dbel_r(cham_elem):pass
91 class cham_elem_dommag(cham_elem):pass
92 class cham_elem_ener_r(cham_elem):pass
93 class cham_elem_epsi_c(cham_elem):pass
94 class cham_elem_epsi_r(cham_elem):pass
95 class cham_elem_erreur(cham_elem):pass
96 class cham_elem_flux_r(cham_elem):pass
97 class cham_elem_geom_r(cham_elem):pass
98 class cham_elem_hydr_r(cham_elem):pass
99 class cham_elem_meta_r(cham_elem):pass
100 class cham_elem_neut_r(cham_elem):pass
101 class cham_elem_neut_f(cham_elem):pass
102 class cham_elem_pres_r(cham_elem):pass
103 class cham_elem_sief_c(cham_elem):pass
104 class cham_elem_depl_r(cham_elem):pass
105 class cham_elem_temp_r(cham_elem):pass
106 class cham_elem_sief_r(cham_elem):pass
107 class cham_elem_sour_r(cham_elem):pass
108 class cham_elem_vari_r(cham_elem):pass
109
110 #class cham_gd(ASSD):pass
111 class cham_mater(ASSD):pass
112
113 #class cham_no(ASSD):pass
114 class cham_no(cham_gd):pass
115 class cham_no_depl_c(cham_no):pass
116 class cham_no_depl_f(cham_no):pass
117 class cham_no_depl_r(cham_no):pass
118 class cham_no_epsi_r(cham_no):pass
119 class cham_no_flux_r(cham_no):pass
120 class cham_no_geom_r(cham_no):pass
121 class cham_no_inst_r(cham_no):pass
122 class cham_no_meta_r(cham_no):pass
123 class cham_no_pres_c(cham_no):pass
124 class cham_no_pres_r(cham_no):pass
125 class cham_no_sief_r(cham_no):pass
126 class cham_no_neut_r(cham_no):pass
127 class cham_no_neut_f(cham_no):pass
128 class cham_no_temp_c(cham_no):pass
129 class cham_no_temp_f(cham_no):pass
130 class cham_no_temp_r(cham_no):pass
131 class cham_no_vanl_r(cham_no):pass
132 class cham_no_var2_r(cham_no):pass
133
134 class char_acou(ASSD):pass
135 class char_cine_acou(ASSD):pass
136 class char_cine_meca(ASSD):pass
137 class char_cine_ther(ASSD):pass
138 class char_meca(ASSD):pass
139 class char_ther(ASSD):pass
140 class comb_cham_elem(ASSD):pass
141 class comb_cham_no(ASSD):pass
142 class comb_fourier(resultat):pass
143 class comb_matr_asse(ASSD):pass
144 class courbe(ASSD):pass
145 class crea_resu(ASSD):pass
146 class acou_harmo(resultat):pass
147 class dyna_harmo(resultat):pass
148 class dyna_line_harm(resultat):pass
149 class dyna_trans(resultat):pass
150
151 class evol(resultat):pass
152
153 class evol_char(evol):pass
154 class evol_elas(evol):pass
155 class evol_noli(evol):pass
156 class evol_ther(evol):pass
157
158 class extr_mode(ASSD):pass
159 class extr_resu(ASSD):pass
160 class fact_grad(ASSD):pass
161 class fact_ldlt(ASSD):pass
162 class fonction_c(fonction):pass
163 class fond_fiss(ASSD):pass
164 class fourier_elas(resultat):pass
165 class harm_gene(resultat):pass
166 class interf_dyna_clas(ASSD):pass
167 class interspfact(ASSD):pass
168 class lire_miss_3d(ASSD):pass
169 class lire_resu(ASSD):pass
170 class listis(ASSD):pass
171 class listr8(ASSD):pass
172 class macr_elem_dyna(ASSD):pass
173 class macr_elem_stat(ASSD):pass
174 class macro_elas_mult(ASSD):pass
175 class maillage(ASSD):pass
176 class mater(ASSD):pass
177
178 class matr_asse(ASSD):pass
179 class matr_asse_depl_c(matr_asse):pass
180 class matr_asse_depl_r(matr_asse):pass
181 class matr_asse_gene_c(matr_asse):pass
182 class matr_asse_gene_r(matr_asse):pass
183 class matr_asse_pres_c(matr_asse):pass
184 class matr_asse_pres_r(matr_asse):pass
185 class matr_asse_temp_c(matr_asse):pass
186 class matr_asse_temp_r(matr_asse):pass
187
188 class matr_elem(ASSD):pass
189 class matr_elem_depl_c(matr_elem):pass
190 class matr_elem_depl_r(matr_elem):pass
191 class matr_elem_pres_c(matr_elem):pass
192 class matr_elem_temp_r(matr_elem):pass
193
194 class melasflu(ASSD):pass
195
196 class mode_acou(resultat):pass
197 class mode_cycl(resultat):pass
198 class mode_flamb(resultat):pass
199 class mode_gene(resultat):pass
200 class mode_iter_inv(resultat):pass
201 class mode_meca(resultat):pass
202 class mode_meca_c(mode_meca):pass
203 class mode_stat(resultat):pass
204
205 class modele(ASSD):pass
206 class modele_gene(ASSD):pass
207 class mult_elas(resultat):pass
208 class norm_mode(ASSD):pass
209 class nume_ddl(ASSD):pass
210 class nume_ddl_gene(ASSD):pass
211 class obstacle(ASSD):pass
212 class post_elem(ASSD):pass
213 class prod_matr_cham(ASSD):pass
214 class proj_champ(ASSD):pass
215 class recu_champ(ASSD):pass
216 class reso_grad(ASSD):pass
217 class reso_ldlt(ASSD):pass
218 class rest_base_phys(ASSD):pass
219 class spectre(ASSD):pass
220 class squelette(maillage):pass
221 class surface(ASSD):pass
222
223 class tabl_aire_int(table):pass
224 class tabl_calc_g_loca(table):pass
225 class tabl_calc_g_th(table):pass
226 class tabl_cara_geom(table):pass
227 class tabl_char_limite(table):pass
228 class tabl_ener_elas(table):pass
229 class tabl_ener_pot(table):pass
230 class tabl_ener_cin(table):pass
231 class tabl_ener_totale(table):pass
232 class tabl_fonc(table):pass
233 class tabl_fonc_max(tabl_fonc):pass
234 class tabl_fonc_rms(tabl_fonc):pass
235 class tabl_indic_ener(table):pass
236 class tabl_indic_seuil(table):pass
237 class tabl_intsp(table):pass
238 class tabl_mass_iner(table):pass
239 class tabl_post_alea(table):pass
240 class tabl_post_dyna(table):pass
241 class tabl_post_f_alea(table):pass
242 class tabl_post_fatig(table):pass
243 class tabl_post_gouj2e(table):pass
244 class tabl_post_k(table):pass
245 class tabl_post_rccm(table):pass
246 class tabl_post_rele(table):pass
247 class tabl_post_simpli(table):pass
248 class tabl_post_usur(table):pass
249 class tabl_reca_weib(table):pass
250 class tabl_rice_tracey(table):pass
251 class tabl_texture(table):pass
252 class tabl_trc(table):pass
253 class tabl_weibull(table):pass
254
255 class theta_geom(ASSD):pass
256 class tran_gene(ASSD):pass
257 class type_flui_stru(ASSD):pass
258 class valeur(ASSD):pass
259 class vect_asse(ASSD):pass
260 class vect_asse_gene(vect_asse):pass
261 class vect_elem(ASSD):pass
262 class vect_elem_depl_r(vect_elem):pass
263 class vect_elem_pres_c(vect_elem):pass
264 class vect_elem_pres_r(vect_elem):pass
265 class vect_elem_temp_r(vect_elem):pass
266
267 #& MODIF COMMANDE  DATE 11/09/2000   AUTEUR JMBHH01 J.M.PROIX 
268 AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op=  19,sd_prod=cara_elem,
269                     fr="Affectation de caractéristiques à des éléments de structure (barre, cable, poutre, tuyau, plaque, coque, discret)",
270                     docu="U4.42.01-F",reentrant='n',
271          regles=(AU_MOINS_UN('POUTRE','COQUE','DISCRET','CABLE','BARRE','MASSIF','ASSE_GRIL','GRILLE'),),
272          MODELE          =SIMP(statut='o',typ=modele ),
273          INFO            =SIMP(statut='f',typ='I', defaut= 1 ,into=(1,2) ),
274          VERIF           =SIMP(statut='f',typ='TXM',max='**',into=("MAILLE","NOEUD") ),
275          POUTRE          =FACT(statut='f',min=01,max='**',
276            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
277            MAILLE          =SIMP(statut='f',typ=ma,max='**'), 
278            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'), 
279            SECTION         =SIMP(statut='f',typ='TXM' ,into=("GENERALE","RECTANGLE","CERCLE") ),
280            CARA_SECT       =SIMP(statut='f',typ=(cara_pout) ),
281            b_generale      =BLOC( condition = "SECTION=='GENERALE'",
282              CARA            =SIMP(statut='f',typ='TXM',max='**',
283                                  into=("A","IY","IZ","AY","AZ","EY","EZ","JX","RY","RZ","RT",
284                                                            "AI","JG","IYR2","IZR2","A1",
285                                        "IY1","IZ1","AY1","AZ1","EY1","EZ1","JX1","RY1",
286                                        "RZ1","RT1","AI1","JG1","IYR21","IZR21","A2",
287                                        "IY2","IZ2","AY2","AZ2","EY2","EZ2","JX2","RY2",
288                                        "RZ2","RT2","AI2","JG2","IYR22","IZR22","H",
289                                        "HZ","HY","EP","EPY","EPZ","H1","HZ1","HY1",
290                                        "EP1","EPY1","EPZ1","H2","HZ2","HY2","EP2",
291                                        "EPY2","EPZ2","R","R1","R2") ),
292              VALE            =SIMP(statut='o',typ='R',max='**'),
293              VARI_SECT       =SIMP(statut='f',typ='TXM',into=("HOMOTHETIQUE",) ),
294            ),
295            b_rectangle     =BLOC( condition = "SECTION=='RECTANGLE'",
296              CARA            =SIMP(statut='f',typ='TXM',max='**',
297                                  into=("H","EP","HY","HZ","EPY","EPZ",
298                                                            "H1","HZ1","HY1","EP1","EPY1","EPZ1",
299                                                            "H2","HZ2","HY2","EP2","EPY2","EPZ2") ),
300              VALE            =SIMP(statut='o',typ='R',max='**'),
301              VARI_SECT       =SIMP(statut='f',typ='TXM',into=("HOMOTHETIQUE","AFFINE"),defaut="HOMOTHETIQUE"),
302            ),
303            b_cercle        =BLOC( condition = "SECTION=='CERCLE'",
304              CARA            =SIMP(statut='f',typ='TXM',max='**',
305                                  into=("R","EP","R1","R2","EP1","EP2") ),
306              VALE            =SIMP(statut='o',typ='R',max='**'),
307              VARI_SECT       =SIMP(statut='f',typ='TXM',into=("HOMOTHETIQUE",) ),
308              MODI_METRIQUE   =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
309            ),
310          ),  
311          BARRE           =FACT(statut='f',min=01,max='**',
312            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
313            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
314            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
315            SECTION         =SIMP(statut='o',typ='TXM',into=("GENERALE","RECTANGLE","CERCLE") ),
316            b_generale      =BLOC( condition = "SECTION=='GENERALE'",
317              CARA            =SIMP(statut='f',typ='TXM',into=("A",) ),
318              VALE            =SIMP(statut='o',typ='R' ),
319            ),
320            b_rectangle     =BLOC( condition = "SECTION=='RECTANGLE'",
321              CARA            =SIMP(statut='f',typ='TXM',into=("H","HZ","HY","EPY","EPZ","EP"),max=6 ),
322              VALE            =SIMP(statut='o',typ='R',max=6 ),
323            ),
324            b_cercle        =BLOC( condition = "SECTION=='CERCLE'",
325              CARA            =SIMP(statut='o',typ='TXM',max=2,into=("R","EP") ),
326              VALE            =SIMP(statut='o',typ='R',max=2 ),
327            ),  
328          ), 
329          COQUE           =FACT(statut='f',min=01,max='**',
330            regles=(UN_PARMI('MAILLE','GROUP_MA' ),
331                    PRESENT_PRESENT( 'EXCENTREMENT','INER_ROTA' ),),
332            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
333            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
334            EPAIS           =SIMP(statut='f',typ='R' ),
335            ANGL_REP        =SIMP(statut='f',typ='R',min=2,max=2),
336            A_CIS           =SIMP(statut='f',typ='R',defaut= 0.8333333),
337            COEF_RIGI_DRZ   =SIMP(statut='f',typ='R',defaut= 1.0E-5 ),
338            EXCENTREMENT    =SIMP(statut='f',typ='R' ),
339            INER_ROTA       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
340            MODI_METRIQUE   =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
341          ),
342          CABLE           =FACT(statut='f',min=01,max='**',
343            regles=(UN_PARMI('MAILLE','GROUP_MA'),
344                    UN_PARMI('A','SECTION') ),
345            MAILLE          =SIMP(statut='f',typ=ma,max='**'), 
346            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'), 
347            N_INIT          =SIMP(statut='f',typ='R',defaut= 5000. ),
348            A               =SIMP(statut='f',typ='R' ),
349            SECTION         =SIMP(statut='f',typ='R' ),
350          ),
351          DISCRET         =FACT(statut='f',min=01,max='**',
352            regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
353            NOEUD           =SIMP(statut='f',typ=no,max='**'),
354            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
355            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
356            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
357            REPERE          =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
358            AMOR_HYST       =SIMP(statut='f',typ='R' ),
359            CARA            =SIMP(statut='f',typ='TXM',max='**',
360                                  into=("K_T_D_N","K_T_D_L","K_TR_D_N","K_TR_D_L",
361                                                            "K_T_N",  "K_T_L",  "K_TR_N",  "K_TR_L",
362                                                                 "M_T_D_N","M_TR_D_N","M_T_N",
363                                                            "M_T_L",  "M_TR_N",  "M_TR_L",
364                                        "A_T_D_N","A_TR_D_N","A_T_D_L","A_TR_D_L",
365                                                            "A_T_N",  "A_T_L",   "A_TR_N", "A_TR_L") ),
366            VALE            =SIMP(statut='f',typ='R',max='**'),
367          ),
368          ORIENTATION     =FACT(statut='f',min=01,max='**',
369            regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO' ),),
370            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
371            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
372            NOEUD           =SIMP(statut='f',typ=no,max='**'),
373            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
374            CARA            =SIMP(statut='f',typ='TXM',
375                                  into=("VECT_Y","ANGL_VRIL","VECT_X_Y","ANGL_NAUT","GENE_TUYAU") ),
376            VALE            =SIMP(statut='f',typ='R',max='**'),
377            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-4 ),
378            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
379          ),
380          DEFI_ARC        =FACT(statut='f',min=01,max='**',
381            regles=(UN_PARMI('MAILLE','GROUP_MA'),
382                    UN_PARMI('ORIE_ARC','CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE',
383                             'POIN_TANG','NOEUD_POIN_TANG','GROUP_NO_POIN_TG'),
384                    PRESENT_PRESENT('ORIE_ARC','RAYON'),
385                    EXCLUS('COEF_FLEX','COEF_FLEX_XY'),
386                    EXCLUS('COEF_FLEX','COEF_FLEX_XZ'),
387                    EXCLUS('INDI_SIGM','INDI_SIGM_XY'),
388                    EXCLUS('INDI_SIGM','INDI_SIGM_XZ'),
389                    PRESENT_PRESENT('COEF_FLEX_XY','COEF_FLEX_XZ'),
390                    PRESENT_PRESENT('INDI_SIGM_XY','INDI_SIGM_XZ'),),
391            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
392            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
393            ORIE_ARC        =SIMP(statut='f',typ='R'),
394            CENTRE          =SIMP(statut='f',typ='R',max='**'),
395            NOEUD_CENTRE    =SIMP(statut='f',typ=no,max=1),
396            GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,max=1),
397            POIN_TANG       =SIMP(statut='f',typ='R',max='**'),
398            NOEUD_POIN_TANG =SIMP(statut='f',typ=no,max=1), 
399            GROUP_NO_POIN_TG=SIMP(statut='f',typ=grno,max=1),
400            RAYON           =SIMP(statut='f',typ='R'),
401            COEF_FLEX       =SIMP(statut='f',typ='R'),
402            INDI_SIGM       =SIMP(statut='f',typ='R'),
403            COEF_FLEX_XY    =SIMP(statut='f',typ='R'),
404            INDI_SIGM_XY    =SIMP(statut='f',typ='R'),
405            COEF_FLEX_XZ    =SIMP(statut='f',typ='R'),
406            INDI_SIGM_XZ    =SIMP(statut='f',typ='R'),
407            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
408            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
409          ),
410          MASSIF          =FACT(statut='f',min=01,max='**',
411            regles=(UN_PARMI('MAILLE','GROUP_MA'),
412                    EXCLUS('ANGL_REP','ANGL_AXE'),
413                    EXCLUS('ANGL_REP','ORIG_AXE'),
414                    PRESENT_PRESENT('ANGL_AXE','ORIG_AXE'), ),
415            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
416            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
417            ANGL_REP        =SIMP(statut='f',typ='R',max=3),
418            ANGL_AXE        =SIMP(statut='f',typ='R',max=2),
419            ORIG_AXE        =SIMP(statut='f',typ='R',max=3),
420          ),
421          POUTRE_FLUI     =FACT(statut='f',min=01,max='**',
422            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
423            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
424            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
425            B_T             =SIMP(statut='o',typ='R'),
426            B_N             =SIMP(statut='o',typ='R'),
427            B_TN            =SIMP(statut='o',typ='R',defaut= 0.E+0 ),
428            A_FLUI          =SIMP(statut='o',typ='R'),
429            A_CELL          =SIMP(statut='o',typ='R'),
430            COEF_ECHELLE    =SIMP(statut='o',typ='R'),
431          ),
432          GRILLE          =FACT(statut='f',min=01,max='**',
433            regles=(UN_PARMI('MAILLE','GROUP_MA'),
434                    EXCLUS('ANGL_REP','ORIG_AXE'),
435                    ENSEMBLE('ORIG_AXE','AXE')),
436            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
437            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
438            SECTION_L       =SIMP(statut='o',typ='R'),
439            ANGL_REP        =SIMP(statut='f',typ='R',max=2),
440            ANGL_L          =SIMP(statut='f',typ='R'),
441            POUR_CENT_L     =SIMP(statut='f',typ='R'),
442            POUR_CENT_T     =SIMP(statut='f',typ='R'),
443            DIST_N          =SIMP(statut='f',typ='R'),
444            ORIG_AXE        =SIMP(statut='f',typ='R',max='**'),
445            AXE             =SIMP(statut='f',typ='R',max='**'),
446            COEF_RIGI_DRZ   =SIMP(statut='f',typ='R',defaut= 1.0E-10 ),
447          ),
448          RIGI_PARASOL    =FACT(statut='f',min=01,max='**',
449            regles=(UN_PARMI('COEF_GROUP','FONC_GROUP'),
450                    UN_PARMI('COOR_CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE'),),
451            GROUP_MA        =SIMP(statut='o',typ=ma,max='**'),
452            FONC_GROUP      =SIMP(statut='f',typ=(fonction) ),
453            COEF_GROUP      =SIMP(statut='f',typ='R',max='**'),
454            REPERE          =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
455            CARA            =SIMP(statut='o',typ='TXM',max='**',into=("K_TR_D_N","A_TR_D_N") ),
456            VALE            =SIMP(statut='o',typ='R',max='**'),
457            GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
458            NOEUD_CENTRE    =SIMP(statut='f',typ=no),
459            COOR_CENTRE     =SIMP(statut='f',typ='R',max='**'),
460          ),
461          ASSE_GRIL       =FACT(statut='f',min=01,max='**',
462            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
463            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
464            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
465            CARA            =SIMP(statut='o',typ='TXM',max='**',
466                                  into=("K_TR_D_N","K_TR_D_L_T","K_TR_D_L_N",) ),
467            VALE            =SIMP(statut='o',typ='R',max='**'),
468            PAS_T           =SIMP(statut='o',typ='R'),
469            PAS_N           =SIMP(statut='o',typ='R'),
470            ANGL_REP        =SIMP(statut='o',typ='R',max='**'),
471            COEF_ECHELLE    =SIMP(statut='o',typ='R'),
472          ),
473 ) ;
474 #& MODIF COMMANDE  DATE 24/05/2000   AUTEUR VABHHTS J.PELLET
475 def affe_carte_prod(GRANDEUR,**args):
476   if GRANDEUR == "TEMP_R" : return carte_temp_r
477   if GRANDEUR == "FLUX_R" : return carte_flux_r
478   if GRANDEUR == "DEPL_R" : return carte_depl_r
479   if GRANDEUR == "EPSI_R" : return carte_epsi_r
480   if GRANDEUR == "SIEF_R" : return carte_sief_r
481   if GRANDEUR == "META_R" : return carte_meta_r
482   if GRANDEUR == "NEUT_R" : return carte_neut_r
483   if GRANDEUR == "VAR2_R" : return carte_var2_r
484   if GRANDEUR == "TEMP_F" : return carte_temp_f
485   if GRANDEUR == "NEUT_F" : return carte_neut_f
486   if GRANDEUR == "INST_R" : return carte_inst_r
487   if GRANDEUR == "GEOM_R" : return carte_geom_r
488   raise AsException("type de concept resultat non prevu")
489
490 AFFE_CARTE=OPER(nom="AFFE_CARTE",op=  36,sd_prod=affe_carte_prod,
491                 fr="Définition d un champ de grandeur constant, qui peut ensuite être utilisé comme champ initial (par exemple une précontrainte en mécanique)",
492                 docu="U4.44.13-C",reentrant='n',
493          MAILLAGE        =SIMP(statut='o',typ=maillage ),
494          GRANDEUR        =SIMP(statut='o',typ='TXM',     
495                                into=("DEPL_R","EPSI_R","SIEF_R","VAR2_R",        
496                                      "TEMP_R","META_R","TEMP_F","FLUX_R",
497                                      "NEUT_R","NEUT_F","INST_R","GEOM_R",) ),
498          AFFE            =FACT(statut='o',min=01,max='**',
499            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
500            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
501            GROUP_MA        =SIMP(statut='f',typ=grma),
502            MAILLE          =SIMP(statut='f',typ=ma  ),
503            NOM_CMP         =SIMP(statut='o',typ='TXM',max='**' ),  
504            VALE            =SIMP(statut='f',typ='R',max='**' ),  
505            VALE_I          =SIMP(statut='f',typ='I',max='**' ),  
506            VALE_C          =SIMP(statut='f',typ='C',max='**' ),  
507            VALE_F          =SIMP(statut='f',typ=fonction),
508          ),
509 )  ;
510 #& MODIF COMMANDE  DATE 31/05/2000   AUTEUR CIBHHLV L.VIVAN
511
512 def affe_cham_no_prod(CHAM_NO_AFFE,GRANDEUR,**args):
513   if GRANDEUR == "TEMP_R" : return cham_no_temp_r
514   if GRANDEUR == "TEMP_F" : return cham_no_temp_f
515   if GRANDEUR == "DEPL_R" : return cham_no_depl_r
516   if GRANDEUR == "DEPL_F" : return cham_no_depl_f
517   if GRANDEUR == "SIEF_R" : return cham_no_sief_r
518   if GRANDEUR == "NEUT_R" : return cham_no_neut_r
519   if GRANDEUR == "NEUT_F" : return cham_no_neut_f
520   if GRANDEUR == "INST_R" : return cham_no_inst_r
521   if GRANDEUR == "GEOM_R" : return cham_no_geom_r
522   if GRANDEUR == "VAR2_R" : return cham_no_var2_r
523   if AsType(CHAM_NO_AFFE) == cham_no_temp_r : return cham_no_temp_r
524   if AsType(CHAM_NO_AFFE) == cham_no_depl_r : return cham_no_depl_r
525   if AsType(CHAM_NO_AFFE) == cham_no_sief_r : return cham_no_sief_r
526   raise AsException("type de concept resultat non prevu")
527
528 AFFE_CHAM_NO=OPER(nom="AFFE_CHAM_NO",op=  52,sd_prod=affe_cham_no_prod
529                     ,fr="Affectation de grandeurs réelles pour créer un cham_no_*",
530                      docu="U4.44.11-F",reentrant='n',
531          regles=(UN_PARMI('MAILLAGE','CHAM_NO_AFFE'),
532                  PRESENT_PRESENT('MAILLAGE','GRANDEUR','AFFE'),
533                  EXCLUS('NUME_DDL','CHAM_NO'),),
534          CHAM_NO_AFFE    =SIMP(statut='f',typ=(cham_no_temp_r,cham_no_temp_f,cham_no_depl_r,
535                                                cham_no_depl_f,cham_no_sief_r ) ),
536          MAILLAGE        =SIMP(statut='f',typ=maillage ),
537          GRANDEUR        =SIMP(statut='f',typ='TXM',into=("TEMP_R","DEPL_R","SIEF_R","VAR2_R",
538                                                           "TEMP_F","DEPL_F","INST_R","GEOM_R",
539                                                           "NEUT_R","NEUT_F") ),
540          AFFE            =FACT(statut='f',min=01,max='**',
541            regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'),
542                    UN_PARMI('VALE','VALE_F','VALE_R','FONCTION'),),           
543            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
544            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
545            NOEUD           =SIMP(statut='f',typ=no,max='**'),
546 #  NOM_CMP est il obligatoire           
547            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
548            VALE_R          =SIMP(statut='f',typ='R',max='**',defaut= 0.E+0 ),
549            VALE            =SIMP(statut='f',typ='R',max='**'),
550            VALE_F          =SIMP(statut='f',typ=fonction,max='**'),
551            FONCTION        =SIMP(statut='f',typ=fonction,max='**'),
552          ),
553          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
554          NUME_DDL        =SIMP(statut='f',typ=nume_ddl ),
555          CHAM_NO         =SIMP(statut='f',typ=(cham_no_temp_r,cham_no_temp_f,cham_no_depl_r,
556                                                cham_no_depl_f,cham_no_sief_r ) ),
557 )  ;
558 #& MODIF COMMANDE  DATE 12/05/99   AUTEUR VABHHTS J.PELLET
559 AFFE_CHAR_ACOU=OPER(nom="AFFE_CHAR_ACOU",op=  68,sd_prod=char_acou,
560                     fr="Affectation de charges et conditions aux limites acoustiques constantes",
561                     docu="U4.44.04-E",reentrant='n',
562          regles=(AU_MOINS_UN('PRES_IMPO','VITE_FACE','IMPE_FACE','LIAISON_UNIF' ),),
563          MODELE          =SIMP(statut='o',typ=modele ),
564          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
565          TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400.,),
566          PRES_IMPO       =FACT(statut='f',min=01,max='**',
567            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
568            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
569            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
570            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
571            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
572            NOEUD           =SIMP(statut='f',typ=no,max='**'),
573            PRES            =SIMP(statut='o',typ='C' ),
574          ),
575          VITE_FACE       =FACT(statut='f',min=01,max='**',
576            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE' ),),
577            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
578            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
579            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
580            VNOR            =SIMP(statut='o',typ='C' ),
581          ),
582          IMPE_FACE       =FACT(statut='f',min=01,max='**',
583            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE' ),),
584            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
585            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
586            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
587            IMPE            =SIMP(statut='o',typ='C' ),
588          ),
589          LIAISON_UNIF    =FACT(statut='f',min=01,max='**',
590            regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE' ),),
591            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
592            NOEUD           =SIMP(statut='f',typ=no,max='**'),
593            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
594            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
595            DDL             =SIMP(statut='o',typ='TXM',max='**'),
596          ),
597 )  ;
598 #& MODIF COMMANDE  DATE 11/02/98   AUTEUR CIBHHLV L.VIVAN
599 def affe_char_cine_prod(MECA_IMPO,THER_IMPO,ACOU_IMPO,**args):
600   if MECA_IMPO != None  : return char_cine_meca
601   if THER_IMPO != None  : return char_cine_ther
602   if ACOU_IMPO != None  : return char_cine_acou
603   raise AsException("type de concept resultat non prevu")
604
605 AFFE_CHAR_CINE=OPER(nom="AFFE_CHAR_CINE",op= 101,sd_prod=affe_char_cine_prod
606                     ,fr="Affectation de conditions aux limites cinématiques pour traitement sans dualisation",
607                      docu="U4.44.03-E",reentrant='n',
608          regles=(AU_MOINS_UN('MECA_IMPO','THER_IMPO','ACOU_IMPO'),
609                  EXCLUS('MECA_IMPO','THER_IMPO'),
610                  EXCLUS('MECA_IMPO','ACOU_IMPO'),
611                  EXCLUS('THER_IMPO','ACOU_IMPO'),),
612          MODELE          =SIMP(statut='o',typ=modele ),
613          MECA_IMPO       =FACT(statut='f',min=01,max='**',
614            regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'),
615                    AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','TEMP','PHI'),),
616            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
617            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
618            NOEUD           =SIMP(statut='f',typ=no,max='**'),
619            DX              =SIMP(statut='f',typ='R' ),
620            DY              =SIMP(statut='f',typ='R' ),
621            DZ              =SIMP(statut='f',typ='R' ),
622            DRX             =SIMP(statut='f',typ='R' ),
623            DRY             =SIMP(statut='f',typ='R' ),
624            DRZ             =SIMP(statut='f',typ='R' ),
625            GRX             =SIMP(statut='f',typ='R' ),
626            PRES            =SIMP(statut='f',typ='R' ),
627            TEMP            =SIMP(statut='f',typ='R' ),
628            PHI             =SIMP(statut='f',typ='R' ),
629          ),
630          THER_IMPO       =FACT(statut='f',min=01,max='**',
631            regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'),
632                    AU_MOINS_UN('TEMP','TEMP_INF','TEMP_SUP'),),
633            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
634            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
635            NOEUD           =SIMP(statut='f',typ=no,max='**'),
636            TEMP_SUP        =SIMP(statut='f',typ='R' ),
637            TEMP            =SIMP(statut='f',typ='R' ),
638            TEMP_INF        =SIMP(statut='f',typ='R' ),
639          ),
640          ACOU_IMPO       =FACT(statut='f',min=01,max='**',
641            regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD' ),),
642            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
643            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
644            NOEUD           =SIMP(statut='f',typ=no,max='**'),
645            PRES            =SIMP(statut='o',typ='C' ),
646          ),
647          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
648 )  ;
649 #& MODIF COMMANDE  DATE 11/02/98   AUTEUR CIBHHLV L.VIVAN
650 def affe_char_cine_f_prod(MECA_IMPO,THER_IMPO,**args):
651   if MECA_IMPO != None  : return char_cine_meca
652   if THER_IMPO != None  : return char_cine_ther
653   raise AsException("type de concept resultat non prevu")
654
655 AFFE_CHAR_CINE_F=OPER(nom="AFFE_CHAR_CINE_F",op= 108,sd_prod=affe_char_cine_f_prod
656                     ,fr="Affectation de conditions aux limites cinématiques pour traitement sans dualisation",
657                      docu="U4.44.03-E",reentrant='n',
658          regles=(AU_MOINS_UN('MECA_IMPO','THER_IMPO'),
659                  EXCLUS('MECA_IMPO','THER_IMPO'),),
660          MODELE          =SIMP(statut='o',typ=modele ),
661          MECA_IMPO       =FACT(statut='f',min=01,max='**',
662            regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'),
663                    AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','TEMP','PHI'),),
664            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
665            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
666            NOEUD           =SIMP(statut='f',typ=no,max='**'),
667            DX              =SIMP(statut='f',typ=fonction ),
668            DY              =SIMP(statut='f',typ=fonction ),
669            DZ              =SIMP(statut='f',typ=fonction ),
670            DRX             =SIMP(statut='f',typ=fonction ),
671            DRY             =SIMP(statut='f',typ=fonction ),
672            DRZ             =SIMP(statut='f',typ=fonction ),
673            GRX             =SIMP(statut='f',typ=fonction ),
674            PRES            =SIMP(statut='f',typ=fonction ),
675            TEMP            =SIMP(statut='f',typ=fonction ),
676            PHI             =SIMP(statut='f',typ=fonction ),
677          ),
678          THER_IMPO       =FACT(statut='f',min=01,max='**',
679            regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'),
680                    AU_MOINS_UN('TEMP','TEMP_INF','TEMP_SUP' ),),
681            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
682            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
683            NOEUD           =SIMP(statut='f',typ=no,max='**'),
684            TEMP_SUP        =SIMP(statut='f',typ=fonction ),
685            TEMP            =SIMP(statut='f',typ=fonction ),
686            TEMP_INF        =SIMP(statut='f',typ=fonction ),
687          ),
688          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
689 )  ;
690 #& MODIF COMMANDE  DATE 03/10/2000   AUTEUR UFBHHLL C.CHAVANT 
691 AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca
692                     ,fr="Affectation de charges et conditions aux limites mécaniques constantes",
693                      docu="U4.44.01-F",reentrant='n',
694          regles=(AU_MOINS_UN('DDL_IMPO','FACE_IMPO','LIAISON_DDL','FORCE_NODALE',  
695                              'FORCE_FACE','FORCE_ARETE','FORCE_CONTOUR','FORCE_INTERNE',       
696                              'PRES_REP','FORCE_POUTRE','FORCE_COQUE','LIAISON_OBLIQUE',        
697                              'FORCE_ELEC','INTE_ELEC','PESANTEUR','ROTATION','IMPE_FACE',      
698                              'VITE_FACE','TEMP_CALCULEE','RELA_CINE_BP','EPSI_INIT','CONTACT', 
699                              'LIAISON_UNIL_NO','LIAISON_GROUP','LIAISON_UNIF','FLUX_THM_REP',  
700                              'LIAISON_SOLIDE','LIAISON_ELEM','ONDE_FLUI','PRES_CALCULEE',      
701                              'EPSA_CALCULEE','LIAISON_CHAMNO','VECT_ASSE','LIAISON_COQUE',     
702                              'LIAISON_MAIL','FORCE_TUYAU','SECH_CALCULEE','HYDR_CALCULEE',     
703                              'EFFE_FOND'),
704                  EXCLUS('LIAISON_UNIL_NO','CONTACT'),),            
705          
706          MODELE          =SIMP(statut='o',typ=(modele) ),
707          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
708          VERI_NORM       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
709          TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400. ),
710          PESANTEUR       =SIMP(statut='f',typ='R',fr="Champ de pesanteur",min=04,max=04),
711          ROTATION        =SIMP(statut='f',typ='R',fr="Champ de rotation",min=04,max=04),
712          b_rotation      =BLOC ( condition = "ROTATION != None",
713            CENTRE          =SIMP(statut='f',typ='R',defaut=(0.,0.,0.),max=03),    
714          ),     
715          PRES_CALCULEE   =SIMP(statut='f',fr="Champ de pression issu d un autre calcul",typ=evol_char ),
716          TEMP_CALCULEE   =SIMP(statut='f',fr="Champ de température issu d un autre calcul",typ=(evol_ther,cham_no_temp_r,carte_temp_r,carte_temp_f ) ),
717          HYDR_CALCULEE   =SIMP(statut='f',fr="Champ d hydratation issu d un autre calcul",typ=evol_ther ),
718          SECH_CALCULEE   =SIMP(statut='f',fr="Champ de séchage issu d un autre calcul",typ=(evol_ther,cham_no_temp_r,carte_temp_r,carte_temp_f ) ),
719          EPSA_CALCULEE   =SIMP(statut='f',fr="Champ de déformation anélastique issu d un autre calcul",typ=evol_noli ),
720          VECT_ASSE       =SIMP(statut='f',typ=cham_no_depl_r ),
721          
722            DDL_IMPO        =FACT(statut='f',min=01,max='**',
723              regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
724                      AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
725                                  'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2',
726                                  'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4',
727                                  'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6',
728                                  'VO6','WI6','WO6','WO','WI1','WO1'),),
729              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
730              GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
731              NOEUD           =SIMP(statut='f',typ=no,max='**'),
732              GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
733              MAILLE          =SIMP(statut='f',typ=ma,max='**'),
734              DX              =SIMP(statut='f',typ='R' ),
735              DY              =SIMP(statut='f',typ='R' ),
736              DZ              =SIMP(statut='f',typ='R' ),
737              DRX             =SIMP(statut='f',typ='R' ),
738              DRY             =SIMP(statut='f',typ='R' ),
739              DRZ             =SIMP(statut='f',typ='R' ),
740              GRX             =SIMP(statut='f',typ='R' ),
741              PRES            =SIMP(statut='f',typ='R' ),
742              PHI             =SIMP(statut='f',typ='R' ),
743              TEMP            =SIMP(statut='f',typ='R' ),
744              PRE1            =SIMP(statut='f',typ='R' ),
745              PRE2            =SIMP(statut='f',typ='R' ),
746              UI2             =SIMP(statut='f',typ='R' ),
747              UI3             =SIMP(statut='f',typ='R' ),
748              UI4             =SIMP(statut='f',typ='R' ),
749              UI5             =SIMP(statut='f',typ='R' ),
750              UI6             =SIMP(statut='f',typ='R' ),
751              UO2             =SIMP(statut='f',typ='R' ),
752              UO3             =SIMP(statut='f',typ='R' ),
753              UO4             =SIMP(statut='f',typ='R' ),
754              UO5             =SIMP(statut='f',typ='R' ),
755              UO6             =SIMP(statut='f',typ='R' ),
756              VI2             =SIMP(statut='f',typ='R' ),
757              VI3             =SIMP(statut='f',typ='R' ),
758              VI4             =SIMP(statut='f',typ='R' ),
759              VI5             =SIMP(statut='f',typ='R' ),
760              VI6             =SIMP(statut='f',typ='R' ),
761              VO2             =SIMP(statut='f',typ='R' ),
762              VO3             =SIMP(statut='f',typ='R' ),
763              VO4             =SIMP(statut='f',typ='R' ),
764              VO5             =SIMP(statut='f',typ='R' ),
765              VO6             =SIMP(statut='f',typ='R' ),
766              WI2             =SIMP(statut='f',typ='R' ),
767              WI3             =SIMP(statut='f',typ='R' ),
768              WI4             =SIMP(statut='f',typ='R' ),
769              WI5             =SIMP(statut='f',typ='R' ),
770              WI6             =SIMP(statut='f',typ='R' ),
771              WO2             =SIMP(statut='f',typ='R' ),
772              WO3             =SIMP(statut='f',typ='R' ),
773              WO4             =SIMP(statut='f',typ='R' ),
774              WO5             =SIMP(statut='f',typ='R' ),
775              WO6             =SIMP(statut='f',typ='R' ),
776              WO              =SIMP(statut='f',typ='R' ),
777              WI1             =SIMP(statut='f',typ='R' ),
778              WO1             =SIMP(statut='f',typ='R' ),
779            ),
780            FACE_IMPO       =FACT(statut='f',min=01,max='**',
781              regles=(UN_PARMI('GROUP_MA','MAILLE',),
782                      AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
783                                  'TEMP','PRE1','PRE2','DNOR','DTAN'),
784                      EXCLUS('DNOR','DX'),
785                      EXCLUS('DNOR','DY'),
786                      EXCLUS('DNOR','DZ'),
787                      EXCLUS('DNOR','DRX'),
788                      EXCLUS('DNOR','DRY'),
789                      EXCLUS('DNOR','DRZ'),
790                      EXCLUS('DTAN','DX'),
791                      EXCLUS('DTAN','DY'),
792                      EXCLUS('DTAN','DZ'),
793                      EXCLUS('DTAN','DRX'),
794                      EXCLUS('DTAN','DRY'),
795                      EXCLUS('DTAN','DRZ'),),
796 #  rajout d un mot clé REPERE :/ LOCAL /GLOBAL                     
797              GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
798              MAILLE          =SIMP(statut='f',typ=ma,max='**'),
799              DX              =SIMP(statut='f',typ='R' ),
800              DY              =SIMP(statut='f',typ='R' ),
801              DZ              =SIMP(statut='f',typ='R' ),
802              DRX             =SIMP(statut='f',typ='R' ),
803              DRY             =SIMP(statut='f',typ='R' ),
804              DRZ             =SIMP(statut='f',typ='R' ),
805              DNOR            =SIMP(statut='f',typ='R' ),
806              DTAN            =SIMP(statut='f',typ='R' ),
807              GRX             =SIMP(statut='f',typ='R' ),
808              PRES            =SIMP(statut='f',typ='R' ),
809              PHI             =SIMP(statut='f',typ='R' ),
810              TEMP            =SIMP(statut='f',typ='R' ),
811              PRE1            =SIMP(statut='f',typ='R' ),
812              PRE2            =SIMP(statut='f',typ='R' ),
813            ),
814            LIAISON_DDL     =FACT(statut='f',fr="Définir une relation linéaire entre des ddls de deux ou plusieurs noeuds",min=01,max='**',
815              regles=(UN_PARMI('GROUP_NO','NOEUD'),),
816              GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
817              NOEUD           =SIMP(statut='f',typ=no,max='**'),
818              DDL             =SIMP(statut='o',typ='TXM',max='**'),
819              COEF_MULT       =SIMP(statut='o',typ='R',max='**'),
820              COEF_IMPO       =SIMP(statut='o',typ='R' ),
821            ),
822            LIAISON_OBLIQUE =FACT(statut='f',fr="Appliquer à des noeuds la même valeur de déplacement dans un repère oblique quelconque",min=01,max='**',
823              regles=(UN_PARMI('GROUP_NO','NOEUD'),
824                      UN_PARMI('DX','DY','DZ','DRX','DRY','DRZ'),),
825              GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
826              NOEUD           =SIMP(statut='f',typ=no,max='**'),
827              ANGL_NAUT       =SIMP(statut='o',typ='R',max=03),
828              DX              =SIMP(statut='f',typ='R' ),
829              DY              =SIMP(statut='f',typ='R' ),
830              DZ              =SIMP(statut='f',typ='R' ),
831              DRX             =SIMP(statut='f',typ='R' ),
832              DRY             =SIMP(statut='f',typ='R' ),
833              DRZ             =SIMP(statut='f',typ='R' ),
834            ), 
835            LIAISON_GROUP   =FACT(statut='f',fr="Définir des relations linéaires entre certains ddls de couples de noeuds",min=01,max='**',
836              regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),        
837                      UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),
838                      EXCLUS('GROUP_MA_1','GROUP_NO_2'),
839                      EXCLUS('GROUP_MA_1','NOEUD_2'),      
840                      EXCLUS('GROUP_NO_1','GROUP_MA_2'),
841                      EXCLUS('GROUP_NO_1','MAILLE_2'),
842                      EXCLUS('MAILLE_1','GROUP_NO_2'),
843                      EXCLUS('MAILLE_1','NOEUD_2'),
844                      EXCLUS('NOEUD_1','GROUP_MA_2'),
845                      EXCLUS('NOEUD_1','MAILLE_2'),
846                      EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),),
847              
848                GROUP_MA_1      =SIMP(statut='f',typ=grma,max='**'),
849                MAILLE_1        =SIMP(statut='f',typ=ma,max='**'),
850                GROUP_MA_2      =SIMP(statut='f',typ=grma,max='**'),
851                MAILLE_2        =SIMP(statut='f',typ=ma,max='**'),
852                GROUP_NO_1      =SIMP(statut='f',typ=grno,max='**'),
853                NOEUD_1         =SIMP(statut='f',typ=no,max='**'),
854                GROUP_NO_2      =SIMP(statut='f',typ=no,max='**'),
855                NOEUD_2         =SIMP(statut='f',typ=no,max='**'),
856              
857              SANS_NOEUD      =SIMP(statut='f',typ=no,max='**'),
858              SANS_GROUP_NO   =SIMP(statut='f',typ=grno,max='**'),
859              DDL_1           =SIMP(statut='o',typ='TXM',max='**'),
860              COEF_MULT_1     =SIMP(statut='o',typ='R',max='**'),
861              DDL_2           =SIMP(statut='o',typ='TXM',max='**'),
862              COEF_MULT_2     =SIMP(statut='o',typ='R',max='**'),
863              COEF_IMPO       =SIMP(statut='o',typ='R' ),
864              SOMMET          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
865              TRAN            =SIMP(statut='f',typ='R',max=03),
866              ANGL_NAUT       =SIMP(statut='f',typ='R',max=03),
867              CENTRE          =SIMP(statut='f',typ='R',max=03),
868            ),
869            LIAISON_SOLIDE  =FACT(statut='f',fr="Modéliser une partie indéformable d une structure",min=01,max='**',
870              regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
871              GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
872              NOEUD           =SIMP(statut='f',typ=no,max='**'),
873              GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
874              MAILLE          =SIMP(statut='f',typ=ma,max='**'),
875              NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
876            ), 
877            LIAISON_UNIF    =FACT(statut='f',fr="Imposer une meme valeur (inconnue) à des ddls d un emsemble de noeuds",min=01,max='**',
878              regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
879              GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
880              NOEUD           =SIMP(statut='f',typ=no,max='**'),
881              GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
882              MAILLE          =SIMP(statut='f',typ=ma,max='**'),
883              DDL             =SIMP(statut='o',typ='TXM',max='**'),
884            ), 
885            LIAISON_CHAMNO  =FACT(statut='f',fr="définir une relation linéaire entre tous les ddls présents dans un concept cham_nno",min=01,max='**',
886 #  type de cham_no CO()
887              CHAM_NO         =SIMP(statut='o',typ=cham_no), #CO()
888              COEF_IMPO       =SIMP(statut='o',typ='R' ),
889              NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
890            ), 
891            LIAISON_ELEM    =FACT(statut='f',fr="Raccorder une poutre à une partie massive 3D ou une coque", min=01,max='**',
892              regles=(UN_PARMI('GROUP_MA_1','MAILLE_1'),
893                      UN_PARMI('GROUP_NO_2','NOEUD_2'),),
894              OPTION          =SIMP(statut='o',typ='TXM',into=("3D_TUYAU","3D_POU","COQ_POU","COQ_TUYAU") ),
895              GROUP_MA_1      =SIMP(statut='f',typ=grma,max='**'),
896              MAILLE_1        =SIMP(statut='f',typ=ma,max='**'),
897              GROUP_NO_2      =SIMP(statut='f',typ=grno,max='**'),
898              NOEUD_2         =SIMP(statut='f',typ=no,max='**'),
899              NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
900              CARA_ELEM       =SIMP(statut='f',typ=(cara_elem) ),
901              AXE_POUTRE      =SIMP(statut='f',typ='R',max=03),
902              ANGL_MAX        =SIMP(statut='f',typ='R',defaut= 1. ),
903            ),
904            LIAISON_COQUE   =FACT(statut='f',min=01,max='**',
905              GROUP_MA_1      =SIMP(statut='f',typ=grma,max='**'),
906              MAILLE_1        =SIMP(statut='f',typ=ma,max='**'),
907              GROUP_NO_1      =SIMP(statut='f',typ=grno,max='**'),
908              NOEUD_1         =SIMP(statut='f',typ=no,max='**'),
909              GROUP_MA_2      =SIMP(statut='f',typ=grma,max='**'),
910              MAILLE_2        =SIMP(statut='f',typ=ma,max='**'),
911              GROUP_NO_2      =SIMP(statut='f',typ=grno,max='**'),
912              NOEUD_2         =SIMP(statut='f',typ=no,max='**'),
913              NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
914            ),
915            LIAISON_MAIL    =FACT(statut='f',min=01,max='**',
916              regles=(PRESENT_ABSENT('GROUP_MA_1','GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL','NOEUD_ESCL'),
917                      PRESENT_ABSENT('MAILLE_1','GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL','NOEUD_ESCL',),     
918                      PRESENT_ABSENT('GROUP_MA_2','GROUP_MA_MAIT','MAILLE_MAIT'),      
919                      PRESENT_ABSENT('MAILLE_2','GROUP_MA_MAIT','MAILLE_MAIT'),        
920                      PRESENT_ABSENT('GROUP_NO_2','GROUP_MA_MAIT','MAILLE_MAIT'),      
921                      PRESENT_ABSENT('NOEUD_2','GROUP_MA_MAIT','MAILLE_MAIT'),         
922                      AU_MOINS_UN('GROUP_MA_1','MAILLE_1','GROUP_MA_MAIT','MAILLE_MAIT'),
923                      AU_MOINS_UN('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2','GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL','NOEUD_ESCL'),
924                      PRESENT_ABSENT('DDL_1','DDL_MAIT','DDL_ESCL'),    
925                      PRESENT_ABSENT('DDL_2','DDL_MAIT','DDL_ESCL'),
926                      PRESENT_PRESENT('DDL_1','DDL_2'),
927                      PRESENT_PRESENT('DDL_MAIT','DDL_ESCL'),),
928               GROUP_MA_1      =SIMP(statut='f',typ=grma,max='**'),
929               MAILLE_1        =SIMP(statut='f',typ=ma,max='**'), 
930               GROUP_MA_MAIT   =SIMP(statut='f',typ=grma,max='**'),
931               MAILLE_MAIT     =SIMP(statut='f',typ=ma,max='**'), 
932               GROUP_MA_2      =SIMP(statut='f',typ=grma,max='**'),
933               MAILLE_2        =SIMP(statut='f',typ=ma,max='**'), 
934               GROUP_NO_2      =SIMP(statut='f',typ=grno,max='**'),
935               NOEUD_2         =SIMP(statut='f',typ=no,max='**'), 
936               GROUP_MA_ESCL   =SIMP(statut='f',typ=grma,max='**'),
937               MAILLE_ESCL     =SIMP(statut='f',typ=ma,max='**'), 
938               GROUP_NO_ESCL   =SIMP(statut='f',typ=grno,max='**'),
939               NOEUD_ESCL      =SIMP(statut='f',typ=no,max='**'), 
940               TRAN            =SIMP(statut='f',typ='R',max=03 ),
941               ANGL_NAUT       =SIMP(statut='f',typ='R',max=03 ),
942               CENTRE          =SIMP(statut='f',typ='R',max=03 ),
943               DDL_1           =SIMP(statut='f',typ='TXM',max='**',into=("DNOR",) ),
944               DDL_2           =SIMP(statut='f',typ='TXM',max='**',into=("DNOR",) ),
945               DDL_MAIT        =SIMP(statut='f',typ='TXM',max='**',into=("DNOR",) ),
946               DDL_ESCL        =SIMP(statut='f',typ='TXM',max='**',into=("DNOR",) ),
947          ),
948          
949          FORCE_NODALE    =FACT(statut='f',fr="Imposer des forces nodales en des noeuds",min=01,max='**',
950            regles=(UN_PARMI('GROUP_NO','NOEUD'),
951                    AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ' ),),
952            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
953            NOEUD           =SIMP(statut='f',typ=no,max='**'),
954            FX              =SIMP(statut='f',typ='R' ),
955            FY              =SIMP(statut='f',typ='R' ),
956            FZ              =SIMP(statut='f',typ='R' ),
957            MX              =SIMP(statut='f',typ='R' ),
958            MY              =SIMP(statut='f',typ='R' ),
959            MZ              =SIMP(statut='f',typ='R' ),
960            ANGL_NAUT       =SIMP(statut='f',typ='R',max=03),
961          ),
962          
963            FORCE_FACE      =FACT(statut='f',fr="Appliquer des forces surfaciques sur une face d éléments volumiques",min=01,max='**',
964              regles=(UN_PARMI('GROUP_MA','MAILLE'),
965                      AU_MOINS_UN('FX','FY','FZ'),),
966              GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
967              MAILLE          =SIMP(statut='f',typ=ma,max='**'),
968              FX              =SIMP(statut='f',typ='R' ),
969              FY              =SIMP(statut='f',typ='R' ),
970              FZ              =SIMP(statut='f',typ='R' ),
971            ), 
972            FORCE_ARETE     =FACT(statut='f',fr="Appliquer des forces linéiques à une arete d élément volumique ou de coque",min=01,max='**',
973              regles=(UN_PARMI('GROUP_MA','MAILLE',),
974                      AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ' ),),
975              GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
976              MAILLE          =SIMP(statut='f',typ=ma,max='**'),
977              FX              =SIMP(statut='f',typ='R' ),
978              FY              =SIMP(statut='f',typ='R' ),
979              FZ              =SIMP(statut='f',typ='R' ),
980              MX              =SIMP(statut='f',typ='R' ),
981              MY              =SIMP(statut='f',typ='R' ),
982              MZ              =SIMP(statut='f',typ='R' ),
983            ), 
984            FORCE_CONTOUR   =FACT(statut='f',fr="Appliquer des forces linéiques au bord d un domaine 2D ou AXIS_FOURIER",min=01,max='**',
985              regles=(UN_PARMI('GROUP_MA','MAILLE'),
986                      AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
987              GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
988              MAILLE          =SIMP(statut='f',typ=ma,max='**'),
989              FX              =SIMP(statut='f',typ='R' ),
990              FY              =SIMP(statut='f',typ='R' ),
991              FZ              =SIMP(statut='f',typ='R' ),
992              MX              =SIMP(statut='f',typ='R' ),
993              MY              =SIMP(statut='f',typ='R' ),
994              MZ              =SIMP(statut='f',typ='R' ),
995            ), 
996            FORCE_INTERNE   =FACT(statut='f',fr="Appliquer des forces volumiques (2D ou 3D) à un domaine volumique",min=01,max='**',
997              regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),
998                      AU_MOINS_UN('FX','FY','FZ' ),),
999              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1000              GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1001              MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1002              FX              =SIMP(statut='f',typ='R' ),
1003              FY              =SIMP(statut='f',typ='R' ),
1004              FZ              =SIMP(statut='f',typ='R' ),
1005            ), 
1006            PRES_REP        =FACT(statut='f',fr="Appliquer une pression à un domaine de milieu continu 2D ou 3D",min=01,max='**',
1007              regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),
1008                      AU_MOINS_UN('PRES','CISA_2D' ),),
1009              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1010              GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1011              MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1012              PRES            =SIMP(statut='f',typ='R' ),
1013              CISA_2D         =SIMP(statut='f',typ='R' ),
1014            ),
1015            EPSI_INIT       =FACT(statut='f',fr="Appliquer un chargement de déformation initiale à un volume 3D ou 2D",min=01,max='**',
1016              regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),
1017                      AU_MOINS_UN('EPXX','EPYY','EPZZ','EPXY','EPXZ','EPYZ','EPX',
1018                                  'KY','KZ','EXX','EYY','EXY','KXX','KYY','KXY'),),
1019              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1020              GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1021              MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1022              EPXX            =SIMP(statut='f',typ='R' ),
1023              EPYY            =SIMP(statut='f',typ='R' ),
1024              EPZZ            =SIMP(statut='f',typ='R' ),
1025              EPXY            =SIMP(statut='f',typ='R' ),
1026              EPXZ            =SIMP(statut='f',typ='R' ),
1027              EPYZ            =SIMP(statut='f',typ='R' ),
1028              EPX             =SIMP(statut='f',typ='R' ),
1029              KY              =SIMP(statut='f',typ='R' ),
1030              KZ              =SIMP(statut='f',typ='R' ),
1031              EXX             =SIMP(statut='f',typ='R' ),
1032              EYY             =SIMP(statut='f',typ='R' ),
1033              EXY             =SIMP(statut='f',typ='R' ),
1034              KXX             =SIMP(statut='f',typ='R' ),
1035              KYY             =SIMP(statut='f',typ='R' ),
1036              KXY             =SIMP(statut='f',typ='R' ),
1037            ),
1038          
1039          
1040            FORCE_COQUE     =FACT(statut='f',fr="Appliquer des forces surfaciques sur des coques",min=01,max='**',
1041              regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),
1042                      AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','PRES','F1','F2','F3','MF1','MF2'),               
1043                      PRESENT_ABSENT('FX','PRES','F1','F2','F3','MF1','MF2'),
1044                      PRESENT_ABSENT('FY','PRES','F1','F2','F3','MF1','MF2'),
1045                      PRESENT_ABSENT('FZ','PRES','F1','F2','F3','MF1','MF2'),
1046                      PRESENT_ABSENT('MX','PRES','F1','F2','F3','MF1','MF2'),
1047                      PRESENT_ABSENT('MY','PRES','F1','F2','F3','MF1','MF2'),
1048                      PRESENT_ABSENT('MZ','PRES','F1','F2','F3','MF1','MF2'),
1049                      PRESENT_ABSENT('F1','FX','FY','FZ','MX','MY','MZ','PRES'),
1050                      PRESENT_ABSENT('F2','FX','FY','FZ','MX','MY','MZ','PRES'),
1051                      PRESENT_ABSENT('F3','FX','FY','FZ','MX','MY','MZ','PRES'),
1052                      PRESENT_ABSENT('MF1','FX','FY','FZ','MX','MY','MZ','PRES'),
1053                      PRESENT_ABSENT('MF2','FX','FY','FZ','MX','MY','MZ','PRES'),
1054                      PRESENT_ABSENT('PRES','FX','FY','FZ','MX','MY','MZ','F1','F2','F3','MF1','MF2'),),
1055 #  rajour d un mot clé REPERE :/ LOCAL /GLOBAL              
1056              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1057              GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1058              MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1059              
1060                FX              =SIMP(statut='f',typ='R' ),
1061                FY              =SIMP(statut='f',typ='R' ),
1062                FZ              =SIMP(statut='f',typ='R' ),
1063                MX              =SIMP(statut='f',typ='R' ),
1064                MY              =SIMP(statut='f',typ='R' ),
1065                MZ              =SIMP(statut='f',typ='R' ),
1066              
1067                F1              =SIMP(statut='f',typ='R' ),
1068                F2              =SIMP(statut='f',typ='R' ),
1069                F3              =SIMP(statut='f',typ='R' ),
1070                MF1             =SIMP(statut='f',typ='R' ),
1071                MF2             =SIMP(statut='f',typ='R' ),
1072               
1073              PRES            =SIMP(statut='f',typ='R' ),
1074              PLAN            =SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL",) ),
1075            ),
1076            FORCE_POUTRE    =FACT(statut='f',fr="Appliquer des forces linéiques sur des poutres",min=01,max='**',
1077              regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),
1078                      AU_MOINS_UN('FX','FY','FZ','N','VY','VZ'),
1079                      PRESENT_ABSENT('FX','N','VY','VZ'),              
1080                      PRESENT_ABSENT('FY','N','VY','VZ'),
1081                      PRESENT_ABSENT('FZ','N','VY','VZ'),
1082                      PRESENT_ABSENT('N','FX','FY','FZ'),
1083                      PRESENT_ABSENT('VY','FX','FY','FZ'),
1084                      PRESENT_ABSENT('VZ','FX','FY','FZ'),),
1085              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1086              GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1087              MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1088              TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE",) ),
1089 #  rajour d un mot clé REPERE :/ LOCAL /GLOBAL              
1090                FX              =SIMP(statut='f',typ='R' ),
1091                FY              =SIMP(statut='f',typ='R' ),
1092                FZ              =SIMP(statut='f',typ='R' ),
1093              
1094                N               =SIMP(statut='f',typ='R' ),
1095                VY              =SIMP(statut='f',typ='R' ),
1096                VZ              =SIMP(statut='f',typ='R' ),
1097               
1098            ),
1099            FORCE_TUYAU     =FACT(statut='f',fr="imposer une pression dans un élément TUYAU",min=01,max='**',
1100              regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
1101              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1102              GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1103              MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1104              PRES            =SIMP(statut='f',typ='R' ),
1105            ),
1106              
1107          
1108            FORCE_ELEC      =FACT(statut='f',fr="Appliquer une force de Laplace due à la présence d un conducteur rectiligne secondaire non maillé",min=01,max='**',
1109              regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),
1110                      AU_MOINS_UN('FX','FY','FZ','POSITION'),
1111                      EXCLUS('FX','POSITION'),
1112                      EXCLUS('FY','POSITION'),   
1113                      EXCLUS('FZ','POSITION'),),
1114 #  trop de règles : les blocs conditionnels permettent d en suprimer              
1115              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1116              GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1117              MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1118               
1119              FX              =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
1120              FY              =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
1121              FZ              =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
1122              
1123              POSITION        =SIMP(statut='f',typ='TXM',fr="Direction prédéfinie",into=("PARA","INFI","FINI",) ),
1124              b_para     =BLOC ( condition = "POSITION == 'PARA'",
1125                regles=(UN_PARMI('TRANS','DIST'),),
1126                TRANS           =SIMP(statut='f',typ='R',max=03),
1127                DIST            =SIMP(statut='f',typ='R' ),
1128                b_point2        =BLOC ( condition = "DIST != None", 
1129                  POINT2           =SIMP(statut='o',typ='R',max=03),
1130                ),
1131              ),
1132              b_fini_infi     =BLOC ( condition = "(POSITION == 'FINI') or (POSITION == 'INFI')",
1133                POINT1          =SIMP(statut='o',typ='R',max=03),
1134                POINT2          =SIMP(statut='o',typ='R',max=03),
1135              ), 
1136            ),
1137            INTE_ELEC       =FACT(statut='f',fr="Appliquer une force de Laplace due à la présence d un conducteur non rectiligne secondaire maillé ou non",min=01,max='**',
1138              regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),
1139                      AU_MOINS_UN('GROUP_MA_2','MAILLE_2','TRANS','SYME'),
1140                      EXCLUS('TRANS','SYME'),),
1141              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1142              GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1143              MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1144              GROUP_MA_2      =SIMP(statut='f',typ=grma,max='**'),
1145              MAILLE_2        =SIMP(statut='f',typ=ma,max='**'),
1146              TRANS           =SIMP(statut='f',typ='R',max='**'),
1147              SYME            =SIMP(statut='f',typ='R',max='**'),
1148            ),
1149          
1150          
1151            VITE_FACE       =FACT(statut='f',fr="Imposer des vitesses acoustiquesnormales à une face",min=01,max='**',
1152              regles=(UN_PARMI('GROUP_MA','MAILLE'),),
1153              GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1154              MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1155              VNOR            =SIMP(statut='o',typ='R' ),
1156            ),
1157            ONDE_FLUI       =FACT(statut='f',fr="Appliquer une amplitude de pression d onde incidente",min=01,max='**',
1158              regles=(UN_PARMI('GROUP_MA','MAILLE'),),
1159              GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1160              MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1161              PRES            =SIMP(statut='o',typ='R' ),
1162            ),
1163            IMPE_FACE       =FACT(statut='f',fr="Appliquer une impédance acoustique à une face",min=01,max='**',
1164              regles=(UN_PARMI('GROUP_MA','MAILLE' ),),
1165              GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1166              MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1167              IMPE            =SIMP(statut='o',typ='R' ),
1168            ),
1169          
1170          
1171            FLUX_THM_REP    =FACT(statut='f',min=01,max='**',
1172              regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),
1173                      AU_MOINS_UN('FLUN','FLUN_HYDR1','FLUN_HYDR2'),),
1174              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1175              GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1176              MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1177              FLUN            =SIMP(statut='f',typ='R' ),
1178              FLUN_HYDR1      =SIMP(statut='f',typ='R' ),
1179              FLUN_HYDR2      =SIMP(statut='f',typ='R' ),
1180            ),
1181          
1182          EFFE_FOND       =FACT(statut='f',fr="Imposer un effet de fond",min=01,max='**',
1183            regles=(UN_PARMI('GROUP_MA','MAILLE'),),
1184            GROUP_MA_INT    =SIMP(statut='o',typ=grma,max='**'),
1185            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1186            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1187            PRES            =SIMP(statut='o',typ='R' ),
1188          ),
1189          
1190          LIAISON_UNIL_NO =FACT(statut='f',min=01,max='**',
1191            regles=(UN_PARMI('GROUP_MA_1','MAILLE_1'),
1192                    UN_PARMI('GROUP_MA_2','MAILLE_2'),),
1193            GROUP_MA_1      =SIMP(statut='f',typ=grma,max='**'),# CO()
1194            MAILLE_1        =SIMP(statut='f',typ=ma,max='**'),# CO()
1195            GROUP_MA_2      =SIMP(statut='f',typ=grma,max='**'),# CO()
1196            MAILLE_2        =SIMP(statut='f',typ=ma,max='**'),# CO()
1197            SOMMET          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1198            TRAN            =SIMP(statut='f',typ='R',max=03 ),  
1199            ANGL_NAUT       =SIMP(statut='f',typ='R',max=03 ),  
1200            CENTRE          =SIMP(statut='f',typ='R',max=03 ),  
1201            ANGLE_MAX       =SIMP(statut='f',typ='R' ),  
1202            FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",   
1203                                  into=("SANS","TRESCA","COULOMB") ),
1204            METHODE         =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE",    
1205                                  into=("CONTRAINTE","LAGRANGIEN","PENALISATION") ),
1206            COULOMB         =SIMP(statut='f',typ='R' ),  
1207            TRESCA          =SIMP(statut='f',typ='R' ),  
1208            E_T             =SIMP(statut='f',typ='R' ),  
1209            COEF_MATR_FROT  =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
1210            CONTACT         =SIMP(statut='f',typ='TXM',into=("MAINTENU",) ),
1211            JEU             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
1212          ),
1213          
1214          CONTACT         =FACT(statut='f',fr="Imposer du contact avec ou sans frottement",min=01,max='**',
1215            regles=(UN_PARMI('GROUP_MA_2','MAILLE_2'),
1216                    ENSEMBLE('FROTTEMENT','COULOMB'),
1217                                  EXCLUS('DIST_2','COEF_IMPO'),
1218                    EXCLUS('DIST_1','COEF_IMPO'),
1219                    EXCLUS('COEF_MULT_2','GROUP_MA_1'),
1220                    EXCLUS('COEF_MULT_2','MAILLE_1'),
1221                    EXCLUS('COEF_IMPO','GROUP_MA_1'),
1222                    EXCLUS('COEF_IMPO','MAILLE_1'),),
1223            NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","PRES","TEMP")),
1224            APPARIEMENT     =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL",
1225                                  into=("NON","NODAL","NODAL_SYME","MAIT_ESCL","MAIT_ESCL_SYME")),
1226            RECHERCHE       =SIMP(statut='f',typ='TXM',defaut="NOEUD_VOISIN",into=("NOEUD_BOUCLE","NOEUD_VOISIN")),
1227            REAC_GEOM_INTE  =SIMP(statut='f',typ='I',defaut= 2),
1228            METHODE         =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE",    
1229                                  into=("CONTRAINTE","LAGRANGIEN","PENALISATION") ),           
1230            FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), 
1231            COULOMB         =SIMP(statut='f',typ='R',max=1),
1232            E_T             =SIMP(statut='f',typ='R' ),  
1233            COEF_MATR_FROT  =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
1234            VECT_NORM_2     =SIMP(statut='f',typ='R',max=03),
1235            PROJECTION      =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE",) ),
1236            GROUP_MA_1      =SIMP(statut='f',typ=grma,max='**'),
1237            MAILLE_1        =SIMP(statut='f',typ=ma,max='**'),
1238            GROUP_MA_2      =SIMP(statut='f',typ=grma,max='**'),
1239            MAILLE_2        =SIMP(statut='f',typ=ma,max='**'),
1240            SANS_NOEUD      =SIMP(statut='f',typ=no,max='**'),
1241            SANS_GROUP_NO   =SIMP(statut='f',typ=grno,max='**'),
1242            DIST_1          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
1243            DIST_2          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
1244            COEF_IMPO       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
1245            COEF_MULT_2     =SIMP(statut='f',typ='R',defaut= 1. ),
1246          ),
1247          
1248          RELA_CINE_BP    =FACT(statut='f',min=01,max='**',
1249            CABLE_BP        =SIMP(statut='o',typ=cabl_precont ),
1250            SIGM_BPEL       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
1251            RELA_CINE       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
1252          ),
1253          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
1254 )  ;
1255 #& MODIF COMMANDE  DATE 17/05/2000   AUTEUR CIBHHLV L.VIVAN
1256 AFFE_CHAR_MECA_C=OPER(nom="AFFE_CHAR_MECA_C",op=   7,sd_prod=char_meca,
1257                      fr="Affectation de charges et conditions aux limites mécaniques complexes",
1258                      docu="U4.44.05-C",reentrant='n',
1259          regles=(AU_MOINS_UN('DDL_IMPO','FORCE_POUTRE','LIAISON_DDL', ),),
1260          MODELE          =SIMP(statut='o',typ=modele ),
1261          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
1262          TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400. ),
1263          DDL_IMPO        =FACT(statut='f',min=01,max='**',
1264            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD',),
1265                    AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', ),),
1266            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1267            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1268            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1269            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
1270            NOEUD           =SIMP(statut='f',typ=no,max='**'),
1271            DX              =SIMP(statut='f',typ='C' ),
1272            DY              =SIMP(statut='f',typ='C' ),
1273            DZ              =SIMP(statut='f',typ='C' ),
1274            DRX             =SIMP(statut='f',typ='C' ),
1275            DRY             =SIMP(statut='f',typ='C' ),
1276            DRZ             =SIMP(statut='f',typ='C' ),
1277            GRX             =SIMP(statut='f',typ='C' ),
1278            PRES            =SIMP(statut='f',typ='C' ),
1279            PHI             =SIMP(statut='f',typ='C' ),
1280          ),
1281          FORCE_POUTRE    =FACT(statut='f',min=01,max='**',
1282            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE',),
1283                    AU_MOINS_UN('FX','FY','FZ','N','VY','VZ',),
1284                    PRESENT_ABSENT('FX','N','VY','VZ',),
1285                    PRESENT_ABSENT('FY','N','VY','VZ',),
1286                    PRESENT_ABSENT('FZ','N','VY','VZ',),
1287                    PRESENT_ABSENT('N','FX','FY','FZ',),
1288                    PRESENT_ABSENT('VY', 'FX','FY','FZ',),
1289                    PRESENT_ABSENT('VZ','FX','FY','FZ', ),),
1290            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1291            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1292            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1293            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE") ),
1294            FX              =SIMP(statut='f',typ='C' ),
1295            FY              =SIMP(statut='f',typ='C' ),
1296            FZ              =SIMP(statut='f',typ='C' ),
1297            N               =SIMP(statut='f',typ='C' ),
1298            VY              =SIMP(statut='f',typ='C' ),
1299            VZ              =SIMP(statut='f',typ='C' ),
1300          ),
1301          LIAISON_DDL     =FACT(statut='f',min=01,max='**',
1302            regles=(UN_PARMI('GROUP_NO','NOEUD', ),),
1303            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
1304            NOEUD           =SIMP(statut='f',typ=no,max='**'),
1305            DDL             =SIMP(statut='o',typ='TXM',max='**'),
1306            COEF_MULT       =SIMP(statut='o',typ='R',max='**'),
1307            COEF_IMPO       =SIMP(statut='o',typ='C' ),
1308          ),
1309          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
1310 )  ;
1311 #& MODIF COMMANDE  DATE 03/10/2000   AUTEUR UFBHHLL C.CHAVANT 
1312 AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
1313                       fr="Affectation de charges et conditions aux limites mécaniques fonction d une grandeur (temps, ...)",
1314                       docu="U4.44.01-F",reentrant='n',
1315         regles=(AU_MOINS_UN('DDL_IMPO','FACE_IMPO','LIAISON_DDL','FORCE_NODALE',
1316                             'FORCE_FACE','FORCE_ARETE','FORCE_CONTOUR','FORCE_INTERNE',
1317                             'PRES_REP','FORCE_POUTRE','VITE_FACE','IMPE_FACE','ONDE_PLANE',
1318                             'LIAISON_OBLIQUE','EPSI_INIT','LIAISON_GROUP','LIAISON_UNIF',
1319                             'LIAISON_SOLIDE','FORCE_COQUE','LIAISON_COQUE','FORCE_TUYAU',
1320                             'CONTACT'),),
1321          MODELE          =SIMP(statut='o',typ=modele ),
1322          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
1323          VERI_NORM       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),         
1324          TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400. ),
1325          
1326          DDL_IMPO        =FACT(statut='f',min=01,max='**',
1327            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
1328                    AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
1329                                'TEMP','PRE1','PRE2'),),
1330            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1331            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1332            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1333            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
1334            NOEUD           =SIMP(statut='f',typ=no,max='**'),
1335            DX              =SIMP(statut='f',typ=(fonction) ),
1336            DY              =SIMP(statut='f',typ=(fonction) ),
1337            DZ              =SIMP(statut='f',typ=(fonction) ),
1338            DRX             =SIMP(statut='f',typ=(fonction) ),
1339            DRY             =SIMP(statut='f',typ=(fonction) ),
1340            DRZ             =SIMP(statut='f',typ=(fonction) ),
1341            GRX             =SIMP(statut='f',typ=(fonction) ),
1342            PRES            =SIMP(statut='f',typ=(fonction) ),
1343            PHI             =SIMP(statut='f',typ=(fonction) ),
1344            TEMP            =SIMP(statut='f',typ=(fonction) ),
1345            PRE1            =SIMP(statut='f',typ=(fonction) ),
1346            PRE2            =SIMP(statut='f',typ=(fonction) ),
1347          ),
1348          LIAISON_UNIF    =FACT(statut='f',min=01,max='**',
1349                                fr="Imposer une meme valeur (inconnue) à des ddls d un emsemble de noeuds",
1350            regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
1351            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1352            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1353            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
1354            NOEUD           =SIMP(statut='f',typ=no,max='**'),
1355            DDL             =SIMP(statut='o',typ='TXM',max='**'),
1356          ),
1357          LIAISON_SOLIDE  =FACT(statut='f',min=01,max='**',
1358                                fr="Modéliser une partie indéformable d une structure",
1359            regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
1360            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1361            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1362            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
1363            NOEUD           =SIMP(statut='f',typ=no,max='**'),
1364            NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES",) ),
1365          ),
1366          LIAISON_OBLIQUE =FACT(statut='f',min=01,max='**',
1367                                fr="Définir des relations linéaires entre certains ddls de couples de noeuds",
1368            regles=(UN_PARMI('GROUP_NO','NOEUD'),
1369                    UN_PARMI('DX','DY','DZ','DRX','DRY','DRZ'),),
1370            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
1371            NOEUD           =SIMP(statut='f',typ=no,max='**'),
1372            ANGL_NAUT       =SIMP(statut='o',typ='R',max=03),
1373            DX              =SIMP(statut='f',typ=(fonction) ),
1374            DY              =SIMP(statut='f',typ=(fonction) ),
1375            DZ              =SIMP(statut='f',typ=(fonction) ),
1376            DRX             =SIMP(statut='f',typ=(fonction) ),
1377            DRY             =SIMP(statut='f',typ=(fonction) ),
1378            DRZ             =SIMP(statut='f',typ=(fonction) ),
1379          ),
1380          LIAISON_COQUE   =FACT(statut='f',min=01,max='**',
1381            GROUP_MA_1      =SIMP(statut='f',typ=grma,max='**'),
1382            MAILLE_1        =SIMP(statut='f',typ=ma,max='**'),
1383            GROUP_NO_1      =SIMP(statut='f',typ=grno,max='**'),
1384            NOEUD_1         =SIMP(statut='f',typ=no,max='**'),
1385            GROUP_MA_2      =SIMP(statut='f',typ=grma,max='**'),
1386            MAILLE_2        =SIMP(statut='f',typ=ma,max='**'),
1387            GROUP_NO_2      =SIMP(statut='f',typ=grno,max='**'),
1388            NOEUD_2         =SIMP(statut='f',typ=no,max='**'),
1389            NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES",) ),
1390          ),
1391          FACE_IMPO       =FACT(statut='f',min=01,max='**',
1392            regles=(UN_PARMI('GROUP_MA','MAILLE'),
1393                    AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI','TEMP','PRE1','PRE2','DNOR','DTAN'),
1394                    EXCLUS('DNOR','DX'),
1395                    EXCLUS('DNOR','DY'),
1396                    EXCLUS('DNOR','DZ'),
1397                    EXCLUS('DNOR','DRX'),
1398                    EXCLUS('DNOR','DRY'),
1399                    EXCLUS('DNOR','DRZ'),
1400                    EXCLUS('DTAN','DX'),
1401                    EXCLUS('DTAN','DY'),
1402                    EXCLUS('DTAN','DZ'),
1403                    EXCLUS('DTAN','DRX'),
1404                    EXCLUS('DTAN','DRY'),
1405                    EXCLUS('DTAN','DRZ'),),
1406 #  rajout d un mot cle REPERE : / GLOBAL / LOCAL
1407            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1408            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1409            DX              =SIMP(statut='f',typ=(fonction) ),
1410            DY              =SIMP(statut='f',typ=(fonction) ),
1411            DZ              =SIMP(statut='f',typ=(fonction) ),
1412            DRX             =SIMP(statut='f',typ=(fonction) ),
1413            DRY             =SIMP(statut='f',typ=(fonction) ),
1414            DRZ             =SIMP(statut='f',typ=(fonction) ),
1415            GRX             =SIMP(statut='f',typ=(fonction) ),
1416            PRES            =SIMP(statut='f',typ=(fonction) ),
1417            PHI             =SIMP(statut='f',typ=(fonction) ),
1418            TEMP            =SIMP(statut='f',typ=(fonction) ),
1419            PRE1            =SIMP(statut='f',typ=(fonction) ),
1420            PRE2            =SIMP(statut='f',typ=(fonction) ),
1421            DNOR            =SIMP(statut='f',typ=(fonction) ),
1422            DTAN            =SIMP(statut='f',typ=(fonction) ),
1423          ),
1424          LIAISON_DDL     =FACT(statut='f',min=01,max='**',fr="Définir une relation linéaire entre des ddls de deux ou plusieurs noeuds",
1425            regles=(UN_PARMI('GROUP_NO','NOEUD'),),
1426            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
1427            NOEUD           =SIMP(statut='f',typ=no,max='**'),
1428            DDL             =SIMP(statut='o',typ='TXM',max='**'),
1429            COEF_MULT       =SIMP(statut='o',typ='R',max='**'),
1430            COEF_IMPO       =SIMP(statut='o',typ=(fonction) ),
1431          ),
1432          LIAISON_GROUP   =FACT(statut='f',min=01,max='**',
1433                                fr="Définir des relations linéaires entre certains ddls de couples de noeuds",
1434            regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
1435                    UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),
1436                    EXCLUS('GROUP_MA_1','GROUP_NO_2'),
1437                    EXCLUS('GROUP_MA_1','NOEUD_2'),
1438                    EXCLUS('GROUP_NO_1','GROUP_MA_2'),
1439                    EXCLUS('GROUP_NO_1','MAILLE_2'),
1440                    EXCLUS('MAILLE_1','GROUP_NO_2'),
1441                    EXCLUS('MAILLE_1','NOEUD_2'),
1442                    EXCLUS('NOEUD_1','GROUP_MA_2'),
1443                    EXCLUS('NOEUD_1','MAILLE_2'),
1444                    EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),),
1445            GROUP_MA_1      =SIMP(statut='f',typ=grma,max='**'),
1446            MAILLE_1        =SIMP(statut='f',typ=ma,max='**'), 
1447            GROUP_NO_1      =SIMP(statut='f',typ=grno,max='**'),
1448            NOEUD_1         =SIMP(statut='f',typ=no,max='**'), 
1449            GROUP_MA_2      =SIMP(statut='f',typ=grma,max='**'),
1450            MAILLE_2        =SIMP(statut='f',typ=ma,max='**'), 
1451            GROUP_NO_2      =SIMP(statut='f',typ=grno,max='**'),
1452            NOEUD_2         =SIMP(statut='f',typ=no,max='**'), 
1453            SANS_NOEUD      =SIMP(statut='f',typ=no,max='**'), 
1454            SANS_GROUP_NO   =SIMP(statut='f',typ=grno,max='**'),
1455            DDL_1           =SIMP(statut='o',typ='TXM',max='**'),
1456            COEF_MULT_1     =SIMP(statut='o',typ='R',max='**'),
1457            DDL_2           =SIMP(statut='o',typ='TXM',max='**'),
1458            COEF_MULT_2     =SIMP(statut='o',typ='R',max='**'),
1459            COEF_IMPO       =SIMP(statut='o',typ=(fonction) ),
1460            SOMMET          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1461            TRAN            =SIMP(statut='f',typ='R',max=03),
1462            ANGL_NAUT       =SIMP(statut='f',typ='R',max=03),
1463            CENTRE          =SIMP(statut='f',typ='R',max=03),
1464          ),
1465          
1466          FORCE_NODALE    =FACT(statut='f',min=01,max='**',
1467            regles=(UN_PARMI('GROUP_NO','NOEUD'),
1468                    AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
1469            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
1470            NOEUD           =SIMP(statut='f',typ=no,max='**'),
1471            FX              =SIMP(statut='f',typ=(fonction) ),
1472            FY              =SIMP(statut='f',typ=(fonction) ),
1473            FZ              =SIMP(statut='f',typ=(fonction) ),
1474            MX              =SIMP(statut='f',typ=(fonction) ),
1475            MY              =SIMP(statut='f',typ=(fonction) ),
1476            MZ              =SIMP(statut='f',typ=(fonction) ),
1477            ANGL_NAUT       =SIMP(statut='f',typ=(fonction),max=03 ),
1478          ),
1479          FORCE_INTERNE   =FACT(statut='f',min=01,max='**',
1480            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),
1481                    AU_MOINS_UN('FX','FY','FZ'),),
1482            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1483            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1484            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1485            FX              =SIMP(statut='f',typ=(fonction) ),
1486            FY              =SIMP(statut='f',typ=(fonction) ),
1487            FZ              =SIMP(statut='f',typ=(fonction) ),
1488          ),
1489          FORCE_FACE      =FACT(statut='f',min=01,max='**',
1490            regles=(UN_PARMI('GROUP_MA','MAILLE'),
1491                    AU_MOINS_UN('FX','FY','FZ'),),
1492            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1493            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1494            FX              =SIMP(statut='f',typ=(fonction) ),
1495            FY              =SIMP(statut='f',typ=(fonction) ),
1496            FZ              =SIMP(statut='f',typ=(fonction) ),
1497          ),
1498          FORCE_ARETE     =FACT(statut='f',min=01,max='**',
1499            regles=(UN_PARMI('GROUP_MA','MAILLE'),
1500                    AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
1501            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1502            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1503            FX              =SIMP(statut='f',typ=(fonction) ),
1504            FY              =SIMP(statut='f',typ=(fonction) ),
1505            FZ              =SIMP(statut='f',typ=(fonction) ),
1506            MX              =SIMP(statut='f',typ=(fonction) ),
1507            MY              =SIMP(statut='f',typ=(fonction) ),
1508            MZ              =SIMP(statut='f',typ=(fonction) ),
1509          ),
1510          FORCE_CONTOUR   =FACT(statut='f',min=01,max='**',
1511            regles=(UN_PARMI('GROUP_MA','MAILLE'),
1512                    AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
1513            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1514            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1515            FX              =SIMP(statut='f',typ=(fonction) ),
1516            FY              =SIMP(statut='f',typ=(fonction) ),
1517            FZ              =SIMP(statut='f',typ=(fonction) ),
1518            MX              =SIMP(statut='f',typ=(fonction) ),
1519            MY              =SIMP(statut='f',typ=(fonction) ),
1520            MZ              =SIMP(statut='f',typ=(fonction) ),
1521          ),
1522          PRES_REP        =FACT(statut='f',min=01,max='**',
1523            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),
1524                    AU_MOINS_UN('PRES','CISA_2D'),),
1525            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1526            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1527            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1528            PRES            =SIMP(statut='f',typ=(fonction) ),
1529            CISA_2D         =SIMP(statut='f',typ=(fonction) ),
1530          ),
1531          
1532          FORCE_COQUE     =FACT(statut='f',min=01,max='**',
1533            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),
1534                    AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','PRES','F1','F2','F3','MF1','MF2'),
1535                    PRESENT_ABSENT('FX','PRES','F1','F2','F3','MF1','MF2'),
1536                    PRESENT_ABSENT('FY','PRES','F1','F2','F3','MF1','MF2'),
1537                    PRESENT_ABSENT('FZ','PRES','F1','F2','F3','MF1','MF2'),
1538                    PRESENT_ABSENT('MX','PRES','F1','F2','F3','MF1','MF2'),
1539                    PRESENT_ABSENT('MY','PRES','F1','F2','F3','MF1','MF2'),
1540                    PRESENT_ABSENT('MZ','PRES','F1','F2','F3','MF1','MF2'),
1541                    PRESENT_ABSENT('F1','PRES','FX','FY','FZ','MX','MY','MZ'),
1542                    PRESENT_ABSENT('F2','PRES','FX','FY','FZ','MX','MY','MZ'),
1543                    PRESENT_ABSENT('F3','PRES','FX','FY','FZ','MX','MY','MZ'),
1544                    PRESENT_ABSENT('MF1','PRES','FX','FY','FZ','MX','MY','MZ'),
1545                    PRESENT_ABSENT('MF2','PRES','FX','FY','FZ','MX','MY','MZ'),
1546                    PRESENT_ABSENT('PRES','FX','FY','FZ','MX','MY','MZ','F1','F2','F3','MF1','MF2'),),
1547 #  rajout d un mot cle REPERE : / GLOBAL / LOCAL
1548            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1549            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1550            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1551            FX              =SIMP(statut='f',typ=(fonction) ),
1552            FY              =SIMP(statut='f',typ=(fonction) ),
1553            FZ              =SIMP(statut='f',typ=(fonction) ),
1554            MX              =SIMP(statut='f',typ=(fonction) ),
1555            MY              =SIMP(statut='f',typ=(fonction) ),
1556            MZ              =SIMP(statut='f',typ=(fonction) ),
1557            F1              =SIMP(statut='f',typ=(fonction) ),
1558            F2              =SIMP(statut='f',typ=(fonction) ),
1559            F3              =SIMP(statut='f',typ=(fonction) ),
1560            MF1             =SIMP(statut='f',typ=(fonction) ),
1561            MF2             =SIMP(statut='f',typ=(fonction) ),
1562            PRES            =SIMP(statut='f',typ=(fonction) ),
1563            PLAN            =SIMP(statut='f',typ='TXM',defaut="MAIL",
1564                                  into=("SUP","INF","MOY","MAIL") ),
1565          ),
1566          FORCE_POUTRE    =FACT(statut='f',min=01,max='**',
1567            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),
1568                    AU_MOINS_UN('FX','FY','FZ','N','VY','VZ'),
1569                    PRESENT_ABSENT('FX','N','VY','VZ'),
1570                    PRESENT_ABSENT('FY','N','VY','VZ'),
1571                    PRESENT_ABSENT('FZ','N','VY','VZ'),
1572                    PRESENT_ABSENT('N','FX','FY','FZ'),
1573                    PRESENT_ABSENT('VY','FX','FY','FZ'),
1574                    PRESENT_ABSENT('VZ','FX','FY','FZ'),),
1575 #  rajout d un mot cle REPERE : / GLOBAL / LOCAL                   
1576            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1577            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1578            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1579            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE") ),
1580            FX              =SIMP(statut='f',typ=(fonction) ),
1581            FY              =SIMP(statut='f',typ=(fonction) ),
1582            FZ              =SIMP(statut='f',typ=(fonction) ),
1583            N               =SIMP(statut='f',typ=(fonction) ),
1584            VY              =SIMP(statut='f',typ=(fonction) ),
1585            VZ              =SIMP(statut='f',typ=(fonction) ),
1586          ),
1587          FORCE_TUYAU     =FACT(statut='f',min=01,max='**',
1588            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
1589            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1590            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1591            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1592            PRES            =SIMP(statut='f',typ=(fonction) ),
1593          ),
1594          VITE_FACE       =FACT(statut='f',min=01,max='**',
1595            regles=(UN_PARMI('GROUP_MA','MAILLE'),),
1596            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1597            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1598            VNOR            =SIMP(statut='o',typ=(fonction) ),
1599          ),
1600          IMPE_FACE       =FACT(statut='f',min=01,max='**',
1601            regles=(UN_PARMI('GROUP_MA','MAILLE'),),
1602            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1603            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1604            IMPE            =SIMP(statut='o',typ=(fonction) ),
1605          ),
1606          ONDE_PLANE      =FACT(statut='f',min=01,max='**',
1607            DIRECTION       =SIMP(statut='o',typ='R',max='**'),
1608            TYPE_ONDE       =SIMP(statut='o',typ='TXM' ),
1609            FONC_SIGNAL     =SIMP(statut='o',typ=(fonction) ),
1610            DIST_ORIG       =SIMP(statut='o',typ='R' ),
1611          ),
1612          EPSI_INIT       =FACT(statut='f',min=01,max='**',
1613            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),
1614                    AU_MOINS_UN('EPXX','EPYY','EPZZ','EPXY','EPXZ','EPYZ'),),
1615            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1616            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1617            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1618            EPXX            =SIMP(statut='f',typ=(fonction) ),
1619            EPYY            =SIMP(statut='f',typ=(fonction) ),
1620            EPZZ            =SIMP(statut='f',typ=(fonction) ),
1621            EPXY            =SIMP(statut='f',typ=(fonction) ),
1622            EPXZ            =SIMP(statut='f',typ=(fonction) ),
1623            EPYZ            =SIMP(statut='f',typ=(fonction) ),
1624          ),
1625          
1626          CONTACT         =FACT(statut='f',min=01,max='**',
1627            regles=(UN_PARMI('GROUP_MA_2','MAILLE_2'),
1628                    ENSEMBLE('FROTTEMENT','COULOMB'),
1629                    EXCLUS('DIST_2','COEF_IMPO'),
1630                    EXCLUS('DIST_1','COEF_IMPO'),
1631                    EXCLUS('COEF_MULT_2','GROUP_MA_1'),
1632                    EXCLUS('COEF_MULT_2','MAILLE_1'),
1633                    EXCLUS('COEF_IMPO','GROUP_MA_1'),
1634                    EXCLUS('COEF_IMPO','MAILLE_1'),),
1635            NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","PRES","TEMP") ),
1636            APPARIEMENT     =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL",
1637                                  into=("NON","NODAL","NODAL_SYME","MAIT_ESCL","MAIT_ESCL_SYME") ),
1638            RECHERCHE       =SIMP(statut='f',typ='TXM',defaut="NOEUD_VOISIN",
1639                                  into=("NOEUD_BOUCLE","NOEUD_VOISIN") ),
1640            METHODE         =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE",    
1641                                  into=("CONTRAINTE","LAGRANGIEN","PENALISATION") ),           
1642            FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), 
1643            COULOMB         =SIMP(statut='f',typ='R',max=1),
1644            E_T             =SIMP(statut='f',typ='R' ),  
1645            COEF_MATR_FROT  =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
1646            VECT_NORM_2     =SIMP(statut='f',typ='R',max=03),
1647            PROJECTION      =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE",) ),
1648            GROUP_MA_1      =SIMP(statut='f',typ=grma,max='**'),
1649            MAILLE_1        =SIMP(statut='f',typ=ma,max='**'  ),
1650            GROUP_MA_2      =SIMP(statut='f',typ=grma,max='**'),
1651            MAILLE_2        =SIMP(statut='f',typ=ma,max='**'  ),
1652            SANS_NOEUD      =SIMP(statut='f',typ=no,max='**'  ),
1653            SANS_GROUP_NO   =SIMP(statut='f',typ=grno,max='**'),
1654            DIST_1          =SIMP(statut='f',typ=(fonction) ),
1655            DIST_2          =SIMP(statut='f',typ=(fonction) ),
1656            COEF_IMPO       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
1657            COEF_MULT_2     =SIMP(statut='f',typ='R',defaut= 1.E+0 ),
1658          ),
1659          FLUX_THM_REP    =FACT(statut='f',min=01,max='**',
1660            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),
1661                    AU_MOINS_UN('FLUN','FLUN_HYDR1','FLUN_HYDR2'),),
1662            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1663            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1664            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1665            FLUN            =SIMP(statut='f',typ=(fonction) ),
1666            FLUN_HYDR1      =SIMP(statut='f',typ=(fonction) ),
1667            FLUN_HYDR2      =SIMP(statut='f',typ=(fonction) ),
1668          ),
1669          
1670          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
1671 )  ;
1672 #& MODIF COMMANDE  DATE 17/11/1999   AUTEUR CIBHHGB G.BERTRAND 
1673 AFFE_CHAR_OPS011=OPER(nom="AFFE_CHAR_OPS011",op= 190,sd_prod=char_ther,
1674                       fr=" ",
1675                       docu="          ",reentrant='n',
1676          regles=(AU_MOINS_UN('CARA_TORSION', ),),
1677          MODELE          =SIMP(statut='o',typ=modele ),
1678          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",    
1679                                into=("OUI","NON") ),
1680          TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400. ),  
1681          CARA_TORSION    =FACT(statut='f',min=01,max='**',
1682            regles=(UN_PARMI('TOUT','GROUP_MA'),),
1683            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1684            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1685          ),
1686          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
1687 )  ;
1688 #& MODIF COMMANDE  DATE 28/11/2000   AUTEUR CIBHHLV L.VIVAN 
1689 AFFE_CHAR_THER=OPER(nom="AFFE_CHAR_THER",op=34,sd_prod=char_ther
1690                     ,fr="Affectation de charges et conditions aux limites thermiques constantes",
1691                     docu="U4.44.02-F",reentrant='n',
1692       regles=(AU_MOINS_UN('TEMP_IMPO','SOURCE','FLUX_REP','ECHANGE',
1693                           'ECHANGE_PAROI','GRAD_TEMP_INIT','LIAISON_DDL','LIAISON_GROUP',
1694                           'LIAISON_UNIF','LIAISON_CHAMNO','RAYONNEMENT','LIAISON_MAIL' ),),
1695          MODELE          =SIMP(statut='o',typ=(modele) ),
1696          VERI_DDL        =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="OUI"),
1697          TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400. ),
1698          LIAISON_DDL     =FACT(statut='f',min=01,max='**',
1699            regles=(UN_PARMI('GROUP_NO','NOEUD', ),),
1700            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
1701            NOEUD           =SIMP(statut='f',typ=no,max='**'),
1702            DDL             =SIMP(statut='f',typ='TXM',max='**',
1703                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
1704            COEF_MULT       =SIMP(statut='o',typ='R',max='**'),
1705            COEF_IMPO       =SIMP(statut='o',typ='R' ),
1706          ),
1707          TEMP_IMPO       =FACT(statut='f',min=01,max='**',
1708            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
1709                    AU_MOINS_UN('TEMP_SUP','TEMP','TEMP_INF'),),
1710            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1711            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1712            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1713            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
1714            NOEUD           =SIMP(statut='f',typ=no,max='**'),
1715            TEMP            =SIMP(statut='f',typ='R'),
1716            TEMP_INF        =SIMP(statut='f',typ='R'),
1717            TEMP_SUP        =SIMP(statut='f',typ='R'), ),
1718          LIAISON_UNIF    =FACT(statut='f',min=01,max='**',
1719            regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
1720            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
1721            NOEUD           =SIMP(statut='f',typ=no,max='**'),
1722            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1723            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1724            DDL             =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
1725                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
1726          ),
1727          LIAISON_CHAMNO  =FACT(statut='f',min=01,max='**',
1728            CHAM_NO         =SIMP(statut='o',typ=cham_no),# CO()# "il faut definir une structure de donnee generique chamno"
1729            COEF_IMPO       =SIMP(statut='o',typ='R' ),
1730            NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
1731          ),
1732          SOURCE          =FACT(statut='f',min=01,max='**',
1733            regles=(UN_PARMI('SOUR','SOUR_CALCULEE',),
1734                         PRESENT_ABSENT('SOUR_CALCULEE','TOUT','GROUP_MA','MAILLE'),),
1735            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1736            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1737            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1738            SOUR            =SIMP(statut='f',typ='R'),
1739            SOUR_CALCULEE   =SIMP(statut='f',typ=(cham_elem_sour_r) ),
1740          ),
1741          FLUX_REP        =FACT(statut='f',min=01,max='**',
1742            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),
1743                         AU_MOINS_UN('FLUN','FLUN_INF','FLUN_SUP','CARA_TORSION') ),
1744            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1745            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1746            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1747            FLUN            =SIMP(statut='f',typ='R'),
1748            FLUN_INF        =SIMP(statut='f',typ='R'),
1749            FLUN_SUP        =SIMP(statut='f',typ='R'),
1750            CARA_TORSION    =SIMP(statut='f',typ=tabl_aire_int ),
1751          ),
1752          ECHANGE         =FACT(statut='f',min=01,max='**',
1753            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),
1754                         AU_MOINS_UN('COEF_H','COEF_H_INF','COEF_H_SUP'),
1755                              ENSEMBLE('COEF_H','TEMP_EXT',),
1756                    ENSEMBLE('COEF_H_INF','TEMP_EXT_INF'),
1757                              ENSEMBLE('COEF_H_SUP','TEMP_EXT_SUP'),),
1758            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1759            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1760            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1761            COEF_H          =SIMP(statut='f',typ='R'),
1762            TEMP_EXT        =SIMP(statut='f',typ='R'),
1763            COEF_H_INF      =SIMP(statut='f',typ='R'),
1764            TEMP_EXT_INF    =SIMP(statut='f',typ='R'),
1765            COEF_H_SUP      =SIMP(statut='f',typ='R'),
1766            TEMP_EXT_SUP    =SIMP(statut='f',typ='R'),
1767          ),
1768          ECHANGE_PAROI   =FACT(statut='f',min=01,max='**',
1769            regles=(UN_PARMI('GROUP_MA_1','MAILLE_1'),
1770                         UN_PARMI('GROUP_MA_2','MAILLE_2'),),
1771            GROUP_MA_1      =SIMP(statut='f',typ=grma,max='**'),
1772            MAILLE_1        =SIMP(statut='f',typ=ma,max='**'),
1773            GROUP_MA_2      =SIMP(statut='f',typ=grma,max='**'),
1774            MAILLE_2        =SIMP(statut='f',typ=ma,max='**'),
1775            COEF_H          =SIMP(statut='o',typ='R'),
1776            TRAN            =SIMP(statut='f',typ='R',max='**'),
1777            ANGL_NAUT       =SIMP(statut='f',typ='R',max='**'),
1778            CENTRE          =SIMP(statut='f',typ='R',max='**'),
1779                          ),
1780          GRAD_TEMP_INIT  =FACT(statut='f',min=01,max='**',
1781            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),
1782                         AU_MOINS_UN('FLUX_X','FLUX_Y','FLUX_Z'),),
1783            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1784            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1785            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1786            FLUX_X          =SIMP(statut='f',typ='R' ),
1787            FLUX_Y          =SIMP(statut='f',typ='R' ),
1788            FLUX_Z          =SIMP(statut='f',typ='R' ),
1789                          ),
1790          LIAISON_GROUP   =FACT(statut='f',min=01,max='**',
1791            regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
1792                    UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),
1793                              EXCLUS('GROUP_MA_1','GROUP_NO_2'),
1794                              EXCLUS('GROUP_MA_1','NOEUD_2'),
1795                    EXCLUS('GROUP_NO_1','GROUP_MA_2'),
1796                              EXCLUS('GROUP_NO_1','MAILLE_2'),
1797                              EXCLUS('MAILLE_1','GROUP_NO_2'),
1798                              EXCLUS('MAILLE_1','NOEUD_2'),
1799                              EXCLUS('NOEUD_1','GROUP_MA_2'),
1800                              EXCLUS('NOEUD_1','MAILLE_2'),
1801                              EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),),
1802            GROUP_MA_1      =SIMP(statut='f',typ=grma,max='**'),
1803            MAILLE_1        =SIMP(statut='f',typ=ma,max='**'),
1804            GROUP_NO_1      =SIMP(statut='f',typ=grno,max='**'),
1805            NOEUD_1         =SIMP(statut='f',typ=no,max='**'),
1806            GROUP_MA_2      =SIMP(statut='f',typ=grma,max='**'),
1807            MAILLE_2        =SIMP(statut='f',typ=ma,max='**'),
1808            GROUP_NO_2      =SIMP(statut='f',typ=grno,max='**'),
1809            NOEUD_2         =SIMP(statut='f',typ=no,max='**'),
1810            SANS_NOEUD      =SIMP(statut='f',typ=no,max='**'),
1811            SANS_GROUP_NO   =SIMP(statut='f',typ=grno,max='**'),
1812            DDL_1           =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
1813                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
1814            COEF_MULT_1     =SIMP(statut='o',typ='R',max='**'),
1815            DDL_2           =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
1816                                  into=("TEMP","TEMP_INF","TEMP_SUP",) ),
1817            COEF_MULT_2     =SIMP(statut='o',typ='R',max='**'),
1818            COEF_IMPO       =SIMP(statut='o',typ='R' ),
1819            SOMMET          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1820            TRAN            =SIMP(statut='f',typ='R',max='**'),
1821            ANGL_NAUT       =SIMP(statut='f',typ='R',max='**'),
1822            CENTRE          =SIMP(statut='f',typ='R',max='**'),
1823          ),
1824          CONVECTION      =FACT(statut='f',min=01,max='**',
1825            VITESSE         =SIMP(statut='o',typ=(cham_no_depl_r) ),
1826          ),
1827          RAYONNEMENT     =FACT(statut='f',min=01,max='**',
1828            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE',),
1829                         ENSEMBLE('SIGMA','EPSILON','TEMP_EXT'),),
1830            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1831            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1832            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1833            SIGMA           =SIMP(statut='o',typ='R'),
1834            EPSILON         =SIMP(statut='o',typ='R'),
1835            TEMP_EXT        =SIMP(statut='o',typ='R'),
1836          ),
1837          LIAISON_MAIL    =FACT(statut='f',min=01,max='**',
1838            regles=(PRESENT_ABSENT('GROUP_MA_1','GROUP_MA_ESCL','MAILLE_ESCL',        
1839                                   'GROUP_NO_ESCL','NOEUD_ESCL'),
1840                    PRESENT_ABSENT('MAILLE_1','GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL','NOEUD_ESCL'),     
1841                    PRESENT_ABSENT('GROUP_MA_2','GROUP_MA_MAIT','MAILLE_MAIT'),      
1842                    PRESENT_ABSENT('MAILLE_2','GROUP_MA_MAIT','MAILLE_MAIT'),        
1843                    PRESENT_ABSENT('GROUP_NO_2','GROUP_MA_MAIT','MAILLE_MAIT'),      
1844                    PRESENT_ABSENT('NOEUD_2','GROUP_MA_MAIT','MAILLE_MAIT'),         
1845                    AU_MOINS_UN('GROUP_MA_1','MAILLE_1','GROUP_MA_MAIT','MAILLE_MAIT'),
1846                    AU_MOINS_UN('GROUP_MA_2','MAILLE_2','GROUP_NO_2', 
1847                                'NOEUD_2','GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL',          
1848                                'NOEUD_ESCL'),),
1849            GROUP_MA_1      =SIMP(statut='f',typ=grma,max='**'), 
1850            MAILLE_1        =SIMP(statut='f',typ=ma,max='**'),
1851            GROUP_MA_MAIT   =SIMP(statut='f',typ=grma,max='**'),
1852            MAILLE_MAIT     =SIMP(statut='f',typ=ma,max='**'),
1853            GROUP_MA_2      =SIMP(statut='f',typ=grma,max='**'),
1854            MAILLE_2        =SIMP(statut='f',typ=ma,max='**'),
1855            GROUP_NO_2      =SIMP(statut='f',typ=grno,max='**'),
1856            NOEUD_2         =SIMP(statut='f',typ=no,max='**'),
1857            GROUP_MA_ESCL   =SIMP(statut='f',typ=grma,max='**'),
1858            MAILLE_ESCL     =SIMP(statut='f',typ=ma,max='**'),
1859            GROUP_NO_ESCL   =SIMP(statut='f',typ=grno,max='**'),
1860            NOEUD_ESCL      =SIMP(statut='f',typ=no,max='**'),
1861            TRAN            =SIMP(statut='f',typ='R',max='**' ),  
1862            ANGL_NAUT       =SIMP(statut='f',typ='R',max='**' ),  
1863            CENTRE          =SIMP(statut='f',typ='R',max='**' ),  
1864          ),
1865          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
1866 )  ;
1867 #& MODIF COMMANDE  DATE 12/05/99   AUTEUR VABHHTS J.PELLET 
1868 AFFE_CHAR_THER_F=OPER(nom="AFFE_CHAR_THER_F",op=33,sd_prod=char_ther,
1869                      fr="Affectation de charges et conditions aux limites thermiques fonction dune grandeur (temps, ...)",
1870                      docu="U4.44.02-F",reentrant='n',
1871       regles=(AU_MOINS_UN('TEMP_IMPO','SOURCE','FLUX_REP','FLUX_NL','ECHANGE',
1872                           'ECHANGE_PAROI','LIAISON_DDL','LIAISON_GROUP','LIAISON_UNIF',
1873                           'GRAD_TEMP_INIT','RAYONNEMENT'),),
1874          MODELE          =SIMP(statut='o',typ=(modele) ),
1875          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
1876          TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400. ),
1877          LIAISON_DDL     =FACT(statut='f',min=01,max='**',
1878            regles=(UN_PARMI('GROUP_NO','NOEUD'),),
1879            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
1880            NOEUD           =SIMP(statut='f',typ=no,max='**'),
1881            DDL             =SIMP(statut='f',typ='TXM',max='**',into=("TEMP","TEMP_INF","TEMP_SUP") ),
1882            COEF_MULT       =SIMP(statut='o',typ='R',max='**'),
1883            COEF_IMPO       =SIMP(statut='o',typ=(fonction) ),
1884          ),
1885          TEMP_IMPO       =FACT(statut='f',min=01,max='**',
1886            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
1887                    AU_MOINS_UN('TEMP_SUP','TEMP','TEMP_INF','EVOL_THER'),
1888                    PRESENT_ABSENT('EVOL_THER','TEMP','TEMP_INF','TEMP_SUP'),),
1889            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1890            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1891            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1892            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
1893            NOEUD           =SIMP(statut='f',typ=no,max='**'),
1894            EVOL_THER       =SIMP(statut='f',typ=(evol_ther) ),
1895            DDL             =SIMP(statut='f',typ='TXM',max='**',into=("TEMP",) ),
1896            TEMP            =SIMP(statut='f',typ=(fonction) ),
1897            TEMP_INF        =SIMP(statut='f',typ=(fonction) ),
1898            TEMP_SUP        =SIMP(statut='f',typ=(fonction) ),
1899          ),
1900          LIAISON_UNIF    =FACT(statut='f',min=01,max='**',
1901            regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
1902            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
1903            NOEUD           =SIMP(statut='f',typ=no,max='**'),
1904            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1905            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1906            DDL             =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
1907                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
1908          ),
1909          SOURCE          =FACT(statut='f',min=01,max='**',
1910            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
1911            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1912            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1913            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1914            SOUR            =SIMP(statut='o',typ=(fonction) ),
1915          ),
1916          FLUX_REP        =FACT(statut='f',min=01,max='**',
1917            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE',),
1918                         AU_MOINS_UN('FLUN','FLUN_INF','FLUN_SUP','FLUX_X','FLUX_Y','FLUX_Z'),),
1919            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1920            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1921            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1922            FLUN            =SIMP(statut='f',typ=(fonction) ),
1923            FLUN_INF        =SIMP(statut='f',typ=(fonction) ),
1924            FLUN_SUP        =SIMP(statut='f',typ=(fonction) ),
1925            FLUX_X          =SIMP(statut='f',typ=(fonction) ),
1926            FLUX_Y          =SIMP(statut='f',typ=(fonction) ),
1927            FLUX_Z          =SIMP(statut='f',typ=(fonction) ),
1928          ),
1929          FLUX_NL         =FACT(statut='f',min=01,max='**',
1930            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
1931            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1932            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1933            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1934            FLUN            =SIMP(statut='o',typ=(fonction) ),
1935          ),
1936          ECHANGE         =FACT(statut='f',min=01,max='**',
1937            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE',),
1938                         AU_MOINS_UN('COEF_H','COEF_H_INF','COEF_H_SUP'),
1939                         ENSEMBLE('COEF_H','TEMP_EXT'),
1940                    ENSEMBLE('COEF_H_INF','TEMP_EXT_INF'),
1941                         ENSEMBLE('COEF_H_SUP','TEMP_EXT_SUP'),),
1942            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1943            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1944            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1945            COEF_H          =SIMP(statut='f',typ=(fonction) ),
1946            TEMP_EXT        =SIMP(statut='f',typ=(fonction) ),
1947            COEF_H_INF      =SIMP(statut='f',typ=(fonction) ),
1948            TEMP_EXT_INF    =SIMP(statut='f',typ=(fonction) ),
1949            COEF_H_SUP      =SIMP(statut='f',typ=(fonction) ),
1950            TEMP_EXT_SUP    =SIMP(statut='f',typ=(fonction) ),
1951          ),
1952          ECHANGE_PAROI   =FACT(statut='f',min=01,max='**',
1953            regles=(UN_PARMI('GROUP_MA_1','MAILLE_1'),
1954                         UN_PARMI('GROUP_MA_2','MAILLE_2'),),
1955            GROUP_MA_1      =SIMP(statut='f',typ=grma,max='**'),
1956            MAILLE_1        =SIMP(statut='f',typ=ma,max='**'),
1957            GROUP_MA_2      =SIMP(statut='f',typ=grma,max='**'),
1958            MAILLE_2        =SIMP(statut='f',typ=ma,max='**'),
1959            COEF_H          =SIMP(statut='o',typ=(fonction) ),
1960            TRAN            =SIMP(statut='f',typ='R',max='**'),
1961            ANGL_NAUT       =SIMP(statut='f',typ='R',max='**'),
1962            CENTRE          =SIMP(statut='f',typ='R',max='**'),
1963          ),
1964          GRAD_TEMP_INIT  =FACT(statut='f',min=01,max='**',
1965            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),
1966                         AU_MOINS_UN('FLUX_X','FLUX_Y','FLUX_Z'),),
1967            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
1968            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
1969            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
1970            FLUX_X          =SIMP(statut='f',typ=(fonction) ),
1971            FLUX_Y          =SIMP(statut='f',typ=(fonction) ),
1972            FLUX_Z          =SIMP(statut='f',typ=(fonction) ),
1973          ),
1974          LIAISON_GROUP   =FACT(statut='f',min=01,max='**',
1975            regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
1976                    UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),
1977                              EXCLUS('GROUP_MA_1','GROUP_NO_2'),
1978                         EXCLUS('GROUP_MA_1','NOEUD_2'),
1979                    EXCLUS('GROUP_NO_1','GROUP_MA_2'),
1980                         EXCLUS('GROUP_NO_1','MAILLE_2'),
1981                         EXCLUS('MAILLE_1','GROUP_NO_2'),
1982                         EXCLUS('MAILLE_1','NOEUD_2'),
1983                         EXCLUS('NOEUD_1','GROUP_MA_2'),
1984                         EXCLUS('NOEUD_1','MAILLE_2'),
1985                         EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),),
1986            GROUP_MA_1      =SIMP(statut='f',typ=grma,max='**'),
1987            MAILLE_1        =SIMP(statut='f',typ=ma,max='**'),
1988            GROUP_NO_1      =SIMP(statut='f',typ=grno,max='**'),
1989            NOEUD_1         =SIMP(statut='f',typ=no,max='**'),
1990            GROUP_MA_2      =SIMP(statut='f',typ=grma,max='**'),
1991            MAILLE_2        =SIMP(statut='f',typ=ma,max='**'),
1992            GROUP_NO_2      =SIMP(statut='f',typ=grno,max='**'),
1993            NOEUD_2         =SIMP(statut='f',typ=no,max='**'),
1994            SANS_NOEUD      =SIMP(statut='f',typ=no,max='**'),
1995            SANS_GROUP_NO   =SIMP(statut='f',typ=grno,max='**'),
1996            DDL_1           =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
1997                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
1998            COEF_MULT_1     =SIMP(statut='o',typ='R',max='**'),
1999            DDL_2           =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
2000                                  into=("TEMP","TEMP_INF","TEMP_SUP") ),
2001            COEF_MULT_2     =SIMP(statut='o',typ='R',max='**'),
2002            COEF_IMPO       =SIMP(statut='o',typ=(fonction) ),
2003            SOMMET          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2004            TRAN            =SIMP(statut='f',typ='R',max='**'),
2005            ANGL_NAUT       =SIMP(statut='f',typ='R',max='**'),
2006            CENTRE          =SIMP(statut='f',typ='R',max='**'),
2007          ),
2008          CONVECTION      =FACT(statut='f',min=01,max='**',
2009            VITESSE         =SIMP(statut='o',typ=(cham_no_depl_r) ),
2010          ),
2011          RAYONNEMENT     =FACT(statut='f',min=01,max='**',
2012            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),
2013                         ENSEMBLE('SIGMA','EPSILON','TEMP_EXT'),),
2014            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2015            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
2016            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
2017            SIGMA           =SIMP(statut='o',typ=(fonction) ),
2018            EPSILON         =SIMP(statut='o',typ=(fonction) ),
2019            TEMP_EXT        =SIMP(statut='o',typ=(fonction) ),
2020          ),
2021          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
2022 )  ;
2023 #& MODIF COMMANDE  DATE 24/09/97   AUTEUR CIBHHLV L.VIVAN 
2024 AFFE_MATERIAU=OPER(nom="AFFE_MATERIAU",op=6,sd_prod=cham_mater,
2025                    fr="Affectation de caractéristiques de matériaux à un maillage",
2026                          docu="U4.43.03-F",reentrant='n',
2027          MAILLAGE        =SIMP(statut='o',typ=maillage),
2028          MODELE          =SIMP(statut='f',typ=modele),
2029          AFFE            =FACT(statut='o',min=01,max='**',
2030            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
2031            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2032            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
2033            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
2034            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
2035            NOEUD           =SIMP(statut='f',typ=no,max='**'),
2036            MATER           =SIMP(statut='o',typ=mater),
2037            TEMP_REF        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
2038          ),
2039 )  ;
2040 #& MODIF COMMANDE  DATE 26/09/2000   AUTEUR CIBHHLV L.VIVAN 
2041 AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele,docu="U4.41.01-F",
2042                  fr="Affectation des éléments finis sur le maillage",reentrant='n',
2043          regles=(AU_MOINS_UN('AFFE','AFFE_SOUS_STRUC'),),
2044          MAILLAGE        =SIMP(statut='o',typ=(maillage) ),
2045          TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400.),
2046          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
2047          VERIF           =SIMP(statut='f',typ='TXM',max='**',into=("MAILLE","NOEUD") ),
2048          AFFE_SOUS_STRUC =FACT(statut='f',min=01,max=01,
2049            regles=(UN_PARMI('TOUT','MAILLE'),),
2050            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2051            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
2052            PHENOMENE       =SIMP(statut='f',typ='TXM',defaut="MECANIQUE",into=("MECANIQUE",) ),
2053          ),
2054          AFFE            =FACT(statut='f',min=01,max='**',
2055            regles=(UN_PARMI('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD'),),
2056            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2057            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
2058            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
2059            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
2060            NOEUD           =SIMP(statut='f',typ=no,max='**'),
2061            PHENOMENE       =SIMP(statut='o',typ='TXM',
2062                                  into=("MECANIQUE","THERMIQUE","ACOUSTIQUE","NON_LOCAL") ),
2063                 b_mecanique     =BLOC( condition = "PHENOMENE=='MECANIQUE'",
2064                                         fr="modelisations mécaniques",
2065                     MODELISATION    =SIMP(statut='o',typ='TXM', into=(
2066                                                                       "2D_CONTACT",
2067                                                                       "2D_DIS_T",
2068                                                                       "2D_DIS_TR",
2069                                                                       "2D_FLUI_ABSO",
2070                                                                       "2D_FLUI_PESA",
2071                                                                       "2D_FLUI_STRU",
2072                                                                       "2D_FLUIDE",
2073                                                                       "3D",
2074                                                                       "3D_ABSO",
2075                                                                       "3D_CONTACT",
2076                                                                       "3D_FAISCEAU",
2077                                                                       "3D_FLUI_ABSO",
2078                                                                       "3D_FLUIDE",
2079                                                                       "3D_HHM" ,
2080                                                                       "3D_HM",
2081                                                                       "3D_INCO",
2082                                                                       "3D_JOINT_CT",
2083                                                                       "3D_SI",
2084                                                                       "3D_THH",
2085                                                                       "3D_THHM",
2086                                                                       "3D_THM",
2087                                                                       "APPUI_REP",
2088                                                                       "ASSE_GRIL",
2089                                                                       "AXIS",
2090                                                                       "AXIS_FLUI_STRU",
2091                                                                       "AXIS_FLUIDE",
2092                                                                       "AXIS_FOURIER",
2093                                                                       "AXIS_HHM",
2094                                                                       "AXIS_HM",
2095                                                                       "AXIS_INCO",
2096                                                                       "AXIS_SI",
2097                                                                       "AXIS_THH",
2098                                                                       "AXIS_THHM",
2099                                                                       "AXIS_THM",
2100                                                                       "BARRE",
2101                                                                       "C_PLAN",
2102                                                                       "CABLE",
2103                                                                       "CABLE_POULIE",
2104                                                                       "COQUE_3D",
2105                                                                       "COQUE_AXIS",
2106                                                                       "COQUE_C_PLAN",
2107                                                                       "COQUE_D_PLAN",
2108                                                                       "D_PLAN",
2109                                                                       "D_PLAN_ABSO",
2110                                                                       "D_PLAN_HHM",
2111                                                                       "D_PLAN_HM",
2112                                                                       "D_PLAN_SI",
2113                                                                       "D_PLAN_THH",
2114                                                                       "D_PLAN_THHM",
2115                                                                       "D_PLAN_THM",
2116                                                                       "DIS_T",
2117                                                                       "DIS_TR",
2118                                                                       "DKT",
2119                                                                       "DST",
2120                                                                       "FLUI_STRU",
2121                                                                       "GRILLE",
2122                                                                       "PLAN_INCO",
2123                                                                       "POU_C_T",
2124                                                                       "POU_D_E",
2125                                                                       "POU_D_T",
2126                                                                       "POU_D_T_GD",
2127                                                                       "POU_D_TG",
2128                                                                       "Q4G",
2129                                                                       "TUYAU",
2130                                                                       "TUYAU_6M"
2131                                                                      )  )  ),
2132                                                                      
2133                 b_thermique     =BLOC( condition = "PHENOMENE=='THERMIQUE'",
2134                                         fr="modelisations thermiques",
2135                     MODELISATION    =SIMP(statut='o',typ='TXM',into=( 
2136                                                                       "3D",
2137                                                                       "3D_DIAG",
2138                                                                       "AXIS",
2139                                                                       "AXIS_DIAG",
2140                                                                       "AXIS_FOURIER",
2141                                                                       "COQUE",
2142                                                                       "COQUE_AXIS",
2143                                                                       "COQUE_PLAN",
2144                                                                       "PLAN",
2145                                                                       "PLAN_DIAG",
2146                                                                       ),),),
2147                                                                      
2148                 b_acoustique    =BLOC( condition = "PHENOMENE=='ACOUSTIQUE'",
2149                                         fr="modelisations acoustiques",
2150                      MODELISATION    =SIMP(statut='o',typ='TXM',into=(
2151                                                                        "3D",
2152                                                                        "PLAN"
2153                                                                        ), ),),
2154                                                                        
2155                 b_non_local     =BLOC( condition = "PHENOMENE=='NON_LOCAL'",
2156                                         fr="modelisations non locales",
2157                      MODELISATION    =SIMP(statut='o',typ='TXM',into=(
2158                                                                       "3D",
2159                                                                       "AXIS",
2160                                                                       "C_PLAN",
2161                                                                       "D_PLAN",
2162                                                                      ) ), ),
2163          ),
2164 ) ;
2165 #& MODIF COMMANDE DATE 25/10/93 AUTEUR VABHHTS J.PELLET
2166 AIDE=PROC(nom="AIDE",op=42,docu="U4.02.01-F",
2167           fr="Interrogation sur le catalogue des commandes et les concepts produits",                                                                                                                                                                                           
2168          regles=(AU_MOINS_UN('COMMANDE','CONCEPT','TYPE_ELEM', ),),
2169          FICHIER         =SIMP(statut='f',typ='TXM',defaut="RESULTAT"),
2170          TYPE_ELEM       =FACT(fr="couple type_elem option",
2171                                statut='f',min=01,max=01,
2172            INITEL          =SIMP(statut='f',typ='TXM',defaut="NON",
2173                                  into=("OUI","NON",) ),
2174          ),
2175          COMMANDE        =FACT(statut='f',min=01,max='**',
2176            NOM             =SIMP(fr="liste des noms de commande", 
2177                                  statut='f',typ='TXM',max='**',defaut="*"),
2178            OPTION          =SIMP(fr="option d'édition de commande",
2179                                  statut='f',typ='TXM',defaut="CATALOGUE",
2180                                  into=("CATALOGUE","A_REMPLIR","NUMERO",) ),
2181          ),
2182          CONCEPT         =FACT(statut='f',min=01,max='**',
2183            NOM             =SIMP(fr="liste des noms de concept", 
2184                                  statut='f',typ='TXM',max='**',defaut="*"),
2185            OPTION          =SIMP(fr="option d'édition de concept",
2186                                  statut='f',typ='TXM',defaut="TOUT_TYPE",
2187                                  into=("TOUT_TYPE","CREER","A_CREER",) ),
2188          ),
2189 ) ;
2190 #& MODIF COMMANDE DATE 18/03/92 AUTEUR INCONNU INCONNU
2191 ASSE_MAILLAGE=OPER(nom="ASSE_MAILLAGE",op= 105,sd_prod=maillage,
2192                    fr="Assembler deux maillages sous un seul nom",
2193                    docu="U4.23.03-E",reentrant='n',
2194          MAILLAGE        =SIMP(statut='o',typ=maillage,min=02,max=02 ),
2195 )  ;
2196 #& MODIF COMMANDE  DATE 02/10/96   AUTEUR CIBHHLV L.VIVAN 
2197 ASSE_MATR_GENE=OPER(nom="ASSE_MATR_GENE",op= 128,sd_prod=matr_asse_gene_r,
2198                     fr="Assemblage des matrices généralisées de macro éléments pour construction de la matrice globale généralisée",
2199                     docu="U4.65.04-D",reentrant='n',
2200          NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
2201          OPTION          =SIMP(statut='o',typ='TXM',into=("RIGI_GENE","MASS_GENE","AMOR_GENE") ),
2202 )  ;
2203 #& MODIF COMMANDE  DATE 02/10/96   AUTEUR CIBHHLV L.VIVAN 
2204 def asse_matrice_prod(MATR_ELEM,**args):
2205   if AsType(MATR_ELEM) == matr_elem_depl_r : return matr_asse_depl_r
2206   if AsType(MATR_ELEM) == matr_elem_depl_c : return matr_asse_depl_c
2207   if AsType(MATR_ELEM) == matr_elem_temp_r : return matr_asse_temp_r
2208   if AsType(MATR_ELEM) == matr_elem_pres_c : return matr_asse_pres_c
2209   raise AsException("type de concept resultat non prevu")
2210
2211 ASSE_MATRICE=OPER(nom="ASSE_MATRICE",op=12,sd_prod=asse_matrice_prod,
2212                   fr="Construction d une matrice assemblée",docu="U4.61.22-F",reentrant='n',
2213          MATR_ELEM       =SIMP(statut='o',
2214                                typ=(matr_elem_depl_r,matr_elem_depl_c,matr_elem_temp_r,matr_elem_pres_c) ),
2215          NUME_DDL        =SIMP(statut='o',typ=nume_ddl),
2216          CHAR_CINE       =SIMP(statut='f',typ=(char_cine_meca,char_cine_ther,char_cine_acou) ),
2217          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
2218 )  ;
2219 #& MODIF COMMANDE DATE 30/06/93 AUTEUR T8BHHTK T.KERBER
2220 ASSE_VECT_GENE=OPER(nom="ASSE_VECT_GENE",op= 140,sd_prod=vect_asse_gene,
2221                     fr="Assemblage de vecteurs de chargement en coordonnées généralisées",
2222                     docu="U4.65.05-D",reentrant='n',
2223          NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
2224          CHAR_SOUS_STRUC =FACT(statut='o',min=01,max='**',
2225            SOUS_STRUC      =SIMP(statut='o',typ='TXM' ),
2226            VECT_ASSE       =SIMP(statut='o',typ=cham_no_depl_r ),
2227          ),
2228 )  ;
2229 #& MODIF COMMANDE  DATE 02/10/96   AUTEUR CIBHHLV L.VIVAN 
2230 def asse_vecteur_prod(VECT_ELEM,**args):
2231   if AsType(VECT_ELEM) == vect_elem_depl_r : return cham_no_depl_r
2232   if AsType(VECT_ELEM) == vect_elem_temp_r : return cham_no_temp_r
2233   if AsType(VECT_ELEM) == vect_elem_pres_r : return cham_no_pres_r
2234   if AsType(VECT_ELEM) == vect_elem_pres_c : return cham_no_pres_c
2235   raise AsException("type de concept resultat non prevu : %s" %`AsType(VECT_ELEM)`)
2236
2237 ASSE_VECTEUR=OPER(nom="ASSE_VECTEUR",op=13,sd_prod=asse_vecteur_prod,
2238                   fr="Assemblage d un second membre",docu="U4.61.23-F",reentrant='n',
2239          VECT_ELEM       =SIMP(statut='o',typ=vect_elem,max='**'),
2240          NUME_DDL        =SIMP(statut='o',typ=nume_ddl ),
2241          INFO            =SIMP(statut='f',typ='I',into=(1,2,) ),
2242 )  ;
2243 #& MODIF COMMANDE  DATE 28/09/98   AUTEUR ACBHHCD G.DEVESA 
2244 CALC_AMOR_MODAL=OPER(nom="CALC_AMOR_MODAL",op= 172,sd_prod=listr8,
2245                      fr="Création d'une liste d'amortissements modaux calculés selon la règle du RCC-G",
2246                      docu="U4.52.13-C",reentrant='n',
2247          ENER_SOL        =FACT(statut='o',min=01,max=01,
2248            regles=(UN_PARMI('GROUP_NO_RADIER','GROUP_MA_RADIER'),
2249                    PRESENT_ABSENT('COEF_GROUP','FONC_GROUP'),
2250 #  Peut-on remplacer les deux règles suivantes par un ENSEMBLE_('KRX','KRY','KRZ')
2251                    PRESENT_PRESENT('KRX','KRY'),
2252                    PRESENT_PRESENT('KRX','KRZ'),
2253                    PRESENT_ABSENT('COOR_CENTRE','NOEUD_CENTRE'),
2254                    PRESENT_ABSENT('GROUP_NO_CENTRE','NOEUD_CENTRE'),
2255                    PRESENT_ABSENT('GROUP_NO_CENTRE','COOR_CENTRE'),),
2256            METHODE         =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","RIGI_PARASOL") ),
2257            MODE_MECA       =SIMP(statut='o',typ=mode_meca ),
2258            GROUP_NO_RADIER =SIMP(statut='f',typ=grno,max='**'),
2259            GROUP_MA_RADIER =SIMP(statut='f',typ=grma,max='**'),
2260            FONC_GROUP      =SIMP(statut='f',typ=fonction ),
2261            COEF_GROUP      =SIMP(statut='f',typ='R',max='**'),
2262            KX              =SIMP(statut='o',typ='R' ),
2263            KY              =SIMP(statut='o',typ='R' ),
2264            KZ              =SIMP(statut='o',typ='R' ),
2265            KRX             =SIMP(statut='f',typ='R' ),
2266            KRY             =SIMP(statut='f',typ='R' ),
2267            KRZ             =SIMP(statut='f',typ='R' ),
2268            GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
2269            NOEUD_CENTRE    =SIMP(statut='f',typ=no),
2270            COOR_CENTRE     =SIMP(statut='f',typ='R',max=03),
2271          ),
2272          AMOR_INTERNE    =FACT(statut='o',min=01,max=01,
2273            ENER_POT        =SIMP(statut='o',typ=tabl_ener_pot ),
2274            GROUP_MA        =SIMP(statut='o',typ=grma,max='**'),
2275            AMOR_REDUIT     =SIMP(statut='o',typ='R',max='**'),
2276          ),
2277          AMOR_SOL        =FACT(statut='o',min=01,max=01,
2278            AMOR_REDUIT     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
2279            FONC_AMOR_GEO   =SIMP(statut='o',typ=fonction,max='**' ),
2280            HOMOGENE        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
2281            SEUIL           =SIMP(statut='f',typ='R',defaut= 0.3 ),
2282          ),
2283 )  ;
2284 #& MODIF COMMANDE  DATE 29/08/2000   AUTEUR ADBHHPM P.MASSIN 
2285 def calc_cham_elem_prod(OPTION,**args):
2286   if OPTION == "EQUI_ELGA_SIGM" : return cham_elem_sief_r
2287   if OPTION == "EQUI_ELNO_SIGM" : return cham_elem_sief_r
2288   if OPTION == "SIGM_ELNO_DEPL" : return cham_elem_sief_r
2289   if OPTION == "SIGM_ELNO_LAGR" : return cham_elem_sief_r
2290   if OPTION == "SIPO_ELNO_DEPL" : return cham_elem_sief_r
2291   if OPTION == "SIEF_ELGA_DEPL" : return cham_elem_sief_r
2292   if OPTION == "SIEF_ELGA_LAGR" : return cham_elem_sief_r
2293   if OPTION == "SIGM_ELNO_CART" : return cham_elem_sief_r
2294   if OPTION == "EFGE_ELNO_CART" : return cham_elem_sief_r
2295   if OPTION == "EFGE_ELNO_DEPL" : return cham_elem_sief_r
2296   if OPTION == "EQUI_ELGA_EPSI" : return cham_elem_epsi_r
2297   if OPTION == "EQUI_ELNO_EPSI" : return cham_elem_epsi_r
2298   if OPTION == "DEGE_ELNO_DEPL" : return cham_elem_epsi_r
2299   if OPTION == "EPSI_ELNO_DEPL" : return cham_elem_epsi_r
2300   if OPTION == "FLUX_ELGA_TEMP" : return cham_elem_flux_r
2301   if OPTION == "FLUX_ELNO_TEMP" : return cham_elem_flux_r
2302   if OPTION == "SOUR_ELGA_ELEC" : return cham_elem_sour_r
2303   if OPTION == "ENEL_ELGA" :      return cham_elem_ener_r
2304   if OPTION == "ENEL_ELNO_ELGA" : return cham_elem_ener_r
2305   if OPTION == "EPOT_ELEM_DEPL" : return cham_elem_ener_r
2306   if OPTION == "ECIN_ELEM_DEPL" : return cham_elem_ener_r
2307   if OPTION == "PRES_ELNO_DBEL" : return cham_elem_dbel_r
2308   if OPTION == "PRES_ELNO_REEL" : return cham_elem_pres_r
2309   if OPTION == "PRES_ELNO_IMAG" : return cham_elem_pres_r
2310   if OPTION == "PRES_DBEL_DEPL" : return cham_elem_dbel_r
2311   if OPTION == "ENDO_ELNO_SIGM" : return cham_elem_sief_r
2312   if OPTION == "COOR_ELGA" :      return cham_elem_geom_r
2313   raise AsException("type de concept resultat non prevu")
2314
2315 CALC_CHAM_ELEM=OPER(nom="CALC_CHAM_ELEM",op=38,sd_prod=calc_cham_elem_prod,
2316                     fr="Calcul de champs par éléments (contraintes, déformations ou flux) à partir de champs solution (déplacement ou température) ou de champs  par éléments",
2317                     docu="U4.81.03-F",reentrant='n',
2318          MODELE          =SIMP(statut='o',typ=modele),
2319          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
2320          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
2321  
2322          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2323          GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
2324          MAILLE          =SIMP(statut='f',typ=ma,max='**'),
2325
2326
2327
2328 #  introduire un mot cle de type modelisation : mécanique,thermique,...
2329
2330
2331          OPTION          =SIMP(statut='o',typ='TXM',
2332                                into=("DEGE_ELNO_DEPL","EFGE_ELNO_DEPL","EPOT_ELEM_DEPL",
2333                                      "EPSI_ELNO_DEPL","PRES_DBEL_DEPL","SIGM_ELNO_DEPL",
2334                                      "SIEF_ELGA_DEPL","SIEF_ELGA_LAGR","SIGM_ELNO_LAGR",
2335                                      "EFGE_ELNO_CART","ENDO_ELNO_SIGM","EQUI_ELGA_EPSI",
2336                                      "EQUI_ELGA_SIGM","EQUI_ELNO_EPSI","EQUI_ELNO_SIGM",
2337                                      "SIGM_ELNO_CART","ECIN_ELEM_DEPL","SIPO_ELNO_DEPL",
2338                                      "FLUX_ELNO_TEMP","FLUX_ELGA_TEMP","SOUR_ELGA_ELEC",
2339                                      "PRES_ELNO_DBEL","PRES_ELNO_REEL","PRES_ELNO_IMAG",
2340                                      "COOR_ELGA","ENEL_ELGA","ENEL_ELNO_ELGA"), ),
2341          DEPL            =SIMP(statut='f',typ=(cham_no_depl_r,cham_no_depl_c)),
2342          PROPAGATION     =SIMP(statut='f',typ='R',defaut= 0.E+0),
2343          CHAM_ELEM       =SIMP(statut='f',typ=(cham_elem_sief_r,cham_elem_epsi_r) ),
2344          FREQ            =SIMP(statut='f',typ='R'),
2345          VITE            =SIMP(statut='f',typ=cham_no_depl_r),
2346          EXCIT           =FACT(statut='f',min=01,max='**',
2347                regles=(EXCLUS('FONC_MULT','COEF_MULT', ),),
2348                CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou)),
2349                FONC_MULT       =SIMP(statut='f',typ=fonction),
2350                COEF_MULT       =SIMP(statut='f',typ='R'),
2351          ),
2352          INST            =SIMP(statut='f',typ='R',defaut= 0.E+0),
2353          ACCE            =SIMP(statut='f',typ=cham_no_depl_r),
2354          NUME_COUCHE     =SIMP(statut='f',typ='I',defaut= 1),
2355          NIVE_COUCHE     =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY") ),
2356          MODE_FOURIER    =SIMP(statut='f',typ='I',defaut= 0 ),
2357
2358          TEMP            =SIMP(statut='f',typ=(cham_no_temp_r) ),
2359
2360          PRES            =SIMP(statut='f',typ=(cham_no_pres_c) ),
2361
2362          TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400.),
2363          ANGLE           =SIMP(statut='f',typ='I',defaut= 0),
2364          PLAN            =SIMP(statut='f',typ='TXM',defaut="MAIL",
2365                                into=("SUP","INF","MOY","MAIL"), ),
2366 )  ;
2367 #& MODIF COMMANDE  DATE 11/02/98   AUTEUR CIBHHLV L.VIVAN
2368 def calc_char_cine_prod(CHAR_CINE,**args):
2369   if AsType(CHAR_CINE) == char_cine_meca : return cham_no_depl_r
2370   if AsType(CHAR_CINE) == char_cine_ther : return cham_no_temp_r
2371   if AsType(CHAR_CINE) == char_cine_acou : return cham_no_pres_c
2372   raise AsException("type de concept resultat non prevu")
2373
2374 CALC_CHAR_CINE=OPER(nom="CALC_CHAR_CINE",op= 102,sd_prod=calc_char_cine_prod,
2375                     fr="Calcul des seconds membres associés à des charges cinématiques (conditions aux limites non dualisées)",
2376                     docu="U4.61.03-E",reentrant='n',
2377          NUME_DDL        =SIMP(statut='o',typ=nume_ddl ),
2378          CHAR_CINE       =SIMP(statut='o',typ=(char_cine_meca,char_cine_ther,char_cine_acou ) ),
2379          INST            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
2380          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
2381 )  ;
2382 #& MODIF COMMANDE DATE 08/03/94 AUTEUR VABHHT2 G.BERTRAND
2383 def calc_char_seisme_prod(MATR_MASS,**args ):
2384   if AsType(MATR_MASS) == matr_asse_depl_r : return cham_no_depl_r
2385   raise AsException("type de concept resultat non prevu")
2386
2387 CALC_CHAR_SEISME=OPER(nom="CALC_CHAR_SEISME",op=  92,sd_prod=calc_char_seisme_prod,
2388                       fr="Calcul du chargement sismique (forces d inertie fictives) pour une étude ultérieure de la réponse en mouvement relatif par rapport aux appuis",
2389                       docu="U4.63.01-E",reentrant='n',
2390          regles=(UN_PARMI('MONO_APPUI','MODE_STAT' ),),
2391          MATR_MASS       =SIMP(statut='o',typ=matr_asse_depl_r,fr="Matrice de masse" ),
2392          DIRECTION       =SIMP(statut='o',typ='R',max=06,fr="Directions du séisme imposé"),
2393          MONO_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),         
2394          MODE_STAT       =SIMP(statut='f',typ=mode_stat ),
2395          b_mode_stat     =BLOC ( condition = "MODE_STAT != None",
2396            regles=(UN_PARMI('NOEUD','GROUP_NO' ),),
2397            NOEUD           =SIMP(statut='f',typ=no,max='**'),
2398            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
2399          ),
2400          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
2401 )  ;
2402 #& MODIF COMMANDE  DATE 29/08/2000   AUTEUR ADBHHPM P.MASSIN 
2403 def calc_elem_prod(RESULTAT,**args):
2404   if AsType(RESULTAT) == evol_elas :    return evol_elas
2405   if AsType(RESULTAT) == evol_noli :    return evol_noli
2406   if AsType(RESULTAT) == evol_ther :    return evol_ther
2407   if AsType(RESULTAT) == dyna_trans :   return dyna_trans
2408   if AsType(RESULTAT) == dyna_harmo :   return dyna_harmo
2409   if AsType(RESULTAT) == acou_harmo :   return acou_harmo
2410   if AsType(RESULTAT) == mode_meca :    return mode_meca
2411   if AsType(RESULTAT) == mode_flamb :   return mode_flamb
2412   if AsType(RESULTAT) == mode_acou :    return mode_acou
2413   if AsType(RESULTAT) == mode_stat :    return mode_stat
2414   if AsType(RESULTAT) == mult_elas :    return mult_elas
2415   if AsType(RESULTAT) == fourier_elas : return fourier_elas
2416   if AsType(RESULTAT) == base_modale  : return base_modale
2417   raise AsException("type de concept resultat non prevu")
2418
2419 CALC_ELEM=OPER(nom="CALC_ELEM",op=58,sd_prod=calc_elem_prod,docu="U4.81.01-F",reentrant='f',
2420                     fr="Compléter un résultat en calculant des champs par éléments (contraintes, déformations,... )",
2421          MODELE          =SIMP(statut='o',typ=modele),
2422          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
2423          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
2424
2425          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2426          GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
2427          MAILLE          =SIMP(statut='f',typ=ma,max='**'),
2428
2429          regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
2430                         'NOEUD_CMP','LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS'),),
2431          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2432          NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),
2433          NUME_MODE       =SIMP(statut='f',typ='I',max='**'),
2434          NOEUD_CMP       =SIMP(statut='f',typ='TXM',max='**'),
2435          NOM_CAS         =SIMP(statut='f',typ='TXM' ),
2436  
2437          INST            =SIMP(statut='f',typ='R',max='**'),
2438          FREQ            =SIMP(statut='f',typ='R',max='**'),
2439          LIST_INST       =SIMP(statut='f',typ=listr8),
2440          LIST_FREQ       =SIMP(statut='f',typ=listr8),
2441          PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
2442          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
2443
2444          LIST_ORDRE      =SIMP(statut='f',typ=listis),
2445
2446          OPTION          =SIMP(statut='o',typ='TXM',max='**',
2447                                into=("EFGE_ELNO_DEPL","EPOT_ELEM_DEPL","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL",
2448                                      "SIGM_ELNO_TUYO","SIGM_ELNO_CART","DEGE_ELNO_DEPL","EFGE_ELNO_CART",
2449                                      "EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPSG_ELNO_DEPL","EPSG_ELGA_DEPL",
2450                                      "EPME_ELNO_DEPL","EPME_ELGA_DEPL","EPMG_ELNO_DEPL","EPMG_ELGA_DEPL",
2451                                      "EPSP_ELNO","EPSP_ELGA","ECIN_ELEM_DEPL","SIPO_ELNO_DEPL",
2452                                      "EPGR_ELNO","EPGR_ELGA","DURT_ELGA_META","DURT_ELNO_META",
2453                                      "SIGM_ELNO_COQU","SIGM_ELNO_SIEF","SIPO_ELNO_SIEF",
2454                                      "SIGM_NOZ1_ELGA","ERRE_ELEM_NOZ1","SIGM_NOZ2_ELGA","ERRE_ELEM_NOZ2",
2455                                      "VNOR_ELEM_DEPL","SIRE_ELNO_DEPL","ERRE_ELGA_NORE","ERRE_ELNO_ELGA",
2456                                      "VARI_ELNO_ELGA","VARI_ELNO_TUYO","EQUI_ELNO_SIGM","EQUI_ELGA_SIGM",
2457                                      "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI","EQUI_ELNO_EPME","EQUI_ELGA_EPME",
2458                                      "DCHA_ELNO_SIGM","DCHA_ELGA_SIGM","RADI_ELNO_SIGM","RADI_ELGA_SIGM",
2459                                      "ENDO_ELNO_SIGA","ENDO_ELNO_SINO","ENEL_ELGA","ENEL_ELNO_ELGA","SIEF_ELNO_ELGA",
2460                                      "DEUL_ELGA_TEMP","DETE_ELNO_DLTE","DEUL_ELGA_DEPL","DEDE_ELNO_DLDE",
2461                                      "DLSI_ELGA_DEPL","DESI_ELNO_DLSI","PMPB_ELNO_SIEF","PMPB_ELGA_SIEF",
2462                                      "FLUX_ELGA_TEMP","FLUX_ELNO_TEMP",
2463                                      "SOUR_ELGA_ELEC",
2464                                      "PRES_ELNO_DBEL","PRES_DBEL_DEPL","PRES_ELNO_REEL","PRES_ELNO_IMAG",
2465                                      "INTE_ELNO_ACTI","INTE_ELNO_REAC",
2466                                      ) ),
2467          RESULTAT        =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,mode_meca,
2468                                                mode_stat,evol_noli,mult_elas,fourier_elas,
2469                                                evol_ther,base_modale,
2470                                                acou_harmo,mode_acou,mode_flamb) ),
2471          EXCIT           =FACT(statut='f',min=01,max='**',
2472              regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),),
2473              CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),
2474              FONC_MULT       =SIMP(statut='f',typ=fonction),
2475              FONC_MULT_C     =SIMP(statut='f',typ=fonction_c),
2476              COEF_MULT       =SIMP(statut='f',typ='R'),
2477              COEF_MULT_C     =SIMP(statut='f',typ='C'),
2478              PHAS_DEG        =SIMP(statut='f',typ='R'),
2479              PUIS_PULS       =SIMP(statut='f',typ='I'),
2480              TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
2481          ),
2482          NORME           =SIMP(statut='f',typ='TXM',defaut="VMIS",
2483                                into=("VMIS","TOTAL","VMIS_CINE","TOTAL_CINE") ),
2484          NUME_COUCHE     =SIMP(statut='f',typ='I',defaut= 1 ),
2485          NIVE_COUCHE     =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY") ),
2486           
2487          ANGLE           =SIMP(statut='f',typ='I',defaut= 0 ),
2488          PLAN            =SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL") ),
2489          SENSIBILITE     =FACT(statut='f',min=01,max=01,
2490            THETA           =SIMP(statut='f',typ=(theta_geom) ),
2491          ),  
2492          TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400.),
2493          EFGE_REPERE     =FACT(statut='f',min=01,max=01,
2494              regles=(UN_PARMI('ANGL_REP','VECT_X_Y','VECT_X_Z'),),
2495              ANGL_REP        =SIMP(statut='f',typ='R',max='**'),
2496              VECT_X_Y        =SIMP(statut='f',typ='R',max='**'),
2497              VECT_X_Z        =SIMP(statut='f',typ='R',max='**'),
2498          ),
2499          
2500          TEMP_INIT       =FACT(statut='f',min=01,max='**',
2501              regles=(EXCLUS('META_INIT','EVOL_THER'),),
2502              META_INIT       =SIMP(statut='f',typ=carte_meta_r),
2503              EVOL_THER       =SIMP(statut='f',typ=evol_ther,),
2504              NUME_INIT       =SIMP(statut='f',typ='I'),
2505          ),
2506                  
2507          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
2508 )  ;
2509 #& MODIF COMMANDE  DATE 03/05/2000   AUTEUR CIBHHLV L.VIVAN
2510 CALC_FATIGUE=OPER(nom="CALC_FATIGUE",op= 151,sd_prod=cham_elem_dommag,reentrant='n',
2511                   fr="Calcul d un champ de dommage subi par une structure",
2512                   docu="U4.83.02-C",                                                                                                                                                                                                             
2513       regles=(PRESENT_PRESENT('DOMMAGE','MATER', ),),
2514          OPTION          =SIMP(statut='o',typ='TXM',
2515                                into=("DOMA_ELNO_SIGM","DOMA_ELGA_SIGM",
2516                                      "DOMA_ELNO_EPSI","DOMA_ELGA_EPSI",
2517                                      "DOMA_ELNO_EPME","DOMA_ELGA_EPME") ),
2518          HISTOIRE        =FACT(statut='o',min=01,max=01,
2519            RESULTAT        =SIMP(statut='o',typ=(evol_elas,dyna_trans,evol_noli) ),
2520            EQUI_GD         =SIMP(statut='f',typ='TXM',defaut="VMIS_SG",into=("VMIS_SG","INVA_2_SG") ),
2521          ),
2522          DOMMAGE         =SIMP(statut='o',typ='TXM',
2523                                into=("WOHLER","MANSON_COFFIN","TAHERI_MANSON","TAHERI_MIXTE",) ),
2524          MATER           =SIMP(statut='o',typ=(mater) ),
2525          TAHERI_NAPPE    =SIMP(statut='f',typ=(fonction) ),
2526          TAHERI_FONC     =SIMP(statut='f',typ=(fonction) ),
2527          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
2528 )  ;
2529 #& MODIF COMMANDE  DATE 03/05/2000   AUTEUR CIBHHAB N.RAHNI 
2530 CALC_FLUI_STRU=OPER(nom="CALC_FLUI_STRU",op= 144,sd_prod=melasflu,
2531                     fr="Calcul des paramètres modaux d une structure soumise à un écoulement, en prenant en compte les forces fluidélastiques",
2532                     docu="U4.66.02-C",reentrant='n',
2533          VITE_FLUI       =FACT(statut='o',min=01,max=01,
2534                                fr="Définir la plage de vitesse fluide étudiée",
2535            VITE_MIN        =SIMP(statut='o',typ='R' ),
2536            VITE_MAX        =SIMP(statut='o',typ='R' ),
2537            NB_POIN         =SIMP(statut='o',typ='I' ),
2538          ),
2539          BASE_MODALE     =FACT(statut='o',min=01,max=01,
2540                                
2541            regles=(UN_PARMI('AMOR_REDUIT','AMOR_UNIF'),),
2542            MODE_MECA       =SIMP(statut='o',typ=mode_meca ),
2543            NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),
2544            AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
2545            AMOR_UNIF       =SIMP(statut='f',typ='R' ),
2546          ),
2547          TYPE_FLUI_STRU  =SIMP(statut='o',typ=type_flui_stru ),
2548          IMPRESSION      =FACT(statut='f',min=01,max=01,
2549                                fr="Choix des informations à imprimer dans le fichier RESULTAT",
2550            PARA_COUPLAGE   =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
2551            DEFORMEE        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
2552          ),
2553 )  ;
2554 #& MODIF COMMANDE  DATE 11/02/98   AUTEUR CIBHHLV L.VIVAN
2555 CALC_FONC_INTERP=OPER(nom="CALC_FONC_INTERP",op= 134,sd_prod=fonction,
2556                       fr="Construire un concept de type fonction à partir d une fonction réelle de la variable réelle définie par une FORMULE",
2557                       docu="U4.32.01-D",reentrant='f',
2558          regles=(UN_PARMI('VALE_R','LIST_PARA'),),
2559          FONCTION        =SIMP(statut='o',typ=fonction ),
2560          NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"),
2561          VALE_R          =SIMP(statut='f',typ='R',max='**'),
2562          LIST_PARA       =SIMP(statut='f',typ=listr8 ),
2563          INTERPOL        =SIMP(statut='f',typ='TXM',max=02,defaut="LIN",into=("NON","LIN","LOG","INT") ),
2564          PROL_DROIT      =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("EXCLU","CONSTANT","LINEAIRE","INTERPRE") ),
2565          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("EXCLU","CONSTANT","LINEAIRE","INTERPRE") ),
2566          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
2567          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
2568 )  ;
2569 #& MODIF COMMANDE  DATE 20/06/2000   AUTEUR ACBHHCD G.DEVESA
2570 def calc_fonction_prod(DERIVE,EXTRACTION,INTEGRE,RMS,MAX,COMB,COMB_C,ENVELOPPE,SPEC_OSCI,FFT,COMPOSE,**args):
2571   if (RMS != None)        : return tabl_fonc_rms
2572   if (MAX != None)        : return tabl_fonc_max
2573   if (INTEGRE != None)    : return fonction
2574   if (DERIVE != None)     : return fonction
2575   if (COMB != None)       : return fonction
2576   if (ENVELOPPE != None)  : return fonction
2577   if (EXTRACTION != None) : return fonction
2578   if (SPEC_OSCI != None)  : return fonction
2579   if (COMB_C != None)     : return fonction_c
2580   if (COMPOSE != None)    : return fonction
2581   if (FFT != None)        : 
2582      vale=FFT.get_child('FONCTION').get_valeur()
2583      if (AsType(vale) == fonction )  : return fonction_c
2584      if (AsType(vale) == fonction_c) : return fonction
2585   raise AsException("type de concept resultat non prevu")
2586
2587 CALC_FONCTION=OPER(nom="CALC_FONCTION",op=  91,sd_prod=calc_fonction_prod
2588                     ,fr="Opérations mathématiques sur des concepts de type fonction",
2589                      docu="U4.32.04-E",reentrant='n',
2590          regles=(UN_PARMI('DERIVE','INTEGRE','SPEC_OSCI','MAX','COMB','ENVELOPPE','RMS',
2591                           'COMB_C','COMPOSE','EXTRACTION','ASSE','FFT' ),),
2592          FFT             =FACT(statut='f',min=01,max=01,fr="Calcul de la transformee de Fourier ou de son inverse",
2593            FONCTION        =SIMP(statut='o',typ=(fonction,fonction_c) )
2594          ),
2595          DERIVE          =FACT(statut='f',min=01,max=01,fr="Calcul de la dérivée d une fonction",
2596            METHODE         =SIMP(statut='f',typ='TXM',defaut="DIFF_CENTREE",into=("DIFF_CENTREE",) ),
2597            FONCTION        =SIMP(statut='o',typ=fonction ),
2598          ),
2599          INTEGRE         =FACT(statut='f',min=01,max=01,fr="Calcul de l intégrale d une fonction",
2600            METHODE         =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ),
2601            FONCTION        =SIMP(statut='o',typ=fonction),
2602            COEF            =SIMP(statut='f',typ='R',defaut= 0.E+0,fr="Valeur de la constante d intégration" ),
2603          ),
2604          RMS             =FACT(statut='f',min=01,max=01,fr="Calcul de la valeur RMS d une fonction",
2605            METHODE         =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ),
2606            FONCTION        =SIMP(statut='o',typ=fonction ),
2607            INST_INIT       =SIMP(statut='f',typ='R',fr="Instant initial définissant le début du signal" ),
2608            INST_FIN        =SIMP(statut='f',typ='R',fr="Instant final définissant la fin du signal" ),
2609            b_inst          =BLOC ( condition = "(INST_INIT != None) or (INST_FIN != None)",
2610              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
2611              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
2612            ),  
2613          ),
2614          SPEC_OSCI       =FACT(statut='f',min=01,max=01,fr="Calcul du spectre d oscillateur",
2615            METHODE         =SIMP(statut='f',typ='TXM',defaut="NIGAM",into=("NIGAM",) ),
2616            FONCTION        =SIMP(statut='o',typ=fonction ),
2617            AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
2618            LIST_FREQ       =SIMP(statut='f',typ=listr8 ),
2619            FREQ            =SIMP(statut='f',typ='R',max='**'),
2620            NORME           =SIMP(statut='f',typ='R',defaut= 9.81,fr="Valeur de la norme du spectre d oscillateur" ),
2621            NATURE          =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("DEPL","VITE","ACCE") ),
2622            NATURE_FONC     =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("DEPL","VITE","ACCE") ),
2623          ),
2624          MAX             =FACT(statut='f',min=01,max=01,fr="Calcul des extrémas locaux d une fonction",
2625            FONCTION        =SIMP(statut='o',typ=fonction ),
2626          ),
2627          COMB            =FACT(statut='f',min=01,max='**',fr="Calcul d une combinaison linéaire réelle de fonctions",
2628            FONCTION        =SIMP(statut='o',typ=fonction ),
2629            COEF            =SIMP(statut='o',typ='R',fr="Coefficient réel de la combinaison linéaire associée à la fonction" ),
2630          ),
2631          COMB_C          =FACT(statut='f',min=01,max='**',fr="Calcul d une combinaison linéaire complexe de fonctions",
2632            regles=(UN_PARMI('COEF_R','COEF_C'),),
2633            FONCTION        =SIMP(statut='o',typ=(fonction, fonction_c) ),
2634            COEF_R          =SIMP(statut='f',typ='R',fr="Coefficient réel de la combinaison linéaire associée à la fonction" ),
2635            COEF_C          =SIMP(statut='f',typ='C',fr="Coefficient complexe de la combinaison linéaire associée à la fonction" ),
2636          ),
2637          b_comb          =BLOC ( condition = " (COMB != None) or (COMB_C != None)",
2638              LIST_PARA      =SIMP(statut='f',typ=listr8 ),  
2639          ),
2640          COMPOSE         =FACT(statut='f',min=01,max=01,fr="Calcul de la composition de deux fonctions FONC_RESU(FONC_PARA)",
2641            FONC_RESU       =SIMP(statut='o',typ=fonction),
2642            FONC_PARA       =SIMP(statut='o',typ=fonction),
2643          ),
2644          EXTRACTION      =FACT(statut='f',min=01,max=01,fr="Opération d extraction sur une fonction complexe",
2645            FONCTION        =SIMP(statut='o',typ=fonction_c),
2646            PARTIE          =SIMP(statut='o',typ='TXM',into=("REEL","IMAG","MODULE","PHASE"),fr="Partie à extraire"),
2647          ),
2648          ENVELOPPE       =FACT(statut='f',min=01,max=01,fr="Calcul de l enveloppe d une famille de fonctions",
2649            FONCTION        =SIMP(statut='o',typ=fonction,max='**' ),
2650            CRITERE         =SIMP(statut='f',typ='TXM',defaut="SUP",into=("SUP","INF"),fr="Type de l enveloppe" ),
2651          ),
2652          ASSE            =FACT(statut='f',min=01,max=01,fr="Création à partir de la concatenation de fonctions",
2653            FONCTION        =SIMP(statut='o',typ=fonction,max='**' ),
2654            SURCHARGE       =SIMP(statut='f',typ='TXM',defaut="DROITE",into=("DROITE","GAUCHE")),
2655          ),
2656          NOM_PARA        =SIMP(statut='f',typ='TXM',into=("DX","DY","DZ","DRX","DRY","DRZ","TEMP",
2657                                                           "INST","X","Y","Z","EPSI","FREQ","PULS",
2658                                                           "AMOR","ABSC") ),
2659          NOM_RESU        =SIMP(statut='f',typ='TXM' ),
2660          INTERPOL        =SIMP(statut='f',typ='TXM',max=02,into=("NON","LIN","LOG") ),
2661          PROL_DROIT      =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
2662          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
2663          NOM_PARA_FONC   =SIMP(statut='f',typ='TXM',into=("DX","DY","DZ","DRX","DRY","DRZ","TEMP",
2664                                                           "INST","X","Y","Z","EPSI","FREQ","PULS",
2665                                                           "AMOR","ABSC") ),
2666          INTERPOL_FONC   =SIMP(statut='f',typ='TXM',max=02,into=("NON","LIN","LOG") ),
2667          PROL_DROIT_FONC =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
2668          PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
2669          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
2670          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
2671 )  ;
2672 #& MODIF COMMANDE  DATE 03/10/2000   AUTEUR VABHHTS J.PELLET 
2673 CALC_G_LOCAL_T=OPER(nom="CALC_G_LOCAL_T",op=77,sd_prod=tabl_calc_g_loca,
2674                     fr="Calcul du taux de restitution local d énergie",docu="U4.82.04-E",reentrant='n',
2675          MODELE          =SIMP(statut='o',typ=modele),
2676          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
2677          FOND            =SIMP(statut='o',typ=fond_fiss),
2678          regles=(UN_PARMI('RESULTAT','DEPL'),
2679                  UN_PARMI('R_INF','R_INF_FO'),
2680                  PRESENT_PRESENT('R_INF','R_SUP'),
2681                  PRESENT_PRESENT('R_INF_FO','R_SUP_FO'), ),
2682                          
2683          DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
2684          RESULTAT        =SIMP(statut='f',typ=(evol_elas,evol_noli),),
2685          b_extrac        =BLOC(condition="RESULTAT != None",fr="extraction d un champ",
2686              regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
2687              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2688              NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),
2689              LIST_ORDRE      =SIMP(statut='f',typ=listis),
2690              INST            =SIMP(statut='f',typ='R',max='**'),
2691              LIST_INST       =SIMP(statut='f',typ=listr8),
2692              
2693              b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)",
2694                PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),
2695                CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
2696              ),
2697          ),
2698  
2699          CHARGE          =SIMP(statut='f',typ=char_meca,max='**'),
2700          SYME_CHAR       =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","ANTI","SANS") ),
2701  
2702          COMP_ELAS       =FACT(statut='f',min=01,max=01,
2703                RELATION        =SIMP(statut='f',typ='TXM',defaut="ELAS",
2704                                      into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC") ),
2705                ELAS            =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
2706                ELAS_VMIS_LINE  =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
2707                ELAS_VMIS_TRAC  =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
2708                DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","GREEN") ),
2709                TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2710                GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
2711                MAILLE          =SIMP(statut='f',typ=ma,max='**'),
2712          ),
2713  
2714          COMP_INCR       =FACT(statut='f',min=01,max=01,
2715                RELATION        =SIMP(statut='f',typ='TXM',defaut="ELAS",
2716                                      into=("ELAS","VMIS_ISOT_TRAC","VMIS_ISOT_LINE","VMIS_CINE_LINE") ),
2717                ELAS            =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
2718                VMIS_ISOT_TRAC  =SIMP(statut='f',typ='I',defaut=2,into=(2,) ),
2719                VMIS_ISOT_LINE  =SIMP(statut='f',typ='I',defaut=2,into=(2,) ),
2720                VMIS_CINE_LINE  =SIMP(statut='f',typ='I',defaut=7,into=(7,) ),
2721                DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","PETIT_REAC") ),
2722                TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2723                GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
2724                MAILLE          =SIMP(statut='f',typ=ma,max='**'),
2725          ),
2726          
2727          ETAT_INIT       =FACT(statut='f',min=01,max=01,
2728            SIGM            =SIMP(statut='f',typ=cham_elem_sief_r),
2729            DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
2730          ),
2731
2732          OPTION          =SIMP(statut='f',typ='TXM',defaut="CALC_G",into=("CALC_G","CALC_G_LGLO") ),
2733          b_g_lglo        =BLOC(condition="OPTION=='CALC_G_LGLO'",
2734            PROPAGATION     =SIMP(statut='o',typ='R'),
2735            THETA           =SIMP(statut='o',typ=theta_geom),
2736            DIRE_THETA      =SIMP(statut='f',typ=cham_no_depl_r),
2737          ), 
2738  
2739          LISSAGE_THETA   =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE") ),
2740          LISSAGE_G       =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE","LAGRANGE_NO_NO",) ),
2741           
2742          DEGRE           =SIMP(statut='f',typ='I',defaut=5,into=(0,1,2,3,4,5,6,7) ),
2743
2744          R_INF           =SIMP(statut='f',typ='R'),
2745          R_SUP           =SIMP(statut='f',typ='R'),
2746          R_INF_FO        =SIMP(statut='f',typ=fonction),
2747          R_SUP_FO        =SIMP(statut='f',typ=fonction),
2748  
2749          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
2750          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
2751 )  ;
2752 #& MODIF COMMANDE  DATE 03/10/2000   AUTEUR VABHHTS J.PELLET 
2753 CALC_G_THETA_T=OPER(nom="CALC_G_THETA_T",op=53,sd_prod=tabl_calc_g_th,
2754                     fr="Calcul du taux de restitution d énergie par la méthode theta en thermo-élasticité en 2D ou en 3D",
2755                     docu="U4.82.03-E",reentrant='n',
2756          regles=(UN_PARMI('RESULTAT','DEPL'),
2757                  EXCLUS('COMP_ELAS','COMP_INCR'),),
2758          MODELE          =SIMP(statut='o',typ=modele),
2759          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
2760          THETA           =SIMP(statut='o',typ=theta_geom),
2761          DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
2762          RESULTAT        =SIMP(statut='f',typ=(evol_elas,evol_noli),),
2763
2764          b_extrac        =BLOC(condition="RESULTAT != None",fr="extraction d un champ",
2765            regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
2766            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2767            NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),
2768            LIST_ORDRE      =SIMP(statut='f',typ=listis),
2769            INST            =SIMP(statut='f',typ='R',max='**'),
2770            LIST_INST       =SIMP(statut='f',typ=listr8),
2771             
2772            b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)",
2773              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),
2774              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
2775            ),
2776          ),
2777
2778          CHARGE          =SIMP(statut='f',typ=char_meca,max='**'),
2779          SYME_CHAR       =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","ANTI","SANS") ),
2780  
2781          COMP_ELAS       =FACT(statut='f',min=01,max=01,
2782                RELATION        =SIMP(statut='f',typ='TXM',defaut="ELAS",
2783                                      into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC") ),
2784                ELAS            =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
2785                ELAS_VMIS_LINE  =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
2786                ELAS_VMIS_TRAC  =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
2787                DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","GREEN") ),
2788                TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2789                GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
2790                MAILLE          =SIMP(statut='f',typ=ma,max='**'),
2791          ),  
2792          COMP_INCR       =FACT(statut='f',min=01,max=01,
2793                RELATION        =SIMP(statut='f',typ='TXM',defaut="ELAS",
2794                                      into=("ELAS","VMIS_ISOT_TRAC","VMIS_ISOT_LINE","VMIS_CINE_LINE") ),
2795                ELAS            =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
2796                VMIS_ISOT_TRAC  =SIMP(statut='f',typ='I',defaut=2,into=(2,) ),
2797                VMIS_ISOT_LINE  =SIMP(statut='f',typ='I',defaut=2,into=(2,) ),
2798                VMIS_CINE_LINE  =SIMP(statut='f',typ='I',defaut=7,into=(7,) ),
2799                DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","PETIT_REAC") ),
2800                TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2801                GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
2802                MAILLE          =SIMP(statut='f',typ=ma,max='**'),
2803          ),
2804          ETAT_INIT       =FACT(statut='f',min=01,max=01,
2805            SIGM            =SIMP(statut='f',typ=cham_elem_sief_r),
2806            DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
2807          ),
2808          OPTION          =SIMP(statut='f',typ='TXM',defaut="CALC_G",
2809                                into=("CALC_G","CALC_G_LAGR","CALC_K_G","G_BILINEAIRE","CALC_G_MAX") ),
2810          b_calc_g_max    =BLOC(condition="OPTION=='CALC_G_MAX'",
2811            BORNES          =FACT(statut='o',min=01,max='**',
2812                 NUME_ORDRE     =SIMP(statut='o',typ='I'),
2813                 VALE_MIN       =SIMP(statut='o',typ='R'),
2814                 VALE_MAX       =SIMP(statut='o',typ='R'),
2815                                 ),
2816          ),
2817          b_calc_k_g      =BLOC(condition="OPTION=='CALC_K_G'",
2818            FOND            =SIMP(statut='o',typ=fond_fiss),
2819          ),
2820          b_calc_g_lagr   =BLOC(condition="OPTION=='CALC_G_LAGR'",
2821            PROPAGATION     =SIMP(statut='o',typ='R'),
2822          ),
2823          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
2824          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
2825 )  ;
2826 #& MODIF COMMANDE  DATE 04/02/98   AUTEUR CIBHHLV L.VIVAN 
2827 CALC_INTE_SPEC=OPER(nom="CALC_INTE_SPEC",op= 120,sd_prod=tabl_intsp,
2828                     fr="Calcul d une matrice interspectrale d une fonction du temps",
2829                     docu="U4.36.03-E",reentrant='n',
2830          INST_INIT       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
2831          INST_FIN        =SIMP(statut='o',typ='R' ),
2832          DUREE_ANALYSE   =SIMP(statut='f',typ='R' ),
2833          DUREE_DECALAGE  =SIMP(statut='f',typ='R' ),
2834          NB_POIN         =SIMP(statut='o',typ='I' ),
2835          FONCTION        =SIMP(statut='o',typ=fonction,max='**' ),
2836          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
2837          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
2838 )  ;
2839 #& MODIF COMMANDE  DATE 19/05/2000   AUTEUR JFBHHUC C.ROSE
2840 CALC_MATR_AJOU=OPER(nom="CALC_MATR_AJOU",op= 152,sd_prod=matr_asse_gene_r,
2841                     fr="Calcul des matrices de masse, d amortissement ou de raideur ajoutées",
2842                     docu="U4.66.01-C",reentrant='n',
2843          regles=(EXCLUS('MODE_MECA','CHAM_NO','MODELE_GENE'),
2844                  PRESENT_ABSENT('NUME_DDL_GENE','CHAM_NO'),
2845                  PRESENT_PRESENT('MODELE_GENE','NUME_DDL_GENE'),),
2846          MODELE_FLUIDE   =SIMP(statut='o',typ=modele ),
2847          MODELE_INTERFACE=SIMP(statut='o',typ=modele ),         
2848          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
2849          CHARGE          =SIMP(statut='o',typ=char_ther ),
2850          MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
2851          CHAM_NO         =SIMP(statut='f',typ=cham_no_depl_r ),
2852          MODELE_GENE     =SIMP(statut='f',typ=modele_gene ),
2853          NUME_DDL_GENE   =SIMP(statut='f',typ=nume_ddl_gene ), 
2854          DIST_REFE       =SIMP(statut='f',typ='R',defaut= 1.E-2 ),   
2855          AVEC_MODE_STAT  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
2856          NUME_MODE_MECA  =SIMP(statut='f',typ='I',max='**'),
2857          OPTION          =SIMP(statut='o',typ='TXM',into=("MASS_AJOU","AMOR_AJOU","RIGI_AJOU") ),
2858          POTENTIEL       =SIMP(statut='f',typ=evol_ther ),
2859          NOEUD_DOUBLE    =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
2860          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
2861
2862          SOLVEUR         =FACT(statut='d',min=01,max=01,
2863            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
2864            b_mult_front    = BLOC ( condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
2865              RENUM           =SIMP(statut='f',typ='TXM',defaut="MDA",into=("MD","MDA","METIS") ),
2866            ),
2867            b_ldlt          =BLOC( condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
2868              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
2869              TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400. ),
2870            ),
2871            b_ldlt_mult     =BLOC( condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
2872                                    fr="Paramètres relatifs à la non iversibilité de la matrice à factorise",
2873              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
2874              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),             
2875            ),
2876            b_gcpc          =BLOC (condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
2877              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC","SANS","DIAG") ),
2878              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut=0),
2879              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
2880              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
2881            ),
2882 #  A quoi sert eps           
2883            EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
2884          ),
2885 )  ;
2886 #& MODIF COMMANDE  DATE 03/10/2000   AUTEUR VABHHTS J.PELLET 
2887 def calc_matr_elem_prod(OPTION,**args):
2888   if OPTION == "RIGI_MECA"        : return matr_elem_depl_r
2889   if OPTION == "RIGI_FLUI_STRU"   : return matr_elem_depl_r
2890   if OPTION == "RIGI_MECA_LAGR"   : return matr_elem_depl_r
2891   if OPTION == "MASS_MECA"        : return matr_elem_depl_r
2892   if OPTION == "MASS_FLUI_STRU"   : return matr_elem_depl_r
2893   if OPTION == "RIGI_GEOM"        : return matr_elem_depl_r
2894   if OPTION == "RIGI_ROTA"        : return matr_elem_depl_r
2895   if OPTION == "AMOR_MECA"        : return matr_elem_depl_r
2896   if OPTION == "IMPE_MECA"        : return matr_elem_depl_r
2897   if OPTION == "ONDE_FLUI"        : return matr_elem_depl_r
2898   if OPTION == "RIGI_MECA_HYST"   : return matr_elem_depl_c
2899   if OPTION == "RIGI_THER"        : return matr_elem_temp_r
2900   if OPTION == "MASS_THER"        : return matr_elem_temp_r
2901   if OPTION == "MASS_MECA_DIAG"   : return matr_elem_depl_r
2902   if OPTION == "RIGI_ACOU"        : return matr_elem_pres_c
2903   if OPTION == "MASS_ACOU"        : return matr_elem_pres_c
2904   if OPTION == "AMOR_ACOU"        : return matr_elem_pres_c
2905   raise AsException("type de concept resultat non prevu")
2906
2907 CALC_MATR_ELEM=OPER(nom="CALC_MATR_ELEM",op=   9,sd_prod=calc_matr_elem_prod
2908                     ,fr="Calcul des matrices élémentaires",docu="U4.61.01-F",reentrant='n',
2909          OPTION          =SIMP(statut='o',typ='TXM',
2910                                into=("RIGI_MECA","MASS_MECA","RIGI_GEOM",
2911                                      "AMOR_MECA","RIGI_THER","MASS_THER","IMPE_MECA",
2912                                      "ONDE_FLUI","MASS_FLUI_STRU","RIGI_FLUI_STRU",
2913                                      "RIGI_ROTA","MASS_MECA_DIAG","RIGI_ACOU",
2914                                      "MASS_ACOU","AMOR_ACOU","RIGI_MECA_HYST",
2915                                      "RIGI_MECA_LAGR") ),
2916
2917          b_rigi_meca = BLOC( condition = "OPTION=='RIGI_MECA'",
2918            regles=(AU_MOINS_UN('MODELE','CHARGE' ),),
2919            MODELE          =SIMP(statut='f',typ=modele ),
2920            b_modele        =BLOC(condition = "MODELE != None",
2921              CHAM_MATER      =SIMP(statut='f',typ=cham_mater ),
2922              CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
2923              MODE_FOURIER    =SIMP(statut='f',typ='I',defaut= 0 ),
2924            ),
2925            CHARGE          =SIMP(statut='f',typ=char_meca,max='**' ),
2926            b_charge        =BLOC (condition = "CHARGE != None",
2927              INST            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
2928            ),
2929          ),
2930
2931          b_rigi_meca_lagr  =BLOC(condition = "OPTION=='RIGI_MECA_LAGR'",
2932            MODELE            =SIMP(statut='o',typ=modele ),
2933            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
2934            CHARGE            =SIMP(statut='f',typ=char_meca,max='**'  ),
2935            b_charge        =BLOC(condition = "CHARGE != None",
2936              INST            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
2937            ),
2938            THETA           =SIMP(statut='o',typ=theta_geom ),
2939            PROPAGATION     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
2940          ),
2941
2942          b_mass_meca       =BLOC(condition = "(OPTION=='MASS_MECA') or (OPTION=='MASS_MECA_DIAG')",
2943            regles=(AU_MOINS_UN('MODELE','CHARGE'),),
2944            MODELE          =SIMP(statut='f',typ=modele ),
2945            b_modele          =BLOC(condition = "MODELE != None",
2946              CHAM_MATER        =SIMP(statut='f',typ=cham_mater ),
2947              CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
2948            ),
2949            CHARGE          =SIMP(statut='f',typ=char_meca,max='**' ),
2950            b_charge        =BLOC(condition = "CHARGE != None",
2951              INST            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
2952            ),
2953          ),
2954
2955          b_rigi_geom       =BLOC(condition = "OPTION=='RIGI_GEOM'",
2956            MODELE            =SIMP(statut='o',typ=modele ),
2957            CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
2958            SIEF_ELGA         =SIMP(statut='o',typ=cham_elem_sief_r ),
2959            MODE_FOURIER      =SIMP(statut='f',typ='I',defaut= 0 ),
2960          ),
2961
2962          b_rigi_rota       =BLOC(condition = "OPTION=='RIGI_ROTA'",
2963            MODELE            =SIMP(statut='o',typ=modele ),
2964            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
2965            CHARGE            =SIMP(statut='o',typ=char_meca,max='**' ),
2966            INST              =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
2967          ),
2968
2969          b_amor_meca       =BLOC(condition = "OPTION=='AMOR_MECA'",
2970            regles=(AU_MOINS_UN('CARA_ELEM','RIGI_MECA'),
2971                    ENSEMBLE('RIGI_MECA','MASS_MECA','CHAM_MATER'), ),
2972            MODELE            =SIMP(statut='o',typ=modele ),
2973            CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
2974            CHAM_MATER        =SIMP(statut='f',typ=cham_mater ),
2975            RIGI_MECA         =SIMP(statut='f',typ=matr_elem_depl_r ),
2976            MASS_MECA         =SIMP(statut='f',typ=matr_elem_depl_r ),
2977            CHARGE            =SIMP(statut='f',typ=char_meca ,max='**' ),
2978          ),
2979
2980          b_rigi_meca_hyst  =BLOC( condition = "OPTION=='RIGI_MECA_HYST'",
2981            MODELE            =SIMP(statut='o',typ=modele ),
2982            CHARGE            =SIMP(statut='o',typ=char_meca ,max='**' ),
2983            CHAM_MATER        =SIMP(statut='f',typ=cham_mater ),
2984            CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
2985            RIGI_MECA         =SIMP(statut='o',typ=matr_elem_depl_r ),
2986          ),
2987
2988          b_rigi_ther       =BLOC(condition = "OPTION=='RIGI_THER'",
2989            regles=(AU_MOINS_UN('MODELE','CHARGE' ),),
2990            MODELE            =SIMP(statut='f',typ=modele ),
2991            b_modele          =BLOC(condition = "MODELE != None",
2992              CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
2993              CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
2994              MODE_FOURIER      =SIMP(statut='f',typ='I',defaut= 0 ),
2995            ),
2996            CHARGE            =SIMP(statut='f',typ=char_ther,max='**' ),
2997          ),
2998
2999          b_mass_ther       =BLOC(condition = "OPTION=='MASS_THER'",
3000            MODELE            =SIMP(statut='o',typ=modele ),
3001            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
3002            CARA_ELEM         =SIMP(statut='f',typ=cara_elem ),
3003          ),
3004
3005          b_rigi_acou       =BLOC(condition = "(OPTION=='RIGI_ACOU') or (OPTION=='MASS_ACOU') or (OPTION=='AMOR_ACOU')",
3006            MODELE            =SIMP(statut='o',typ=modele ),
3007            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
3008            CHARGE            =SIMP(statut='f',typ=char_acou ,max='**' ),
3009          ),
3010
3011          b_rigi_flui       =BLOC(condition = "(OPTION=='RIGI_FLUI_STRU') or (OPTION=='MASS_FLUI_STRU')",
3012            MODELE            =SIMP(statut='o',typ=modele ),
3013            CARA_ELEM         =SIMP(statut='o',typ=cara_elem ),
3014            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
3015            CHARGE            =SIMP(statut='o',typ=char_meca ,max='**' ),
3016            INST              =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
3017          ),
3018
3019          b_impe_meca       =BLOC(condition = "(OPTION=='IMPE_MECA') or (OPTION=='ONDE_FLUI')",
3020            MODELE            =SIMP(statut='o',typ=modele ),
3021            CHARGE            =SIMP(statut='o',typ=char_meca,max='**' ),
3022            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
3023          ),
3024
3025          b_rigi_conv       =BLOC( condition = "(OPTION=='RIGI_THER_CONV') or (OPTION=='RIGI_THER_CONV_D')",
3026            MODELE            =SIMP(statut='o',typ=modele ),
3027            CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
3028            CHARGE            =SIMP(statut='o',typ=char_ther,max='**' ),
3029          ),
3030
3031 )  ;
3032 #& MODIF COMMANDE  DATE 04/07/2000   AUTEUR JMBHH01 J.M.PROIX 
3033 CALC_META=OPER(nom="CALC_META",op=194,sd_prod=evol_ther,docu="U4.85.01-A",reentrant='o',
3034                fr="Calcule la métallurgie à partir du résultat du calcul thermique",
3035          MODELE          =SIMP(statut='o',typ=modele ),
3036          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
3037          RESULTAT        =SIMP(statut='o',typ=evol_ther ),
3038          ETAT_INIT       =FACT(statut='o',min=01,max=01,
3039       regles=(UN_PARMI('NUME_INIT','META_INIT',),),
3040            EVOL_THER       =SIMP(statut='f',typ=evol_ther ),
3041            NUME_INIT       =SIMP(statut='f',typ='I' ),  
3042            META_INIT       =SIMP(statut='f',typ=carte_var2_r ),
3043          ),
3044          COMP_INCR       =FACT(statut='o',min=01,max='**',
3045            RELATION        =SIMP(statut='o',typ='TXM',into=("ACIER","ZIRC",) ),
3046            ACIER           =SIMP(statut='c',typ='I',defaut=7,into=(7,) ),
3047            ZIRC            =SIMP(statut='c',typ='I',defaut=3,into=(3,) ),
3048            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3049            GROUP_MA        =SIMP(statut='f',typ=grma),
3050            MAILLE          =SIMP(statut='f',typ=ma),
3051          ),
3052          OPTION          =SIMP(statut='f',typ='TXM'     
3053                              ,into=("META_ELNO_TEMP",) ),
3054 )  ;
3055 #& MODIF COMMANDE  DATE 12/05/2000   AUTEUR CIBHHAB N.RAHNI
3056 def calc_no_prod(RESULTAT,**args):
3057   if AsType(RESULTAT) == evol_elas :    return evol_elas
3058   if AsType(RESULTAT) == evol_noli :    return evol_noli
3059   if AsType(RESULTAT) == evol_ther :    return evol_ther
3060   if AsType(RESULTAT) == mode_meca :    return mode_meca
3061   if AsType(RESULTAT) == mode_stat :    return mode_stat
3062   if AsType(RESULTAT) == mode_acou :    return mode_acou
3063   if AsType(RESULTAT) == mult_elas :    return mult_elas
3064   if AsType(RESULTAT) == dyna_trans :   return dyna_trans
3065   if AsType(RESULTAT) == dyna_harmo :   return dyna_harmo
3066   if AsType(RESULTAT) == acou_harmo :   return acou_harmo
3067   if AsType(RESULTAT) == fourier_elas : return fourier_elas
3068   if AsType(RESULTAT) == mode_flamb :   return mode_flamb 
3069   if AsType(RESULTAT) == base_modale :  return base_modale
3070   raise AsException("type de concept resultat non prevu")
3071
3072 CALC_NO=OPER(nom="CALC_NO",op= 106,sd_prod=calc_no_prod,docu="U4.81.02-E",reentrant='o',
3073              fr="Compléter un résultat en calculant un champ aux noeuds (forces nodales à partir d un champ de contraintes aux points de GAUSS)",
3074          RESULTAT        =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,acou_harmo,mode_meca,
3075                                                mode_acou,mode_stat,evol_ther,evol_noli,base_modale,
3076                                                mult_elas,fourier_elas,mode_flamb ) ),
3077
3078          MODELE          =SIMP(statut='f',typ=modele),
3079          regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
3080                         'NOEUD_CMP','LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS'),),
3081          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3082          NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),
3083          NUME_MODE       =SIMP(statut='f',typ='I',max='**'),
3084          NOEUD_CMP       =SIMP(statut='f',typ='TXM',max='**'),
3085          NOM_CAS         =SIMP(statut='f',typ='TXM' ),
3086          INST            =SIMP(statut='f',typ='R',max='**'),
3087          FREQ            =SIMP(statut='f',typ='R',max='**'),
3088          LIST_INST       =SIMP(statut='f',typ=listr8),
3089          LIST_FREQ       =SIMP(statut='f',typ=listr8),
3090          PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
3091          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
3092          LIST_ORDRE      =SIMP(statut='f',typ=listis),
3093            
3094          OPTION          =SIMP(statut='o',typ='TXM',max='**'),
3095          
3096          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
3097          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
3098          GEOMETRIE       =SIMP(statut='f',typ='TXM',defaut="INITIALE",into=("INITIALE","DEFORMEE") ),
3099          EXCIT           =FACT(statut='f',min=01,max='**',
3100            CHARGE          =SIMP(statut='f',typ=(char_meca,char_ther,char_acou) ),
3101            FONC_MULT       =SIMP(statut='f',typ=fonction),
3102            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
3103                                  into=("FIXE_CSTE","FIXE_PILO","SUIV") ),
3104          ),
3105          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3106          GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
3107          MAILLE          =SIMP(statut='f',typ=ma,max='**'),
3108          TAILLE_BLOC     =SIMP(statut='f',typ='R' ,defaut= 400. ),
3109 )  ;
3110 #& MODIF COMMANDE  DATE 20/10/1999   AUTEUR DURAND C.DURAND 
3111 CALC_THETA=OPER(nom="CALC_THETA",op=54,sd_prod=theta_geom,docu="U4.82.02-D",reentrant='n',
3112                 fr="Affectation d un champ sur le maillage (mécanique de la rupture)",
3113          regles=(UN_PARMI('THETA_2D','THETA_3D','THETA_BANDE'),
3114                  PRESENT_PRESENT('THETA_3D','FOND_3D'),
3115                  PRESENT_ABSENT('THETA_2D','DIRE_THETA'),
3116                  EXCLUS('DIRECTION','DIRE_THETA'),),
3117          OPTION          =SIMP(statut='f',typ='TXM',defaut="COURONNE",into=("COURONNE","BANDE") ),
3118          MODELE          =SIMP(statut='o',typ=(modele) ),
3119          FOND_3D         =SIMP(statut='f',typ=(fond_fiss) ),
3120          THETA_3D        =FACT(statut='f',min=01,max='**',
3121            regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'),
3122                    UN_PARMI('MODULE','MODULE_FO'),
3123                    ENSEMBLE('MODULE','R_INF','R_SUP'),
3124                    ENSEMBLE('MODULE_FO','R_INF_FO','R_SUP_FO'),),
3125            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3126            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
3127            NOEUD           =SIMP(statut='f',typ=no,max='**'),
3128            MODULE          =SIMP(statut='f',typ='R'),
3129            R_INF           =SIMP(statut='f',typ='R'),
3130            R_SUP           =SIMP(statut='f',typ='R'),
3131            MODULE_FO       =SIMP(statut='f',typ=fonction),
3132            R_INF_FO        =SIMP(statut='f',typ=fonction),
3133            R_SUP_FO        =SIMP(statut='f',typ=fonction),
3134                          ),
3135          DIRE_THETA      =SIMP(statut='f',typ=(cham_no_depl_r) ),
3136          DIRECTION       =SIMP(statut='f',typ='R',max='**'),
3137          THETA_2D        =FACT(statut='f',min=01,max='**',
3138            regles=(UN_PARMI('GROUP_NO','NOEUD'),),
3139            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
3140            NOEUD           =SIMP(statut='f',typ=no,max='**'),
3141            MODULE          =SIMP(statut='o',typ='R'),
3142            R_INF           =SIMP(statut='o',typ='R'),
3143            R_SUP           =SIMP(statut='o',typ='R'),
3144          ),
3145          THETA_BANDE     =FACT(statut='f',min=01,max='**',
3146            MODULE          =SIMP(statut='o',typ='R'),
3147            R_INF           =SIMP(statut='o',typ='R'),
3148            R_SUP           =SIMP(statut='o',typ='R'),
3149          ),
3150          GRAD_NOEU_THETA =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
3151          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
3152          IMPRESSION      =FACT(statut='f',min=01,max=01,
3153            FICHIER         =SIMP(statut='f',typ='TXM',defaut="RESULTAT",into=("RESULTAT",) ),
3154            FORMAT          =SIMP(statut='f',typ='TXM',defaut="EXCEL",into=("EXCEL","AGRAF") ),
3155          ),
3156 )  ;
3157 #& MODIF COMMANDE  DATE 11/01/99   AUTEUR VABHHTS J.PELLET 
3158 def calc_vect_elem_prod(OPTION,**args):
3159   if OPTION == "CHAR_MECA" :      return vect_elem_depl_r
3160   if OPTION == "CHAR_MECA_LAGR" : return vect_elem_depl_r
3161   if OPTION == "CHAR_THER" :      return vect_elem_temp_r
3162   if OPTION == "CHAR_ACOU" :      return vect_elem_pres_c
3163   if OPTION == "FORC_NODA" :      return vect_elem_depl_r
3164   raise AsException("type de concept resultat non prevu")
3165
3166 CALC_VECT_ELEM=OPER(nom="CALC_VECT_ELEM",op=8,sd_prod=calc_vect_elem_prod,docu="U4.61.02-F",reentrant='n',
3167                     fr="Calcul des seconds membres élémentaires",
3168          OPTION          =SIMP(statut='o',typ='TXM',into=("CHAR_MECA","CHAR_THER","CHAR_ACOU",
3169                                                            "FORC_NODA","CHAR_MECA_LAGR") ),
3170          b_char_meca     =BLOC(condition = "OPTION=='CHAR_MECA'",
3171            regles=(AU_MOINS_UN('CHARGE','MODELE'),),
3172            CHARGE          =SIMP(statut='f',typ=char_meca,max='**'),
3173            MODELE          =SIMP(statut='f',typ=modele),
3174            b_charge     =BLOC(condition = "CHARGE != None", fr="modèle ne contenant pas de sous-structure",
3175               CHAM_MATER   =SIMP(statut='f',typ=cham_mater),
3176               CARA_ELEM    =SIMP(statut='f',typ=cara_elem),
3177               INST         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
3178               MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ),
3179            ),  
3180            b_modele     =BLOC(condition = "(MODELE != None)",fr="modèle contenant une sous-structure",
3181               SOUS_STRUC      =FACT(statut='o',min=01,
3182                 regles=(UN_PARMI('TOUT','MAILLE'),),
3183                 CAS_CHARGE  =SIMP(statut='o',typ='TXM' ),
3184                 TOUT        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3185                 MAILLE      =SIMP(statut='f',typ=ma,max='**',),
3186               ),
3187            ),
3188          ),
3189          b_char_ther     =BLOC(condition = "OPTION=='CHAR_THER'",
3190            CARA_ELEM        =SIMP(statut='f',typ=cara_elem),
3191            CHARGE           =SIMP(statut='o',typ=char_ther,max='**'),
3192            INST             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
3193          ),
3194               
3195          b_char_acou     =BLOC(condition = "OPTION=='CHAR_ACOU'",
3196            CHAM_MATER        =SIMP(statut='o',typ=cham_mater),
3197            CHARGE            =SIMP(statut='o',typ=char_acou,max='**'),
3198          ),
3199          
3200          b_forc_noda     =BLOC(condition = "OPTION=='FORC_NODA'",
3201            SIEF_ELGA         =SIMP(statut='o',typ=cham_elem_sief_r),
3202            CARA_ELEM         =SIMP(statut='f',typ=cara_elem),
3203            MODELE            =SIMP(statut='f',typ=modele),
3204          ),
3205          
3206          b_meca_lagr     =BLOC(condition = "OPTION=='CHAR_MECA_LAGR'",
3207            CHAM_MATER        =SIMP(statut='o',typ=cham_mater),
3208            THETA             =SIMP(statut='o',typ=theta_geom),
3209            PROPAGATION       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
3210            CHARGE            =SIMP(statut='f',typ=char_meca,max='**'),
3211            INST              =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
3212          ),
3213 ) ;
3214 #& MODIF COMMANDE  DATE 31/10/2000   AUTEUR VABHHTS J.PELLET 
3215 def comb_cham_elem_prod(COMB_R=None,COMB_C=None,COMB_FOURIER=None,**args):
3216
3217   if COMB_R != None:
3218     vale=COMB_R.get_child('CHAM_ELEM').get_valeur()
3219   elif COMB_C != None:
3220     vale=COMB_C.get_child('CHAM_ELEM').get_valeur()
3221   elif COMB_FOURIER != None:
3222     vale=COMB_FOURIER.get_child('CHAM_ELEM').get_valeur()
3223   else :
3224     raise AsException("type de concept resultat non prevu")
3225
3226   if AsType(vale) == cham_elem_sief_r : return cham_elem_sief_r
3227   if AsType(vale) == cham_elem_flux_r : return cham_elem_flux_r
3228   if AsType(vale) == cham_elem_epsi_r : return cham_elem_epsi_r
3229   if AsType(vale) == cham_elem_ener_r : return cham_elem_ener_r
3230   if AsType(vale) == cham_elem_crit_r : return cham_elem_crit_r
3231   if AsType(vale) == cham_elem_dbel_r : return cham_elem_dbel_r
3232   if AsType(vale) == cham_elem_pres_r : return cham_elem_pres_r
3233   if AsType(vale) == cham_elem_sief_c : return cham_elem_sief_c
3234   raise AsException("type de concept resultat non prevu")
3235
3236 COMB_CHAM_ELEM=OPER(nom="COMB_CHAM_ELEM",op= 139,sd_prod=comb_cham_elem_prod,reentrant='f',
3237                     fr="Combinaison linéaire de champs par éléments",docu="U4.72.03-E",
3238       regles=(UN_PARMI('COMB_R','COMB_C','COMB_FOURIER'),
3239               PRESENT_PRESENT('COMB_FOURIER','ANGL'),),
3240       COMB_R          =FACT(statut='f',min=01,max='**',
3241         PARTIE          =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ),
3242         COEF_R          =SIMP(statut='o',typ='R'),
3243         CHAM_ELEM       =SIMP(statut='o',
3244                               typ=(cham_elem_sief_r,cham_elem_flux_r,cham_elem_epsi_r,
3245                                    cham_elem_ener_r,cham_elem_crit_r,cham_elem_dbel_r,
3246                                    cham_elem_pres_r,cham_elem_sief_c ) ),
3247       ),
3248       COMB_C          =FACT(statut='f',min=01,max='**',
3249         regles=(UN_PARMI('COEF_R','COEF_C', ),),
3250         COEF_R          =SIMP(statut='f',typ='R'),
3251         COEF_C          =SIMP(statut='f',typ='C'),
3252         CHAM_ELEM       =SIMP(statut='o',typ=(cham_elem_sief_r) ),
3253       ),
3254       COMB_FOURIER    =FACT(statut='f',min=01,max='**',
3255         COEF_R          =SIMP(statut='f',typ='R',defaut= 1.),
3256         NUME_MODE       =SIMP(statut='o',typ='I'),
3257         TYPE_MODE       =SIMP(statut='o',typ='TXM',into=("SYME","ANTI") ),
3258         CHAM_ELEM       =SIMP(statut='o',typ=(cham_elem_sief_r,cham_elem_flux_r,cham_elem_epsi_r ) ),
3259       ),
3260       ANGL            =SIMP(statut='f',typ='R' ),
3261 )  ;
3262
3263 #& MODIF COMMANDE DATE 08/03/94 AUTEUR VABHHT2 G.BERTRAND
3264 def comb_cham_no_prod(COMB_R,COMB_C,COMB_FOURIER,**args):
3265   if COMB_C != None:
3266     type_mat = AsType(COMB_C.get_child('CHAM_NO').get_valeur())
3267     if type_mat in  (cham_no_depl_c,cham_no_depl_r) : return cham_no_depl_c
3268     if type_mat in  (cham_no_temp_c,cham_no_temp_r) : return cham_no_temp_c
3269     if type_mat in  (cham_no_pres_c,cham_no_pres_r) : return cham_no_pres_c
3270   elif COMB_R != None:
3271     type_mat = AsType(COMB_R.get_child('CHAM_NO').get_valeur())
3272     if type_mat in  (cham_no_depl_c,cham_no_depl_r) : return cham_no_depl_r
3273     if type_mat in  (cham_no_temp_c,cham_no_temp_r) : return cham_no_temp_r
3274     if type_mat in  (cham_no_pres_c,cham_no_pres_r) : return cham_no_pres_r
3275     if type_mat ==  matr_asse_gene_r : return matr_asse_gene_r
3276   elif COMB_FOURIER != None:
3277     type_mat = AsType(COMB_FOURIER.get_child('CHAM_NO').get_valeur())
3278     if type_mat == cham_no_temp_r : return cham_no_temp_r
3279     if type_mat == cham_no_depl_r : return cham_no_depl_r
3280   raise AsException("type de concept resultat non prevu")
3281
3282
3283 COMB_CHAM_NO=OPER(nom="COMB_CHAM_NO",op=  30,sd_prod=comb_cham_no_prod
3284                     ,fr="Combinaison linéaire de champs aux noeuds",
3285                      docu="U4.72.02-F",reentrant='f',
3286          regles=(UN_PARMI('COMB_R','COMB_C','COMB_FOURIER'),),
3287          COMB_R          =FACT(statut='f',min=01,max='**',
3288            PARTIE          =SIMP(statut='f',typ='TXM',into=("REEL","IMAG",) ),
3289            CHAM_NO         =SIMP(statut='o',typ=(cham_no_temp_r,cham_no_temp_c,cham_no_depl_r,cham_no_depl_c
3290                                                 ,cham_no_pres_r,cham_no_pres_c ) ),
3291            COEF_R          =SIMP(statut='o',typ='R' ),
3292          ),
3293          COMB_C          =FACT(statut='f',min=01,max='**',
3294            regles=(UN_PARMI('COEF_R','COEF_C' ),),
3295            CHAM_NO         =SIMP(statut='o',typ=(cham_no_temp_r,cham_no_depl_r,cham_no_pres_r,cham_no_temp_c
3296                                                 ,cham_no_depl_c,cham_no_pres_c ) ),
3297            COEF_R          =SIMP(statut='f',typ='R' ),
3298            COEF_C          =SIMP(statut='f',typ='C' ),
3299          ),
3300          COMB_FOURIER    =FACT(statut='f',min=01,max='**',
3301            CHAM_NO         =SIMP(statut='o',typ=(cham_no_temp_r,cham_no_depl_r) ),
3302            COEF_R          =SIMP(statut='f',typ='R',defaut= 1. ),
3303            NUME_MODE       =SIMP(statut='o',typ='I' ),
3304            TYPE_MODE       =SIMP(statut='o',typ='TXM',into=("SYME","ANTI") ),
3305          ),
3306          b_angl = BLOC ( condition = "COMB_FOURIER != None",
3307            ANGL            =SIMP(statut='o',typ='R' ),
3308          ),
3309 )  ;
3310 #& MODIF COMMANDE  DATE 08/11/95   AUTEUR CIBHHLV L.VIVAN 
3311 COMB_FOURIER=OPER(nom="COMB_FOURIER",op= 161,sd_prod=comb_fourier,
3312                   fr="Recombinaison de FOURIER de tous les modes se trouvant dans la structure de données de type resultat dans une ou des directions particulières",
3313                   docu="U4.83.31-C",reentrant='n',
3314          RESULTAT        =SIMP(statut='o',typ=fourier_elas ),
3315          ANGL            =SIMP(statut='o',typ='R',max='**'),
3316          NOM_CHAM        =SIMP(statut='o',typ='TXM',max=05,
3317                                into=("DEPL","REAC_NODA","SIEF_ELGA_DEPL","EPSI_ELNO_DEPL","SIGM_ELNO_DEPL") ),
3318 )  ;
3319 #& MODIF COMMANDE DATE 06/10/94 AUTEUR BIBERON G.ROUSSEAU
3320 def comb_matr_asse_prod(COMB_R,COMB_C,**args):
3321   if COMB_C != None:
3322     type_mat = AsType(COMB_C.get_child('MATR_ASSE').get_valeur())
3323     if type_mat in  (matr_asse_depl_c,matr_asse_depl_r) : return matr_asse_depl_c
3324     if type_mat in  (matr_asse_temp_c,matr_asse_temp_r) : return matr_asse_temp_c
3325     if type_mat in  (matr_asse_pres_c,matr_asse_pres_r) : return matr_asse_pres_c
3326     if type_mat in  (matr_asse_gene_c,matr_asse_gene_r) : return matr_asse_gene_c
3327   elif COMB_R != None:
3328     type_mat = AsType(COMB_R.get_child('MATR_ASSE').get_valeur())
3329     if type_mat in  (matr_asse_depl_c,matr_asse_depl_r) : return matr_asse_depl_r
3330     if type_mat in  (matr_asse_temp_c,matr_asse_temp_r) : return matr_asse_temp_r
3331     if type_mat in  (matr_asse_pres_c,matr_asse_pres_r) : return matr_asse_pres_r
3332     if type_mat in  (matr_asse_gene_c,matr_asse_gene_r) : return matr_asse_gene_r
3333   raise AsException("type de concept resultat non prevu")
3334
3335 COMB_MATR_ASSE=OPER(nom="COMB_MATR_ASSE",op=  31,sd_prod=comb_matr_asse_prod,
3336                     fr="Combinaison linéaire de matrices assemblées",
3337                     docu="U4.72.01-F",reentrant='f',
3338          regles=(UN_PARMI('COMB_R','COMB_C' ),),
3339          COMB_R          =FACT(statut='f',min=01,max='**',
3340            PARTIE          =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ),
3341            MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,
3342                                                  matr_asse_temp_r,matr_asse_temp_c,
3343                                                  matr_asse_pres_r,matr_asse_pres_c,
3344                                                  matr_asse_gene_r,matr_asse_gene_c ) ),
3345            COEF_R          =SIMP(statut='o',typ='R' ),
3346          ),
3347          COMB_C          =FACT(statut='f',min=01,max='**',
3348            regles=(UN_PARMI('COEF_R','COEF_C' ),),
3349            MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,
3350                                                  matr_asse_temp_r,matr_asse_temp_c,
3351                                                  matr_asse_pres_r,matr_asse_pres_c,
3352                                                  matr_asse_gene_r,matr_asse_gene_c ) ),
3353            COEF_R          =SIMP(statut='f',typ='R' ),
3354            COEF_C          =SIMP(statut='f',typ='C' ),
3355          ),
3356          SANS_CMP        =SIMP(statut='f',typ='TXM',into=("LAGR",) ),
3357 )  ;
3358 #& MODIF COMMANDE  DATE 03/05/2000   AUTEUR CIBHHAB N.RAHNI 
3359 COMB_SISM_MODAL=OPER(nom="COMB_SISM_MODAL",op= 109,sd_prod=mode_stat,
3360                      fr="Réponse sismique par recombinaison modale par une méthode spectrale",
3361                      docu="U4.84.01-D",reentrant='n',
3362          regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','FREQ','NUME_MODE','LIST_FREQ','LIST_ORDRE'),
3363                  UN_PARMI('AMOR_REDUIT','LIST_AMOR','AMOR_GENE' ),),
3364          MODE_MECA       =SIMP(statut='o',typ=mode_meca ),
3365          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3366          NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),
3367          LIST_ORDRE      =SIMP(statut='f',typ=listis ),
3368          NUME_MODE       =SIMP(statut='f',typ='I',max='**'),
3369          FREQ            =SIMP(statut='f',typ='R',max='**'),
3370          LIST_FREQ       =SIMP(statut='f',typ=listr8 ),
3371          b_freq          =BLOC(condition = "FREQ != None or LIST_FREQ != None",
3372            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
3373            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
3374          ),
3375          ACCE_UNIF       =SIMP(statut='f',typ=mode_stat ),
3376          
3377          AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
3378          LIST_AMOR       =SIMP(statut='f',typ=listr8 ),
3379          AMOR_GENE       =SIMP(statut='f',typ=matr_asse_gene_r ),
3380          
3381          MASS_INER       =SIMP(statut='f',typ=tabl_mass_iner ),
3382          CORR_FREQ       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
3383          
3384          EXCIT           =FACT(statut='o',min=01,max='**',
3385            regles=(UN_PARMI('MONO_APPUI','NOEUD','GROUP_NO'),
3386                    UN_PARMI('AXE','TRI_AXE','TRI_SPEC' ),),
3387            
3388            MONO_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3389            NOEUD           =SIMP(statut='f',typ=no,max='**'),
3390            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
3391            AXE             =SIMP(statut='f',fr="Excitation suivant un seul axe",
3392                                  typ='R',max=03),  
3393            TRI_AXE         =SIMP(statut='f',fr="Excitation suivant les trois axes mais avec le meme spectre",
3394                                  typ='R',max=03),
3395            TRI_SPEC        =SIMP(statut='f',fr="Excitation suivant les trois axes  avec trois spectres",
3396                                  typ='TXM',into=("OUI",) ),
3397            b_axe           =BLOC(condition = "AXE != None",fr="Excitation suivant un seul axe",
3398              SPEC_OSCI       =SIMP(statut='o',typ=fonction,max=01 ),
3399              ECHELLE         =SIMP(statut='f',typ='R',max=01),
3400            ),
3401            b_tri_axe       =BLOC(condition = "TRI_AXE != None",fr="Excitation suivant les trois axes mais avec le meme spectre",
3402              SPEC_OSCI       =SIMP(statut='o',typ=fonction,max=01 ),
3403              ECHELLE         =SIMP(statut='f',typ='R',max=01),
3404            ),
3405            b_tri_spec      =BLOC(condition = "TRI_SPEC != None",fr="Excitation suivant les trois axes  avec trois spectres",
3406              SPEC_OSCI       =SIMP(statut='o',typ=fonction,min=03,max=03 ),
3407              ECHELLE         =SIMP(statut='f',typ='R',min=03,max=03),
3408            ),       
3409            NATURE          =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("ACCE","VITE","DEPL") ),
3410          ),
3411          COMB_MODE       =FACT(statut='o',min=01,max=01,
3412            TYPE            =SIMP(statut='o',typ='TXM',into=("SRSS","CQC","DSC","ABS","DPC") ),
3413            DUREE           =SIMP(statut='f',typ='R' ),
3414          ),
3415          COMB_DIRECTION  =FACT(statut='f',min=01,max=01,
3416            TYPE            =SIMP(statut='f',typ='TXM',into=("QUAD","NEWMARK") ),
3417          ),
3418          COMB_MULT_APPUI =FACT(statut='f',min=01,max='**',
3419            regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO' ),),
3420            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3421            NOEUD           =SIMP(statut='f',typ=no,max='**'),
3422            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
3423            TYPE            =SIMP(statut='o',typ='TXM',into=("QUAD","LINE","ABS") ),
3424          ),
3425          DEPL_MULT_APPUI =FACT(statut='f',min=01,max='**',
3426            regles=(UN_PARMI('NOEUD','GROUP_NO'),
3427                    AU_MOINS_UN('DX','DY','DZ' ),),
3428            MODE_STAT       =SIMP(statut='f',typ=mode_stat ),
3429            NOEUD_REFE      =SIMP(statut='f',typ=no),
3430            NOEUD           =SIMP(statut='f',typ=no,max='**'),
3431            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
3432            DX              =SIMP(statut='f',typ='R' ),
3433            DY              =SIMP(statut='f',typ='R' ),
3434            DZ              =SIMP(statut='f',typ='R' ),
3435          ),
3436          OPTION          =SIMP(statut='o',typ='TXM',max=10,
3437                                into=("DEPL","VITE","ACCE_ABSOLU","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL",
3438                                      "EFGE_ELNO_DEPL","REAC_NODA","FORC_NODA","EFGE_ELNO_CART",
3439                                      "SIPO_ELNO_DEPL",) ),
3440          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
3441          IMPRESSION      =FACT(statut='f',min=01,max='**',
3442            regles=(EXCLUS('TOUT','NIVEAU'),),
3443            TOUT            =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
3444            NIVEAU          =SIMP(statut='f',typ='TXM',into=("SPEC_OSCI","MASS_EFFE","MAXI_GENE"),max=03 ),
3445          ),
3446          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
3447 )  ;
3448 #& MODIF COMMANDE  DATE 04/12/2000   AUTEUR VABHHTS J.PELLET 
3449 def crea_champ_prod(TYPE_CHAM,**args):
3450   if TYPE_CHAM == "CART_DBEL_R" : return carte_dbel_r
3451   if TYPE_CHAM == "CART_DEPL_C" : return carte_depl_c
3452   if TYPE_CHAM == "CART_DEPL_F" : return carte_depl_f
3453   if TYPE_CHAM == "CART_DEPL_R" : return carte_depl_r
3454   if TYPE_CHAM == "CART_DURT_R" : return carte_durt_r
3455   if TYPE_CHAM == "CART_ENER_R" : return carte_ener_r
3456   if TYPE_CHAM == "CART_EPSI_R" : return carte_epsi_r
3457   if TYPE_CHAM == "CART_ERREUR" : return carte_erreur
3458   if TYPE_CHAM == "CART_FLUX_R" : return carte_flux_r
3459   if TYPE_CHAM == "CART_GEOM_R" : return carte_geom_r
3460   if TYPE_CHAM == "CART_G_DEPL_R" : return carte_g_depl_r
3461   if TYPE_CHAM == "CART_HYDR_R" : return carte_hydr_r
3462   if TYPE_CHAM == "CART_INST_R" : return carte_inst_r
3463   if TYPE_CHAM == "CART_INTE_R" : return carte_inte_r
3464   if TYPE_CHAM == "CART_META_R" : return carte_meta_r
3465   if TYPE_CHAM == "CART_NEUT_F" : return carte_neut_f
3466   if TYPE_CHAM == "CART_NEUT_R" : return carte_neut_r
3467   if TYPE_CHAM == "CART_PRES_R" : return carte_pres_r
3468   if TYPE_CHAM == "CART_SIEF_R" : return carte_sief_r
3469   if TYPE_CHAM == "CART_SOUR_R" : return carte_sour_r
3470   if TYPE_CHAM == "CART_TEMP_F" : return carte_temp_f
3471   if TYPE_CHAM == "CART_TEMP_R" : return carte_temp_r
3472   if TYPE_CHAM == "CART_VAR2_R" : return carte_var2_r
3473   if TYPE_CHAM == "CART_VNOR_C" : return carte_vnor_c
3474   if TYPE_CHAM == "NOEU_DBEL_R" : return cham_no_dbel_r
3475   if TYPE_CHAM == "NOEU_DEPL_C" : return cham_no_depl_c
3476   if TYPE_CHAM == "NOEU_DEPL_F" : return cham_no_depl_f
3477   if TYPE_CHAM == "NOEU_DEPL_R" : return cham_no_depl_r
3478   if TYPE_CHAM == "NOEU_DURT_R" : return cham_no_durt_r
3479   if TYPE_CHAM == "NOEU_ENER_R" : return cham_no_ener_r
3480   if TYPE_CHAM == "NOEU_EPSI_R" : return cham_no_epsi_r
3481   if TYPE_CHAM == "NOEU_ERREUR" : return cham_no_erreur
3482   if TYPE_CHAM == "NOEU_FLUX_R" : return cham_no_flux_r
3483   if TYPE_CHAM == "NOEU_GEOM_R" : return cham_no_geom_r
3484   if TYPE_CHAM == "NOEU_G_DEPL_R" : return cham_no_g_depl_r
3485   if TYPE_CHAM == "NOEU_HYDR_R" : return cham_no_hydr_r
3486   if TYPE_CHAM == "NOEU_INST_R" : return cham_no_inst_r
3487   if TYPE_CHAM == "NOEU_INTE_R" : return cham_no_inte_r
3488   if TYPE_CHAM == "NOEU_META_R" : return cham_no_meta_r
3489   if TYPE_CHAM == "NOEU_NEUT_F" : return cham_no_neut_f
3490   if TYPE_CHAM == "NOEU_NEUT_R" : return cham_no_neut_r
3491   if TYPE_CHAM == "NOEU_PRES_R" : return cham_no_pres_r
3492   if TYPE_CHAM == "NOEU_SIEF_R" : return cham_no_sief_r
3493   if TYPE_CHAM == "NOEU_SOUR_R" : return cham_no_sour_r
3494   if TYPE_CHAM == "NOEU_TEMP_F" : return cham_no_temp_f
3495   if TYPE_CHAM == "NOEU_TEMP_R" : return cham_no_temp_r
3496   if TYPE_CHAM == "NOEU_VAR2_R" : return cham_no_var2_r
3497   if TYPE_CHAM == "NOEU_VNOR_C" : return cham_no_vnor_c
3498   if TYPE_CHAM == "ELEM_DBEL_R" : return cham_elem_dbel_r
3499   if TYPE_CHAM == "ELEM_DEPL_C" : return cham_elem_depl_c
3500   if TYPE_CHAM == "ELEM_DEPL_F" : return cham_elem_depl_f
3501   if TYPE_CHAM == "ELEM_DEPL_R" : return cham_elem_depl_r
3502   if TYPE_CHAM == "ELEM_DURT_R" : return cham_elem_durt_r
3503   if TYPE_CHAM == "ELEM_ENER_R" : return cham_elem_ener_r
3504   if TYPE_CHAM == "ELEM_EPSI_R" : return cham_elem_epsi_r
3505   if TYPE_CHAM == "ELEM_ERREUR" : return cham_elem_erreur
3506   if TYPE_CHAM == "ELEM_FLUX_R" : return cham_elem_flux_r
3507   if TYPE_CHAM == "ELEM_GEOM_R" : return cham_elem_geom_r
3508   if TYPE_CHAM == "ELEM_G_DEPL_R" : return cham_elem_g_depl
3509   if TYPE_CHAM == "ELEM_HYDR_R" : return cham_elem_hydr_r
3510   if TYPE_CHAM == "ELEM_INST_R" : return cham_elem_inst_r
3511   if TYPE_CHAM == "ELEM_INTE_R" : return cham_elem_inte_r
3512   if TYPE_CHAM == "ELEM_META_R" : return cham_elem_meta_r
3513   if TYPE_CHAM == "ELEM_NEUT_F" : return cham_elem_neut_f
3514   if TYPE_CHAM == "ELEM_NEUT_R" : return cham_elem_neut_r
3515   if TYPE_CHAM == "ELEM_PRES_R" : return cham_elem_pres_r
3516   if TYPE_CHAM == "ELEM_SIEF_R" : return cham_elem_sief_r
3517   if TYPE_CHAM == "ELEM_SOUR_R" : return cham_elem_sour_r
3518   if TYPE_CHAM == "ELEM_TEMP_F" : return cham_elem_temp_f
3519   if TYPE_CHAM == "ELEM_TEMP_R" : return cham_elem_temp_r
3520   if TYPE_CHAM == "ELEM_VARI_R" : return cham_elem_vari_r
3521   if TYPE_CHAM == "ELEM_VNOR_C" : return cham_elem_vnor_c
3522   if TYPE_CHAM == "ELNO_DBEL_R" : return cham_elem_dbel_r
3523   if TYPE_CHAM == "ELNO_DEPL_C" : return cham_elem_depl_c
3524   if TYPE_CHAM == "ELNO_DEPL_F" : return cham_elem_depl_f
3525   if TYPE_CHAM == "ELNO_DEPL_R" : return cham_elem_depl_r
3526   if TYPE_CHAM == "ELNO_DURT_R" : return cham_elem_durt_r
3527   if TYPE_CHAM == "ELNO_ENER_R" : return cham_elem_ener_r
3528   if TYPE_CHAM == "ELNO_EPSI_R" : return cham_elem_epsi_r
3529   if TYPE_CHAM == "ELNO_ERREUR" : return cham_elem_erreur
3530   if TYPE_CHAM == "ELNO_FLUX_R" : return cham_elem_flux_r
3531   if TYPE_CHAM == "ELNO_GEOM_R" : return cham_elem_geom_r
3532   if TYPE_CHAM == "ELNO_G_DEPL_R" : return cham_elem_g_depl
3533   if TYPE_CHAM == "ELNO_HYDR_R" : return cham_elem_hydr_r
3534   if TYPE_CHAM == "ELNO_INST_R" : return cham_elem_inst_r
3535   if TYPE_CHAM == "ELNO_INTE_R" : return cham_elem_inte_r
3536   if TYPE_CHAM == "ELNO_META_R" : return cham_elem_meta_r
3537   if TYPE_CHAM == "ELNO_NEUT_F" : return cham_elem_neut_f
3538   if TYPE_CHAM == "ELNO_NEUT_R" : return cham_elem_neut_r
3539   if TYPE_CHAM == "ELNO_PRES_R" : return cham_elem_pres_r
3540   if TYPE_CHAM == "ELNO_SIEF_R" : return cham_elem_sief_r
3541   if TYPE_CHAM == "ELNO_SOUR_R" : return cham_elem_sour_r
3542   if TYPE_CHAM == "ELNO_TEMP_F" : return cham_elem_temp_f
3543   if TYPE_CHAM == "ELNO_TEMP_R" : return cham_elem_temp_r
3544   if TYPE_CHAM == "ELNO_VARI_R" : return cham_elem_vari_r
3545   if TYPE_CHAM == "ELNO_VNOR_C" : return cham_elem_vnor_c
3546   if TYPE_CHAM == "ELGA_DBEL_R" : return cham_elem_dbel_r
3547   if TYPE_CHAM == "ELGA_DEPL_C" : return cham_elem_depl_c
3548   if TYPE_CHAM == "ELGA_DEPL_F" : return cham_elem_depl_f
3549   if TYPE_CHAM == "ELGA_DEPL_R" : return cham_elem_depl_r
3550   if TYPE_CHAM == "ELGA_DURT_R" : return cham_elem_durt_r
3551   if TYPE_CHAM == "ELGA_ENER_R" : return cham_elem_ener_r
3552   if TYPE_CHAM == "ELGA_EPSI_R" : return cham_elem_epsi_r
3553   if TYPE_CHAM == "ELGA_ERREUR" : return cham_elem_erreur
3554   if TYPE_CHAM == "ELGA_FLUX_R" : return cham_elem_flux_r
3555   if TYPE_CHAM == "ELGA_GEOM_R" : return cham_elem_geom_r
3556   if TYPE_CHAM == "ELGA_G_DEPL_R" : return cham_elem_g_depl
3557   if TYPE_CHAM == "ELGA_HYDR_R" : return cham_elem_hydr_r
3558   if TYPE_CHAM == "ELGA_INST_R" : return cham_elem_inst_r
3559   if TYPE_CHAM == "ELGA_INTE_R" : return cham_elem_inte_r
3560   if TYPE_CHAM == "ELGA_META_R" : return cham_elem_meta_r
3561   if TYPE_CHAM == "ELGA_NEUT_F" : return cham_elem_neut_f
3562   if TYPE_CHAM == "ELGA_NEUT_R" : return cham_elem_neut_r
3563   if TYPE_CHAM == "ELGA_PRES_R" : return cham_elem_pres_r
3564   if TYPE_CHAM == "ELGA_SIEF_R" : return cham_elem_sief_r
3565   if TYPE_CHAM == "ELGA_SOUR_R" : return cham_elem_sour_r
3566   if TYPE_CHAM == "ELGA_TEMP_F" : return cham_elem_temp_f
3567   if TYPE_CHAM == "ELGA_TEMP_R" : return cham_elem_temp_r
3568   if TYPE_CHAM == "ELGA_VARI_R" : return cham_elem_vari_r
3569   if TYPE_CHAM == "ELGA_VNOR_C" : return cham_elem_vnor_c
3570   raise AsException("type de concept resultat non prevu")
3571
3572 CREA_CHAMP=OPER(nom="CREA_CHAMP",op= 195,sd_prod=crea_champ_prod,
3573                 fr="  ",docu="U4.72.04-A",reentrant='n',
3574       regles=(EXCLUS('NUME_DDL','CHAM_NO',),ENSEMBLE('CHAM_F','CHAM_PARA',),    
3575               EXCLUS('TYPE_MAXI','NUME_ORDRE','INST','FREQ','NUME_MODE',        
3576               'NOEUD_CMP','NOM_CAS','ANGL', ),),
3577          TYPE_CHAM       =SIMP(statut='o',typ='TXM',     
3578                         into=("CART_DBEL_R","NOEU_DBEL_R","ELEM_DBEL_R",  
3579                              "ELNO_DBEL_R","ELGA_DBEL_R","CART_DEPL_C",         
3580                              "NOEU_DEPL_C","ELEM_DEPL_C","ELNO_DEPL_C",         
3581                              "ELGA_DEPL_C","CART_DEPL_F","NOEU_DEPL_F",         
3582                              "ELEM_DEPL_F","ELNO_DEPL_F","ELGA_DEPL_F",         
3583                              "CART_DEPL_R","NOEU_DEPL_R","ELEM_DEPL_R",         
3584                              "ELNO_DEPL_R","ELGA_DEPL_R","CART_DURT_R",         
3585                              "NOEU_DURT_R","ELEM_DURT_R","ELNO_DURT_R",         
3586                              "ELGA_DURT_R","CART_ENER_R","NOEU_ENER_R",         
3587                              "ELEM_ENER_R","ELNO_ENER_R","ELGA_ENER_R",         
3588                              "CART_EPSI_R","NOEU_EPSI_R","ELEM_EPSI_R",         
3589                              "ELNO_EPSI_R","ELGA_EPSI_R","CART_ERREUR",         
3590                              "NOEU_ERREUR","ELEM_ERREUR","ELNO_ERREUR",         
3591                              "ELGA_ERREUR","CART_FLUX_R","NOEU_FLUX_R",         
3592                              "ELEM_FLUX_R","ELNO_FLUX_R","ELGA_FLUX_R",         
3593                              "CART_GEOM_R","NOEU_GEOM_R","ELEM_GEOM_R",         
3594                              "ELNO_GEOM_R","ELGA_GEOM_R","CART_G_DEPL_R",       
3595                              "NOEU_G_DEPL_R","ELEM_G_DEPL_R","ELNO_G_DEPL_R",   
3596                              "ELGA_G_DEPL_R","CART_HYDR_R","NOEU_HYDR_R",       
3597                              "ELEM_HYDR_R","ELNO_HYDR_R","ELGA_HYDR_R",         
3598                              "CART_INST_R","NOEU_INST_R","ELEM_INST_R",         
3599                              "ELNO_INST_R","ELGA_INST_R","CART_INTE_R",         
3600                              "NOEU_INTE_R","ELEM_INTE_R","ELNO_INTE_R",         
3601                              "ELGA_INTE_R","CART_META_R","NOEU_META_R",         
3602                              "ELEM_META_R","ELNO_META_R","ELGA_META_R",         
3603                              "CART_NEUT_F","NOEU_NEUT_F","ELEM_NEUT_F",         
3604                              "ELNO_NEUT_F","ELGA_NEUT_F","CART_NEUT_R",         
3605                              "NOEU_NEUT_R","ELEM_NEUT_R","ELNO_NEUT_R",         
3606                              "ELGA_NEUT_R","CART_PRES_R","NOEU_PRES_R",         
3607                              "ELEM_PRES_R","ELNO_PRES_R","ELGA_PRES_R",         
3608                              "CART_SIEF_R","NOEU_SIEF_R","ELEM_SIEF_R",         
3609                              "ELNO_SIEF_R","ELGA_SIEF_R","CART_SOUR_R",         
3610                              "NOEU_SOUR_R","ELEM_SOUR_R","ELNO_SOUR_R",         
3611                              "ELGA_SOUR_R","CART_TEMP_F","NOEU_TEMP_F",         
3612                              "ELEM_TEMP_F","ELNO_TEMP_F","ELGA_TEMP_F",         
3613                              "CART_TEMP_R","NOEU_TEMP_R","ELEM_TEMP_R",         
3614                              "ELNO_TEMP_R","ELGA_TEMP_R","CART_VAR2_R",         
3615                              "NOEU_VAR2_R","ELEM_VARI_R","ELNO_VARI_R",         
3616                              "ELGA_VARI_R","CART_VNOR_C","NOEU_VNOR_C",         
3617                              "ELEM_VNOR_C","ELNO_VNOR_C","ELGA_VNOR_C",) ),
3618          OPERATION       =SIMP(statut='o',typ='TXM',into=("AFFE","ASSE","EVAL","EXTR","DISC",) ),
3619          MODELE          =SIMP(statut='f',typ=(modele) ),
3620          MAILLAGE        =SIMP(statut='f',typ=(maillage) ),
3621          PROL_ZERO       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
3622          AFFE            =FACT(statut='f',min=01,max='**',
3623       regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD',),         
3624               UN_PARMI('VALE','VALE_I','VALE_C','VALE_F', ),),
3625            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3626            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
3627            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
3628            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
3629            NOEUD           =SIMP(statut='f',typ=no,max='**'),
3630            NOM_CMP         =SIMP(statut='o',typ='TXM',max='**' ),  
3631            VALE            =SIMP(statut='f',typ='R',max='**' ),  
3632            VALE_R          =SIMP(statut='f',typ='R',max='**' ),  
3633            VALE_I          =SIMP(statut='f',typ='I',max='**' ),  
3634            VALE_C          =SIMP(statut='f',typ='C',max='**' ),  
3635            VALE_F          =SIMP(statut='f',typ=fonction,max='**'), 
3636            FONCTION        =SIMP(statut='f',typ=fonction),
3637          ),
3638          NUME_DDL        =SIMP(statut='f',typ=(nume_ddl) ),
3639          CHAM_NO         =SIMP(statut='f',typ=(cham_no_temp_r,cham_no_temp_f,cham_no_depl_r,       
3640                                                cham_no_depl_f,cham_no_sief_r ) ),
3641          ASSE            =FACT(statut='f',min=01,max='**',
3642       regles=(AU_MOINS_UN('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD',),      
3643               PRESENT_PRESENT('NOM_CMP_RESU','NOM_CMP', ),),
3644            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3645            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
3646            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
3647            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
3648            NOEUD           =SIMP(statut='f',typ=no,max='**'),
3649            CHAM_GD         =SIMP(statut='f',typ=(cham_elem,cham_no,carte)),
3650            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**' ),  
3651            NOM_CMP_RESU    =SIMP(statut='f',typ='TXM',max='**' ),  
3652            CUMUL           =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
3653            COEF_R          =SIMP(statut='f',typ='R',defaut= 1. ),  
3654          ),
3655          CHAM_F          =SIMP(statut='f',typ=(cham_elem,cham_no,carte)),
3656          CHAM_PARA       =SIMP(statut='f',typ=(cham_elem,cham_no,carte),max='**'),
3657          CHAM_GD         =SIMP(statut='f',typ=(cham_elem,cham_no,carte)),
3658          RESULTAT        =SIMP(statut='f',typ=resultat ),
3659          NOM_CHAM        =SIMP(statut='f',typ='TXM',     
3660                        into=("DEPL","VITE","ACCE","GEOMETRIE",           
3661                              "DEPL_ABSOLU","VITE_ABSOLU","TEMP","ACCE_ABSOLU",  
3662                              "FORC_NODA","REAC_NODA","EFGE_NOEU_DEPL",          
3663                              "EFGE_NOEU_CART","EPSI_NOEU_DEPL",                 
3664                              "SIGM_NOEU_DEPL","SIGM_NOEU_CART",                 
3665                              "SIPO_NOEU_DEPL","EQUI_NOEU_SIGM",                 
3666                              "EQUI_NOEU_EPSI","FLUX_NOEU_TEMP",                 
3667                              "FLUX_ELGA_TEMP","FLUX_ELNO_TEMP",                 
3668                              "META_ELGA_TEMP","META_ELNO_TEMP",                 
3669                              "META_NOEU_TEMP","DURT_ELGA_META",                 
3670                              "DURT_ELNO_META","DURT_NOEU_META","SIEF_ELGA",     
3671                              "SIEF_ELNO_ELGA","SIEF_ELGA_DEPL",                 
3672                              "VARI_ELNO_ELGA","VARI_ELGA","EPOT_ELEM_DEPL",     
3673                              "ECIN_ELEM_DEPL","SOUR_ELGA_ELEC",                 
3674                              "PRES_ELNO_REEL","PRES_ELNO_IMAG",                 
3675                              "PRES_ELNO_DBEL","INTE_ELNO_ACTI",                 
3676                              "INTE_ELNO_REAC","EFGE_ELNO_DEPL",                 
3677                              "SIGM_ELNO_DEPL","EFGE_ELNO_CART",                 
3678                              "SIGM_ELNO_CART","SIPO_ELNO_DEPL",                 
3679                              "EPSI_ELNO_DEPL","EPSI_ELGA_DEPL",                 
3680                              "EPSG_ELNO_DEPL","EPSG_ELGA_DEPL","EPSP_ELNO",     
3681                              "EPSP_ELGA","EQUI_ELNO_SIGM","EQUI_ELGA_SIGM",     
3682                              "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI",                 
3683                              "ERRE_ELNO_ELGA","ERRE_ELGA_NORE",                 
3684                              "ERRE_ELEM_NOZ1","ERRE_ELEM_NOZ2",                 
3685                              "SIGM_NOZ1_ELGA","SIGM_NOZ2_ELGA",                 
3686                              "DEGE_ELNO_DEPL","SIRE_ELNO_DEPL",                 
3687                              "VNOR_ELEM_DEPL","SIEF_ELNO","VARI_ELNO",          
3688                              "SIEF_NOEU_ELGA","VARI_NOEU_ELGA",                 
3689                              "PRES_NOEU_DBEL","PRES_NOEU_REEL",                 
3690                              "PRES_NOEU_IMAG","INTE_NOEU_ACTI",                 
3691                              "INTE_NOEU_REAC","DCHA_ELGA_SIGM",                 
3692                              "DCHA_ELNO_SIGM","RADI_ELGA_SIGM",                 
3693                              "RADI_ELNO_SIGM","ENDO_ELNO_SIGA",                 
3694                              "ENDO_ELNO_SINO","ENDO_ELNO_SIGM",                 
3695                              "SIGM_ELNO_VARI","SIGM_NOEU_VARI",                 
3696                              "EPME_ELNO_DEPL","EPME_ELGA_DEPL",                 
3697                              "EPME_ELNO_DPGE","EPMG_ELNO_DEPL",                 
3698                              "EPMG_ELGA_DEPL","GRAD_ELGA_THETA",                
3699                              "GTHE_ELNO_ELGA","GRAD_NOEU_THETA","HYDR_ELGA",    
3700                              "THETA","SIGM_ELNO_SIEF","SIPO_ELNO_SIEF",) ),
3701          TYPE_MAXI       =SIMP(statut='f',typ='TXM',into=("MAXI","MINI","MAXI_ABS","MINI_ABS","NORM_TRAN",) ),
3702          TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="VALE",into=("VALE","INST",) ),
3703          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3704          LIST_INST       =SIMP(statut='f',typ=(listr8) ),
3705          NUME_ORDRE      =SIMP(statut='f',typ='I'),  
3706          INST            =SIMP(statut='f',typ='R'),  
3707          FREQ            =SIMP(statut='f',typ='R'),  
3708          NUME_MODE       =SIMP(statut='f',typ='I'),  
3709          NOEUD_CMP       =SIMP(statut='f',typ='TXM',max='**'),  
3710          NOM_CAS         =SIMP(statut='f',typ='TXM'),  
3711          ANGL            =SIMP(statut='f',typ='R'),  
3712          PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),  
3713          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
3714          INTERPOL        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN",) ),
3715          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ),
3716          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
3717 )  ;
3718 #& MODIF COMMANDE  DATE 30/11/1999   AUTEUR JMBHH01 J.M.PROIX 
3719 CREA_MAILLAGE=OPER(nom="CREA_MAILLAGE",op= 167,sd_prod=maillage
3720                     ,fr="Définition d'un nouveau maillage à partir d'un maillage existant en dupliquant des groupes de mailles (le nombre de mailles du maillage peut être augmenté)",
3721                      docu="U4.23.02-C",reentrant='n',
3722          regles=(EXCLUS('ECLA_PG','CREA_MAILLE'),
3723                  EXCLUS('ECLA_PG','CREA_GROUP_MA'),
3724                  EXCLUS('ECLA_PG','DETR_GROUP_MA'),
3725                  EXCLUS('ECLA_PG','MODI_MAILLE'),),
3726          MAILLAGE        =SIMP(statut='o',typ=maillage ),
3727          CREA_POI1       =FACT(statut='f',min=01,max='**',fr="Création de mailles de type POI1 à partir de noeuds",
3728            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD' ),),
3729            NOM_GROUP_MA    =SIMP(statut='f',typ=grma,max='**'),
3730            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3731            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
3732            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
3733            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
3734            NOEUD           =SIMP(statut='f',typ=no,max='**'),
3735          ),
3736          CREA_MAILLE     =FACT(statut='f',min=01,max='**',fr="Duplication de mailles",
3737            regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA'),),
3738            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3739            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
3740            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
3741            PREF_MAILLE     =SIMP(statut='o',typ='TXM' ),
3742            PREF_NUME       =SIMP(statut='f',typ='I' ),
3743          ),
3744          CREA_GROUP_MA   =FACT(statut='f',min=01,max='**',fr="Duplication de mailles et création de groupes de mailles",
3745            regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),),
3746            NOM             =SIMP(statut='o',typ='TXM'),
3747            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3748            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
3749            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
3750            PREF_MAILLE     =SIMP(statut='o',typ='TXM' ),
3751            PREF_NUME       =SIMP(statut='f',typ='I' ),
3752          ),
3753          DETR_GROUP_MA   =FACT(statut='f',min=01,max=01,fr="Destruction de groupes de mailles",
3754            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
3755            NB_MAILLE       =SIMP(statut='f',typ='I',defaut= 0,fr="Nombre minimal de mailles que doit contenir le groupe pour être détruit",  ),  
3756          ),
3757          MODI_MAILLE     =FACT(statut='f',min=01,max='**',fr="Modification du type de mailles",
3758            regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),),
3759            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3760            MAILLE          =SIMP(statut='f',typ=grma,max='**'),
3761            GROUP_MA        =SIMP(statut='f',typ=ma,max='**'),
3762            OPTION          =SIMP(statut='o',typ='TXM',into=("TRIA6_7","QUAD8_9","SEG3_4"),fr="Choix de la transformation" ),
3763            PREF_NOEUD      =SIMP(statut='f',typ='TXM',defaut="NS"),
3764            PREF_NUME       =SIMP(statut='f',typ='I',defaut= 1 ),
3765          ),
3766          REPERE          =FACT(statut='f',min=01,max='**',fr="Réalisation d un changement de repère servant à déterminer les caractéristiques d une section de poutre",
3767            TABLE           =SIMP(statut='o',typ=tabl_cara_geom,fr="Nom de la table contenant les caractéristiques de la section de poutre" ),
3768            NOM_ORIG        =SIMP(statut='f',typ='TXM',into=("CDG","TORSION"),fr="Origine du nouveau repère" ),
3769            NOM_ROTA        =SIMP(statut='f',typ='TXM',into=("INERTIE",),fr="Direction du repére"  ),   
3770            b_cdg =BLOC(condition = "NOM_ORIG == 'CDG'",
3771              GROUP_MA        =SIMP(statut='f',typ=grma,fr="Nom du groupe de mailles dont le centre de gravité sera l origine du nouveau repère"),
3772            ),
3773          ),
3774          ECLA_PG         =FACT(statut='f',min=01,max=01,fr="Eclatement des mailles en petites mailles contenant chacune un seul point de gauss",
3775            MODELE          =SIMP(statut='o',typ=modele ),
3776            SHRINK          =SIMP(statut='f',typ='R',defaut= 0.9, fr="Facteur de réduction" ),
3777          ),
3778          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
3779 )  ;
3780 #& MODIF COMMANDE  DATE 21/06/2000   AUTEUR CIBHHLV L.VIVAN
3781 def crea_resu_prod(TYPE_RESU,**args):
3782   if TYPE_RESU == "EVOL_ELAS"    : return evol_elas
3783   if TYPE_RESU == "EVOL_NOLI"    : return evol_noli
3784   if TYPE_RESU == "EVOL_THER"    : return evol_ther
3785   if TYPE_RESU == "MULT_ELAS"    : return mult_elas
3786   if TYPE_RESU == "FOURIER_ELAS" : return fourier_elas
3787   raise AsException("type de concept resultat non prevu")
3788
3789 # commentaire C. DURAND : J'ai supprimé tous les blocs.
3790 # Ce qui avait été fait était faux (plantage EFICAS de nombreux tests et ingérable)
3791 # il faudra réfléchir à la manière de les réintroduire proprement
3792 CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,docu="U4.44.12-D",reentrant='f',
3793                fr="Engendrer ou enrichir une structure de données de type evol_ther en affectant les cham_no associés",
3794          regles=(EXCLUS('CHAM_GD','ECLA_PG','PERM_CHAMP',),),
3795          TYPE_RESU       =SIMP(statut='o',typ='TXM',into=("EVOL_THER","FOURIER_ELAS","MULT_ELAS",
3796                                                           "EVOL_ELAS","EVOL_NOLI") ),
3797          NOM_CHAM        =SIMP(statut='f',typ='TXM',into=("DEPL","TEMP","SIEF_ELGA","VARI_ELGA",),max='**' ),
3798          CHAM_GD         =FACT(statut='f',min=01,max='**',
3799            regles=(UN_PARMI('NOM_CAS','NUME_MODE','LIST_INST','INST',),),
3800            CHAM_NO         =SIMP(statut='o',typ=(cham_no)),
3801            NUME_ORDRE_INIT =SIMP(statut='f',typ='I'),
3802            NOM_CAS         =SIMP(statut='f',typ='TXM' ),
3803            NUME_MODE       =SIMP(statut='f',typ='I'),
3804            TYPE_MODE       =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ),
3805            INST            =SIMP(statut='f',typ='R',max='**'),
3806            LIST_INST       =SIMP(statut='f',typ=listr8),
3807            NUME_INIT       =SIMP(statut='f',typ='I'),
3808            NUME_FIN        =SIMP(statut='f',typ='I'),
3809          ),  
3810
3811          ECLA_PG         =FACT(statut='f',min=01,max=01,
3812            regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','LIST_INST','LIST_FREQ','LIST_ORDRE'),),
3813            MODELE_INIT     =SIMP(statut='o',typ=modele),
3814            RESU_INIT       =SIMP(statut='o',typ=resultat),
3815            MAILLAGE        =SIMP(statut='o',typ=maillage),
3816            NOM_CHAM        =SIMP(statut='o',typ='TXM',max='**',
3817                                  into=("SIEF_ELGA","VARI_ELGA","SIEF_ELGA_DEPL","FLUX_ELGA_TEMP",) ),
3818            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",) ),
3819            NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),
3820            LIST_ORDRE      =SIMP(statut='f',typ=listis),
3821            INST            =SIMP(statut='f',typ='R',max='**'),
3822            LIST_INST       =SIMP(statut='f',typ=listr8),
3823            FREQ            =SIMP(statut='f',typ='R',max='**'),
3824            LIST_FREQ       =SIMP(statut='f',typ=listr8),
3825            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
3826            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
3827          ),
3828
3829
3830          RESU_INIT       =SIMP(statut='f',typ=evol_noli),
3831          INST_INIT       =SIMP(statut='f',typ='R'),
3832          PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
3833          CRITERE         =SIMP(statut='f',typ='TXM',into=('RELATIF','ABSOLU'),defaut='RELATIF'),
3834          MAILLAGE_INIT   =SIMP(statut='f',typ=maillage,),
3835          RESU_FINAL      =SIMP(statut='f',typ=evol_noli,),
3836          MAILLAGE_FINAL  =SIMP(statut='f',typ=maillage,),
3837          PERM_CHAMP      =FACT(statut='f',min=01,max=01,
3838             GROUP_MA_FINAL =SIMP(statut='o',typ=grma),
3839             GROUP_MA_INIT  =SIMP(statut='o',typ=grma),
3840             TRAN           =SIMP(statut='o',typ='R',max='**'),
3841             PRECISION      =SIMP(statut='f',typ='R',defaut=1.0E-3),
3842          )
3843 )  ;
3844 #& AJOUT COMMANDE    
3845 DEBUT=PROC(nom="DEBUT",op=0 ,docu="U4.11.01-F",repetable='n',
3846            fr="Ouverture d une étude. Allocation des ressources mémoire et disque",
3847
3848          PAR_LOT         =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM'),
3849          BASE            =FACT(fr="définition des paramètres associés aux bases JEVEUX",
3850                                statut='f',min=01,max=03,
3851            FICHIER         =SIMP(fr="nom de la base",statut='o',typ='TXM',
3852                                  into=('GLOBALE','VOLATILE','LOCALE'),),
3853            TITRE           =SIMP(statut='f',typ='TXM'),
3854            CAS             =SIMP(statut='f',typ='TXM'),
3855            NMAX_ENRE       =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'),
3856            LONG_ENRE       =SIMP(fr="longueur des enregistrements",statut='f',typ='I'),
3857            LONG_REPE       =SIMP(fr="longueur du répertoire",statut='f',typ='I'),
3858          ),
3859          IMPRESSION      =FACT(statut='f',min=01,max=03,
3860            FICHIER         =SIMP(statut='o',typ='TXM'),
3861            UNITE           =SIMP(statut='o',typ='I'),
3862          ),
3863          CATALOGUE       =FACT(statut='f',min=01,max=10,
3864            FICHIER         =SIMP(statut='o',typ='TXM'),
3865            TITRE           =SIMP(statut='f',typ='TXM'),
3866            UNITE           =SIMP(statut='f',typ='I'),
3867          ),
3868          CODE            =FACT("définition d un nom pour l'esemble d'une étude",
3869                                statut='f',min=01,max=01,
3870            NOM             =SIMP(statut='o',typ='TXM'),
3871            UNITE           =SIMP(statut='f',typ='I',defaut=15),
3872          ),
3873          DEBUG           =FACT(fr="option de déboggage reservée aux développeurs",
3874                                statut='f',min=01,max=01,
3875            JXVERI          =SIMP(fr="vérifie l intégrité de la segmentation mémoire",
3876                                  statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
3877            JEVEUX          =SIMP(fr="force les déchargement sur disque",
3878                                  statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
3879            ENVIMA          =SIMP(fr="imprime les valeurs définies dans ENVIMA",
3880                                  statut='f',typ='TXM',into=('TEST',)),
3881          ),
3882          MEMOIRE         =FACT(fr="mode de gestion mémoire utilisé",statut='f',min=01,max=01,
3883            GESTION         =SIMP(statut='f',typ='TXM',into=('COMPACTE','RAPIDE'),defaut='RAPIDE'),  
3884            TYPE_ALLOCATION =SIMP(statut='f',typ='I',into=(1,2,3,4),defaut=1),  
3885            TAILLE          =SIMP(statut='f',typ='I'),  
3886            PARTITION       =SIMP(statut='f',typ='R'),  
3887          ),
3888  );
3889 #& MODIF COMMANDE  DATE 09/09/98   AUTEUR ACBHHCD G.DEVESA
3890 DEFI_BASE_MODALE=OPER(nom="DEFI_BASE_MODALE",op=  99,sd_prod=base_modale
3891                     ,fr="Définition d une base modale pour analyse dynamique par superposition modale ou sous structuration dynamique par synthèse modale",
3892                      docu="U4.64.02-E",reentrant='f',
3893          regles=(UN_PARMI('CLASSIQUE','RITZ'),),
3894          CLASSIQUE       =FACT(statut='f',min=01,max=01,
3895            INTERF_DYNA     =SIMP(statut='o',typ=interf_dyna_clas ),
3896            MODE_MECA       =SIMP(statut='o',typ=mode_meca,max='**' ),
3897            NMAX_MODE       =SIMP(statut='f',typ='I',defaut= 10 ),
3898          ),
3899          RITZ            =FACT(statut='f',min=01,max='**',
3900            regles=(UN_PARMI('MODE_STAT','MODE_MECA','MULT_ELAS','BASE_MODALE'),),
3901            MODE_MECA       =SIMP(statut='f',typ=mode_meca,max='**'  ),
3902            NMAX_MODE       =SIMP(statut='f',typ='I',defaut= 999 ),
3903            MODE_STAT       =SIMP(statut='f',typ=mode_stat ),
3904            MULT_ELAS       =SIMP(statut='f',typ=mult_elas ),
3905            BASE_MODALE     =SIMP(statut='f',typ=base_modale ),
3906          ),
3907 #  le bloc conditionnel remplace-t-il PRESENT_PRESENT('RITZ','NUME_REF'),
3908 #                                     PRESENT_ABSENT('INTERF_DYNA','CLASSIQUE'),        
3909          b_ritz          =BLOC(condition = "RITZ != None",
3910            INTERF_DYNA     =SIMP(statut='f',typ=interf_dyna_clas ),
3911            NUME_REF        =SIMP(statut='o',typ=nume_ddl ),
3912          ),
3913          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
3914          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
3915 )  ;
3916 #& MODIF COMMANDE  DATE 06/11/98   AUTEUR CIBHHLV L.VIVAN 
3917 DEFI_CABLE_BP=OPER(nom="DEFI_CABLE_BP",op= 180,sd_prod=cabl_precont,
3918                    fr=" ",
3919                    docu="U4.42.04-A",reentrant='n',
3920          MODELE          =SIMP(statut='o',typ=modele ),
3921          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
3922          CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
3923          GROUP_MA_BETON  =SIMP(statut='o',typ=grma),
3924          DEFI_CABLE      =FACT(statut='o',min=01,max='**',
3925            regles=(UN_PARMI('MAILLE','GROUP_MA'),
3926                    UN_PARMI('NOEUD_ANCRAGE','GROUP_NO_ANCRAGE'),),
3927            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
3928            GROUP_MA        =SIMP(statut='f',typ=grma),
3929            NOEUD_ANCRAGE   =SIMP(statut='f',typ=no,max='**'),
3930            GROUP_NO_ANCRAGE=SIMP(statut='f',typ=grno,max='**'),
3931            TYPE_ANCRAGE    =SIMP(statut='o',typ='TXM',max='**',     
3932                                  into=("ACTIF","PASSIF") ),
3933          ),
3934          TENSION_INIT    =SIMP(statut='o',typ='R' ),  
3935          RECUL_ANCRAGE   =SIMP(statut='o',typ='R' ),  
3936          RELAXATION      =FACT(statut='f',min=0,max=1,
3937            R_J             =SIMP(statut='o',typ='R' ),  
3938          ),
3939          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
3940 )  ;
3941 #& MODIF COMMANDE  DATE 16/07/96   AUTEUR CIBHHRA R.MEDDOURI 
3942 DEFI_CONSTANTE=OPER(nom="DEFI_CONSTANTE",op=   2,sd_prod=fonction,
3943                     fr="Définition d une fonction constante",
3944                     docu="U4.31.01-F",reentrant='n',
3945          NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"),
3946          VALE            =SIMP(statut='o',typ='R',max=01 ),
3947          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
3948 )  ;
3949 #& MODIF COMMANDE  DATE 11/02/98   AUTEUR CIBHHLV L.VIVAN 
3950 DEFI_COQU_MULT=OPER(nom="DEFI_COQU_MULT",op=56,sd_prod=mater,docu="U4.42.03-E",reentrant='n',
3951                     fr="Définition d une coque composite couche par couche",
3952          COUCHE          =FACT(statut='o',min=01,max='**',
3953            EPAIS           =SIMP(statut='o',typ='R' ),
3954            MATER           =SIMP(statut='o',typ=(mater) ),
3955            ORIENTATION     =SIMP(statut='f',typ='R',defaut= 0.0E+0 ),
3956          ),
3957          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
3958          IMPRESSION      =FACT(statut='f',min=01,max=01,
3959            FICHIER         =SIMP(statut='f',typ='TXM',defaut="RESULTAT",
3960                                  into=("RESULTAT",) ),
3961          ),
3962 )  ;
3963 #& MODIF COMMANDE  DATE 28/06/2000   AUTEUR CIBHHLV L.VIVAN 
3964 DEFI_FLUI_STRU=OPER(nom="DEFI_FLUI_STRU",op= 143,sd_prod=type_flui_stru,
3965                     fr="Définition des caractéristiques nécessaires à l'étude du comportement dynamique d'une structure sous écoulement",
3966                     docu="U4.25.01-C",reentrant='n',
3967          regles=(EXCLUS('FAISCEAU_TRANS','GRAPPE','FAISCEAU_AXIAL','COQUE_COAX',),
3968                  AU_MOINS_UN('FAISCEAU_TRANS','GRAPPE','FAISCEAU_AXIAL','COQUE_COAX', ),),
3969          FAISCEAU_TRANS  =FACT(statut='f',min=01,max='**',
3970            COUPLAGE        =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
3971            CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
3972            PROF_VITE_FLUI  =SIMP(statut='o',typ=fonction ),
3973            PROF_RHO_F_INT  =SIMP(statut='f',typ=fonction ),
3974            PROF_RHO_F_EXT  =SIMP(statut='f',typ=fonction ),
3975            NOM_CMP         =SIMP(statut='f',typ='TXM',into=("DX","DY","DZ") ),
3976            COEF_MASS_AJOU  =SIMP(statut='f',typ='R' ),
3977            TYPE_PAS        =SIMP(statut='f',typ='TXM',into=("CARRE_LIGN","TRIA_LIGN") ),
3978            TYPE_RESEAU     =SIMP(statut='f',typ='I' ),
3979            UNITE_CD        =SIMP(statut='f',typ='I',defaut=70),
3980            UNITE_CK        =SIMP(statut='f',typ='I',defaut=71),            
3981            PAS             =SIMP(statut='f',typ='R' ),
3982          ),
3983          GRAPPE          =FACT(statut='f',min=00,max=01,
3984            regles=(ENSEMBLE('GRAPPE_2','NOEUD','CARA_ELEM','MODELE','RHO_FLUI',),
3985                    PRESENT_PRESENT('COEF_MASS_AJOU','GRAPPE_2', ),),
3986 #  peut on créer un bloc a partir de la valeur de couplage  
3987            COUPLAGE        =SIMP(statut='o',typ='TXM',into=("OUI","NON") ),
3988            GRAPPE_2        =SIMP(statut='f',typ='TXM',
3989                                  into=("ASC_CEN","ASC_EXC","DES_CEN","DES_EXC") ),
3990            NOEUD           =SIMP(statut='f',typ=no),
3991            CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
3992            MODELE          =SIMP(statut='f',typ=modele ),
3993            COEF_MASS_AJOU  =SIMP(statut='f',typ='R' ),
3994            RHO_FLUI        =SIMP(statut='f',typ='R' ),
3995            UNITE_CA        =SIMP(statut='f',typ='I',defaut=70),
3996            UNITE_KA        =SIMP(statut='f',typ='I',defaut=71),            
3997          ),
3998          FAISCEAU_AXIAL  =FACT(statut='f',min=01,max='**',
3999            regles=(UN_PARMI('GROUP_MA','TRI_GROUP_MA'),
4000                    UN_PARMI('CARA_ELEM','RAYON_TUBE'),
4001                    ENSEMBLE('RAYON_TUBE','COOR_TUBE'),
4002                    PRESENT_ABSENT('RAYON_TUBE','TRI_GROUP_MA'),
4003                    ENSEMBLE('CARA_PAROI','VALE_PAROI'),
4004                    ENSEMBLE('LONG_TYPG','LARG_TYPG','EPAI_TYPG','RUGO_TYPG','COEF_TRAI_TYPG','COEF_DPOR_TYPG',
4005                             'COOR_GRILLE','TYPE_GRILLE', ),),
4006 #  on doit pouvoir mettre des blocs conditionnels mais pas assez d infos pour le faire                            
4007            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
4008            TRI_GROUP_MA    =SIMP(statut='f',typ='TXM' ),
4009            VECT_X          =SIMP(statut='f',typ='R',max=03),
4010            PROF_RHO_FLUI   =SIMP(statut='f',typ=fonction ),
4011            PROF_VISC_CINE  =SIMP(statut='f',typ=fonction ),
4012            CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
4013            RAYON_TUBE      =SIMP(statut='f',typ='R' ),
4014            COOR_TUBE       =SIMP(statut='f',typ='R',max='**'),
4015            PESANTEUR       =SIMP(statut='f',typ='R',min=04,max=04),
4016            RUGO_TUBE       =SIMP(statut='f',typ='R' ),
4017            CARA_PAROI      =SIMP(statut='f',typ='TXM',max=05,
4018                                  into=("YC","ZC","R","HY","HZ") ),
4019            VALE_PAROI      =SIMP(statut='f',typ='R',max=05),
4020            ANGL_VRIL       =SIMP(statut='f',typ='R' ),
4021            LONG_TYPG       =SIMP(statut='f',typ='R',max='**'),
4022            LARG_TYPG       =SIMP(statut='f',typ='R',max='**'),
4023            EPAI_TYPG       =SIMP(statut='f',typ='R',max='**'),
4024            RUGO_TYPG       =SIMP(statut='f',typ='R',max='**'),
4025            COEF_TRAI_TYPG  =SIMP(statut='f',typ='R',max='**'),
4026            COEF_DPOR_TYPG  =SIMP(statut='f',typ='R',max='**'),
4027            COOR_GRILLE     =SIMP(statut='f',typ='R',max='**'),
4028            TYPE_GRILLE     =SIMP(statut='f',typ='I',max='**'),
4029          ),
4030          COQUE_COAX      =FACT(statut='f',min=00,max=01,
4031            MASS_AJOU       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
4032            GROUP_MA_INT    =SIMP(statut='o',typ=grma),
4033            GROUP_MA_EXT    =SIMP(statut='o',typ=grma),
4034            VECT_X          =SIMP(statut='o',typ='R',max='**'),
4035            CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
4036            MATER_INT       =SIMP(statut='o',typ=mater ),
4037            MATER_EXT       =SIMP(statut='o',typ=mater ),
4038            RHO_FLUI        =SIMP(statut='o',typ='R' ),
4039            VISC_CINE       =SIMP(statut='o',typ='R' ),
4040            RUGOSITE        =SIMP(statut='o',typ='R' ),
4041            PDC_MOY_1       =SIMP(statut='o',typ='R' ),
4042            PDC_DYN_1       =SIMP(statut='o',typ='R' ),
4043            PDC_MOY_2       =SIMP(statut='o',typ='R' ),
4044            PDC_DYN_2       =SIMP(statut='o',typ='R' ),
4045          ),
4046          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
4047 )  ;
4048 #& MODIF COMMANDE  DATE 11/02/98   AUTEUR CIBHHLV L.VIVAN 
4049 DEFI_FONC_ELEC=OPER(nom="DEFI_FONC_ELEC",op=64,sd_prod=fonction,docu="U4.MK.10-A",reentrant='n',
4050                     fr="Définition d une fonction du temps pour calculer des forces de LAPLACE",
4051       regles=(UN_PARMI('COUR_PRIN','COUR'),
4052               EXCLUS('COUR','COUR_SECO'), ),
4053          FREQ            =SIMP(statut='f',typ='R',defaut= 50.),
4054          SIGNAL          =SIMP(statut='f',typ='TXM',defaut="COMPLET",into=("COMPLET","CONTINU") ),
4055          COUR            =FACT(statut='f',min=01,max='**',
4056          fr="Définition du courant de court-circuit",
4057            regles=(UN_PARMI('PHI_CC_1','INTC_CC_1'),
4058                    UN_PARMI('PHI_CC_2','INTC_CC_2'),),
4059            INTE_CC_1       =SIMP(statut='o',typ='R'),
4060            TAU_CC_1        =SIMP(statut='o',typ='R'),
4061            PHI_CC_1        =SIMP(statut='f',typ='R'),
4062            INTC_CC_1       =SIMP(statut='f',typ='R'),
4063            INTE_CC_2       =SIMP(statut='o',typ='R'),
4064            TAU_CC_2        =SIMP(statut='o',typ='R'),
4065            PHI_CC_2        =SIMP(statut='f',typ='R'),
4066            INTC_CC_2       =SIMP(statut='f',typ='R'),
4067            INST_CC_INIT    =SIMP(statut='f',typ='R'),
4068            INST_CC_FIN     =SIMP(statut='o',typ='R'),
4069          ),
4070          COUR_PRIN       =FACT(statut='f',min=01,max=01,
4071          fr="Définition du courant de court-circuit avec réenclenchement",
4072            regles=(UN_PARMI('PHI_CC_1','INTC_CC_1'),),
4073            INTE_CC_1       =SIMP(statut='o',typ='R'),
4074            TAU_CC_1        =SIMP(statut='o',typ='R'),
4075            PHI_CC_1        =SIMP(statut='f',typ='R'),
4076            INTC_CC_1       =SIMP(statut='f',typ='R'),
4077            INTE_RENC_1     =SIMP(statut='f',typ='R'),
4078            TAU_RENC_1      =SIMP(statut='f',typ='R'),
4079            PHI_RENC_1      =SIMP(statut='f',typ='R'),
4080            INST_CC_INIT    =SIMP(statut='o',typ='R'),
4081            INST_CC_FIN     =SIMP(statut='o',typ='R'),
4082            INST_RENC_INIT  =SIMP(statut='f',typ='R',defaut= 0.0E+0),
4083            INST_RENC_FIN   =SIMP(statut='f',typ='R',defaut= 0.0E+0),
4084          ),
4085          COUR_SECO       =FACT(statut='f',min=01,max='**',
4086          fr="Définition du courant de court-circuit avec un intervalle de temps différent de celui de COUR_PRIN",
4087            regles=(UN_PARMI('PHI_CC_2','INTC_CC_2'),),
4088            INTE_CC_2       =SIMP(statut='o',typ='R'),
4089            TAU_CC_2        =SIMP(statut='o',typ='R'),
4090            PHI_CC_2        =SIMP(statut='f',typ='R'),
4091            INTC_CC_2       =SIMP(statut='f',typ='R'),
4092            INTE_RENC_2     =SIMP(statut='f',typ='R'),
4093            TAU_RENC_2      =SIMP(statut='f',typ='R'),
4094            PHI_RENC_2      =SIMP(statut='f',typ='R'),
4095            DIST            =SIMP(statut='f',typ='R',defaut=1.0E+0),
4096          ),
4097          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
4098 )  ;
4099 #& MODIF COMMANDE  DATE 11/02/98   AUTEUR CIBHHLV L.VIVAN 
4100 DEFI_FONC_FLUI=OPER(nom="DEFI_FONC_FLUI",op= 142,sd_prod=fonction,
4101                     fr="Définition des fonctions caractéristiques du fluide le long de la structure (profil de vitesse, profil de masse volumique)",
4102                     docu="U4.35.01-C",reentrant='n',
4103          MAILLAGE        =SIMP(statut='o',typ=(maillage) ),
4104          NOEUD_INIT      =SIMP(statut='o',typ=no),
4105          NOEUD_FIN       =SIMP(statut='o',typ=no),
4106          VITE            =FACT(statut='o',min=01,max=01,
4107            VALE            =SIMP(statut='f',typ='R',defaut= 1. ),
4108            PROFIL          =SIMP(statut='o',typ='TXM',into=("UNIFORME","LEONARD") ),
4109            NB_BAV          =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 2 , 3 ) ),
4110          ),
4111          INTERPOL        =SIMP(statut='f',typ='TXM',max=02,defaut="LIN",
4112                                into=("NON","LIN","LOG") ),
4113          PROL_DROIT      =SIMP(statut='f',typ='TXM',defaut="EXCLU",
4114                                into=("CONSTANT","LINEAIRE","EXCLU") ),
4115          PROL_GAUCHE     =SIMP(statut='f',typ='TXM' ,defaut="EXCLU",
4116                                into=("CONSTANT","LINEAIRE","EXCLU") ),
4117          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
4118          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
4119 )  ;
4120 #& MODIF COMMANDE  DATE 06/09/1999   AUTEUR UFBHHLL C.CHAVANT 
4121 def defi_fonction_prod(VALE,VALE_PARA,VALE_C,NOEUD_PARA,**args):
4122   if VALE != None  : return fonction
4123   if VALE_C != None  : return fonction_c
4124   if VALE_PARA != None  : return fonction
4125   if NOEUD_PARA != None  : return fonction
4126   raise AsException("type de concept resultat non prevu")
4127
4128 DEFI_FONCTION=OPER(nom="DEFI_FONCTION",op=3,sd_prod=defi_fonction_prod
4129                     ,fr="Définition des valeurs réelles ou complexes d une fonction réelle",
4130                      docu="U4.31.02-F",reentrant='n',
4131          regles=(UN_PARMI('VALE','VALE_C','VALE_PARA','NOEUD_PARA'),),
4132          NOM_PARA        =SIMP(statut='o',typ='TXM',
4133                                into=("DX","DY","DZ","DRX","DRY","DRZ","TEMP",
4134                                      "INST","X","Y","Z","EPSI","META","FREQ","PULS",
4135                                      "AMOR","ABSC","SIGM","HYDR","SECH","PORO","SAT",
4136                                      "PGAZ","PCAP") ),
4137          NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"),
4138          VALE            =SIMP(statut='f',typ='R',max='**',
4139                                fr ="Fonction réelle définie par une liste de couples (abscisse,ordonnée)"), 
4140          VALE_C          =SIMP(statut='f',typ='R',max='**',
4141                                fr ="Fonction complexe définie par une liste de couples (abscisse,ordonnée partie réelle, ordonnée partie imaginaire)"), 
4142          VALE_PARA       =SIMP(statut='f',typ=listr8,
4143                                fr ="Fonction réelle définie par deux concepts de type listr8" ),
4144          b_vale_para     =BLOC(condition = "VALE_PARA != None", 
4145            VALE_FONC       =SIMP(statut='o',typ=listr8 ),
4146          ),
4147          NOEUD_PARA      =SIMP(statut='f',typ=no,max='**',
4148                                fr ="Fonction réelle définie par une liste de noeuds et un maillage"),
4149          b_noeud_para    =BLOC(condition = "NOEUD_PARA != None",
4150            MAILLAGE        =SIMP(statut='o',typ=maillage ),
4151            VALE_Y          =SIMP(statut='o',typ='R',max='**'), 
4152          ),
4153                   
4154          INTERPOL        =SIMP(statut='f',typ='TXM',max=02,defaut="LIN",into=("NON","LIN","LOG") ),
4155          PROL_DROIT      =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
4156          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
4157          VERIF           =SIMP(statut='f',typ='TXM',into=("CROISSANT",) ),
4158          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
4159          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
4160 )  ;
4161 #& MODIF COMMANDE  DATE 17/11/1999   AUTEUR CIBHHLV L.VIVAN 
4162 DEFI_FOND_FISS=OPER(nom="DEFI_FOND_FISS",op=55,sd_prod=fond_fiss,docu="U4.82.01-E",reentrant='n',
4163                     fr="Définition de lèvres et d un fond de fissure en 3D",
4164          regles=(UN_PARMI('FOND','FOND_FERME'),
4165                  EXCLUS('FOND_FERME','DTAN_ORIG'),
4166                  EXCLUS('FOND_FERME','DTAN_EXTR'),
4167                       EXCLUS('FOND_FERME','VECT_GRNO_ORIG'),
4168                       EXCLUS('FOND_FERME','VECT_GRNO_EXTR'),
4169                  UN_PARMI('LEVRE_SUP','NORMALE'),
4170                       EXCLUS('LEVRE_INF','NORMALE'),
4171                  ENSEMBLE('DTAN_ORIG','DTAN_EXTR'),
4172                       ENSEMBLE('VECT_GRNO_ORIG','VECT_GRNO_EXTR'),
4173                       EXCLUS('DTAN_ORIG','VECT_GRNO_ORIG'),
4174                       EXCLUS('DTAN_EXTR','VECT_GRNO_EXTR') ,),
4175            MAILLAGE        =SIMP(statut='o',typ=maillage ),
4176            FOND            =FACT(statut='f',min=01,max=01,
4177              regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),
4178                      EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),
4179                           EXCLUS('NOEUD_EXTR','GROUP_NO_EXTR'),),
4180              GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
4181              NOEUD           =SIMP(statut='f',typ=no,max='**'),
4182              GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
4183              MAILLE          =SIMP(statut='f',typ=ma,max='**'),
4184 #  à mettre à jour le max vaut-il 1  
4185              NOEUD_ORIG      =SIMP(statut='f',typ=no,max=1),
4186              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,max=1),
4187              NOEUD_EXTR      =SIMP(statut='f',typ=no,max=1),
4188              GROUP_NO_EXTR   =SIMP(statut='f',typ=grno,max=1),
4189            ),
4190            FOND_FERME      =FACT(statut='f',min=01,max=01,
4191              regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),
4192                           EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),),
4193              GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
4194              NOEUD           =SIMP(statut='f',typ=no,max='**'),
4195              GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
4196              MAILLE          =SIMP(statut='f',typ=ma,max='**'),
4197              NOEUD_ORIG      =SIMP(statut='f',typ=no,max=1),
4198              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,max=1),
4199              MAILLE_ORIG     =SIMP(statut='f',typ=ma,max=1),
4200              GROUP_MA_ORIG   =SIMP(statut='f',typ=ma,max=1),
4201            ),
4202            LEVRE_SUP       =FACT(statut='f',min=01,max=01,
4203              regles=(UN_PARMI('GROUP_MA','MAILLE'),),
4204              GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
4205              MAILLE          =SIMP(statut='f',typ=ma,max='**'),
4206            ),
4207            LEVRE_INF       =FACT(statut='f',min=01,max=01,
4208              regles=(UN_PARMI('GROUP_MA','MAILLE', ),),
4209              GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
4210              MAILLE          =SIMP(statut='f',typ=ma,max='**'),
4211            ),
4212            NORMALE         =SIMP(statut='f',typ='R',max='**'),
4213            DTAN_ORIG       =SIMP(statut='f',typ='R',max='**'),
4214            DTAN_EXTR       =SIMP(statut='f',typ='R',max='**'),
4215            VECT_GRNO_ORIG  =SIMP(statut='f',typ=grno,max=2),
4216            VECT_GRNO_EXTR  =SIMP(statut='f',typ=grno,max=2),
4217            INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
4218 )  ;
4219 #& MODIF COMMANDE  DATE 27/09/2000   AUTEUR DURAND C.DURAND 
4220 def defi_group_prod(MAILLAGE,**args):
4221   if AsType(MAILLAGE) == maillage : return maillage
4222   if AsType(MAILLAGE) == squelette : return squelette
4223   raise AsException("type de concept resultat non prevu")
4224
4225 DEFI_GROUP=OPER(nom="DEFI_GROUP",op= 104,sd_prod=defi_group_prod,
4226                 fr="Définition de nouveaux groupes de noeuds et/ou de mailles dans un concept maillage",
4227                 docu="U4.22.01-E",reentrant='o',
4228          regles=(AU_MOINS_UN('CREA_GROUP_MA','CREA_GROUP_NO'),),            
4229          MAILLAGE        =SIMP(statut='o',typ=(maillage,squelette) ),
4230          
4231          CREA_GROUP_MA   =FACT(statut='f',min=01,max='**',
4232            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','INTERSEC','UNION','DIFFE','OPTION'),),
4233 #  quel est le concept attendu deriere NOM
4234            NOM             =SIMP(statut='o',typ=grma),
4235            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
4236            GROUP_MA        =SIMP(statut='f',typ=grma),
4237            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
4238            INTERSEC        =SIMP(statut='f',typ=grma,max='**'),
4239            UNION           =SIMP(statut='f',typ=grma,max='**'),
4240            DIFFE           =SIMP(statut='f',typ=grma,max='**'),
4241            OPTION          =SIMP(statut='f',typ='TXM',into=("FACE_NORMALE","SPHERE","CYLINDRE","BANDE") ),
4242            b_group_ma      =BLOC(condition = "GROUP_MA != None",
4243              regles=(EXCLUS('POSITION','NUME_INIT'),),
4244              NUME_INIT       =SIMP(statut='f',typ='I',defaut= 1 ),             
4245              POSITION        =SIMP(statut='f',typ='TXM',into=("INIT","FIN","MILIEU") ), 
4246              b_nume_init   =BLOC(condition = "NUME_INIT != None",
4247                NUME_FIN        =SIMP(statut='f',typ='I' ),
4248              ),      
4249            ),
4250            b_face_normale  =BLOC(condition = "OPTION == 'FACE_NORMALE'",
4251              regles=(UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
4252              ANGL_NAUT       =SIMP(statut='f',typ='R',max=02),
4253              VECT_NORMALE    =SIMP(statut='f',typ='R',max=03),
4254              ANGL_PREC       =SIMP(statut='f',typ='R',defaut= 0.5 ),
4255              VERI_SIGNE      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),     
4256            ),
4257            b_sphere        =BLOC(condition = "OPTION == 'SPHERE'",
4258              regles=(UN_PARMI('POINT','NOEUD_CENTRE'),),
4259              POINT           =SIMP(statut='f',typ='R',max=03),
4260              NOEUD_CENTRE    =SIMP(statut='f',typ=no),
4261              RAYON           =SIMP(statut='o',typ='R' ),    
4262            ),
4263            b_cylindre      =BLOC(condition = "OPTION == 'CYLINDRE'",
4264              regles=(UN_PARMI('POINT','NOEUD_CENTRE'),
4265                      UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
4266              POINT           =SIMP(statut='f',typ='R',max=03),
4267              NOEUD_CENTRE    =SIMP(statut='f',typ=no),
4268              RAYON           =SIMP(statut='o',typ='R' ), 
4269              ANGL_NAUT       =SIMP(statut='f',typ='R',max=02),
4270              VECT_NORMALE    =SIMP(statut='f',typ='R',max=03),   
4271            ),
4272            b_bande         =BLOC(condition = "OPTION == 'BANDE'",
4273              regles=(UN_PARMI('POINT','NOEUD_CENTRE'),
4274                      UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
4275              POINT           =SIMP(statut='f',typ='R',max=03),
4276              NOEUD_CENTRE    =SIMP(statut='f',typ=no),
4277              DIST            =SIMP(statut='o',typ='R' ),
4278              ANGL_NAUT       =SIMP(statut='f',typ='R',max=02),
4279              VECT_NORMALE    =SIMP(statut='f',typ='R',max=03),   
4280            ),
4281          ),
4282          CREA_GROUP_NO   =FACT(statut='f',min=01,max='**',
4283            regles=(AU_MOINS_UN('TOUT_GROUP_MA','GROUP_MA','NOEUD','INTERSEC','UNION','DIFFE',
4284                                'GROUP_NO','OPTION'),),
4285
4286            TOUT_GROUP_MA   =SIMP(statut='f',typ='TXM',into=("OUI",) ),               
4287            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
4288              
4289            NOEUD           =SIMP(statut='f',typ=no,max='**'),
4290            INTERSEC        =SIMP(statut='f',typ=grno,max='**'),
4291            UNION           =SIMP(statut='f',typ=grno,max='**'),
4292            DIFFE           =SIMP(statut='f',typ=grno,max='**'),
4293            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
4294            OPTION          =SIMP(statut='f',typ='TXM',into=("ENV_SPHERE","ENV_CYLINDRE","PLAN",
4295                                                             "SEGM_DROI_ORDO","NOEUD_ORDO") ),  
4296            b_nom_group_ma  =BLOC(condition = "GROUP_MA != None",
4297              NOM             =SIMP(statut='f',typ=grma,max='**'),
4298            ),
4299            b_nom =BLOC(condition = "GROUP_MA == None and TOUT_GROUP_MA == None" ,
4300              NOM             =SIMP(statut='o',typ=geom),
4301            ),                                                 
4302             
4303            b_group_no      =BLOC(condition = "GROUP_NO != None",
4304              regles=(EXCLUS('POSITION','NUME_INIT'),),
4305              NUME_INIT       =SIMP(statut='f',typ='I',defaut= 1 ),
4306              POSITION        =SIMP(statut='f',typ='TXM',into=("INIT","FIN","MILIEU") ), 
4307              b_nume_init     =BLOC(condition = "NUME_INIT != None",
4308                NUME_FIN        =SIMP(statut='f',typ='I' ),
4309              ),      
4310            ),
4311            b_env_sphere    =BLOC(condition = "OPTION == 'ENV_SPHERE'",
4312              regles=(UN_PARMI('POINT','NOEUD_CENTRE'),),
4313              POINT           =SIMP(statut='f',typ='R',max=03),
4314              NOEUD_CENTRE    =SIMP(statut='f',typ=no,max=01),
4315              RAYON           =SIMP(statut='o',typ='R' ),
4316              PRECISION       =SIMP(statut='f',typ='R' ),
4317              CRITERE         =SIMP(statut='f',typ='TXM',into=("ABSOLU","RELATIF") ),                                                 
4318            ),
4319            b_env_cylindre  =BLOC(condition = "OPTION == 'ENV_CYLINDRE'",
4320              regles=(UN_PARMI('POINT','NOEUD_CENTRE'),
4321                      UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
4322              POINT           =SIMP(statut='f',typ='R',max=03),
4323              NOEUD_CENTRE    =SIMP(statut='f',typ=no,max=01),
4324              RAYON           =SIMP(statut='o',typ='R' ),
4325              ANGL_NAUT       =SIMP(statut='f',typ='R',max=03),
4326              VECT_NORMALE    =SIMP(statut='f',typ='R',max=03),
4327              PRECISION       =SIMP(statut='f',typ='R' ),
4328              CRITERE         =SIMP(statut='f',typ='TXM',into=("ABSOLU","RELATIF") ),                                                 
4329            ),
4330            b_env_plan      =BLOC(condition = "OPTION == 'PLAN'",
4331              regles=(UN_PARMI('POINT','NOEUD_CENTRE'),
4332                      UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
4333              POINT           =SIMP(statut='f',typ='R',max=03),
4334              NOEUD_CENTRE    =SIMP(statut='f',typ=no,max=01),
4335              ANGL_NAUT       =SIMP(statut='f',typ='R',max=03),
4336              VECT_NORMALE    =SIMP(statut='f',typ='R',max=03),
4337              PRECISION       =SIMP(statut='f',typ='R' ),
4338              CRITERE         =SIMP(statut='f',typ='TXM',into=("ABSOLU","RELATIF") ),                                                 
4339            ),
4340            b_segm_droi_ordo=BLOC(condition = "OPTION == 'SEGM_DROI_ORDO'",
4341              regles=(UN_PARMI('NOEUD_ORIG','GROUP_NO_ORIG'),
4342                      UN_PARMI('NOEUD_EXTR','GROUP_NO_EXTR'),), 
4343              NOEUD_ORIG      =SIMP(statut='f',typ=no),
4344              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno),
4345              NOEUD_EXTR      =SIMP(statut='f',typ=no),
4346              GROUP_NO_EXTR   =SIMP(statut='f',typ=grno),
4347              PRECISION       =SIMP(statut='f',typ='R' ),
4348              CRITERE         =SIMP(statut='f',typ='TXM',into=("ABSOLU","RELATIF") ),                                                 
4349            ),
4350            b_noeud_ordo    =BLOC(condition = "OPTION == 'NOEUD_ORDO'",
4351              regles=(UN_PARMI('NOEUD_ORIG','GROUP_NO_ORIG'),
4352                      UN_PARMI('NOEUD_EXTR','GROUP_NO_EXTR'),),
4353              NOEUD_ORIG      =SIMP(statut='f',typ=no),
4354              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno),
4355              NOEUD_EXTR      =SIMP(statut='f',typ=no),
4356              GROUP_NO_EXTR   =SIMP(statut='f',typ=grno),
4357              PRECISION       =SIMP(statut='f',typ='R' ),
4358              CRITERE         =SIMP(statut='f',typ='TXM',into=("ABSOLU","RELATIF") ),                                                 
4359            ),      
4360          ),
4361          INFO            =SIMP(statut='f',typ='I',into=( 1 , 2 ) ),
4362 )  ;
4363 #& MODIF COMMANDE  DATE 03/05/2000   AUTEUR CIBHHAB N.RAHNI 
4364 DEFI_INTE_SPEC=OPER(nom="DEFI_INTE_SPEC",op= 115,sd_prod=tabl_intsp,
4365                     fr="Définition d'une matrice interspectrale à partir de constantes, de fonctions complexes, ou du filtrage d'un bruit blanc par un oscillateur de KANAI-TAJIMI",
4366                     docu="U4.36.02-E",reentrant='n',
4367
4368          DIMENSION       =SIMP(statut='f',typ='I',defaut= 1 ),
4369
4370          PAR_FONCTION    =FACT(statut='f',min=01,max='**',
4371            NUME_ORDRE_I    =SIMP(statut='o',typ='I' ),
4372            NUME_ORDRE_J    =SIMP(statut='o',typ='I' ),
4373            FONCTION        =SIMP(statut='o',typ=fonction_c ),
4374          ),
4375          KANAI_TAJIMI    =FACT(statut='f',min=01,max='**',
4376            regles=(EXCLUS('VALE_R','VALE_C'),),
4377            NUME_ORDRE_I    =SIMP(statut='o',typ='I' ),
4378            NUME_ORDRE_J    =SIMP(statut='o',typ='I' ),
4379            FREQ_MIN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
4380            FREQ_MAX        =SIMP(statut='f',typ='R',defaut= 100. ),
4381            PAS             =SIMP(statut='f',typ='R',defaut= 1. ),
4382            AMOR_REDUIT     =SIMP(statut='f',typ='R',defaut= 0.6 ),
4383            FREQ_MOY        =SIMP(statut='f',typ='R',defaut= 5. ),
4384            VALE_R          =SIMP(statut='f',typ='R' ),
4385            VALE_C          =SIMP(statut='f',typ='C' ),
4386            INTERPOL        =SIMP(statut='f',typ='TXM',max=02,defaut="LIN",into=("NON","LIN","LOG") ),
4387            PROL_DROIT      =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
4388            PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
4389          ),
4390          CONSTANT        =FACT(statut='f',min=01,max='**',
4391            regles=(EXCLUS('VALE_R','VALE_C'),),
4392            NUME_ORDRE_I    =SIMP(statut='o',typ='I' ),
4393            NUME_ORDRE_J    =SIMP(statut='o',typ='I' ),
4394            FREQ_MIN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
4395            FREQ_MAX        =SIMP(statut='f',typ='R',defaut= 100. ),
4396            PAS             =SIMP(statut='f',typ='R',defaut= 1. ),
4397            VALE_R          =SIMP(statut='f',typ='R' ),
4398            VALE_C          =SIMP(statut='f',typ='C' ),
4399            INTERPOL        =SIMP(statut='f',typ='TXM',max=02,defaut="LIN",into=("NON","LIN","LOG") ),
4400            PROL_DROIT      =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
4401            PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
4402          ),
4403          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
4404          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),               
4405 )  ;
4406 #& MODIF COMMANDE  DATE 11/02/98   AUTEUR CIBHHLV L.VIVAN 
4407 DEFI_INTERF_DYNA=OPER(nom="DEFI_INTERF_DYNA",op=  98,sd_prod=interf_dyna_clas,
4408                       fr="Définition des interfaces d une structure pour analyse dynamique par superposition modale ou sous structuration dynamique par synthèse modale",
4409                       docu="U4.64.01-E",reentrant='n',
4410          NUME_DDL        =SIMP(statut='o',typ=nume_ddl ),
4411          INTERFACE       =FACT(statut='o',min=01,max='**',
4412            regles=(ENSEMBLE('NOM','TYPE'),
4413 #  erreur doc U sur la condition qui suit
4414                    UN_PARMI('NOEUD','GROUP_NO'),),
4415            NOM             =SIMP(statut='f',typ='TXM' ),
4416            TYPE            =SIMP(statut='f',typ='TXM',into=("MNEAL","CRAIGB","CB_HARMO","AUCUN") ),
4417            NOEUD           =SIMP(statut='f',typ=no,max='**'),
4418            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
4419            DDL_ACTIF       =SIMP(statut='f',typ='TXM',max='**'),
4420            MASQUE          =SIMP(statut='f',typ='TXM',max='**'),
4421          ),
4422          FREQ            =SIMP(statut='f',typ='R',defaut= 1.),
4423          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
4424 )  ;
4425 #& MODIF COMMANDE  DATE 11/02/98   AUTEUR CIBHHLV L.VIVAN 
4426 DEFI_LIST_ENTI=OPER(nom="DEFI_LIST_ENTI",op=22,sd_prod=listis,
4427                     fr="Définition d une suite croissante d entiers",
4428                     docu="U4.34.02-F",reentrant='n',
4429          regles=(UN_PARMI('VALE','DEBUT'),
4430                  EXCLUS('VALE','INTERVALLE'),),
4431          VALE            =SIMP(statut='f',typ='I',max='**'),
4432          DEBUT           =SIMP(statut='f',typ='I'),
4433          INTERVALLE      =FACT(statut='f',min=01,max='**',
4434            regles=(UN_PARMI('NOMBRE','PAS'),),
4435            JUSQU_A         =SIMP(statut='o',typ='I'),
4436            NOMBRE          =SIMP(statut='f',typ='I'),
4437            PAS             =SIMP(statut='f',typ='I'),
4438          ),
4439          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
4440          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
4441 )  ;
4442 #& MODIF COMMANDE  DATE 11/02/98   AUTEUR CIBHHLV L.VIVAN 
4443 DEFI_LIST_REEL=OPER(nom="DEFI_LIST_REEL",op=24,sd_prod=listr8,
4444                     fr="Définition d une suite croissante de réels",
4445                     docu="U4.34.01-F",reentrant='n',
4446          regles=(UN_PARMI('VALE','DEBUT',),
4447                  EXCLUS('VALE','INTERVALLE'),
4448                  ENSEMBLE('DEBUT','INTERVALLE'),
4449                  ),
4450          VALE            =SIMP(statut='f',typ='R',max='**'),
4451          DEBUT           =SIMP(statut='f',typ='R'),
4452          INTERVALLE      =FACT(statut='f',min=01,max='**',
4453            regles=(UN_PARMI('NOMBRE','PAS'),),
4454            JUSQU_A         =SIMP(statut='o',typ='R'),
4455            NOMBRE          =SIMP(statut='f',typ='I'),
4456            PAS             =SIMP(statut='f',typ='R'),
4457          ),
4458          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
4459          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
4460 )  ;
4461 #& MODIF COMMANDE  DATE 20/12/94   AUTEUR B7BHHLV L.VIVAN 
4462 DEFI_MAILLAGE=OPER(nom="DEFI_MAILLAGE",op=  88,sd_prod=maillage,
4463                    fr="Définition d un nouveau maillage à partir de macro éléments",
4464                    docu="U4.23.01-E",reentrant='n',
4465          DEFI_MAILLE     =FACT(statut='o',min=01,max='**',
4466            MACR_ELEM_STAT  =SIMP(statut='o',typ=macr_elem_stat,max='**' ),
4467            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
4468            TRAN            =SIMP(statut='f',typ='R',max=03),
4469            ANGL_NAUT       =SIMP(statut='f',typ='R',max=03),
4470            b_angl_naut     =BLOC(condition = "ANGL_NAUT != None",
4471              CENTRE          =SIMP(statut='f',typ='R',max=03),
4472            ),
4473          ),
4474          RECO_GLOBAL     =FACT(statut='f',min=01,max='**',
4475            regles=(UN_PARMI('TOUT','MAILLE'),),
4476            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
4477            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
4478            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
4479            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
4480          ),
4481          RECO_MAILLE     =FACT(statut='f',min=01,max='**',
4482            MAILLE          =SIMP(statut='o',typ=ma,max='**'),
4483            GROUP_NO        =SIMP(statut='o',typ=grno,max='**'),
4484            OPTION          =SIMP(statut='f',typ='TXM',defaut="GEOMETRIQUE",into=("GEOMETRIQUE","NOEUD_A_NOEUD","INVERSE") ),
4485            geometrique     =BLOC(condition = "OPTION == 'GEOMETRIQUE'",
4486              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
4487              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
4488            ),
4489          ),
4490          DEFI_NOEUD      =FACT(statut='f',min=01,max='**',
4491            regles=(UN_PARMI('TOUT','NOEUD_INIT'),),
4492            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",),
4493                                  fr="Renommage de tous les noeuds" ),
4494            NOEUD_INIT      =SIMP(statut='f',typ=no,
4495                                  fr="Renommage d un seul noeud"),                     
4496            b_tout          =BLOC(condition = "TOUT != None",
4497              PREFIXE         =SIMP(statut='f',typ='TXM' ),
4498              INDEX           =SIMP(statut='o',typ='I',max='**'),
4499            ),
4500            b_noeud_init    =BLOC(condition = "NOEUD_INIT != None",
4501              MAILLE          =SIMP(statut='o',typ=ma),
4502              NOEUD_FIN       =SIMP(statut='o',typ=no),
4503            ),        
4504          ),
4505          DEFI_GROUP_NO   =FACT(statut='f',min=01,max='**',
4506            regles=(UN_PARMI('TOUT','MAILLE'),
4507                 AU_MOINS_UN('INDEX','GROUP_NO_FIN'),
4508                    ENSEMBLE('GROUP_NO_INIT','GROUP_NO_FIN'),),
4509 #  la regle ancien catalogue AU_MOINS_UN__: ( INDEX , GROUP_NO_FIN ) incoherente avec doc U           
4510            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",),
4511                                  fr="Création de plusieurs groupes de noeuds" ),
4512            MAILLE          =SIMP(statut='f',typ=ma,
4513                                  fr="Création de plusieurs groupes de noeuds"),
4514            GROUP_NO_INIT   =SIMP(statut='f',typ=grno,
4515                                  fr="Création d un seul groupe de noeuds"),
4516            PREFIXE         =SIMP(statut='f',typ='TXM' ),
4517            INDEX           =SIMP(statut='f',typ='I',max='**'),
4518            GROUP_NO_FIN    =SIMP(statut='f',typ=grno),
4519          ),
4520 )  ;
4521 #& MODIF COMMANDE  DATE 28/11/2000   AUTEUR CIBHHLV L.VIVAN 
4522 DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater,
4523                    fr="Définition des paramètres décrivant le comportement d un matériau",
4524                    docu="U4.43.01-F",reentrant='n',
4525        regles=(EXCLUS('ELAS','ELAS_FO','ELAS_FLUI','ELAS_ISTR','ELAS_ISTR_FO','ELAS_ORTH',
4526                       'ELAS_ORTH_FO','ELAS_COQUE','ELAS_COQUE_FO',
4527                       'SURF_ETAT_SATU','CAM_CLAY_THM','SURF_ETAT_NSAT'),
4528                EXCLUS('THER','THER_FO','THER_ORTH','THER_NL'),
4529                EXCLUS('ECRO_LINE','ECRO_LINE_FO'),
4530                EXCLUS('TAHERI','TAHERI_FO'),
4531                EXCLUS('ROUSSELIER','ROUSSELIER_FO'),
4532                PRESENT_PRESENT('ROUSSELIER','TRACTION'),
4533                PRESENT_PRESENT('ROUSSELIER_FO','TRACTION'),
4534                EXCLUS('VMIS_CIN1_CHAB','VMIS_CIN1_CHAB_F'),
4535                EXCLUS('VISCOCHAB','VISCOCHAB_FO'),
4536                EXCLUS('POLY_CFC','POLY_CFC_FO'),
4537                PRESENT_PRESENT('NORTON_HOFF','ELAS'),
4538                EXCLUS('LEMAITRE','LEMAITRE_FO','ZIRC_CYRA2','ZIRC_EPRI'),
4539                EXCLUS('OHNO','OHNO_FO'),
4540                EXCLUS('LMARC','LMARC_FO'),
4541                EXCLUS('VMIS_POUTRE','VMIS_POUTRE_FO'),
4542                EXCLUS('VENDOCHAB','VENDOCHAB_FO'),
4543                PRESENT_PRESENT('BPEL_BETON','ELAS'),
4544                PRESENT_PRESENT('BPEL_ACIER','ELAS'),
4545                EXCLUS('RCCM','RCCM_FO'),),
4546 #
4547 # comportement élastique
4548 #
4549            ELAS            =FACT(statut='f',min=00,max=01,
4550              E               =SIMP(statut='o',typ='R'),
4551              NU              =SIMP(statut='o',typ='R'),
4552              RHO             =SIMP(statut='f',typ='R'),
4553              ALPHA           =SIMP(statut='f',typ='R'),
4554              AMOR_ALPHA      =SIMP(statut='f',typ='R'),
4555              AMOR_BETA       =SIMP(statut='f',typ='R'),
4556              AMOR_HYST       =SIMP(statut='f',typ='R'),
4557            ),
4558            ELAS_FO         =FACT(statut='f',min=00,max=01,
4559              E               =SIMP(statut='o',typ=fonction),
4560              NU              =SIMP(statut='o',typ=fonction),
4561              RHO             =SIMP(statut='f',typ='R'),
4562              TEMP_DEF_ALPHA  =SIMP(statut='f',typ='R'),
4563              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.),
4564              ALPHA           =SIMP(statut='f',typ=fonction),
4565              AMOR_ALPHA      =SIMP(statut='f',typ=fonction),
4566              AMOR_BETA       =SIMP(statut='f',typ=fonction),
4567              AMOR_HYST       =SIMP(statut='f',typ=fonction),
4568              K_DESSIC        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
4569              B_ENDOGE        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
4570              VERI_P1         =SIMP(statut='f',typ='TXM',defaut="TEMP",into=("TEMP","INST",) ),
4571              VERI_P2         =SIMP(statut='f',typ='TXM',defaut="INST",into=("TEMP","INST",) ),
4572              VERI_P3         =SIMP(statut='f',typ='TXM',defaut="HYDR",into=("HYDR",) ),
4573              VERI_P4         =SIMP(statut='f',typ='TXM',defaut="SECH",into=("SECH",) ),
4574            ),
4575            ELAS_FLUI       =FACT(statut='f',min=00,max=01,
4576              E               =SIMP(statut='o',typ='R'),
4577              NU              =SIMP(statut='o',typ='R'),
4578              RHO             =SIMP(statut='o',typ='R'),
4579              PROF_RHO_F_INT  =SIMP(statut='o',typ=fonction),
4580              PROF_RHO_F_EXT  =SIMP(statut='o',typ=fonction),
4581              COEF_MASS_AJOU  =SIMP(statut='o',typ=fonction),
4582              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="ABSC",into=("ABSC",) ),
4583            ),
4584            ELAS_ISTR       =FACT(statut='f',min=00,max=01,
4585              E_L             =SIMP(statut='o',typ='R'),
4586              E_N             =SIMP(statut='o',typ='R'),
4587              NU_LT           =SIMP(statut='o',typ='R'),
4588              NU_LN           =SIMP(statut='o',typ='R'),
4589              G_LN            =SIMP(statut='o',typ='R'),
4590              RHO             =SIMP(statut='f',typ='R'),
4591              ALPHA_L         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
4592              ALPHA_N         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
4593            ),
4594            ELAS_ISTR_FO    =FACT(statut='f',min=00,max=01,
4595              E_L             =SIMP(statut='o',typ=fonction),
4596              E_N             =SIMP(statut='o',typ=fonction),
4597              NU_LT           =SIMP(statut='o',typ=fonction),
4598              NU_LN           =SIMP(statut='o',typ=fonction),
4599              G_LN            =SIMP(statut='o',typ=fonction),
4600              RHO             =SIMP(statut='f',typ='R'),
4601              TEMP_DEF_ALPHA  =SIMP(statut='f',typ='R'),
4602              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.),
4603              ALPHA_L         =SIMP(statut='f',typ=fonction),
4604              ALPHA_N         =SIMP(statut='f',typ=fonction),
4605              VERI_P1         =SIMP(statut='f',typ='TXM',defaut="TEMP",into=("TEMP","INST")),
4606            ),
4607            ELAS_ORTH       =FACT(statut='f',min=00,max=01,
4608              E_L             =SIMP(statut='o',typ='R'),
4609              E_T             =SIMP(statut='o',typ='R'),
4610              E_N             =SIMP(statut='f',typ='R'),
4611              NU_LT           =SIMP(statut='o',typ='R'),
4612              NU_LN           =SIMP(statut='f',typ='R'),
4613              NU_TN           =SIMP(statut='f',typ='R'),
4614              G_LT            =SIMP(statut='o',typ='R'),
4615              G_LN            =SIMP(statut='f',typ='R'),
4616              G_TN            =SIMP(statut='f',typ='R'),
4617              RHO             =SIMP(statut='f',typ='R'),
4618              ALPHA_L         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
4619              ALPHA_T         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
4620              ALPHA_N         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
4621              XT              =SIMP(statut='f',typ='R',defaut= 1. ),
4622              XC              =SIMP(statut='f',typ='R',defaut= 1. ),
4623              YT              =SIMP(statut='f',typ='R',defaut= 1. ),
4624              YC              =SIMP(statut='f',typ='R',defaut= 1. ),
4625              S_LT            =SIMP(statut='f',typ='R',defaut= 1. ),
4626            ),
4627            ELAS_ORTH_FO    =FACT(statut='f',min=00,max=01,
4628              E_L             =SIMP(statut='o',typ=fonction),
4629              E_T             =SIMP(statut='o',typ=fonction),
4630              E_N             =SIMP(statut='o',typ=fonction),
4631              NU_LT           =SIMP(statut='o',typ=fonction),
4632              NU_LN           =SIMP(statut='o',typ=fonction),
4633              NU_TN           =SIMP(statut='o',typ=fonction),
4634              G_LT            =SIMP(statut='o',typ=fonction),
4635              G_LN            =SIMP(statut='o',typ=fonction),
4636              G_TN            =SIMP(statut='o',typ=fonction),
4637              RHO             =SIMP(statut='f',typ='R'),
4638              TEMP_DEF_ALPHA  =SIMP(statut='f',typ='R'),
4639              PRECISION       =SIMP(statut='f',typ='R',defaut= 1. ),
4640              ALPHA_L         =SIMP(statut='f',typ=fonction),
4641              ALPHA_T         =SIMP(statut='f',typ=fonction),
4642              ALPHA_N         =SIMP(statut='f',typ=fonction),
4643              VERI_P1         =SIMP(statut='f',typ='TXM',defaut="TEMP",into=("TEMP","INST",) ),
4644            ),
4645            ELAS_THM        =FACT(statut='f',min=00,max=01,
4646              RHO_S           =SIMP(statut='o',typ='R'),  
4647              UN_SUR_KS       =SIMP(statut='o',typ='R'),  
4648              E               =SIMP(statut='f',typ='R'),  
4649              KB              =SIMP(statut='f',typ='R'),  
4650              D_KB_T          =SIMP(statut='f',typ='R'),  
4651              ALPHA_S         =SIMP(statut='f',typ='R'),  
4652              ALPHA_D         =SIMP(statut='f',typ='R'),  
4653            ),
4654            SURF_ETAT_SATU  =FACT(statut='f',min=00,max=01,
4655              E_CHAR          =SIMP(statut='o',typ='R'),  
4656              E_DECHAR        =SIMP(statut='o',typ='R'),  
4657              XN              =SIMP(statut='f',typ='R'),  
4658              RF              =SIMP(statut='f',typ='R'),  
4659              EV_KB           =SIMP(statut='f',typ='R'),  
4660              EV_XM           =SIMP(statut='f',typ='R'),  
4661              D_E_T           =SIMP(statut='f',typ='R'),  
4662              ALPHA0          =SIMP(statut='f',typ='R'),  
4663              ALPHA1          =SIMP(statut='f',typ='R'),  
4664              ALPHA2          =SIMP(statut='f',typ='R'),  
4665              ALPHA3          =SIMP(statut='f',typ='R'),  
4666              ALPHA_S         =SIMP(statut='f',typ='R'),  
4667              ANG_FRT         =SIMP(statut='o',typ='R'),  
4668              COHE            =SIMP(statut='o',typ='R'),  
4669              RESI_TRAC       =SIMP(statut='o',typ='R'),  
4670            ),
4671            CAM_CLAY_THM    =FACT(statut='f',min=00,max=01,
4672              NU              =SIMP(statut='f',typ='R'),  
4673              LAMBDA          =SIMP(statut='o',typ='R'),  
4674              KAPA            =SIMP(statut='o',typ='R'),  
4675              M               =SIMP(statut='f',typ='R'),  
4676              PRES_CRIT       =SIMP(statut='f',typ='R'),  
4677              GAMA            =SIMP(statut='o',typ='R'),  
4678              A0_PC           =SIMP(statut='o',typ='R'),  
4679              A1_PC           =SIMP(statut='f',typ='R'),  
4680              A2_PC           =SIMP(statut='f',typ='R'),  
4681              ALPHA0_PC       =SIMP(statut='f',typ='R'),  
4682              ALPHA1_PC       =SIMP(statut='f',typ='R'),  
4683              ALPHA2_PC       =SIMP(statut='f',typ='R'),  
4684              ALPHA3_PC       =SIMP(statut='f',typ='R'),  
4685              ALPHA_S         =SIMP(statut='f',typ='R'),  
4686                          ),
4687            SURF_ETAT_NSAT  =FACT(statut='f',min=00,max=01,
4688              E_CHAR          =SIMP(statut='o',typ='R'),  
4689              E_DECHAR        =SIMP(statut='o',typ='R'),  
4690              XN              =SIMP(statut='f',typ='R'),  
4691              RF              =SIMP(statut='f',typ='R'),  
4692              EV_KB           =SIMP(statut='f',typ='R'),  
4693              EV_XM           =SIMP(statut='f',typ='R'),  
4694              EV_A            =SIMP(statut='f',typ='R'),  
4695              EV_B            =SIMP(statut='f',typ='R'),  
4696              EV_CT           =SIMP(statut='f',typ='R'),  
4697              EV_SIGB         =SIMP(statut='f',typ='R'),  
4698              D_E_T           =SIMP(statut='f',typ='R'),  
4699              D_E_SUCC        =SIMP(statut='f',typ='R'),  
4700              ANG_FRT         =SIMP(statut='o',typ='R'),  
4701              COHE            =SIMP(statut='o',typ='R'),  
4702              D_COEH_SUCC     =SIMP(statut='f',typ='R'),  
4703              ANG_FRT_ULT     =SIMP(statut='f',typ='R'),  
4704              SUCC_ULTM       =SIMP(statut='f',typ='R'),  
4705              RESI_TRAC       =SIMP(statut='f',typ='R'),  
4706              A_SURF_SATU     =SIMP(statut='f',typ='R'),  
4707              B_SURF_SATU     =SIMP(statut='f',typ='R'),  
4708              C_SURF_SATU     =SIMP(statut='f',typ='R'),  
4709              D_SURF_SATU     =SIMP(statut='f',typ='R'),  
4710            ),
4711            ELAS_COQUE      =FACT(statut='f',min=00,max=01,
4712              regles=(EXCLUS('MEMB_L','M_LLLL',),
4713                      PRESENT_PRESENT('MEMB_L','MEMB_LT', 'MEMB_T','MEMB_G_LT','FLEX_L','FLEX_LT',
4714                                      'FLEX_T','FLEX_G_LT','CISA_L','CISA_T',),
4715                      PRESENT_PRESENT('M_LLLL','M_LLTT','M_LLLT','M_TTTT','M_TTLT','M_LTLT','F_LLLL',
4716                                      'F_LLTT','F_LLLT','F_TTTT','F_TTLT','F_LTLT','MF_LLLL',
4717                                      'MF_LLTT','MF_LLLT','MF_TTTT','MF_TTLT','MF_LTLT','MC_LLLZ',
4718                                      'MC_LLTZ','MC_TTLZ','MC_TTTZ','MC_LTLZ','MC_LTTZ','FC_LLLZ',
4719                                      'FC_LLTZ','FC_TTLZ','FC_TTTZ','FC_LTLZ','FC_LTTZ','C_LZLZ',
4720                                      'C_LZTZ','C_TZTZ'),),
4721              MEMB_L          =SIMP(statut='f',typ='R'),
4722              MEMB_LT         =SIMP(statut='f',typ='R'),
4723              MEMB_T          =SIMP(statut='f',typ='R'),
4724              MEMB_G_LT       =SIMP(statut='f',typ='R'),
4725              FLEX_L          =SIMP(statut='f',typ='R'),
4726              FLEX_LT         =SIMP(statut='f',typ='R'),
4727              FLEX_T          =SIMP(statut='f',typ='R'),
4728              FLEX_G_LT       =SIMP(statut='f',typ='R'),
4729              CISA_L          =SIMP(statut='f',typ='R'),
4730              CISA_T          =SIMP(statut='f',typ='R'),
4731              M_LLLL          =SIMP(statut='f',typ='R'),
4732              M_LLTT          =SIMP(statut='f',typ='R'),
4733              M_LLLT          =SIMP(statut='f',typ='R'),
4734              M_TTTT          =SIMP(statut='f',typ='R'),
4735              M_TTLT          =SIMP(statut='f',typ='R'),
4736              M_LTLT          =SIMP(statut='f',typ='R'),
4737              F_LLLL          =SIMP(statut='f',typ='R'),
4738              F_LLTT          =SIMP(statut='f',typ='R'),
4739              F_LLLT          =SIMP(statut='f',typ='R'),
4740              F_TTTT          =SIMP(statut='f',typ='R'),
4741              F_TTLT          =SIMP(statut='f',typ='R'),
4742              F_LTLT          =SIMP(statut='f',typ='R'),
4743              MF_LLLL         =SIMP(statut='f',typ='R'),
4744              MF_LLTT         =SIMP(statut='f',typ='R'),
4745              MF_LLLT         =SIMP(statut='f',typ='R'),
4746              MF_TTTT         =SIMP(statut='f',typ='R'),
4747              MF_TTLT         =SIMP(statut='f',typ='R'),
4748              MF_LTLT         =SIMP(statut='f',typ='R'),
4749              MC_LLLZ         =SIMP(statut='f',typ='R'),
4750              MC_LLTZ         =SIMP(statut='f',typ='R'),
4751              MC_TTLZ         =SIMP(statut='f',typ='R'),
4752              MC_TTTZ         =SIMP(statut='f',typ='R'),
4753              MC_LTLZ         =SIMP(statut='f',typ='R'),
4754              MC_LTTZ         =SIMP(statut='f',typ='R'),
4755              FC_LLLZ         =SIMP(statut='f',typ='R'),
4756              FC_LLTZ         =SIMP(statut='f',typ='R'),
4757              FC_TTLZ         =SIMP(statut='f',typ='R'),
4758              FC_TTTZ         =SIMP(statut='f',typ='R'),
4759              FC_LTLZ         =SIMP(statut='f',typ='R'),
4760              FC_LTTZ         =SIMP(statut='f',typ='R'),
4761              C_LZLZ          =SIMP(statut='f',typ='R'),
4762              C_LZTZ          =SIMP(statut='f',typ='R'),
4763              C_TZTZ          =SIMP(statut='f',typ='R'),
4764              RHO             =SIMP(statut='f',typ='R'),
4765              ALPHA           =SIMP(statut='f',typ='R'),
4766            ),
4767            ELAS_COQUE_FO   =FACT(statut='f',min=00,max=01,
4768              regles=(EXCLUS('MEMB_L','M_LLLL',),
4769                      PRESENT_PRESENT('MEMB_L','MEMB_LT','MEMB_T','MEMB_G_LT','FLEX_L','FLEX_LT',
4770                                      'FLEX_T','FLEX_G_LT','CISA_L','CISA_T',),
4771                      PRESENT_PRESENT('M_LLLL','M_LLTT','M_LLLT','M_TTTT','M_TTLT','M_LTLT','F_LLLL',
4772                                      'F_LLTT','F_LLLT','F_TTTT','F_TTLT','F_LTLT','MF_LLLL','MF_LLTT',
4773                                      'MF_LLLT','MF_TTTT','MF_TTLT','MF_LTLT','MC_LLLZ','MC_LLTZ',
4774                                      'MC_TTLZ','MC_TTTZ','MC_LTLZ','MC_LTTZ','FC_LLLZ','FC_LLTZ',
4775                                      'FC_TTLZ','FC_TTTZ','FC_LTLZ','FC_LTTZ','C_LZLZ','C_LZTZ','C_TZTZ'),),
4776              MEMB_L          =SIMP(statut='f',typ=fonction),
4777              MEMB_LT         =SIMP(statut='f',typ=fonction),
4778              MEMB_T          =SIMP(statut='f',typ=fonction),
4779              MEMB_G_LT       =SIMP(statut='f',typ=fonction),
4780              FLEX_L          =SIMP(statut='f',typ=fonction),
4781              FLEX_LT         =SIMP(statut='f',typ=fonction),
4782              FLEX_T          =SIMP(statut='f',typ=fonction),
4783              FLEX_G_LT       =SIMP(statut='f',typ=fonction),
4784              CISA_L          =SIMP(statut='f',typ=fonction),
4785              CISA_T          =SIMP(statut='f',typ=fonction),
4786              M_LLLL          =SIMP(statut='f',typ=fonction),
4787              M_LLTT          =SIMP(statut='f',typ=fonction),
4788              M_LLLT          =SIMP(statut='f',typ=fonction),
4789              M_TTTT          =SIMP(statut='f',typ=fonction),
4790              M_TTLT          =SIMP(statut='f',typ=fonction),
4791              M_LTLT          =SIMP(statut='f',typ=fonction),
4792              F_LLLL          =SIMP(statut='f',typ=fonction),
4793              F_LLTT          =SIMP(statut='f',typ=fonction),
4794              F_LLLT          =SIMP(statut='f',typ=fonction),
4795              F_TTTT          =SIMP(statut='f',typ=fonction),
4796              F_TTLT          =SIMP(statut='f',typ=fonction),
4797              F_LTLT          =SIMP(statut='f',typ=fonction),
4798              MF_LLLL         =SIMP(statut='f',typ=fonction),
4799              MF_LLTT         =SIMP(statut='f',typ=fonction),
4800              MF_LLLT         =SIMP(statut='f',typ=fonction),
4801              MF_TTTT         =SIMP(statut='f',typ=fonction),
4802              MF_TTLT         =SIMP(statut='f',typ=fonction),
4803              MF_LTLT         =SIMP(statut='f',typ=fonction),
4804              MC_LLLZ         =SIMP(statut='f',typ=fonction),
4805              MC_LLTZ         =SIMP(statut='f',typ=fonction),
4806              MC_TTLZ         =SIMP(statut='f',typ=fonction),
4807              MC_TTTZ         =SIMP(statut='f',typ=fonction),
4808              MC_LTLZ         =SIMP(statut='f',typ=fonction),
4809              MC_LTTZ         =SIMP(statut='f',typ=fonction),
4810              FC_LLLZ         =SIMP(statut='f',typ=fonction),
4811              FC_LLTZ         =SIMP(statut='f',typ=fonction),
4812              FC_TTLZ         =SIMP(statut='f',typ=fonction),
4813              FC_TTTZ         =SIMP(statut='f',typ=fonction),
4814              FC_LTLZ         =SIMP(statut='f',typ=fonction),
4815              FC_LTTZ         =SIMP(statut='f',typ=fonction),
4816              C_LZLZ          =SIMP(statut='f',typ=fonction),
4817              C_LZTZ          =SIMP(statut='f',typ=fonction),
4818              C_TZTZ          =SIMP(statut='f',typ=fonction),
4819              RHO             =SIMP(statut='f',typ='R'),
4820              ALPHA           =SIMP(statut='f',typ=fonction),
4821              VERI_P1         =SIMP(statut='f',typ='TXM',defaut="TEMP",into=("TEMP","INST") ),
4822            ),
4823            APPUI_ELAS      =FACT(statut='f',min=00,max=01,
4824              E_N             =SIMP(statut='o',typ='R'),
4825              E_TAN           =SIMP(statut='f',typ='R',defaut= 0.E+0),
4826            ),
4827            CABLE           =FACT(statut='f',min=00,max=01,
4828              E               =SIMP(statut='o',typ='R'),
4829              EC_SUR_E        =SIMP(statut='f',typ='R',defaut= 1.E-4 ),
4830              RHO             =SIMP(statut='f',typ='R'),
4831              ALPHA           =SIMP(statut='f',typ='R'),
4832              AMOR_ALPHA      =SIMP(statut='f',typ='R'),
4833              AMOR_BETA       =SIMP(statut='f',typ='R'),
4834            ),
4835 #
4836 # comportement mécanique non linéaire
4837 #
4838            TRACTION        =FACT(statut='f',min=00,max=01,
4839              SIGM            =SIMP(statut='o',typ=fonction),
4840              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="EPSI",into=("EPSI",) ),
4841              VERI_P2         =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ),
4842              VERI_P3         =SIMP(statut='c',typ='TXM',defaut="HYDR",into=("HYDR",) ),
4843              VERI_P4         =SIMP(statut='c',typ='TXM',defaut="SECH",into=("SECH",) ),
4844            ),
4845            ECRO_LINE       =FACT(statut='f',min=00,max=01,
4846              D_SIGM_EPSI     =SIMP(statut='o',typ='R'),
4847              SY              =SIMP(statut='o',typ='R'),
4848            ),
4849            ECRO_LINE_FO    =FACT(statut='f',min=00,max=01,
4850              D_SIGM_EPSI     =SIMP(statut='o',typ=fonction),
4851              SY              =SIMP(statut='o',typ=fonction),
4852              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ),
4853            ),
4854            PRAGER          =FACT(statut='f',min=00,max=01,
4855              C               =SIMP(statut='o',typ='R'),
4856            ),
4857            PRAGER_FO       =FACT(statut='f',min=00,max=01,
4858              C               =SIMP(statut='o',typ=fonction),
4859              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ),
4860            ),
4861            ECRO_FLEJOU     =FACT(statut='f',min=00,max=01,
4862              EP              =SIMP(statut='o',typ='R'),
4863              SY              =SIMP(statut='o',typ='R'),
4864              SU              =SIMP(statut='o',typ='R'),
4865              PUISS           =SIMP(statut='o',typ='R'),
4866            ),
4867            TAHERI          =FACT(statut='f',min=00,max=01,
4868              R_0             =SIMP(statut='o',typ='R'),
4869              ALPHA           =SIMP(statut='o',typ='R'),
4870              M               =SIMP(statut='o',typ='R'),
4871              A               =SIMP(statut='o',typ='R'),
4872              B               =SIMP(statut='o',typ='R'),
4873              C1              =SIMP(statut='o',typ='R'),
4874              C_INF           =SIMP(statut='o',typ='R'),
4875              S               =SIMP(statut='o',typ='R'),
4876            ),
4877            TAHERI_FO       =FACT(statut='f',min=00,max=01,
4878              R_0             =SIMP(statut='o',typ=fonction),
4879              ALPHA           =SIMP(statut='o',typ=fonction),
4880              M               =SIMP(statut='o',typ=fonction),
4881              A               =SIMP(statut='o',typ=fonction),
4882              B               =SIMP(statut='o',typ=fonction),
4883              C1              =SIMP(statut='o',typ=fonction),
4884              C_INF           =SIMP(statut='o',typ=fonction),
4885              S               =SIMP(statut='o',typ=fonction),
4886              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ),
4887            ),
4888            ROUSSELIER      =FACT(statut='f',min=00,max=01,
4889              D               =SIMP(statut='o',typ='R'),
4890              SIGM_1          =SIMP(statut='o',typ='R'),
4891              PORO_INIT       =SIMP(statut='o',typ='R'),
4892              PORO_CRIT       =SIMP(statut='f',typ='R',defaut= 1. ),
4893              PORO_ACCE       =SIMP(statut='f',typ='R',defaut= 1. ),
4894              PORO_LIMI       =SIMP(statut='f',typ='R',defaut= 1. ),
4895              D_SIGM_EPSI_NORM=SIMP(statut='f',typ='R',defaut= 1. ),
4896            ),
4897            ROUSSELIER_FO   =FACT(statut='f',min=00,max=01,
4898              D               =SIMP(statut='o',typ=fonction),
4899              SIGM_1          =SIMP(statut='o',typ=fonction),
4900              PORO_INIT       =SIMP(statut='o',typ=fonction),
4901              PORO_CRIT       =SIMP(statut='f',typ='R',defaut= 1. ),
4902              PORO_ACCE       =SIMP(statut='f',typ='R',defaut= 1. ),
4903              PORO_LIMI       =SIMP(statut='f',typ='R',defaut= 1. ),
4904              D_SIGM_EPSI_NORM=SIMP(statut='f',typ='R',defaut= 1. ),
4905              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ),
4906            ),
4907            CHABOCHE        =FACT(statut='f',min=00,max=01,
4908              R_I             =SIMP(statut='o',typ='R'),
4909              R_0             =SIMP(statut='o',typ='R'),
4910              B               =SIMP(statut='o',typ='R'),
4911              K               =SIMP(statut='o',typ='R'),
4912              W               =SIMP(statut='o',typ='R'),
4913              A1              =SIMP(statut='o',typ='R'),
4914              A2              =SIMP(statut='o',typ='R'),
4915              C1              =SIMP(statut='o',typ='R'),
4916              C2              =SIMP(statut='o',typ='R'),
4917            ),
4918            VMIS_CIN1_CHAB  =FACT(statut='f',min=00,max=01,
4919              R_0             =SIMP(statut='o',typ='R'),  
4920              R_I             =SIMP(statut='f',typ='R'),  
4921              B               =SIMP(statut='f',typ='R',defaut= 0.0E+0),  
4922              C_I             =SIMP(statut='o',typ='R'),  
4923              K               =SIMP(statut='f',typ='R',defaut= 1.0E+0),  
4924              W               =SIMP(statut='f',typ='R',defaut= 0.0E+0),  
4925              G_0             =SIMP(statut='o',typ='R'),  
4926              A_I             =SIMP(statut='f',typ='R',defaut= 0.0E+0),  
4927            ),
4928            VMIS_CIN1_CHAB_F  =FACT(statut='f',min=00,max=01,
4929              R_0             =SIMP(statut='o',typ=fonction),
4930              R_I             =SIMP(statut='o',typ=fonction),
4931              B               =SIMP(statut='o',typ=fonction),
4932              C_I             =SIMP(statut='o',typ=fonction),
4933              K               =SIMP(statut='o',typ=fonction),
4934              W               =SIMP(statut='o',typ=fonction),
4935              G_0             =SIMP(statut='o',typ=fonction),
4936              A_I             =SIMP(statut='o',typ=fonction),
4937              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",)),
4938            ),
4939            VMIS_CIN2_CHAB  =FACT(statut='f',min=00,max=01,
4940              R_0             =SIMP(statut='o',typ='R'),  
4941              R_I             =SIMP(statut='f',typ='R'),  
4942              B               =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
4943              C1_I            =SIMP(statut='o',typ='R'),  
4944              C2_I            =SIMP(statut='o',typ='R'),  
4945              K               =SIMP(statut='f',typ='R',defaut= 1.),  
4946              W               =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
4947              G1_0            =SIMP(statut='o',typ='R'),  
4948              G2_0            =SIMP(statut='o',typ='R'),  
4949              A_I             =SIMP(statut='f',typ='R',defaut= 1.E+0 ),  
4950            ),
4951            VMIS_CIN2_CHAB_F  =FACT(statut='f',min=00,max=01,
4952              R_0             =SIMP(statut='o',typ=fonction),
4953              R_I             =SIMP(statut='o',typ=fonction),
4954              B               =SIMP(statut='o',typ=fonction),
4955              C1_I            =SIMP(statut='o',typ=fonction),
4956              C2_I            =SIMP(statut='o',typ=fonction),
4957              K               =SIMP(statut='o',typ=fonction),
4958              W               =SIMP(statut='o',typ=fonction),
4959              G1_0            =SIMP(statut='o',typ=fonction),
4960              G2_0            =SIMP(statut='o',typ=fonction),
4961              A_I             =SIMP(statut='o',typ=fonction),
4962              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ),
4963            ),
4964            VISCOCHAB       =FACT(statut='f',min=00,max=01,
4965              K_0             =SIMP(statut='o',typ='R'),
4966              A_K             =SIMP(statut='o',typ='R'),
4967              A_R             =SIMP(statut='o',typ='R'),
4968              K               =SIMP(statut='o',typ='R'),
4969              N               =SIMP(statut='o',typ='R'),
4970              ALP             =SIMP(statut='o',typ='R'),
4971              B               =SIMP(statut='o',typ='R'),
4972              M_R             =SIMP(statut='o',typ='R'),
4973              G_R             =SIMP(statut='o',typ='R'),
4974              MU              =SIMP(statut='o',typ='R'),
4975              Q_M             =SIMP(statut='o',typ='R'),
4976              Q_0             =SIMP(statut='o',typ='R'),
4977              QR_0            =SIMP(statut='o',typ='R'),
4978              ETA             =SIMP(statut='o',typ='R'),
4979              C1              =SIMP(statut='o',typ='R'),
4980              M_1             =SIMP(statut='o',typ='R'),
4981              D1              =SIMP(statut='o',typ='R'),
4982              G_X1            =SIMP(statut='o',typ='R'),
4983              G1_0            =SIMP(statut='o',typ='R'),
4984              C2              =SIMP(statut='o',typ='R'),
4985              M_2             =SIMP(statut='o',typ='R'),
4986              D2              =SIMP(statut='o',typ='R'),
4987              G_X2            =SIMP(statut='o',typ='R'),
4988              G2_0            =SIMP(statut='o',typ='R'),
4989              A_I             =SIMP(statut='o',typ='R'),
4990            ),
4991            VISCOCHAB_FO    =FACT(statut='f',min=00,max=01,
4992              K_0             =SIMP(statut='o',typ=fonction),
4993              A_K             =SIMP(statut='o',typ=fonction),
4994              A_R             =SIMP(statut='o',typ=fonction),
4995              K               =SIMP(statut='o',typ=fonction),
4996              N               =SIMP(statut='o',typ=fonction),
4997              ALP             =SIMP(statut='o',typ=fonction),
4998              B               =SIMP(statut='o',typ=fonction),
4999              M_R             =SIMP(statut='o',typ=fonction),
5000              G_R             =SIMP(statut='o',typ=fonction),
5001              MU              =SIMP(statut='o',typ=fonction),
5002              Q_M             =SIMP(statut='o',typ=fonction),
5003              Q_0             =SIMP(statut='o',typ=fonction),
5004              QR_0            =SIMP(statut='o',typ=fonction),
5005              ETA             =SIMP(statut='o',typ=fonction),
5006              C1              =SIMP(statut='o',typ=fonction),
5007              M_1             =SIMP(statut='o',typ=fonction),
5008              D1              =SIMP(statut='o',typ=fonction),
5009              G_X1            =SIMP(statut='o',typ=fonction),
5010              G1_0            =SIMP(statut='o',typ=fonction),
5011              C2              =SIMP(statut='o',typ=fonction),
5012              M_2             =SIMP(statut='o',typ=fonction),
5013              D2              =SIMP(statut='o',typ=fonction),
5014              G_X2            =SIMP(statut='o',typ=fonction),
5015              G2_0            =SIMP(statut='o',typ=fonction),
5016              A_I             =SIMP(statut='o',typ=fonction),
5017              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ),
5018            ),
5019            POLY_CFC        =FACT(statut='f',min=00,max=01,
5020              TEXTURE         =SIMP(statut='o',typ=(tabl_texture) ),
5021              DL              =SIMP(statut='f',typ='R'),
5022              DA              =SIMP(statut='f',typ='R'),
5023              N               =SIMP(statut='o',typ='R'),
5024              K               =SIMP(statut='o',typ='R'),
5025              TAU_0           =SIMP(statut='o',typ='R'),
5026              Q1              =SIMP(statut='o',typ='R'),
5027              B1              =SIMP(statut='o',typ='R'),
5028              HL              =SIMP(statut='o',typ='R'),
5029              Q2              =SIMP(statut='o',typ='R'),
5030              B2              =SIMP(statut='o',typ='R'),
5031              C1              =SIMP(statut='o',typ='R'),
5032              D1              =SIMP(statut='o',typ='R'),
5033              C2              =SIMP(statut='o',typ='R'),
5034            ),
5035            POLY_CFC_FO     =FACT(statut='f',min=00,max=01,
5036              TEXTURE         =SIMP(statut='o',typ=(tabl_texture) ),
5037              DL              =SIMP(statut='o',typ=fonction),
5038              DA              =SIMP(statut='o',typ=fonction),
5039              N               =SIMP(statut='o',typ=fonction),
5040              K               =SIMP(statut='o',typ=fonction),
5041              TAU_0           =SIMP(statut='o',typ=fonction),
5042              Q1              =SIMP(statut='o',typ=fonction),
5043              B1              =SIMP(statut='o',typ=fonction),
5044              HL              =SIMP(statut='o',typ=fonction),
5045              Q2              =SIMP(statut='o',typ=fonction),
5046              B2              =SIMP(statut='o',typ=fonction),
5047              C1              =SIMP(statut='o',typ=fonction),
5048              D1              =SIMP(statut='o',typ=fonction),
5049              C2              =SIMP(statut='o',typ=fonction),
5050              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ),
5051            ),
5052            NORTON_HOFF     =FACT(statut='f',min=00,max=01,
5053              N               =SIMP(statut='o',typ='R'),
5054              SY              =SIMP(statut='o',typ='R'),
5055            ),
5056            LEMAITRE        =FACT(statut='f',min=00,max=01,
5057              N               =SIMP(statut='o',typ='R'),
5058              UN_SUR_K        =SIMP(statut='o',typ='R'),
5059              UN_SUR_M        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5060              QSR_K           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5061            ),
5062            ZIRC_CYRA2      =FACT(statut='f',min=00,max=01,
5063              EPSI_FAB        =SIMP(statut='o',typ=fonction),
5064              TEMP_RECUIT     =SIMP(statut='o',typ=fonction),
5065              FLUX_PHI        =SIMP(statut='o',typ=fonction),
5066              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="INST",into=("INST",) ),
5067            ),
5068            ZIRC_EPRI       =FACT(statut='f',min=00,max=01,
5069              FLUX_PHI        =SIMP(statut='o',typ='R'),
5070              R_P             =SIMP(statut='o',typ='R'),
5071              THETA_MAX       =SIMP(statut='o',typ='R'),
5072            ),
5073            LEMAITRE_FO     =FACT(statut='f',min=00,max=01,
5074              N               =SIMP(statut='o',typ=fonction),
5075              UN_SUR_K        =SIMP(statut='o',typ=fonction),
5076              UN_SUR_M        =SIMP(statut='f',typ=fonction),
5077              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ),
5078            ),
5079            GRAN_IRRA       =FACT(statut='f',min=00,max=01,
5080              FLUX_L          =SIMP(statut='o',typ=fonction),
5081              FLUX_TN         =SIMP(statut='o',typ=fonction),
5082              FONC_MULT       =SIMP(statut='f',typ=fonction),
5083              A               =SIMP(statut='o',typ='R'),
5084              S               =SIMP(statut='f',typ='R'),
5085              VERI_P1         =SIMP(statut='f',typ='TXM',defaut="X",into=("X",) ),
5086              VERI_P2         =SIMP(statut='f',typ='TXM',defaut="Y",into=("Y",) ),
5087              VERI_P3         =SIMP(statut='f',typ='TXM',defaut="Z",into=("Z",) ),
5088              VERI_P4         =SIMP(statut='f',typ='TXM',defaut="INST",into=("INST",) ),
5089            ),
5090            OHNO            =FACT(statut='f',min=00,max=01,
5091              R_I             =SIMP(statut='o',typ='R'),
5092              R_0             =SIMP(statut='o',typ='R'),
5093              B               =SIMP(statut='o',typ='R'),
5094              PHI             =SIMP(statut='o',typ='R'),
5095              A1              =SIMP(statut='o',typ='R'),
5096              A2              =SIMP(statut='o',typ='R'),
5097              A3              =SIMP(statut='o',typ='R'),
5098              A4              =SIMP(statut='o',typ='R'),
5099              A5              =SIMP(statut='o',typ='R'),
5100              GAMMA1          =SIMP(statut='o',typ='R'),
5101              GAMMA2          =SIMP(statut='o',typ='R'),
5102              GAMMA3          =SIMP(statut='o',typ='R'),
5103              GAMMA4          =SIMP(statut='o',typ='R'),
5104              GAMMA5          =SIMP(statut='o',typ='R'),
5105              M1              =SIMP(statut='o',typ='R'),
5106              M2              =SIMP(statut='o',typ='R'),
5107              M3              =SIMP(statut='o',typ='R'),
5108              M4              =SIMP(statut='o',typ='R'),
5109              M5              =SIMP(statut='o',typ='R'),
5110                            ),
5111            OHNO_FO         =FACT(statut='f',min=00,max=01,
5112              R_I             =SIMP(statut='o',typ=fonction),
5113              R_0             =SIMP(statut='o',typ=fonction),
5114              B               =SIMP(statut='o',typ=fonction),
5115              PHI             =SIMP(statut='o',typ=fonction),
5116              A1              =SIMP(statut='o',typ=fonction),
5117              A2              =SIMP(statut='o',typ=fonction),
5118              A3              =SIMP(statut='o',typ=fonction),
5119              A4              =SIMP(statut='o',typ=fonction),
5120              A5              =SIMP(statut='o',typ=fonction),
5121              GAMMA1          =SIMP(statut='o',typ=fonction),
5122              GAMMA2          =SIMP(statut='o',typ=fonction),
5123              GAMMA3          =SIMP(statut='o',typ=fonction),
5124              GAMMA4          =SIMP(statut='o',typ=fonction),
5125              GAMMA5          =SIMP(statut='o',typ=fonction),
5126              M1              =SIMP(statut='o',typ=fonction),
5127              M2              =SIMP(statut='o',typ=fonction),
5128              M3              =SIMP(statut='o',typ=fonction),
5129              M4              =SIMP(statut='o',typ=fonction),
5130              M5              =SIMP(statut='o',typ=fonction),
5131              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ),
5132            ),
5133            LMARC           =FACT(statut='f',min=00,max=01,
5134              DE_0            =SIMP(statut='o',typ='R'),
5135              R_0             =SIMP(statut='o',typ='R'),
5136              N               =SIMP(statut='o',typ='R'),
5137              K               =SIMP(statut='o',typ='R'),
5138              Y_I             =SIMP(statut='o',typ='R'),
5139              Y_0             =SIMP(statut='o',typ='R'),
5140              B               =SIMP(statut='o',typ='R'),
5141              A_0             =SIMP(statut='o',typ='R'),
5142              RM              =SIMP(statut='o',typ='R'),
5143              M               =SIMP(statut='o',typ='R'),
5144              P               =SIMP(statut='o',typ='R'),
5145              P1              =SIMP(statut='o',typ='R'),
5146              P2              =SIMP(statut='o',typ='R'),
5147              M11             =SIMP(statut='o',typ='R'),
5148              M22             =SIMP(statut='o',typ='R'),
5149              M33             =SIMP(statut='o',typ='R'),
5150              M66             =SIMP(statut='o',typ='R'),
5151              N11             =SIMP(statut='o',typ='R'),
5152              N22             =SIMP(statut='o',typ='R'),
5153              N33             =SIMP(statut='o',typ='R'),
5154              N66             =SIMP(statut='o',typ='R'),
5155              Q11             =SIMP(statut='o',typ='R'),
5156              Q22             =SIMP(statut='o',typ='R'),
5157              Q33             =SIMP(statut='o',typ='R'),
5158              Q66             =SIMP(statut='o',typ='R'),
5159              R11             =SIMP(statut='o',typ='R'),
5160              R22             =SIMP(statut='o',typ='R'),
5161              R33             =SIMP(statut='o',typ='R'),
5162              R66             =SIMP(statut='o',typ='R'),
5163            ),
5164            LMARC_FO        =FACT(statut='f',min=00,max=01,
5165              DE_0            =SIMP(statut='o',typ=fonction),
5166              R_0             =SIMP(statut='o',typ=fonction),
5167              N               =SIMP(statut='o',typ=fonction),
5168              K               =SIMP(statut='o',typ=fonction),
5169              Y_I             =SIMP(statut='o',typ=fonction),
5170              Y_0             =SIMP(statut='o',typ=fonction),
5171              B               =SIMP(statut='o',typ=fonction),
5172              A_0             =SIMP(statut='o',typ=fonction),
5173              RM              =SIMP(statut='o',typ=fonction),
5174              M               =SIMP(statut='o',typ=fonction),
5175              P               =SIMP(statut='o',typ=fonction),
5176              P1              =SIMP(statut='o',typ=fonction),
5177              P2              =SIMP(statut='o',typ=fonction),
5178              M11             =SIMP(statut='o',typ=fonction),
5179              M22             =SIMP(statut='o',typ=fonction),
5180              M33             =SIMP(statut='o',typ=fonction),
5181              M66             =SIMP(statut='o',typ=fonction),
5182              N11             =SIMP(statut='o',typ=fonction),
5183              N22             =SIMP(statut='o',typ=fonction),
5184              N33             =SIMP(statut='o',typ=fonction),
5185              N66             =SIMP(statut='o',typ=fonction),
5186              Q11             =SIMP(statut='o',typ=fonction),
5187              Q22             =SIMP(statut='o',typ=fonction),
5188              Q33             =SIMP(statut='o',typ=fonction),
5189              Q66             =SIMP(statut='o',typ=fonction),
5190              R11             =SIMP(statut='o',typ=fonction),
5191              R22             =SIMP(statut='o',typ=fonction),
5192              R33             =SIMP(statut='o',typ=fonction),
5193              R66             =SIMP(statut='o',typ=fonction),
5194              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ),
5195            ),
5196            VMIS_POUTRE     =FACT(statut='f',min=00,max=01,
5197              NP              =SIMP(statut='o',typ='R'),
5198              MEY             =SIMP(statut='o',typ='R'),
5199              MPY             =SIMP(statut='o',typ='R'),
5200              CAY             =SIMP(statut='o',typ='R'),
5201              CBY             =SIMP(statut='o',typ='R'),
5202              MEZ             =SIMP(statut='o',typ='R'),
5203              MPZ             =SIMP(statut='o',typ='R'),
5204              CAZ             =SIMP(statut='o',typ='R'),
5205              CBZ             =SIMP(statut='o',typ='R'),
5206              MPX             =SIMP(statut='o',typ='R'),
5207            ),
5208            VMIS_POUTRE_FO  =FACT(statut='f',min=00,max=01,
5209              NP              =SIMP(statut='o',typ=fonction),
5210              MEY             =SIMP(statut='o',typ=fonction),
5211              MPY             =SIMP(statut='o',typ=fonction),
5212              CAY             =SIMP(statut='o',typ=fonction),
5213              CBY             =SIMP(statut='o',typ=fonction),
5214              MEZ             =SIMP(statut='o',typ=fonction),
5215              MPZ             =SIMP(statut='o',typ=fonction),
5216              CAZ             =SIMP(statut='o',typ=fonction),
5217              CBZ             =SIMP(statut='o',typ=fonction),
5218              MPX             =SIMP(statut='o',typ=fonction),
5219              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ),
5220            ),
5221            ARME            =FACT(statut='f',min=00,max=01,
5222              KYE             =SIMP(statut='o',typ='R'),
5223              DLE             =SIMP(statut='o',typ='R'),
5224              KYP             =SIMP(statut='o',typ='R'),
5225              DLP             =SIMP(statut='o',typ='R'),
5226              KYG             =SIMP(statut='o',typ='R'),
5227            ),
5228            ASSE_CORN       =FACT(statut='f',min=00,max=01,
5229              NU_1            =SIMP(statut='o',typ='R'),
5230              MU_1            =SIMP(statut='o',typ='R'),
5231              DXU_1           =SIMP(statut='o',typ='R'),
5232              DRYU_1          =SIMP(statut='o',typ='R'),
5233              C_1             =SIMP(statut='o',typ='R'),
5234              NU_2            =SIMP(statut='o',typ='R'),
5235              MU_2            =SIMP(statut='o',typ='R'),
5236              DXU_2           =SIMP(statut='o',typ='R'),
5237              DRYU_2          =SIMP(statut='o',typ='R'),
5238              C_2             =SIMP(statut='o',typ='R'),
5239              KY              =SIMP(statut='o',typ='R'),
5240              KZ              =SIMP(statut='o',typ='R'),
5241              KRX             =SIMP(statut='o',typ='R'),
5242              KRZ             =SIMP(statut='o',typ='R'),
5243            ),
5244            DIS_CONTACT     =FACT(statut='f',min=00,max=01,
5245              regles=(EXCLUS('RIGI_N_FO','RIGI_N_IRRA'),),
5246              RIGI_NOR        =SIMP(statut='f',typ='R' ),
5247              DIST_1          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5248              DIST_2          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5249              RIGI_TAN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5250              AMOR_NOR        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5251              AMOR_TAN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5252              COULOMB         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5253              JEU             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5254              KT_ULTM         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
5255              EFFO_N_INIT     =SIMP(statut='f',typ='R'),
5256              RIGI_N_FO       =SIMP(statut='f',typ=fonction),
5257              RIGI_N_IRRA     =SIMP(statut='f',typ=fonction),
5258              RELA_MZ         =SIMP(statut='f',typ=fonction),
5259              C_PRAGER_MZ     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5260              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="DRZ",into=("DRZ",) ),
5261              VERI_P2         =SIMP(statut='c',typ='TXM',defaut="INST",into=("INST",) ),
5262            ),
5263            NADAI_B         =FACT(statut='f',min=00,max=01,
5264              F_C             =SIMP(statut='o',typ='R'),
5265              F_T             =SIMP(statut='o',typ='R'),
5266              CRIT_E_C        =SIMP(statut='o',typ='R'),
5267              EPSP_P_C        =SIMP(statut='o',typ='R'),
5268              EPSP_R_C        =SIMP(statut='o',typ='R'),
5269              EPSI_R_T        =SIMP(statut='o',typ='R'),
5270              FAC_T_C         =SIMP(statut='o',typ='R'),
5271            ),
5272            BETON_DOUBLE_DP =FACT(statut='f',min=00,max=01,
5273              F_C             =SIMP(statut='o',typ=fonction),
5274              F_T             =SIMP(statut='o',typ=fonction),
5275              COEF_BIAX       =SIMP(statut='o',typ=fonction),
5276              ENER_COMP_RUPT  =SIMP(statut='o',typ=fonction),
5277              ENER_TRAC_RUPT  =SIMP(statut='o',typ=fonction),
5278              COEF_ELAS_COMP  =SIMP(statut='o',typ='R'),
5279              ECRO_COMP_P_PIC =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","PARABOLE") ),
5280              ECRO_TRAC_P_PIC =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","EXPONENT") ),
5281              VERI_P1         =SIMP(statut='f',typ='TXM',defaut="TEMP",into=("TEMP","INST",) ),
5282              VERI_P2         =SIMP(statut='f',typ='TXM',defaut="INST",into=("TEMP","INST",) ),
5283              VERI_P3         =SIMP(statut='f',typ='TXM',defaut="HYDR",into=("HYDR",) ),
5284              VERI_P4         =SIMP(statut='f',typ='TXM',defaut="SECH",into=("SECH",) ),
5285            ),
5286            VENDOCHAB       =FACT(statut='f',min=00,max=01,
5287              S_VP            =SIMP(statut='o',typ='R'),
5288              SEDVP1          =SIMP(statut='o',typ='R'),
5289              SEDVP2          =SIMP(statut='o',typ='R'),
5290              N_VP            =SIMP(statut='o',typ='R'),
5291              M_VP            =SIMP(statut='o',typ='R'),
5292              K_VP            =SIMP(statut='o',typ='R'),
5293              R_D             =SIMP(statut='o',typ='R'),
5294              A_D             =SIMP(statut='o',typ='R'),
5295              K_D             =SIMP(statut='o',typ='R'),
5296            ),
5297            VENDOCHAB_FO    =FACT(statut='f',min=00,max=01,
5298              S_VP            =SIMP(statut='o',typ=fonction),
5299              SEDVP1          =SIMP(statut='o',typ=fonction),
5300              SEDVP2          =SIMP(statut='o',typ=fonction),
5301              N_VP            =SIMP(statut='o',typ=fonction),
5302              M_VP            =SIMP(statut='o',typ=fonction),
5303              K_VP            =SIMP(statut='o',typ=fonction),
5304              R_D             =SIMP(statut='o',typ=fonction),
5305              A_D             =SIMP(statut='o',typ=fonction),
5306              K_D             =SIMP(statut='o',typ=fonction),
5307              VERI_P1         =SIMP(statut='f',typ='TXM',defaut="TEMP",into=("TEMP",) ),
5308              VERI_P2         =SIMP(statut='f',typ='TXM',defaut="X",into=("X",) ),
5309            ),
5310            PINTO_MENEGOTTO =FACT(statut='f',min=00,max=01,
5311              SY              =SIMP(statut='o',typ='R'),
5312              EPSI_ULTM       =SIMP(statut='o',typ='R'),
5313              SIGM_ULTM       =SIMP(statut='o',typ='R'),
5314              ELAN            =SIMP(statut='f',typ='R',defaut= 4. ),
5315              EPSP_HARD       =SIMP(statut='o',typ='R'),
5316              R_PM            =SIMP(statut='f',typ='R',defaut= 20. ),
5317              EP_SUR_E        =SIMP(statut='f',typ='R'),
5318              A1_PM           =SIMP(statut='f',typ='R',defaut= 18.5 ),
5319              A2_PM           =SIMP(statut='f',typ='R',defaut= 0.15 ),
5320              A6_PM           =SIMP(statut='f',typ='R',defaut= 620. ),
5321              C_PM            =SIMP(statut='f',typ='R',defaut= 0.5 ),
5322              A_PM            =SIMP(statut='f',typ='R',defaut= 6.0E-3 ),
5323            ),
5324            BPEL_BETON      =FACT(statut='f',min=00,max=01,
5325              PERT_FLUA       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5326              PERT_RETR       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5327            ),
5328            BPEL_ACIER      =FACT(statut='f',min=00,max=01,
5329              RELAX_1000      =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5330              MU0_RELAX       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5331              SY              =SIMP(statut='o',typ='R'),
5332              FROT_COURB      =SIMP(statut='o',typ='R'),
5333              FROT_LINE       =SIMP(statut='o',typ='R'),
5334            ),
5335            CJS             =FACT(statut='f',min=00,max=01,
5336              regles=(ENSEMBLE('B_CJS','C_CJS','MU_CJS','PCO',),
5337                      ENSEMBLE('N_CJS','KP','RC',),
5338                      PRESENT_ABSENT('A_CJS','B_CJS',),
5339                      PRESENT_PRESENT('A_CJS','N_CJS',),
5340                      PRESENT_PRESENT('B_CJS','N_CJS', ),),
5341              BETA_CJS        =SIMP(statut='o',typ='R'),
5342              RM              =SIMP(statut='o',typ='R'),
5343              N_CJS           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5344              KP              =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5345              RC              =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5346              A_CJS           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5347              B_CJS           =SIMP(statut='f',typ='R',defaut= 1.0E+25 ),
5348              C_CJS           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5349              GAMMA_CJS       =SIMP(statut='o',typ='R'),
5350              MU_CJS          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5351              PCO             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5352              PA              =SIMP(statut='o',typ='R'),
5353              Q_INIT          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5354              R_INIT          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
5355            ),
5356            ECRO_ASYM_LINE  =FACT(statut='f',min=00,max=01,
5357              DC_SIGM_EPSI    =SIMP(statut='o',typ='R'),
5358              SY_C            =SIMP(statut='o',typ='R'),
5359              DT_SIGM_EPSI    =SIMP(statut='o',typ='R'),
5360              SY_T            =SIMP(statut='o',typ='R'),
5361            ),
5362            GRANGER_FP      =FACT(statut='f',min=00,max=01,
5363              J1              =SIMP(statut='f',typ='R'),
5364              J2              =SIMP(statut='f',typ='R'),
5365              J3              =SIMP(statut='f',typ='R'),
5366              J4              =SIMP(statut='f',typ='R'),
5367              J5              =SIMP(statut='f',typ='R'),
5368              J6              =SIMP(statut='f',typ='R'),
5369              J7              =SIMP(statut='f',typ='R'),
5370              J8              =SIMP(statut='f',typ='R'),
5371              TAUX_1          =SIMP(statut='f',typ='R'),
5372              TAUX_2          =SIMP(statut='f',typ='R'),
5373              TAUX_3          =SIMP(statut='f',typ='R'),
5374              TAUX_4          =SIMP(statut='f',typ='R'),
5375              TAUX_5          =SIMP(statut='f',typ='R'),
5376              TAUX_6          =SIMP(statut='f',typ='R'),
5377              TAUX_7          =SIMP(statut='f',typ='R'),
5378              TAUX_8          =SIMP(statut='f',typ='R'),
5379              FONC_DESORP     =SIMP(statut='f',typ=fonction),
5380              QSR_K           =SIMP(statut='f',typ='R'),
5381              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="SECH",into=("SECH",) ),
5382            ),
5383            V_GRANGER_FP    =FACT(statut='f',min=00,max=01,
5384              QSR_VEIL        =SIMP(statut='f',typ='R'),
5385              FONC_V          =SIMP(statut='f',typ=fonction),
5386              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="INST",into=("INST",) ),
5387            ),
5388 #
5389 # comportement thermique
5390 #
5391            THER_NL         =FACT(statut='f',min=00,max=01,
5392              regles=(UN_PARMI('BETA','RHO_CP', ),),
5393              LAMBDA          =SIMP(statut='o',typ=fonction),
5394              BETA            =SIMP(statut='f',typ=fonction),
5395              RHO_CP          =SIMP(statut='f',typ=fonction),
5396              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ),
5397            ),
5398            THER_HYDR       =FACT(statut='f',min=00,max=01,
5399              LAMBDA          =SIMP(statut='o',typ=fonction),
5400              BETA            =SIMP(statut='f',typ=fonction),
5401              AFFINITE        =SIMP(statut='o',typ=fonction),
5402              CHALHYDR        =SIMP(statut='o',typ='R'),
5403              QSR_K           =SIMP(statut='o',typ='R'),
5404              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("HYDR",) ),
5405              VERI_P2         =SIMP(statut='c',typ='TXM',defaut="HYDR",into=("HYDR",) ),
5406            ),
5407            THER            =FACT(statut='f',min=00,max=01,
5408              LAMBDA          =SIMP(statut='o',typ='R'),
5409              RHO_CP          =SIMP(statut='f',typ='R'),
5410            ),
5411            THER_FO         =FACT(statut='f',min=00,max=01,
5412              LAMBDA          =SIMP(statut='o',typ=fonction),
5413              RHO_CP          =SIMP(statut='f',typ=fonction),
5414              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="INST",into=("INST",) ),
5415            ),
5416            THER_ORTH       =FACT(statut='f',min=00,max=01,
5417              LAMBDA_L        =SIMP(statut='o',typ='R'),
5418              LAMBDA_T        =SIMP(statut='o',typ='R'),
5419              LAMBDA_N        =SIMP(statut='f',typ='R'),
5420              RHO_CP          =SIMP(statut='f',typ='R'),
5421            ),
5422            THER_COQUE      =FACT(statut='f',min=00,max=01,
5423              COND_LMM        =SIMP(statut='o',typ='R'),
5424              COND_TMM        =SIMP(statut='o',typ='R'),
5425              COND_LMP        =SIMP(statut='o',typ='R'),
5426              COND_TMP        =SIMP(statut='o',typ='R'),
5427              COND_LPP        =SIMP(statut='o',typ='R'),
5428              COND_TPP        =SIMP(statut='o',typ='R'),
5429              COND_LSI        =SIMP(statut='o',typ='R'),
5430              COND_TSI        =SIMP(statut='o',typ='R'),
5431              COND_NMM        =SIMP(statut='o',typ='R'),
5432              COND_NMP        =SIMP(statut='o',typ='R'),
5433              COND_NPP        =SIMP(statut='o',typ='R'),
5434              COND_NSI        =SIMP(statut='o',typ='R'),
5435              CMAS_MM         =SIMP(statut='f',typ='R'),
5436              CMAS_MP         =SIMP(statut='f',typ='R'),
5437              CMAS_PP         =SIMP(statut='f',typ='R'),
5438              CMAS_SI         =SIMP(statut='f',typ='R'),
5439            ),
5440            THER_COQUE_FO   =FACT(statut='f',min=00,max=01,
5441              COND_LMM        =SIMP(statut='o',typ=fonction),
5442              COND_TMM        =SIMP(statut='o',typ=fonction),
5443              COND_LMP        =SIMP(statut='o',typ=fonction),
5444              COND_TMP        =SIMP(statut='o',typ=fonction),
5445              COND_LPP        =SIMP(statut='o',typ=fonction),
5446              COND_TPP        =SIMP(statut='o',typ=fonction),
5447              COND_LSI        =SIMP(statut='o',typ=fonction),
5448              COND_TSI        =SIMP(statut='o',typ=fonction),
5449              COND_NMM        =SIMP(statut='o',typ=fonction),
5450              COND_NMP        =SIMP(statut='o',typ=fonction),
5451              COND_NPP        =SIMP(statut='o',typ=fonction),
5452              COND_NSI        =SIMP(statut='o',typ=fonction),
5453              CMAS_MM         =SIMP(statut='f',typ=fonction),
5454              CMAS_MP         =SIMP(statut='f',typ=fonction),
5455              CMAS_PP         =SIMP(statut='f',typ=fonction),
5456              CMAS_SI         =SIMP(statut='f',typ=fonction),
5457            ),
5458            SECH_GRANGER    =FACT(statut='f',min=00,max=01,
5459              A               =SIMP(statut='o',typ='R'),
5460              B               =SIMP(statut='o',typ='R'),
5461              QSR_K           =SIMP(statut='o',typ='R'),
5462              TEMP_0_C        =SIMP(statut='o',typ='R'),
5463            ),
5464            SECH_MENSI      =FACT(statut='f',min=00,max=01,
5465              A               =SIMP(statut='o',typ='R'),
5466              B               =SIMP(statut='o',typ='R'),
5467            ),
5468            SECH_BAZANT     =FACT(statut='f',min=00,max=01,
5469              D1              =SIMP(statut='o',typ='R'),
5470              ALPHA_BAZANT    =SIMP(statut='o',typ='R'),
5471              N               =SIMP(statut='o',typ='R'),
5472              FONC_DESORP     =SIMP(statut='o',typ=fonction),
5473              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ),
5474            ),
5475            SECH_NAPPE      =FACT(statut='f',min=00,max=01,
5476              FONCTION        =SIMP(statut='o',typ=fonction),
5477              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ),
5478              VERI_P2         =SIMP(statut='c',typ='TXM',defaut="TSEC",into=("TSEC",) ),
5479            ),
5480 #
5481 # comportement métallurgique
5482 #
5483            META_ACIER      =FACT(statut='f',min=00,max=01,
5484              TRC             =SIMP(statut='o',typ=(tabl_trc) ),
5485              AR3             =SIMP(statut='o',typ='R'),
5486              ALPHA           =SIMP(statut='o',typ='R'),
5487              MS0             =SIMP(statut='o',typ='R'),
5488              AC1             =SIMP(statut='o',typ='R'),
5489              AC3             =SIMP(statut='o',typ='R'),
5490              TAUX_1          =SIMP(statut='o',typ='R'),
5491              TAUX_3          =SIMP(statut='o',typ='R'),
5492              LAMBDA0         =SIMP(statut='f',typ='R'),  
5493              QSR_K           =SIMP(statut='f',typ='R'),  
5494              D10             =SIMP(statut='f',typ='R'),  
5495              WSR_K           =SIMP(statut='f',typ='R'),  
5496            ),
5497            META_ZIRC       =FACT(statut='f',min=00,max=01,
5498              TDEQ            =SIMP(statut='o',typ='R'),  
5499              N               =SIMP(statut='o',typ='R'),  
5500              K               =SIMP(statut='o',typ='R'),  
5501              TDC             =SIMP(statut='o',typ='R'),  
5502              AC              =SIMP(statut='o',typ='R'),  
5503              M               =SIMP(statut='o',typ='R'),  
5504              QSR_K           =SIMP(statut='f',typ='R'),  
5505              TDR             =SIMP(statut='o',typ='R'),  
5506              AR              =SIMP(statut='o',typ='R'),  
5507              BR              =SIMP(statut='o',typ='R'),  
5508            ),
5509            DURT_META       =FACT(statut='f',min=00,max=01,
5510              F1_DURT         =SIMP(statut='o',typ='R'),  
5511              F2_DURT         =SIMP(statut='o',typ='R'),  
5512              F3_DURT         =SIMP(statut='o',typ='R'),  
5513              F4_DURT         =SIMP(statut='o',typ='R'),  
5514              C_DURT          =SIMP(statut='o',typ='R'),  
5515            ),
5516            ELAS_META       =FACT(statut='f',min=00,max=01,
5517              E               =SIMP(statut='o',typ='R'),  
5518              NU              =SIMP(statut='o',typ='R'),  
5519              F_ALPHA         =SIMP(statut='o',typ='R'),  
5520              C_ALPHA         =SIMP(statut='o',typ='R'),  
5521              PHASE_REFE      =SIMP(statut='o',typ='TXM',into=("CHAUD","FROID")),
5522              EPSF_EPSC_TREF  =SIMP(statut='o',typ='R'),  
5523              TEMP_DEF_ALPHA  =SIMP(statut='f',typ='R'),  
5524              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E+0),  
5525              F1_SY           =SIMP(statut='f',typ='R'),  
5526              F2_SY           =SIMP(statut='f',typ='R'),  
5527              F3_SY           =SIMP(statut='f',typ='R'),  
5528              F4_SY           =SIMP(statut='f',typ='R'),  
5529              C_SY            =SIMP(statut='f',typ='R'),  
5530              SY_MELANGE      =SIMP(statut='f',typ=fonction),
5531              F1_S_VP         =SIMP(statut='f',typ='R'),  
5532              F2_S_VP         =SIMP(statut='f',typ='R'),  
5533              F3_S_VP         =SIMP(statut='f',typ='R'),  
5534              F4_S_VP         =SIMP(statut='f',typ='R'),  
5535              C_S_VP          =SIMP(statut='f',typ='R' ),  
5536              S_VP_MELANGE    =SIMP(statut='f',typ=fonction),
5537              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="META",into=("META",)),
5538            ),
5539            ELAS_META_FO    =FACT(statut='f',min=00,max=01,
5540              E               =SIMP(statut='o',typ=fonction),
5541              NU              =SIMP(statut='o',typ=fonction),
5542              F_ALPHA         =SIMP(statut='o',typ=fonction),
5543              C_ALPHA         =SIMP(statut='o',typ=fonction),
5544              PHASE_REFE      =SIMP(statut='o',typ='TXM',into=("CHAUD","FROID")),
5545              EPSF_EPSC_TREF  =SIMP(statut='o',typ='R'),  
5546              TEMP_DEF_ALPHA  =SIMP(statut='f',typ='R'),  
5547              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E+0),  
5548              F1_SY           =SIMP(statut='f',typ=fonction),
5549              F2_SY           =SIMP(statut='f',typ=fonction),
5550              F3_SY           =SIMP(statut='f',typ=fonction),
5551              F4_SY           =SIMP(statut='f',typ=fonction),
5552              C_SY            =SIMP(statut='f',typ=fonction),  
5553              SY_MELANGE      =SIMP(statut='f',typ=fonction),
5554              F1_S_VP         =SIMP(statut='f',typ=fonction),
5555              F2_S_VP         =SIMP(statut='f',typ=fonction),
5556              F3_S_VP         =SIMP(statut='f',typ=fonction),
5557              F4_S_VP         =SIMP(statut='f',typ=fonction),
5558              C_S_VP          =SIMP(statut='f',typ=fonction),  
5559              S_VP_MELANGE    =SIMP(statut='f',typ=fonction),
5560              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",)),
5561              VERI_P2         =SIMP(statut='c',typ='TXM',defaut="META",into=("META",)),
5562            ),
5563            META_ECRO_LINE  =FACT(statut='f',min=00,max=01,
5564              F1_D_SIGM_EPSI  =SIMP(statut='f',typ=fonction),
5565              F2_D_SIGM_EPSI  =SIMP(statut='f',typ=fonction),
5566              F3_D_SIGM_EPSI  =SIMP(statut='f',typ=fonction),
5567              F4_D_SIGM_EPSI  =SIMP(statut='f',typ=fonction),
5568              C_D_SIGM_EPSI   =SIMP(statut='f',typ=fonction),
5569              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",)),
5570            ),
5571            META_TRACTION   =FACT(statut='f',min=00,max=01,
5572              SIGM_F1         =SIMP(statut='f',typ=fonction),
5573              SIGM_F2         =SIMP(statut='f',typ=fonction),
5574              SIGM_F3         =SIMP(statut='f',typ=fonction),
5575              SIGM_F4         =SIMP(statut='f',typ=fonction),
5576              SIGM_C          =SIMP(statut='f',typ=fonction),
5577              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="EPSI",into=("EPSI",)),
5578              VERI_P2         =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",)),
5579            ),
5580            META_VISC_FO    =FACT(statut='f',min=00,max=01,
5581              F1_ETA          =SIMP(statut='f',typ=fonction),
5582              F1_N            =SIMP(statut='f',typ=fonction),
5583              F1_C            =SIMP(statut='f',typ=fonction),
5584              F1_M            =SIMP(statut='f',typ=fonction),
5585              F2_ETA          =SIMP(statut='f',typ=fonction),
5586              F2_N            =SIMP(statut='f',typ=fonction),
5587              F2_C            =SIMP(statut='f',typ=fonction),
5588              F2_M            =SIMP(statut='f',typ=fonction),
5589              F3_ETA          =SIMP(statut='f',typ=fonction),
5590              F3_N            =SIMP(statut='f',typ=fonction),
5591              F3_C            =SIMP(statut='f',typ=fonction),
5592              F3_M            =SIMP(statut='f',typ=fonction),
5593              F4_ETA          =SIMP(statut='f',typ=fonction),
5594              F4_N            =SIMP(statut='f',typ=fonction),
5595              F4_C            =SIMP(statut='f',typ=fonction),
5596              F4_M            =SIMP(statut='f',typ=fonction),
5597              C_ETA           =SIMP(statut='f',typ=fonction),
5598              C_N             =SIMP(statut='f',typ=fonction),
5599              C_C             =SIMP(statut='f',typ=fonction),
5600              C_M             =SIMP(statut='f',typ=fonction),
5601              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ),
5602            ),
5603            META_PT         =FACT(statut='f',min=00,max=01,
5604              F1_K            =SIMP(statut='f',typ='R'),  
5605              F2_K            =SIMP(statut='f',typ='R'),  
5606              F3_K            =SIMP(statut='f',typ='R'),  
5607              F4_K            =SIMP(statut='f',typ='R'),  
5608              F1_D_F_META     =SIMP(statut='f',typ=fonction),
5609              F2_D_F_META     =SIMP(statut='f',typ=fonction),
5610              F3_D_F_META     =SIMP(statut='f',typ=fonction),
5611              F4_D_F_META     =SIMP(statut='f',typ=fonction),
5612              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ),
5613              VERI_P2         =SIMP(statut='c',typ='TXM',defaut="META",into=("META",) ),
5614            ),
5615            META_RE         =FACT(statut='f',min=00,max=01,
5616              C_F1_THETA      =SIMP(statut='f',typ='R'),  
5617              C_F2_THETA      =SIMP(statut='f',typ='R'),  
5618              C_F3_THETA      =SIMP(statut='f',typ='R'),  
5619              C_F4_THETA      =SIMP(statut='f',typ='R'),  
5620              F1_C_THETA      =SIMP(statut='f',typ='R'),  
5621              F2_C_THETA      =SIMP(statut='f',typ='R'),  
5622              F3_C_THETA      =SIMP(statut='f',typ='R'),  
5623              F4_C_THETA      =SIMP(statut='f',typ='R'),  
5624            ),
5625 #
5626 # comportement fluide
5627 #
5628            FLUIDE          =FACT(statut='f',min=00,max=01,
5629              regles=(EXCLUS('CELE_C','CELE_R'),),
5630              RHO             =SIMP(statut='o',typ='R'),
5631              CELE_C          =SIMP(statut='f',typ='C'),
5632              CELE_R          =SIMP(statut='f',typ='R'),
5633            ),
5634            PORO_JOINT      =FACT(statut='f',min=00,max=01,
5635              RHO_FLUI        =SIMP(statut='o',typ='R'),
5636              ENTRO_FLUI      =SIMP(statut='o',typ='R'),
5637              BIOT_M          =SIMP(statut='o',typ='R'),
5638              C_0             =SIMP(statut='o',typ='R'),
5639              T_R             =SIMP(statut='o',typ='R'),
5640              ALPHA_M         =SIMP(statut='o',typ='R'),
5641              LAMBDA_T        =SIMP(statut='o',typ='R'),
5642              LAMBDA_H        =SIMP(statut='o',typ='R'),
5643              SOURCE_INIT     =SIMP(statut='o',typ='R'),
5644              OMEGA_0         =SIMP(statut='o',typ='R'),
5645            ),
5646            THM_LIQU        =FACT(statut='f',min=00,max=01,
5647              RHO             =SIMP(statut='o',typ='R'),
5648              UN_SUR_K        =SIMP(statut='f',typ='R'),
5649              ALPHA           =SIMP(statut='f',typ='R'),
5650              CP              =SIMP(statut='f',typ='R'),
5651              VISC            =SIMP(statut='f',typ=fonction),
5652              D_VISC_TEMP     =SIMP(statut='f',typ=fonction),
5653              LAMBDA          =SIMP(statut='f',typ=fonction),
5654              D_LAMBDA_TEMP   =SIMP(statut='f',typ=fonction),
5655              COEF_HENRY      =SIMP(statut='f',typ='R'),  
5656              VERI_P1         =SIMP(statut='f',typ='TXM',defaut="TEMP",into=("TEMP",)),
5657            ),
5658            THM_GAZ         =FACT(statut='f',min=00,max=01,
5659              MASS_MOL        =SIMP(statut='f',typ='R'),
5660              CP              =SIMP(statut='f',typ='R'),
5661              VISC            =SIMP(statut='f',typ=fonction),
5662              D_VISC_TEMP     =SIMP(statut='f',typ=fonction),
5663              LAMBDA          =SIMP(statut='f',typ=fonction),
5664              D_LAMBDA_TEMP   =SIMP(statut='f',typ=fonction),
5665              VERI_P1         =SIMP(statut='f',typ='TXM',defaut="TEMP",into=("TEMP",)),
5666            ),
5667            THM_VAPE_GAZ    =FACT(statut='f',min=00,max=01,
5668              MASS_MOL        =SIMP(statut='f',typ='R'),
5669              CP              =SIMP(statut='f',typ='R'),
5670              VISC            =SIMP(statut='f',typ=fonction),
5671              D_VISC_TEMP     =SIMP(statut='f',typ=fonction),
5672              VERI_P1         =SIMP(statut='f',typ='TXM',defaut="TEMP",into=("TEMP",)),
5673            ),
5674            THM_INIT        =FACT(statut='f',min=00,max=01,
5675              TEMP            =SIMP(statut='o',typ='R'),
5676              PRE1            =SIMP(statut='o',typ='R'),
5677              PRE2            =SIMP(statut='o',typ='R'),
5678              PORO            =SIMP(statut='o',typ='R'),
5679              PRES_VAPE       =SIMP(statut='o',typ='R'),
5680              DEGR_SATU       =SIMP(statut='f',typ='R'),  
5681              PRES_ATMO       =SIMP(statut='f',typ='R'),  
5682            ),
5683            THM_DIFFU       =FACT(statut='f',min=00,max=01,
5684              R_GAZ           =SIMP(statut='o',typ='R'),
5685              RHO             =SIMP(statut='f',typ='R'),
5686              CP              =SIMP(statut='f',typ='R'),
5687              BIOT_COEF       =SIMP(statut='f',typ='R'),
5688              SATU_PRES       =SIMP(statut='f',typ=fonction),
5689              D_SATU_PRES     =SIMP(statut='f',typ=fonction),
5690              PESA_X          =SIMP(statut='f',typ='R'),
5691              PESA_Y          =SIMP(statut='f',typ='R'),
5692              PESA_Z          =SIMP(statut='f',typ='R'),
5693              PERM_IN         =SIMP(statut='f',typ=fonction),
5694              PERM_LIQU       =SIMP(statut='f',typ=fonction),
5695              D_PERM_LIQU_SATU=SIMP(statut='f',typ=fonction),
5696              PERM_GAZ        =SIMP(statut='f',typ=fonction),
5697              D_PERM_SATU_GAZ =SIMP(statut='f',typ=fonction),
5698              D_PERM_PRES_GAZ =SIMP(statut='f',typ=fonction),
5699              FICK            =SIMP(statut='f',typ=fonction),
5700              D_FICK_TEMP     =SIMP(statut='f',typ=fonction),
5701              D_FICK_GAZ_PRES =SIMP(statut='f',typ=fonction),
5702              LAMBDA          =SIMP(statut='f',typ=fonction),
5703              D_LAMBDA_TEMP   =SIMP(statut='f',typ=fonction),
5704              SIGMA_T         =SIMP(statut='f',typ=fonction),
5705              D_SIGMA_T       =SIMP(statut='f',typ=fonction),
5706              PERM_G_INTR     =SIMP(statut='f',typ=fonction),
5707              CHAL_VAPO       =SIMP(statut='f',typ=fonction),
5708              VERI_P1         =SIMP(statut='f',typ='TXM',defaut="TEMP",into=("TEMP",) ),
5709              VERI_P2         =SIMP(statut='f',typ='TXM',defaut="SAT",into=("SAT",) ),
5710              VERI_P3         =SIMP(statut='f',typ='TXM',defaut="PORO",into=("PORO",) ),
5711              VERI_P4         =SIMP(statut='f',typ='TXM',defaut="PGAZ",into=("PGAZ",) ),
5712              VERI_P5         =SIMP(statut='f',typ='TXM',defaut="PGAP",into=("PGAP",) ),
5713            ),
5714 #
5715 # courbes et coefficients associés à la fatigue et au dommage
5716 #
5717            FATIGUE         =FACT(statut='f',min=00,max=01,
5718              regles=(PRESENT_ABSENT('WOHLER','A_BASQUIN','BETA_BASQUIN'),
5719                      PRESENT_ABSENT('WOHLER','A0','A1','A2','A3','SL'),
5720                      PRESENT_ABSENT('A_BASQUIN','A0','A1','A2','A3','SL'),
5721                      ENSEMBLE('A_BASQUIN','BETA_BASQUIN'),
5722                      ENSEMBLE('A0','A1','A2','A3','SL'),
5723                      PRESENT_PRESENT('A0','E_REFE'),
5724                      ENSEMBLE('D0','TAU0'),),
5725              WOHLER          =SIMP(statut='f',typ=fonction),
5726              A_BASQUIN       =SIMP(statut='f',typ='R'),
5727              BETA_BASQUIN    =SIMP(statut='f',typ='R'),
5728              A0              =SIMP(statut='f',typ='R'),
5729              A1              =SIMP(statut='f',typ='R'),
5730              A2              =SIMP(statut='f',typ='R'),
5731              A3              =SIMP(statut='f',typ='R'),
5732              SL              =SIMP(statut='f',typ='R'),
5733              MANSON_COFFIN   =SIMP(statut='f',typ=fonction),
5734              E_REFE          =SIMP(statut='f',typ='R'),
5735              D0              =SIMP(statut='f',typ='R'),
5736              TAU0            =SIMP(statut='f',typ='R'),
5737              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="SIGM",into=("SIGM",) ),
5738              VERI_P2         =SIMP(statut='c',typ='TXM',defaut="EPSI",into=("EPSI",) ),
5739            ),
5740            DOMMA_LEMAITRE  =FACT(statut='f',min=00,max=01,
5741              S               =SIMP(statut='o',typ=fonction),
5742              EPSP_SEUIL      =SIMP(statut='o',typ='R'),
5743              VERI_P1         =SIMP(statut='c',typ='TXM',defaut="TEMP",into=("TEMP",) ),
5744            ),
5745 #
5746 # autres comportements ...
5747 #
5748            WEIBULL         =FACT(statut='f',min=00,max=01,
5749              M               =SIMP(statut='o',typ='R'),
5750              VOLU_REFE       =SIMP(statut='o',typ='R'),
5751              SIGM_REFE       =SIMP(statut='o',typ='R'),
5752              SEUIL_EPSP_CUMU =SIMP(statut='f',typ='R',defaut= 1.0E-6),
5753            ),
5754            CONTACT         =FACT(statut='f',min=00,max=01,
5755              E_N             =SIMP(statut='o',typ='R'),
5756              E_T             =SIMP(statut='f',typ='R',defaut= 0.E+0),
5757              COULOMB         =SIMP(statut='f',typ='R',defaut= 0.E+0),
5758            ),
5759            NON_LOCAL       =FACT(statut='f',min=00,max=01,
5760              LONG_CARA       =SIMP(statut='o',typ='R'),
5761              COEF_RIGI_MINI  =SIMP(statut='f',typ='R'),
5762            ),
5763            RUPT_FRAG       =FACT(statut='f',min=00,max=01,
5764              GC              =SIMP(statut='o',typ='R'),
5765            ),
5766            RCCM            =FACT(statut='f',min=00,max=01,
5767              SY_02           =SIMP(statut='f',typ='R'),
5768              SM              =SIMP(statut='f',typ='R'),
5769              SU              =SIMP(statut='f',typ='R'),
5770              SC              =SIMP(statut='f',typ='R'),
5771              SH              =SIMP(statut='f',typ='R'),
5772              N_KE            =SIMP(statut='f',typ='R'),  
5773              M_KE            =SIMP(statut='f',typ='R'),  
5774            ),
5775            RCCM_FO         =FACT(statut='f',min=00,max=01,
5776              SY_02           =SIMP(statut='f',typ=fonction),
5777              SM              =SIMP(statut='f',typ=fonction),
5778              SU              =SIMP(statut='f',typ=fonction),
5779              S               =SIMP(statut='f',typ=fonction),
5780              N_KE            =SIMP(statut='f',typ=fonction),  
5781              M_KE            =SIMP(statut='f',typ=fonction),  
5782            ),
5783            INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
5784 )  ;
5785 #& MODIF COMMANDE  DATE 02/10/96   AUTEUR CIBHHLV L.VIVAN 
5786 DEFI_MODELE_GENE=OPER(nom="DEFI_MODELE_GENE",op= 126,sd_prod=modele_gene,
5787                       fr="Définition d un modèle structure global à partir de macro éléments pour analyse modale ou harmonique par sous structuration",
5788                       docu="U4.65.02-D",reentrant='n',
5789          SOUS_STRUC      =FACT(statut='o',min=01,max='**',
5790            NOM             =SIMP(statut='o',typ='TXM' ),
5791            MACR_ELEM_DYNA  =SIMP(statut='o',typ=macr_elem_dyna ),
5792            ANGL_NAUT       =SIMP(statut='f',typ='R',max=03),
5793            TRANS           =SIMP(statut='f',typ='R',max=03),
5794          ),
5795          LIAISON         =FACT(statut='o',min=01,max='**',
5796            SOUS_STRUC_1    =SIMP(statut='o',typ='TXM' ),
5797            INTERFACE_1     =SIMP(statut='o',typ='TXM' ),
5798            SOUS_STRUC_2    =SIMP(statut='o',typ='TXM' ),
5799            INTERFACE_2     =SIMP(statut='o',typ='TXM' ),
5800          ),
5801          VERIF           =FACT(statut='f',min=01,max='**',
5802 #  dans la doc U stop_erreur est obligatoire         
5803            STOP_ERREUR     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
5804            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
5805            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
5806          ),
5807 )  ;
5808 #& MODIF COMMANDE  DATE 18/01/99   AUTEUR CIBHHBC B.CIREE 
5809 DEFI_NAPPE=OPER(nom="DEFI_NAPPE",op=   4,sd_prod=fonction,
5810                 fr="Définition des valeurs d une fonction de deux variables réelles",
5811                 docu="U4.31.03-F",reentrant='n',
5812          regles=(UN_PARMI('FONCTION','DEFI_FONCTION'),
5813                  EXCLUS('FONCTION','NOM_PARA_FONC',),
5814                  ENSEMBLE('NOM_PARA_FONC','DEFI_FONCTION'),),
5815          NOM_PARA        =SIMP(statut='o',typ='TXM',into=("TEMP","INST","X","Y","Z","FREQ","PULS",
5816                                                           "AMOR","EPAIS","TSEC","HYDR","SECH") ),
5817          NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"),       
5818          PARA            =SIMP(statut='o',typ='R',max='**'),
5819          FONCTION        =SIMP(statut='f',typ=fonction,max='**' ),
5820          NOM_PARA_FONC   =SIMP(statut='f',typ='TXM',into=("TEMP","INST","X","Y","Z","EPSI","FREQ",
5821                                                           "PULS","AMOR","EPAIS") ),
5822          DEFI_FONCTION   =FACT(statut='f',min=00,max='**',
5823            VALE            =SIMP(statut='o',typ='R',max='**'),
5824            INTERPOL        =SIMP(statut='f',typ='TXM',max=02,defaut="LIN",into=("NON","LIN","LOG") ),
5825            PROL_DROIT      =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
5826            PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
5827          ),
5828          INTERPOL        =SIMP(statut='f',typ='TXM',max=02,defaut="LIN",into=("NON","LIN","LOG") ),
5829          PROL_DROIT      =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
5830          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
5831          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
5832          VERIF           =SIMP(statut='f',typ='TXM',into=("CROISSANT",) ),
5833          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
5834 )  ;
5835 #& MODIF COMMANDE  DATE 06/10/1999   AUTEUR SABJLMA P.LATRUBESSE 
5836 DEFI_OBSTACLE=OPER(nom="DEFI_OBSTACLE",op=  73,sd_prod=obstacle
5837                     ,fr="Définition d un obstacle plan perpendiculaire à une structure filaire",
5838                      docu="U4.44.21-E",reentrant='n',
5839          TYPE            =SIMP(statut='o',typ='TXM',defaut="CERCLE",
5840                              into=("CERCLE","PLAN_Y","PLAN_Z","DISCRET",
5841                              "BI_CERCLE","BI_PLAN_Y","BI_PLAN_Z","BI_CERC_INT",
5842                              "CRAYON_900","CRAYON_1300","GUID_A_CARTE_900",
5843                              "GUID_B_CARTE_900","GUID_C_CARTE_900",
5844                              "GUID_D_CARTE_900","GUID_E_CARTE_900",
5845                              "GUID_F_CARTE_900","GUID_A_CARTE_1300",
5846                              "GUID_B_CARTE_1300","GUID_C_CARTE_1300",
5847                              "GUID_D_CARTE_1300","GUID_E_CARTE_1300",
5848                              "GUID_F_CARTE_1300","GUID_A_CARSP_900",
5849                              "GUID_B_CARSP_900","GUID_C_CARSP_900",
5850                              "GUID_D_CARSP_900","GUID_E_CARSP_900",
5851                              "GUID_F_CARSP_900","GUID_A_CARSP_1300",
5852                              "GUID_B_CARSP_1300","GUID_C_CARSP_1300",
5853                              "GUID_D_CARSP_1300","GUID_E_CARSP_1300",
5854                              "GUID_F_CARSP_1300","GUID_A_GCONT_900",
5855                              "GUID_B_GCONT_900","GUID_C_GCONT_900",
5856                              "GUID_D_GCONT_900","GUID_E_GCONT_900",
5857                              "GUID_F_GCONT_900","GUID_A_GCONT_1300",
5858                              "GUID_B_GCONT_1300","GUID_C_GCONT_1300",
5859                              "GUID_D_GCONT_1300","GUID_E_GCONT_1300",
5860                              "GUID_F_GCONT_1300","GUID_A_GCOMB_900",
5861                              "GUID_B_GCOMB_900","GUID_C_GCOMB_900",
5862                              "GUID_D_GCOMB_900","GUID_E_GCOMB_900",
5863                              "GUID_F_GCOMB_900","GUID_A_GCOMB_1300",
5864                              "GUID_B_GCOMB_1300","GUID_C_GCOMB_1300",
5865                              "GUID_D_GCOMB_1300","GUID_E_GCOMB_1300",
5866                              "GUID_F_GCOMB_1300",) ),
5867          VALE            =SIMP(statut='f',typ='R',max='**'),
5868          VERIF           =SIMP(statut='f',typ='TXM',defaut="FERME"),
5869 )  ;
5870 #& MODIF COMMANDE  DATE 04/03/98   AUTEUR BIBERON G.ROUSSEAU 
5871 DEFI_SPEC_TURB=OPER(nom="DEFI_SPEC_TURB",op= 145,sd_prod=spectre,
5872                     fr="Définition d'un spectre d'excitation turbulente",
5873                     docu="U4.44.31-C",reentrant='n',
5874          regles=(UN_PARMI('SPEC_LONG_COR_1','SPEC_LONG_COR_2','SPEC_LONG_COR_3',
5875                           'SPEC_LONG_COR_4','SPEC_CORR_CONV_1','SPEC_CORR_CONV_2',
5876                           'SPEC_FONC_FORME','SPEC_EXCI_POINT'),),
5877          SPEC_LONG_COR_1 =FACT(statut='f',min=00,max=01,
5878            LONG_COR        =SIMP(statut='o',typ='R' ),
5879            PROF_VITE_FLUI  =SIMP(statut='o',typ=fonction ),
5880            VISC_CINE       =SIMP(statut='o',typ='R' ),
5881          ),
5882          SPEC_LONG_COR_2 =FACT(statut='f',min=00,max=01,
5883            regles=(ENSEMBLE('FREQ_COUP','PHI0','BETA' ),),
5884            LONG_COR        =SIMP(statut='o',typ='R' ),
5885            PROF_VITE_FLUI  =SIMP(statut='o',typ=fonction ),
5886            FREQ_COUP       =SIMP(statut='f',typ='R',defaut= 0.1 ),
5887            PHI0            =SIMP(statut='f',typ='R',defaut= 1.5E-3 ),
5888            BETA            =SIMP(statut='f',typ='R',defaut= 2.7 ),
5889          ),
5890          SPEC_LONG_COR_3 =FACT(statut='f',min=00,max=01,
5891            regles=(ENSEMBLE('PHI0_1','BETA_1','PHI0_2','BETA_2','FREQ_COUP'),),
5892            LONG_COR        =SIMP(statut='o',typ='R' ),
5893            PROF_VITE_FLUI  =SIMP(statut='o',typ=fonction ),
5894            FREQ_COUP       =SIMP(statut='f',typ='R',defaut= 0.2 ),
5895            PHI0_1          =SIMP(statut='f',typ='R',defaut= 5.E-3 ),
5896            BETA_1          =SIMP(statut='f',typ='R',defaut= 0.5 ),
5897            PHI0_2          =SIMP(statut='f',typ='R',defaut= 4.0E-5 ),
5898            BETA_2          =SIMP(statut='f',typ='R',defaut= 3.5 ),
5899          ),
5900          SPEC_LONG_COR_4 =FACT(statut='f',min=00,max=01,
5901            regles=(ENSEMBLE('BETA','GAMMA'),),
5902            LONG_COR        =SIMP(statut='o',typ='R' ),
5903            PROF_VITE_FLUI  =SIMP(statut='o',typ=fonction ),
5904            TAUX_VIDE       =SIMP(statut='o',typ='R' ),
5905            BETA            =SIMP(statut='f',typ='R',defaut= 2. ),
5906            GAMMA           =SIMP(statut='f',typ='R',defaut= 4. ),
5907          ),
5908          SPEC_CORR_CONV_1=FACT(statut='f',min=00,max=01,
5909            LONG_COR_1      =SIMP(statut='o',typ='R' ),
5910            LONG_COR_2      =SIMP(statut='f',typ='R' ),
5911            VITE_FLUI       =SIMP(statut='o',typ='R' ),
5912            RHO_FLUI        =SIMP(statut='o',typ='R' ),
5913            FREQ_COUP       =SIMP(statut='f',typ='R' ),
5914            K               =SIMP(statut='f',typ='R',defaut= 5.8E-3 ),
5915            D_FLUI          =SIMP(statut='o',typ='R' ),
5916            COEF_VITE_FLUI_A=SIMP(statut='f',typ='R' ),
5917            COEF_VITE_FLUI_O=SIMP(statut='f',typ='R' ),
5918            METHODE         =SIMP(statut='f',typ='TXM',defaut="GENERALE",
5919                                  into=("AU_YANG","GENERALE","CORCOS") ),
5920          ),
5921          SPEC_CORR_CONV_2=FACT(statut='f',min=00,max=01,
5922            FONCTION        =SIMP(statut='o',typ=fonction ),
5923            VITE_FLUI       =SIMP(statut='o',typ='R' ),
5924            FREQ_COUP       =SIMP(statut='f',typ='R' ),
5925            METHODE         =SIMP(statut='f',typ='TXM',defaut="GENERALE",
5926                                  into=("AU_YANG","GENERALE","CORCOS",) ),
5927            COEF_VITE_FLUI_A=SIMP(statut='f',typ='R' ),
5928            COEF_VITE_FLUI_O=SIMP(statut='f',typ='R' ),
5929          ),
5930          SPEC_FONC_FORME =FACT(statut='f',min=00,max=01,
5931            regles=(UN_PARMI('INTE_SPEC','GRAPPE_1'),
5932                    ENSEMBLE('INTE_SPEC','FONCTION'),),
5933            INTE_SPEC       =SIMP(statut='f',typ=tabl_intsp ),
5934            FONCTION        =SIMP(statut='f',typ=fonction,max='**'),
5935            GRAPPE_1        =SIMP(statut='f',typ='TXM',into=("DEBIT_180","DEBIT_300",) ),
5936            NOEUD           =SIMP(statut='o',typ=no),
5937            CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
5938            MODELE          =SIMP(statut='o',typ=modele ),
5939          ),
5940          SPEC_EXCI_POINT =FACT(statut='f',min=00,max=01,
5941            regles=(UN_PARMI('INTE_SPEC','GRAPPE_2'),),         
5942            INTE_SPEC       =SIMP(statut='f',typ=tabl_intsp ),
5943            GRAPPE_2        =SIMP(statut='f',typ='TXM',
5944                                  into=("ASC_CEN","ASC_EXC","DES_CEN","DES_EXC",) ),
5945 #  Quels sont les statuts des mots cles à l interieur des deux blocs qui suivent
5946            b_inte_spec =BLOC(condition = "INTE_SPEC != None",
5947              NATURE          =SIMP(statut='o',typ='TXM',max='**',into=("FORCE","MOMENT",) ),
5948              ANGL            =SIMP(statut='o',typ='R',max='**'),
5949              NOEUD           =SIMP(statut='o',typ=no,max='**'),
5950            ),
5951            b_grappe_2      =BLOC(condition = "GRAPPE_2 != None",
5952              RHO_FLUI        =SIMP(statut='o',typ='R' ),
5953              NOEUD           =SIMP(statut='o',typ=no),
5954            ),   
5955            CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
5956            MODELE          =SIMP(statut='o',typ=modele ),
5957          ),
5958          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
5959 )  ;
5960 #& MODIF COMMANDE  DATE 02/03/99   AUTEUR SABJLMA P.LATRUBESSE 
5961 DEFI_SQUELETTE=OPER(nom="DEFI_SQUELETTE",op= 110,sd_prod=squelette,
5962                     fr="Définition d un maillage de visualisation",
5963                     docu="U4.24.01-E",reentrant='n',
5964          regles=(UN_PARMI('MODE_CYCL','MODELE_GENE','MAILLAGE'),
5965                  PRESENT_PRESENT('MODE_CYCL','SECTEUR'),
5966                  EXCLUS('SOUS_STRUC','SECTEUR'),
5967                  PRESENT_PRESENT('NOM_GROUP_MA','MODELE_GENE'),
5968                  PRESENT_PRESENT('NOM_GROUP_MA','SOUS_STRUC'),),
5969          MODE_CYCL       =SIMP(statut='f',typ=mode_cycl ),
5970          MODELE_GENE     =SIMP(statut='f',typ=modele_gene ),
5971          SQUELETTE       =SIMP(statut='f',typ=squelette ),
5972          RECO_GLOBAL     =FACT(statut='f',min=01,max='**',
5973            regles=(EXCLUS('TOUT','GROUP_NO_1'),
5974                    PRESENT_PRESENT('GROUP_NO_1','GROUP_NO_2'),
5975                    PRESENT_PRESENT('GROUP_NO_1','SOUS_STRUC_1'),
5976                    PRESENT_PRESENT('GROUP_NO_2','SOUS_STRUC_2'),
5977                    PRESENT_PRESENT('SOUS_STRUC_1','SOUS_STRUC_2'),),
5978            TOUT            =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",) ),
5979            GROUP_NO_1      =SIMP(statut='f',typ=grno),
5980            SOUS_STRUC_1    =SIMP(statut='f',typ='TXM' ),
5981            GROUP_NO_2      =SIMP(statut='f',typ=grno),
5982            SOUS_STRUC_2    =SIMP(statut='f',typ='TXM' ),
5983            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
5984            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
5985            DIST_REFE       =SIMP(statut='f',typ='R' ),
5986          ),
5987          NOM_GROUP_MA    =FACT(statut='f',min=01,max='**',
5988            NOM             =SIMP(statut='o',typ='TXM' ),
5989            SOUS_STRUC      =SIMP(statut='o',typ='TXM' ),
5990            GROUP_MA        =SIMP(statut='o',typ=grma),
5991          ),
5992          EXCLUSIF        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
5993          MAILLAGE        =SIMP(statut='f',typ=maillage ),
5994          MAILLE          =SIMP(statut='f',typ=ma,max='**'),
5995          GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
5996          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5997          TRANS           =SIMP(statut='f',typ='R',max='**'),
5998          ANGL_NAUT       =SIMP(statut='f',typ='R',max='**'),
5999          SOUS_STRUC      =FACT(statut='f',min=01,max='**',
6000            NOM             =SIMP(statut='f',typ='TXM' ),
6001            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
6002            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
6003            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6004          ),
6005          SECTEUR         =FACT(statut='f',min=01,max='**',
6006            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
6007            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
6008            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6009          ),
6010          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
6011 )  ;
6012 #& MODIF COMMANDE  DATE 09/06/98   AUTEUR CIBHHLV L.VIVAN 
6013 DEFI_TEXTURE=OPER(nom="DEFI_TEXTURE",op= 181,sd_prod=tabl_texture,
6014                   fr=" ",docu="U4.43.05-A",reentrant='n',
6015          SYST_GLISSEMENT =FACT(statut='o',min=01,max='**',
6016            N               =SIMP(statut='o',typ='R',max='**' ),  
6017            L               =SIMP(statut='o',typ='R',max='**' ),  
6018          ),
6019          PLAN            =FACT(statut='o',min=01,max='**',
6020            ANGL_NAUT       =SIMP(statut='o',typ='R',max='**' ),  
6021            PROPORTION      =SIMP(statut='o',typ='R' ),  
6022          ),
6023          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
6024 )  ;
6025 #& MODIF COMMANDE  DATE 16/07/96   AUTEUR CIBHHRA R.MEDDOURI 
6026 DEFI_THER_JOULE=OPER(nom="DEFI_THER_JOULE",op= 121,sd_prod=fonction,docu="U4.MK.20-A",reentrant='n',
6027                     fr="Calculer la fonction d évolution temporelle de la température due à l effet JOULE dans un câble",
6028          LIST_INST       =SIMP(statut='o',typ=listr8),
6029          INST_CC_INIT    =SIMP(statut='f',typ='R',defaut= 0.0E+0 ),
6030          INST_CC_FIN     =SIMP(statut='f',typ='R',defaut= 1.0E+10),
6031          INST_RENC_INIT  =SIMP(statut='f',typ='R',defaut= 1.0E+10),
6032          INST_RENC_FIN   =SIMP(statut='f',typ='R',defaut= 1.0E+10),
6033          TEMP_EXT_POSE   =SIMP(statut='f',typ='R',defaut= 15.0E+0),
6034          TEMP_EXT        =SIMP(statut='f',typ='R',defaut= 15.0E+0),
6035          TEMP_RESI_REF   =SIMP(statut='f',typ='R',defaut= 20.0E+0),
6036          PARA_COND_1D    =FACT(statut='f',min=01,max='**',
6037            INTE_CC         =SIMP(statut='f',typ='R',defaut= 0.0E+0),
6038            INTE_RENC       =SIMP(statut='f',typ='R',defaut= 0.0E+0),
6039            A               =SIMP(statut='f',typ='R',defaut= 1.0E+0),
6040            SECTION         =SIMP(statut='f',typ='TXM',defaut="CERCLE",into=("CERCLE",) ),
6041            RESI_R0         =SIMP(statut='f',typ='R',defaut= 0.0E+0),
6042            RESI_R1         =SIMP(statut='f',typ='R',defaut= 0.E+0),
6043            RHO_CP          =SIMP(statut='f',typ='R',defaut= 1.0E+0),
6044            COEF_H          =SIMP(statut='f',typ='R',defaut= 40.0E+0),
6045            TEMP_INIT       =SIMP(statut='f',typ='R',defaut= 15.0E+0),
6046          ),
6047 )  ;
6048
6049 #& MODIF COMMANDE  DATE 04/07/2000   AUTEUR JMBHH01 J.M.PROIX 
6050 DEFI_TRC=OPER(nom="DEFI_TRC",op=94,sd_prod=tabl_trc,docu="U4.43.04-E",reentrant='n',
6051               fr="Définition d un diagramme de transformations en refroidissement continu d un acier",
6052          HIST_EXP        =FACT(statut='o',min=01,max='**',
6053            VALE            =SIMP(statut='o',typ='R',max='**'),
6054          ),
6055          TEMP_MS         =FACT(statut='o',min=01,max='**',
6056            SEUIL           =SIMP(statut='o',typ='R'),
6057            AKM             =SIMP(statut='o',typ='R'),
6058            BKM             =SIMP(statut='o',typ='R'),
6059            TPLM            =SIMP(statut='o',typ='R'),
6060          ),
6061          GRAIN_AUST      =FACT(statut='f',min=01,max='**',
6062            DREF           =SIMP(statut='f',typ='R'),
6063            A              =SIMP(statut='f',typ='R'),
6064          ),
6065 )  ;
6066 #& MODIF COMMANDE  DATE 21/12/2000   AUTEUR DURAND C.DURAND 
6067 def defi_valeur_prod(self,IS=None,R8=None,TX=None,C8=None,LS=None):
6068   if IS != None  : return entier
6069   if R8 != None  : return reel
6070   if TX != None  : return chaine
6071   if C8 != None  : return complexe
6072   if LS != None  : return liste
6073   raise AsException("type de concept resultat non prevu")
6074
6075 DEFI_VALEUR=MACRO(nom="DEFI_VALEUR",op=-4,sd_prod=defi_valeur_prod,
6076                  fr="Affectation d une valeur à une variable Superviseur",
6077                  docu="U4.31.04-e",reentrant='f',
6078          regles=(UN_PARMI('IS','R8','TX','C8','LS'),),
6079          IS              =SIMP(statut='f',typ='I',max='**'),
6080          R8              =SIMP(statut='f',typ='R',max='**'),
6081          TX              =SIMP(statut='f',typ='TXM',max='**'),
6082          C8              =SIMP(statut='f',typ='C',max='**'),
6083          LS              =SIMP(statut='f',typ='L',max='**'),
6084 )  ;
6085 #& MODIF COMMANDE DATE 04/10/90 AUTEUR INCONNU INCONNU
6086 DEFUFI=PROC(nom="DEFUFI",op=21,docu="U4.12.01-D",
6087             fr="Modification / ajoût d une unité logique en sortie en complément de celles définies dans DEBUT",
6088          IMPRESSION      =FACT(statut='o',min=01,max='**',
6089            NOM             =SIMP(statut='o',typ='TXM',max='**'),
6090            UNITE           =SIMP(statut='o',typ='I' ),
6091          ),
6092 )  ;
6093 #& MODIF COMMANDE DATE 16/01/92 AUTEUR INCONNU INCONNU
6094 DEPL_INTERNE=OPER(nom="DEPL_INTERNE",op=89,sd_prod=cham_no_depl_r,docu="U4.62.02-E",reentrant='n',
6095                   fr="Récupération du champ de déplacement interne à une sous-structure",
6096          DEPL_GLOBAL     =SIMP(statut='o',typ=cham_no_depl_r),
6097          MAILLE          =SIMP(statut='o',typ=ma,max=1),
6098          NOM_CAS         =SIMP(statut='f',typ='TXM',defaut=" "),
6099 )  ;
6100 #& MODIF COMMANDE DATE 23/03/93 AUTEUR GJBHHDU G.DUMONT
6101 DETRUIRE=PROC(nom="DETRUIRE",op=-7,docu="U4.14.01-D",
6102               fr="Destruction d un concept utilisateur dans la base GLOBALE",
6103              op_init=ops.detruire,
6104             CONCEPT     =FACT(statut='o',min=01,
6105             NOM         =SIMP(statut='o',typ=assd,max='**'),
6106         ),
6107 );
6108 #& MODIF COMMANDE  DATE 03/05/2000   AUTEUR CIBHHLV L.VIVAN 
6109 DIST_LIGN_3D=OPER(nom="DIST_LIGN_3D",op= 133,sd_prod=fonction,docu="U4.MK.30-A",reentrant='n', 
6110                   fr="Calcul sous forme d une fonction du temps de la distance minimale entre deux structures filaires",
6111       regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),
6112               UN_PARMI('GROUP_MA_2','POIN_FIXE'),),
6113          MODELE          =SIMP(statut='o',typ=modele),
6114          RESULTAT        =SIMP(statut='o',typ=(evol_elas,dyna_trans,evol_noli) ),
6115          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",)),
6116          NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),
6117          INST            =SIMP(statut='f',typ='R',max='**'),
6118          LIST_INST       =SIMP(statut='f',typ=listr8),
6119          LIST_ORDRE      =SIMP(statut='f',typ=listis),
6120          PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
6121          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
6122          GROUP_MA_1      =SIMP(statut='o',typ=grma,max='**'),
6123          GROUP_MA_2      =SIMP(statut='f',typ=grma,max='**'),
6124          POIN_FIXE       =SIMP(statut='f',typ='R',min=3,max=3),
6125          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
6126 )  ;
6127 #& MODIF COMMANDE  DATE 03/05/2000   AUTEUR CIBHHAB N.RAHNI
6128 DYNA_ALEA_MODAL=OPER(nom="DYNA_ALEA_MODAL",op= 131,sd_prod=tabl_intsp
6129                     ,fr="Calcule la réponse spectrale d une structure linéaire sous une excitation connue par sa DSP",
6130                      docu="U4.53.22-D",reentrant='n',
6131          BASE_MODALE     =FACT(statut='o',min=01,max=01,
6132            regles=(UN_PARMI('NUME_ORDRE','BANDE'),),
6133            MODE_MECA       =SIMP(statut='o',typ=mode_meca ),
6134            BANDE           =SIMP(statut='f',typ='R',max=02),
6135            NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),
6136            b_bande =BLOC(condition = "BANDE != None",
6137              AMOR_UNIF       =SIMP(statut='o',typ='R' ),
6138            ),
6139            b_nume_ordre =BLOC(condition = "NUME_ORDRE != None",
6140              AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
6141            ),
6142          ),
6143          MODE_STAT       =SIMP(statut='f',typ=mode_stat ),
6144          EXCIT           =FACT(statut='o',min=01,max=01,
6145            regles=(UN_PARMI('NOEUD_I','NUME_ORDRE_I'), 
6146                    EXCLUS('CHAM_NO','NOEUD'),),
6147            DERIVATION      =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ),
6148            MODAL           =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
6149 #  dans la doc U il y a plus de choix pour GRANDEUR
6150            GRANDEUR        =SIMP(statut='f',typ='TXM',defaut="DEPL_R",
6151                                  into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")),
6152            INTE_SPEC       =SIMP(statut='o',typ=tabl_intsp ),
6153            NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),
6154            OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG",) ),
6155 #  Toutes les regles ne semblent pas avoir été ecrites dans la doc U
6156            NUME_ORDRE_I    =SIMP(statut='f',typ='I',max='**'),
6157            NOEUD_I         =SIMP(statut='f',typ=no,max='**'),
6158            b_nume_ordre_i  =BLOC(condition = "NUME_ORDRE_I != None",
6159              NUME_ORDRE_J    =SIMP(statut='o',typ='I',max='**'),
6160            ),
6161            b_noeud_i       =BLOC(condition = "NOEUD_I != None",
6162              NOEUD_J         =SIMP(statut='o',typ=no,max='**'),
6163              NOM_CMP_I       =SIMP(statut='o',typ='TXM',max='**'),
6164              NOM_CMP_J       =SIMP(statut='o',typ='TXM',max='**'),
6165            ),
6166            CHAM_NO         =SIMP(statut='f',typ=cham_no),
6167            NOEUD           =SIMP(statut='f',typ=no,max='**'),
6168            b_noeud         =BLOC(condition = "NOEUD != None",
6169              NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),
6170            ),           
6171          ),
6172          REPONSE         =FACT(statut='f',min=01,max=01,
6173            regles=(EXCLUS('FREQ_MIN','NB_POIN_MODE'),
6174                    EXCLUS('FREQ_MIN','FREQ_EXCIT'),
6175                    ENSEMBLE('FREQ_MIN','FREQ_MAX'),),
6176 #  Toutes les regles ne semblent pas avoir été ecrites dans la doc U
6177            DERIVATION      =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ,) ),
6178            OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG") ),
6179            FREQ_MIN        =SIMP(statut='f',typ='R' ),
6180            FREQ_MAX        =SIMP(statut='f',typ='R' ),
6181            PAS             =SIMP(statut='f',typ='R' ),
6182            FREQ_EXCIT      =SIMP(statut='f',typ='TXM',defaut="AVEC",into=("AVEC","SANS") ),
6183            NB_POIN_MODE    =SIMP(statut='f',typ='I',defaut= 50 ),
6184          ),
6185          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
6186          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
6187 )  ;
6188 #& MODIF COMMANDE  DATE 08/03/2000   AUTEUR CIBHHPD P.DAVID 
6189 def dyna_line_harm_prod(MATR_MASS,**args):
6190   if AsType(MATR_MASS) == matr_asse_depl_r : return dyna_harmo
6191   if AsType(MATR_MASS) == matr_asse_depl_c : return dyna_harmo
6192   if AsType(MATR_MASS) == matr_asse_pres_c : return acou_harmo
6193   if AsType(MATR_MASS) == matr_asse_gene_r : return harm_gene
6194   raise AsException("type de concept resultat non prevu")
6195
6196 DYNA_LINE_HARM=OPER(nom="DYNA_LINE_HARM",op=  60,sd_prod=dyna_line_harm_prod,
6197                     fr="Réponse dynamique complexe d un système à une excitation harmonique",
6198                     docu="U4.53.11-E",reentrant='n',
6199          regles=(PRESENT_ABSENT('AMOR_REDUIT','MATR_AMOR'),
6200                  PRESENT_ABSENT('AMOR_REDUIT','LIST_AMOR'),
6201                  PRESENT_ABSENT('MATR_AMOR','LIST_AMOR'),
6202                  UN_PARMI('FREQ','LIST_FREQ'),),
6203          MODELE          =SIMP(statut='f',typ=modele ),
6204          CHAM_MATER      =SIMP(statut='f',typ=cham_mater ),
6205          CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
6206          MATR_MASS       =SIMP(statut='o',typ=(matr_asse_depl_r,
6207                                                matr_asse_pres_c,
6208                                                matr_asse_gene_r ) ),
6209          MATR_RIGI       =SIMP(statut='o',typ=(matr_asse_depl_r,
6210                                                matr_asse_depl_c,
6211                                                matr_asse_pres_c,
6212                                                matr_asse_gene_r,
6213                                                matr_asse_gene_c ) ),
6214          MATR_AMOR       =SIMP(statut='f',typ=(matr_asse_depl_r,
6215                                                matr_asse_pres_c,
6216                                                matr_asse_gene_r ) ),
6217          AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
6218          LIST_AMOR       =SIMP(statut='f',typ=listr8 ),
6219          MATR_IMPE_PHI   =SIMP(statut='f',typ=(matr_asse_depl_r,
6220                                                matr_asse_gene_r) ),
6221          FREQ            =SIMP(statut='f',typ='R',max='**'),
6222          LIST_FREQ       =SIMP(statut='f',typ=listr8 ),
6223          TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI",)),
6224          NOM_CHAM        =SIMP(statut='f',typ='TXM',max=03,into=("DEPL","VITE","ACCE") ),
6225          EXCIT           =FACT(statut='o',min=01,max='**',
6226            regles=(UN_PARMI('VECT_ASSE','CHARGE'),
6227                    UN_PARMI('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),),
6228            VECT_ASSE       =SIMP(statut='f',typ=(cham_no_depl_r,cham_no_pres_c,vect_asse_gene ) ),
6229            CHARGE          =SIMP(statut='f',typ=char_meca ),
6230            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
6231            FONC_MULT_C     =SIMP(statut='f',typ=fonction_c ),
6232            COEF_MULT_C     =SIMP(statut='f',typ='C' ),
6233            FONC_MULT       =SIMP(statut='f',typ=fonction ),
6234            COEF_MULT       =SIMP(statut='f',typ='R' ),
6235            PHAS_DEG        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6236            PUIS_PULS       =SIMP(statut='f',typ='I',defaut= 0 ),
6237          ),
6238          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
6239 )  ;
6240 #& MODIF COMMANDE  DATE 08/06/99   AUTEUR ACBHHCD G.DEVESA 
6241 DYNA_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op=  48,sd_prod=dyna_trans,
6242                     fr="Réponse temporelle d un système à une excitation transitoire",
6243                     docu="U4.53.02-F",reentrant='f',
6244          regles=(UN_PARMI('NEWMARK','WILSON','DIFF_CENTRE','ADAPT'),),
6245          MODELE          =SIMP(statut='f',typ=modele ),
6246          CHAM_MATER      =SIMP(statut='f',typ=cham_mater ),
6247          CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
6248          MATR_MASS       =SIMP(statut='o',typ=matr_asse_depl_r ),
6249          MATR_RIGI       =SIMP(statut='o',typ=matr_asse_depl_r ),
6250          MATR_AMOR       =SIMP(statut='f',typ=matr_asse_depl_r ),
6251          MODE_STAT       =SIMP(statut='f',typ=mode_stat ),
6252          NEWMARK         =FACT(statut='f',min=01,max=01,
6253            ALPHA           =SIMP(statut='f',typ='R',defaut= 0.25 ),
6254            DELTA           =SIMP(statut='f',typ='R',defaut= 0.5 ),
6255          ),
6256          WILSON          =FACT(statut='f',min=01,max=01,
6257            THETA           =SIMP(statut='f',typ='R',defaut= 1.4 ),
6258          ),
6259          DIFF_CENTRE     =FACT(statut='f',min=01,max=01,
6260          ),
6261          ADAPT           =FACT(statut='f',min=01,max=01,
6262          ),
6263          ETAT_INIT       =FACT(statut='f',min=01,max=01,
6264            regles=(EXCLUS('DYNA_TRANS','DEPL_INIT'),
6265                    EXCLUS('DYNA_TRANS','VITE_INIT'),),
6266            DYNA_TRANS      =SIMP(statut='f',typ=dyna_trans ),
6267 #  j ai interprete la doc U : est-ce bon           
6268            b_dyna_trans    =BLOC(condition = "DYNA_TRANS != None",
6269              regles=(EXCLUS('NUME_INIT','INST_INIT' ),),
6270              NUME_INIT       =SIMP(statut='f',typ='I' ),
6271              INST_INIT       =SIMP(statut='f',typ='R' ),
6272              b_inst_init     =BLOC(condition = "INST_INIT != None",
6273                PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
6274                CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
6275              ),
6276            ),
6277            DEPL_INIT       =SIMP(statut='f',typ=(cham_no_depl_r) ),
6278            VITE_INIT       =SIMP(statut='f',typ=(cham_no_depl_r) ),
6279          ),
6280          EXCIT           =FACT(statut='f',min=01,max='**',
6281            regles=(UN_PARMI('CHARGE','VECT_ASSE'),
6282                    EXCLUS('CHARGE','COEF_MULT'),
6283                    EXCLUS('FONC_MULT','COEF_MULT'),
6284                    EXCLUS('ACCE','COEF_MULT'),
6285                    PRESENT_ABSENT('ACCE','FONC_MULT'),
6286                    PRESENT_PRESENT('ACCE','VITE','DEPL'),
6287                    PRESENT_ABSENT('MULT_APPUI','FONC_MULT'),),
6288            VECT_ASSE       =SIMP(statut='f',typ=cham_no_depl_r ),
6289            CHARGE          =SIMP(statut='f',typ=char_meca ),
6290            FONC_MULT       =SIMP(statut='f',typ=fonction ),
6291            COEF_MULT       =SIMP(statut='f',typ='R' ),
6292            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
6293            ACCE            =SIMP(statut='f',typ=fonction ),
6294            VITE            =SIMP(statut='f',typ=fonction ),
6295            DEPL            =SIMP(statut='f',typ=fonction ),
6296            MULT_APPUI      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
6297            DIRECTION       =SIMP(statut='f',typ='R',max='**'),
6298            NOEUD           =SIMP(statut='f',typ=no,max='**'),
6299            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
6300          ),
6301          AMOR_MODAL      =FACT(statut='f',min=01,max=01,
6302            MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
6303            AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
6304            NB_MODE         =SIMP(statut='f',typ='I',defaut= 9999 ),
6305            REAC_VITE       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
6306          ),
6307 #  ce n est pas le mot clesolveur standard
6308          SOLVEUR         =FACT(statut='d',min=01,max=01,
6309            EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6310            NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
6311            STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
6312            RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
6313            NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
6314          ),
6315          INCREMENT       =FACT(statut='o',min=01,max='**',
6316            regles=(UN_PARMI('LIST_INST','FONC_INST','PAS'),),
6317            LIST_INST       =SIMP(statut='f',typ=listr8 ), 
6318            FONC_INST       =SIMP(statut='f',typ=fonction ),       
6319            PAS             =SIMP(statut='f',typ='R' ),
6320            b_pas           =BLOC(condition = "PAS != None",
6321                INST_INIT       =SIMP(statut='f',typ='R' ),
6322                INST_FIN        =SIMP(statut='f',typ='R' ),    
6323            ),
6324            b_list_fonc     =BLOC(condition = "LIST_INST != None or FONC_INST != None",
6325                regles=(EXCLUS('INST_FIN','NUME_FIN'),),
6326                NUME_FIN        =SIMP(statut='f',typ='I' ), 
6327                INST_FIN        =SIMP(statut='f',typ='R' ),   
6328            ),
6329            VITE_MIN        =SIMP(statut='f',typ='TXM',defaut="NORM",into=("MAXI","NORM") ),
6330            COEF_MULT_PAS   =SIMP(statut='f',typ='R',defaut= 1.1 ),
6331            COEF_DIVI_PAS   =SIMP(statut='f',typ='R',defaut= 1.33334 ),
6332            PAS_LIMI_RELA   =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
6333            NB_POIN_PERIODE =SIMP(statut='f',typ='I',defaut= 50 ),
6334            NMAX_ITER_PAS   =SIMP(statut='f',typ='I',defaut= 16 ),
6335            PAS_CALCUL      =SIMP(statut='f',typ='I',defaut= 1 ),
6336          ),
6337          ARCHIVAGE       =FACT(statut='f',min=01,max=01,
6338            regles=(UN_PARMI('LIST_ARCH','PAS_ARCH', ),),
6339            LIST_ARCH       =SIMP(statut='f',typ=listis ),
6340            PAS_ARCH        =SIMP(statut='f',typ='I' ),
6341            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',max='**',into=("DEPL","VITE","ACCE") ),
6342          ),
6343          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
6344          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
6345 )  ;
6346 #& MODIF COMMANDE  DATE 03/10/2000   AUTEUR VABHHTS J.PELLET 
6347 DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 95,sd_prod=evol_noli,reentrant='f',
6348                    fr="Analyse mécanique dynamique non linéaire",docu="U4.53.01-E",
6349          regles=(AU_MOINS_UN('COMP_INCR','COMP_ELAS',),
6350                  UN_PARMI('NEWMARK','HHT', ),),
6351          MODELE          =SIMP(statut='o',typ=modele),
6352          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
6353          MODE_STAT       =SIMP(statut='f',typ=mode_stat),
6354          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
6355
6356          EXCIT           =FACT(statut='o',min=01,max='**',
6357            regles=(PRESENT_ABSENT('FONC_MULT','ACCE'),
6358                    PRESENT_PRESENT('ACCE','VITE','DEPL'),
6359                    PRESENT_ABSENT('MULT_APPUI','FONC_MULT'),),
6360            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("SUIV","FIXE") ),
6361            CHARGE          =SIMP(statut='o',typ=char_meca),
6362            FONC_MULT       =SIMP(statut='f',typ=fonction),
6363            DEPL            =SIMP(statut='f',typ=fonction),
6364            ACCE            =SIMP(statut='f',typ=fonction),
6365            VITE            =SIMP(statut='f',typ=fonction),
6366            MULT_APPUI      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
6367            DIRECTION       =SIMP(statut='f',typ='R',max='**'),  
6368            NOEUD           =SIMP(statut='f',typ=no,max='**'),
6369            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
6370          ),
6371          AMOR_MODAL      =FACT(statut='f',min=01,max=01,
6372            MODE_MECA       =SIMP(statut='f',typ=mode_meca),
6373            AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**' ),  
6374            NB_MODE         =SIMP(statut='f',typ='I',defaut= 9999 ),  
6375            REAC_VITE       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
6376          ),
6377          COMP_INCR       =FACT(statut='f',min=01,max='**',
6378            RELATION        =SIMP(statut='o',typ='TXM',defaut="VMIS_ISOT_LINE",    
6379                                  into=("ELAS","VMIS_ISOT_TRAC","VMIS_ISOT_LINE","VMIS_ISOT_META",
6380                                        "VMIS_ECMI_TRAC","VMIS_ECMI_LINE","ENDO_FRAGILE","META_EP",       
6381                                        "META_EP_PT","META_EP_RE","META_EP_PT_RE","META_EVP",
6382                                        "META_EVP_PT","META_EVP_RE","META_EVP_PT_RE","VMIS_CINE_LINE",
6383                                        "TAHERI","VISC_TAHERI","CHABOCHE","VISCOCHAB",
6384                                        "VMIS_CIN1_CHAB","VMIS_CIN2_CHAB","POLY_CFC", 
6385                                        "LMARC","ROUSSELIER","VMIS_POU_LINE","VMIS_POU_FLEJOU",
6386                                        "COULOMB","ARME","ASSE_CORN","NORTON_HOFF","LEMAITRE",
6387                                        "ZIRC_CYRA2","ZIRC_EPRI","ASSE_COMBU","VENDOCHAB","NADAI_B",  
6388                                        "DIS_CONTACT","DIS_CHOC","DIS_GOUJ2E_PLAS","DIS_GOUJ2E_ELAS",
6389                                        "GRILLE_ISOT_LINE","GRILLE_CINE_LINE","GRILLE_PINTO_MEN",           
6390                                        "PINTO_MENEGOTTO","CJS","OHNO","GRANGER_FP","GRANGER_FP_V",
6391                                        "BETON_DOUBLE_DP","VMIS_ASYM_LINE") ),
6392            ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,) ),
6393            VMIS_ISOT_TRAC  =SIMP(statut='c',typ='I',defaut=2,into=(2,) ),
6394            VMIS_ISOT_LINE  =SIMP(statut='c',typ='I',defaut=2,into=(2,) ),
6395            VMIS_ISOT_META  =SIMP(statut='c',typ='I',defaut=2,into=(2,) ),
6396            VMIS_CINE_LINE  =SIMP(statut='c',typ='I',defaut=7,into=(7,) ),
6397            VMIS_ECMI_TRAC  =SIMP(statut='c',typ='I',defaut=8,into=(8,) ),
6398            VMIS_ECMI_LINE  =SIMP(statut='c',typ='I',defaut=8,into=(8,) ),
6399            ENDO_FRAGILE    =SIMP(statut='c',typ='I',defaut=4,into=(4,) ),
6400            META_EP         =SIMP(statut='c',typ='I',defaut=7,into=(7,) ),
6401            META_EP_PT      =SIMP(statut='c',typ='I',defaut=7,into=(7,) ),
6402            META_EP_RE      =SIMP(statut='c',typ='I',defaut=7,into=(7,) ),
6403            META_EP_PT_RE   =SIMP(statut='c',typ='I',defaut=7,into=(7,) ),
6404            META_EVP        =SIMP(statut='c',typ='I',defaut=7,into=(7,) ),
6405            META_EVP_PT     =SIMP(statut='c',typ='I',defaut=7,into=(7,) ),
6406            META_EVP_RE     =SIMP(statut='c',typ='I',defaut=7,into=(7,) ),
6407            META_EVP_PT_RE  =SIMP(statut='c',typ='I',defaut=7,into=(7,) ),
6408            CHABOCHE        =SIMP(statut='c',typ='I',defaut=14,into=(14,) ),
6409            VISCOCHAB       =SIMP(statut='c',typ='I',defaut=28,into=(28,) ),
6410            VMIS_CIN1_CHAB  =SIMP(statut='c',typ='I',defaut=8,into=(8,) ),
6411            VMIS_CIN2_CHAB  =SIMP(statut='c',typ='I',defaut=14,into=(14,) ),
6412            POLY_CFC        =SIMP(statut='c',typ='I',defaut=1688,into=(1688,) ),
6413            LMARC           =SIMP(statut='c',typ='I',defaut=20,into=(20,) ),
6414            TAHERI          =SIMP(statut='c',typ='I',defaut=15,into=(15,) ),
6415            VISC_TAHERI     =SIMP(statut='c',typ='I',defaut=9,into=(9,) ),
6416            ROUSSELIER      =SIMP(statut='c',typ='I',defaut=3,into=(3,) ),
6417            VMIS_POU_LINE   =SIMP(statut='c',typ='I',defaut=9,into=(9,) ),
6418            VMIS_POU_FLEJOU =SIMP(statut='c',typ='I',defaut=9,into=(9,) ),
6419            COULOMB         =SIMP(statut='c',typ='I',defaut=4,into=(4,) ),
6420            ASSE_CORN       =SIMP(statut='c',typ='I',defaut=4,into=(4,) ),
6421            ARME            =SIMP(statut='c',typ='I',defaut=1,into=(1,) ),
6422            NORTON_HOFF     =SIMP(statut='c',typ='I',defaut=1,into=(1,) ),
6423            LEMAITRE        =SIMP(statut='c',typ='I',defaut=2,into=(2,) ),
6424            ZIRC_CYRA2      =SIMP(statut='c',typ='I',defaut=2,into=(2,) ),
6425            ZIRC_EPRI       =SIMP(statut='c',typ='I',defaut=2,into=(2,) ),
6426            ASSE_COMBU      =SIMP(statut='c',typ='I',defaut=5,into=(5,) ),
6427            NADAI_B         =SIMP(statut='c',typ='I',defaut=34,into=(34,) ),
6428            VENDOCHAB       =SIMP(statut='c',typ='I',defaut=10,into=(10,) ),
6429            GRILLE_ISOT_LINE=SIMP(statut='c',typ='I',defaut=4,into=(4,) ),
6430            GRILLE_CINE_LINE=SIMP(statut='c',typ='I',defaut=4,into=(4,) ),
6431            GRILLE_PINTO_MEN=SIMP(statut='c',typ='I',defaut=16,into=(16,) ),
6432            DIS_CONTACT     =SIMP(statut='c',typ='I',defaut=6,into=(6,) ),
6433            DIS_CHOC        =SIMP(statut='c',typ='I',defaut=7,into=(7,) ),
6434            DIS_GOUJ2E_PLAS =SIMP(statut='c',typ='I',defaut=2,into=(2,) ),
6435            DIS_GOUJ2E_ELAS =SIMP(statut='c',typ='I',defaut=1,into=(1,) ),
6436            PINTO_MENEGOTTO =SIMP(statut='c',typ='I',defaut=8,into=(8,) ),
6437            CJS             =SIMP(statut='c',typ='I',defaut=16,into=(16,) ),
6438            OHNO            =SIMP(statut='c',typ='I',defaut=32,into=(32,) ),
6439            GRANGER_FP      =SIMP(statut='c',typ='I',defaut=55,into=(55,) ),
6440            GRANGER_FP_V    =SIMP(statut='c',typ='I',defaut=55,into=(55,) ),
6441            BETON_DOUBLE_DP =SIMP(statut='c',typ='I',defaut=4,into=(4,) ),
6442            VMIS_ASYM_LINE  =SIMP(statut='c',typ='I',defaut=4,into=(4,) ),
6443 #
6444            COQUE_NCOU      =SIMP(statut='f',typ='I'),  
6445            TUYAU_NCOU      =SIMP(statut='f',typ='I'),  
6446            TUYAU_NSEC      =SIMP(statut='f',typ='I'),  
6447            DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","PETIT_REAC",) ),
6448            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6449            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
6450            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
6451          ),
6452          COMP_ELAS       =FACT(statut='f',min=01,max='**',
6453            RELATION        =SIMP(statut='o',typ='TXM',defaut="ELAS",    
6454                                  into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC","ELAS_POUTRE_GR","CABLE") ),
6455            ELAS            =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
6456            ELAS_VMIS_TRAC  =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
6457            ELAS_VMIS_LINE  =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
6458            ELAS_POUTRE_GR  =SIMP(statut='f',typ='I',defaut=3,into=(3,) ),
6459            CABLE           =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
6460 #
6461            COQUE_NCOU      =SIMP(statut='f',typ='I'),  
6462            TUYAU_NCOU      =SIMP(statut='f',typ='I'),  
6463            TUYAU_NSEC      =SIMP(statut='f',typ='I'),  
6464            DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","GREEN","GREEN_GR") ),
6465            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6466            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
6467            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
6468          ),
6469          ETAT_INIT       =FACT(statut='f',min=01,max=01,
6470            regles=(EXCLUS('EVOL_NOLI','DEPL_INIT',),
6471                    EXCLUS('EVOL_NOLI','VITE_INIT', ),),
6472            INST_INIT       =SIMP(statut='f',typ='R' ),  
6473            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
6474            DEPL_INIT       =SIMP(statut='f',typ=cham_no_depl_r),
6475            VITE_INIT       =SIMP(statut='f',typ=cham_no_depl_r),
6476          ),
6477          INCREMENT       =FACT(statut='o',min=01,max=01,
6478            LIST_INST       =SIMP(statut='o',typ=listr8),
6479            INST_INIT       =SIMP(statut='f',typ='R'),  
6480          ),
6481          NEWMARK         =FACT(statut='f',min=01,max=01,
6482            ALPHA           =SIMP(statut='f',typ='R',defaut= 0.25),  
6483            DELTA           =SIMP(statut='f',typ='R',defaut= 0.5),  
6484          ),
6485          HHT             =FACT(statut='f',min=01,max=01,
6486            ALPHA           =SIMP(statut='f',typ='R'     
6487                                 ,defaut= -0.29999999999999999 ),  
6488          ),
6489          NEWTON          =FACT(statut='d',min=01,max=01,
6490            REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),  
6491            PREDICTION      =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE") ),
6492            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
6493            REAC_ITER       =SIMP(statut='f',typ='I',defaut= 0),  
6494          ),
6495          SOLVEUR         =FACT(statut='d',min=01,max=01,
6496            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
6497            b_mult_front    =BLOC(condition= "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
6498              RENUM           =SIMP(statut='f',typ='TXM',defaut="MDA",into=("MD","MDA","METIS") ),
6499            ),
6500            b_ldlt          =BLOC(condition= "METHODE == 'LDLT'",fr="Paramètres de la méthode LDLT",
6501              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
6502              TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400. ),
6503            ),
6504            b_ldlt_mult     =BLOC(condition="METHODE == 'LDLT' or METHODE == 'MULT_FRONT'",
6505                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
6506              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
6507              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),             
6508            ),
6509            b_gcpc          =BLOC(condition="METHODE == 'GCPC'",fr="Paramètres de la méthode du gradient conjugué",
6510              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC","SANS","DIAG") ),
6511              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut=0),
6512              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
6513              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
6514              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
6515            ),
6516            EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6517            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
6518          ),
6519          CONVERGENCE     =FACT(statut='d',min=01,max=01,
6520            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),  
6521            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),  
6522            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),  
6523            INCO_GLOB_RELA  =SIMP(statut='f',typ='R'),  
6524            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),  
6525            RESI_INTE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-6),  
6526            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10),  
6527            TYPE_MATR_COMP  =SIMP(statut='f',typ='TXM',defaut="TANG_VIT",into=("TANG_VIT","TANG_INC") ),
6528            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
6529                                  into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE") ),
6530          ),
6531          OPTION          =SIMP(statut='f',typ='TXM',max='**',defaut="ELNO",    
6532                                into=("SIEF_ELNO_ELGA","VARI_ELNO_ELGA","EFGE_ELNO_CART","ELNO","SANS") ),
6533          ARCHIVAGE       =FACT(statut='f',min=01,max=01,
6534            regles=(UN_PARMI('LIST_ARCH','PAS_ARCH','LIST_INST','INST', ),),
6535            LIST_ARCH       =SIMP(statut='f',typ=(listis) ),
6536            LIST_INST       =SIMP(statut='f',typ=(listr8) ),
6537            INST            =SIMP(statut='f',typ='R',max='**' ),  
6538            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),  
6539            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
6540            PAS_ARCH        =SIMP(statut='f',typ='I'),  
6541            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',max='**',into=("DEPL","VITE","ACCE") ),
6542          ),
6543          OBSERVATION     =FACT(statut='f',min=01,max='**',
6544            regles=(UN_PARMI('NOEUD','GROUP_NO','MAILLE'),
6545                    PRESENT_PRESENT('MAILLE','POINT'),),
6546            NOM_CHAM        =SIMP(statut='o',typ='TXM',max='**',
6547                                  into=("DEPL","VITE","ACCE","SIEF_ELGA","VARI_ELGA") ),
6548            NOM_CMP         =SIMP(statut='o',typ='TXM',max='**' ),  
6549            LIST_ARCH       =SIMP(statut='f',typ=listis),
6550            LIST_INST       =SIMP(statut='f',typ=listr8),
6551            INST            =SIMP(statut='f',typ='R',max='**' ),  
6552            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),  
6553            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
6554            PAS_OBSE        =SIMP(statut='f',typ='I'),  
6555            NOEUD           =SIMP(statut='f',typ=no,max='**'),
6556            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
6557            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
6558            POINT           =SIMP(statut='f',typ='I',max='**'),  
6559          ),
6560          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
6561          TITRE           =SIMP(statut='f',typ='TXM',max='**'),  
6562 )  ;
6563 #& MODIF COMMANDE  DATE 16/12/97   AUTEUR CIBHHLV L.VIVAN 
6564 DYNA_SPEC_MODAL=OPER(nom="DYNA_SPEC_MODAL",op= 147,sd_prod=tabl_intsp,
6565                      fr="Calcul de la réponse par recombinaison modale d'une structure linéaire pour une excitation aléatoire",
6566                      docu="U4.53.23-C",reentrant='n',
6567          BASE_ELAS_FLUI  =SIMP(statut='o',typ=melasflu ),
6568          EXCIT           =FACT(statut='o',min=00,max=01,
6569            INTE_SPEC_GENE  =SIMP(statut='o',typ=tabl_intsp ),
6570          ),
6571          OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG") ),
6572          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
6573 )  ;
6574 #& MODIF COMMANDE  DATE 29/08/2000   AUTEUR ACBHHCD G.DEVESA 
6575 DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op=  74,sd_prod=tran_gene,
6576                      fr="Réponse dynamique transitoire en coordonnées généralisées par recombinaison modale",
6577                      docu="U4.53.21-E",reentrant='f',
6578       regles=(EXCLUS('AMOR_REDUIT','AMOR_GENE','LIST_AMOR'), 
6579               PRESENT_ABSENT('MODE_STAT','MODE_CORR'),),
6580          METHODE         =SIMP(statut='f',typ='TXM',defaut="EULER",
6581                                into=("EULER","NEWMARK","DEVOGE","ADAPT","ITMI") ),
6582          MASS_GENE       =SIMP(statut='o',typ=matr_asse_gene_r ),
6583          RIGI_GENE       =SIMP(statut='o',typ=matr_asse_gene_r ),
6584          AMOR_GENE       =SIMP(statut='f',typ=matr_asse_gene_r ),
6585          AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
6586          LIST_AMOR       =SIMP(statut='f',typ=listr8 ),
6587          MODE_STAT       =SIMP(statut='f',typ=mode_stat ),
6588          MODE_CORR       =SIMP(statut='f',typ=mult_elas ),
6589          
6590          ETAT_INIT       =FACT(statut='f',min=01,max=01,
6591            regles=(EXCLUS('RESU_GENE','DEPL_INIT_GENE'),
6592                    EXCLUS('RESU_GENE','VITE_INIT_GENE'),),
6593            RESU_GENE       =SIMP(statut='f',typ=tran_gene ),
6594            b_resu_gene     =BLOC(condition = "RESU_GENE != None",
6595              INST_INIT       =SIMP(statut='f',typ='R' ),
6596              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
6597              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
6598            ),
6599            DEPL_INIT_GENE  =SIMP(statut='f',typ=vect_asse_gene ),
6600            VITE_INIT_GENE  =SIMP(statut='f',typ=vect_asse_gene ),
6601          ),
6602          INCREMENT       =FACT(statut='o',min=01,max='**',
6603            INST_INIT       =SIMP(statut='f',typ='R' ),
6604            INST_FIN        =SIMP(statut='o',typ='R' ),
6605            PAS             =SIMP(statut='f',typ='R' ),
6606            VERI_PAS        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
6607            VITE_MIN        =SIMP(statut='f',typ='TXM',defaut="NORM",into=("MAXI","NORM") ),
6608            COEF_MULT_PAS   =SIMP(statut='f',typ='R',defaut= 1.1 ),
6609            COEF_DIVI_PAS   =SIMP(statut='f',typ='R',defaut= 1.3333334 ),
6610            PAS_LIMI_RELA   =SIMP(statut='f',typ='R',defaut= 1.0E-6 ),
6611            NB_POIN_PERIODE =SIMP(statut='f',typ='I',defaut= 50 ),
6612            NMAX_ITER_PAS   =SIMP(statut='f',typ='I',defaut= 16 ),
6613          ),
6614          ARCHIVAGE       =FACT(statut='f',min=01,max=01,
6615            regles=(UN_PARMI('LIST_ARCH','PAS_ARCH'),),
6616            LIST_ARCH       =SIMP(statut='f',typ=listis ),
6617            PAS_ARCH        =SIMP(statut='f',typ='I' ),
6618          ),
6619          
6620          NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 20 ),
6621          RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
6622          LAMBDA          =SIMP(statut='f',typ='R',defaut= 10. ),
6623          
6624          EXCIT           =FACT(statut='f',min=01,max='**',
6625            regles=(UN_PARMI('FONC_MULT','COEF_MULT','ACCE'),
6626                    PRESENT_PRESENT('ACCE','VITE','DEPL'),
6627                    PRESENT_PRESENT('D_FONC_DT','D_FONC_DT2'),
6628                    PRESENT_ABSENT('NUME_MODE','VECT_GENE','COEF_MULT'),
6629                    PRESENT_ABSENT('MULT_APPUI','CORR_STAT'),
6630                    PRESENT_ABSENT('MULT_APPUI','COEF_MULT'),
6631                    PRESENT_ABSENT('MULT_APPUI','FONC_MULT'),),
6632            VECT_GENE       =SIMP(statut='f',typ=vect_asse_gene ),
6633            NUME_MODE       =SIMP(statut='f',typ='I' ),
6634            FONC_MULT       =SIMP(statut='f',typ=fonction ),
6635            COEF_MULT       =SIMP(statut='f',typ='R' ),
6636            ACCE            =SIMP(statut='f',typ=fonction ),
6637            VITE            =SIMP(statut='f',typ=fonction ),
6638            DEPL            =SIMP(statut='f',typ=fonction ),
6639            MULT_APPUI      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
6640            DIRECTION       =SIMP(statut='f',typ='R',max='**'),
6641            b_loca          =BLOC(condition= "DIRECTION != None",
6642              regles=(EXCLUS('NOEUD','GROUP_NO'),),
6643              NOEUD           =SIMP(statut='f',typ=no,max='**'),
6644              GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
6645            ),
6646            CORR_STAT       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
6647            D_FONC_DT       =SIMP(statut='f',typ=fonction ),
6648            D_FONC_DT2      =SIMP(statut='f',typ=fonction ),
6649          ),
6650          CHOC            =FACT(statut='f',min=01,max='**',
6651            regles=(UN_PARMI('NOEUD_1','GROUP_NO_1' ),
6652                    PRESENT_ABSENT('NOEUD_1','GROUP_NO_1'),
6653                    PRESENT_ABSENT('NOEUD_2','GROUP_NO_2'),),
6654            INTITULE        =SIMP(statut='f',typ='TXM' ),
6655            NOEUD_1         =SIMP(statut='f',typ=no),
6656            NOEUD_2         =SIMP(statut='f',typ=no),
6657            GROUP_NO_1      =SIMP(statut='f',typ=grno),
6658            GROUP_NO_2      =SIMP(statut='f',typ=grno),
6659            OBSTACLE        =SIMP(statut='o',typ=obstacle ),
6660            ORIG_OBST       =SIMP(statut='f',typ='R',max='**'),
6661            NORM_OBST       =SIMP(statut='o',typ='R',max='**'),
6662            ANGL_VRIL       =SIMP(statut='f',typ='R' ),
6663            JEU             =SIMP(statut='f',typ='R',defaut= 1. ),
6664            DIST_1          =SIMP(statut='f',typ='R' ),
6665            DIST_2          =SIMP(statut='f',typ='R' ),
6666            SOUS_STRUC_1    =SIMP(statut='f',typ='TXM' ),
6667            SOUS_STRUC_2    =SIMP(statut='f',typ='TXM' ),
6668            REPERE          =SIMP(statut='f',typ='TXM',defaut="GLOBAL"),
6669            RIGI_NOR        =SIMP(statut='f',typ='R' ),
6670            AMOR_NOR        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6671            RIGI_TAN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6672            AMOR_TAN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6673            COULOMB         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6674
6675            LAME_FLUIDE     =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
6676            b_lame          =BLOC(condition="LAME_FLUIDE=='OUI'",
6677                ALPHA           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6678                BETA            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6679                CHI             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6680                DELTA           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6681            ),
6682          ),
6683          VERI_CHOC       =FACT(statut='f',min=01,max='**',
6684            STOP_CRITERE    =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
6685            SEUIL           =SIMP(statut='f',typ='R',defaut= 0.5 ),
6686          ),
6687          FLAMBAGE        =FACT(statut='f',min=01,max='**',
6688            regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'),
6689                    PRESENT_ABSENT('NOEUD_1','GROUP_NO_1'),
6690                    PRESENT_ABSENT('NOEUD_2','GROUP_NO_2'),),
6691            NOEUD_1         =SIMP(statut='f',typ=no),
6692            NOEUD_2         =SIMP(statut='f',typ=no),
6693            GROUP_NO_1      =SIMP(statut='f',typ=grno),
6694            GROUP_NO_2      =SIMP(statut='f',typ=grno),
6695            OBSTACLE        =SIMP(statut='o',typ=obstacle ),
6696            ORIG_OBST       =SIMP(statut='f',typ='R',max='**'),
6697            NORM_OBST       =SIMP(statut='o',typ='R',max='**'),
6698            ANGL_VRIL       =SIMP(statut='f',typ='R' ),
6699            JEU             =SIMP(statut='f',typ='R',defaut= 1. ),
6700            DIST_1          =SIMP(statut='f',typ='R' ),
6701            DIST_2          =SIMP(statut='f',typ='R' ),
6702            REPERE          =SIMP(statut='f',typ='TXM',defaut="GLOBAL"),
6703            RIGI_NOR        =SIMP(statut='f',typ='R' ),
6704            FNOR_CRIT       =SIMP(statut='f',typ='R' ),
6705            FNOR_POST_FL    =SIMP(statut='f',typ='R' ),
6706            RIGI_NOR_POST_FL=SIMP(statut='f',typ='R' ),
6707          ),
6708          ANTI_SISM       =FACT(statut='f',min=01,max='**',
6709            regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'),
6710                    UN_PARMI('NOEUD_2','GROUP_NO_2'),
6711                    PRESENT_ABSENT('NOEUD_1','GROUP_NO_1'),
6712                    PRESENT_ABSENT('NOEUD_2','GROUP_NO_2'),),
6713            NOEUD_1         =SIMP(statut='f',typ=no),
6714            NOEUD_2         =SIMP(statut='f',typ=no),
6715            GROUP_NO_1      =SIMP(statut='f',typ=grno),
6716            GROUP_NO_2      =SIMP(statut='f',typ=grno),
6717            RIGI_K1         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6718            RIGI_K2         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6719            SEUIL_FX        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6720            C               =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6721            PUIS_ALPHA      =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6722            DX_MAX          =SIMP(statut='f',typ='R',defaut= 1. ),
6723          ),
6724          RELA_EFFO_DEPL  =FACT(statut='f',min=01,max='**',
6725            NOEUD           =SIMP(statut='o',typ=no),
6726            SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),
6727            NOM_CMP         =SIMP(statut='f',typ='TXM' ),
6728            RELATION        =SIMP(statut='o',typ=fonction ),
6729          ),
6730          RELA_TRANSIS    =FACT(statut='f',min=01,max='**',
6731            NOEUD           =SIMP(statut='o',typ=no),
6732            SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),
6733            NOM_CMP         =SIMP(statut='f',typ='TXM' ),
6734            RELATION        =SIMP(statut='o',typ=fonction ),
6735          ),
6736          RELA_EFFO_VITE  =FACT(statut='f',min=01,max='**',
6737            NOEUD           =SIMP(statut='o',typ=no),
6738            SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),
6739            NOM_CMP         =SIMP(statut='f',typ='TXM' ),
6740            RELATION        =SIMP(statut='o',typ=fonction ),
6741          ),
6742          b_itmi          =BLOC(condition = "METHODE=='ITMI'",
6743                 regles=(ENSEMBLE('BASE_ELAS_FLUI','NUME_VITE_FLUI'),),
6744                 BASE_ELAS_FLUI  =SIMP(statut='f',typ=melasflu ),
6745                 NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),
6746                 ETAT_STAT       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
6747                 PREC_DUREE      =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
6748                 CHOC_FLUI       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
6749                 NB_MODE         =SIMP(statut='f',typ='I' ),
6750                 NB_MODE_FLUI    =SIMP(statut='f',typ='I' ),
6751                 NB_MODE_DIAG    =SIMP(statut='f',typ='I' ),
6752                 TS_REG_ETAB     =SIMP(statut='f',typ='R' ),
6753          ),
6754          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
6755          IMPRESSION      =FACT(statut='f',min=01,max='**',
6756            regles=(EXCLUS('TOUT','NIVEAU'),),
6757            TOUT            =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
6758            NIVEAU          =SIMP(statut='f',typ='TXM',into=("DEPL_LOC","VITE_LOC","FORC_LOC","TAUX_CHOC") ),
6759            INST_INIT       =SIMP(statut='f',typ='R' ),
6760            INST_FIN        =SIMP(statut='f',typ='R' ),
6761          ),
6762          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
6763  )  ;
6764 #& MODIF COMMANDE  DATE 30/09/97   AUTEUR VABHHTS J.PELLET 
6765 ENGENDRE_TEST=PROC(nom="ENGENDRE_TEST",op=178,docu="U4.92.11-B",
6766                    fr="Ecriture dans le fichier RESULTAT des lignes que l'on peut insérer dans la commande TEST_RESU pour tester la non-régression du contenu des objets JEVEUX composant les concepts créés au cours d'une exécution",
6767       regles=(UN_PARMI('TOUT','CO'),),
6768          FICHIER         =SIMP(statut='f',typ='TXM',defaut="RESULTAT"),
6769          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6770          CO              =SIMP(statut='f',typ=assd,max='**'),
6771          TYPE_TEST       =SIMP(statut='f',typ='TXM',defaut="SOMME",into=("SOMME","RESUME") ),
6772          FORMAT_R        =SIMP(statut='f',typ='TXM',defaut="1PE12.5"),
6773          PREC_R          =SIMP(statut='f',typ='TXM',defaut="1.E-5"),
6774 )  ;
6775 #& MODIF COMMANDE  DATE 17/06/98   AUTEUR D6BHHJP J.P.LEFEBVRE 
6776 EXEC_LOGICIEL=PROC(nom="EXEC_LOGICIEL",op= 183,fr="",docu="U7.00.01-A",
6777          LOGICIEL        =SIMP(statut='f',typ='TXM' ),  
6778          ARGUMENT        =FACT(statut='f',min=01,max='**',
6779            NOM_PARA        =SIMP(statut='f',typ='TXM' ),  
6780          ),
6781 )  ;
6782 #& MODIF COMMANDE  DATE 02/04/96   AUTEUR ACBHHCD G.DEVESA 
6783 #def extr_mode_prod(FILTRE_MODE,TITRE,IMPRESSION ):
6784 #  Sait-on faire  
6785 def extr_mode_prod(FILTRE_MODE,**args):
6786   vale=FILTRE_MODE[0]['MODE']
6787   if AsType(vale) == mode_meca   : return mode_meca
6788   if AsType(vale) == mode_meca_c : return mode_meca_c
6789   if AsType(vale) == mode_gene   : return mode_gene
6790   raise AsException("type de concept resultat non prevu")
6791
6792 EXTR_MODE=OPER(nom="EXTR_MODE",op= 168,sd_prod=extr_mode_prod,
6793                fr="Extraction dans une structure de données de type mode_meca_* ou mode_gene des modes qui vérifient un certain critère et concaténation de plusieurs structures de données de même type",
6794                docu="U4.52.12-C",reentrant='n',
6795          FILTRE_MODE     =FACT(statut='o',min=01,max='**',
6796            regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','NUME_MODE','NUME_MODE_EXCLU','FREQ_MIN','CRIT_EXTR',),),
6797            MODE            =SIMP(statut='o',typ=(mode_meca,mode_meca_c,mode_gene ) ),
6798            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
6799            NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),
6800            NUME_MODE       =SIMP(statut='f',typ='I',max='**'),
6801            NUME_MODE_EXCLU =SIMP(statut='f',typ='I',max='**'),
6802            FREQ_MIN        =SIMP(statut='f',typ='R' ),
6803            CRIT_EXTR       =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN"
6804                                   ,into=("MASS_EFFE_UN","MASS_GENE") ),
6805            b_freq_min      =BLOC(condition = "FREQ_MIN != None",  
6806              FREQ_MAX        =SIMP(statut='o',typ='R' ),
6807              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
6808            ),
6809            b_crit_extr     =BLOC(condition = "CRIT_EXTR != None",
6810              SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
6811            ),    
6812          ),
6813          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
6814          IMPRESSION      =FACT(statut='f',min=01,max=01,
6815            CUMUL           =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
6816            CRIT_EXTR       =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",into=("MASS_EFFE_UN","MASS_GENE") ),
6817          ),
6818 )  ;
6819 #& MODIF COMMANDE  DATE 03/05/2000   AUTEUR CIBHHLV L.VIVAN 
6820 def extr_resu_prod(RESULTAT,**args):
6821   if AsType(RESULTAT) == evol_elas    : return evol_elas
6822   if AsType(RESULTAT) == evol_noli    : return evol_noli
6823   if AsType(RESULTAT) == evol_ther    : return evol_ther
6824   if AsType(RESULTAT) == dyna_trans   : return dyna_trans
6825   if AsType(RESULTAT) == dyna_harmo   : return dyna_harmo
6826   if AsType(RESULTAT) == acou_harmo   : return acou_harmo
6827   if AsType(RESULTAT) == mode_meca    : return mode_meca
6828   if AsType(RESULTAT) == mode_acou    : return mode_acou
6829   if AsType(RESULTAT) == mode_stat    : return mode_stat
6830   if AsType(RESULTAT) == mult_elas    : return mult_elas
6831   if AsType(RESULTAT) == fourier_elas : return fourier_elas
6832   raise AsException("type de concept resultat non prevu")
6833
6834 EXTR_RESU=OPER(nom="EXTR_RESU",op=176,sd_prod=extr_resu_prod,docu="U4.71.04-B",reentrant='f',
6835                fr="Extraction de champs pour des numéros d ordre donnés et réduction de l encombrement d une Structure de Données de type resultat",
6836          RESULTAT        =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,acou_harmo,mode_meca,          
6837                                                mode_acou,mode_stat,evol_ther,evol_noli,   
6838                                                mult_elas,fourier_elas ) ),
6839          ARCHIVAGE       =FACT(statut='f',min=01,max=01,
6840            regles=(UN_PARMI('LIST_ARCH','PAS_ARCH'),),
6841            LIST_ARCH       =SIMP(statut='f',typ=listis),
6842            PAS_ARCH        =SIMP(statut='f',typ='I'),  
6843            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',max='**',into=("VARI",) ),
6844          ),
6845          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
6846 )  ;
6847 #& MODIF COMMANDE  DATE 03/05/2000   AUTEUR VABHHTS J.PELLET 
6848 def fact_grad_prod(MATR_ASSE,**args):
6849   if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_depl_r
6850   if AsType(MATR_ASSE) == matr_asse_temp_r : return matr_asse_temp_r
6851   if AsType(MATR_ASSE) == matr_asse_pres_r : return matr_asse_pres_r
6852   raise AsException("type de concept resultat non prevu")
6853
6854 FACT_GRAD=OPER(nom="FACT_GRAD",op=85,sd_prod=fact_grad_prod,docu="U4.55.03-E",
6855                fr="Préconditionnement pour résolution par gradient conjugué",
6856                reentrant='n',
6857          MATR_ASSE       =SIMP(statut='o',
6858                                typ=(matr_asse_depl_r,matr_asse_temp_r,
6859                                     matr_asse_pres_r) ),
6860          PRE_COND        =SIMP(statut='f',typ='TXM',defaut="LDLT_INC",into=("LDLT_INC",) ),
6861          NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),  
6862          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
6863 )  ;
6864 #& MODIF COMMANDE  DATE 16/12/97   AUTEUR CIBHHLV L.VIVAN 
6865 FACT_INTE_SPEC=OPER(nom="FACT_INTE_SPEC",op= 117,sd_prod=interspfact,
6866                     fr="Factorisation d une matrice interspectrale hermitienne",
6867                     docu="U4.36.04-E",reentrant='n',
6868          regles=(ENSEMBLE('FREQ_FIN','NB_POIN'),),
6869 #  regle non indiquée dans la doc U         
6870          INTE_SPEC       =SIMP(statut='o',typ=tabl_intsp ),
6871          NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),
6872          FREQ_INIT       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6873          FREQ_FIN        =SIMP(statut='f',typ='R' ),
6874          NB_POIN         =SIMP(statut='f',typ='I',defaut= 0 ),
6875          SUR_ECHAN       =SIMP(statut='f',typ='R',defaut= 1. ),
6876          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
6877 )  ;
6878 #& MODIF COMMANDE  DATE 25/11/97   AUTEUR VABHHTS J.PELLET 
6879 def fact_ldlt_prod(MATR_ASSE,**args):
6880   if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_depl_r
6881   if AsType(MATR_ASSE) == matr_asse_depl_c : return matr_asse_depl_c
6882   if AsType(MATR_ASSE) == matr_asse_temp_r : return matr_asse_temp_r
6883   if AsType(MATR_ASSE) == matr_asse_temp_c : return matr_asse_temp_c
6884   if AsType(MATR_ASSE) == matr_asse_pres_r : return matr_asse_pres_r
6885   if AsType(MATR_ASSE) == matr_asse_pres_c : return matr_asse_pres_c
6886   raise AsException("type de concept resultat non prevu")
6887
6888 FACT_LDLT=OPER(nom="FACT_LDLT",op=14,sd_prod=fact_ldlt_prod,fr="Factorisation en place ou hors place",
6889                docu="U4.55.01-F",reentrant='f',
6890          regles=(EXCLUS('BLOC_DEBUT','DDL_DEBUT'),
6891                  EXCLUS('BLOC_FIN','DDL_FIN'),),
6892          MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,
6893                                                matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ),
6894          STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
6895          NPREC           =SIMP(statut='f',typ='I',defaut=8),
6896          PRE_COND        =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","DIAG") ),
6897          BLOC_DEBUT      =SIMP(statut='f',typ='I'),
6898          DDL_DEBUT       =SIMP(statut='f',typ='I'),
6899          BLOC_FIN        =SIMP(statut='f',typ='I'),
6900          DDL_FIN         =SIMP(statut='f',typ='I'),
6901 #
6902          EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6903
6904          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
6905          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
6906 )  ;
6907 #& MODIF COMMANDE  DATE 23/02/99   AUTEUR D6BHHJP J.P.LEFEBVRE 
6908 # NEW 5.3.23
6909 FERMER=PROC(nom="FERMER",op=  10,fr=" ",
6910             docu="U4.12.02-A",
6911          UNITE           =SIMP(statut='o',typ='I',max='**' ),  
6912 )  ;
6913 #& MODIF COMMANDE  DATE 17/11/97   AUTEUR CIBHHLV L.VIVAN 
6914 FIN=PROC(nom="FIN",op=9999,repetable='n',fr="Fin d'une étude",
6915          docu="U4.11.02-F",
6916          RETASSAGE       =SIMP(fr="provoque le retassage de la base GLOBALE",
6917                                statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
6918          PERFORMANCE     =SIMP(fr="provoque l'impression d'un résumé des mesures de temps ",
6919                                statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ),
6920          INFO_RESU       =SIMP(fr="provoque l'impression des informations sur les structures de données",
6921                                statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ),
6922          FICHIER         =SIMP(statut='f',typ='TXM',defaut="MESSAGE"),
6923 )  ;
6924 #& MODIF COMMANDE  DATE 06/05/96   AUTEUR KXBADNG T.FRIOU 
6925 FONC_FLUI_STRU=OPER(nom="FONC_FLUI_STRU",op= 169,sd_prod=fonction,
6926                     fr="Création d'une fonction constante (concept de type fonction), paramétrée par l'abscisse curviligne et donnant la valeur du coefficient de masse ajoutée pour une configuration du type faisceau de tubes sous écoulement transverse",
6927                     docu="U4.35.02-C",reentrant='n',
6928          TYPE_FLUI_STRU  =SIMP(statut='o',typ=(type_flui_stru) ),
6929 )  ;
6930 #& MODIF COMMANDE  DATE 12/09/2001   AUTEUR MCOURTOI M.COURTOIS 
6931 FORMULE = FORM( nom='FORMULE',op=-5,sd_prod=fonction,
6932                 fr="Définition d une fonction",reentrant = 'n',
6933                 regles=(UN_PARMI('REEL','ENTIER','COMPLEXE'),),
6934                 REEL = SIMP(typ = 'shell',max=1),
6935                 ENTIER = SIMP(typ = 'shell',max=1),
6936                 COMPLEXE = SIMP(typ = 'shell',max=1),
6937 ) ;
6938 #& MODIF COMMANDE  DATE 04/02/98   AUTEUR CIBHHLV L.VIVAN 
6939 GENE_FONC_ALEA=OPER(nom="GENE_FONC_ALEA",op= 118,sd_prod=tabl_fonc,
6940                     fr="Génération de la fonction temporelle à partir d une matrice interspectrale factorisée",
6941                     docu="U4.36.05-E",reentrant='n',
6942          INTE_SPEC_FACT  =SIMP(statut='o',typ=interspfact ),
6943          INIT_ALEA       =SIMP(statut='f',typ='I',defaut= 12312745 ),
6944          NB_TIRAGE       =SIMP(statut='f',typ='I',defaut= 1 ),
6945          NB_POIN         =SIMP(statut='f',typ='I' ),
6946          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
6947 )  ;
6948 #& MODIF COMMANDE  DATE 17/10/95   AUTEUR ACBHHLB L.VIVAN 
6949 IMPR_CHARGE=PROC(nom="IMPR_CHARGE",op= 158,
6950                  fr="Impression des charges mécaniques de type degrés de liberté imposés et relations linéaires entre les degrés de liberté au format fichier universel IDEAS",
6951                  docu="U7.04.31-C",
6952          FICHIER         =SIMP(statut='f',typ='TXM' ),
6953          FORMAT          =SIMP(statut='f',typ='TXM',defaut="IDEAS",into=("IDEAS",) ),
6954          VERSION         =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ),
6955          CHARGE          =SIMP(statut='o',typ=char_meca,max='**', ),
6956 )  ;
6957 #& MODIF COMMANDE  DATE 30/09/98   AUTEUR SABJLMA P.LATRUBESSE 
6958 IMPR_CLASSI=PROC(nom="IMPR_CLASSI",op= 114,docu="U7.04.21-A",
6959                  fr="Ecriture sur fichier, du rèsultat d une analyse modale au format du code CLASSI (interaction sol structure) utilisè au SEPTEN",
6960          regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','FREQ','NUME_MODE','LIST_FREQ',
6961                         'LIST_ORDRE' ),),
6962          UNITE_CLASSI    =SIMP(statut='o',typ='I' ),
6963          MODE_MECA       =SIMP(statut='o',typ=mode_meca ),
6964          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6965          NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),
6966          LIST_ORDRE      =SIMP(statut='f',typ=listis ),
6967          NUME_MODE       =SIMP(statut='f',typ='I',max='**'),
6968          FREQ            =SIMP(statut='f',typ='R',max='**'),
6969          LIST_FREQ       =SIMP(statut='f',typ=listr8 ),
6970          b_prec_crit     =BLOC(condition = "LIST_FREQ != None or FREQ != None",
6971              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
6972              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",
6973                                    into=("RELATIF","ABSOLU") ),
6974          ),
6975          IMPRESSION      =FACT(statut='f',min=01,max='**',
6976            regles=(UN_PARMI('NOEUD','GROUP_NO', ),),
6977            NOEUD           =SIMP(statut='f',typ=no,max='**'),
6978            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
6979            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
6980          ),
6981          AMOR            =SIMP(statut='o',typ='R',max='**'),
6982 )  ;
6983 #& MODIF COMMANDE  DATE 12/05/98   AUTEUR CIBHHLV L.VIVAN 
6984 IMPR_CO=PROC(nom="IMPR_CO",op=17,docu="U4.91.11-F",
6985              fr="Impression du contenu d un concept utilisateur (pour développeur)",
6986          regles=(UN_PARMI('CO','CHAINE', ),),
6987          FICHIER         =SIMP(statut='f',typ='TXM',defaut="RESULTAT"),  
6988          NIVEAU          =SIMP(statut='f',typ='I',defaut=2,into=(0,1,2) ),
6989          ATTRIBUT        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","OUI") ),
6990          CONTENU         =SIMP(statut='f',typ='TXM',defaut="OUI",into=("NON","OUI") ),
6991          BASE            =SIMP(statut='f',typ='TXM',defaut="G",into=("","G","V","L") ),
6992          CO              =SIMP(statut='f',typ=assd),
6993          CHAINE          =SIMP(statut='f',typ='TXM'),  
6994          POSITION        =SIMP(statut='f',typ='I',defaut=1),  
6995 )  ;
6996 #& MODIF COMMANDE  DATE 03/05/2000   AUTEUR CIBHHLV L.VIVAN 
6997 IMPR_COURBE=PROC(nom="IMPR_COURBE",op= 141,fr="Impression, sur fichiers,  sous formats appropriés, de concepts de type fonction ou de fonctions extraites de listes, de tables et de concepts résultats",
6998                  docu="U4.33.01-D",
6999          FICHIER         =SIMP(statut='f',typ='TXM',defaut="RESULTAT"),
7000          FORMAT          =SIMP(statut='f',typ='TXM',position='global'
7001                               ,into=("AGRAF","POSTSCRIPT","RESULTAT","COMMANDE","SEISME") ),
7002          b_agraf_post =BLOC(condition = "(FORMAT=='AGRAF') or (FORMAT=='POSTSCRIPT')",fr="Mots-clés communs AGRAF et POSTCRIPT",
7003            BORNE_X         =SIMP(statut='f',typ='R',max=02,fr="Intervalles de variation des abcisses"),
7004            ECHELLE_X       =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),fr="Type d'échelle pour les abcisses" ),
7005            BORNE_Y         =SIMP(statut='f',typ='R',max=02,fr="Intervalles de variation des ordonnées"),
7006            ECHELLE_Y       =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),fr="Type d'échelle pour les ordonnées" ),
7007          ),
7008          b_agraf =BLOC(condition = "(FORMAT=='AGRAF')",fr="Mots-clés propres à AGRAF",
7009            TITRE_GRAPHIQUE =SIMP(statut='f',typ='TXM',fr="Titre associé au graphique" ),
7010            COMMENTAIRE     =SIMP(statut='f',typ='TXM',max='**',fr="Commentaires associés au graphique"),
7011            LEGENDE_X       =SIMP(statut='f',typ='TXM',fr="Légende associée à l axe des abcisses" ),
7012            LEGENDE_Y       =SIMP(statut='f',typ='TXM',fr="Légende associée à l axe des ordonnées" ),
7013            FREQ_GRILLE_X   =SIMP(statut='f',typ='I',defaut= 0,fr="Fréquence de tracage du quadrillage vertical" ),
7014            FREQ_GRILLE_Y   =SIMP(statut='f',typ='I',defaut= 0,fr="Fréquence de tracage du quadrillage horizontal" ),
7015          ), 
7016          b_post = BLOC (  condition = "(FORMAT=='POSTSCRIPT')",fr="Mots-clés propres à POSTCRIPT",
7017            TITRE           =SIMP(statut='f',typ='TXM',fr="Titre associé au graphique" ),
7018            LABEL_X         =SIMP(statut='f',typ='TXM',fr="Légende associée à l axe des abcisses" ),
7019            LABEL_Y         =SIMP(statut='f',typ='TXM',fr="Légende associée à l axe des ordonnées" ),
7020            SORTIE          =SIMP(statut='f',typ='TXM',defaut="COULEUR",into=("MONOCHROME","COULEUR"),fr="Type d impression" ),
7021            DATE            =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),fr="Impression de la date" ),
7022            GRILLE          =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),fr="Impression du quadrillage" ),
7023            AXE_ZERO_X      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),fr="Impression de l axe x égal zéro" ),
7024            AXE_ZERO_Y      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),fr="Impression de l axe y égal zéro" ),
7025            PRESENTATION    =SIMP(statut='f',typ='TXM',defaut="PAYSAGE",into=("PAYSAGE","PORTRAIT"),fr="Disposition du graphique sur la feuille" ),
7026            FENETRE         =SIMP(statut='f',typ='TXM',defaut="RECTANGLE",into=("CARREE","RECTANGLE"),fr="Forme de la fenêtre contenant le graphique" ),
7027          ),  
7028          COURBE          =FACT(statut='o',min=01,max='**',fr="Définition de la courbe à tracer",
7029            regles=(UN_PARMI('FONCTION','LIST_RESU','TABLE','FONC_X','RESU_GENE'),),
7030            FONCTION        =SIMP(statut='f',typ=(fonction, fonction_c),
7031                                  fr="Fonction réelle ou complexe", ),
7032            LIST_RESU       =SIMP(statut='f',typ=listr8,
7033                                  fr="Liste des ordonnees d une fonction réelle définie par deux listes", ),
7034 #  creer le type table            
7035            TABLE           =SIMP(statut='f',typ=table,
7036                                  fr="Nom de la table dont 2 colonnes définissent la fonction",),
7037            FONC_X          =SIMP(statut='f',typ=fonction,
7038                                  fr="Fonction abscisses d une fonction paramétrique",),
7039            RESU_GENE       =SIMP(statut='f',typ=tran_gene,
7040                                  fr="Nom du RESU_GENE qui contient les informations liées à des noeuds de choc et qui seront tracées sous forme de fonction", ), 
7041            b_fonction      =BLOC(condition = "FONCTION != None",                          
7042              LIST_PARA       =SIMP(statut='f',typ=listr8 ),
7043              b_fonction_c  =BLOC(condition = "AsType(FONCTION) == fonction_c",
7044                                    fr="Fonction complexe définie par le mot-clé fonction",
7045                PARTIE          =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ),           
7046              ),
7047            ),   
7048            b_list_resu     =BLOC(condition = "LIST_RESU != None",                                
7049              LIST_PARA       =SIMP(statut='o',typ=listr8 ),
7050            ),  
7051            b_table         =BLOC(condition = "TABLE != None",                                         
7052              PARA_X          =SIMP(statut='o',typ='TXM',fr="Paramètre de la table associé aux abcisses de la fonction à tracer" ),
7053              PARA_Y          =SIMP(statut='o',typ='TXM',fr="Paramètre de la table associé aux ordonnées de la fonction à tracer" ),        
7054            ), 
7055            b_fonc_x        =BLOC(condition = "FONC_X != None",                                          
7056              FONC_Y          =SIMP(statut='o',typ=fonction,fr="Fonction ordonnées d une fonction paramétrique" ),
7057              PARA            =SIMP(statut='f',typ='TXM',defaut="FONC_X",into=("FONC_X","FONC_Y"),fr="Permutation des rôles des deux fonctions" ),
7058              LIST_PARA       =SIMP(statut='f',typ=listr8 ),                
7059            ),
7060            b_resu_gene     =BLOC(condition = "RESU_GENE != None",                                
7061              regles=(UN_PARMI('NOEUD_CHOC','GROUP_NO_CHOC'),),                      
7062              NOEUD_CHOC      =SIMP(statut='f',typ=no),
7063              GROUP_NO_CHOC   =SIMP(statut='f',typ=grno),
7064              PARA_X          =SIMP(statut='o',typ='TXM',fr="Paramètre associé aux abcisses de la fonction à tracer de la table information sur les chocs " ),
7065              PARA_Y          =SIMP(statut='o',typ='TXM',fr="Paramètre associé aux ordonnées de la fonction à tracer de la table information sur les chocs " ),
7066              LIST_PARA       =SIMP(statut='f',typ=listr8 ),   
7067              SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),
7068              INTITULE        =SIMP(statut='f',typ='TXM' ),               
7069            ), 
7070                  
7071                
7072            LEGENDE         =SIMP(statut='f',typ='TXM',fr="Légende associée à la courbe" ),
7073            STYLE           =SIMP(statut='f',typ='TXM',defaut="LIGNE",fr="Style de la ligne représentant la courbe",
7074                                  into=("LIGNE","POINTILLE","POINT","POINT_RELIE") ),
7075            COULEUR         =SIMP(statut='f',typ='TXM',fr="Couleur associée à la courbe",
7076                                  into=("NOIR","ROUGE","VERT_FONCE","BLEU",
7077                                        "MAGENTA","CYAN","VERT","SIENNE","ORANGE",
7078                                        "POURPRE","JAUNE","DAIM","TURQUOISE","VIOLET",
7079                                        "BRUN","CORAIL","MARRON","MAUVE","MARRON_CLAIR") ),
7080            MARQUEUR        =SIMP(statut='f',typ='TXM',fr="Type du marqueur associé à la courbe",
7081                                  into=("POINT_F","CARRE_F","TRIANGLE_F",
7082                                        "LOSANGE_F","ETOILE_F","FUSEE_F","POINT",
7083                                        "CARRE","TRIANGLE","LOSANGE","ETOILE","FUSEE",
7084                                        "PLUS","X","CERCLE","CERCLE_P","CARRE_P",
7085                                        "LOSANGE_P","CERCLE_P_X","LOSANGE_P_X",
7086                                        "CERCLE_X","CARRE_X","LOSANGE_X") ),
7087             b_agraf =BLOC(condition = "(FORMAT=='AGRAF')",fr="Mots-clés propres à AGRAF",
7088               TRI             =SIMP(statut='f',typ='TXM',defaut="N",fr="Choix du tri effectué sur les abcisses ou sur les ordonnées",
7089                                     into=("N","X","Y","XY","YX") ),
7090               FREQ_MARQUEUR   =SIMP(statut='f',typ='I',defaut= 0,fr="Fréquence d impression du marqueur associé à la courbe", ),          
7091             ), 
7092          ),
7093 )  ;
7094 #& MODIF COMMANDE  DATE 02/02/2000   AUTEUR UFBHHGN G.NICOLAS 
7095 IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189, docu="U7.04.01-A",
7096                     fr="Imprimer le fichier de configurations de HOMARD",
7097          TRAITEMENT      =FACT(statut='o',min=01,max=01,
7098            regles=( UN_PARMI('ADAPTATION','UNIFORME','MAJSOLUTION','INFORMATION'),),
7099            ADAPTATION      =SIMP(statut='f',typ='TXM',     
7100                                  fr="Adaptation libre",
7101                                  into=("RAFFINEMENT","DERAFFINEMENT","RAFF_DERA") ),
7102            UNIFORME        =SIMP(statut='f',typ='TXM',     
7103                                  into=("RAFFINEMENT","DERAFFINEMENT","RIEN") ),
7104            MAJSOLUTION     =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7105            INFORMATION     =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7106            b_adaptation =BLOC(condition = "( UNIFORME != None ) or ( ADAPTATION != None ) or ( MAJSOLUTION != None ) ",
7107                            fr="Adaptation",
7108                            NITER           =SIMP(statut='o',typ='I' ),
7109                            MAJ_CHAMP       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
7110                            ) ,
7111            b_adaptation_libre  =BLOC(condition = "ADAPTATION != None",
7112                            fr="Adaptation libre",
7113                            NOM_MED_INDICA  =SIMP(statut='o',typ='TXM' ),
7114                            NOM_CMP_INDICA  =SIMP(statut='f',typ='TXM',defaut="ERREST",    
7115                                    into=("ERREST","NUEST") ),
7116                            NOM_MED_SUPPOR  =SIMP(statut='o',typ='TXM' ),
7117                            ) ,
7118            b_raffinement_libre   =BLOC( condition = "( ADAPTATION == 'RAFF_DERA' ) or ( ADAPTATION == 'RAFFINEMENT' )" ,
7119                            fr="Critère de raffinement.",
7120                            regles=(UN_PARMI ( 'CRIT_RAFF_ABS', 'CRIT_RAFF_REL', 'CRIT_RAFF_PE' ),),
7121                            CRIT_RAFF_ABS   =SIMP(statut='f',typ='R' ),
7122                            CRIT_RAFF_REL   =SIMP(statut='f',typ='R' ),
7123                            CRIT_RAFF_PE    =SIMP(statut='f',typ='R' ),
7124                            ) ,
7125            b_deraffinement_libre   =BLOC ( condition = "( ADAPTATION == 'RAFF_DERA' ) or ( ADAPTATION == 'DERAFFINEMENT' )" ,
7126                              fr="Critère de déraffinement.",
7127                              regles=(UN_PARMI ( 'CRIT_DERA_ABS', 'CRIT_DERA_REL', 'CRIT_DERA_PE' ),),
7128                              CRIT_DERA_ABS   =SIMP(statut='f',typ='R' ),
7129                              CRIT_DERA_REL   =SIMP(statut='f',typ='R' ),
7130                              CRIT_DERA_PE    =SIMP(statut='f',typ='R' ),
7131                            ) ,
7132            b_raffinement =BLOC ( condition = " ( ADAPTATION == 'RAFF_DERA' ) or ( ADAPTATION == 'RAFFINEMENT' ) or ( UNIFORME == 'RAFFINEMENT' )" ,
7133                              NIVE_MAX        =SIMP(statut='f',typ='I' ),
7134                            ) ,
7135            b_deraffinement =BLOC ( condition = " ( ADAPTATION == 'RAFF_DERA' ) or ( ADAPTATION == 'DERAFFINEMENT' ) or ( UNIFORME == 'DERAFFINEMENT' )" ,
7136                              NIVE_MIN        =SIMP(statut='f',typ='I' ),
7137                            ) ,
7138          ),
7139          ANALYSE         =FACT(statut='f',min=01,max=01,
7140            regles=(AU_MOINS_UN('QUALITE','INTERPENETRATION'),),
7141            QUALITE         =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
7142            INTERPENETRATION=SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
7143          ),
7144          UNITE           =SIMP(statut='f',typ='I',defaut= 71 ),  
7145          REP             =SIMP(statut='f',typ='TXM' ),  
7146          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
7147 )  ;
7148 #& MODIF COMMANDE  DATE 27/04/98   AUTEUR CIBHHLV L.VIVAN 
7149 IMPR_GENE=PROC(nom="IMPR_GENE",op= 157,fr="Calcul du dommage subi par une structure soumise à une sollicitation de type aléatoire fichier, au format 'RESULTAT'",
7150                docu="U4.91.02-C",
7151          GENE            =FACT(statut='o',min=01,max='**',
7152            regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
7153                           'LIST_INST','LIST_FREQ','TOUT_MODE','TOUT_INST','LIST_ORDRE'),
7154                    EXCLUS('TOUT_MODE','NUME_ORDRE','INST','FREQ','NUME_MODE',
7155                           'LIST_INST','LIST_FREQ','TOUT_ORDRE','TOUT_INST','LIST_ORDRE'),
7156                    EXCLUS('TOUT_INST','NUME_ORDRE','INST','FREQ','NUME_MODE',
7157                           'LIST_INST','LIST_FREQ','TOUT_ORDRE','LIST_ORDRE'),
7158                    EXCLUS('TOUT_CMP_GENE','NUME_CMP_GENE'),
7159                    EXCLUS('TOUT_CHAM','NOM_CHAM'),
7160                    EXCLUS('TOUT_PARA','NOM_PARA'),),
7161 #  faut-il faire des blocs selon le type de RESU_GENE                   
7162            RESU_GENE       =SIMP(statut='o',typ=(vect_asse_gene, tran_gene, mode_gene, harm_gene)),
7163            FORMAT          =SIMP(statut='f',typ='TXM',defaut="RESULTAT",into=("RESULTAT",) ),
7164            FICHIER         =SIMP(statut='f',typ='TXM' ),
7165            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7166            NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),
7167            LIST_ORDRE      =SIMP(statut='f',typ=listis ),
7168            TOUT_MODE       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7169            NUME_MODE       =SIMP(statut='f',typ='I',max='**'),
7170            INST            =SIMP(statut='f',typ='R',max='**'),
7171            LIST_INST       =SIMP(statut='f',typ=listr8 ),
7172            TOUT_INST       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7173            FREQ            =SIMP(statut='f',typ='R',max='**'),
7174            LIST_FREQ       =SIMP(statut='f',typ=listr8 ),
7175            b_prec_crit     =BLOC(condition = "LIST_FREQ != None or FREQ != None",
7176              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
7177              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",
7178                                    into=("RELATIF","ABSOLU") ),
7179            ),
7180            TOUT_CMP_GENE   =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
7181            NUME_CMP_GENE   =SIMP(statut='f',typ='I',max='**'),
7182            TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
7183            NOM_CHAM        =SIMP(statut='f',typ='TXM',max='**'),
7184            TOUT_PARA       =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
7185            NOM_PARA        =SIMP(statut='f',typ='TXM',max='**'),
7186            SOUS_TITRE      =SIMP(statut='f',typ='TXM',max='**'),
7187            INFO_CMP_GENE   =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
7188            INFO_GENE       =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
7189          ),
7190 )  ;
7191 #& MODIF COMMANDE DATE 16/10/90 AUTEUR INCONNU INCONNU
7192 IMPR_JEVEUX=PROC(nom="IMPR_JEVEUX",op=16,docu="U4.91.21-F",
7193                  fr="Impression de caractéristiques d'objets JEVEUX (pour développeur)",
7194          ENTITE          =SIMP(fr="choix de l'observation",statut='o',typ='TXM',                                                                                                                                                                                                    
7195                                into=("DISQUE","MEMOIRE","REPERTOIRE",    
7196                                      "OBJET","ATTRIBUT","SYSTEME") ),
7197          b_objet      =BLOC(condition = "(ENTITE=='OBJET')",
7198             NOMOBJ          =SIMP(fr="nom d'objet",statut='f',typ='TXM' ),  
7199             NUMOC           =SIMP(fr="numéro d objet de collection",statut='f',typ='I' ),  
7200             NOMOC           =SIMP(fr="nom d'objet de collection",statut='f',typ='TXM' ),  
7201          ),
7202          b_attribut   =BLOC(condition = "(ENTITE=='ATTRIBUT')",
7203             NOMOBJ          =SIMP(fr="nom de collection",statut='f',typ='TXM' ),  
7204             NOMATR          =SIMP(fr="nom d attribut de collection",statut='f',typ='TXM',
7205                                   into=('$$DESO','$$IADD','$$IADM','$$NOM','$$LONG',
7206                                       '$$LONO','$$LUTI','$$NUM') ),
7207          ),
7208          b_systeme    =BLOC(condition = "(ENTITE=='SYSTEME')",
7209             CLASSE          =SIMP(statut='o',typ='TXM',into=('G','V','L') ),  
7210             NOMATR          =SIMP(fr="nom d attribut systeme",statut='f',typ='TXM',   
7211                                   into=('$$CARA','$$IADD','$$GENR','$$TYPE','$$ETAT',
7212                                       '$$DOCU','$$ORIG','$$RNOM','$$LTYP','$$LONG',
7213                                       '$$LONO','$$DATE','$$LUTI','$$HCOD','$$INDX',
7214                                       '$$TLEC','$$TECR','$$IADM','$$ACCE') ),
7215          ),
7216          b_repertoire =BLOC(condition = "(ENTITE=='REPERTOIRE')",
7217             CLASSE          =SIMP(statut='f',typ='TXM',into=('G','V','L',' '),defaut=' '),  
7218          ),
7219          b_disque     =BLOC(condition = "(ENTITE=='DISQUE')",
7220             CLASSE          =SIMP(statut='f',typ='TXM' ,into=('G','V','L',' '),defaut=' '),  
7221          ),
7222          IMPRESSION      =FACT(statut='f',min=01,max=01,
7223            NOM             =SIMP(statut='f',typ='TXM' ),  
7224            UNITE           =SIMP(statut='f',typ='I'),  
7225          ),
7226          COMMENTAIRE     =SIMP(statut='f',typ='TXM' ),  
7227 )  ;
7228 #& MODIF COMMANDE  DATE 09/09/98   AUTEUR ACBHHCD G.DEVESA 
7229 IMPR_MACR_ELEM=PROC(nom="IMPR_MACR_ELEM",op= 160,fr="Impression au format fichier universel IDEAS ou au format MISS3D ou au format RESULTAT d un concept de type macr_elem_dyna",
7230                     docu="U7.04.33-C",
7231          MACR_ELEM_DYNA  =SIMP(statut='o',typ=macr_elem_dyna ),
7232          FICHIER         =SIMP(statut='f',typ='TXM' ),
7233          FORMAT          =SIMP(statut='f',typ='TXM',defaut="IDEAS",
7234                                into=("MISS_3D","IDEAS","CADYRO",) ),
7235          b_ideas         =BLOC(condition = "FORMAT == 'IDEAS'",
7236            VERSION         =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ),
7237          ),                      
7238          b_miss_3d       =BLOC(condition = "FORMAT == 'MISS_3D'",
7239            UNITE           =SIMP(statut='f',typ='I',defaut= 26 ),
7240            SOUS_TITRE      =SIMP(statut='f',typ='TXM',max='**'),
7241            AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
7242            GROUP_MA_INTERF =SIMP(statut='o',typ=grma,max='**'),
7243 #  Ces trois mots cles sont-ils dans le bon bloc et avec le bon statut        
7244            GROUP_MA_FLU_STR=SIMP(statut='f',typ=grma,max='**'),
7245            GROUP_MA_FLU_SOL=SIMP(statut='f',typ=grma,max='**'),
7246            GROUP_MA_SOL_SOL=SIMP(statut='f',typ=grma,max='**'),
7247            IMPR_MODE_MECA  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
7248            IMPR_MODE_STAT  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
7249          ),
7250          b_cadyro        =BLOC(condition = "FORMAT == 'CADYRO'",
7251            SQUELETTE       =SIMP(statut='f',typ=squelette ),
7252            UNITE_MODE_MECA =SIMP(statut='f',typ='I',defaut= 26 ),
7253            UNITE_MODE_STAT =SIMP(statut='f',typ='I',defaut= 27 ),
7254            UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut= 28 ),
7255            IMPR_MODE_MECA  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
7256            IMPR_MODE_STAT  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
7257          ),
7258
7259 )  ;
7260 #& MODIF COMMANDE  DATE 07/04/98   AUTEUR CIBHHGB G.BERTRAND 
7261 IMPR_MATRICE=PROC(nom="IMPR_MATRICE",op= 159,fr="Impression au format universel IDEAS ou au format RESULTAT des matrices élémentaires et des matrices assemblées",
7262                   docu="U7.04.32-C",
7263          regles=(AU_MOINS_UN('MATR_ELEM','MATR_ASSE'),),
7264          
7265          MATR_ELEM       =FACT(statut='f',min=01,max='**',
7266            FICHIER         =SIMP(statut='f',typ='TXM' ),
7267            FORMAT          =SIMP(statut='f',typ='TXM',defaut="IDEAS",
7268                                  into=("IDEAS","RESULTAT") ),
7269            b_format      =BLOC(condition = "FORMAT == 'IDEAS'",
7270              VERSION         =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ),
7271            ),
7272 #  créer les types matr_elem  et vect_elem        
7273            MATRICE         =SIMP(statut='o',typ=(matr_elem, vect_elem)),
7274 #  Quelle regle pour TOUT, NOEUD, GROUP_NO, MAILLE, GROUP_MA           
7275            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7276            NOEUD           =SIMP(statut='f',typ=no,max='**'),
7277            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
7278            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
7279            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
7280            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
7281            GRAIN           =SIMP(statut='f',typ='TXM',defaut="VALEUR",
7282                                  into=("VALEUR","NOEUD","MAILLE") ),
7283            NB_CHIFFRE      =SIMP(statut='f',typ='I',defaut= 4 ),
7284          ),
7285          MATR_ASSE       =FACT(statut='f',min=01,max='**',
7286            FICHIER         =SIMP(statut='f',typ='TXM' ),
7287            FORMAT          =SIMP(statut='f',typ='TXM',defaut="IDEAS",
7288                                  into=("IDEAS","RESULTAT") ),
7289            VERSION         =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ),
7290 #  créer le type matr_elem           
7291            MATRICE         =SIMP(statut='o',typ=matr_asse),
7292 #  Quelle regle pour TOUT, NOEUD, GROUP_NO, MAILLE, GROUP_MA                      
7293            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7294            NOEUD           =SIMP(statut='f',typ=no,max='**'),
7295            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
7296            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
7297            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
7298            OPTION          =SIMP(statut='f',typ='TXM',defaut="SOUS_MATRICE",
7299                                  into=("SOUS_MATRICE","LIGNE","COLONNE") ),
7300            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
7301            GRAIN           =SIMP(statut='f',typ='TXM',defaut="VALEUR",
7302                                  into=("VALEUR","NOEUD") ),
7303            NB_CHIFFRE      =SIMP(statut='f',typ='I',defaut= 4 ),
7304            VALE_ZERO       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
7305          ),
7306 )  ;
7307 #& MODIF COMMANDE  DATE 11/02/98   AUTEUR CIBHHLV L.VIVAN 
7308 IMPR_MISS_3D=PROC(nom="IMPR_MISS_3D",op= 162,fr="Permet de transmettre au format MISS3D la contribution des charges internes à une superstructure sous forme d un second membre projeté sur la base modale (modes propres ou contraints), les signaux d excitation harmonique ou transitoire",
7309                   docu="U7.04.11-C",
7310          regles=(UN_PARMI('INST_INIT','FREQ_INIT'),
7311                  PRESENT_PRESENT('INST_INIT','INST_FIN'),
7312                  PRESENT_PRESENT('FREQ_INIT','FREQ_FIN'),),
7313          MACR_ELEM_DYNA  =SIMP(statut='o',typ=macr_elem_dyna ),
7314          EXCIT           =FACT(statut='f',min=01,max='**',
7315            regles=(UN_PARMI('FONC_MULT','COEF_MULT' ),),
7316            VECT_ASSE       =SIMP(statut='f',typ=cham_no_depl_r ),
7317            FONC_MULT       =SIMP(statut='f',typ=fonction ),
7318            COEF_MULT       =SIMP(statut='f',typ='R' ),
7319          ),
7320          EXCIT_SOL       =FACT(statut='f',min=01,max='**',
7321            DIRECTION       =SIMP(statut='o',typ='R',max='**'),
7322            FONC_SIGNAL     =SIMP(statut='f',typ=fonction ),
7323            NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",
7324                                  into=("DEPL","VITE","ACCE","FORC",) ),
7325          ),
7326          INST_INIT       =SIMP(statut='f',typ='R' ),
7327          INST_FIN        =SIMP(statut='f',typ='R' ),
7328          FREQ_INIT       =SIMP(statut='f',typ='R' ),
7329          FREQ_FIN        =SIMP(statut='f',typ='R' ),
7330          PAS             =SIMP(statut='o',typ='R' ),
7331          UNITE           =SIMP(statut='f',typ='I',defaut= 26 ),
7332          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
7333          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
7334 )  ;
7335 #& MODIF COMMANDE  DATE 19/06/2000   AUTEUR DURAND C.DURAND
7336 IMPR_RESU=PROC(nom="IMPR_RESU",op=39,docu="U4.91.01-E",
7337                fr="Impression du résultat d un calcul (différents formats)",
7338          MODELE          =SIMP(statut='f',typ=modele),
7339          RESU            =FACT(statut='o',min=01,max='**',
7340            FORMAT          =SIMP(statut='f',typ='TXM',defaut="RESULTAT",
7341                                  into=("RESULTAT","IDEAS","ASTER","CASTEM","ENSIGHT","MED") ),
7342                                  
7343            b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas",
7344              VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
7345            ),  
7346
7347            b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem",
7348              NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
7349            ),
7350            
7351            regles=(AU_MOINS_UN('CHAM_GD','RESULTAT','MAILLAGE'),
7352                    EXCLUS('CHAM_GD','RESULTAT'),),
7353            MAILLAGE        =SIMP(statut='f',typ=(maillage,squelette)),
7354            INFO_MAILLAGE   =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
7355            CHAM_GD         =SIMP(statut='f',typ=cham_gd),
7356            RESULTAT        =SIMP(statut='f',typ=resultat),# CO() sd a creer !!!
7357            
7358            b_extrac        =BLOC(condition="RESULTAT != None",
7359                                  fr="extraction d un champ de grandeur",
7360              regles=(EXCLUS('TOUT_CHAM','NOM_CHAM'),
7361                      EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP',
7362                             'LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS','ANGL'),),
7363              TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
7364              NOM_CHAM        =SIMP(statut='f',typ='TXM',max='**'),
7365              
7366              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7367              NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),
7368              NUME_MODE       =SIMP(statut='f',typ='I',max='**'),
7369              LIST_ORDRE      =SIMP(statut='f',typ=listis),
7370              NOEUD_CMP       =SIMP(statut='f',typ='TXM',max='**'),
7371              NOM_CAS         =SIMP(statut='f',typ='TXM',max='**'),
7372              ANGL            =SIMP(statut='f',typ='R',max='**'),
7373              FREQ            =SIMP(statut='f',typ='R',max='**'),
7374              LIST_FREQ       =SIMP(statut='f',typ=listr8),
7375              INST            =SIMP(statut='f',typ='R',max='**'),
7376              LIST_INST       =SIMP(statut='f',typ=listr8),
7377              
7378              b_acce_reel     =BLOC(condition="(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)",
7379                PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
7380                CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
7381              ),
7382            ),
7383
7384            b_parametres    =BLOC(condition="""(RESULTAT != None)and(FORMAT == 'RESULTAT')""",
7385              regles=(EXCLUS('TOUT_PARA','NOM_PARA'),),
7386              INFO_RESU       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
7387              TOUT_PARA       =SIMP(statut='f',typ='TXM',into=("OUI","NON",) ),
7388              NOM_PARA        =SIMP(statut='f',typ='TXM',max='**'),
7389              FORM_TABL       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
7390            ),
7391             
7392            b_cmp           =BLOC(condition="""(RESULTAT != None)and((FORMAT == 'RESULTAT')or(FORMAT == 'ENSIGHT'))""",
7393                                  fr="sélection des composantes",
7394              regles=(EXCLUS('TOUT_CMP','NOM_CMP'),),
7395              TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7396              NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
7397            ),
7398             
7399            b_topologie       =BLOC(condition="""(RESULTAT != None)and((FORMAT == 'RESULTAT')or(FORMAT == 'IDEAS'))""",
7400                                    fr="sélection des entités toplogiques",
7401              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7402              NOEUD           =SIMP(statut='f',typ=no,max='**'),
7403              GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
7404              MAILLE          =SIMP(statut='f',typ=ma,max='**'),
7405              GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
7406            ),
7407            
7408            b_valeurs         =BLOC(condition="(FORMAT == 'RESULTAT')",
7409                                    fr="sélection sur les valeurs",
7410              VALE_MAX        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7411              VALE_MIN        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7412              BORNE_SUP       =SIMP(statut='f',typ='R'),
7413              BORNE_INF       =SIMP(statut='f',typ='R'),
7414              IMPR_COOR       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
7415              FORMAT_R        =SIMP(statut='f',typ='TXM',defaut="1PE12.5"),
7416            ),
7417
7418            SOUS_TITRE      =SIMP(statut='f',typ='TXM',max='**'),
7419            FICHIER         =SIMP(statut='f',typ='TXM'),
7420          ),
7421          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
7422 ) ;
7423 #& MODIF COMMANDE  DATE 18/04/2000   AUTEUR D6BHHBQ B.QUINNEZ 
7424 IMPR_STURM=PROC(nom="IMPR_STURM",op=32,fr="Calculer et imprimer le nombre de valeurs propres dans un intervalle donné",
7425                 docu="U4.52.01-F",
7426          MATR_A          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ),
7427          MATR_B          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ),
7428          TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE",into=("MODE_FLAMB","DYNAMIQUE"),
7429                                fr="Type d analyse" ),
7430          b_dynamique  =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'",
7431                             fr="Recheche du nombre de fréquences propres",
7432              FREQ_MIN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ,fr="Borne inférieure de l intervalle" ),
7433              FREQ_MAX        =SIMP(statut='o',typ='R',fr="Borne supérieure de l intervalle" ),
7434          ),
7435          b_mode_flamb =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'",
7436                             fr="Recherche du nombre de charges critiques",
7437              CHAR_CRIT_MIN   =SIMP(statut='o',typ='R',fr="Borne inférieure de l intervalle" ),
7438              CHAR_CRIT_MAX   =SIMP(statut='o',typ='R',fr="Borne supérieure de l intervalle" ),
7439          ),
7440          NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8 ),
7441          NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5 ),
7442          FICHIER         =SIMP(statut='f',typ='TXM',defaut="RESULTAT"),
7443          PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
7444          SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
7445 )  ;
7446 #& MODIF COMMANDE  DATE 22/07/99   AUTEUR CIBHHLV L.VIVAN 
7447 IMPR_TABLE=PROC(nom="IMPR_TABLE",op=155,docu="U4.91.03-C",
7448                 fr="Impression d un concept de type table",
7449          TABLE           =SIMP(statut='o',typ=table),
7450          FICHIER         =SIMP(statut='f',typ='TXM',defaut="RESULTAT", ),
7451          FORMAT          =SIMP(statut='f',typ='TXM',defaut="EXCEL",    
7452                                into=("EXCEL","AGRAF","MOT_CLE","TABLEAU") ),
7453          FILTRE          =FACT(statut='f',min=01,max='**',
7454            NOM_PARA        =SIMP(statut='o',typ='TXM'),  
7455            CRIT_COMP       =SIMP(statut='f',typ='TXM',defaut="EQ",    
7456                                  into=("EQ","LT","GT","NE","LE","GE","VIDE",     
7457                                        "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI") ),
7458            VALE            =SIMP(statut='f',typ='R'),  
7459            VALE_I          =SIMP(statut='f',typ='I'),  
7460            VALE_C          =SIMP(statut='f',typ='C'),  
7461            VALE_K          =SIMP(statut='f',typ='TXM'),  
7462            VALE_CO         =SIMP(statut='f',typ=geom),
7463            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
7464            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),  
7465          ),
7466          TRI             =FACT(statut='f',min=01,max=01,
7467            NOM_PARA        =SIMP(statut='o',typ='TXM',max='**'),  
7468            ORDRE           =SIMP(statut='f',typ='TXM',max='**',defaut="CROISSANT",    
7469                                  into=("CROISSANT","DECROISSANT") ),
7470          ),
7471          PAGINATION      =SIMP(statut='f',typ='TXM',max='**'),  
7472          FORMAT_R        =SIMP(statut='f',typ='TXM',defaut="1PE12.5"),  
7473          FORMAT_C        =SIMP(statut='f',typ='TXM',defaut="MODULE_PHASE",
7474                                     into=("MODULE_PHASE","REEL_IMAG") ),
7475          NOM_PARA        =SIMP(statut='f',typ='TXM',max='**'),  
7476          TOUT_PARA       =SIMP(statut='f',typ='TXM',into=("OUI",)),
7477          IMPR_FONCTION   =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
7478 )  ;
7479 #& MODIF COMMANDE  DATE 11/02/98   AUTEUR CIBHHLV L.VIVAN 
7480 INCLUDE=MACRO(nom="INCLUDE",op=-1,docu="U4.13.01-e",
7481              fr="Débranchement vers un fichier de commandes secondaires",
7482              sd_prod=ops.INCLUDE,op_init=ops.INCLUDE_context,fichier_ini=1,
7483          UNITE = SIMP(statut='o',typ='I'),
7484          INFO  = SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
7485 );
7486 #& MODIF COMMANDE  DATE 07/02/2001   AUTEUR DURAND C.DURAND 
7487 INCLUDE_MATERIAU=MACRO(nom="INCLUDE_MATERIAU",op=-14,docu="U4.43.02-a",
7488                        fr=" ",
7489          sd_prod=ops.INCLUDE_MATERIAU,op_init=ops.INCLUDE_context,fichier_ini=0,
7490          NOM_AFNOR       =SIMP(statut='o',typ='TXM' ),  
7491          TYPE_MODELE     =SIMP(statut='o',typ='TXM',into=("REF","PAR") ),
7492          VARIANTE        =SIMP(statut='o',typ='TXM',     
7493                                into=("A","B","C","D","E","F","G","H","I","J",    
7494                                      "K","L","M","N","O","P","Q","R","S","T","U","V",   
7495                                      "W","X","Y","Z",) ),
7496          TYPE_VALE       =SIMP(statut='o',typ='TXM',into=("NOMI","MINI","MAXI") ),
7497          NOM_MATER       =SIMP(statut='o',typ='TXM' ),  
7498          UNITE           =SIMP(statut='f',typ='I',defaut= 32 ),  
7499          EXTRACTION      =FACT(statut='f',min=01,max=99,
7500            COMPOR          =SIMP(statut='o',typ='TXM' ),  
7501            TEMP_EVAL       =SIMP(statut='o',typ='R' ),  
7502          ),
7503          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
7504 )  ;
7505 #& MODIF COMMANDE  DATE 08/03/2000   AUTEUR CIBHHPD P.DAVID 
7506 INTE_MAIL_2D=OPER(nom="INTE_MAIL_2D",op=50,sd_prod=courbe,docu="U4.81.11-E",
7507                   fr="Définition d une courbe sur un maillage 2D",reentrant='n',
7508          regles=(EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),
7509                  EXCLUS('DEFI_CHEMIN','DEFI_SEGMENT'),
7510                  EXCLUS('DEFI_CHEMIN','DEFI_ARC'),),
7511          MAILLAGE        =SIMP(statut='o',typ=(maillage) ),
7512          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7513          GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
7514          MAILLE          =SIMP(statut='f',typ=ma,max='**'),
7515          DEFI_SEGMENT    =FACT(statut='f',min=01,max='**',
7516            regles=(UN_PARMI('ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'),
7517                    UN_PARMI('EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'),),
7518            ORIGINE         =SIMP(statut='f',typ='R',min=2,max=2 ),  
7519            NOEUD_ORIG      =SIMP(statut='f',typ=no,max=1),
7520            GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,max=1),
7521            EXTREMITE       =SIMP(statut='f',typ='R',max='**'),  
7522            NOEUD_EXTR      =SIMP(statut='f',typ=no,max=1),
7523            GROUP_NO_EXTR   =SIMP(statut='f',typ=grno,max=1),
7524          ),
7525          DEFI_ARC        =FACT(statut='f',min=01,max='**',
7526            regles=(UN_PARMI('CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE'),
7527                    UN_PARMI('RAYON','ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'),
7528                    UN_PARMI('RAYON','EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'),               
7529                    PRESENT_PRESENT('RAYON','SECTEUR'),),
7530            CENTRE          =SIMP(statut='f',typ='R',max='**' ),  
7531            NOEUD_CENTRE    =SIMP(statut='f',typ=no,max=1),
7532            GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,max=1),
7533            RAYON           =SIMP(statut='f',typ='R',max=1),  
7534            SECTEUR         =SIMP(statut='f',typ='R',min=2,max=2),  
7535            ORIGINE         =SIMP(statut='f',typ='R',min=2,max=2),  
7536            NOEUD_ORIG      =SIMP(statut='f',typ=no,max=1),
7537            GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,max=1),
7538            EXTREMITE       =SIMP(statut='f',typ='R',min=2,max=2),  
7539            NOEUD_EXTR      =SIMP(statut='f',typ=no,max=1),
7540            GROUP_NO_EXTR   =SIMP(statut='f',typ=grno,max=1),
7541            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),  
7542            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",    
7543                                  into=("RELATIF","ABSOLU",) ),
7544          ),
7545          DEFI_CHEMIN     =FACT(statut='f',min=01,max='**',
7546            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
7547            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
7548            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
7549          ),
7550          NOEUD_ORIG      =SIMP(statut='f',typ=no,max=1),
7551          GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,max=1),
7552          PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),  
7553          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
7554 )  ;
7555 #& MODIF COMMANDE  DATE 08/03/2000   AUTEUR CIBHHPD P.DAVID 
7556 INTE_MAIL_3D=OPER(nom="INTE_MAIL_3D",op=96,sd_prod=surface,docu="U4.81.12-E",
7557                   fr="Définition d un chemin sur un maillage 3D",reentrant='n',
7558          MAILLAGE        =SIMP(statut='o',typ=maillage),
7559          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7560          GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
7561          MAILLE          =SIMP(statut='f',typ=ma,max='**'),
7562          DEFI_SEGMENT    =FACT(statut='o',min=01,max='**',
7563            regles=(UN_PARMI('ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'),
7564                    UN_PARMI('EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'),),
7565            ORIGINE         =SIMP(statut='f',typ='R',min=3,max=3),  
7566            NOEUD_ORIG      =SIMP(statut='f',typ=no,max=1),
7567            GROUP_NO_ORIG   =SIMP(statut='f',typ=grno,max=1),
7568            EXTREMITE       =SIMP(statut='f',typ='R',min=3,max=3),  
7569            NOEUD_EXTR      =SIMP(statut='f',typ=no,max=1),
7570            GROUP_NO_EXTR   =SIMP(statut='f',typ=grno,max=1),
7571          ),
7572          PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),  
7573          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
7574 )  ;
7575 #& MODIF COMMANDE  DATE 02/02/2000   AUTEUR UFBHHGN G.NICOLAS 
7576 def lire_champ_prod(TYPE=None,**args):
7577   if TYPE == "CHAM_NO_TEMP_R" : return cham_no_temp_r
7578   if TYPE == "CHAM_NO_DEPL_R" : return cham_no_depl_r
7579   raise AsException("type de concept resultat non prevu")
7580
7581 LIRE_CHAMP=OPER(nom="LIRE_CHAMP",op= 192,sd_prod=lire_champ_prod,
7582                 fr="Lire un champ dans un fichier et le stocker dans un concept.",
7583                 docu="U7.02.02-A",reentrant='n',
7584 #
7585 # 1. Le maillage support du champ
7586 #
7587          MAILLAGE        =SIMP(statut='o',typ=maillage ),
7588 #
7589 # 2. Format de lecture
7590 #    Remarque : seul MED est operationnel dans cette version.
7591 #
7592          FORMAT          =SIMP(statut='o',typ='TXM',defaut="MED",into=("MED",) ),
7593 #
7594 # 3. L'unite logique du fichier.
7595 #
7596          UNITE           =SIMP(statut='f',typ='I',defaut= 81 ),  
7597  #
7598 # 3. Pour le format MED, il faut preciser le nom sous lequel le champ est connu dans le fichier
7599 #
7600          b_format =BLOC(condition = "FORMAT == 'MED'",
7601                         fr="Nom du champ dans le fichier MED",
7602          NOM_MED         =SIMP(statut='o',typ='TXM' ),),
7603 #
7604 # 4. Le type du concept lu
7605 #
7606          TYPE            =SIMP(statut='o',typ='TXM',into=("CHAM_NO_TEMP_R","CHAM_NO_DEPL_R") ),
7607 #
7608 # 5. Le niveau d'information
7609 #
7610          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
7611 )  ;
7612 #& MODIF COMMANDE  DATE 11/02/98   AUTEUR CIBHHLV L.VIVAN 
7613 LIRE_FONCTION=OPER(nom="LIRE_FONCTION",op=  83,sd_prod=fonction,
7614                    fr="Lecture d une fonction dans un fichier ",
7615                    docu="U4.32.02-E",reentrant='n',
7616          UNITE           =SIMP(statut='o',typ='I' ),
7617          NOM_PARA        =SIMP(statut='f',typ='TXM',
7618                                into=("DX","DY","DZ","DRX","DRY","DRZ","TEMP",
7619                                      "INST","X","Y","Z","EPSI","FREQ","PULS","AMOR","ABSC",) ),
7620          NOM_RESU        =SIMP(statut='f',typ='TXM' ),
7621          INTERPOL        =SIMP(statut='f',typ='TXM',max=02,into=("NON","LIN","LOG") ),
7622          PROL_DROIT      =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
7623          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
7624          NOM_PARA_FONC   =SIMP(statut='f',typ='TXM',
7625                                into=("DX","DY","DZ","DRX","DRY","DRZ","TEMP",
7626                                      "INST","X","Y","Z","EPSI","FREQ","PULS","AMOR","ABSC",) ),
7627          INTERPOL_FONC   =SIMP(statut='f',typ='TXM',max=02,into=("NON","LIN","LOG") ),
7628          PROL_DROIT_FONC =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
7629          PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
7630          INFO            =SIMP(statut='f',typ='I',defaut= 2,into=( 1 , 2) ),
7631          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
7632 )  ;
7633 #& MODIF COMMANDE  DATE 11/02/98   AUTEUR SABJLMA P.LATRUBESSE 
7634 LIRE_INTE_SPEC=OPER(nom="LIRE_INTE_SPEC",op= 116,sd_prod=tabl_intsp,
7635                     fr="Lecture sur un fichier externe de  fonctions complexes pour créer une matrice interspectrale",
7636                     docu="U4.36.01-E",reentrant='n',
7637          UNITE           =SIMP(statut='o',typ='I' ),
7638          FORMAT          =SIMP(statut='f',typ='TXM',defaut="MODULE_PHASE",into=("REEL_IMAG","MODULE_PHASE") ),
7639          NOM_PARA        =SIMP(statut='f',typ='TXM',
7640                                into=("DX","DY","DZ","DRX","DRY","DRZ","TEMP",
7641                                      "INST","X","Y","Z","EPSI","FREQ","PULS","AMOR","ABSC",) ),
7642          NOM_RESU        =SIMP(statut='f',typ='TXM' ),
7643          INTERPOL        =SIMP(statut='f',typ='TXM',max=02,into=("NON","LIN","LOG") ),
7644          PROL_DROIT      =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
7645          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
7646          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
7647          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
7648 )  ;
7649 #& MODIF COMMANDE  DATE 19/06/2000   AUTEUR DURAND C.DURAND 
7650 LIRE_MAILLAGE=OPER(nom="LIRE_MAILLAGE",op=   1,sd_prod=maillage,
7651                    fr="Lecture d un fichier de maillage",
7652                    docu="U4.21.01-F",reentrant='n',
7653          UNITE           =SIMP(statut='f',typ='I',defaut= 20 ),
7654          FORMAT          =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","MED") ),
7655          ABSC_CURV       =FACT(statut='f',min=00,max=01,
7656            TOUT            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
7657          ),
7658          VERI_MAIL       =FACT(statut='d',min=01,max=01,
7659            APLAT           =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),  
7660          ),
7661          INFO_MED        =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
7662          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
7663 )  ;
7664 #& MODIF COMMANDE  DATE 02/10/96   AUTEUR CIBHHLV L.VIVAN 
7665 def lire_miss_3d_prod(TYPE_RESU,**args):
7666   if TYPE_RESU == "TRANS" : return dyna_trans
7667   if TYPE_RESU == "HARMO" : return dyna_harmo
7668   raise AsException("type de concept resultat non prevu")
7669
7670 LIRE_MISS_3D=OPER(nom="LIRE_MISS_3D",op= 163,sd_prod=lire_miss_3d_prod,
7671                   fr="Restitution au format MISS3D d une évolution harmonique ou transitoire",
7672                   docu="U7.02.31-C",reentrant='n',
7673          MACR_ELEM_DYNA  =SIMP(statut='o',typ=macr_elem_dyna ),
7674          UNITE           =SIMP(statut='f',typ='I',defaut= 27 ),
7675          TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="TRANS",into=("TRANS","HARMO") ),
7676          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
7677 )  ;
7678 #& MODIF COMMANDE  DATE 08/09/98   AUTEUR CIBHHLV L.VIVAN 
7679 LIRE_PLEXUS=OPER(nom="LIRE_PLEXUS",op= 184,sd_prod=evol_char,
7680                  fr=" ",
7681                  docu="U7.02.11-A",reentrant='n',
7682          regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),),
7683          UNITE           =SIMP(statut='f',typ='I',defaut= 19 ),
7684          FORMAT          =SIMP(statut='f',typ='TXM',defaut="IDEAS",into=("IDEAS",)),
7685          MAIL_PLEXUS     =SIMP(statut='o',typ=maillage ),
7686          MAILLAGE        =SIMP(statut='o',typ=maillage ),
7687          MODELE          =SIMP(statut='o',typ=modele ),
7688          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7689          NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),
7690          LIST_ORDRE      =SIMP(statut='f',typ=listis ),
7691          INST            =SIMP(statut='f',typ='R',max='**'),
7692          LIST_INST       =SIMP(statut='f',typ=listr8 ),
7693          b_prec_crit     =BLOC(condition = "LIST_INST != None or INST != None",
7694              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
7695              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",
7696                                    into=("RELATIF","ABSOLU") ),
7697          ),
7698          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
7699 )  ;
7700 #& MODIF COMMANDE  DATE 03/05/2000   AUTEUR CIBHHLV L.VIVAN
7701 def lire_resu_prod(TYPE_RESU,**args):
7702   if TYPE_RESU == "EVOL_CHAR" :  return evol_char
7703   if TYPE_RESU == "EVOL_THER" :  return evol_ther
7704   if TYPE_RESU == "EVOL_ELAS" :  return evol_elas
7705   if TYPE_RESU == "EVOL_NOLI" :  return evol_noli
7706   if TYPE_RESU == "DYNA_TRANS" : return dyna_trans
7707   if TYPE_RESU == "DYNA_HARMO" : return dyna_harmo
7708   if TYPE_RESU == "HARM_GENE" :  return harm_gene
7709   raise AsException("type de concept resultat non prevu")
7710
7711 LIRE_RESU=OPER(nom="LIRE_RESU",op=150,sd_prod=lire_resu_prod,docu="U7.02.01-C",reentrant='n',
7712                fr="Lecture de champs aux noeuds ou par éléments aux noeuds sur un fichier au format universel DEAS ou au format EnSight",
7713          regles=(UN_PARMI('MAILLAGE','MODELE'),),
7714          FORMAT          =SIMP(statut='f',typ='TXM',defaut="IDEAS",into=("IDEAS","ENSIGHT","MED") ),
7715          b_unite         =BLOC(condition="FORMAT=='IDEAS'",
7716            UNITE           =SIMP(statut='f',typ='I',defaut= 19 ),
7717          ),
7718          b_nom_fichier     =BLOC(condition="FORMAT=='ENSIGHT'",
7719            NOM_FICHIER     =SIMP(statut='f',typ='TXM'),
7720          ),
7721          TYPE_RESU       =SIMP(statut='o',typ='TXM',into=("EVOL_THER","EVOL_ELAS","EVOL_NOLI",
7722                                                           "DYNA_TRANS","DYNA_HARMO","HARM_GENE","EVOL_CHAR") ),
7723          b_evol_elas     =BLOC(condition="TYPE_RESU=='EVOL_ELAS'",
7724            NOM_CHAM        =SIMP(statut='o',typ='TXM',max='**',into=("DEPL",) ),
7725          ),
7726          b_evol_ther     =BLOC(condition="TYPE_RESU=='EVOL_THER'",
7727            NOM_CHAM        =SIMP(statut='o',typ='TXM',max='**',into=("TEMP","TEMP_PEAU") ),
7728          ),
7729          b_evol_char     =BLOC(condition="TYPE_RESU=='EVOL_CHAR'",
7730            NOM_CHAM        =SIMP(statut='o',typ='TXM',max='**',into=("PRES",) ),
7731          ),
7732          b_evol_noli     =BLOC(condition="TYPE_RESU=='EVOL_NOLI'",
7733            NOM_CHAM        =SIMP(statut='o',typ='TXM',max='**',into=("DEPL","VITE","ACCE","VARI_ELNO","SIEF_ELNO","EPSA_ELNO") ),
7734          ),
7735          b_dyna          =BLOC(condition="(TYPE_RESU=='DYNA_TRANS') or (TYPE_RESU=='DYNA_HARMO') or(TYPE_RESU=='HARM_GENE')",
7736            NOM_CHAM        =SIMP(statut='o',typ='TXM',max='**',into=("DEPL","VITE","ACCE",) ),
7737          ),
7738          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
7739          MAILLAGE        =SIMP(statut='f',typ=maillage),
7740          MODELE          =SIMP(statut='f',typ=modele),
7741          NB_VARI         =SIMP(statut='f',typ='I' ),
7742          FORMAT_IDEAS    =FACT(statut='f',min=01,max='**',
7743            regles=(UN_PARMI('POSI_INST','POSI_FREQ'),),
7744            NOM_CHAM        =SIMP(statut='o',typ='TXM',max='**',into=("TEMP","DEPL","VITE","ACCE","PRES","VARI_ELNO",
7745                                                                      "SIEF_ELNO","EPSA_ELNO","TEMP_PEAU") ),
7746            NUME_DATASET    =SIMP(statut='f',typ='I',into=(55,57,2414) ),
7747            RECORD_3        =SIMP(statut='f',typ='I',max='**'),
7748            RECORD_6        =SIMP(statut='f',typ='I',max='**'),
7749            RECORD_9        =SIMP(statut='f',typ='I',max='**'),
7750            POSI_ORDRE      =SIMP(statut='o',typ='I',max='**'),
7751            POSI_INST       =SIMP(statut='f',typ='I',max='**'),
7752            POSI_FREQ       =SIMP(statut='f',typ='I',max='**'),
7753            NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),
7754          ),
7755          b_extrac        =BLOC(condition="1",fr="accès à un champ dans la structure de données résultat",
7756            regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST','FREQ','LIST_FREQ'),),
7757            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7758            NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),
7759            INST            =SIMP(statut='f',typ='R',max='**'),
7760            LIST_INST       =SIMP(statut='f',typ=listr8),
7761            LIST_ORDRE      =SIMP(statut='f',typ=listis),
7762            FREQ            =SIMP(statut='f',typ='R',max='**'),
7763            LIST_FREQ       =SIMP(statut='f',typ=listr8),
7764              
7765            b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)or(FREQ != None)or(LIST_FREQ != None)",
7766              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
7767              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
7768            ),
7769          ),
7770          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
7771 )  ;
7772 #& MODIF COMMANDE  DATE 19/06/2000   AUTEUR DURAND C.DURAND 
7773 def macr_adap_mail_prod(self,MAJ_CHAMP,ADAPTATION,**args):
7774   mail1=ADAPTATION['MAILLAGE_N']
7775   self.type_sdprod(mail1,maillage)
7776   mail2=ADAPTATION['MAILLAGE_NP1']
7777   self.type_sdprod(mail2,maillage)
7778   if MAJ_CHAMP == None:return None
7779   for ch in MAJ_CHAMP:
7780     t=ch['TYPE_CHAMP']
7781     if t == 'CHAM_NO_TEMP_R':self.type_sdprod(ch['CHAMP_MAJ'],cham_no_temp_r)
7782     if t == 'CHAM_NO_DEPL_R':self.type_sdprod(ch['CHAMP_MAJ'],cham_no_depl_r)
7783   return None
7784
7785 MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=-24,sd_prod=macr_adap_mail_prod,
7786                      fr="Adapter un maillage avec le logiciel HOMARD.",
7787                      docu="U7.03.01-A",
7788          VERSION_HOMARD  =SIMP(statut='f',typ='TXM',defaut="V3_15",    
7789                                into=("V3_15","V3_N","V3_N_PERSO",) ),
7790          ADAPTATION      =FACT(statut='o',min=01,max=01,
7791            regles=(
7792                    UN_PARMI('LIBRE','UNIFORME'),
7793                   ),
7794            LIBRE           =SIMP(statut='f',typ='TXM',
7795                                  into=("RAFF_DERA","RAFFINEMENT","DERAFFINEMENT") ),
7796            UNIFORME        =SIMP(statut='f',typ='TXM',
7797                                  into=("RAFFINEMENT","DERAFFINEMENT","RIEN") ),
7798            MAILLAGE_N      =SIMP(statut='o',typ=(CO,maillage) ),
7799            MAILLAGE_NP1    =SIMP(statut='o',typ=(CO,maillage) ),
7800            b_adaptation_libre   =BLOC( condition = " LIBRE != None " ,
7801                            fr="Indicateur d erreur",
7802                            RESULTAT_N      =SIMP(statut='o',typ=(evol_elas,evol_noli,evol_ther ) ),
7803                            INDICATEUR      =SIMP(statut='o',typ='TXM',     
7804                                                  into=("ERRE_ELEM_NOZ1","ERRE_ELEM_NOZ2","ERRE_ELGA_NORE") ),
7805                            NOM_CMP_INDICA  =SIMP(statut='f',typ='TXM',defaut="ERREST",    
7806                                                  into=("ERREST","NUEST") ),
7807                            NUME_ORDRE      =SIMP(statut='f',typ='I' ),  
7808                            ) ,
7809            b_raffinement_libre   =BLOC( condition = "( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'RAFFINEMENT' )" ,
7810                            fr="Critère de raffinement.",
7811                            regles=(UN_PARMI ( 'CRIT_RAFF_ABS', 'CRIT_RAFF_REL', 'CRIT_RAFF_PE' ),),
7812                            CRIT_RAFF_ABS   =SIMP(statut='f',typ='R' ),  
7813                            CRIT_RAFF_REL   =SIMP(statut='f',typ='R' ),  
7814                            CRIT_RAFF_PE    =SIMP(statut='f',typ='R' ),  
7815                            ) ,
7816            b_deraffinement_libre   =BLOC ( condition = "( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'DERAFFINEMENT' )" ,
7817                              fr="Crit\350re de déraffinement.",
7818                              regles=(UN_PARMI ( 'CRIT_DERA_ABS', 'CRIT_DERA_REL', 'CRIT_DERA_PE' ),),
7819                              CRIT_DERA_ABS   =SIMP(statut='f',typ='R' ),  
7820                              CRIT_DERA_REL   =SIMP(statut='f',typ='R' ),  
7821                              CRIT_DERA_PE    =SIMP(statut='f',typ='R' ),  
7822                            ) ,
7823            b_raffinement =BLOC ( condition = " ( ( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'RAFFINEMENT' ) ) or ( ( UNIFORME != None ) and ( UNIFORME == 'RAFFINEMENT' ) ) " ,
7824                              NIVE_MAX        =SIMP(statut='f',typ='I' ),  
7825                            ) ,
7826            b_deraffinement =BLOC ( condition = " ( ( LIBRE == 'RAFF_DERA' ) or ( LIBRE == 'DERAFFINEMENT' ) ) or ( ( UNIFORME != None ) and ( UNIFORME == 'DERAFFINEMENT' ) ) " ,
7827                              NIVE_MIN        =SIMP(statut='f',typ='I' ),
7828                            ) ,
7829          ),
7830          MAJ_CHAMP       =FACT(statut='f',min=01,max='**',
7831            RESULTAT        =SIMP(statut='o',
7832                                  typ=(evol_elas,evol_noli,evol_ther) ),
7833            NOM_CHAM        =SIMP(statut='o',typ='TXM' ),  
7834            NUME_ORDRE      =SIMP(statut='f',typ='I' ),  
7835            CHAMP_MAJ       =SIMP(statut='o',typ=(CO,cham_gd)),
7836            TYPE_CHAMP      =SIMP(statut='o',typ='TXM',     
7837                                  into=("CHAM_NO_TEMP_R","CHAM_NO_DEPL_R") ),
7838          ),
7839          QUALITE         =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
7840          INTERPENETRATION=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
7841          MENAGE          =SIMP(statut='f',typ='TXM',into=("MAILLAGE","SOLUTION","TOUT") ),
7842          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
7843 )  ;
7844 #& MODIF COMMANDE  DATE 20/10/2000   AUTEUR F1BHHAJ J.ANGLES 
7845 def macr_ascouf_calc_prod(self,MODELE,**args):
7846   self.type_sdprod(MODELE,modele)
7847   return evol_noli
7848
7849 MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC",op= -20,sd_prod=macr_ascouf_calc_prod,
7850                       fr=" ",
7851                       docu="U4.CF.20-A",reentrant='n',
7852          regles=(UN_PARMI('COMP_INCR','COMP_ELAS'),),
7853          TYPE_MAILLAGE   =SIMP(statut='o',typ='TXM',     
7854                                into=("SAIN",
7855                                      "FISS_COUDE",
7856                                      "SOUS_EPAIS_COUDE"
7857                                      ) ),
7858          CL_BOL_P2_GV    =FACT(statut='f',min=01,max=01,
7859            ANGLE           =SIMP(statut='o',typ='R' ),  
7860            AZIMUT          =SIMP(statut='f',typ='R',defaut= 90. ),  
7861          ),
7862          MAILLAGE        =SIMP(statut='o',typ=maillage ),
7863          MODELE          =SIMP(statut='o',typ=(CO,modele)),
7864          AFFE_MATERIAU   =FACT(statut='o',min=01,max=03,
7865            regles=(UN_PARMI('TOUT','GROUP_MA'),),
7866            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7867            GROUP_MA        =SIMP(statut='f',typ='TXM',into=("COUDE","BOL") ),
7868            MATER           =SIMP(statut='o',typ=mater ),
7869            TEMP_REF        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
7870          ),
7871          PRES_REP        =FACT(statut='f',min=01,max=01,
7872            PRES            =SIMP(statut='o',typ='R' ),  
7873            EFFE_FOND_P1    =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
7874            FONC_MULT       =SIMP(statut='f',typ=fonction ),
7875          ),
7876          ECHANGE         =FACT(statut='f',min=01,max=01,
7877            COEF_H          =SIMP(statut='f',typ=fonction ),
7878            TEMP_EXT        =SIMP(statut='f',typ=fonction ),
7879          ),
7880          TORS_P1         =FACT(statut='f',min=01,max=06,
7881            regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
7882            FX              =SIMP(statut='f',typ='R' ),  
7883            FY              =SIMP(statut='f',typ='R' ),  
7884            FZ              =SIMP(statut='f',typ='R' ),  
7885            MX              =SIMP(statut='f',typ='R' ),  
7886            MY              =SIMP(statut='f',typ='R' ),  
7887            MZ              =SIMP(statut='f',typ='R' ),  
7888            FONC_MULT       =SIMP(statut='f',typ=fonction ),
7889          ),
7890          COMP_INCR       =FACT(statut='f',min=01,max=01,
7891            RELATION        =SIMP(statut='o',typ='TXM',into=("VMIS_ISOT_TRAC",) ),
7892            VMIS_ISOT_TRAC  =SIMP(statut='c',typ='I',defaut= 2,into=( 2 ,) ),
7893          ),
7894          COMP_ELAS       =FACT(statut='f',min=01,max=01,
7895            RELATION        =SIMP(statut='o',typ='TXM',into=("ELAS","ELAS_VMIS_TRAC") ),
7896            ELAS            =SIMP(statut='c',typ='I',defaut= 1,into=( 1 ,) ),
7897            ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut= 1,into=( 1 ,) ),
7898          ),
7899          SOLVEUR         =FACT(statut='d',min=01,max=01,
7900            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
7901            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
7902              RENUM           =SIMP(statut='f',typ='TXM',defaut="MDA",into=("MD","MDA","METIS") ),
7903            ),
7904            b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
7905              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
7906              TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400. ),
7907            ),
7908            b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
7909                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
7910              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
7911              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),             
7912            ),
7913            b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
7914              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC","SANS","DIAG") ),
7915              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
7916              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
7917              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
7918              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
7919            ),
7920 #  A quoi sert eps           
7921            EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
7922            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
7923          ),
7924          CONVERGENCE     =FACT(statut='d',min=01,max=01,
7925            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),  
7926            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),  
7927            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),  
7928            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),  
7929            RESI_INTE_RELA  =SIMP(statut='f',typ='R'     
7930                                 ,defaut= 1.0E-6),  
7931            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),  
7932            ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut= 0 ),  
7933            TYPE_MATR_COMP  =SIMP(statut='f',typ='TXM',defaut="TANG_VIT",into=("TANG_VIT",)),
7934            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
7935          ),
7936          NEWTON          =FACT(statut='d',min=01,max=01,
7937            REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),  
7938            PREDICTION      =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ),
7939            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
7940            REAC_ITER       =SIMP(statut='f',typ='I',defaut=0),  
7941            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
7942          ),
7943          RECH_LINEAIRE   =FACT(statut='f',min=01,max=01,
7944            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),  
7945            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),  
7946          ),
7947          INCREMENT       =FACT(statut='o',min=01,max=01,
7948            LIST_INST       =SIMP(statut='o',typ=listr8 ),
7949            NUME_INST_INIT  =SIMP(statut='f',typ='I' ),  
7950            NUME_INST_FIN   =SIMP(statut='f',typ='I' ),  
7951          ),
7952          THETA_3D        =FACT(statut='f',min=01,max='**',
7953            R_INF           =SIMP(statut='o',typ='R' ),  
7954            R_SUP           =SIMP(statut='o',typ='R' ),  
7955          ),
7956          IMPR_TABLE      =FACT(statut='f',min=01,max=01,
7957            regles=(UN_PARMI('TOUT_PARA','NOM_PARA', ),
7958             PRESENT_PRESENT('TOUT_PARA','ANGLE',    ),
7959                    UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL',),),
7960            NOM_PARA        =SIMP(statut='f',typ='TXM',max=04,     
7961                                  into=("TRESCA_MEMBRANE",
7962                                        "TRESCA_MFLE",
7963                                        "TRESCA",
7964                                        "SI_LONG"
7965                                        ) ),
7966            TOUT_PARA       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7967            ANGLE           =SIMP(statut='f',typ='R',max='**' ),
7968            R_CINTR         =SIMP(statut='f',typ='R',max='**' ),
7969            POSI_CURV_LONGI =SIMP(statut='f',typ='R',max='**' ),
7970            POSI_ANGUL      =SIMP(statut='f',typ='R',max='**' ),
7971          ),
7972          IMPRESSION      =FACT(statut='f',min=01,max=01,
7973            FORMAT          =SIMP(statut='f',typ='TXM',defaut="RESULTAT",   
7974                                  into=("RESULTAT","ASTER","IDEAS","CASTEM") ),
7975            VERSION         =SIMP(statut='f',typ='I',defaut= 5,into=(4,5) ),
7976          ),
7977          TITRE           =SIMP(statut='f',typ='TXM' ),  
7978          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
7979 )  ;
7980 #& MODIF COMMANDE  DATE 02/10/2000   AUTEUR F1BHHAJ J.ANGLES 
7981 MACR_ASCOUF_MAIL=MACRO(nom="MACR_ASCOUF_MAIL",op= -19,sd_prod=maillage,
7982                       fr=" ",docu="U4.CF.10-A",reentrant='n',
7983          regles=(EXCLUS('SOUS_EPAIS_COUDE','FISS_COUDE','SOUS_EPAIS_MULTI'),),
7984          EXEC_MAILLAGE   =FACT(statut='o',min=01,max=01,
7985            LOGICIEL        =SIMP(statut='o',typ='TXM',into=("GIBI",) ),
7986            UNITE_DATG      =SIMP(statut='f',typ='I',defaut=70),  
7987            UNITE_MGIB      =SIMP(statut='f',typ='I',defaut=19),  
7988            NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,4,5,6,7,8,9,10,11)),
7989          ),
7990          TYPE_ELEM       =SIMP(statut='f',typ='TXM',defaut="CU20",into=("CU20","CUB8") ),
7991          COUDE           =FACT(statut='o',min=01,max=01,
7992            regles=(   UN_PARMI('DEXT', 'DEXT_T1'),
7993                       ENSEMBLE('DEXT', 'EPAIS'),
7994                       ENSEMBLE('DEXT_T1', 'EPAIS_T1', 'EPAIS_T2',
7995                                'ANGL_TETA1'),
7996                       ENSEMBLE('EPAIS_TI', 'ANGL_TETA2'),
7997                 PRESENT_ABSENT('ABSC_CURV_TRAN', 'POSI_ANGU_TRAN'),
7998                PRESENT_PRESENT('ABSC_CURV_TRAN', 'DEXT_T1'),
7999                PRESENT_PRESENT('POSI_ANGU_TRAN', 'DEXT_T1'),
8000                PRESENT_PRESENT('EPAIS_TI', 'DEXT_T1'),
8001                 PRESENT_ABSENT('DEXT_T1', 'SUR_EPAIS'),
8002                 PRESENT_ABSENT('DEXT_T1', 'BOL_P2'),),
8003            ANGLE           =SIMP(statut='o',typ='R' ),  
8004            R_CINTR         =SIMP(statut='o',typ='R' ),  
8005            L_TUBE_P1       =SIMP(statut='o',typ='R' ),  
8006            L_TUBE_P2       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
8007            SUR_EPAIS       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
8008            BOL_P2          =SIMP(statut='f',typ='TXM',into=("ASP_MPP","CUVE","GV") ),
8009            NB_ELEM_EPAIS   =SIMP(statut='f',typ='I',defaut= 3 ),  
8010            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
8011            TRANSFORMEE     =SIMP(statut='f',typ='TXM',defaut="COUDE",into=("COUDE","TUBE") ),
8012            TRAN_EPAIS      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
8013            DEXT            =SIMP(statut='f',typ='R' ),  
8014            EPAIS           =SIMP(statut='f',typ='R' ),  
8015            DEXT_T1         =SIMP(statut='f',typ='R' ),  
8016            EPAIS_T1        =SIMP(statut='f',typ='R' ),  
8017            EPAIS_T2        =SIMP(statut='f',typ='R' ),  
8018            EPAIS_TI        =SIMP(statut='f',typ='R' ),  
8019            ANGL_TETA1      =SIMP(statut='f',typ='R' ),  
8020            ANGL_TETA2      =SIMP(statut='f',typ='R' ),  
8021            ABSC_CURV_TRAN  =SIMP(statut='f',typ='R' ),  
8022            POSI_ANGU_TRAN  =SIMP(statut='f',typ='R' ),  
8023          ),
8024          SOUS_EPAIS_COUDE=FACT(statut='f',min=01,max=01,
8025            regles=(UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL'),
8026                    UN_PARMI('POSI_CURV_CIRC','AZIMUT'),),
8027            TYPE            =SIMP(statut='o',typ='TXM',into=("AXIS","ELLI") ),
8028            AXE_CIRC        =SIMP(statut='f',typ='R' ),  
8029            AXE_LONGI       =SIMP(statut='o',typ='R' ),  
8030            PROFONDEUR      =SIMP(statut='o',typ='R' ),  
8031            POSI_CURV_LONGI =SIMP(statut='f',typ='R' ),  
8032            POSI_ANGUL      =SIMP(statut='f',typ='R' ),  
8033            POSI_CURV_CIRC  =SIMP(statut='f',typ='R' ),  
8034            AZIMUT          =SIMP(statut='f',typ='R' ),  
8035            SOUS_EPAIS      =SIMP(statut='o',typ='TXM',into=("INTERNE","EXTERNE") ),
8036            NB_ELEM_LONGI   =SIMP(statut='o',typ='I' ),  
8037            NB_ELEM_CIRC    =SIMP(statut='o',typ='I' ),  
8038            NB_ELEM_RADI    =SIMP(statut='f',typ='I',defaut= 3 ),  
8039            EMPREINTE       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
8040          ),
8041          SOUS_EPAIS_MULTI=FACT(statut='f',min=01,max='**',
8042            regles=(UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL'),
8043                    UN_PARMI('POSI_CURV_CIRC','AZIMUT'),),
8044            TYPE            =SIMP(statut='o',typ='TXM',into=("AXIS","ELLI") ),
8045            AXE_CIRC        =SIMP(statut='f',typ='R' ),  
8046            AXE_LONGI       =SIMP(statut='o',typ='R' ),  
8047            PROFONDEUR      =SIMP(statut='o',typ='R' ),  
8048            POSI_CURV_LONGI =SIMP(statut='f',typ='R' ),  
8049            POSI_ANGUL      =SIMP(statut='f',typ='R' ),  
8050            POSI_CURV_CIRC  =SIMP(statut='f',typ='R' ),  
8051            AZIMUT          =SIMP(statut='f',typ='R' ),  
8052            SOUS_EPAIS      =SIMP(statut='o',typ='TXM',into=("INTERNE","EXTERNE") ),
8053            NB_ELEM_LONGI   =SIMP(statut='o',typ='I' ),  
8054            NB_ELEM_CIRC    =SIMP(statut='o',typ='I' ),  
8055            EMPREINTE       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
8056          ),
8057          FISS_COUDE      =FACT(statut='f',min=01,max=01,
8058            regles=(UN_PARMI('ABSC_CURV','POSI_ANGUL'),),
8059            AXIS            =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ),  
8060            PROFONDEUR      =SIMP(statut='o',typ='R' ),  
8061            LONGUEUR        =SIMP(statut='o',typ='R' ),  
8062            ABSC_CURV       =SIMP(statut='f',typ='R' ),  
8063            POSI_ANGUL      =SIMP(statut='f',typ='R' ),  
8064            FISSURE         =SIMP(statut='o',typ='TXM',into=("DEB_INT","DEB_EXT") ),
8065            AZIMUT          =SIMP(statut='f',typ='R',defaut= 90. ),  
8066            ORIEN           =SIMP(statut='o',typ='R',
8067                                  into=(45.,-45.,90.,0.E+0) ),
8068            NB_TRANCHE      =SIMP(statut='o',typ='I' ),  
8069            NB_SECTEUR      =SIMP(statut='o',typ='I' ),  
8070            NB_COURONNE     =SIMP(statut='o',typ='I' ),  
8071            RAYON_TORE      =SIMP(statut='f',typ='R' ),  
8072            COEF_MULT_RC2   =SIMP(statut='f',typ='R',defaut= 1. ),  
8073            COEF_MULT_RC3   =SIMP(statut='f',typ='R' ),  
8074            ANGL_OUVERTURE  =SIMP(statut='f',typ='R',defaut= 0.5 ),  
8075          ),
8076          IMPRESSION      =FACT(statut='f',min=01,max='**',
8077            regles=(PRESENT_PRESENT('FICHIER','UNITE'),),
8078            FORMAT          =SIMP(statut='f',typ='TXM',defaut="ASTER",   
8079                                  into=("ASTER","IDEAS","CASTEM") ),
8080            FICHIER         =SIMP(statut='f',typ='TXM' ),  
8081            UNITE           =SIMP(statut='f',typ='I' ),  
8082            VERSION         =SIMP(statut='f',typ='I',defaut= 5,into=(4,5) ),
8083            NIVE_GIBI       =SIMP(statut='f',typ='I',defaut= 10,into=(3,10) ),
8084          ),
8085          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
8086 )  ;
8087 #& MODIF COMMANDE  DATE 20/10/2000   AUTEUR F1BHHAJ J.ANGLES 
8088 def macr_aspic_calc_prod(self,RESU_THER,MODELE,**args):
8089   if MODELE != None:self.type_sdprod(MODELE,modele)
8090   if RESU_THER != None:self.type_sdprod(RESU_THER,evol_ther)
8091   return evol_noli
8092
8093 MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC",op=-17,sd_prod=macr_aspic_calc_prod,
8094                     fr=" ",docu="U4.PC.20-A",reentrant='n',
8095          TYPE_MAILLAGE   =SIMP(statut='o',typ='TXM',
8096                                into=("SAIN_FIN","SAIN_GROS","FISS_COUR_DEB","FISS_COUR_NONDEB","FISS_LONG_DEB",
8097                                      "FISS_LONG_NONDEB","FISS_AXIS_DEB","FISS_AXIS_NONDEB") ),
8098          TUBULURE        =FACT(statut='f',min=01,max=01,
8099            TYPE            =SIMP(statut='f',typ='TXM',defaut="TYPE_1",into=("TYPE_1","TYPE_2") ),
8100          ),
8101          MAILLAGE        =SIMP(statut='o',typ=maillage),
8102          MODELE          =SIMP(statut='f',typ=(CO,modele)),
8103          RESU_THER       =SIMP(statut='f',typ=(CO,evol_ther)),
8104          AFFE_MATERIAU   =FACT(statut='o',min=01,max=03,
8105            regles=(UN_PARMI('TOUT','GROUP_MA'),),
8106            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
8107            GROUP_MA        =SIMP(statut='f',typ='TXM',into=("TUBU","CORP","SOUD","SOUDCORP","SOUDTUBU") ),
8108            MATER           =SIMP(statut='o',typ=mater),
8109            TEMP_REF        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
8110          ),
8111          EQUILIBRE       =FACT(statut='o',min=01,max=01,
8112            NOEUD           =SIMP(statut='o',typ=no),
8113          ),
8114          PRES_REP        =FACT(statut='o',min=01,max=01,
8115            PRES            =SIMP(statut='o',typ='R'),  
8116            NOEUD           =SIMP(statut='f',typ=no),
8117            EFFE_FOND       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
8118            FONC_MULT       =SIMP(statut='f',typ=fonction),
8119          ),
8120          ECHANGE         =FACT(statut='f',min=01,max=01,
8121            COEF_H_TUBU     =SIMP(statut='o',typ=fonction),
8122            COEF_H_CORP     =SIMP(statut='o',typ=fonction),
8123            TEMP_EXT        =SIMP(statut='o',typ=fonction),
8124          ),
8125          TORS_CORP       =FACT(statut='f',min=01,max=06,
8126            regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
8127            NOEUD           =SIMP(statut='o',typ=no),
8128            FX              =SIMP(statut='f',typ='R'),  
8129            FY              =SIMP(statut='f',typ='R'),  
8130            FZ              =SIMP(statut='f',typ='R'),  
8131            MX              =SIMP(statut='f',typ='R'),  
8132            MY              =SIMP(statut='f',typ='R'),  
8133            MZ              =SIMP(statut='f',typ='R'),  
8134            FONC_MULT       =SIMP(statut='f',typ=fonction),
8135          ),
8136          TORS_TUBU       =FACT(statut='f',min=01,max=06,
8137            regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
8138            FX              =SIMP(statut='f',typ='R'),  
8139            FY              =SIMP(statut='f',typ='R'),  
8140            FZ              =SIMP(statut='f',typ='R'),  
8141            MX              =SIMP(statut='f',typ='R'),  
8142            MY              =SIMP(statut='f',typ='R'),  
8143            MZ              =SIMP(statut='f',typ='R'),  
8144            FONC_MULT       =SIMP(statut='f',typ=fonction),
8145          ),
8146          COMP_ELAS       =FACT(statut='o',min=01,max=01,
8147            RELATION        =SIMP(statut='o',typ='TXM',into=("ELAS","ELAS_VMIS_TRAC")),
8148            ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
8149            ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
8150          ),
8151          THETA_3D        =FACT(statut='f',min=01,max='**',
8152            R_INF           =SIMP(statut='o',typ='R'),  
8153            R_SUP           =SIMP(statut='o',typ='R'),  
8154          ),
8155          OPTION          =SIMP(statut='f',typ='TXM',into=("CALC_G_MAX",) ),
8156          BORNES          =FACT(statut='f',min=01,max='**',
8157            NUME_ORDRE      =SIMP(statut='o',typ='I'),  
8158            VALE_MIN        =SIMP(statut='o',typ='R'),  
8159            VALE_MAX        =SIMP(statut='o',typ='R'),  
8160          ),
8161          SOLVEUR         =FACT(statut='d',min=01,max=01,
8162            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
8163            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
8164              RENUM           =SIMP(statut='f',typ='TXM',defaut="MDA",into=("MD","MDA","METIS") ),
8165            ),
8166            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
8167              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
8168              TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400. ),
8169            ),
8170            b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
8171                                    fr="Paramètres relatifs à la non iversibilité de la matrice à factorise",
8172              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
8173              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
8174            ),
8175            b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
8176              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC","SANS","DIAG") ),
8177              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
8178              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
8179              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
8180              SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
8181              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
8182            ),
8183          ),
8184          CONVERGENCE     =FACT(statut='d',min=01,max=01,
8185            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),  
8186            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),  
8187            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),  
8188            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),  
8189            RESI_INTE_RELA  =SIMP(statut='f',typ='R',defaut=1.0E-6),  
8190            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut=10),  
8191            ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut=0),  
8192            TYPE_MATR_COMP  =SIMP(statut='f',typ='TXM',defaut="TANG_VIT",into=("TANG_VIT",)),
8193            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
8194          ),
8195          NEWTON          =FACT(statut='d',min=01,max=01,
8196            REAC_INCR       =SIMP(statut='f',typ='I',defaut=1),  
8197            PREDICTION      =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE","EXTRAPOL","DEPL_CALCULE")),
8198            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE")),
8199            REAC_ITER       =SIMP(statut='f',typ='I',defaut= 0),  
8200          ),
8201          RECH_LINEAIRE   =FACT(statut='d',min=01,max=01,
8202            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut=1.0E-3),  
8203            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut=3),  
8204          ),
8205          INCREMENT       =FACT(statut='o',min=01,max=01,
8206            LIST_INST       =SIMP(statut='o',typ=listr8),
8207            NUME_INST_INIT  =SIMP(statut='f',typ='I'),  
8208            NUME_INST_FIN   =SIMP(statut='f',typ='I'),  
8209          ),
8210          PAS_AZIMUT      =SIMP(statut='f',typ='I',defaut=1),  
8211          IMPRESSION      =FACT(statut='f',min=01,max=01,
8212            FORMAT          =SIMP(statut='f',typ='TXM',defaut="RESULTAT",into=("RESULTAT","ASTER","CASTEM","IDEAS")),
8213            VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
8214            NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
8215          ),
8216          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
8217          TITRE           =SIMP(statut='f',typ='TXM'),  
8218 )  ;
8219 #& MODIF COMMANDE  DATE 01/02/2000   AUTEUR CIBHHBC B.CIREE 
8220 MACR_ASPIC_MAIL=MACRO(nom="MACR_ASPIC_MAIL",op= -16,sd_prod=maillage,reentrant='n',
8221                     fr=" ",docu="U4.PC.10-A",
8222          TYPE_ELEM       =SIMP(statut='f',typ='TXM',defaut="CU20",into=("CU20","CUB8")),
8223          RAFF_MAIL       =SIMP(statut='f',typ='TXM',defaut="GROS",into=("GROS","FIN")),
8224          EXEC_MAILLAGE   =FACT(statut='o',min=01,max=01,
8225            LOGICIEL        =SIMP(statut='o',typ='TXM',into=("GIBI",)),
8226            UNITE_DATG      =SIMP(statut='f',typ='I',defaut=70),  
8227            UNITE_MGIB      =SIMP(statut='f',typ='I',defaut=19),  
8228            NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,4,5,6,7,8,9,10,11)),
8229          ),
8230          TUBULURE        =FACT(statut='o',min=01,max=01,
8231            E_BASE          =SIMP(statut='o',typ='R'),  
8232            DEXT_BASE       =SIMP(statut='o',typ='R'),  
8233            L_BASE          =SIMP(statut='o',typ='R'),  
8234            L_CHANF         =SIMP(statut='o',typ='R'),  
8235            E_TUBU          =SIMP(statut='o',typ='R'),  
8236            DEXT_TUBU       =SIMP(statut='o',typ='R'),  
8237            Z_MAX           =SIMP(statut='o',typ='R'),  
8238            TYPE            =SIMP(statut='f',typ='TXM',defaut="TYPE_1",into=("TYPE_1","TYPE_2")),
8239            L_PENETR        =SIMP(statut='f',typ='R',defaut= 0.0E+0),  
8240          ),
8241          SOUDURE         =FACT(statut='o',min=01,max=01,
8242            H_SOUD          =SIMP(statut='o',typ='R'),  
8243            ANGL_SOUD       =SIMP(statut='o',typ='R'),  
8244            JEU_SOUD        =SIMP(statut='o',typ='R'),  
8245          ),
8246          CORPS           =FACT(statut='o',min=01,max=01,
8247            E_CORP          =SIMP(statut='o',typ='R'),  
8248            DEXT_CORP       =SIMP(statut='o',typ='R'),  
8249            X_MAX           =SIMP(statut='o',typ='R'),  
8250          ),
8251          FISS_SOUDURE    =FACT(statut='f',min=01,max=01,
8252            TYPE            =SIMP(statut='o',typ='TXM',into=("LONGUE","COURTE")),
8253            AXIS            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
8254            PROFONDEUR      =SIMP(statut='o',typ='R'),  
8255            LONGUEUR        =SIMP(statut='f',typ='R'),  
8256            AZIMUT          =SIMP(statut='o',typ='R'),  
8257            RAYON_TORE      =SIMP(statut='f',typ='R'),  
8258            POSITION        =SIMP(statut='o',typ='TXM',into=("DROIT","INCLINE")),
8259            FISSURE         =SIMP(statut='o',typ='TXM',into=("DEB_INT","DEB_EXT","NON_DEB","TRAVERS")),
8260            LIGA_INT        =SIMP(statut='f',typ='R'),  
8261            ANGL_OUVERTURE  =SIMP(statut='f',typ='R',defaut= 0.0E+0),  
8262            COEF_MULT_RC1   =SIMP(statut='f',typ='R'),  
8263            COEF_MULT_RC2   =SIMP(statut='f',typ='R'),  
8264            COEF_MULT_RC3   =SIMP(statut='f',typ='R'),  
8265            NB_TRANCHE      =SIMP(statut='f',typ='I'),  
8266            NB_SECTEUR      =SIMP(statut='f',typ='I'),  
8267            NB_COURONNE     =SIMP(statut='f',typ='I'),  
8268          ),
8269          IMPRESSION      =FACT(statut='f',min=01,max='**',
8270            regles=(PRESENT_PRESENT('FICHIER','UNITE'),),
8271            FORMAT          =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","IDEAS","CASTEM")),
8272            FICHIER         =SIMP(statut='f',typ='TXM'),  
8273            UNITE           =SIMP(statut='f',typ='I'),  
8274            VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
8275            NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
8276          ),
8277          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
8278 )  ;
8279 #& MODIF COMMANDE  DATE 02/10/96   AUTEUR CIBHHLV L.VIVAN
8280 MACR_ELEM_DYNA=OPER(nom="MACR_ELEM_DYNA",op=  81,sd_prod=macr_elem_dyna,
8281                     fr="Définition d un macro élément pour analyse modale ou harmonique par sous structuration dynamique",
8282                     docu="U4.65.01-D",reentrant='n',
8283          regles=(EXCLUS('MATR_AMOR','AMOR_REDUIT' ),),
8284          BASE_MODALE     =SIMP(statut='o',typ=base_modale ),
8285          MATR_RIGI       =SIMP(statut='f',typ=matr_asse_depl_r ),
8286          MATR_MASS       =SIMP(statut='f',typ=matr_asse_depl_r ),
8287          MATR_AMOR       =SIMP(statut='f',typ=matr_asse_depl_r ),
8288          AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),         
8289          OPTION          =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("CLASSIQUE","RITZ") ),
8290 )  ;
8291 #& MODIF COMMANDE DATE 08/03/94 AUTEUR VABHHT2 G.BERTRAND
8292 MACR_ELEM_STAT=OPER(nom="MACR_ELEM_STAT",op=86,sd_prod=macr_elem_stat,docu="U4.62.01-E",reentrant='f',
8293                     fr="Définition d un macro-élément pour l analyse statique par sous structuration",
8294         regles=(AU_MOINS_UN('DEFINITION','RIGI_MECA','MASS_MECA','CAS_CHARGE'),  
8295                 ENSEMBLE('DEFINITION','EXTERIEUR'),),
8296          DEFINITION      =FACT(statut='f',min=1,max=1,
8297            MODELE          =SIMP(statut='o',typ=modele),
8298            CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
8299            CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
8300            CHAR_MACR_ELEM  =SIMP(statut='f',typ=char_meca),
8301            INST            =SIMP(statut='f',typ='R',defaut=0.0E+0 ),  
8302            NMAX_CAS        =SIMP(statut='f',typ='I',defaut=10),  
8303            NMAX_CHAR       =SIMP(statut='f',typ='I',defaut=10),  
8304          ),
8305          EXTERIEUR       =FACT(statut='f',min=1,max=1,
8306            regles=(AU_MOINS_UN('NOEUD','GROUP_NO'),),
8307            NOEUD           =SIMP(statut='f',typ=no,max='**'),
8308            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
8309          ),
8310          RIGI_MECA       =FACT(statut='f',min=1,max=1,
8311            TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400.),  
8312          ),
8313          MASS_MECA       =FACT(statut='f',min=1,max=1,
8314            BIDO1           =SIMP(statut='f',typ='I',defaut=0),  
8315          ),
8316          CAS_CHARGE      =FACT(statut='f',min=1,max='**',
8317            NOM_CAS         =SIMP(statut='o',typ='TXM'),  
8318            SUIV            =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
8319            CHARGE          =SIMP(statut='f',typ=char_meca,max='**'),
8320            INST            =SIMP(statut='f',typ='R',defaut=0.E+0),  
8321          ),
8322 )  ;
8323 #& MODIF COMMANDE  DATE 15/09/1999   AUTEUR F1BHHAJ J.ANGLES 
8324 MACR_GOUJ2E_CALC=MACRO(nom="MACR_GOUJ2E_CALC",op=-23,sd_prod=evol_noli,
8325                       fr=" ",docu="U4.GJ.20-A",reentrant='n',
8326          MAILLAGE        =SIMP(statut='o',typ=maillage),
8327          DEFI_GOUJ       =FACT(statut='o',min=01,max=01,
8328            TYPE            =SIMP(statut='o',typ='TXM',into=("M33","M64","M90","M115","M155","M180","M186")),
8329            VARIANTE        =SIMP(statut='o',typ='TXM',into=("A","B","C","D","E","F","G","H","I","J","K","L","M",  
8330                                                             "N","O","P","Q","R","S","T","U","V","W","X","Y","Z")),
8331            FILET_TRONQUE   =SIMP(statut='f',typ='I',max='**'),  
8332            FILET_TRONQA    =SIMP(statut='f',typ='I',max='**'),  
8333            FILET_TRONQB    =SIMP(statut='f',typ='I',max='**'),  
8334            FILET_JEU_HT    =SIMP(statut='f',typ='I',max='**'),  
8335            FILET_JEU_HTA   =SIMP(statut='f',typ='I',max='**'),  
8336            FILET_JEU_HTB   =SIMP(statut='f',typ='I',max='**'),  
8337          ),
8338          EXCIT           =FACT(statut='o',min=01,max=01,
8339            TYPE_BLOCAGE    =SIMP(statut='o',typ='I',defaut=2,into=(1,2,3)),
8340            FORCE_GOUJ      =SIMP(statut='o',typ='R'),  
8341          ),
8342          CALCUL          =FACT(statut='o',min=01,max=01,
8343            TYPE_CALCUL     =SIMP(statut='o',typ='TXM',into=("ELASTIQUE","ELASTOPLASTIQUE")),
8344            NB_INCR         =SIMP(statut='o',typ='I'),  
8345          ),
8346          IMPRESSION      =FACT(statut='f',min=01,max=01,
8347            FORMAT          =SIMP(statut='f',typ='TXM',defaut="TABLE",    
8348                                  into=("RESULTAT","IDEAS","ASTER","CASTEM","ENSIGHT","MED","TABLE")),
8349            VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
8350          ),
8351          TITRE           =SIMP(statut='f',typ='TXM'),  
8352          INFO            =SIMP(statut='f',typ='I',defaut=1 ,into=(1,2)),
8353 )  ;
8354 #& MODIF COMMANDE  DATE 02/02/2000   AUTEUR F1BHHAJ J.ANGLES 
8355 MACR_GOUJ2E_MAIL=MACRO(nom="MACR_GOUJ2E_MAIL",op= -22,sd_prod=maillage,
8356                       fr=" ",docu="U4.GJ.10-A",reentrant='n',
8357          EXEC_MAILLAGE   =FACT(statut='o',min=01,max=01,
8358            LOGICIEL        =SIMP(statut='o',typ='TXM',into=("GIBI",) ),
8359            UNITE_DATG      =SIMP(statut='f',typ='I',defaut=70),  
8360            UNITE_MGIB      =SIMP(statut='f',typ='I',defaut=19),  
8361            NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,4,5,6,7,8,9,10)),
8362          ),
8363          DEFI_GOUJ       =FACT(statut='o',min=01,max=01,
8364            TYPE            =SIMP(statut='o',typ='TXM',into=("M33","M64","M90","M115","M155","M180","M186")),
8365            VARIANTE        =SIMP(statut='o',typ='TXM',into=("A","B","C","D","E","F","G","H","I","J","K","L","M",  
8366                                                             "N","O","P","Q","R","S","T","U","V","W","X","Y","Z")), 
8367          ),
8368          GEOM_GOUJ_BRID  =FACT(statut='o',min=01,max=01,
8369            NB_FILET        =SIMP(statut='o',typ='I'),  
8370            H_CORP_BRID     =SIMP(statut='o',typ='R'),  
8371            R_EXT_BRID      =SIMP(statut='o',typ='R'),  
8372            H_HAUT_BRID     =SIMP(statut='f',typ='R',defaut=0.0E+0),  
8373            H_BAS_BRID      =SIMP(statut='f',typ='R',defaut= 0.0E+0),  
8374            FILET_ABST      =SIMP(statut='f',typ='I',max='**'),  
8375          ),
8376          IMPRESSION      =FACT(statut='f',min=01,max=01,
8377            regles=(PRESENT_PRESENT('FICHIER','UNITE'),),
8378            FORMAT          =SIMP(statut='f',typ='TXM',defaut="RESULTAT",    
8379                                  into=("RESULTAT","IDEAS","ASTER","CASTEM","ENSIGHT","MED")),
8380            FICHIER         =SIMP(statut='f',typ='TXM'),  
8381            UNITE           =SIMP(statut='f',typ='I'),  
8382            VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
8383            NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
8384          ),
8385          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
8386 )  ;
8387 #& MODIF COMMANDE  DATE 19/06/2000   AUTEUR DURAND C.DURAND 
8388 MACR_INFO_MAIL=MACRO(nom="MACR_INFO_MAIL",op=-24,docu="U7.03.02-A",
8389                      fr="Donner des informations sur un maillage.",
8390 #
8391 # 1. Le nom du maillage a analyser
8392 #
8393          MAILLAGE        =SIMP(statut='o',typ=maillage),
8394 #
8395 # 2. Determination de la qualite des elements du maillage
8396 #    Par defaut, rien ne se fait
8397 #
8398          QUALITE         =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
8399 #
8400 # 3. Controle de la non-interpenetration des elements
8401 #    Par defaut, rien ne se fait
8402 #
8403          INTERPENETRATION=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
8404 #
8405 # 4. Version homard
8406 #
8407          VERSION_HOMARD  =SIMP(statut='f',typ='TXM',defaut="V3_15",into=("V3_15","V3_N","V3_N_PERSO")),
8408 #
8409 # 5. Le niveau d'information
8410 #
8411          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
8412 )  ;
8413 #& MODIF COMMANDE  DATE 02/06/99   AUTEUR CIBHHLV L.VIVAN 
8414 MACR_PRE_SYRTHES=MACRO(nom="MACR_PRE_SYRTHES",op=-21,fr=" ",docu="U7.02.21-A",
8415          MAILLAGE        =FACT(statut='d',min=01,max=01,
8416            UNITE_SYRTHES   =SIMP(statut='f',typ='I',defaut=13),  
8417            UNITE_IDEAS     =SIMP(statut='f',typ='I',defaut=19),  
8418          ),
8419          RESULTAT        =FACT(statut='d',min=01,max=01,
8420            UNITE_SYRTHES   =SIMP(statut='f',typ='I',defaut=31),  
8421            UNITE_IDEAS     =SIMP(statut='f',typ='I',defaut= 91 ),  
8422          ),
8423 )  ;
8424 #& MODIF COMMANDE  DATE 17/11/1999   AUTEUR CIBHHGB G.BERTRAND 
8425 MACRO_CARA_POUTRE=MACRO(nom="MACRO_CARA_POUTRE",op=-11,sd_prod=tabl_cara_geom,
8426                        docu="U4.42.02-C",reentrant='n',
8427                        fr="Détermination des caractéristiques d'une section transversale de poutre à partir d'un maillage 2D de la section",
8428          regles=(EXCLUS('SYME_X','GROUP_MA_BORD'),
8429                  EXCLUS('SYME_Y','GROUP_MA_BORD'),
8430                  ENSEMBLE('LONGUEUR','LIAISON','MATERIAU') ,),
8431          UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut= 20 ),  
8432          SYME_X          =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
8433          SYME_Y          =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
8434          GROUP_MA_BORD   =SIMP(statut='f',typ=grma,max='**'),
8435          GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
8436          ORIG_INER       =SIMP(statut='f',typ='R',max='**'),  
8437          NOEUD           =SIMP(statut='f',typ=no,max='**'),
8438          GROUP_MA_INTE   =SIMP(statut='f',typ=grma,max='**'),
8439          LONGUEUR        =SIMP(statut='f',typ='R'),  
8440          MATERIAU        =SIMP(statut='f',typ=mater),
8441          LIAISON         =SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT")),
8442          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
8443 )  ;
8444 #& MODIF COMMANDE  DATE 30/06/98   AUTEUR CIBHHGB G.BERTRAND 
8445 MACRO_CHAR_F_U=MACRO(nom="MACRO_CHAR_F_U",op=-15,sd_prod=char_meca,
8446                     fr=" ",docu="U4.72.07-A",reentrant='n',
8447          MODELE          =SIMP(statut='o',typ=modele),
8448          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
8449          CHARGE          =SIMP(statut='o',typ=char_meca),
8450          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
8451          COEF_IMPO       =SIMP(statut='f',typ='R',defaut=1.0E+0),  
8452          NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="APRES",into=("NORMAL","APRES")),
8453          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
8454 )  ;
8455 #& MODIF COMMANDE  DATE 05/06/2000   AUTEUR CIBHHLV L.VIVAN 
8456 def macro_elas_mult_prod(self,NUME_DDL,CAS_CHARGE,**args ):
8457   self.type_sdprod(NUME_DDL,nume_ddl)
8458   if CAS_CHARGE[0]['NOM_CAS']      != None : return mult_elas
8459   if CAS_CHARGE[0]['MODE_FOURIER'] != None : return fourier_elas
8460   raise AsException("type de concept resultat non prevu")
8461
8462 MACRO_ELAS_MULT=MACRO(nom="MACRO_ELAS_MULT",op=-10,sd_prod=macro_elas_mult_prod,docu="U4.51.02-C",reentrant='f',
8463                      fr="Permet la réalisation d une analyse statique linéaire multi cas de charges ou la réalisation des calculs de plusieurs modes de Fourier sur un modèle axisymétrique",
8464          regles=(UN_PARMI('CHAR_MECA_GLOBAL','CHAR_CINE_GLOBAL','LIAISON_DISCRET', ),),
8465          MODELE          =SIMP(statut='o',typ=modele),
8466          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
8467          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
8468          NUME_DDL        =SIMP(statut='f',typ=(CO,nume_ddl)),# CO()
8469          CHAR_MECA_GLOBAL=SIMP(statut='f',typ=char_meca,max='**'),
8470          CHAR_CINE_GLOBAL=SIMP(statut='f',typ=char_meca,max='**'),
8471          LIAISON_DISCRET =SIMP(statut='f',typ='TXM',into=("OUI",)),
8472          CAS_CHARGE      =FACT(statut='o',min=01,max='**',
8473            regles=(UN_PARMI('NOM_CAS','MODE_FOURIER'),
8474                    UN_PARMI('CHAR_MECA','CHAR_CINE','VECT_ASSE'),),
8475            NOM_CAS         =SIMP(statut='f',typ='TXM' ),  
8476            MODE_FOURIER    =SIMP(statut='f',typ='I' ),  
8477            TYPE_MODE       =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ),
8478            CHAR_MECA       =SIMP(statut='f',typ=char_meca,max='**'),
8479            CHAR_CINE       =SIMP(statut='f',typ=char_meca,max='**'),
8480            OPTION          =SIMP(statut='f',typ='TXM',max='**',     
8481                                  into=("EFGE_ELNO_DEPL","EPOT_ELEM_DEPL","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL",               
8482                                        "SIGM_ELNO_CART","EFGE_ELNO_CART","DEGE_ELNO_DEPL","EPSI_ELNO_DEPL",               
8483                                        "EPSI_ELGA_DEPL","EPSG_ELNO_DEPL","EPSG_ELGA_DEPL","EPSP_ELNO","EPSP_ELGA",        
8484                                        "ECIN_ELEM_DEPL","FLUX_ELGA_TEMP","FLUX_ELNO_TEMP","SOUR_ELGA_ELEC",               
8485                                        "PRES_ELNO_DBEL","PRES_ELNO_REEL","PRES_ELNO_IMAG","INTE_ELNO_ACTI",               
8486                                        "INTE_ELNO_REAC","SIGM_NOZ1_ELGA","ERRE_ELEM_NOZ1","SIGM_NOZ2_ELGA",               
8487                                        "ERRE_ELEM_NOZ2","VNOR_ELEM_DEPL","ERRE_ELNO_ELGA","SIRE_ELNO_DEPL",               
8488                                        "ERRE_ELGA_NORE","EQUI_ELNO_SIGM","EQUI_ELGA_SIGM","EQUI_ELNO_EPSI",               
8489                                        "EQUI_ELGA_EPSI","FORC_NODA","REAC_NODA","EPSI_NOEU_DEPL","SIGM_NOEU_DEPL",               
8490                                        "EFGE_NOEU_DEPL","EQUI_NOEU_SIGM","EQUI_NOEU_EPSI","FLUX_NOEU_TEMP") ),
8491            NUME_COUCHE     =SIMP(statut='f',typ='I',defaut=1),  
8492            NIVE_COUCHE     =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY")),
8493            SOUS_TITRE      =SIMP(statut='f',typ='TXM',max='**'),  
8494            VECT_ASSE       =SIMP(statut='f',typ=cham_no_depl_r),
8495          ),
8496
8497 #  attention d après la documentation U4-02-04B (solveur), PRE_COND figure uniquement avec la méthode GCPC
8498
8499          SOLVEUR         =FACT(statut='d',min=01,max=01,
8500            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT") ),
8501            PRE_COND        =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","DIAG") ),
8502            b_mult_front    = BLOC ( condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
8503              RENUM           =SIMP(statut='f',typ='TXM',defaut="MDA",into=("MD","MDA","METIS") ),
8504            ),
8505            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
8506              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
8507              TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400. ),
8508             ),
8509            b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
8510                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
8511              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
8512              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),             
8513            ),
8514          ),
8515          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2)),
8516          TITRE           =SIMP(statut='f',typ='TXM',max='**'),  
8517 )  ;
8518 #& MODIF COMMANDE  DATE 11/02/98   AUTEUR CIBHHLV L.VIVAN 
8519 MACRO_MADMACS=MACRO(nom="MACRO_MADMACS",op=-9,docu="U7.03.21-C",
8520                     fr="Impression au format fichier universel IDEAS des données nécessaires au chaînage entre Code_Aster et MADMACS",
8521          regles=(UN_PARMI('MATR_ELEM_RIGI','MATR_RIGI'),
8522                  UN_PARMI('MATR_ELEM_MASS','MATR_MASS'),
8523                  PRESENT_ABSENT('MATR_ELEM_AMOR','MATR_AMOR'),),
8524          FICHIER         =SIMP(statut='f',typ='TXM' ),  
8525          FORMAT          =SIMP(statut='f',typ='TXM',defaut="IDEAS",into=("IDEAS",)),
8526          VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(5,)),
8527          MAILLAGE        =SIMP(statut='o',typ=maillage),
8528          NUME_DDL        =SIMP(statut='o',typ=nume_ddl),
8529          CHARGE          =SIMP(statut='o',typ=char_meca,max='**'),
8530          MATR_ELEM_RIGI  =SIMP(statut='f',typ=matr_elem_depl_r),
8531          MATR_RIGI       =SIMP(statut='f',typ=matr_asse_depl_r),
8532          MATR_ELEM_MASS  =SIMP(statut='f',typ=matr_elem_depl_r),
8533          MATR_MASS       =SIMP(statut='f',typ=matr_asse_depl_r),
8534          MATR_ELEM_AMOR  =SIMP(statut='f',typ=matr_elem_depl_r),
8535          MATR_AMOR       =SIMP(statut='f',typ=matr_asse_depl_r),
8536          MODE_MECA       =SIMP(statut='o',typ=mode_meca),
8537          NMAX_MODE       =SIMP(statut='f',typ='I',defaut=10),  
8538          INTERFACE       =FACT(statut='f',min=01,max='**',
8539            regles=(UN_PARMI('NOEUD','GROUP_NO'),
8540                    UN_PARMI('DDL_ACTIF','MASQUE'),),
8541            NOM             =SIMP(statut='o',typ='TXM'),  
8542            NOEUD           =SIMP(statut='f',typ=no,max='**'),
8543            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
8544            DDL_ACTIF       =SIMP(statut='f',typ='TXM',max='**'),  
8545            MASQUE          =SIMP(statut='f',typ='TXM',max='**'),  
8546          ),
8547          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
8548 )  ;
8549 #& MODIF COMMANDE  DATE 19/05/2000   AUTEUR JFBHHUC C.ROSE 
8550 def macro_matr_ajou_prod(self,MATR_AMOR_AJOU,MATR_MASS_AJOU,MATR_RIGI_AJOU,**args):
8551   self.type_sdprod(MATR_AMOR_AJOU,matr_asse_depl_r)
8552   self.type_sdprod(MATR_MASS_AJOU,matr_asse_depl_r)
8553   self.type_sdprod(MATR_RIGI_AJOU,matr_asse_depl_r)
8554   return None
8555
8556 MACRO_MATR_AJOU=MACRO(nom="MACRO_MATR_AJOU",op=-13,docu="U4.66.11-B",sd_prod=macro_matr_ajou_prod,
8557                       fr="Calcul les matrices de masse, d amortissement ou de rigidité ajoutées qu induit un fluide parfait, incompressible, au repos ou en écoulement potentiel, sur une structure en 2D, 2D axisymétrique ou en 3D",
8558       regles=(AU_MOINS_UN('MODE_MECA','DEPL_IMPO','MODELE_GENE'),
8559               AU_MOINS_UN('MATR_MASS_AJOU','MATR_AMOR_AJOU','MATR_RIGI_AJOU'), 
8560               EXCLUS('MODE_MECA','DEPL_IMPO','MODELE_GENE'),),
8561          MAILLAGE        =SIMP(statut='o',typ=maillage),
8562          GROUP_MA_FLUIDE =SIMP(statut='o',typ=grma),
8563          GROUP_MA_INTERF =SIMP(statut='o',typ=grma),
8564          MODELISATION    =SIMP(statut='o',typ='TXM',into=("PLAN","AXIS","3D")),
8565          FLUIDE          =FACT(statut='o',min=01,max='**',
8566            RHO             =SIMP(statut='o',typ='R'),  
8567            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
8568            GROUP_MA        =SIMP(statut='f',typ=grma),
8569            MAILLE          =SIMP(statut='f',typ=ma),
8570          ),
8571          DDL_IMPO        =FACT(statut='o',min=01,max='**',
8572            regles=(UN_PARMI('NOEUD','GROUP_NO'),
8573                    UN_PARMI('PRES_FLUIDE','PRES_SORTIE'),),
8574            NOEUD           =SIMP(statut='f',typ=no),
8575            GROUP_NO        =SIMP(statut='f',typ=grno),
8576            PRES_FLUIDE     =SIMP(statut='f',typ='R'),  
8577            PRES_SORTIE     =SIMP(statut='f',typ='R'),  
8578          ),
8579          ECOULEMENT      =FACT(statut='f',min=01,max='**',
8580            GROUP_MA_1      =SIMP(statut='o',typ=grma),
8581            GROUP_MA_2      =SIMP(statut='o',typ=grma),
8582            VNOR_1          =SIMP(statut='o',typ='R'),  
8583            VNOR_2          =SIMP(statut='f',typ='R'),  
8584            POTENTIEL       =SIMP(statut='f',typ=evol_ther),
8585          ),
8586          MODE_MECA       =SIMP(statut='f',typ=mode_meca),
8587          DEPL_IMPO       =SIMP(statut='f',typ=cham_no_depl_r),
8588          MODELE_GENE     =SIMP(statut='f',typ=modele_gene),
8589          NUME_DDL_GENE   =SIMP(statut='f',typ=nume_ddl_gene),
8590          DIST_REFE       =SIMP(statut='f',typ='R',defaut= 1.0E-2),  
8591          MATR_MASS_AJOU  =SIMP(statut='f',typ=(CO,matr_asse)),
8592          MATR_RIGI_AJOU  =SIMP(statut='f',typ=(CO,matr_asse)),
8593          MATR_AMOR_AJOU  =SIMP(statut='f',typ=(CO,matr_asse)),
8594          SOLVEUR         =FACT(statut='d',min=01,max=01,
8595            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
8596            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
8597              RENUM           =SIMP(statut='f',typ='TXM',defaut="MDA",into=("MD","MDA","METIS") ),
8598            ),
8599            b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
8600              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
8601              TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400. ),
8602            ),
8603            b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
8604                                    fr="Paramètres relatifs à la non iversibilité de la matrice à factorise",
8605              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
8606              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),             
8607            ),
8608            b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
8609              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC","SANS","DIAG") ),
8610              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
8611              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
8612              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
8613              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
8614            ),
8615 #  A quoi sert eps           
8616            EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8617          ),
8618          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
8619          NOEUD_DOUBLE    =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
8620          AVEC_MODE_STAT  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
8621 )  ;
8622 #& MODIF COMMANDE  DATE 03/10/2000   AUTEUR VABHHTS J.PELLET 
8623 def macro_matr_asse_prod(self,NUME_DDL,MATR_ASSE,**args):
8624   if not MATR_ASSE:  raise AsException("Impossible de typer les concepts resultats")
8625   if not NUME_DDL:  raise AsException("Impossible de typer les concepts resultats")
8626   self.type_sdprod(NUME_DDL,nume_ddl)
8627   for m in MATR_ASSE:
8628     opti=m['OPTION']
8629     if opti in ( "RIGI_MECA","RIGI_FLUI_STRU","RIGI_MECA_LAGR" ,        
8630        "MASS_MECA" , "MASS_FLUI_STRU" ,"RIGI_GEOM" ,"RIGI_ROTA",
8631        "AMOR_MECA","IMPE_MECA" ,
8632        "ONDE_FLUI","MASS_MECA_DIAG" ) : t=matr_asse_depl_r
8633     if opti == "RIGI_MECA_HYST"   : t= matr_asse_depl_c
8634     if opti == "RIGI_THER"        : t= matr_asse_temp_r
8635     if opti == "MASS_THER"        : t= matr_asse_temp_r
8636     if opti == "RIGI_THER_CONV"   : t= matr_asse_temp_r
8637     if opti == "RIGI_THER_CONV_D" : t= matr_asse_temp_r
8638     if opti == "RIGI_ACOU"        : t= matr_asse_pres_c
8639     if opti == "MASS_ACOU"        : t= matr_asse_pres_c
8640     if opti == "AMOR_ACOU"        : t= matr_asse_pres_c
8641     self.type_sdprod(m['MATRICE'],t)
8642   return None
8643
8644 MACRO_MATR_ASSE=MACRO(nom="MACRO_MATR_ASSE",op=-6,docu="U4.61.21-C",
8645                       sd_prod=macro_matr_asse_prod,
8646                       fr="Calcul des matrices assemblées (matr_asse_gd) par exemple de rigidité, de masse ",
8647          MODELE          =SIMP(statut='o',typ=modele),
8648          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
8649          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
8650          CHARGE          =SIMP(statut='f',typ=(char_meca,char_ther,char_acou)),
8651          INST            =SIMP(statut='f',typ='R'),  
8652          NUME_DDL        =SIMP(statut='o',typ=(nume_ddl,CO)),
8653          SOLVEUR         =FACT(statut='d',min=01,max=01,
8654            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",    
8655                                  into=("LDLT","MULT_FRONT","GCPC")),
8656            TAILLE_BLOC     =SIMP(statut='f',typ='R'),  
8657            RENUM           =SIMP(statut='f',typ='TXM',into=("SANS","RCMK","MD","MDA","METIS")),
8658          ),
8659          MATR_ASSE       =FACT(statut='o',min=01,max='**',
8660            MATRICE         =SIMP(statut='o',typ=(matr_asse,CO)),
8661            OPTION          =SIMP(statut='o',typ='TXM',     
8662                                  into=("RIGI_MECA","MASS_MECA","MASS_MECA_DIAG", 
8663                                        "AMOR_MECA","RIGI_MECA_HYST","IMPE_MECA",        
8664                                        "ONDE_FLUI","RIGI_FLUI_STRU","MASS_FLUI_STRU",   
8665                                        "RIGI_ROTA","RIGI_GEOM","RIGI_MECA_LAGR",        
8666                                        "RIGI_THER","MASS_THER","RIGI_ACOU","MASS_ACOU",      
8667                                        "AMOR_ACOU")),
8668            SIEF_ELGA       =SIMP(statut='f',typ=cham_elem_sief_r),
8669            MODE_FOURIER    =SIMP(statut='f',typ='I'),  
8670            THETA           =SIMP(statut='f',typ=theta_geom),
8671            PROPAGATION     =SIMP(statut='f',typ='R'),  
8672          ),
8673          TITRE           =SIMP(statut='f',typ='TXM',max='**'),  
8674          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
8675 )  ;
8676 #& MODIF COMMANDE  DATE 02/02/99   AUTEUR ACBHHCD G.DEVESA 
8677 MACRO_MISS_3D=MACRO(nom="MACRO_MISS_3D",op=-18,fr=" ",docu="U7.03.11-A",
8678          OPTION          =FACT(statut='o',min=01,max=01,
8679            regles=(UN_PARMI('TOUT','MODULE'),),
8680            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
8681            MODULE          =SIMP(statut='f',typ='TXM',into=("PRE_MISS","MISS_EVOL","MISS_IMPE")),
8682          ),
8683          PROJET          =SIMP(statut='o',typ='TXM'),  
8684          REPERTOIRE      =SIMP(statut='f',typ='TXM'),  
8685          UNITE_IMPR_ASTER=SIMP(statut='f',typ='I',defaut=25),  
8686          UNITE_OPTI_MISS =SIMP(statut='f',typ='I',defaut=26),  
8687          UNITE_MODELE_SOL=SIMP(statut='f',typ='I',defaut=27),  
8688          UNITE_RESU_IMPE =SIMP(statut='f',typ='I',defaut=30),  
8689 )  ;
8690 #& MODIF COMMANDE  DATE 04/04/2000   AUTEUR D6BHHBQ B.QUINNEZ 
8691 def macro_mode_meca_prod(self,MATR_A,MATR_B,**args ):
8692   self.type_sdprod(MATR_A,matr_asse_depl_r)
8693   self.type_sdprod(MATR_B,matr_asse_depl_r)
8694   return mode_meca
8695
8696 MACRO_MODE_MECA=MACRO(nom="MACRO_MODE_MECA",op= -12,sd_prod=macro_mode_meca_prod,
8697                      fr="Permet d alléger le calcul d une structure de données de type mode_meca par le découpage d un intervalle de fréquences global en sous-intervalles",
8698                      docu="U4.52.02-C",reentrant='n',
8699          MATR_A          =SIMP(statut='o',typ=(CO,matr_asse_depl_r) ),
8700          MATR_B          =SIMP(statut='o',typ=(CO,matr_asse_depl_r) ),
8701          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
8702 #  ce mot cle ne devrait il pas etre dans calc_freq  
8703          METHODE         =SIMP(statut='f',typ='TXM',defaut="SORENSEN",    
8704                                into=("TRI_DIAG","JACOBI","SORENSEN",) ),
8705          OPTION          =SIMP(statut='f',typ='TXM',defaut="SANS",    
8706                                into=("MODE_RIGIDE","SANS") ),
8707          CALC_FREQ       =FACT(statut='d',min=00,max=01,
8708            regles=(UN_PARMI('FREQ','FREQ_MAX'),
8709                    PRESENT_PRESENT('FREQ_MIN','FREQ_MAX'),
8710                    PRESENT_PRESENT('FREQ_MAX','NB_BLOC_FREQ'),),
8711            FREQ            =SIMP(statut='f',typ='R',max='**' ),  
8712            FREQ_MIN        =SIMP(statut='f',typ='R' ),  
8713            FREQ_MAX        =SIMP(statut='f',typ='R' ),  
8714            NB_BLOC_FREQ    =SIMP(statut='f',typ='I' ),  
8715            NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10 ),  
8716            DIM_SOUS_ESPACE =SIMP(statut='f',typ='I',defaut= 0 ),  
8717            NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8 ),  
8718            NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5 ),  
8719            PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2 ),  
8720            PREC_LANCZOS    =SIMP(statut='f',typ='R',defaut= 1.E-10 ),  
8721            PREC_ORTHO      =SIMP(statut='f',typ='R',defaut= 1.E-12 ),  
8722            NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5 ),  
8723            NMAX_ITER_QR    =SIMP(statut='f',typ='I',defaut= 30 ),  
8724            PREC_BATHE      =SIMP(statut='f',typ='R',defaut= 1.4E-10 ),  
8725            NMAX_ITER_BATHE =SIMP(statut='f',typ='I' ,defaut= 12 ),  
8726            PREC_JACOBI     =SIMP(statut='f',typ='R',defaut= 1.E-2 ),  
8727            NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12 ),  
8728            PREC_SOREN      =SIMP(statut='f',typ='R',defaut= 0.E0 ),  
8729            NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20 ),  
8730            PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717 ),  
8731            SEUIL_FREQ      =SIMP(statut='f',typ='R' ,defaut= 1.E-2 ),  
8732            STOP_FREQ_VIDE  =SIMP(statut='f',typ='TXM',defaut="NON" ,into=("OUI","NON") ),
8733          ),
8734          VERI_MODE       =FACT(statut='d',min=00,max=01,
8735            STOP_ERREUR     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
8736            SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-6 ),  
8737            PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-3 ),  
8738            STURM           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
8739          ),
8740          NORM_MODE       =FACT(statut='o',min=01,max='**',
8741            MASS_INER       =SIMP(statut='o',typ=tabl_mass_iner ),
8742            NORME           =SIMP(statut='f',typ='TXM',defaut="TRAN_ROTA",    
8743                                  into=("MASS_GENE","RIGI_GENE","EUCL",           
8744                                        "EUCL_TRAN","TRAN","TRAN_ROTA") ),
8745            INFO            =SIMP(statut='f',typ='I',defaut= 1 ,into=(1,2) ),
8746          ),
8747          FILTRE_MODE     =FACT(statut='f',min=01,max=01,
8748            CRIT_EXTR       =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",    
8749                                  into=("MASS_EFFE_UN","MASS_GENE") ),
8750            SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-3 ),  
8751          ),
8752          IMPRESSION      =FACT(statut='d',min=01,max=01,
8753            TOUT_PARA       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
8754            CUMUL           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
8755            CRIT_EXTR       =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",    
8756                                  into=("MASS_EFFE_UN","MASS_GENE",) ),
8757          ),
8758 )  ;
8759 #& MODIF COMMANDE  DATE 11/02/98   AUTEUR CIBHHLV L.VIVAN 
8760 def macro_proj_base_prod(self,MATR_ASSE_GENE,VECT_ASSE_GENE,**args ):
8761   if MATR_ASSE_GENE != None:
8762     for m in MATR_ASSE_GENE:
8763       self.type_sdprod(m['MATRICE'],matr_asse_gene_r)
8764       self.type_sdprod(m['MATR_ASSE'],matr_asse_depl_r)
8765   if VECT_ASSE_GENE != None:
8766     for m in VECT_ASSE_GENE:
8767       self.type_sdprod(m['VECTEUR'],vect_asse_gene)
8768   return None
8769
8770 MACRO_PROJ_BASE=MACRO(nom="MACRO_PROJ_BASE",op=-8,docu="U4.63.11-C",
8771                       sd_prod=macro_proj_base_prod,
8772                       fr="Projection des matrices et/ou vecteurs assemblés sur une base de vecteurs", 
8773          BASE            =SIMP(statut='o',typ=(mode_meca,base_modale,mode_gene) ),
8774          NB_VECT         =SIMP(statut='f',typ='I',defaut= 9999),  
8775          TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400. ),  
8776          MATR_ASSE_GENE  =FACT(statut='f',min=01,max='**',
8777            MATRICE         =SIMP(statut='o',typ=(CO,matr_asse)),
8778            MATR_ASSE       =SIMP(statut='f',typ=(CO,matr_asse_depl_r)),
8779            MATR_ASSE_GENE  =SIMP(statut='f',typ=matr_asse_gene_r),
8780            PROFIL          =SIMP(statut='f',typ='TXM',defaut="DIAG",into=("PLEIN","DIAG") ),
8781          ),
8782          VECT_ASSE_GENE  =FACT(statut='f',min=01,max='**',
8783            VECTEUR         =SIMP(statut='o',typ=(CO,vect_asse)),
8784            TYPE_VECT       =SIMP(statut='f',typ='TXM',defaut="FORC"),  
8785            VECT_ASSE       =SIMP(statut='f',typ=cham_no_depl_r),
8786            VECT_ASSE_GENE  =SIMP(statut='f',typ=vect_asse_gene),
8787          ),
8788          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
8789 )  ;
8790 #& MODIF COMMANDE  DATE 08/09/97   AUTEUR VABHHTS J.PELLET 
8791 MAJ_CATA=PROC(nom="MAJ_CATA",op=20,docu="U4.15.01-D",
8792               fr="Compilation des catalogues de commandes et d éléments",
8793          regles=(UN_PARMI('COMMANDE','ELEMENT','VALIDATION'),),
8794          COMMANDE        =FACT(statut='f',min=01,max=01,
8795            UNITE           =SIMP(statut='o',typ='I' ),  
8796          ),
8797          ELEMENT         =FACT(statut='f',min=01,max=01,),
8798          VALIDATION      =FACT(statut='f',min=01,max=01,
8799            UNITE           =SIMP(statut='o',typ='I' ),  
8800            TOUT            =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",) ),
8801          ),
8802 )  ;
8803 #& MODIF COMMANDE  DATE 03/10/2000   AUTEUR VABHHTS J.PELLET 
8804 MECA_STATIQUE=OPER(nom="MECA_STATIQUE",op=46,sd_prod=evol_elas,
8805                    fr="Analyse mécanique statique linéaire",docu="U4.51.01-F",reentrant='n',
8806                    regles=(EXCLUS("INST","LIST_INST"),),
8807          MODELE          =SIMP(statut='o',typ=modele),
8808          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
8809          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
8810          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
8811          EXCIT           =FACT(statut='o',min=1,max='**',
8812            CHARGE          =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
8813            FONC_MULT       =SIMP(statut='f',typ=fonction),
8814            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
8815          ),
8816          INST            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8817          LIST_INST       =SIMP(statut='f',typ=listr8),
8818          OPTION          =SIMP(statut='f',typ='TXM',max='**',
8819                                into=("SIEF_ELGA_DEPL","SIGM_ELNO_DEPL","SIPO_ELNO_DEPL","EFGE_ELNO_DEPL",
8820                                      "EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPME_ELNO_DEPL","EPME_ELGA_DEPL",
8821                                      "EQUI_ELNO_SIGM","EQUI_ELGA_SIGM","EQUI_ELNO_EPSI","EQUI_ELGA_EPSI",
8822                                      "EQUI_ELNO_EPME","EQUI_ELGA_EPME","DEGE_ELNO_DEPL","EPOT_ELEM_DEPL",
8823                                      "ENEL_ELGA","ENEL_ELNO_ELGA") ),
8824          NUME_COUCHE     =SIMP(statut='f',typ='I',defaut=1),
8825          NIVE_COUCHE     =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY") ),
8826          ANGLE           =SIMP(statut='f',typ='I',defaut=0),
8827          PLAN            =SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL") ),
8828          SENSIBILITE     =FACT(statut='f',min=1,max=1,
8829            THETA           =SIMP(statut='o',typ=theta_geom),
8830          ),
8831          SOLVEUR         =FACT(statut='d',min=01,max=01,
8832            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
8833            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
8834              RENUM           =SIMP(statut='f',typ='TXM',defaut="MDA",into=("MD","MDA","METIS") ),
8835            ),
8836            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
8837              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
8838              TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400.),
8839            ),
8840            b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
8841                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
8842              NPREC           =SIMP(statut='f',typ='I',defaut=8),
8843              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),             
8844            ),
8845            b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
8846              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
8847              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC","SANS","DIAG") ),
8848              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
8849              RESI_RELA       =SIMP(statut='f',typ='R',defaut=1.E-6),
8850              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
8851            ),
8852 #  A quoi sert eps           
8853            EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8854          ),
8855          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
8856 )  ;
8857 #& MODIF COMMANDE  DATE 09/09/98   AUTEUR SABJLMA P.LATRUBESSE 
8858 MODE_ITER_CYCL=OPER(nom="MODE_ITER_CYCL",op=  80,sd_prod=mode_cycl,
8859                     fr="Modes propres d une structure à répétitivité cyclique à partir d une base de modes propres réels",
8860                     docu="U4.52.05-E",reentrant='n',
8861          BASE_MODALE     =SIMP(statut='o',typ=base_modale ),
8862          NB_MODE         =SIMP(statut='f',typ='I',defaut= 999 ),
8863          NB_SECTEUR      =SIMP(statut='o',typ='I' ),
8864          LIAISON         =FACT(statut='o',min=01,max=01,
8865            DROITE          =SIMP(statut='o',typ='TXM' ),
8866            GAUCHE          =SIMP(statut='o',typ='TXM' ),
8867            AXE             =SIMP(statut='f',typ='TXM' ),
8868          ),
8869          VERI_CYCL       =FACT(statut='f',min=01,max=01,
8870            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
8871            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF",) ),
8872            DIST_REFE       =SIMP(statut='f',typ='R' ),
8873          ),
8874          CALCUL          =FACT(statut='o',min=01,max=01,
8875            TOUT_DIAM       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
8876            NB_DIAM         =SIMP(statut='f',typ='I',max='**'),
8877            OPTION          =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE"
8878                                 ,into=("PLUS_PETITE","CENTRE","BANDE") ),
8879            b_centre      =BLOC(condition = "OPTION == 'CENTRE'",
8880              FREQ            =SIMP(statut='o',typ='R',min=01,max=01),
8881            ),
8882            b_bande       =BLOC(condition = "OPTION == 'BANDE'",
8883              FREQ            =SIMP(statut='o',typ='R',min=02,max=02),
8884            ),
8885 #  NMAX_FREQ n a-t-il pas un sens qu avec OPTION CENTRE                                
8886            NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10 ),
8887            PREC_SEPARE     =SIMP(statut='f',typ='R',defaut= 100. ),
8888            PREC_AJUSTE     =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
8889            NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 50 ),
8890          ),
8891          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
8892 )  ;
8893 #& MODIF COMMANDE  DATE 24/05/2000   AUTEUR D6BHHBQ B.QUINNEZ 
8894 def mode_iter_inv_prod(MATR_A,MATR_C,TYPE_RESU,**args ):
8895   if TYPE_RESU == "MODE_FLAMB" : return mode_flamb
8896   if AsType(MATR_C) == matr_asse_depl_r : return mode_meca_c
8897   if AsType(MATR_A) == matr_asse_depl_r : return mode_meca
8898   if AsType(MATR_A) == matr_asse_pres_r : return mode_acou
8899   if AsType(MATR_A) == matr_asse_gene_r : return mode_gene
8900   raise AsException("type de concept resultat non prevu")
8901
8902 MODE_ITER_INV=OPER(nom="MODE_ITER_INV",op=  44,sd_prod=mode_iter_inv_prod
8903                     ,fr="Modes propres par itérations inverses ; valeurs propres et modes réels ou complexes",
8904                      docu="U4.52.04-F",reentrant='n',
8905          MATR_A          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
8906          MATR_B          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
8907          MATR_C          =SIMP(statut='f',typ=matr_asse_depl_r ),
8908          TYPE_RESU       =SIMP(statut='f',position='global',typ='TXM',defaut="DYNAMIQUE",   
8909                                into=("MODE_FLAMB","DYNAMIQUE"),fr="Type d analyse" ),
8910          b_dynam         =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'",
8911            CALC_FREQ       =FACT(statut='o',min=01,max=01,fr="Choix des paramètres pour le calcul des valeurs propres",
8912            
8913              OPTION          =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"),
8914                                    fr="Choix de l option pour estimer les valeurs propres"  ),
8915              FREQ            =SIMP(statut='o',typ='R',max='**'),
8916              AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),     
8917              NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 0 ),           
8918              NMAX_ITER_SEPARE=SIMP(statut='f',typ='I' ,defaut= 30 ),
8919              PREC_SEPARE     =SIMP(statut='f',typ='R',defaut= 1.E-4 ),
8920              NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15 ),
8921              PREC_AJUSTE     =SIMP(statut='f',typ='R',defaut= 1.E-4 ),
8922
8923              NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8 ),
8924              NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5 ),
8925              PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2 ),
8926              SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
8927            ),
8928          ),
8929          b_flamb        =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'",
8930            CALC_FREQ       =FACT(statut='o',min=01,max=01,fr="Choix des paramètres pour le calcul des valeurs propres",
8931            
8932              OPTION          =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"),
8933                                  fr="Choix de l option pour estimer les valeurs propres"  ),
8934              CHAR_CRIT       =SIMP(statut='o',typ='R',max='**' ),
8935              NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 0 ),           
8936              NMAX_ITER_SEPARE=SIMP(statut='f',typ='I' ,defaut= 30 ),
8937              PREC_SEPARE     =SIMP(statut='f',typ='R',defaut= 1.E-4 ),
8938              NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15 ),
8939              PREC_AJUSTE     =SIMP(statut='f',typ='R',defaut= 1.E-4 ),
8940            
8941              NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8 ),
8942              NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5 ),
8943              PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2 ),
8944              SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
8945            ),
8946          ),
8947          CALC_MODE       =FACT(statut='d',min=00,max=01,fr="Choix des paramètres pour le calcul des vecteurs propres",
8948            OPTION          =SIMP(statut='f',typ='TXM',defaut="DIRECT",into=("DIRECT","RAYLEIGH") ),
8949            PREC            =SIMP(statut='f',typ='R',defaut= 1.E-5,fr="Précision de convergence" ),
8950            NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 30 ),
8951          ),
8952          VERI_MODE       =FACT(statut='d',min=00,max=01,
8953            STOP_ERREUR     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
8954            SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-2,fr="Valeur limite admise pour l ereur a posteriori des modes"  ),
8955          ),
8956          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
8957          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
8958 )  ;
8959 #& MODIF COMMANDE  DATE 24/05/2000   AUTEUR D6BHHBQ B.QUINNEZ 
8960 def mode_iter_simult_prod(MATR_A,MATR_C,TYPE_RESU,**args ):
8961   if TYPE_RESU == "MODE_FLAMB" : return mode_flamb
8962   if AsType(MATR_C) == matr_asse_depl_r : return mode_meca_c
8963   if AsType(MATR_A) == matr_asse_depl_r : return mode_meca
8964   if AsType(MATR_A) == matr_asse_pres_r : return mode_acou
8965   if AsType(MATR_A) == matr_asse_gene_r : return mode_gene
8966   raise AsException("type de concept resultat non prevu")
8967
8968 MODE_ITER_SIMULT=OPER(nom="MODE_ITER_SIMULT",op=  45,sd_prod=mode_iter_simult_prod,
8969                       fr="Modes propres par itérations simultanées ; valeurs propres et modes propres réels ou complexes",
8970                       docu="U4.52.03-E",reentrant='n',
8971          MATR_A          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
8972          MATR_B          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
8973          MATR_C          =SIMP(statut='f',position='global',typ=matr_asse_depl_r ),
8974          METHODE         =SIMP(statut='f',position='global',typ='TXM',defaut="SORENSEN",into=("TRI_DIAG","JACOBI","SORENSEN") ),
8975          TYPE_RESU       =SIMP(statut='f',position='global',typ='TXM',defaut="DYNAMIQUE",into=("MODE_FLAMB","DYNAMIQUE"),
8976                                fr="Type d analyse" ),
8977          OPTION          =SIMP(statut='f',typ='TXM',defaut="SANS",into=("MODE_RIGIDE","SANS"),fr="Calcul des modes de corps rigide, uniquement pour la méthode TRI_DIAG" ),
8978
8979          b_flamb         =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'",
8980            CALC_FREQ       =FACT(statut='d',min=00,max=01,
8981              OPTION          =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE"),
8982                                    fr="Choix de l option et par conséquent du shift du problème modal" ),
8983              b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres",
8984                NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10 ),
8985              ),
8986              b_centre      =BLOC(condition = "OPTION == 'CENTRE'",fr="Recherche des valeurs propres les plus proches d une valeur donnée",
8987                CHAR_CRIT       =SIMP(statut='o',typ='R',min=01,max=01,fr="Charge critique autour de laquelle on cherche les charges critiques propres"),
8988              ),
8989              b_bande       =BLOC(condition = "(OPTION == 'BANDE')",fr="Recherche des valeurs propres dans une bande donnée",
8990                CHAR_CRIT       =SIMP(statut='o',typ='R',min=02,max=02,fr="Valeur des deux charges critiques délimitant la bande de recherche"),
8991              ),           
8992              APPROCHE        =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG"),fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ),           
8993              DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ),
8994              b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'",
8995                PREC_ORTHO      =SIMP(statut='f',typ='R',defaut= 1.E-12 ),
8996                NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5 ),
8997                PREC_LANCZOS    =SIMP(statut='f',typ='R',defaut= 1.E-8 ),
8998                NMAX_ITER_QR    =SIMP(statut='f',typ='I',defaut= 30 ), 
8999              ),
9000              b_jacobi =BLOC(condition = "METHODE == 'JACOBI'",
9001                PREC_BATHE      =SIMP(statut='f',typ='R',defaut= 1.E-10 ),
9002                NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40 ),
9003                PREC_JACOBI     =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
9004                NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12 ),
9005              ),
9006              b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'",
9007                PREC_SOREN      =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
9008                NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20 ),  
9009                PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717 ),
9010              ),
9011              NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8 ),
9012              NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5 ),
9013              PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2 ),
9014              SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
9015            ),
9016          ),
9017
9018          b_dynam        =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'",
9019            CALC_FREQ       =FACT(statut='d',min=00,max=01,
9020              OPTION          =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE"),
9021                                    fr="Choix de l option et par conséquent du shift du problème modal" ),
9022              b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres",
9023                NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10 ),
9024              ),
9025              b_centre       =BLOC(condition = "OPTION == 'CENTRE'",fr="Recherche des valeurs propres les plus proches d une valeur donnée",
9026                FREQ            =SIMP(statut='o',typ='R',min=01,max=01,fr="Fréquence autour de laquelle on cherche les fréquences propres"),
9027                AMOR_REDUIT     =SIMP(statut='f',typ='R',max=01),
9028                NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10 ),
9029              ),
9030              b_bande         =BLOC(condition = "(OPTION == 'BANDE')",fr="Recherche des valeurs propres dans une bande donnée",
9031                FREQ            =SIMP(statut='o',typ='R',min=02,max=02,fr="Valeur des deux fréquences délimitant la bande de recherche"),
9032              ),           
9033              APPROCHE        =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG"),fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ),           
9034              DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ),
9035              b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'",
9036                PREC_ORTHO      =SIMP(statut='f',typ='R',defaut= 1.E-12 ),
9037                NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5 ),
9038                PREC_LANCZOS    =SIMP(statut='f',typ='R',defaut= 1.E-8 ),
9039                NMAX_ITER_QR    =SIMP(statut='f',typ='I',defaut= 30 ), 
9040              ),
9041              b_jacobi =BLOC(condition = "METHODE == 'JACOBI'",
9042                PREC_BATHE      =SIMP(statut='f',typ='R',defaut= 1.E-10 ),
9043                NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40 ),
9044                PREC_JACOBI     =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
9045                NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12 ),
9046              ),
9047              b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'",
9048                PREC_SOREN      =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
9049                NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20 ),  
9050                PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717 ),
9051              ),
9052              NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8 ),
9053              NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5 ),
9054              PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2 ),
9055              SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
9056            ),
9057          ),
9058
9059          VERI_MODE       =FACT(statut='d',min=00,max=01,
9060            STOP_ERREUR     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
9061            PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-3 ),
9062            SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-6,fr="Valeur limite admise pour l ereur a posteriori des modes" ),
9063            STURM           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
9064          ),
9065          STOP_FREQ_VIDE  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
9066          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
9067          TITRE           =SIMP(statut='f',typ='TXM',max='**'),        
9068 )  ;
9069 #& MODIF COMMANDE  DATE 11/02/98   AUTEUR CIBHHLV L.VIVAN 
9070 MODE_STATIQUE=OPER(nom="MODE_STATIQUE",op=  93,sd_prod=mode_stat,
9071                    fr="Calcul de modes statiques",
9072                    docu="U4.52.14-E",reentrant='n',
9073          MATR_RIGI       =SIMP(statut='o',typ=matr_asse_depl_r ),
9074          MATR_MASS       =SIMP(statut='f',typ=matr_asse_depl_r ),
9075          DDL_IMPO        =FACT(statut='f',min=01,max='**',
9076            regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'),
9077                    UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),),
9078            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9079            NOEUD           =SIMP(statut='f',typ=no,max='**'),
9080            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
9081            TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9082            AVEC_CMP        =SIMP(statut='f',typ='TXM',max='**'),
9083            SANS_CMP        =SIMP(statut='f',typ='TXM',max='**'),
9084          ),
9085          FORCE_NODALE    =FACT(statut='f',min=01,max='**',
9086            regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'),
9087                    UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),),
9088            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9089            NOEUD           =SIMP(statut='f',typ=no,max='**'),
9090            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
9091            TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9092            AVEC_CMP        =SIMP(statut='f',typ='TXM',max='**'),
9093            SANS_CMP        =SIMP(statut='f',typ='TXM',max='**'),
9094          ),
9095          ACCE_UNIF       =FACT(statut='f',min=01,max='**',
9096            regles=(UN_PARMI('AXE','DIRECTION', ),),
9097            AXE             =SIMP(statut='f',typ='TXM',into=("X","Y","Z"),max=03),
9098            DIRECTION       =SIMP(statut='f',typ='R',max=03),
9099            b_dir           =BLOC(condition = "DIRECTION != None",
9100              NOM_DIR         =SIMP(statut='f',typ='TXM' ),
9101            ), 
9102          ),
9103          ACCE_IMPO       =FACT(statut='f',min=01,max='**',
9104             regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'),
9105                     UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),),
9106            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9107            NOEUD           =SIMP(statut='f',typ=no,max='**'),
9108            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
9109            TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9110            AVEC_CMP        =SIMP(statut='f',typ='TXM',max='**'),
9111            SANS_CMP        =SIMP(statut='f',typ='TXM',max='**'),
9112          ),
9113          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
9114          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ,) ),
9115 )  ;
9116 #& MODIF COMMANDE  DATE 03/05/2000   AUTEUR CIBHHAB N.RAHNI 
9117 MODI_BASE_MODALE=OPER(nom="MODI_BASE_MODALE",op= 149,sd_prod=mode_meca,
9118                       fr="Modélisation d une base modale pour tenir compte du couplage fluidélastique (mêmes déformées modales, modification des valeurs des fréquences et amortissements)",
9119                       docu="U4.66.21-C",reentrant='f',
9120 #  la commande modi_base _modale : reentrant = f ou o                      
9121          regles=(EXCLUS('AMOR_UNIF','AMOR_REDUIT', ),),
9122          BASE            =SIMP(statut='o',typ=mode_meca ),
9123          BASE_ELAS_FLUI  =SIMP(statut='o',typ=melasflu ),
9124          NUME_VITE_FLUI  =SIMP(statut='o',typ='I' ),
9125          NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),
9126          AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
9127          AMOR_UNIF       =SIMP(statut='f',typ='R' ),
9128          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
9129          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
9130 )  ;
9131 #& MODIF COMMANDE  DATE 22/05/2000   AUTEUR AUBHHMB M.BONNAMY 
9132 MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage,
9133                    fr="Modification de la connectivité de groupes de mailles 2D ou 3D affectées à la modélisation de contact",
9134                    docu="U4.23.04-C",reentrant='o',
9135       regles=(UN_PARMI('ORIE_CONTACT','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
9136                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE'),
9137               EXCLUS('EQUE_PIQUA','PLAQ_TUBE'),
9138               EXCLUS('EQUE_PIQUA','TUBE_COUDE'),),
9139          MAILLAGE        =SIMP(statut='o',typ=maillage ),         
9140          
9141          ORIE_CONTACT    =FACT(statut='f',min=01,max=01,
9142            GROUP_MA        =SIMP(statut='o',typ=grma,max='**'),
9143          ),
9144          
9145          DEFORME         =FACT(statut='f',min=01,max=01,
9146            OPTION          =SIMP(statut='o',typ='TXM',into=("TRAN",) ),
9147            DEPL            =SIMP(statut='o',typ=cham_no_depl_r ),
9148          ),
9149          
9150          EQUE_PIQUA      =FACT(statut='f',min=01,max=01,
9151            GROUP_NO        =SIMP(statut='o',typ=grno),
9152            E_BASE          =SIMP(statut='o',typ='R' ),
9153            DEXT_BASE       =SIMP(statut='o',typ='R' ),
9154            L_BASE          =SIMP(statut='o',typ='R' ),
9155            L_CHANF         =SIMP(statut='o',typ='R' ),
9156            H_SOUD          =SIMP(statut='o',typ='R' ),
9157            ANGL_SOUD       =SIMP(statut='o',typ='R' ),
9158            JEU_SOUD        =SIMP(statut='o',typ='R' ),
9159            E_CORP          =SIMP(statut='o',typ='R' ),
9160            DEXT_CORP       =SIMP(statut='o',typ='R' ),
9161            AZIMUT          =SIMP(statut='o',typ='R' ),
9162            RAFF_MAIL       =SIMP(statut='o',typ='TXM' ),
9163            X_MAX           =SIMP(statut='o',typ='R' ),
9164          ),
9165          ORIE_PEAU_2D    =FACT(statut='f',min=01,max='**',
9166            GROUP_MA        =SIMP(statut='o',typ=grma,max='**'),
9167          ),
9168          ORIE_PEAU_3D    =FACT(statut='f',min=01,max='**',
9169            GROUP_MA        =SIMP(statut='o',typ=grma,max='**'),
9170          ),
9171          ORIE_NORM_COQUE =FACT(statut='f',min=01,max='**',
9172            regles=(EXCLUS('NOEUD','GROUP_NO'),
9173                    PRESENT_PRESENT('NOEUD','VECT_NORM'),
9174                    PRESENT_PRESENT('GROUP_NO','VECT_NORM'),),
9175            GROUP_MA        =SIMP(statut='o',typ=grma,max='**'),
9176            VECT_NORM       =SIMP(statut='f',typ='R',max=03),
9177            NOEUD           =SIMP(statut='f',typ=no),
9178            GROUP_NO        =SIMP(statut='f',typ=grno),
9179          ),
9180          b_modele        =BLOC(condition = "(ORIE_PEAU_2D != None) or (ORIE_PEAU_3D != None) or(ORIE_NORM_COQUE != None)",
9181            MODELE          =SIMP(statut='o',typ=modele ),
9182          ),
9183          PLAQ_TUBE       =FACT(statut='f',min=01,max=01,
9184            DEXT            =SIMP(statut='o',typ='R' ),
9185            EPAIS           =SIMP(statut='o',typ='R' ),
9186            L_TUBE_P1       =SIMP(statut='o',typ='R' ),
9187            AZIMUT          =SIMP(statut='f',typ='R',defaut= 90. ),
9188            COUTURE         =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",)  ),
9189          ),
9190          TUBE_COUDE      =FACT(statut='f',min=01,max=01,
9191            ANGLE           =SIMP(statut='o',typ='R' ),
9192            R_CINTR         =SIMP(statut='o',typ='R' ),
9193            L_TUBE_P1       =SIMP(statut='o',typ='R' ),
9194          ),
9195          MODI_MAILLE     =FACT(statut='f',min=01,max=01,
9196            regles=(AU_MOINS_UN('GROUP_MA_FOND','MAILLE_FOND','GROUP_NO_FOND','NOEUD_FOND'),),
9197            OPTION          =SIMP(statut='o',typ='TXM',into=("NOEUD_QUART",) ),
9198            GROUP_MA_FOND   =SIMP(statut='f',typ=grma,max='**'),
9199            MAILLE_FOND     =SIMP(statut='f',typ=ma,max='**'),
9200            GROUP_NO_FOND   =SIMP(statut='f',typ=grno,max='**'),
9201            NOEUD_FOND      =SIMP(statut='f',typ=no,max='**'),
9202          ),
9203          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
9204 )  ;
9205 #& MODIF COMMANDE  DATE 07/04/98   AUTEUR ACBHHCD G.DEVESA 
9206 MODI_OBSTACLE=OPER(nom="MODI_OBSTACLE",op=182,sd_prod=obstacle,
9207                    fr=" ",docu="U4.44.22-A",reentrant='f',
9208       regles=(PRESENT_ABSENT('R_MOBILE','CRAYON'),),
9209          TABL_USURE      =SIMP(statut='f',typ=tabl_post_usur),
9210          INST            =SIMP(statut='f',typ='R'),  
9211          OBSTACLE        =SIMP(statut='f',typ=obstacle),
9212          GUIDE           =SIMP(statut='o',typ=obstacle),
9213          CRAYON          =SIMP(statut='f',typ=obstacle),
9214          R_MOBILE        =SIMP(statut='f',typ='R'),  
9215          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
9216 )  ;
9217 #& MODIF COMMANDE  DATE 05/09/2000   AUTEUR CIBHHLV L.VIVAN 
9218 def norm_mode_prod(MODE,**args ):
9219   if AsType(MODE) == mode_meca   : return mode_meca
9220   if AsType(MODE) == mode_meca_c : return mode_meca_c
9221   if AsType(MODE) == mode_flamb  : return mode_flamb
9222   raise AsException("type de concept resultat non prevu")
9223
9224 NORM_MODE=OPER(nom="NORM_MODE",op=  37,sd_prod=norm_mode_prod,
9225                fr="Normalisation de modes propres",
9226                docu="U4.52.11-E",reentrant='f',
9227          regles=(UN_PARMI('NORME','NOEUD','AVEC_CMP','SANS_CMP'),),
9228          MODE            =SIMP(statut='o',typ=(mode_meca,mode_flamb) ),
9229          NORME           =SIMP(statut='f',typ='TXM',fr="Norme prédéfinie : masse généralisée, euclidienne,...",
9230                                into=("MASS_GENE","RIGI_GENE","EUCL","EUCL_TRAN","TRAN","TRAN_ROTA") ),
9231          NOEUD           =SIMP(statut='f',typ=no, fr="Composante donnée d un noeud spécifié égale à 1"),
9232          b_noeud         =BLOC(condition = "NOEUD != None",                          
9233            NOM_CMP         =SIMP(statut='o',typ='TXM' ),
9234          ),
9235          AVEC_CMP        =SIMP(statut='f',typ='TXM',fr="Norme plus grande composante = 1 en prenant seulement en compte les degrés de libertés suivant",max='**'),
9236          SANS_CMP        =SIMP(statut='f',typ='TXM',fr="Norme plus grande composante = 1 en ne prenant pas en compte les degrés de libertés suivant",max='**'),
9237          MASS_INER       =SIMP(statut='f',typ=tabl_mass_iner ),
9238          MODE_SIGNE      =FACT(statut='f',min=00,max=01,fr="Imposer un signe sur une des composantes des modes",
9239            NOEUD           =SIMP(statut='o',typ=no,fr="Noeud où sera imposé le signe"),
9240            NOM_CMP         =SIMP(statut='o',typ='TXM',fr="Composante du noeud où sera imposé le signe" ),
9241            SIGNE           =SIMP(statut='f',typ='TXM',defaut="POSITIF",into=("NEGATIF","POSITIF"),fr="Choix du signe" ),
9242          ),
9243          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
9244          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
9245 )  ;
9246 #& MODIF COMMANDE  DATE 19/05/2000   AUTEUR JFBHHUC C.ROSE 
9247 NUME_DDL=OPER(nom="NUME_DDL",op=11,sd_prod=nume_ddl,docu="U4.61.11-F",reentrant='n',
9248               fr="Etablissement de la numérotation des ddl avec ou sans renumérotation et du stockage de la matrice",
9249          MATR_RIGI       =SIMP(statut='o',typ=(matr_elem_depl_r ,matr_elem_depl_c,   
9250                                                matr_elem_temp_r,matr_elem_pres_c),max='**' ),
9251          METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
9252          b_mult_front    =BLOC(condition="METHODE=='MULT_FRONT'",fr="paramètres associés à la méthode multifrontale",
9253            RENUM           =SIMP(statut='f',typ='TXM',into=("MD","MDA","METIS") ),
9254          ),
9255          b_ldlt          =BLOC(condition="METHODE=='LDLT'",fr="paramètres associés à la méthode LDLT",
9256            RENUM           =SIMP(statut='f',typ='TXM',into=("RCMK","SANS") ),
9257            TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400.),  
9258          ),
9259          b_gcpc          =BLOC(condition="METHODE=='GCPC'",fr="paramètres associés à la méthode gradient conjugué",
9260            RENUM           =SIMP(statut='f',typ='TXM',into=("RCMK","SANS") ),
9261          ),
9262          INFO            =SIMP(statut='f',typ='I',into=(1,2)),
9263 )  ;
9264 #& MODIF COMMANDE  DATE 02/10/96   AUTEUR CIBHHLV L.VIVAN 
9265 NUME_DDL_GENE=OPER(nom="NUME_DDL_GENE",op= 127,sd_prod=nume_ddl_gene,
9266                    fr="Etablissement de la numérotation des ddl d un modèle établi en coordonnées généralisées",
9267                     docu="U4.65.03-D",reentrant='n',
9268          MODELE_GENE     =SIMP(statut='f',typ=modele_gene ),
9269          BASE            =SIMP(statut='f',typ=(mode_meca,base_modale,mode_gene ) ),
9270          NB_VECT         =SIMP(statut='f',typ='I',defaut= 9999 ),
9271          STOCKAGE        =SIMP(statut='f',typ='TXM',defaut="LIGN_CIEL",into=("PLEIN","DIAG","LIGN_CIEL") ),
9272          TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400. ),
9273 )  ;
9274 #& MODIF COMMANDE  DATE 04/08/98   AUTEUR SABJLMA P.LATRUBESSE 
9275 POST_DYNA_ALEA=OPER(nom="POST_DYNA_ALEA",op= 132,sd_prod=tabl_post_alea,
9276                     fr="Traitements statistiques de résultats de type interspectre et impression sur fichiers",
9277                     docu="U4.84.04-D",reentrant='n',
9278          regles=(UN_PARMI('NOEUD_I','NUME_ORDRE_I','OPTION'),),
9279          INTE_SPEC       =SIMP(statut='o',typ=tabl_intsp ),
9280          NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),  
9281          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9282          NUME_ORDRE_I    =SIMP(statut='f',typ='I',max='**' ),
9283          NOEUD_I         =SIMP(statut='f',typ=no,max='**'),         
9284          OPTION          =SIMP(statut='f',typ='TXM',into=("DIAG",) ),
9285          b_nume_ordre_i =BLOC(condition = "NUME_ORDRE_I != None",
9286            NUME_ORDRE_J    =SIMP(statut='o',typ='I',max='**' ),   
9287          ),  
9288          b_noeud_i      =BLOC(condition = "NOEUD_I != None",
9289            NOEUD_J         =SIMP(statut='o',typ=no,max='**'),
9290            NOM_CMP_I       =SIMP(statut='o',typ='TXM',max='**' ),  
9291            NOM_CMP_J       =SIMP(statut='o',typ='TXM',max='**' ),     
9292          ),  
9293          DEPASSEMENT     =FACT(statut='f',min=01,max='**',
9294            fr="Loi de dépassement d un seuil pendant une durée donnée",
9295            regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),),
9296            VALE_MIN        =SIMP(statut='f',typ='R' ),  
9297            VALE_MAX        =SIMP(statut='f',typ='R' ),  
9298            PAS             =SIMP(statut='f',typ='R' ),  
9299            DUREE           =SIMP(statut='f',typ='R',defaut= 1. ),  
9300          ),
9301          RAYLEIGH        =FACT(statut='f',min=01,max='**',
9302            fr="Densité de probabilité de pic positif, loi adaptée à des signaux à bande étroite",
9303            regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),),
9304            VALE_MIN        =SIMP(statut='f',typ='R' ),  
9305            VALE_MAX        =SIMP(statut='f',typ='R' ),  
9306            PAS             =SIMP(statut='f',typ='R' ),  
9307          ),
9308          GAUSS           =FACT(statut='f',min=01,max='**',
9309            fr="Densité de probabilité de pic positif, loi normale adaptée à des signaux large bande",
9310            regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),),
9311            VALE_MIN        =SIMP(statut='f',typ='R' ),  
9312            VALE_MAX        =SIMP(statut='f',typ='R' ),  
9313            PAS             =SIMP(statut='f',typ='R' ),  
9314          ),
9315          VANMARCKE       =FACT(statut='f',min=01,max='**',
9316            fr="Probabilité de non dépassement de seuil pendant une durée donnée (analyse sismique)",
9317            regles=(ENSEMBLE('VALE_MIN','VALE_MAX'),),
9318            VALE_MIN        =SIMP(statut='f',typ='R' ),  
9319            VALE_MAX        =SIMP(statut='f',typ='R' ),  
9320            PAS             =SIMP(statut='f',typ='R' ),  
9321            DUREE           =SIMP(statut='f',typ='R',defaut= 10. ),  
9322          ),
9323          MOMENT          =SIMP(statut='f',typ='I',max='**',fr="Moments spectraux en complément des cinq premiers" ),  
9324          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
9325          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
9326 )  ;
9327 #& MODIF COMMANDE  DATE 11/02/98   AUTEUR CIBHHLV L.VIVAN 
9328 POST_DYNA_MODA_T=OPER(nom="POST_DYNA_MODA_T",op= 130,sd_prod=tabl_post_dyna,
9329                       fr="Post-traitements en coordonnées généralisées issus de DYNA_TRAN_MODAL",
9330                       docu="U4.84.02-D",reentrant='n',
9331         regles=(UN_PARMI('CHOC','RELA_EFFO_DEPL', ),),
9332          RESU_GENE       =SIMP(statut='o',typ=tran_gene ),
9333          CHOC            =FACT(statut='f',min=01,max='**',
9334                                fr="Analyse des non linéarités de choc",
9335            INST_INIT       =SIMP(statut='f',typ='R',defaut= -1. ),  
9336            INST_FIN        =SIMP(statut='f',typ='R',defaut= 999. ),  
9337            NB_BLOC         =SIMP(statut='f',typ='I',defaut= 1 ),  
9338            SEUIL_FORCE     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
9339            DUREE_REPOS     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
9340            OPTION          =SIMP(statut='f',typ='TXM',defaut="USURE",into=("IMPACT","USURE") ),
9341            NB_CLASSE       =SIMP(statut='f',typ='I',defaut= 10 ),  
9342          ),
9343          RELA_EFFO_DEPL  =FACT(statut='f',min=01,max=01,
9344                                fr="Analyse des relationsnon linéaires effort-déplacement",
9345            NOEUD           =SIMP(statut='o',typ=no),
9346            NOM_CMP         =SIMP(statut='o',typ='TXM' ),  
9347          ),
9348          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
9349          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
9350 )  ;
9351 #& MODIF COMMANDE  DATE 05/12/2000   AUTEUR G8BHHXD X.DESROCHES 
9352 def post_elem_prod( MASS_INER,ENER_POT,ENER_CIN,INDU_MUTU,WEIBULL,
9353                     CARA_GEOM,CARA_POUTRE,RICE_TRACEY,CHAR_LIMITE,
9354                     INDIC_ENER,INDIC_SEUIL,ENER_ELAS,ENER_TOTALE,
9355                     AIRE_INTERNE,**args ):
9356   if MASS_INER    != None  : return tabl_mass_iner
9357   if ENER_POT     != None  : return tabl_ener_pot
9358   if ENER_CIN     != None  : return tabl_ener_cin
9359   if INDU_MUTU    != None  : return tabl_indu_mutu
9360   if WEIBULL      != None  : return tabl_weibull
9361   if CARA_GEOM    != None  : return tabl_cara_geom
9362   if CARA_POUTRE  != None  : return tabl_cara_geom
9363   if RICE_TRACEY  != None  : return tabl_rice_tracey
9364   if CHAR_LIMITE  != None  : return tabl_char_limite
9365   if INDIC_ENER   != None  : return tabl_indic_ener
9366   if INDIC_SEUIL  != None  : return tabl_indic_seuil
9367   if ENER_ELAS    != None  : return tabl_ener_elas
9368   if ENER_TOTALE  != None  : return tabl_ener_totale
9369   if AIRE_INTERNE != None  : return tabl_aire_int
9370   raise AsException("type de concept resultat non prevu")
9371
9372 POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=post_elem_prod,docu="U4.81.22-D",reentrant='f',
9373                fr="Calcul de quantités globales (masse, inerties, énergie, ...) sur tout ou partie du modèle",
9374          regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',       
9375                         'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),
9376                  EXCLUS('CHAM_GD','RESULTAT'),
9377                  UN_PARMI('MASS_INER', 'ENER_POT', 'ENER_CIN', 'INDU_MUTU',
9378                           'WEIBULL', 'RICE_TRACEY', 'CARA_GEOM','CHAR_LIMITE',
9379                           'CARA_POUTRE', 'INDIC_ENER', 'INDIC_SEUIL',
9380                           'AIRE_INTERNE','ENER_ELAS','ENER_TOTALE'),
9381                  PRESENT_PRESENT( 'MASS_INER', 'MODELE' ),
9382                  PRESENT_PRESENT( 'CARA_GEOM', 'MODELE' ),
9383                  PRESENT_PRESENT( 'AIRE_INTERNE', 'MODELE' ),
9384                  PRESENT_PRESENT( 'CARA_POUTRE', 'MODELE' ),
9385                  PRESENT_PRESENT( 'ENER_POT', 'MODELE', 'CHAM_MATER' ),
9386                  PRESENT_PRESENT( 'ENER_CIN', 'MODELE', 'CHAM_MATER' ),
9387                  PRESENT_PRESENT( 'INDU_MUTU', 'MODELE','CHARGE' ),
9388                  PRESENT_PRESENT( 'WEIBULL', 'MODELE', 'CHAM_MATER' ),
9389                  PRESENT_PRESENT( 'RICE_TRACEY', 'MODELE', 'CHAM_MATER' ),
9390                  PRESENT_PRESENT( 'INDIC_ENER', 'MODELE', 'CHAM_MATER' ),
9391                  PRESENT_PRESENT( 'INDIC_SEUIL', 'MODELE', 'CHAM_MATER' ),
9392                  PRESENT_PRESENT( 'ENER_ELAS', 'MODELE', 'CHAM_MATER' ),
9393                  PRESENT_PRESENT( 'ENER_TOTALE', 'MODELE', 'CHAM_MATER' ),
9394                  PRESENT_PRESENT( 'CHAR_LIMITE', 'MODELE', 'CHAM_MATER' ),
9395              ),    
9396          MODELE          =SIMP(statut='o',typ=modele),
9397          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
9398          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
9399          CHARGE          =SIMP(statut='f',typ=(char_meca,char_ther,char_acou),max='**' ),
9400          MODE_FOURIER    =SIMP(statut='f',typ='I',defaut=0),  
9401          NUME_COUCHE     =SIMP(statut='f',typ='I',defaut=1),  
9402          NIVE_COUCHE     =SIMP(statut='f',typ='TXM',into=("INF","SUP","MOY"),defaut="MOY"),  
9403          ANGLE           =SIMP(statut='f',typ='I',defaut=0),  
9404          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
9405          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
9406          GEOMETRIE       =SIMP(statut='f',typ='TXM',defaut="INITIALE",into=("INITIALE","DEFORMEE")),
9407          CHAM_GD         =SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_elem_ener_r) ),
9408          RESULTAT        =SIMP(statut='f',typ=(mode_meca,evol_elas,evol_ther,evol_noli,mult_elas,fourier_elas) ),
9409          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9410          NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),  
9411          LIST_ORDRE      =SIMP(statut='f',typ=listis),
9412          INST            =SIMP(statut='f',typ='R',max='**'),  
9413          LIST_INST       =SIMP(statut='f',typ=listr8),
9414          FREQ            =SIMP(statut='f',typ='R',max='**'),  
9415          LIST_FREQ       =SIMP(statut='f',typ=listr8),
9416          NUME_MODE       =SIMP(statut='f',typ='I',max='**'),  
9417          NOEUD_CMP       =SIMP(statut='f',typ='TXM',max='**'),  
9418          NOM_CAS         =SIMP(statut='f',typ='TXM',max='**'),  
9419          PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),  
9420          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
9421
9422          MASS_INER       =FACT(statut='f',min=1,max='**',
9423            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
9424            TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400.),  
9425            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9426            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
9427            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
9428            ORIG_INER       =SIMP(statut='f',typ='R',min=3,max=3 ),  
9429          ),
9430
9431          ENER_POT        =FACT(statut='f',min=1,max='**',
9432            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
9433            TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400.),  
9434            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9435            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
9436            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
9437          ),
9438
9439          ENER_CIN        =FACT(statut='f',min=1,max='**',
9440            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
9441            TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400.),  
9442            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9443            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
9444            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
9445          ),
9446
9447          INDU_MUTU       =FACT(statut='f',min=1,max='**',
9448            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
9449            TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400.),  
9450            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9451            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
9452            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
9453          ),
9454
9455          WEIBULL         =FACT(statut='f',min=1,max='**',
9456            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
9457            TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400.),  
9458            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9459            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
9460            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
9461            OPTION          =SIMP(statut='f',typ='TXM',defaut="SIGM_ELGA",into=("SIGM_ELGA","SIGM_ELMOY")),
9462            CORR_PLAST      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
9463            COEF_MULT       =SIMP(statut='f',typ='R',defaut=1.),  
9464          ),
9465
9466          RICE_TRACEY     =FACT(statut='f',min=1,max='**',
9467            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
9468            TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400.),  
9469            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9470            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
9471            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
9472            OPTION          =SIMP(statut='f',typ='TXM',defaut="SIGM_ELGA",into=("SIGM_ELGA","SIGM_ELMOY")),
9473            LOCAL           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
9474          ),
9475
9476          INDIC_ENER      =FACT(statut='f',min=1,max='**',
9477            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
9478            TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400.),  
9479            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9480            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
9481            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
9482          ),
9483
9484          ENER_ELAS       =FACT(statut='f',min=1,max='**',
9485            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
9486            TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400.),  
9487            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9488            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
9489            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
9490          ),
9491
9492          ENER_TOTALE    =FACT(statut='f',min=1,max='**',
9493            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
9494            TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400.),  
9495            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9496            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
9497            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
9498          ),
9499
9500          CHAR_LIMITE     =FACT(statut='f',min=00,max=01,
9501            TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400.),  
9502            TOUT            =SIMP(statut='o',typ='TXM',into=("OUI",)),
9503            N               =SIMP(statut='f',typ='R',max=1),  
9504          ),
9505
9506          INDIC_SEUIL     =FACT(statut='f',min=1,max='**',
9507            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
9508            TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400.),  
9509            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9510            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
9511            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
9512          ),
9513
9514          CARA_GEOM       =FACT(statut='f',min=1,max='**',
9515            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
9516            TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400.),  
9517            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9518            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
9519            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
9520            SYME_X          =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
9521            SYME_Y          =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
9522            ORIG_INER       =SIMP(statut='f',typ='R',min=2,max=2),  
9523          ),
9524
9525          CARA_POUTRE     =FACT(statut='f',min=1,max='**',
9526            regles=(AU_MOINS_UN('TOUT','GROUP_MA'),
9527                    ENSEMBLE('LONGUEUR','LIAISON','MATERIAU'),),
9528            TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400.),  
9529            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9530            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
9531            GROUP_MA_INTE   =SIMP(statut='f',typ=grma,max='**'),
9532            CARA_GEOM       =SIMP(statut='f',typ=tabl_cara_geom),
9533            LAPL_PHI        =SIMP(statut='f',typ=evol_ther),
9534            LAPL_PHI_Y      =SIMP(statut='f',typ=evol_ther),
9535            LAPL_PHI_Z      =SIMP(statut='f',typ=evol_ther),
9536            LIAISON         =SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT")),
9537            LONGUEUR        =SIMP(statut='f',typ='R'),  
9538            MATERIAU        =SIMP(statut='f',typ=mater),
9539            OPTION          =SIMP(statut='f',typ='TXM',into=("CARA_TORSION","CARA_CISAILLEMENT","CARA_GAUCHI") ),
9540          ),
9541
9542          AIRE_INTERNE    =FACT(statut='f',min=1,max='**',
9543            GROUP_MA_BORD   =SIMP(statut='o',typ=grma,max='**'),
9544          ),
9545  )  ;
9546 #& MODIF COMMANDE  DATE 16/12/97   AUTEUR CIBHHLV L.VIVAN 
9547 POST_FATI_ALEA=OPER(nom="POST_FATI_ALEA",op=170,sd_prod=tabl_post_f_alea,docu="U4.84.03-C",reentrant='n',
9548                     fr="Calcul du dommage subi par une structure soumise à unesollicitation de type aléatoire",
9549          regles=(ENSEMBLE('MOMENT_SPEC_0','MOMENT_SPEC_2'),
9550                  PRESENT_PRESENT( 'MOMENT_SPEC_4','MOMENT_SPEC_0'),
9551                  UN_PARMI('TABL_POST_ALEA','MOMENT_SPEC_0'), ),
9552          MOMENT_SPEC_0   =SIMP(statut='f',typ='R'),  
9553          MOMENT_SPEC_2   =SIMP(statut='f',typ='R'),  
9554          MOMENT_SPEC_4   =SIMP(statut='f',typ='R'),  
9555          TABL_POST_ALEA  =SIMP(statut='f',typ=tabl_post_alea),
9556          COMPTAGE        =SIMP(statut='o',typ='TXM',into=("PIC","NIVEAU")),
9557          DUREE           =SIMP(statut='f',typ='R',defaut= 1.),  
9558          CORR_KE         =SIMP(statut='f',typ='TXM',into=("RCCM",)),
9559          DOMMAGE         =SIMP(statut='o',typ='TXM',into=("WOHLER",)),
9560          MATER           =SIMP(statut='o',typ=mater),
9561          TITRE           =SIMP(statut='f',typ='TXM',max='**'),  
9562 )  ;
9563 #& MODIF COMMANDE  DATE 01/10/97   AUTEUR CIBHHLV L.VIVAN 
9564 POST_FATIGUE=OPER(nom="POST_FATIGUE",op=136,sd_prod=tabl_post_fatig,docu="U4.83.01-C",reentrant='n',
9565                   fr="Calcul du dommage subi par une structure soumise à une histoire de chargement",
9566          regles=(PRESENT_PRESENT('CORR_KE','MATER'),
9567                  PRESENT_PRESENT('CORR_SIGM_MOYE','MATER'),
9568                  PRESENT_PRESENT('CRITERE','MATER'),   
9569                  PRESENT_PRESENT('DOMMAGE','MATER'),),
9570          HISTOIRE        =FACT(statut='o',min=1,max=1,
9571            regles=(EXCLUS('SIGM','EPSI'),
9572                    EXCLUS('SIGM','SIGM_XX'),
9573                    EXCLUS('SIGM','SIGM_XZ'),
9574                    EXCLUS('SIGM','SIGM_YZ'),
9575                    EXCLUS('SIGM','EPSP'),     
9576                    EXCLUS('SIGM','TEMP',),
9577                    EXCLUS('EPSI','SIGM_XX'),
9578                    EXCLUS('EPSI','SIGM_XZ'),
9579                    EXCLUS('EPSI','SIGM_YZ'),
9580                    EXCLUS('EPSI','EPSP'),     
9581                    EXCLUS('EPSI','TEMP'),
9582                    ENSEMBLE('SIGM_XX','SIGM_YY','SIGM_ZZ','SIGM_XY'),
9583                    ENSEMBLE('SIGM_XZ','SIGM_YZ'),
9584                    ENSEMBLE('EPSP','TEMP'),),
9585            SIGM            =SIMP(statut='f',typ=fonction),
9586            EPSI            =SIMP(statut='f',typ=fonction),
9587            SIGM_XX         =SIMP(statut='f',typ=fonction),
9588            SIGM_YY         =SIMP(statut='f',typ=fonction),
9589            SIGM_ZZ         =SIMP(statut='f',typ=fonction),
9590            SIGM_XY         =SIMP(statut='f',typ=fonction),
9591            SIGM_XZ         =SIMP(statut='f',typ=fonction),
9592            SIGM_YZ         =SIMP(statut='f',typ=fonction),
9593            EPSP            =SIMP(statut='f',typ=fonction),
9594            TEMP            =SIMP(statut='f',typ=fonction),
9595          ),
9596          COMPTAGE        =SIMP(statut='f',typ='TXM',into=("RAINFLOW","RCCM","NATUREL")),
9597          DELTA_OSCI      =SIMP(statut='f',typ='R',defaut= 0.0E+0),  
9598          COEF_MULT       =FACT(statut='f',min=1,max=1,
9599            KT              =SIMP(statut='f',typ='R'),  
9600          ),
9601          CORR_KE         =SIMP(statut='f',typ='TXM',into=("RCCM",)),
9602          CORR_SIGM_MOYE  =SIMP(statut='f',typ='TXM',into=("GOODMAN","GERBER")),
9603          TAHERI_NAPPE    =SIMP(statut='f',typ=fonction),
9604          TAHERI_FONC     =SIMP(statut='f',typ=fonction),
9605          CRITERE         =SIMP(statut='f',typ='TXM',into=("CROSSLAND","PAPADOPOULOS")),
9606          COEF_CORR       =SIMP(statut='f',typ='R'),  
9607          DOMMAGE         =SIMP(statut='f',typ='TXM',into=("WOHLER","MANSON_COFFIN","TAHERI_MANSON",   
9608                                                           "TAHERI_MIXTE","LEMAITRE")),
9609          MATER           =SIMP(statut='f',typ=mater),
9610          CUMUL           =SIMP(statut='f',typ='TXM',into=("LINEAIRE",)),
9611          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
9612          TITRE           =SIMP(statut='f',typ='TXM',max='**'),  
9613 )  ;
9614 #& MODIF COMMANDE  DATE 15/09/1999   AUTEUR F1BHHAJ J.ANGLES 
9615 POST_GOUJ2E=OPER(nom="POST_GOUJ2E",op=187,sd_prod=tabl_post_gouj2e,reentrant='n', 
9616                  fr=" ",docu="U4.GJ.30-A",
9617          TABLE           =SIMP(statut='o',typ=tabl_post_rele),
9618 )  ;
9619 #& MODIF COMMANDE  DATE 31/05/2000   AUTEUR CIBHHLV L.VIVAN 
9620 POST_K1_K2_K3=OPER(nom="POST_K1_K2_K3",op=188,sd_prod=tabl_post_k,
9621                    fr="Calcul des facteurs d intensité des contraintes par extrapolation du champ de déplacements sur les lèvres de la fissure",
9622                    docu="U4.82.05-A",reentrant='n',
9623       regles=(PRESENT_PRESENT('REPERE','VECT_Y', ),),
9624          MODELISATION    =SIMP(statut='o',typ='TXM',into=("3D",
9625                                                            "AXIS",
9626                                                            "D_PLAN",
9627                                                            "C_PLAN"
9628                                                            ),
9629                                fr="Modélisation cohérente avec celle utilisée pour le calcul des déplacements"),
9630          FOND_3D         =SIMP(statut='f',typ=fond_fiss,fr="Fond de fissure issu de DEFI_FOND_FISS"),
9631          b_fond_3d       =BLOC (condition="(FOND_3D != None)",
9632                            MAILLAGE  = SIMP(statut='o',typ=maillage),
9633                            PRECISION = SIMP(statut='f',typ='R',defaut=0.001)
9634                            ),
9635          MATER           =SIMP(statut='o',typ=mater,fr="Matériau homogène et isotrope cohérent avec celui utilisé pour le calcul des déplacements"),
9636          TABL_DEPL_SUP   =SIMP(statut='o',typ=tabl_post_rele,fr="Table issue de post_releve_t sur les noeuds de la lèvre supérieure"),
9637          TABL_DEPL_INF   =SIMP(statut='o',typ=tabl_post_rele,fr="Table issue de post_releve_t sur les noeuds de la lèvre inférieure"),
9638          ABSC_CURV_MAXI  =SIMP(statut='f',typ='R',fr="distance maximum à partir du fond de fissure à utiliser pour le calcul"),  
9639          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
9640          REPERE          =SIMP(statut='f',typ='TXM',into=("LOCAL",),fr="Les déplacements sont transportés dans le repère local à la fissure"),
9641          VECT_Y          =SIMP(statut='f',typ='R',max='**',fr="Vecteur dont la projection sur le plan normal au segment de calcul défini l axe Y local"),  
9642          TITRE           =SIMP(statut='f',typ='TXM',max='**'),  
9643 )  ;
9644 #& MODIF COMMANDE  DATE 27/04/98   AUTEUR CIBHHLV L.VIVAN 
9645 POST_RCCM=OPER(nom="POST_RCCM",op= 165,sd_prod=tabl_post_rccm,
9646                fr="Vérification des critères de niveau 0 et certains critères de niveau A du RCC-M-B3200 (Edition 1991)",
9647                docu="U4.83.11-C",reentrant='n',
9648          MATER           =SIMP(statut='o',typ=mater ),
9649          TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="VALE_MAX",into=("VALE_MAX","VALE_INST") ),
9650          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
9651          OPTION          =SIMP(statut='o',typ='TXM',max='**',
9652                                into=("PM_PB",
9653                                      "SN",
9654                                      "FATIGUE_SPMAX",
9655                                      "FATIGUE_ZH210"
9656                                      ) ),
9657          SEGMENT         =FACT(statut='o',min=01,max='**',fr="Segment sur lequel s effectue le depouillement",
9658            INTITULE        =SIMP(statut='f',typ='TXM' ),
9659            CHEMIN          =SIMP(statut='o',typ=(courbe,surface) ),
9660          ),
9661          TRANSITOIRE     =FACT(statut='o',min=01,max='**',fr="transitoire à dépouiller",
9662            regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),),
9663            INTITULE        =SIMP(statut='f',typ='TXM' ),
9664            RESULTAT        =SIMP(statut='o',typ=(evol_elas,evol_noli) ),
9665            RESU_SIGM_THER  =SIMP(statut='f',typ=(evol_elas,evol_noli),fr="résultat sous chargement thermique seul" ),
9666            NB_OCCUR        =SIMP(statut='f',typ='I',defaut= 1,fr="nombre d occurences réelles de ce transitoire" ),
9667            NOM_CHAM        =SIMP(statut='f',typ='TXM',into=("SIEF_ELNO_ELGA","SIGM_ELNO_DEPL") ),
9668            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9669            NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),
9670            LIST_ORDRE      =SIMP(statut='f',typ=listis ),
9671            INST            =SIMP(statut='f',typ='R',max='**'),
9672            LIST_INST       =SIMP(statut='f',typ=listr8 ),
9673            b_inst          =BLOC(condition = "(INST != None) or (LIST_INST != None)" ,
9674              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
9675              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ),
9676            ), 
9677          ),
9678 )  ;
9679 #& MODIF COMMANDE  DATE 11/10/2000   AUTEUR CIBHHLV L.VIVAN 
9680 POST_RELEVE_T=OPER(nom="POST_RELEVE_T",op=51,sd_prod=tabl_post_rele,docu="U4.81.21-D",reentrant='n',
9681                    fr="Relevé de valeurs et calculs d invariants avec stockage et organisation du relevé dans un concept de type table",
9682          ACTION          =FACT(statut='o',min=01,max='**',
9683            regles=(AU_MOINS_UN('CHEMIN','GROUP_NO','NOEUD'),
9684                    EXCLUS('CHEMIN','GROUP_NO'),
9685                    EXCLUS('CHEMIN','NOEUD'),
9686                    PRESENT_ABSENT('CHEMIN','GROUP_MA','MAILLE'),
9687                    UN_PARMI('RESULTAT','CHAM_GD'),            
9688                    UN_PARMI('TOUT_CMP','NOM_CMP','INVARIANT','ELEM_PRINCIPAUX','RESULTANTE'),
9689                    PRESENT_PRESENT('TRAC_DIR','DIRECTION'),          
9690                    PRESENT_PRESENT('TRAC_DIRECTION','DIRECTION'),
9691                    ENSEMBLE('MOMENT','POINT'),
9692                    PRESENT_PRESENT('MOMENT','RESULTANTE'),
9693                    PRESENT_ABSENT('TOUT_CMP','TRAC_DIRECTION','TRAC_NORMALE'),
9694                    PRESENT_ABSENT('TOUT_CMP','TRAC_DIR','TRAC_NOR'),
9695                    PRESENT_PRESENT('ORIGINE','AXE_Z'),),
9696            INTITULE        =SIMP(statut='o',typ='TXM'),  
9697            CHEMIN          =SIMP(statut='f',typ=(courbe,surface) ),
9698            NOEUD           =SIMP(statut='f',typ=no,max='**'),
9699            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9700            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
9701            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
9702            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
9703            FORMAT_C        =SIMP(statut='f',typ='TXM',defaut="MODULE",into=("MODULE","REEL","IMAG")),
9704            CHAM_GD         =SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_no_pres_r,cham_no_var2_r,      
9705                                                  cham_elem_sief_r,cham_elem_epsi_r,cham_elem_flux_r,cham_elem_crit_r,                 
9706                                                  cham_elem_ener_r,cham_elem_dbel_r,cham_elem_pres_r,cham_elem_erreur,                 
9707                                                  cham_elem_vari_r,cham_no_depl_c,cham_no_temp_c,cham_no_pres_c,
9708                                                  cham_elem_sief_c,cham_elem_epsi_c)),
9709            RESULTAT        =SIMP(statut='f',typ=(evol_elas,evol_ther,evol_noli,dyna_trans,          
9710                                                  mode_meca,mode_flamb,mode_acou,base_modale,        
9711                                                  mult_elas,fourier_elas,dyna_harmo,acou_harmo)),
9712            b_extrac        =BLOC(condition = "RESULTAT != None",fr="extraction des résultats",
9713              regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','NUME_MODE','LIST_MODE',         
9714                             'INST','LIST_INST','FREQ','LIST_FREQ','NOM_CAS'), ),           
9715              NOM_CHAM        =SIMP(statut='o',typ='TXM' ),  
9716              TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9717              NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),  
9718              LIST_ORDRE      =SIMP(statut='f',typ=listis),
9719              NUME_MODE       =SIMP(statut='f',typ='I',max='**'),  
9720              LIST_MODE       =SIMP(statut='f',typ=listis),
9721              NOM_CAS         =SIMP(statut='f',typ='TXM',max='**'),  
9722              FREQ            =SIMP(statut='f',typ='R',max='**'),  
9723              LIST_FREQ       =SIMP(statut='f',typ=listr8),
9724              INST            =SIMP(statut='f',typ='R',max='**'),  
9725              LIST_INST       =SIMP(statut='f',typ=listr8),
9726              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),  
9727              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
9728            ),
9729            TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",)),
9730            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),  
9731            INVARIANT       =SIMP(statut='f',typ='TXM',into=("OUI",)),
9732            ELEM_PRINCIPAUX =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9733            RESULTANTE      =SIMP(statut='f',typ='TXM',max='**'),  
9734            MOMENT          =SIMP(statut='f',typ='TXM',max='**'),  
9735            POINT           =SIMP(statut='f',typ='R',max='**'),  
9736
9737            REPERE          =SIMP(statut='f',typ='TXM',defaut="GLOBAL",
9738                                  into=("GLOBAL","LOCAL","POLAIRE","UTILISATEUR","CYLINDRIQUE"),),
9739            ANGL_NAUT       =SIMP(statut='f',typ='R',min=3,max=3),  
9740            ORIGINE         =SIMP(statut='f',typ='R',min=3,max=3),  
9741            AXE_Z           =SIMP(statut='f',typ='R',min=3,max=3),  
9742
9743            TRAC_NOR        =SIMP(statut='f',typ='TXM',into=("OUI",)),
9744            TRAC_DIR        =SIMP(statut='f',typ='TXM',into=("OUI",)),
9745            DIRECTION       =SIMP(statut='f',typ='R',max='**'),  
9746            TRAC_DIRECTION  =SIMP(statut='f',typ='TXM',into=("OUI",)),
9747            TRAC_NORMALE    =SIMP(statut='f',typ='TXM',into=("OUI",)),
9748  
9749            VECT_Y          =SIMP(statut='f',typ='R',max='**'),  
9750            MOYE_NOEUD      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
9751            OPERATION       =SIMP(statut='o',typ='TXM',into=("EXTRACTION","MOYENNE","MOYENNE_RCCM")),
9752          ),
9753          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
9754          TITRE           =SIMP(statut='f',typ='TXM',max='**'),  
9755 )  ;
9756 #& MODIF COMMANDE  DATE 18/01/99   AUTEUR CIBHHBC B.CIREE 
9757 POST_SIMPLIFIE=OPER(nom="POST_SIMPLIFIE",op=185,sd_prod=tabl_post_simpli,
9758                     fr=" ",docu="U4.PS.10-A",reentrant='n',
9759          MATER           =SIMP(statut='o',typ=(mater) ),
9760          DEF_EQUI        =FACT(statut='f',min=01,max=01,
9761            METHODE         =SIMP(statut='f',typ='TXM',max='**',defaut="UTO_2_3",
9762                                  into=("UTO_2_3",) ),
9763            EPAIS           =SIMP(statut='o',typ='R'),  
9764            LONG_FISS       =SIMP(statut='o',typ='R'),  
9765            LONG_LIGA_INT   =SIMP(statut='o',typ='R'),  
9766            DEXT            =SIMP(statut='o',typ='R'),  
9767            TEMP_ANALYSE    =SIMP(statut='f',typ='R'),  
9768          ),
9769 )  ;
9770 #& MODIF COMMANDE  DATE 07/04/98   AUTEUR ACBHHCD G.DEVESA 
9771 POST_USURE=OPER(nom="POST_USURE",op=153,sd_prod=tabl_post_usur,docu="U4.84.05-C",reentrant='f',
9772                 fr="Calcul des volumes d'usure et des profondeurs d'usure",
9773          regles=(UN_PARMI('RESU_GENE','PUIS_USURE'),
9774                  PRESENT_PRESENT('RESU_GENE','NOEUD'),
9775                  UN_PARMI('INST','LIST_INST'),),
9776          ETAT_INIT       =FACT(statut='f',min=01,max=01,
9777            TABL_USURE      =SIMP(statut='f',typ=tabl_post_usur),
9778            INST_INIT       =SIMP(statut='f',typ='R'),  
9779                          ),
9780          RESU_GENE       =SIMP(statut='f',typ=tran_gene),
9781          NOEUD           =SIMP(statut='f',typ=no,max=1),
9782          INST_INIT       =SIMP(statut='f',typ='R',defaut=-1.0E+0),  
9783          INST_FIN        =SIMP(statut='f',typ='R'),  
9784          NB_BLOC         =SIMP(statut='f',typ='I',defaut= 1 ),  
9785          PUIS_USURE      =SIMP(statut='f',typ='R'),  
9786          LOI_USURE       =SIMP(statut='o',typ='TXM',into=("ARCHARD","KWU_EPRI","EDF_MZ")),
9787          b_archard       =BLOC(condition = "LOI_USURE == 'ARCHARD'",
9788            regles=(EXCLUS('MATER_USURE','OBSTACLE'),
9789                    EXCLUS('MOBILE','USURE_OBST'),),
9790            MOBILE          =FACT(statut='f',min=01,max=01,
9791              COEF_USURE      =SIMP(statut='o',typ='R'), 
9792            ),   
9793            OBSTACLE        =FACT(statut='f',min=01,max=01,
9794              COEF_USURE      =SIMP(statut='o',typ='R'), 
9795            ),   
9796            MATER_USURE     =SIMP(statut='f',typ='TXM'),  
9797            USURE_OBST      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
9798          ),
9799          b_kwu_epri        =BLOC(condition = "LOI_USURE == 'KWU_EPRI'",
9800            regles=(UN_PARMI('MOBILE','MATER_USURE'), 
9801                    EXCLUS('MATER_USURE','OBSTACLE'),
9802                    EXCLUS('MOBILE','USURE_OBST'),),
9803            MOBILE          =FACT(statut='f',min=01,max=01,
9804              COEF_FNOR       =SIMP(statut='f',typ='R'),  
9805              COEF_VTAN       =SIMP(statut='f',typ='R'),  
9806              COEF_USURE      =SIMP(statut='f',typ='R'),  
9807              COEF_K          =SIMP(statut='f',typ='R',defaut=5.0E+0),  
9808              COEF_C          =SIMP(statut='f',typ='R',defaut=10.0E+0),  
9809            ),   
9810            OBSTACLE        =FACT(statut='f',min=01,max=01,
9811              COEF_FNOR       =SIMP(statut='f',typ='R' ),  
9812              COEF_VTAN       =SIMP(statut='f',typ='R' ),  
9813              COEF_USURE      =SIMP(statut='o',typ='R'), 
9814              COEF_K          =SIMP(statut='f',typ='R',defaut=5.0E+0),  
9815              COEF_C          =SIMP(statut='f',typ='R',defaut=10.0E+0),  
9816            ),   
9817            MATER_USURE     =SIMP(statut='f',typ='TXM'),  
9818            USURE_OBST      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
9819            FNOR_MAXI       =SIMP(statut='f',typ='R' ),  
9820            VTAN_MAXI       =SIMP(statut='f',typ='R' ),  
9821          ),
9822          b_edf_mz          =BLOC(condition = "LOI_USURE == 'EDF_MZ'",
9823            regles=(UN_PARMI('MOBILE','MATER_USURE'), 
9824                    EXCLUS('MATER_USURE','OBSTACLE'),
9825                    EXCLUS('MOBILE','USURE_OBST'),),
9826            MOBILE          =FACT(statut='f',min=01,max=01,
9827              COEF_USURE      =SIMP(statut='f',typ='R',defaut=1.0E-13),  
9828              COEF_B          =SIMP(statut='f',typ='R',defaut=1.2E+0),  
9829              COEF_N          =SIMP(statut='f',typ='R',defaut=2.44E-8),  
9830              COEF_S          =SIMP(statut='f',typ='R',defaut=1.14E-16),  
9831            ),   
9832            OBSTACLE        =FACT(statut='f',min=01,max=01,
9833              COEF_USURE      =SIMP(statut='o',typ='R',defaut=1.0E-13), 
9834              COEF_B          =SIMP(statut='f',typ='R',defaut=1.2E+0),  
9835              COEF_N          =SIMP(statut='f',typ='R',defaut=2.44E-8),  
9836              COEF_S          =SIMP(statut='f',typ='R',defaut=1.14E-16),  
9837            ),   
9838            MATER_USURE     =SIMP(statut='f',typ='TXM'),  
9839            USURE_OBST      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
9840          ),
9841          SECTEUR         =FACT(statut='f',min=01,max='**',
9842            CONTACT         =SIMP(statut='f',typ='TXM',into=("TUBE_BAV","TUBE_ALESAGE","TUBE_4_ENCO",  
9843                                                             "GRAPPE_ALESAGE","TUBE_3_ENCO","TUBE_TUBE", 
9844                                                             "GRAPPE_1_ENCO","GRAPPE_2_ENCO")),
9845            COEF_USUR_MOBILE=SIMP(statut='f',typ='R'),  
9846            COEF_USUR_OBST  =SIMP(statut='f',typ='R'),  
9847            ANGL_INIT       =SIMP(statut='f',typ='R'),  
9848            ANGL_FIN        =SIMP(statut='f',typ='R'),  
9849          ),
9850          CONTACT         =SIMP(statut='f',typ='TXM',into=("TUBE_BAV","TUBE_ALESAGE","TUBE_4_ENCO",    
9851                                                           "GRAPPE_ALESAGE","TUBE_3_ENCO","TUBE_TUBE",        
9852                                                           "GRAPPE_1_ENCO","GRAPPE_2_ENCO")),
9853          LARGEUR_OBST    =SIMP(statut='f',typ='R'),  
9854          ANGL_INCLI      =SIMP(statut='f',typ='R'),  
9855          ANGL_ISTHME     =SIMP(statut='f',typ='R'),  
9856          ANGL_IMPACT     =SIMP(statut='f',typ='R'),  
9857          INST            =SIMP(statut='f',typ='R',max='**'),  
9858          LIST_INST       =SIMP(statut='f',typ=listr8),
9859          COEF_INST       =SIMP(statut='f',typ='R',defaut=1.0E+0),  
9860          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
9861          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
9862 )  ;
9863 #& MODIF COMMANDE  DATE 31/08/1999   AUTEUR G8BHHXD X.DESROCHES 
9864 POST_ZAC=OPER(nom="POST_ZAC",op= 175,sd_prod=mult_elas,docu="U4.83.21-B",reentrant='n',
9865               fr="Donne l'état adapté ou accommodé d'une structure sous chargement cyclique élastique affine ou non",
9866          MODELE          =SIMP(statut='o',typ=modele),
9867          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
9868          EXCIT           =FACT(statut='o',min=01,max='**',
9869            CHARGE          =SIMP(statut='o',typ=char_meca),
9870            FONC_MULT       =SIMP(statut='f',typ=fonction),
9871            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",into=("FIXE_CSTE",)),
9872          ),
9873          EVOL_ELAS       =SIMP(statut='o',typ=evol_elas),
9874          b_evol_elas     =BLOC(condition="EVOL_ELAS != None",
9875            regles=(UN_PARMI('NUME_ORDRE','LIST_INST','INST'),),
9876            NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),  
9877            LIST_INST       =SIMP(statut='f',typ=listr8),
9878            INST            =SIMP(statut='f',typ='R',max='**'),  
9879          ),
9880          TEMP_ZAC        =SIMP(statut='f',typ='R',defaut=0.0E+0),  
9881          EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
9882          b_evol_noli     =BLOC(condition="EVOL_NOLI != None",
9883            INST_MAX        =SIMP(statut='o',typ='R'),  
9884          ),
9885          PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),  
9886          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
9887
9888 )  ;
9889 #& AJOUT COMMANDE    
9890 POURSUITE=MACRO(nom="POURSUITE",op=0,repetable='n',fr="Poursuite d une étude",
9891                 docu="U4.11.03-f",sd_prod = ops.POURSUITE,
9892                 op_init = ops.POURSUITE_context,fichier_ini = 1,
9893          PAR_LOT         =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM' ),
9894          BASE            =FACT(fr="définition des parmètres associés aux bases JEVEUX",
9895                                statut='f',min=01,max=03,
9896            FICHIER         =SIMP(fr="nom de la base",statut='o',typ='TXM'),
9897            TITRE           =SIMP(statut='f',typ='TXM'),
9898            CAS             =SIMP(statut='f',typ='TXM'),
9899            NMAX_ENRE       =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'),
9900            LONG_ENRE       =SIMP(fr="longueur des enregistrements",statut='f',typ='I'),
9901            LONG_REPE       =SIMP(fr="longueur du répertoire",statut='f',typ='I'),
9902          ),
9903          IMPRESSION      =FACT(statut='f',min=01,max=03,
9904            FICHIER         =SIMP(statut='o',typ='TXM'),
9905            UNITE           =SIMP(statut='o',typ='I'),
9906          ),
9907          CATALOGUE       =FACT(statut='f',min=01,max=10,
9908            FICHIER         =SIMP(statut='o',typ='TXM'),
9909            TITRE           =SIMP(statut='f',typ='TXM'),
9910            UNITE           =SIMP(statut='f',typ='I'),
9911          ),
9912          DEBUG           =FACT(fr="option de déboggage reservée aux développeurs",
9913                                statut='f',min=01,max=01,
9914            JXVERI          =SIMP(fr="vérifie l intégrité de la segmentation mémoire",
9915                                  statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
9916            JEVEUX          =SIMP(fr="force les déchargement sur disque",
9917                                  statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
9918            ENVIMA          =SIMP(fr="imprime les valeurs définies dans ENVIMA",
9919                                  statut='f',typ='TXM',into=('TES',)),
9920          ),
9921          MEMOIRE         =FACT(fr="mode de gestion mémoire utilisé",statut='f',min=01,max=01,
9922            GESTION         =SIMP(statut='f',typ='TXM',into=('COMPACTE','RAPIDE'),defaut='RAPIDE'),  
9923            TYPE_ALLOCATION =SIMP(statut='f',typ='I',into=(1,2,3,4),defaut=1),  
9924            TAILLE          =SIMP(statut='f',typ='I'),  
9925            PARTITION       =SIMP(statut='f',typ='R' ),  
9926          ),
9927 )  ;
9928 #& MODIF COMMANDE DATE 01/04/92 AUTEUR INCONNU INCONNU
9929 PRE_CHAR_IDEAS=PROC(nom="PRE_CHAR_IDEAS",op=100,docu="U7.01.02-E",
9930                     fr="Conversion de conditions aux limites et chargements IDEAS en commandes Aster",
9931          UNITE_IDEAS     =SIMP(statut='f',typ='I',defaut=19),  
9932          UNITE_ASTER     =SIMP(statut='f',typ='I',defaut=21),  
9933          MODELE          =SIMP(statut='o',typ=modele),
9934 )  ;
9935 #& MODIF COMMANDE DATE 28/11/90 AUTEUR INCONNU INCONNU
9936 PRE_GIBI=PROC(nom="PRE_GIBI",op=49,docu="U7.01.11-F",
9937               fr="Conversion d un fichier de maillage GIBI",
9938          UNITE_GIBI      =SIMP(statut='f',typ='I',defaut=19),  
9939          UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut=20),  
9940 )  ;
9941 #& MODIF COMMANDE DATE 23/04/92 AUTEUR INCONNU INCONNU
9942 PRE_IDEAS=PROC(nom="PRE_IDEAS",op=47,docu="U7.01.01-F",
9943                fr="Conversion d un fichier universel IDEAS-SUPERTAB au format Aster",
9944          UNITE_IDEAS     =SIMP(statut='f',typ='I',defaut=19),  
9945          UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut=20),  
9946 )  ;
9947 #& MODIF COMMANDE  DATE 16/06/2000   AUTEUR D6BHHJP J.P.LEFEBVRE 
9948 PROCEDURE=PROC(nom="PROCEDURE",op=-3, docu="U4.13.03-E",
9949           fr="Nommer le fichier de commandes secondaires",
9950           NOM  =SIMP(statut='f',typ='TXM',defaut=" "),
9951 ) ;                                                                                                                                                                                                                    
9952 #& MODIF COMMANDE  DATE 11/07/95   AUTEUR CIBHHLV L.VIVAN 
9953 def prod_matr_cham_prod(MATR_ASSE,**args):
9954   if AsType(MATR_ASSE) == matr_asse_depl_r : return cham_no_depl_r
9955   if AsType(MATR_ASSE) == matr_asse_depl_c : return cham_no_depl_c
9956   if AsType(MATR_ASSE) == matr_asse_temp_r : return cham_no_temp_r
9957   if AsType(MATR_ASSE) == matr_asse_pres_c : return cham_no_pres_c
9958   raise AsException("type de concept resultat non prevu")
9959
9960 PROD_MATR_CHAM=OPER(nom="PROD_MATR_CHAM",op= 156,sd_prod=prod_matr_cham_prod,
9961                     fr="Effectuer le produit d une matrice par un vecteur",
9962                     docu="U4.72.06-B",reentrant='n',
9963          MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_pres_c ) ),
9964          CHAM_NO         =SIMP(statut='o',typ=(cham_no_depl_r,cham_no_depl_c,cham_no_temp_r,cham_no_pres_c ) ),
9965          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
9966 )  ;
9967 #& MODIF COMMANDE  DATE 12/05/99   AUTEUR VABHHTS J.PELLET 
9968 def proj_champ_prod(RESULTAT=None,CHAM_NO_REFE=None,**args ):
9969     if AsType(RESULTAT)     == evol_ther      : return evol_ther
9970     if AsType(RESULTAT)     == evol_elas      : return evol_elas
9971     if AsType(RESULTAT)     == evol_noli      : return evol_noli
9972     if AsType(CHAM_NO_REFE) == cham_no_depl_r : return cham_no_depl_r
9973     if AsType(CHAM_NO_REFE) == cham_no_depl_c : return cham_no_depl_c
9974     if AsType(CHAM_NO_REFE) == cham_no_pres_c : return cham_no_pres_c
9975     if AsType(CHAM_NO_REFE) == cham_no_temp_r : return cham_no_temp_r
9976     if AsType(CHAM_NO_REFE) == cham_no_epsi_r : return cham_no_epsi_r
9977     if AsType(CHAM_NO_REFE) == cham_no_sief_r : return cham_no_sief_r
9978     if AsType(CHAM_NO_REFE) == cham_no_flux_r : return cham_no_flux_r
9979     raise AsException("type de concept resultat non prevu")
9980
9981 PROJ_CHAMP=OPER(nom="PROJ_CHAMP",op= 166,sd_prod=proj_champ_prod,docu="U4.72.05-C",reentrant='n',
9982                 fr="Projection d un champ aux noeuds sur les noeuds d un autre maillage",
9983
9984          METHODE         =SIMP(statut='f',typ='TXM',defaut="NUAGE_DEG_1",    
9985                                into=("NUAGE_DEG_0","NUAGE_DEG_1","ELEM",) ),
9986          b_nuage         =BLOC(condition="(METHODE=='NUAGE_DEG_1') or (METHODE=='NUAGE_DEG_0')",
9987                                fr="Lissage d un nuage de points",
9988            CHAM_NO         =SIMP(statut='f',typ=(cham_no_depl_r,cham_no_depl_c,cham_no_pres_c,cham_no_temp_r,        
9989                                                  cham_no_epsi_r,cham_no_sief_r,cham_no_flux_r)),
9990            CHAM_NO_REFE    =SIMP(statut='f',typ=(cham_no_depl_r,cham_no_depl_c,cham_no_pres_c,cham_no_temp_r,        
9991                                                  cham_no_epsi_r,cham_no_sief_r,cham_no_flux_r)),
9992          ),                    
9993          b_elem          =BLOC(condition="METHODE=='ELEM'",
9994                               fr="Utilisation des fonctions de forme",
9995            regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','LIST_INST','LIST_FREQ','LIST_ORDRE'), ),
9996            RESULTAT        =SIMP(statut='f',typ=(evol_ther,evol_elas,evol_noli) ),
9997            MODELE_1        =SIMP(statut='f',typ=modele),
9998            MODELE_2        =SIMP(statut='f',typ=modele),
9999            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",) ),
10000            NUME_ORDRE      =SIMP(statut='f',typ='I',max='**' ),  
10001            LIST_ORDRE      =SIMP(statut='f',typ=listis),
10002            INST            =SIMP(statut='f',typ='R',max='**' ),  
10003            LIST_INST       =SIMP(statut='f',typ=listr8),
10004            FREQ            =SIMP(statut='f',typ='R',max='**' ),  
10005            LIST_FREQ       =SIMP(statut='f',typ=listr8),
10006          ), 
10007
10008          VIS_A_VIS       =FACT(statut='f',min=01,max='**',
10009            regles=(AU_MOINS_UN('TOUT_1','GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
10010                    AU_MOINS_UN('TOUT_2','GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),),
10011            TOUT_1          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
10012            GROUP_MA_1      =SIMP(statut='f',typ=grma,max='**'),
10013            MAILLE_1        =SIMP(statut='f',typ=ma,max='**'),
10014            GROUP_NO_1      =SIMP(statut='f',typ=grno,max='**'),
10015            NOEUD_1         =SIMP(statut='f',typ=no,max='**'),
10016            TOUT_2          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
10017            GROUP_MA_2      =SIMP(statut='f',typ=grma,max='**'),
10018            MAILLE_2        =SIMP(statut='f',typ=ma,max='**'),
10019            GROUP_NO_2      =SIMP(statut='f',typ=grno,max='**'),
10020            NOEUD_2         =SIMP(statut='f',typ=no,max='**'),
10021          ),
10022
10023          TITRE           =SIMP(statut='f',typ='TXM',max='**' ), 
10024 )  ;
10025 #& MODIF COMMANDE  DATE 29/06/95   AUTEUR ACBHHJA G.JACQUART 
10026 PROJ_MATR_BASE=OPER(nom="PROJ_MATR_BASE",op=  71,sd_prod=matr_asse_gene_r,
10027                     fr="Projection d une matrice assemblée sur une base (modale ou de RITZ)",
10028                     docu="U4.63.12-E",reentrant='n',
10029          regles=(UN_PARMI('MATR_ASSE','MATR_ASSE_GENE'),),            
10030          BASE            =SIMP(statut='o',typ=(mode_meca,base_modale,mode_gene ) ),
10031          NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
10032          NB_VECT         =SIMP(statut='f',typ='I',defaut= 9999 ),
10033          MATR_ASSE       =SIMP(statut='f',typ=matr_asse_depl_r ),
10034          MATR_ASSE_GENE  =SIMP(statut='f',typ=matr_asse_gene_r ),
10035 )  ;
10036
10037 #& MODIF COMMANDE  DATE 27/06/2000   AUTEUR CIBHHBC B.CIREE 
10038 def proj_mesu_modal_prod(MESURE,**args):
10039      vale=MESURE['NOM_PARA']
10040      if  vale == 'INST'   : return tran_gene
10041      raise AsException("type de concept resultat non prevu")
10042
10043 PROJ_MESU_MODAL=OPER(nom="PROJ_MESU_MODAL",op= 193,
10044                      sd_prod=proj_mesu_modal_prod,
10045                      docu="U4.73.01-A",reentrant='n',
10046                      fr="Extrapolation de resultats experimentaux sur un modele numerique en dynamique",
10047
10048 # commentaire C. Durand-13/10/2000 :
10049 #le mot cle NOM_PARA, par construction, vaut tjs INST : donc on retourne TRAN_GENE a chaque fois
10050 #def proj_mesu_modal_prod(**args):
10051 #     vale=args['MESURE'].get_child('NOM_PARA').get_valeur()
10052 #     if  vale == 'INST'   : return tran_gene
10053 #     raise AsException("type de concept resultat non prevu")
10054 #PROJ_MESU_MODAL=OPER(nom="PROJ_MESU_MODAL",op= 193,sd_prod=proj_mesu_modal_prod,)
10055
10056          MODELE          =SIMP(statut='f',typ=(modele) ),
10057          MASS_GENE       =SIMP(statut='o',typ=(matr_asse_gene_r) ),
10058          RIGI_GENE       =SIMP(statut='o',typ=(matr_asse_gene_r) ),
10059          MESURE          =FACT(statut='o',min=01,max=01,
10060            MAILLAGE        =SIMP(statut='o',typ=(maillage) ),
10061            CARA_ELEM       =SIMP(statut='o',typ=(cara_elem) ),
10062            UNITE           =SIMP(statut='f',typ='I',defaut= 33 ),  
10063            NOM_PARA        =SIMP(statut='f',typ='TXM',defaut="INST",into=("INST",) ),
10064            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),  
10065            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
10066            NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","SIGM_NOEU_DEPL","EPSI_NOEU_DEPL",) ),
10067                          ),
10068          REGULARISATION  =FACT(statut='f',min=01,max=01,
10069       regles=(UN_PARMI('COEF_PONDER','COEF_PONDER_F', ),),
10070            METHODE         =SIMP(statut='f',typ='TXM',defaut="TIKHONOV",into=("TIKHONOV",) ),
10071            NORM_MIN        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
10072            COEF_PONDER     =SIMP(statut='f',typ='R',max='**' ),  
10073            COEF_PONDER_F   =SIMP(statut='f',typ=(fonction),max='**' ),
10074                          ),
10075                        )  ;
10076 #& MODIF COMMANDE  DATE 11/02/98   AUTEUR SABJLMA P.LATRUBESSE 
10077 PROJ_SPEC_BASE=OPER(nom="PROJ_SPEC_BASE",op= 146,sd_prod=tabl_intsp,docu="U4.63.14-C",reentrant='n',
10078                     fr="Projection d un ou plusieurs spectres de turbulence, définis par DEFI_SPEC_TURB, sur un ensemble de bases modales ",
10079       regles=(UN_PARMI('BASE_ELAS_FLUI','MODE_MECA','CHAM_NO'),
10080               ENSEMBLE('FREQ_INIT','FREQ_FIN','NB_POIN'),),
10081          SPEC_TURB       =SIMP(statut='o',typ=spectre,max='**' ),
10082          BASE_ELAS_FLUI  =SIMP(statut='f',typ=melasflu ),
10083          MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
10084          CHAM_NO         =SIMP(statut='f',typ=cham_no_depl_r ),
10085          FREQ_INIT       =SIMP(statut='f',typ='R' ),  
10086          FREQ_FIN        =SIMP(statut='f',typ='R' ),  
10087          NB_POIN         =SIMP(statut='f',typ='I' ),  
10088          OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG")),
10089          GROUP_MA        =SIMP(statut='f',typ=grma),
10090 #  Quel est le type attendu derriere  MODELE_INTERFACE         
10091          MODELE_INTERFACE=SIMP(statut='f',typ=modele),
10092          VECT_X          =SIMP(statut='f',typ='R',min=03,max=03 ),  
10093          VECT_Y          =SIMP(statut='f',typ='R',min=03,max=03 ),  
10094          ORIG_AXE        =SIMP(statut='f',typ='R',min=03,max=03 ),  
10095          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
10096 )  ;
10097 #& MODIF COMMANDE  DATE 29/06/95   AUTEUR ACBHHJA G.JACQUART 
10098 PROJ_VECT_BASE=OPER(nom="PROJ_VECT_BASE",op=  72,sd_prod=vect_asse_gene,
10099                     fr="Projection d un vecteur assemblé sur une base (modale ou de RITZ)",
10100                     docu="U4.63.13-E",reentrant='n',
10101          regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE'),),              
10102          BASE            =SIMP(statut='o',typ=(mode_meca,base_modale,mode_gene ) ),
10103          NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
10104          NB_VECT         =SIMP(statut='f',typ='I',defaut= 9999 ),
10105          TYPE_VECT       =SIMP(statut='f',typ='TXM',defaut="FORC"),
10106          VECT_ASSE       =SIMP(statut='f',typ=cham_no_depl_r ),
10107          VECT_ASSE_GENE  =SIMP(statut='f',typ=vect_asse_gene ),
10108 )  ;
10109 #& MODIF COMMANDE  DATE 25/09/2000   AUTEUR T2BAXJM R.MASSON 
10110 RECA_WEIBULL=OPER(nom="RECA_WEIBULL",op= 197,sd_prod=tabl_reca_weib,
10111                      fr=" ",docu="U4.82.06-A",reentrant='n',
10112          LIST_PARA       =SIMP(statut='o',typ='TXM',max='**',into=("SIGM_REFE","M",) ),
10113          RESU            =FACT(statut='o',min=01,max='**',
10114            regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST',),            
10115                    AU_MOINS_UN('TOUT','GROUP_MA','MAILLE', ),),
10116            EVOL_NOLI       =SIMP(statut='o',typ=(evol_noli) ),
10117            MODELE          =SIMP(statut='o',typ=(modele) ),
10118            CHAM_MATER      =SIMP(statut='o',typ=(cham_mater) ),
10119            TEMPE           =SIMP(statut='f',typ='R' ),  
10120            LIST_INST_RUPT  =SIMP(statut='o',typ='R',max='**' ),  
10121            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
10122            NUME_ORDRE      =SIMP(statut='f',typ='I',max='**' ),  
10123            INST            =SIMP(statut='f',typ='R',max='**' ),  
10124            LIST_INST       =SIMP(statut='f',typ=(listr8) ),
10125            TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400.E0 ),  
10126            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
10127            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
10128            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
10129            COEF_MULT       =SIMP(statut='f',typ='R',defaut= 1.E0 ),  
10130                          ),
10131          OPTION          =SIMP(statut='f',typ='TXM',defaut="SIGM_ELGA",into=("SIGM_ELGA","SIGM_ELMOY",) ),
10132          CORR_PLAST      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
10133          METHODE         =SIMP(statut='f',typ='TXM',defaut="MAXI_VRAI",into=("MAXI_VRAI","REGR_LINE",) ),
10134          INCO_GLOB_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),  
10135          ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),  
10136          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ,) ),
10137                        )  ;
10138 #& MODIF COMMANDE  DATE 07/06/2000   AUTEUR VABHHTS J.PELLET 
10139 def recu_champ_prod(NOM_CHAM,RESULTAT,**args ):
10140   if AsType(RESULTAT) == dyna_harmo : return cham_no_depl_c
10141   if NOM_CHAM == "GEOMETRIE"      : return cham_no_geom_r
10142   if NOM_CHAM == "DEPL"           : return cham_no_depl_r
10143   if NOM_CHAM == "DEPL_ABSOLU"    : return cham_no_depl_r
10144   if NOM_CHAM == "VITE"           : return cham_no_depl_r
10145   if NOM_CHAM == "VITE_ABSOLU"    : return cham_no_depl_r
10146   if NOM_CHAM == "ACCE"           : return cham_no_depl_r
10147   if NOM_CHAM == "ACCE_ABSOLU"    : return cham_no_depl_r
10148   if NOM_CHAM == "TEMP"           : return cham_no_temp_r
10149   if NOM_CHAM == "FORC_NODA"      : return cham_no_depl_r
10150   if NOM_CHAM == "REAC_NODA"      : return cham_no_depl_r
10151   if NOM_CHAM == "EPSI_NOEU_DEPL" : return cham_no_sief_r
10152   if NOM_CHAM == "SIGM_NOEU_CART" : return cham_no_sief_r
10153   if NOM_CHAM == "SIGM_NOEU_DEPL" : return cham_no_sief_r
10154   if NOM_CHAM == "SIGM_NOEU_VARI" : return cham_no_sief_r
10155   if NOM_CHAM == "SIGM_NOEU_SIEF" : return cham_no_sief_r
10156   if NOM_CHAM == "SIPO_NOEU_SIEF" : return cham_no_sief_r
10157   if NOM_CHAM == "EFGE_NOEU_CART" : return cham_no_sief_r
10158   if NOM_CHAM == "EFGE_NOEU_DEPL" : return cham_no_sief_r
10159   if NOM_CHAM == "EQUI_NOEU_SIGM" : return cham_no_sief_r
10160   if NOM_CHAM == "EQUI_NOEU_EPSI" : return cham_no_sief_r
10161   if NOM_CHAM == "FLUX_NOEU_TEMP" : return cham_no_flux_r
10162   if NOM_CHAM == "SIGM_NOZ1_ELGA" : return cham_no_sief_r
10163   if NOM_CHAM == "SIGM_NOZ2_ELGA" : return cham_no_sief_r
10164   if NOM_CHAM == "INTE_NOEU_ACTI" : return cham_no_inte_r
10165   if NOM_CHAM == "INTE_NOEU_REAC" : return cham_no_inte_r
10166   if NOM_CHAM == "PRES_NOEU_DBEL" : return cham_no_dbel_r
10167   if NOM_CHAM == "PRES_NOEU_IMAG" : return cham_no_pres_r
10168   if NOM_CHAM == "PRES_NOEU_REEL" : return cham_no_pres_r
10169   if NOM_CHAM == "VARI_NOEU_ELGA" : return cham_no_var2_r
10170   if NOM_CHAM == "META_NOEU_TEMP" : return cham_no_var2_r
10171   if NOM_CHAM == "GRAD_NOEU_THETA": return cham_no_var2_r
10172   if NOM_CHAM == "PHASMETA"       : return cham_elem_meta_r
10173   if NOM_CHAM == "DEGE_ELNO_DEPL" : return cham_elem_epsi_r
10174   if NOM_CHAM == "ECIN_ELEM_DEPL" : return cham_elem_ener_r
10175   if NOM_CHAM == "EFGE_ELNO_CART" : return cham_elem_sief_r
10176   if NOM_CHAM == "EFGE_ELNO_DEPL" : return cham_elem_sief_r
10177   if NOM_CHAM == "EPOT_ELEM_DEPL" : return cham_elem_ener_r
10178   if NOM_CHAM == "EPSG_ELGA_DEPL" : return cham_elem_epsi_r
10179   if NOM_CHAM == "EPSG_ELNO_DEPL" : return cham_elem_epsi_r
10180   if NOM_CHAM == "EPSP_ELGA"      : return cham_elem_epsi_r
10181   if NOM_CHAM == "EPSP_ELNO"      : return cham_elem_epsi_r
10182   if NOM_CHAM == "EPSI_ELGA_DEPL" : return cham_elem_epsi_r
10183   if NOM_CHAM == "EPSI_ELNO_DEPL" : return cham_elem_epsi_r
10184   if NOM_CHAM == "EPSA_ELNO"      : return cham_elem_epsi_r
10185   if NOM_CHAM == "EQUI_ELGA_SIGM" : return cham_elem_sief_r
10186   if NOM_CHAM == "EQUI_ELGA_EPSI" : return cham_elem_sief_r
10187   if NOM_CHAM == "EQUI_ELNO_EPSI" : return cham_elem_sief_r
10188   if NOM_CHAM == "EQUI_ELNO_SIGM" : return cham_elem_sief_r
10189   if NOM_CHAM == "ERRE_ELEM_NOZ1" : return cham_elem_erreur
10190   if NOM_CHAM == "ERRE_ELEM_NOZ2" : return cham_elem_erreur
10191   if NOM_CHAM == "ERRE_ELGA_NORE" : return cham_elem_erreur
10192   if NOM_CHAM == "ERRE_ELNO_ELGA" : return cham_elem_erreur
10193   if NOM_CHAM == "FLUX_ELGA_TEMP" : return cham_elem_flux_r
10194   if NOM_CHAM == "FLUX_ELNO_TEMP" : return cham_elem_flux_r
10195   if NOM_CHAM == "INTE_ELNO_ACTI" : return cham_elem_inte_r
10196   if NOM_CHAM == "INTE_ELNO_REAC" : return cham_elem_inte_r
10197   if NOM_CHAM == "PRES_ELNO_DBEL" : return cham_elem_dbel_r
10198   if NOM_CHAM == "PRES_ELNO_IMAG" : return cham_elem_pres_r
10199   if NOM_CHAM == "PRES_ELNO_REEL" : return cham_elem_pres_r
10200   if NOM_CHAM == "SIEF_ELGA"      : return cham_elem_sief_r
10201   if NOM_CHAM == "SIEF_ELNO"      : return cham_elem_sief_r
10202   if NOM_CHAM == "SIEF_ELGA_DEPL" : return cham_elem_sief_r
10203   if NOM_CHAM == "SIGM_ELNO_CART" : return cham_elem_sief_r
10204   if NOM_CHAM == "SIGM_ELNO_DEPL" : return cham_elem_sief_r
10205   if NOM_CHAM == "SIGM_ELNO_VARI" : return cham_elem_sief_r
10206   if NOM_CHAM == "SIGM_ELNO_SIEF" : return cham_elem_sief_r
10207   if NOM_CHAM == "SIPO_ELNO_SIEF" : return cham_elem_sief_r
10208   if NOM_CHAM == "SIEF_ELNO_ELGA" : return cham_elem_sief_r
10209   if NOM_CHAM == "SIPO_ELNO_DEPL" : return cham_elem_sief_r
10210   if NOM_CHAM == "SIRE_ELNO_DEPL" : return cham_elem_sief_r
10211   if NOM_CHAM == "SOUR_ELGA_ELEC" : return cham_elem_sour_r
10212   if NOM_CHAM == "VARI_ELGA"      : return cham_elem_vari_r
10213   if NOM_CHAM == "VARI_ELNO"      : return cham_elem_vari_r
10214   if NOM_CHAM == "VARI_ELNO_ELGA" : return cham_elem_vari_r
10215   if NOM_CHAM == "VNOR_ELEM_DEPL" : return cham_elem_vnor_c
10216   if NOM_CHAM == "DCHA_ELGA_SIGM" : return cham_elem_vari_r
10217   if NOM_CHAM == "DCHA_ELNO_SIGM" : return cham_elem_vari_r
10218   if NOM_CHAM == "RADI_ELGA_SIGM" : return cham_elem_vari_r
10219   if NOM_CHAM == "RADI_ELNO_SIGM" : return cham_elem_vari_r
10220   if NOM_CHAM == "ENDO_ELNO_SIGM" : return cham_elem_sief_r
10221   if NOM_CHAM == "ENDO_ELNO_SIGA" : return cham_elem_sief_r
10222   if NOM_CHAM == "ENDO_ELNO_SINO" : return cham_elem_sief_r
10223   if NOM_CHAM == "EPME_ELNO_DEPL" : return cham_elem_epsi_r
10224   if NOM_CHAM == "EPME_ELGA_DEPL" : return cham_elem_epsi_r
10225   if NOM_CHAM == "EPME_ELNO_DPGE" : return cham_elem_epsi_r
10226   if NOM_CHAM == "EPMG_ELNO_DEPL" : return cham_elem_epsi_r
10227   if NOM_CHAM == "EPMG_ELGA_DEPL" : return cham_elem_epsi_r
10228   if NOM_CHAM == "THETA"          : return cham_no_depl_r
10229   if NOM_CHAM == "GRAD_ELGA_THETA" : return cham_elem_g_depl
10230   if NOM_CHAM == "GRAD_ELNO_ELGA" : return cham_elem_g_depl
10231   if NOM_CHAM == "HYDR_ELGA"      : return cham_elem_hydr_r
10232   raise AsException("type de concept resultat non prevu")
10233
10234 RECU_CHAMP=OPER(nom="RECU_CHAMP",op=  59,sd_prod=recu_champ_prod,
10235                 fr="Récupération dans un résultat composé d un seul champ aux noeuds ou par éléments",
10236                 docu="U4.71.01-F",reentrant='n',
10237       regles=(UN_PARMI('TYPE_MAXI','NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGL', ),
10238               UN_PARMI('RESULTAT','MAILLAGE'),),
10239 #  creer une structure de donnees RESULTAT global              
10240          RESULTAT        =SIMP(statut='f',typ=resultat),
10241          MAILLAGE        =SIMP(statut='f',typ=maillage),
10242          NOM_CHAM        =SIMP(statut='o',typ='TXM',     
10243                                into=( "DEPL","VITE","ACCE","DEPL_ABSOLU",         
10244                                       "VITE_ABSOLU","TEMP","ACCE_ABSOLU","FORC_NODA",
10245                                       "REAC_NODA","EFGE_NOEU_DEPL","EFGE_NOEU_CART",
10246                                       "EPSI_NOEU_DEPL","SIGM_NOEU_DEPL",
10247                                       "SIGM_NOEU_CART","SIPO_NOEU_DEPL",
10248                                       "EQUI_NOEU_SIGM","EQUI_NOEU_EPSI",
10249                                       "FLUX_NOEU_TEMP","FLUX_ELGA_TEMP",
10250                                       "FLUX_ELNO_TEMP","META_ELGA_TEMP",
10251                                       "META_ELNO_TEMP","META_NOEU_TEMP",
10252                                       "DURT_ELGA_META","DURT_ELNO_META",
10253                                       "DURT_NOEU_META","SIEF_ELGA","SIEF_ELNO_ELGA",
10254                                       "SIEF_ELGA_DEPL","VARI_ELNO_ELGA","VARI_ELGA",
10255                                       "EPOT_ELEM_DEPL","ECIN_ELEM_DEPL",
10256                                       "SOUR_ELGA_ELEC","PRES_ELNO_REEL",
10257                                       "PRES_ELNO_IMAG","PRES_ELNO_DBEL",
10258                                       "INTE_ELNO_ACTI","INTE_ELNO_REAC",
10259                                       "EFGE_ELNO_DEPL","SIGM_ELNO_DEPL",
10260                                       "EFGE_ELNO_CART","SIGM_ELNO_CART",
10261                                       "SIPO_ELNO_DEPL","EPSI_ELNO_DEPL",
10262                                       "EPSI_ELGA_DEPL","EPSG_ELNO_DEPL",
10263                                       "EPSG_ELGA_DEPL","EPSP_ELNO","EPSP_ELGA",
10264                                       "EQUI_ELNO_SIGM","EQUI_ELGA_SIGM",
10265                                       "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI",
10266                                       "ERRE_ELNO_ELGA","ERRE_ELGA_NORE",
10267                                       "ERRE_ELEM_NOZ1","ERRE_ELEM_NOZ2",
10268                                       "SIGM_NOZ1_ELGA","SIGM_NOZ2_ELGA",
10269                                       "DEGE_ELNO_DEPL","SIRE_ELNO_DEPL",
10270                                       "VNOR_ELEM_DEPL","SIEF_ELNO","VARI_ELNO",
10271                                       "SIEF_NOEU_ELGA","VARI_NOEU_ELGA",
10272                                       "PRES_NOEU_DBEL","PRES_NOEU_REEL",
10273                                       "PRES_NOEU_IMAG","INTE_NOEU_ACTI",
10274                                       "INTE_NOEU_REAC","DCHA_ELGA_SIGM",
10275                                       "DCHA_ELNO_SIGM","RADI_ELGA_SIGM",
10276                                       "RADI_ELNO_SIGM","ENDO_ELNO_SIGA",
10277                                       "ENDO_ELNO_SINO","ENDO_ELNO_SIGM",
10278                                       "SIGM_ELNO_VARI","SIGM_NOEU_VARI",
10279                                       "EPME_ELNO_DEPL","EPME_ELGA_DEPL",
10280                                       "EPME_ELNO_DPGE","EPMG_ELNO_DEPL",
10281                                       "EPMG_ELGA_DEPL","GRAD_ELGA_THETA",
10282                                       "GTHE_ELNO_ELGA","GRAD_NOEU_THETA","HYDR_ELGA",
10283                                       "THETA","SIGM_ELNO_SIEF","SIPO_ELNO_SIEF",) ),
10284          TYPE_MAXI       =SIMP(statut='f',typ='TXM',     
10285                                into=("MAXI","MINI","MAXI_ABS","MINI_ABS","NORM_TRAN") ),
10286          NUME_ORDRE      =SIMP(statut='f',typ='I' ),  
10287          INST            =SIMP(statut='f',typ='R' ),  
10288          FREQ            =SIMP(statut='f',typ='R' ),  
10289          NUME_MODE       =SIMP(statut='f',typ='I' ),  
10290          NOEUD_CMP       =SIMP(statut='f',typ='TXM',max='**' ),  
10291          NOM_CAS         =SIMP(statut='f',typ='TXM' ),  
10292          ANGL            =SIMP(statut='f',typ='R' ),  
10293          b_prec_crit     =BLOC(condition = "(INST != None) or (FREQ != None)",
10294            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),  
10295            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
10296            INTERPOL        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ),
10297          ), 
10298          b_type_maxi     =BLOC(condition = "TYPE_MAXI != None",
10299            regles=(EXCLUS('TOUT_ORDRE','LIST_INST' ),),
10300            TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="VALE",into=("VALE","INST") ),
10301            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
10302            LIST_INST       =SIMP(statut='f',typ=listr8 ),
10303            b_prec_crit   =BLOC(condition = "(INST != None) or (FREQ != None)",
10304              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),  
10305              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
10306            ),
10307          ),
10308          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
10309 )  ;
10310 #& MODIF COMMANDE  DATE 28/06/2000   AUTEUR CIBHHLV L.VIVAN 
10311 def recu_fonction_prod(RESULTAT=None,OBSTACLE=None,TABLE=None,RESU_GENE=None,BASE_ELAS_FLUI=None,CHAM_GD=None,TYPE_RESU=None,**args):
10312   if AsType(RESULTAT) == dyna_harmo : return fonction_c
10313 #  On ne sait pas interpreter les deux conditions suivantes
10314   if TABLE != None :
10315      if TYPE_RESU != None :
10316         if TYPE_RESU == "FONCTION_C" : return fonction_c
10317         if TYPE_RESU == "FONCTION"   : return fonction
10318      else:
10319         return fonction
10320   if RESU_GENE      != None         : return fonction
10321   if BASE_ELAS_FLUI != None         : return fonction
10322   if RESULTAT       != None         : return fonction
10323   if CHAM_GD        != None         : return fonction
10324   if OBSTACLE       != None         : return fonction
10325   raise AsException("type de concept resultat non prevu")
10326
10327 RECU_FONCTION=OPER(nom="RECU_FONCTION",op=  90,sd_prod=recu_fonction_prod,
10328                    fr="Extraire sous forme d une fonction, l évolution temporelle d une composante d un champ ou d une table",
10329                    docu="U4.32.03-E",reentrant='n',
10330          regles=(UN_PARMI('CHAM_GD','RESULTAT','RESU_GENE','TABLE','BASE_ELAS_FLUI','OBSTACLE'),),
10331              
10332          CHAM_GD         =SIMP(statut='f',typ=(cham_no_depl_r,cham_no_temp_r,cham_no_pres_r,cham_elem_sief_r,
10333                                                cham_elem_vari_r,cham_elem_epsi_r,cham_elem_flux_r,
10334                                                cham_elem_pres_r,cham_elem_meta_r ) ),
10335          RESULTAT        =SIMP(statut='f',typ=(evol_elas,dyna_trans,evol_noli,evol_ther,dyna_harmo ) ),
10336          RESU_GENE       =SIMP(statut='f',typ=tran_gene),
10337 #  concept table à créer         
10338          TABLE           =SIMP(statut='f',typ=table),
10339          BASE_ELAS_FLUI  =SIMP(statut='f',typ=melasflu),
10340          REPERE          =SIMP(statut='f',typ='TXM',into=("POLAIRE","GLOBAL") ),
10341          OBSTACLE        =SIMP(statut='f',typ=obstacle),
10342          
10343          b_tran_gene = BLOC ( condition = "RESU_GENE != None",fr="Récupération de la fonction concernant les chocs à partir d un concept TRAN_GENE",
10344             regles=(PRESENT_PRESENT('SOUS_STRUC','INTITULE'),
10345                     PRESENT_ABSENT('MULT_APPUI','CORR_STAT'),),
10346              MULT_APPUI      =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","OUI") ),
10347              CORR_STAT       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
10348              ACCE_MONO_APPUI =SIMP(statut='f',typ=fonction),
10349              PARA_X          =SIMP(statut='f',typ='TXM' ),
10350              PARA_Y          =SIMP(statut='f',typ='TXM' ),
10351              SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),
10352              LIST_PARA       =SIMP(statut='f',typ=listr8 ),
10353              INTITULE        =SIMP(statut='f',typ='TXM' ),                       
10354          ), 
10355          b_base_elas_flui = BLOC ( condition = "BASE_ELAS_FLUI != None",fr="Récupération de la fonction à partir d un concept melasflu",
10356            regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE'),),
10357            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
10358            NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),
10359            NUME_MODE       =SIMP(statut='o',typ='I' ),
10360            PARA_X          =SIMP(statut='o',typ='TXM',into=("VITE_FLU",) ),
10361            PARA_Y          =SIMP(statut='o',typ='TXM',into=("FREQ","AMOR") ),                   
10362          ), 
10363          b_table = BLOC ( condition = "TABLE != None",fr="Récupération de la fonction à partir d un concept table",
10364            regles=(UN_PARMI('PARA_X','NOM_PARA_TABL'),
10365                    PRESENT_PRESENT('PARA_X','PARA_Y'),),
10366            PARA_X          =SIMP(statut='f',typ='TXM',
10367                                  fr="1ère colonne de la table qui définit la fonction à récupérer", ),
10368            PARA_Y          =SIMP(statut='f',typ='TXM',
10369                                  fr="2ème colonne de la table qui définit la fonction à récupérer", ),
10370            NOM_PARA_TABL   =SIMP(statut='f',typ='TXM',into=("FONCTION",),
10371                                  fr="Nom du paramètre de la table à qui est associé la fonction" ),  
10372            b_nom_para_tabl = BLOC (condition = "NOM_PARA_TABL != None",
10373              TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="FONCTION",into=("FONCTION","FONCTION_C") ),
10374            ),
10375            FILTRE          =FACT(statut='f',min=01,max='**',
10376              regles=(UN_PARMI('VALE','VALE_I','VALE_C','VALE_K','VALE_CO'),),
10377              NOM_PARA        =SIMP(statut='o',typ='TXM' ),
10378              CRIT_COMP       =SIMP(statut='f',typ='TXM',defaut="EQ",
10379                                    into=("EQ","LT","GT",
10380                                          "NE","LE","GE",
10381                                          "VIDE","NON_VIDE",) ),
10382              VALE            =SIMP(statut='f',typ='R' ),
10383              VALE_I          =SIMP(statut='f',typ='I' ),
10384              VALE_C          =SIMP(statut='f',typ='C' ),
10385              VALE_K          =SIMP(statut='f',typ='TXM' ),
10386              VALE_CO         =SIMP(statut='f',typ=geom),
10387              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
10388              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
10389            ),
10390          ),
10391 # RESULTAT
10392          b_resu = BLOC ( condition = "RESULTAT != None", fr="Opérandes en cas de RESULTAT",
10393            regles=(
10394 #    A voir par Matthieu Courtois : il existe de tests (SDNX300B) qui ne satisfont pas ce UN_PARMI
10395 #           UN_PARMI('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','TOUT_INST','LIST_INST','FREQ','LIST_FREQ'),
10396                    AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD','NOEUD_CHOC','GROUP_NO_CHOC'),
10397                    PRESENT_PRESENT('MAILLE','NOM_CMP'),
10398                    PRESENT_PRESENT('GROUP_MA','NOM_CMP'),
10399                    PRESENT_PRESENT('NOEUD','NOM_CMP'),
10400                    PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
10401                    PRESENT_PRESENT('POINT','NOM_CMP'),
10402                    EXCLUS('POINT','NOEUD'),
10403                    EXCLUS('GROUP_MA','MAILLE'),
10404                    EXCLUS('GROUP_NO','NOEUD'),
10405                    EXCLUS('NOEUD_CHOC','GROUP_NO_CHOC'),),
10406 #    A voir par Matthieu Courtois : les champs INTO de NOM_CHAM
10407 #           NOM_CHAM        =SIMP(statut='f',typ='TXM',into=("DEPL","VITE","ACCE","PTEM") ),
10408            NOM_CHAM        =SIMP(statut='f',typ='TXM' ),
10409            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
10410            NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),
10411            LIST_ORDRE      =SIMP(statut='f',typ=listis ),
10412            TOUT_INST       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
10413            INST            =SIMP(statut='f',typ='R',max='**'),
10414            LIST_INST       =SIMP(statut='f',typ=listr8 ),
10415            FREQ            =SIMP(statut='f',typ='R',max='**'),
10416            LIST_FREQ       =SIMP(statut='f',typ=listr8 ),
10417            b_prec = BLOC ( condition = "(INST != None) or (LIST_INST != None) or (FREQ != None) or (LIST_FREQ != None)",
10418              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
10419              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
10420              INTERP_NUME     =SIMP(statut='f',typ='TXM',max=02,into=("NON","LIN") ),
10421            ),  
10422            NOM_CMP         =SIMP(statut='f',typ='TXM' ),
10423
10424            MAILLE          =SIMP(statut='f',typ=ma),
10425            GROUP_MA        =SIMP(statut='f',typ=grma),
10426            NOEUD           =SIMP(statut='f',typ=no),
10427            GROUP_NO        =SIMP(statut='f',typ=grno),
10428            POINT           =SIMP(statut='f',typ='I' ),
10429            NOEUD_CHOC      =SIMP(statut='f',typ=no),
10430            GROUP_NO_CHOC   =SIMP(statut='f',typ=grno),
10431          ),
10432 # RESU_GENE
10433          b_resu_gene = BLOC ( condition = "RESU_GENE != None", fr="Opérandes en cas de RESU_GENE",
10434 #    A voir par Matthieu Courtois : il existe de tests (SDNX300B) qui ne satisfont pas ce UN_PARMI
10435 #           regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','TOUT_INST','LIST_INST','FREQ','LIST_FREQ'),),
10436 #    A voir par Matthieu Courtois : les champs INTO de NOM_CHAM
10437 #    A voir par Matthieu Courtois : NOM_CHAM facultatif et non obligatoire
10438 #           NOM_CHAM        =SIMP(statut='o',typ='TXM',into=("DEPL","VITE","ACCE","PTEM") ),
10439            NOM_CHAM        =SIMP(statut='f',typ='TXM' ),
10440            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
10441            NUME_ORDRE      =SIMP(statut='f',typ='I',max='**'),
10442            LIST_ORDRE      =SIMP(statut='f',typ=listis ),
10443            TOUT_INST       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
10444            INST            =SIMP(statut='f',typ='R',max='**'),
10445            LIST_INST       =SIMP(statut='f',typ=listr8 ),
10446            FREQ            =SIMP(statut='f',typ='R',max='**'),
10447            LIST_FREQ       =SIMP(statut='f',typ=listr8 ),
10448            b_prec = BLOC ( condition = "(INST != None) or (LIST_INST != None) or (FREQ != None) or (LIST_FREQ != None)",
10449              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
10450              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
10451              INTERP_NUME     =SIMP(statut='f',typ='TXM',max=02,into=("NON","LIN") ),
10452            ),  
10453            b_local_cham = BLOC ( condition = "NOM_CHAM!='PTEM'", fr="Opérandes de localisation du champ",
10454              regles=(AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD','NOEUD_CHOC','GROUP_NO_CHOC'),
10455                      PRESENT_PRESENT('MAILLE','NOM_CMP'),
10456                      PRESENT_PRESENT('GROUP_MA','NOM_CMP'),
10457                      PRESENT_PRESENT('NOEUD','NOM_CMP'),
10458                      PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
10459                      PRESENT_PRESENT('POINT','NOM_CMP'),
10460                      EXCLUS('POINT','NOEUD'),
10461                      EXCLUS('GROUP_MA','MAILLE'),
10462                      EXCLUS('GROUP_NO','NOEUD'),
10463                      EXCLUS('NOEUD_CHOC','GROUP_NO_CHOC'),),
10464              NOM_CMP         =SIMP(statut='f',typ='TXM' ),
10465
10466              MAILLE          =SIMP(statut='f',typ=ma),
10467              GROUP_MA        =SIMP(statut='f',typ=grma),
10468              NOEUD           =SIMP(statut='f',typ=no),
10469              GROUP_NO        =SIMP(statut='f',typ=grno),
10470              POINT           =SIMP(statut='f',typ='I' ),
10471              NOEUD_CHOC      =SIMP(statut='f',typ=no),
10472              GROUP_NO_CHOC   =SIMP(statut='f',typ=grno),
10473            ),  
10474          ),
10475 # CHAM_GD
10476          b_cham_gd = BLOC ( condition = "(CHAM_GD != None)", fr="Opérandes en cas de CHAM_GD",
10477 #    A voir par Matthieu Courtois : les champs INTO de NOM_CHAM
10478 #    A voir par Matthieu Courtois : NOM_CHAM facultatif et non obligatoire
10479 #           NOM_CHAM        =SIMP(statut='o',typ='TXM',into=("DEPL","VITE","ACCE","PTEM") ),
10480            NOM_CHAM        =SIMP(statut='f',typ='TXM' ),
10481            regles=(AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD','NOEUD_CHOC','GROUP_NO_CHOC'),
10482                    PRESENT_PRESENT('MAILLE','NOM_CMP'),
10483                    PRESENT_PRESENT('GROUP_MA','NOM_CMP'),
10484                    PRESENT_PRESENT('NOEUD','NOM_CMP'),
10485                    PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
10486                    PRESENT_PRESENT('POINT','NOM_CMP'),
10487                    EXCLUS('POINT','NOEUD'),
10488                    EXCLUS('GROUP_MA','MAILLE'),
10489                    EXCLUS('GROUP_NO','NOEUD'),
10490                    EXCLUS('NOEUD_CHOC','GROUP_NO_CHOC'),),
10491            NOM_CMP         =SIMP(statut='f',typ='TXM' ),
10492
10493            MAILLE          =SIMP(statut='f',typ=ma),
10494            GROUP_MA        =SIMP(statut='f',typ=grma),
10495            NOEUD           =SIMP(statut='f',typ=no),
10496            GROUP_NO        =SIMP(statut='f',typ=grno),
10497            POINT           =SIMP(statut='f',typ='I' ),
10498            NOEUD_CHOC      =SIMP(statut='f',typ=no),
10499            GROUP_NO_CHOC   =SIMP(statut='f',typ=grno),
10500          ),
10501 ###
10502          NOM_PARA        =SIMP(statut='f',typ='TXM',
10503                                into=("DX","DY","DZ","DRX","DRY","DRZ","TEMP",
10504                                      "INST","X","Y","Z","EPSI","FREQ","PULS","AMOR","ABSC") ),
10505          NOM_RESU        =SIMP(statut='f',typ='TXM' ),
10506          INTERPOL        =SIMP(statut='f',typ='TXM',max=02,into=("NON","LIN","LOG") ),
10507          PROL_DROIT      =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
10508          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
10509                   
10510          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
10511          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
10512 )  ;
10513 #& MODIF COMMANDE  DATE 03/03/97   AUTEUR A2BHHWS A.C.LEGER 
10514 RECU_GENE=OPER(nom="RECU_GENE",op=  76,sd_prod=vect_asse_gene,docu="U4.71.03-E",reentrant='n',
10515                fr="Récupération d un champ de grandeur à partir d un résultat en coordonnées généralisées",
10516          RESU_GENE       =SIMP(statut='o',typ=tran_gene ),
10517          INST            =SIMP(statut='o',typ='R' ),
10518          NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE","ACCE") ),
10519          INTERPOL        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ),
10520          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF" ,into=("ABSOLU","RELATIF") ),
10521          PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
10522 )  ;
10523 #& MODIF COMMANDE  DATE 22/07/99   AUTEUR CIBHHLV L.VIVAN 
10524 RECU_TABLE=OPER(nom="RECU_TABLE",op= 174,sd_prod=table,
10525                 fr=" ",docu="U4.71.02-A",reentrant='n',
10526          CO              =SIMP(statut='o',typ=assd),
10527          NOM_TABLE       =SIMP(statut='o',typ='TXM' ),  
10528          TITRE           =SIMP(statut='f',typ='TXM',max='**'),  
10529 )  ;
10530 #& MODIF COMMANDE  DATE 03/05/2000   AUTEUR VABHHTS J.PELLET 
10531 def reso_grad_prod(MATR_ASSE,**args ):
10532   if AsType(MATR_ASSE) == matr_asse_depl_r : return cham_no_depl_r
10533   if AsType(MATR_ASSE) == matr_asse_temp_r : return cham_no_temp_r
10534   if AsType(MATR_ASSE) == matr_asse_pres_r : return cham_no_pres_r
10535   raise AsException("type de concept resultat non prevu")
10536
10537 RESO_GRAD=OPER(nom="RESO_GRAD",op=  84,sd_prod=reso_grad_prod,
10538                fr="Résolution par la méthode du gradient conjugué préconditionné",
10539                docu="U4.55.04-E",reentrant='f',
10540          MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ),
10541          CHAM_NO         =SIMP(statut='o',typ=(cham_no_depl_r,cham_no_temp_r,cham_no_pres_r ) ),
10542          CHAM_CINE       =SIMP(statut='f',typ=(cham_no_temp_r,cham_no_depl_r,cham_no_pres_r ) ),
10543          MATR_FACT       =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ),
10544          NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),  
10545          REPRISE         =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
10546          RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1E-6 ),  
10547          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
10548 )  ;
10549 #& MODIF COMMANDE  DATE 02/10/96   AUTEUR CIBHHLV L.VIVAN 
10550 def reso_ldlt_prod(CHAM_NO,**args ):
10551   if AsType(CHAM_NO) == cham_no_temp_r : return cham_no_temp_r
10552   if AsType(CHAM_NO) == cham_no_depl_r : return cham_no_depl_r
10553   if AsType(CHAM_NO) == cham_no_pres_r : return cham_no_pres_r
10554   if AsType(CHAM_NO) == cham_no_temp_c : return cham_no_temp_c
10555   if AsType(CHAM_NO) == cham_no_depl_c : return cham_no_depl_c
10556   if AsType(CHAM_NO) == cham_no_pres_c : return cham_no_pres_c
10557   raise AsException("type de concept resultat non prevu")
10558
10559 RESO_LDLT=OPER(nom="RESO_LDLT",op=15,sd_prod=reso_ldlt_prod,reentrant='f',
10560                fr="Résolution en place ou hors place d un système factorisé",docu="U4.55.02-F",
10561          MATR_FACT       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,
10562                                                matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ),
10563          CHAM_NO         =SIMP(statut='o',typ=(cham_no_temp_r,cham_no_depl_r,cham_no_pres_r,
10564                                                cham_no_temp_c,cham_no_depl_c,cham_no_pres_c) ),
10565          CHAM_CINE       =SIMP(statut='f',typ=(cham_no_temp_r,cham_no_depl_r,cham_no_pres_c) ),
10566          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
10567          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
10568 )  ;
10569 #& MODIF COMMANDE  DATE 31/05/2000   AUTEUR CIBHHLV L.VIVAN 
10570 def rest_base_phys_prod(RESU_GENE,RESULTAT,**args ):
10571   if AsType(RESU_GENE) == tran_gene : return dyna_trans
10572   if AsType(RESU_GENE) == mode_gene : return mode_meca
10573   if AsType(RESU_GENE) == mode_cycl : return mode_meca
10574   if AsType(RESU_GENE) == harm_gene : return dyna_harmo
10575   if AsType(RESULTAT)  == mode_meca : return mode_meca
10576   raise AsException("type de concept resultat non prevu")
10577
10578 REST_BASE_PHYS=OPER(nom="REST_BASE_PHYS",op=  75,sd_prod=rest_base_phys_prod,
10579                     fr="Restituer dans la base physique des résultats en coordonnées généralisées",
10580                     docu="U4.63.21-E",reentrant='n',
10581         regles=(UN_PARMI('RESU_GENE','RESULTAT'),
10582                 EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','TOUT_INST'),
10583                 EXCLUS('TOUT_INST','NUME_ORDRE','INST','LIST_INST','TOUT_ORDRE'),
10584 #  Doc U à revoir
10585                 PRESENT_ABSENT('MULT_APPUI','CORR_STAT'),
10586                 EXCLUS('MULT_APPUI','NOEUD','GROUP_NO'),
10587                 EXCLUS('CORR_STAT','NOEUD','GROUP_NO'),             
10588                 EXCLUS('NOEUD','GROUP_NO'), 
10589                 PRESENT_PRESENT('RESULTAT','SQUELETTE'),
10590                 PRESENT_PRESENT('ACCE_MONO_APPUI','DIRECTION'),),
10591          RESU_GENE       =SIMP(statut='f',typ=(tran_gene,mode_gene,mode_cycl,harm_gene ) ),
10592          RESULTAT        =SIMP(statut='f',typ=mode_meca ),
10593          
10594          MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
10595          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
10596          NUME_ORDRE      =SIMP(statut='f',typ='I',max='**' ),  
10597          TOUT_INST       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
10598          INST            =SIMP(statut='f',typ='R',max='**' ),  
10599          LIST_INST       =SIMP(statut='f',typ=listr8 ),
10600          FREQ            =SIMP(statut='f',typ='R',max='**' ),  
10601          LIST_FREQ       =SIMP(statut='f',typ=listr8 ),
10602          b_prec_crit     =BLOC(condition = "INST != None or LIST_INST != None or FREQ != None or LIST_FREQ != None",
10603            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ),
10604            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),  
10605          ),
10606          INTERPOL        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ),
10607          
10608          MULT_APPUI      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
10609          CORR_STAT       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
10610          NOM_CHAM        =SIMP(statut='f',typ='TXM',max=8,defaut="ACCE",   
10611                                into=("DEPL","VITE","ACCE","ACCE_ABSOLU","EFGE_ELNO_DEPL","SIPO_ELNO_DEPL",                 
10612                                      "SIGM_ELNO_DEPL","FORC_NODA",) ),
10613          TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
10614          GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
10615          NOEUD           =SIMP(statut='f',typ=no,max='**'),
10616  
10617          ACCE_MONO_APPUI =SIMP(statut='f',typ=fonction),
10618          DIRECTION       =SIMP(statut='f',typ='R',max='**' ),
10619
10620          SQUELETTE       =SIMP(statut='f',typ=squelette ),
10621          SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),  
10622          SECTEUR         =SIMP(statut='f',typ='I',defaut= 1 ),  
10623          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
10624 )  ;
10625 #& MODIF COMMANDE  DATE 16/12/97   AUTEUR CIBHHLV L.VIVAN 
10626 REST_SPEC_PHYS=OPER(nom="REST_SPEC_PHYS",op= 148,sd_prod=tabl_intsp,
10627                     fr="Calcul, à partir d un interspectre de réponse modale, de la réponse d une structure dans la base physique, à certains noeuds sélectionnés du maillage",
10628                     docu="U4.63.22-C",reentrant='n',
10629          regles=(AU_MOINS_UN('BASE_ELAS_FLUI','MODE_MECA'),),
10630          BASE_ELAS_FLUI  =SIMP(statut='f',typ=melasflu ),
10631          MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
10632          BANDE           =SIMP(statut='f',typ='R',min=02,max=02 ),  
10633          NUME_ORDRE      =SIMP(statut='f',typ='I',max='**' ),  
10634          INTE_SPEC_GENE  =SIMP(statut='o',typ=tabl_intsp ),
10635          NOEUD           =SIMP(statut='o',typ=no,max='**'),
10636          NOM_CMP         =SIMP(statut='o',typ='TXM',max='**' ),  
10637          MAILLE          =SIMP(statut='f',typ=ma,max='**'),
10638          NOM_CHAM        =SIMP(statut='o',typ='TXM',max=07,    
10639                                into=("DEPL","VITE","ACCE","EFGE_ELNO_DEPL",      
10640                                      "SIPO_ELNO_DEPL","SIGM_ELNO_DEPL","FORC_NODA") ),
10641          MODE_STAT       =SIMP(statut='f',typ=mode_stat ),
10642          EXCIT           =FACT(statut='f',max=01,
10643            NOEUD           =SIMP(statut='o',typ=no,max='**'),
10644            NOM_CMP         =SIMP(statut='o',typ='TXM',max='**' ),  
10645          ),
10646          MOUVEMENT       =SIMP(statut='f',typ='TXM',defaut="ABSOLU",into=("RELATIF","ABSOLU","DIFFERENTIEL") ),
10647          OPTION          =SIMP(statut='f',typ='TXM',defaut="DIAG_DIAG",    
10648                                into=("DIAG_TOUT","DIAG_DIAG","TOUT_TOUT","TOUT_DIAG") ),
10649          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
10650 )  ;
10651 #& MODIF COMMANDE  DATE 16/06/2000   AUTEUR D6BHHJP J.P.LEFEBVRE 
10652 RETOUR=PROC(nom="RETOUR",op= -2,docu="U4.13.02-E",
10653             fr="Retour au fichier de commandes appelant", 
10654 ) ;
10655 #& MODIF COMMANDE  DATE 03/10/2000   AUTEUR VABHHTS J.PELLET 
10656 #  RESPONSABLE                            GJBHHEL E.LORENTZ
10657 STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
10658                    fr="Analyse mécanique statique non linéaire",
10659                    docu="U4.51.03-E",reentrant='f',
10660          regles=(AU_MOINS_UN('COMP_INCR','COMP_ELAS'),
10661                  EXCLUS('RECH_LINEAIRE','PILOTAGE'), ),
10662          MODELE          =SIMP(statut='o',typ=modele),
10663          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
10664          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
10665          EXCIT           =FACT(statut='o',min=01,max='**',
10666            CHARGE          =SIMP(statut='o',typ=char_meca),
10667            FONC_MULT       =SIMP(statut='f',typ=fonction),
10668            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",    
10669                                  into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")),
10670          ),
10671          COMP_INCR       =FACT(statut='f',min=01,max='**',
10672            RELATION        =SIMP(statut='o',typ='TXM',defaut="VMIS_ISOT_TRAC",    
10673                                  into=( "ELAS",
10674                                         "VMIS_ISOT_TRAC",
10675                                         "VMIS_ISOT_LINE",
10676                                         "VMIS_ECMI_TRAC",
10677                                         "VMIS_ECMI_LINE",
10678                                         "ENDO_LOCAL",
10679                                         "ENDO_FRAGILE",
10680                                         "BETON_ENDO_LOCAL",
10681                                         "RUPT_FRAG",
10682                                         "PLAS_GRAD",
10683                                         "DURC_GRAD",
10684                                         "META_PL",
10685                                         "META_PL_PT",
10686                                         "META_PL_RE",
10687                                         "META_PL_PT_RE",
10688                                         "META_VL",
10689                                         "META_VL_PT",
10690                                         "META_VL_RE",
10691                                         "META_VL_PT_RE",
10692                                         "META_PNL",
10693                                         "META_PNL_PT",
10694                                         "META_PNL_RE",
10695                                         "META_PNL_PT_RE",
10696                                         "META_VNL",
10697                                         "META_VNL_PT",
10698                                         "META_VNL_RE",
10699                                         "META_VNL_PT_RE",
10700                                         "VMIS_CINE_LINE",
10701                                         "TAHERI",
10702                                         "VISC_TAHERI",
10703                                         "CHABOCHE",
10704                                         "VISCOCHAB",
10705                                         "VMIS_CIN1_CHAB",
10706                                         "VMIS_CIN2_CHAB",
10707                                         "POLY_CFC",
10708                                         "LMARC",
10709                                         "ROUSSELIER",
10710                                         "VMIS_POU_LINE",
10711                                         "VMIS_POU_FLEJOU",
10712                                         "COULOMB",
10713                                         "ARME",
10714                                         "ASSE_CORN",
10715                                         "NORTON_HOFF",
10716                                         "LEMAITRE",
10717                                         "ZIRC_CYRA2",
10718                                         "ZIRC_EPRI",
10719                                         "ASSE_COMBU",
10720                                         "VENDOCHAB",
10721                                         "NADAI_B",
10722                                         "DIS_CONTACT",
10723                                         "DIS_CHOC",
10724                                         "DIS_GOUJ2E_PLAS",
10725                                         "DIS_GOUJ2E_ELAS",
10726                                         "GRILLE_ISOT_LINE",
10727                                         "GRILLE_CINE_LINE",
10728                                         "GRILLE_PINTO_MEN",
10729                                         "PINTO_MENEGOTTO",
10730                                         "CJS",
10731                                         "OHNO",
10732                                         "GRANGER_FP",
10733                                         "GRANGER_FP_V",
10734                                         "BETON_DOUBLE_DP",
10735                                         "KIT_HM",
10736                                         "KIT_HHM",
10737                                         "KIT_THH",
10738                                         "KIT_THM",
10739                                         "KIT_THHM",
10740                                         "VMIS_ASYM_LINE",
10741                                         "ELAS_THM",
10742                                         "SURF_ETAT_NSAT",
10743                                         "SURF_ETAT_SATU",
10744                                         "CAM_CLAY_THM",
10745                                         "KIT_DDI",
10746                                         ) ),
10747            ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
10748            VMIS_ISOT_TRAC  =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
10749            VMIS_ISOT_LINE  =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
10750            VMIS_ECMI_TRAC  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
10751            VMIS_ECMI_LINE  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
10752            ENDO_LOCAL      =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
10753            ENDO_FRAGILE    =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
10754            BETON_ENDO_LOCAL=SIMP(statut='c',typ='I',defaut=2,into=(2,)),
10755            RUPT_FRAG       =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
10756            PLAS_GRAD       =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
10757            DURC_GRAD       =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
10758            META_PL         =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
10759            META_PL_PT      =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
10760            META_PL_RE      =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
10761            META_PL_PT_RE   =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
10762            META_VL         =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
10763            META_VL_PT      =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
10764            META_VL_RE      =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
10765            META_VL_PT_RE   =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
10766            META_PNL        =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
10767            META_PNL_PT     =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
10768            META_PNL_RE     =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
10769            META_PNL_PT_RE  =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
10770            META_VNL        =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
10771            META_VNL_PT     =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
10772            META_VNL_RE     =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
10773            META_VNL_PT_RE  =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
10774            VMIS_CINE_LINE  =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
10775            CHABOCHE        =SIMP(statut='c',typ='I',defaut=14,into=(14,)),
10776            VISCOCHAB       =SIMP(statut='c',typ='I',defaut=28,into=(28,)),
10777            VMIS_CIN1_CHAB  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
10778            VMIS_CIN2_CHAB  =SIMP(statut='c',typ='I',defaut=14,into=(14,)),
10779            POLY_CFC        =SIMP(statut='c',typ='I',defaut=1688,into=(1688,)),
10780            LMARC           =SIMP(statut='c',typ='I',defaut=20,into=(20,)),
10781            TAHERI          =SIMP(statut='c',typ='I',defaut=15,into=(15,)),
10782            VISC_TAHERI     =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
10783            ROUSSELIER      =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
10784            VMIS_POU_LINE   =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
10785            VMIS_POU_FLEJOU =SIMP(statut='c',typ='I',defaut=9 ,into=(9,)),
10786            COULOMB         =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
10787            ASSE_CORN       =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
10788            ARME            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
10789            NORTON_HOFF     =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
10790            LEMAITRE        =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
10791            ZIRC_CYRA2      =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
10792            ZIRC_EPRI       =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
10793            ASSE_COMBU      =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
10794            NADAI_B         =SIMP(statut='c',typ='I',defaut=34,into=(34,)),
10795            VENDOCHAB       =SIMP(statut='c',typ='I',defaut=10,into=(10,)),
10796            GRILLE_ISOT_LINE=SIMP(statut='c',typ='I',defaut=4,into=(4,)),
10797            GRILLE_CINE_LINE=SIMP(statut='c',typ='I',defaut=4,into=(4,)),
10798            GRILLE_PINTO_MEN=SIMP(statut='c',typ='I',defaut=16,into=(16,)),
10799            DIS_CONTACT     =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
10800            DIS_CHOC        =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
10801            DIS_GOUJ2E_PLAS =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
10802            DIS_GOUJ2E_ELAS =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
10803            PINTO_MENEGOTTO =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
10804            CJS             =SIMP(statut='c',typ='I',defaut=16,into=(16,)),
10805            OHNO            =SIMP(statut='c',typ='I',defaut=32,into=(32,)),
10806            GRANGER_FP      =SIMP(statut='c',typ='I',defaut=55,into=(55,)),
10807            GRANGER_FP_V    =SIMP(statut='c',typ='I',defaut=55,into=(55,)),
10808            BETON_DOUBLE_DP =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
10809            KIT_HM          =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
10810            KIT_HHM         =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
10811            KIT_THH         =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
10812            KIT_THM         =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
10813            KIT_THHM        =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
10814            VMIS_ASYM_LINE  =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
10815
10816            RELATION_KIT    =SIMP(statut='f',typ='TXM',max='**',     
10817                                  into=(
10818 # MECA
10819                                        "ELAS",
10820                                        "CJS",
10821                                        "ELAS_THM",
10822                                        "SURF_ETAT_NSAT",
10823                                        "SURF_ETAT_SATU",
10824                                        "CAM_CLAY_THM",
10825 # THMC
10826                                        "GAZ",
10827                                        "LIQU_SATU",
10828                                        "LIQU_SATU_GAT",
10829                                        "LIQU_GAZ_ATM",
10830                                        "LIQU_VAPE_GAZ",           
10831                                        "LIQU_NSAT_GAT",           
10832                                        "LIQU_GAZ",
10833 # THER
10834                                        "THER_HOMO",
10835                                        "THER_POLY",
10836 # HYDR
10837                                        "HYDR_UTIL",
10838                                        "HYDR",
10839 # MECA_META
10840                                        "ACIER",
10841                                        "ZIRC",
10842 # MECA KIT_DDI
10843                                        "VMIS_ISOT_TRAC",
10844                                        "VMIS_ISOT_LINE",
10845                                        "VMIS_ISOT_CINE",
10846                                        "GRANGER_FP",
10847                                        "GRANGER_FP_V",
10848                                        "ROUSSELIER",
10849                                        "CHABOCHE",
10850                                        "OHNO",
10851                                        "NADAI_B",
10852                                        "BETON_DOUBLE_DP",
10853                                        ) ),
10854            ELAS_THM        =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
10855            SURF_ETAT_NSAT  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
10856            SURF_ETAT_SATU  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
10857            CAM_CLAY_THM    =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
10858            GAZ             =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
10859            LIQU_SATU       =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
10860            LIQU_SATU_GAT   =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
10861            LIQU_GAZ_ATM    =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
10862            LIQU_VAPE_GAZ   =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
10863            LIQU_NSAT_GAT   =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
10864            LIQU_GAZ        =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
10865            THER_HOMO       =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
10866            THER_POLY       =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
10867            HYDR_UTIL       =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
10868            HYDR            =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
10869            ACIER           =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
10870            ZIRC            =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
10871
10872            COQUE_NCOU      =SIMP(statut='f',typ='I'),  
10873            TUYAU_NCOU      =SIMP(statut='f',typ='I' ),  
10874            TUYAU_NSEC      =SIMP(statut='f',typ='I' ),  
10875            DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","PETIT_REAC","SIMO_MIEHE")),
10876            ALGO_C_PLAN     =SIMP(statut='f',typ='TXM',into=("DEBORST",)),
10877            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
10878            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
10879            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
10880          ),
10881          COMP_ELAS       =FACT(statut='f',min=01,max='**',
10882            RELATION        =SIMP(statut='o',typ='TXM',defaut="ELAS",    
10883                                  into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC", 
10884                                        "ELAS_POUTRE_GR","CABLE")),
10885            ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
10886            ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
10887            ELAS_VMIS_LINE  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
10888            ELAS_POUTRE_GR  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
10889            CABLE           =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
10890            COQUE_NCOU      =SIMP(statut='f',typ='I'),  
10891            TUYAU_NCOU      =SIMP(statut='f',typ='I'),  
10892            TUYAU_NSEC      =SIMP(statut='f',typ='I'),  
10893            DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ),
10894            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
10895            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
10896            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
10897          ),
10898          ETAT_INIT       =FACT(statut='f',min=01,max=01,
10899            regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI','VARI_NON_LOCAL',),  
10900                    EXCLUS('EVOL_NOLI','DEPL',),
10901                    EXCLUS('EVOL_NOLI','SIGM',),
10902                    EXCLUS('EVOL_NOLI','VARI',),
10903                    EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',),       
10904                    EXCLUS('NUME_ORDRE','INST'), ),
10905            DEPL            =SIMP(statut='f',typ=cham_no_depl_r),
10906            SIGM            =SIMP(statut='f',typ=(cham_elem_sief_r,carte_sief_r)),
10907            VARI            =SIMP(statut='f',typ=cham_elem_vari_r),
10908            VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_vanl_r),
10909            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
10910            NUME_ORDRE      =SIMP(statut='f',typ='I'),  
10911            INST            =SIMP(statut='f',typ='R'),  
10912            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),  
10913            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
10914            NUME_DIDI       =SIMP(statut='f',typ='I'),  
10915            INST_ETAT_INIT  =SIMP(statut='f',typ='R'),  
10916          ),
10917          INCREMENT       =FACT(statut='o',min=01,max=01,
10918            regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
10919                    EXCLUS('NUME_INST_FIN','INST_FIN'),),
10920            LIST_INST       =SIMP(statut='o',typ=listr8),
10921            EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",    
10922                                  into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
10923            NUME_INST_INIT  =SIMP(statut='f',typ='I'),  
10924            INST_INIT       =SIMP(statut='f',typ='R'),  
10925            NUME_INST_FIN   =SIMP(statut='f',typ='I'),  
10926            INST_FIN        =SIMP(statut='f',typ='R'),  
10927            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),  
10928            SUBD_PAS        =SIMP(statut='f',typ='I',defaut=1),  
10929            SUBD_PAS_MINI   =SIMP(statut='f',typ='R'),  
10930            COEF_SUBD_PAS_1 =SIMP(statut='f',typ='R',defaut= 1.0E+0),  
10931          ),
10932          NEWTON          =FACT(statut='d',min=01,max=01,
10933            REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),  
10934            PREDICTION      =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ),
10935            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
10936            REAC_ITER       =SIMP(statut='f',typ='I',defaut=0),  
10937            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
10938          ),
10939          RECH_LINEAIRE   =FACT(statut='f',min=01,max=01,
10940            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),  
10941            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),  
10942          ),
10943          PILOTAGE        =FACT(statut='f',min=01,max=01,
10944            regles=(EXCLUS('NOEUD','GROUP_NO'),),
10945            TYPE            =SIMP(statut='o',typ='TXM',into=("DDL_IMPO","LONG_ARC","PRED_ELAS") ),
10946            COEF_MULT       =SIMP(statut='f',typ='R',defaut= 1.0E+0),  
10947            ETA_PILO_MAX    =SIMP(statut='f',typ='R'),  
10948            ETA_PILO_MIN    =SIMP(statut='f',typ='R'),  
10949            NOEUD           =SIMP(statut='f',typ=no,max='**'),
10950            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
10951            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**' ),  
10952                          ),
10953          CONVERGENCE     =FACT(statut='d',min=01,max=01,
10954            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),  
10955            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),  
10956            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),  
10957            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),  
10958            RESI_INTE_RELA  =SIMP(statut='f',typ='R'     
10959                                 ,defaut= 1.0E-6),  
10960            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),  
10961            ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut= 0 ),  
10962            TYPE_MATR_COMP  =SIMP(statut='f',typ='TXM',defaut="TANG_VIT",into=("TANG_VIT",)),
10963            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
10964          ),
10965          PARM_THETA      =SIMP(statut='f',typ='R'     
10966                               ,defaut= 1. ),  
10967          SOLVEUR         =FACT(statut='d',min=01,max=01,
10968            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
10969            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
10970              RENUM           =SIMP(statut='f',typ='TXM',defaut="MDA",into=("MD","MDA","METIS") ),
10971            ),
10972            b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
10973              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
10974              TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400. ),
10975            ),
10976            b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
10977                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
10978              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
10979              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),             
10980            ),
10981            b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
10982              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC","SANS","DIAG") ),
10983              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
10984              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
10985              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
10986              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
10987            ),
10988 #  A quoi sert eps           
10989            EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
10990            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
10991          ),
10992          ARCHIVAGE       =FACT(statut='f',min=01,max=01,
10993            regles=(EXCLUS('PAS_ARCH','LIST_INST','INST'),
10994                    EXCLUS('ARCH_ETAT_INIT','NUME_INIT'), ),
10995            LIST_INST       =SIMP(statut='f',typ=(listr8) ),
10996            INST            =SIMP(statut='f',typ='R',max='**' ),  
10997            PAS_ARCH        =SIMP(statut='f',typ='I' ),  
10998            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),  
10999            ARCH_ETAT_INIT  =SIMP(statut='f',typ='TXM',into=("OUI",)),
11000            NUME_INIT       =SIMP(statut='f',typ='I'),  
11001            DETR_NUME_SUIV  =SIMP(statut='f',typ='TXM',into=("OUI",)),
11002            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',max='**',into=("DEPL","SIEF_ELGA","VARI_ELGA",           
11003                                                                      "VARI_NON_LOCAL","LANL_ELGA")),
11004          ),
11005          MODELE_NON_LOCAL=SIMP(statut='f',typ=(modele) ),
11006          SOLV_NON_LOCAL  =FACT(statut='d',min=01,max=01,
11007            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
11008            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
11009              RENUM           =SIMP(statut='f',typ='TXM',defaut="MDA",into=("MD","MDA","METIS") ),
11010            ),
11011            b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
11012              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
11013              TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400. ),
11014            ),
11015            b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
11016                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
11017              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
11018              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),             
11019            ),
11020            b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
11021              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC","SANS","DIAG") ),
11022              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
11023              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
11024              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
11025            ),
11026 #  A quoi sert eps           
11027            EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
11028          ),
11029          LAGR_NON_LOCAL  =FACT(statut='d',max=01,
11030            ITER_DUAL_MAXI  =SIMP(statut='f',typ='I',defaut= 50),  
11031            RESI_DUAL_ABSO  =SIMP(statut='o',typ='R'),  
11032            RESI_PRIM_ABSO  =SIMP(statut='o',typ='R'),  
11033            RHO             =SIMP(statut='f',typ='R',defaut= 1000.),  
11034            ITER_PRIM_MAXI  =SIMP(statut='f',typ='I',defaut= 10),  
11035          ),
11036          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
11037          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
11038  )  ;
11039 #& MODIF COMMANDE  DATE 20/09/1999   AUTEUR DURAND C.DURAND 
11040 TEST_FONCTION=PROC(nom="TEST_FONCTION",op= 135,fr="Extraction d une valeur numérique ou d un attribut de fonction pour la comparer à une valeur de référence",
11041                    docu="U4.92.02-E",
11042          FICHIER         =SIMP(statut='f',typ='TXM',defaut="RESULTAT"),
11043          TEST_NOOK       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
11044          VALEUR          =FACT(statut='f',min=01,max='**',
11045                                fr="Tester la valeur d une fonction ou d une nappe",
11046            regles=(UN_PARMI('VALE_REFE','VALE_REFE_C', ),),
11047            FONCTION        =SIMP(statut='o',typ=fonction ),
11048            NOM_PARA        =SIMP(statut='f',typ='TXM',max=02),
11049            VALE_PARA       =SIMP(statut='o',typ='R',max=02),
11050            VALE_REFE       =SIMP(statut='f',typ='R' ),
11051            VALE_REFE_C     =SIMP(statut='f',typ='C' ),
11052            CRITERE         =SIMP(statut='f',typ='TXM',fr="Critère de comparaison avec la solution de référence",
11053                                  defaut="RELATIF",into=("RELATIF","ABSOLU") ),
11054            PRECISION       =SIMP(statut='f',typ='R',fr="Ecart maximal autorisé avec la solution de référence",
11055                                  defaut= 1.E-3 ),
11056            REFERENCE       =SIMP(statut='f',typ='TXM',
11057                                  into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
11058            b_version = BLOC (condition = "REFERENCE == 'NON_REGRESSION'", 
11059              VERSION         =SIMP(statut='f',typ='TXM' ),
11060            ),
11061          ),
11062          ATTRIBUT        =FACT(statut='f',min=01,max='**',
11063                                fr="Tester la valeur d un attribut d une fonction ou d''une nappe",
11064            FONCTION        =SIMP(statut='o',typ=fonction ),
11065            PARA            =SIMP(statut='f',typ='R' ),
11066            CRIT_PARA       =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
11067            PREC_PARA       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
11068            ATTR            =SIMP(statut='o',typ='TXM',
11069                                  into=("NOM_PARA","NOM_RESU","PROL_DROIT","PROL_GAUCHE","INTERPOL",
11070                                        "PROL_GAUCHE_FONC","PROL_DROIT_FONC","INTERPOL_FONC","NOM_PARA_FONC") ),
11071            ATTR_REFE       =SIMP(statut='o',typ='TXM' ),
11072            REFERENCE       =SIMP(statut='f',typ='TXM',
11073                                  into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
11074            b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'", 
11075              VERSION         =SIMP(statut='f',typ='TXM' ),
11076            ),
11077          ),
11078          TABL_INTSP      =FACT(statut='f',min=01,max='**',
11079                                fr="Tester la valeur d une fonction contenue dans une table interspectrale",
11080            regles=(UN_PARMI('NUME_ORDRE_I','NOEUD_I'),),
11081            INTE_SPEC       =SIMP(statut='o',typ=tabl_intsp ),
11082            NOEUD_I         =SIMP(statut='f',typ=no),
11083            NUME_ORDRE_I    =SIMP(statut='f',typ='I' ),
11084            b_nume_ordre_i = BLOC (condition = "NUME_ORDRE_I != None", 
11085              NUME_ORDRE_J    =SIMP(statut='o',typ='I' ),
11086            ),
11087            b_noeud_i = BLOC (condition = "NOEUD_I != None",             
11088              NOEUD_J         =SIMP(statut='o',typ=no),
11089              NOM_CMP_I       =SIMP(statut='o',typ='TXM' ),
11090              NOM_CMP_J       =SIMP(statut='o',typ='TXM' ),
11091            ),
11092            NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),
11093            VALE_PARA       =SIMP(statut='o',typ='R' ),
11094            VALE_REFE_C     =SIMP(statut='o',typ='C' ),
11095            CRITERE         =SIMP(statut='f',typ='TXM',fr="Critère de comparaison avec la solution de référence",
11096                                  defaut="RELATIF",into=("RELATIF","ABSOLU") ),
11097            PRECISION       =SIMP(statut='f',typ='R',fr="Ecart maximal autorisé avec la solution de référence",
11098                                  defaut= 1.E-3 ),
11099            REFERENCE       =SIMP(statut='f',typ='TXM',
11100                                  into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
11101            b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'", 
11102              VERSION         =SIMP(statut='f',typ='TXM' ),
11103            ),
11104          ),
11105 )  ;
11106 #& MODIF COMMANDE  DATE 03/05/2000   AUTEUR VABHHTS J.PELLET 
11107 TEST_RESU=PROC(nom="TEST_RESU",op=23,docu="U4.92.01-F",
11108                fr="Extraction d une valeur et comparaison à une valeur de référence",
11109          regles=(AU_MOINS_UN('CHAM_NO','CHAM_ELEM','RESU','OBJET')),
11110          FICHIER         =SIMP(statut='f',typ='TXM',defaut="RESULTAT"),  
11111          CHAM_NO         =FACT(statut='f',min=01,max='**',
11112            regles=(UN_PARMI('NOEUD','GROUP_NO','TYPE_TEST'),
11113                    EXCLUS('NOEUD','GROUP_NO'),
11114                    PRESENT_PRESENT('NOEUD','NOM_CMP'),
11115                    PRESENT_PRESENT( 'GROUP_NO','NOM_CMP'),
11116                    UN_PARMI('VALE','VALE_I','VALE_C'),),
11117            CHAM_GD         =SIMP(statut='o',typ=cham_no),
11118            NOEUD           =SIMP(statut='f',typ=no,max='**'),
11119            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
11120            NOM_CMP         =SIMP(statut='f',typ='TXM' ),  
11121            TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN")),
11122            VALE            =SIMP(statut='f',typ='R'),  
11123            VALE_I          =SIMP(statut='f',typ='I'),  
11124            VALE_C          =SIMP(statut='f',typ='C'),  
11125            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
11126            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),  
11127            REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",            
11128                                                             "NON_REGRESSION","AUTRE_ASTER")),
11129            VERSION         =SIMP(statut='f',typ='TXM'),  
11130          ),
11131          CHAM_ELEM       =FACT(statut='f',min=01,max='**',
11132            regles=(UN_PARMI('MAILLE','TYPE_TEST',),
11133                    EXCLUS('NOEUD','GROUP_NO','POINT'),
11134                    PRESENT_PRESENT('NOEUD','NOM_CMP'),
11135                    PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
11136                    PRESENT_PRESENT('POINT','NOM_CMP'),       
11137                    UN_PARMI('VALE','VALE_I','VALE_C'), ),
11138            CHAM_GD         =SIMP(statut='o',typ=cham_elem),# CO()
11139            MAILLE          =SIMP(statut='f',typ=ma),# CO()
11140            POINT           =SIMP(statut='f',typ='I' ),  
11141            NOEUD           =SIMP(statut='f',typ=no),# CO()
11142            GROUP_NO        =SIMP(statut='f',typ=grno),# CO()
11143            NOM_CMP         =SIMP(statut='f',typ='TXM' ),  
11144            TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN") ),
11145            VALE            =SIMP(statut='f',typ='R' ),  
11146            VALE_I          =SIMP(statut='f',typ='I' ),  
11147            VALE_C          =SIMP(statut='f',typ='C' ),  
11148            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
11149            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),  
11150            REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",            
11151                                                             "NON_REGRESSION","AUTRE_ASTER") ),
11152            VERSION         =SIMP(statut='f',typ='TXM' ),  
11153          ),
11154          RESU            =FACT(statut='f',min=01,max='**',
11155            regles=(UN_PARMI('NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGL'),
11156                    UN_PARMI('NOM_CHAM','PARA'),
11157                    PRESENT_ABSENT('PARA','NOEUD','GROUP_NO','POINT','NOM_CMP','TYPE_TEST'),        
11158                    PRESENT_PRESENT('NOM_CMP','NOM_CHAM'),
11159                    EXCLUS('NOEUD','GROUP_NO','POINT','TYPE_TEST'),
11160                    PRESENT_PRESENT('NOEUD','NOM_CMP'),        
11161                    PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
11162                    PRESENT_PRESENT('POINT','NOM_CMP'),
11163                    UN_PARMI('VALE','VALE_I','VALE_C') ,),
11164            RESULTAT        =SIMP(statut='o',typ=resultat),
11165            NUME_ORDRE      =SIMP(statut='f',typ='I'),  
11166            INST            =SIMP(statut='f',typ='R'),  
11167            FREQ            =SIMP(statut='f',typ='R'),  
11168            NUME_MODE       =SIMP(statut='f',typ='I'),  
11169            NOEUD_CMP       =SIMP(statut='f',typ='TXM',max='**' ),  
11170            NOM_CAS         =SIMP(statut='f',typ='TXM'),  
11171            ANGL            =SIMP(statut='f',typ='R'),  
11172            PARA            =SIMP(statut='f',typ='TXM'),  
11173            NOM_CHAM        =SIMP(statut='f',typ='TXM'),  
11174            NOM_CMP         =SIMP(statut='f',typ='TXM'),  
11175            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
11176            NOEUD           =SIMP(statut='f',typ=no,max='**'),
11177            GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
11178            POINT           =SIMP(statut='f',typ='I'),  
11179            TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN")),
11180            VALE            =SIMP(statut='f',typ='R'),  
11181            VALE_I          =SIMP(statut='f',typ='I'),  
11182            VALE_C          =SIMP(statut='f',typ='C'),  
11183            CRITERE         =SIMP(statut='f',typ='TXM',into=("RELATIF","ABSOLU"),max=02),
11184            PRECISION       =SIMP(statut='f',typ='R',max=02),  
11185            REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",            
11186                                                             "NON_REGRESSION","AUTRE_ASTER",) ),
11187            VERSION         =SIMP(statut='f',typ='TXM' ),  
11188          ),
11189          OBJET           =FACT(statut='f',max='**',
11190          regles=(UN_PARMI('INDICE','S_I','S_R','RESUME',),
11191                  UN_PARMI('VALE','VALE_I','VALE_C','RESUME','S_R','S_I'),),
11192            NOM             =SIMP(statut='o',typ='TXM'),  
11193            INDICE          =SIMP(statut='f',typ='I'),  
11194            NUM_OBJ         =SIMP(statut='f',typ='I'),  
11195            S_R             =SIMP(statut='f',typ='R'),  
11196            S_I             =SIMP(statut='f',typ='I'),  
11197            RESUME          =SIMP(statut='f',typ='I'),  
11198            VALE            =SIMP(statut='f',typ='R'),  
11199            VALE_I          =SIMP(statut='f',typ='I'),  
11200            VALE_C          =SIMP(statut='f',typ='C'),  
11201            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
11202            PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),  
11203            REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",            
11204                                                             "NON_REGRESSION","AUTRE_ASTER",) ),
11205            VERSION         =SIMP(statut='f',typ='TXM' ),  
11206          ),
11207 )  ;
11208 #& MODIF COMMANDE  DATE 20/09/1999   AUTEUR DURAND C.DURAND 
11209 TEST_TABLE=PROC(nom="TEST_TABLE",op= 177,fr="Tester une 'cellule' d un concept de type table.Imprime dans le fichier 'RESULTAT' : OK si la valeur trouvée est identique à la valeur donnée en référence, NOOK sinon",
11210                 docu="U4.92.03-B",
11211          regles=(UN_PARMI('VALE','VALE_I','VALE_C', ),),
11212          FICHIER         =SIMP(statut='f',typ='TXM',defaut="RESULTAT"),
11213 #  concept table à créer           
11214          TABLE           =SIMP(statut='o',typ=table),
11215          FILTRE          =FACT(statut='f',min=01,max='**',
11216            regles=(UN_PARMI('VALE','VALE_I','VALE_C','VALE_K','VALE_CO', ),),
11217            NOM_PARA        =SIMP(statut='o',typ='TXM' ),  
11218            VALE            =SIMP(statut='f',typ='R' ),  
11219            VALE_I          =SIMP(statut='f',typ='I' ),  
11220            VALE_C          =SIMP(statut='f',typ='C' ),  
11221            VALE_K          =SIMP(statut='f',typ='TXM' ),  
11222            VALE_CO         =SIMP(statut='f',typ=geom),
11223            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
11224            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),  
11225          ),
11226          TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN") ),
11227          NOM_PARA        =SIMP(statut='o',typ='TXM' ),  
11228          VALE            =SIMP(statut='f',typ='R' ),  
11229          VALE_I          =SIMP(statut='f',typ='I' ),  
11230          VALE_C          =SIMP(statut='f',typ='C' ),  
11231          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
11232          PRECISION       =SIMP(statut='f',typ='R',defaut= 1.2E-3 ),  
11233          REFERENCE       =SIMP(statut='f',typ='TXM',     
11234                                into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
11235          b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'", 
11236              VERSION         =SIMP(statut='f',typ='TXM' ),
11237          ),  
11238 )  ;
11239 #& MODIF COMMANDE  DATE 19/05/2000   AUTEUR JFBHHUC C.ROSE 
11240 THER_LINEAIRE=OPER(nom="THER_LINEAIRE",op=25,sd_prod=evol_ther,docu="U4.54.01-F",reentrant='f',
11241                    fr="Analyse thermique linéaire stationnaire ou transitoire",
11242          MODELE          =SIMP(statut='o',typ=modele),
11243          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
11244          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
11245          EXCIT           =FACT(statut='o',min=01,max='**',
11246            CHARGE          =SIMP(statut='o',typ=(char_ther,char_cine_ther)),
11247            FONC_MULT       =SIMP(statut='f',typ=fonction),
11248          ),
11249          INCREMENT       =FACT(statut='f',min=01,max=01,
11250            LIST_INST       =SIMP(statut='o',typ=listr8 ),
11251            NUME_INIT       =SIMP(statut='f',typ='I'),
11252            NUME_FIN        =SIMP(statut='f',typ='I'),
11253          ),
11254          TEMP_INIT       =FACT(statut='f',min=01,max=01,
11255            regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),),
11256            STATIONNAIRE    =SIMP(statut='f',typ='TXM',into=("OUI",) ),
11257            EVOL_THER       =SIMP(statut='f',typ=evol_ther),
11258            CHAM_NO         =SIMP(statut='f',typ=cham_no_temp_r),
11259            VALE            =SIMP(statut='f',typ='R'),
11260            NUME_INIT       =SIMP(statut='f',typ='I'),
11261          ),
11262          SENSIBILITE     =FACT(statut='f',min=01,max=01,
11263            THETA           =SIMP(statut='o',typ=theta_geom),
11264          ),
11265          DEUL_INIT       =FACT(statut='f',min=01,max=01,
11266            regles=(EXCLUS('STATIONNAIRE','EVOL_THER', ),),
11267            STATIONNAIRE    =SIMP(statut='f',typ='TXM',into=("OUI",) ),
11268            EVOL_THER       =SIMP(statut='f',typ=evol_ther),
11269            NUME_INIT       =SIMP(statut='f',typ='I'),
11270          ),
11271          SOLVEUR         =FACT(statut='d',min=01,max=01,
11272            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
11273            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
11274              RENUM           =SIMP(statut='f',typ='TXM',defaut="MDA",into=("MD","MDA","METIS") ),
11275            ),
11276            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
11277              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
11278              TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400. ),
11279            ),
11280            b_ldlt_mult      =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
11281                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
11282              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
11283              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),             
11284            ),
11285            b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
11286              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC","SANS","DIAG") ),
11287              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
11288              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
11289              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
11290              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
11291            ),
11292 #  A quoi sert eps           
11293            EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
11294          ),
11295          PARM_THETA      =SIMP(statut='f',typ='R',defaut= 0.57),
11296          ARCHIVAGE       =FACT(statut='f',min=01,max=01,
11297            regles=(UN_PARMI('LIST_ARCH','PAS_ARCH','LIST_INST','INST'),),
11298            LIST_ARCH       =SIMP(statut='f',typ=listis),
11299            LIST_INST       =SIMP(statut='f',typ=listr8),
11300            INST            =SIMP(statut='f',typ='R',max='**'),
11301            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
11302            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",
11303                                  into=("RELATIF","ABSOLU")),
11304            PAS_ARCH        =SIMP(statut='f',typ='I'),
11305            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',max='**',into=("VARI",)),
11306          ),
11307          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
11308          OPTION          =SIMP(statut='f',typ='TXM',max='**',
11309                                into=("FLUX_ELGA_TEMP","FLUX_ELNO_TEMP")),
11310          INFO            =SIMP(statut='f',typ='I',into=(1,2)),
11311 )  ;
11312 #& MODIF COMMANDE  DATE 19/05/2000   AUTEUR JFBHHUC C.ROSE 
11313 THER_NON_LINE=OPER(nom="THER_NON_LINE",op= 186,sd_prod=evol_ther,docu="U4.54.02-D",reentrant='f',
11314                    fr="Analyse thermique non linéaire stationnaire ou transitoire" ,
11315          MODELE          =SIMP(statut='o',typ=(modele) ),
11316          CHAM_MATER      =SIMP(statut='o',typ=(cham_mater) ),
11317          CARA_ELEM       =SIMP(statut='c',typ=(cara_elem) ),
11318          COMP_THER_NL    =FACT(statut='d',min=01,max='**',
11319            RELATION        =SIMP(statut='f',typ='TXM',defaut="THER_NL",
11320                                  into=("THER_NL",
11321                                        "THER_HYDR",
11322                                        "SECH_GRANGER",
11323                                        "SECH_MENSI",
11324                                        "SECH_BAZANT",
11325                                        "SECH_NAPPE"
11326                                        ) ),
11327            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
11328            GROUP_MA        =SIMP(statut='f',typ=grma,max='**'),
11329            MAILLE          =SIMP(statut='f',typ=ma,max='**'),
11330          ),
11331          EVOL_THER_SECH  =SIMP(statut='f',typ=evol_ther),
11332          EXCIT           =FACT(statut='o',min=01,max='**',
11333            CHARGE          =SIMP(statut='o',typ=char_ther),
11334            FONC_MULT       =SIMP(statut='f',typ=fonction),
11335          ),
11336          INCREMENT       =FACT(statut='f',min=01,max=01,
11337            LIST_INST       =SIMP(statut='o',typ=listr8),
11338            NUME_INIT       =SIMP(statut='f',typ='I'),
11339            NUME_FIN        =SIMP(statut='f',typ='I'),
11340          ),
11341          TEMP_INIT       =FACT(statut='f',min=01,max=01,
11342            regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),),
11343            STATIONNAIRE    =SIMP(statut='f',typ='TXM',into=("OUI",)),
11344            EVOL_THER       =SIMP(statut='f',typ=evol_ther),
11345            CHAM_NO         =SIMP(statut='f',typ=cham_no_temp_r),
11346            VALE            =SIMP(statut='f',typ='R'),
11347            NUME_INIT       =SIMP(statut='f',typ='I'),
11348          ),
11349          NEWTON          =FACT(statut='d',min=01,max=01,
11350            REAC_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
11351            RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
11352            ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 0 ),
11353          ),
11354          CONVERGENCE     =FACT(statut='d',min=01,max=01,
11355            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
11356            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
11357            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
11358          ),
11359          SOLVEUR         =FACT(statut='d',min=01,max=01,
11360            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
11361            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
11362              RENUM           =SIMP(statut='f',typ='TXM',defaut="MDA",into=("MD","MDA","METIS") ),
11363            ),
11364            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
11365              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
11366              TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400. ),
11367            ),
11368            b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
11369                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
11370              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
11371              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),             
11372            ),
11373            b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
11374              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC","SANS","DIAG") ),
11375              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
11376              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
11377              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
11378              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
11379            ),
11380 #  A quoi sert eps           
11381            EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
11382            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
11383          ),
11384          PARM_THETA      =SIMP(statut='f',typ='R',defaut= 0.57 ),
11385          ARCHIVAGE       =FACT(statut='f',min=01,max=01,
11386            regles=(UN_PARMI('LIST_ARCH','PAS_ARCH','LIST_INST','INST', ),),
11387            LIST_ARCH       =SIMP(statut='f',typ=(listis) ),
11388            LIST_INST       =SIMP(statut='f',typ=(listr8) ),
11389            INST            =SIMP(statut='f',typ='R',max='**'),
11390            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
11391            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
11392            PAS_ARCH        =SIMP(statut='f',typ='I'),
11393            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',max='**',into=("VARI",)),
11394          ),
11395          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
11396          OPTION          =SIMP(statut='f',typ='TXM',max='**',
11397                                into=("FLUX_ELGA_TEMP","FLUX_ELNO_TEMP") ),
11398          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
11399 )  ;
11400 #& MODIF COMMANDE  DATE 19/05/2000   AUTEUR JFBHHUC C.ROSE 
11401 THER_NON_LINE_MO=OPER(nom="THER_NON_LINE_MO",op= 171,sd_prod=evol_ther,
11402                      fr="Thermique non lineaire en repere mobile",
11403                      docu="U4.54.03-B",reentrant='f',
11404          MODELE          =SIMP(statut='o',typ=modele ),
11405          CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
11406          CARA_ELEM       =SIMP(statut='c',typ=cara_elem ),
11407          EXCIT           =FACT(statut='o',min=01,max='**',
11408            CHARGE          =SIMP(statut='o',typ=char_ther ),
11409            FONC_MULT       =SIMP(statut='c',typ=fonction ),
11410          ),
11411          TEMP_INIT       =FACT(statut='f',min=01,max=01,
11412            EVOL_THER       =SIMP(statut='f',typ=evol_ther ),
11413            NUME_INIT       =SIMP(statut='f',typ='I',defaut= 0 ),  
11414          ),
11415          CONVERGENCE     =FACT(statut='d',min=01,max=01,
11416            CRIT_TEMP_RELA  =SIMP(statut='f',typ='R',defaut= 1.E-3 ),  
11417            CRIT_ENTH_RELA  =SIMP(statut='f',typ='R',defaut= 1.E-2 ),  
11418            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),  
11419            ARRET           =SIMP(statut='c',typ='TXM',defaut="OUI",into=("OUI","NON") ),
11420          ),
11421          SOLVEUR         =FACT(statut='d',min=01,max=01,
11422            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
11423            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
11424              RENUM           =SIMP(statut='f',typ='TXM',defaut="MDA",into=("MD","MDA","METIS") ),
11425            ),
11426            b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
11427              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
11428              TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut= 400. ),
11429            ),
11430            b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
11431                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
11432              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
11433              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),             
11434            ),
11435            b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
11436              PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC","SANS","DIAG") ),
11437              NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
11438              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
11439              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
11440              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
11441            ),
11442            EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
11443            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
11444          ),
11445          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
11446          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
11447 )  ;
11448
11449
11450