2 # ======================================================================
3 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
4 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
7 # (AT YOUR OPTION) ANY LATER VERSION.
9 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
10 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
11 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
12 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
14 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
15 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
16 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
17 # ======================================================================
18 # person_in_charge: mathieu.courtois at edf.fr
21 from math import sin, cos, tan, asin, acos, atan2, atan, sinh, cosh, tanh
22 from math import pi ,exp,log, log10, sqrt
36 # Le catalogue est constitué par concaténation des fichiers .capy
37 # de catapy/{entete,commun,commande}.
39 # Tous les imports globaux devraient être faits ici dans accas.capy.
40 # Veillez à limiter les imports dans la définition des concepts (co_*.capy)
41 # au strict nécessaire et les faire sous les méthodes qui en ont
42 # expressément besoin.
44 JdC = JDC_CATA(code='ASTER',
46 # regles=(AU_MOINS_UN('DEBUT', 'POURSUITE'),
48 # A_CLASSER(('DEBUT', 'POURSUITE'), 'FIN'))
54 Classe servant à définir le nom d'un noeud dans le fichier de commande
55 En clair : un chaine de longueur 8.
61 Classe servant à définir le nom d'un groupe de noeuds dans le fichier de commande
62 En clair : un chaine de longueur 24.
64 def __convert__(cls,valeur):
66 Fonction de verification de la longueur de la chaine
68 if isinstance(valeur, (str,unicode)) and len(valeur.strip()) <= 24:
70 raise ValueError(_(u'On attend une chaine de caractères (de longueur <= 24).'))
71 __convert__ = classmethod(__convert__)
75 Classe servant à définir le nom d'une maille dans le fichier de commande
76 En clair : un chaine de longueur 8.
82 Classe servant à définir le nom d'un groupe de mailles dans le fichier de commande
83 En clair : un chaine de longueur 24.
85 def __convert__(cls,valeur):
87 Fonction de verification de la longueur de la chaine
89 if isinstance(valeur, (str,unicode)) and len(valeur.strip()) <= 24:
91 raise ValueError(_(u'On attend une chaine de caractères (de longueur <= 24).'))
92 __convert__ = classmethod(__convert__)
94 # ======================================================================
95 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
96 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
97 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
98 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
99 # (AT YOUR OPTION) ANY LATER VERSION.
101 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
102 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
103 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
104 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
106 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
107 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
108 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
109 # ======================================================================
110 # person_in_charge: mathieu.courtois at edf.fr
113 class cabl_precont(ASSD):
114 cata_sdj = "SD.sd_cabl_precont.sd_cabl_precont"
116 # ======================================================================
117 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
118 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
119 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
120 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
121 # (AT YOUR OPTION) ANY LATER VERSION.
123 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
124 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
125 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
126 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
128 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
129 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
130 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
131 # ======================================================================
132 # person_in_charge: mathieu.courtois at edf.fr
135 class cara_elem(ASSD):
136 cata_sdj = "SD.sd_cara_elem.sd_cara_elem"
144 EPXnoeud = self.sdj.CARRIGXN.get()
145 EPXval = self.sdj.CARRIGXV.get()
146 lenEPXval = len(EPXval)
147 lenEPXnoeud = len(EPXnoeud)*6
149 # s'il y a un problème sur la structure de données ==> <F>
150 from Utilitai.Utmess import UTMESS
151 UTMESS('F','MODELISA9_98')
152 # Vérification de la déclaration qui est faite dans 'acearp'
153 if ( lenEPXval != lenEPXnoeud ):
154 from Utilitai.Utmess import UTMESS
155 UTMESS('F','MODELISA9_97')
159 ressorts[no] = EPXval[i:i+6]
165 EPXnoeud = self.sdj.CARAMOXN.get()
166 EPXval = self.sdj.CARAMOXV.get()
167 lenEPXval = len(EPXval)
168 lenEPXnoeud = len(EPXnoeud)*6
170 # s'il y a un problème sur la structure de données ==> <F>
171 from Utilitai.Utmess import UTMESS
172 UTMESS('F','MODELISA9_98')
173 # Vérification de la déclaration qui est faite dans 'acearp'
174 if ( lenEPXval != lenEPXnoeud ):
175 from Utilitai.Utmess import UTMESS
176 UTMESS('F','MODELISA9_97')
180 amorts[no] = EPXval[i:i+6]
183 return ressorts, amorts
185 # ======================================================================
186 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
187 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
188 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
189 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
190 # (AT YOUR OPTION) ANY LATER VERSION.
192 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
193 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
194 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
195 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
197 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
198 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
199 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
200 # ======================================================================
201 # person_in_charge: mathieu.courtois at edf.fr
203 class cham_gd_sdaster(ASSD):
204 cata_sdj = "SD.sd_champ.sd_champ"
206 class carte_sdaster(cham_gd_sdaster):
207 cata_sdj = "SD.sd_champ.sd_carte_class"
209 class cham_elem(cham_gd_sdaster):
210 cata_sdj = "SD.sd_champ.sd_cham_elem_class"
212 def EXTR_COMP(self,comp,lgma,topo=0) :
213 """ retourne les valeurs de la composante comp du champ sur la liste
214 de groupes de mailles lgma avec eventuellement l'info de la
215 topologie si topo>0. Si lgma est une liste vide, c'est equivalent
216 a un TOUT='OUI' dans les commandes aster
218 - self.valeurs : numpy.array contenant les valeurs
219 Si on a demande la topo :
220 - self.maille : numero de mailles
221 - self.point : numero du point dans la maille
222 - self.sous_point : numero du sous point dans la maille """
224 if not self.accessible() :
225 raise Accas.AsException("Erreur dans cham_elem.EXTR_COMP en PAR_LOT='OUI'")
227 ncham=self.get_name()
228 ncham=ncham+(8-len(ncham))*' '
229 nchams=ncham[0:7]+'S'
230 ncmp=comp+(8-len(comp))*' '
232 aster.prepcompcham(ncham,nchams,ncmp,"EL ",topo,lgma)
234 valeurs=numpy.array(aster.getvectjev(nchams+(19-len(ncham))*' '+'.V'))
237 maille=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.M'))
238 point=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.P'))
239 sous_point=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.SP'))
245 aster.prepcompcham("__DETR__",nchams,ncmp,"EL ",topo,lgma)
247 return post_comp_cham_el(valeurs,maille,point,sous_point)
249 class cham_no_sdaster(cham_gd_sdaster):
250 cata_sdj = "SD.sd_champ.sd_cham_no_class"
252 def EXTR_COMP(self,comp=' ',lgno=[],topo=0) :
253 """ retourne les valeurs de la composante comp du champ sur la liste
254 de groupes de noeuds lgno avec eventuellement l'info de la
255 topologie si topo>0. Si lgno est une liste vide, c'est equivalent
256 a un TOUT='OUI' dans les commandes aster
258 - self.valeurs : numpy.array contenant les valeurs
259 Si on a demande la topo (i.e. self.topo = 1) :
260 - self.noeud : numero de noeud
261 Si on demande toutes les composantes (comp = ' ') :
262 - self.comp : les composantes associees a chaque grandeur pour chaque noeud
265 if not self.accessible() :
266 raise Accas.AsException("Erreur dans cham_no.EXTR_COMP en PAR_LOT='OUI'")
268 ncham=self.get_name()
269 ncham=ncham+(8-len(ncham))*' '
270 nchams=ncham[0:7]+'S'
271 ncmp=comp+(8-len(comp))*' '
273 aster.prepcompcham(ncham,nchams,ncmp,"NO ",topo,lgno)
275 valeurs=numpy.array(aster.getvectjev(nchams+(19-len(ncham))*' '+'.V'))
278 noeud=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.N'))
283 comp=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.C'))
284 aster.prepcompcham("__DETR__",nchams,ncmp,"NO ",topo,lgno)
285 return post_comp_cham_no(valeurs,noeud,comp)
287 aster.prepcompcham("__DETR__",nchams,ncmp,"NO ",topo,lgno)
288 return post_comp_cham_no(valeurs,noeud)
290 def __add__(self, other):
291 from SD.sd_nume_equa import sd_nume_equa
292 # on recupere le type
293 __nume_ddl=sd_nume_equa(self.sdj.REFE.get()[1])
294 __gd=__nume_ddl.REFN.get()[1].strip()
296 # on recupere le nom du maillage
297 __nomMaillage=self.sdj.REFE.get()[0].strip()
298 # on recupere l'objet du maillage
299 __maillage=CONTEXT.get_current_step().get_concept(__nomMaillage)
300 __CHAM = CREA_CHAMP(OPERATION='ASSE',
304 ASSE=(_F(CHAM_GD=self,
316 class post_comp_cham_no :
317 def __init__(self, valeurs, noeud=None, comp=None) :
318 self.valeurs = valeurs
322 class post_comp_cham_el :
323 def __init__(self, valeurs, maille=None, point=None, sous_point=None) :
324 self.valeurs = valeurs
327 self.sous_point = sous_point
329 # ======================================================================
330 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
331 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
332 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
333 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
334 # (AT YOUR OPTION) ANY LATER VERSION.
336 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
337 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
338 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
339 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
341 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
342 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
343 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
344 # ======================================================================
345 # person_in_charge: jacques.pellet at edf.fr
347 class cham_mater(ASSD):
348 cata_sdj = "SD.sd_cham_mater.sd_cham_mater"
350 def get_vale_ref(self, nom_varc):
351 """Retourne la valeur de référence de `nom_varc`."""
352 from SD.sd_carte import sd_carte
353 nom_varc = nom_varc.strip()
355 nom = [sv.strip() for sv in varc.CVRCNOM.get()]
356 assert nom_varc in nom, (nom_varc, nom)
357 idx = nom.index(nom_varc)
358 novarc = [sv for sv in varc.CVRCVARC.get()]
359 assert len(novarc) > idx, novarc
362 cartref = sd_carte("%-8s.%-8s.1" % (self.nom, nomch))
363 valref = cartref.VALE.get()[0]
366 # ======================================================================
367 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
368 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
369 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
370 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
371 # (AT YOUR OPTION) ANY LATER VERSION.
373 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
374 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
375 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
376 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
378 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
379 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
380 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
381 # ======================================================================
382 # person_in_charge: mathieu.courtois at edf.fr
385 class char_acou(ASSD):
386 cata_sdj = "SD.sd_char_acou.sd_char_acou"
388 # ======================================================================
389 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
390 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
391 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
392 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
393 # (AT YOUR OPTION) ANY LATER VERSION.
395 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
396 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
397 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
398 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
400 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
401 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
402 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
403 # ======================================================================
404 # person_in_charge: mathieu.courtois at edf.fr
407 class char_cine_acou(ASSD):
408 cata_sdj = "SD.sd_char_cine.sd_char_cine"
410 # ======================================================================
411 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
412 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
413 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
414 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
415 # (AT YOUR OPTION) ANY LATER VERSION.
417 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
418 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
419 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
420 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
422 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
423 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
424 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
425 # ======================================================================
426 # person_in_charge: mathieu.courtois at edf.fr
429 class char_cine_meca(ASSD):
430 cata_sdj = "SD.sd_char_cine.sd_char_cine"
432 # ======================================================================
433 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
434 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
435 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
436 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
437 # (AT YOUR OPTION) ANY LATER VERSION.
439 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
440 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
441 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
442 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
444 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
445 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
446 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
447 # ======================================================================
448 # person_in_charge: mathieu.courtois at edf.fr
451 class char_cine_ther(ASSD):
452 cata_sdj = "SD.sd_char_cine.sd_char_cine"
454 # ======================================================================
455 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
456 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
457 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
458 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
459 # (AT YOUR OPTION) ANY LATER VERSION.
461 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
462 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
463 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
464 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
466 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
467 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
468 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
469 # ======================================================================
470 # person_in_charge: mathieu.courtois at edf.fr
473 class char_contact(ASSD):
474 cata_sdj = "SD.sd_contact.sd_contact"
476 # ======================================================================
477 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
478 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
479 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
480 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
481 # (AT YOUR OPTION) ANY LATER VERSION.
483 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
484 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
485 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
486 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
488 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
489 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
490 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
491 # ======================================================================
492 # person_in_charge: mathieu.courtois at edf.fr
495 class char_meca(ASSD):
496 cata_sdj = "SD.sd_char_meca.sd_char_meca"
498 # ======================================================================
499 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
500 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
501 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
502 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
503 # (AT YOUR OPTION) ANY LATER VERSION.
505 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
506 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
507 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
508 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
510 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
511 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
512 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
513 # ======================================================================
514 # person_in_charge: mathieu.courtois at edf.fr
517 class char_ther(ASSD):
518 cata_sdj = "SD.sd_char_ther.sd_char_ther"
520 # ======================================================================
521 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
522 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
523 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
524 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
525 # (AT YOUR OPTION) ANY LATER VERSION.
527 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
528 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
529 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
530 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
532 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
533 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
534 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
535 # ======================================================================
536 # person_in_charge: mathieu.courtois at edf.fr
539 class compor_sdaster(ASSD):
540 cata_sdj = "SD.sd_compor.sd_compor"
542 # ======================================================================
543 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
544 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
545 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
546 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
547 # (AT YOUR OPTION) ANY LATER VERSION.
549 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
550 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
551 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
552 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
554 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
555 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
556 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
557 # ======================================================================
558 # person_in_charge: mathieu.courtois at edf.fr
561 class corresp_2_mailla(ASSD):
562 cata_sdj = "SD.sd_corresp_2_mailla.sd_corresp_2_mailla"
564 # ======================================================================
565 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
566 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
567 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
568 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
569 # (AT YOUR OPTION) ANY LATER VERSION.
571 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
572 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
573 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
574 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
576 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
577 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
578 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
579 # ======================================================================
580 # person_in_charge: mathieu.courtois at edf.fr
583 class courbe_sdaster(ASSD):
584 cata_sdj = "SD.sd_courbe.sd_courbe"
586 # ======================================================================
587 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
588 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
589 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
590 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
591 # (AT YOUR OPTION) ANY LATER VERSION.
593 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
594 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
595 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
596 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
598 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
599 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
600 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
601 # ======================================================================
602 # person_in_charge: mathieu.courtois at edf.fr
605 cata_sdj = "SD.AsBase"
607 def __init__(self, valeur=None, **args):
608 ASSD.__init__(self, **args)
611 def __adapt__(self, validator):
612 if validator.name == "list":
613 # validateur liste,cardinalité
615 elif validator.name == "type":
617 return validator.adapt(self.valeur or 0)
619 # validateur into et valid
622 # ======================================================================
623 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
624 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
625 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
626 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
627 # (AT YOUR OPTION) ANY LATER VERSION.
629 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
630 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
631 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
632 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
634 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
635 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
636 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
637 # ======================================================================
638 # person_in_charge: mathieu.courtois at edf.fr
641 class fiss_xfem(ASSD):
642 cata_sdj = "SD.sd_xfem.sd_fiss_xfem"
644 # ======================================================================
645 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
646 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
647 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
648 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
649 # (AT YOUR OPTION) ANY LATER VERSION.
651 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
652 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
653 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
654 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
656 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
657 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
658 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
659 # ======================================================================
660 # person_in_charge: mathieu.courtois at edf.fr
663 class fonction_class(ASSD):
664 cata_sdj = "SD.sd_fonction.sd_fonction_aster"
669 def Parametres(self):
671 Retourne un dictionnaire contenant les parametres de la fonction ;
672 le type jeveux (FONCTION, FONCT_C, NAPPE) n'est pas retourne,
673 le dictionnaire peut ainsi etre fourni a CALC_FONC_INTERP tel quel.
675 from Utilitai.Utmess import UTMESS
676 if self.accessible():
677 TypeProl={'E':'EXCLU', 'L':'LINEAIRE', 'C':'CONSTANT' }
678 objev = '%-19s.PROL' % self.get_name()
679 prol = self.sdj.PROL.get()
681 UTMESS('F', 'SDVERI_2', valk=[objev])
683 'INTERPOL' : [prol[1][0:3],prol[1][4:7]],
684 'NOM_PARA' : prol[2][0:16].strip(),
685 'NOM_RESU' : prol[3][0:16].strip(),
686 'PROL_DROITE' : TypeProl[prol[4][1]],
687 'PROL_GAUCHE' : TypeProl[prol[4][0]],
689 elif hasattr(self,'etape') and self.etape.nom=='DEFI_FONCTION' :
691 'INTERPOL' : self.etape['INTERPOL'],
692 'NOM_PARA' : self.etape['NOM_PARA'],
693 'NOM_RESU' : self.etape['NOM_RESU'],
694 'PROL_DROITE' : self.etape['PROL_DROITE'],
695 'PROL_GAUCHE' : self.etape['PROL_GAUCHE'],
697 if type(dico['INTERPOL']) == tuple:
698 dico['INTERPOL']=list(dico['INTERPOL'])
699 elif type(dico['INTERPOL']) == str:
700 dico['INTERPOL']=[dico['INTERPOL'],]
701 if len(dico['INTERPOL'])==1 :
702 dico['INTERPOL']=dico['INTERPOL']*2
704 raise Accas.AsException("Erreur dans fonction.Parametres en PAR_LOT='OUI'")
707 def Trace(self,FORMAT='TABLEAU',**kargs):
708 """Tracé d'une fonction"""
709 if not self.accessible() :
710 raise Accas.AsException("Erreur dans fonction.Trace en PAR_LOT='OUI'")
711 from Utilitai.Graph import Graph
713 gr.AjoutCourbe(Val=self.Valeurs(),
714 Lab=[self.Parametres()['NOM_PARA'],self.Parametres()['NOM_RESU']],
715 Leg=os.linesep.join(self.sdj.TITR.get()) )
716 gr.Trace(FORMAT=FORMAT,**kargs)
718 class fonction_sdaster(fonction_class):
720 def convert(self, arg='real'):
722 Retourne un objet de la classe t_fonction
723 représentation python de la fonction
725 from Cata_Utils.t_fonction import t_fonction, t_fonction_c
726 class_fonction = t_fonction
728 class_fonction = t_fonction_c
729 absc, ordo = self.Valeurs()
730 return class_fonction(absc, ordo, self.Parametres(), nom=self.nom)
734 Retourne deux listes de valeurs : abscisses et ordonnees
736 from Utilitai.Utmess import UTMESS
737 if self.accessible():
738 vale = '%-19s.VALE' % self.get_name()
739 lbl = self.sdj.VALE.get()
741 UTMESS('F', 'SDVERI_2', valk=[vale])
746 elif hasattr(self, 'etape') and self.etape.nom == 'DEFI_FONCTION' :
747 if self.etape['VALE'] is not None:
748 lbl = list(self.etape['VALE'])
750 lx = [lbl[i] for i in range(0,dim,2)]
751 ly = [lbl[i] for i in range(1,dim,2)]
752 elif self.etape['VALE_PARA'] is not None:
753 lx = self.etape['VALE_PARA'].Valeurs()
754 ly = self.etape['VALE_FONC'].Valeurs()
755 elif self.etape['ABSCISSE'] is not None:
756 lx = self.etape['ABSCISSE']
757 ly = self.etape['ORDONNEE']
759 raise Accas.AsException("Erreur (fonction.Valeurs) : ne fonctionne en " \
760 "PAR_LOT='OUI' que sur des fonctions produites par DEFI_FONCTION " \
761 "dans le fichier de commandes courant.")
763 raise Accas.AsException("Erreur (fonction.Valeurs) : ne fonctionne en " \
764 "PAR_LOT='OUI' que sur des fonctions produites par DEFI_FONCTION " \
765 "dans le fichier de commandes courant.")
769 """Retourne la liste des abscisses"""
770 return self.Valeurs()[0]
773 """Retourne la liste des ordonnées"""
774 return self.Valeurs()[1]
776 def __call__(self, val, tol=1.e-6):
777 """Evaluate a function at 'val'. If provided, 'tol' is a relative
778 tolerance to match an abscissa value."""
779 # Pour EFICAS : substitution de l'instance de classe
780 # parametre par sa valeur
781 if isinstance(val, ASSD):
784 return __ff(val, tol=tol)
787 class fonction_c(fonction_class):
789 def convert(self,arg='real'):
791 Retourne un objet de la classe t_fonction ou t_fonction_c,
792 représentation python de la fonction complexe
795 from Cata_Utils.t_fonction import t_fonction, t_fonction_c
796 class_fonction = t_fonction
798 class_fonction = t_fonction_c
800 para = self.Parametres()
804 ordo = self.OrdoImg()
806 ordo = numpy.sqrt(numpy.array(self.Ordo())**2 + numpy.array(self.OrdoImg())**2)
808 ordo = numpy.arctan2(numpy.array(self.OrdoImg()), numpy.array(self.Ordo())) * 180. / pi
809 elif arg == 'complex':
810 ordo = map(complex,self.Ordo(),self.OrdoImg())
812 assert False, 'unexpected value for arg: %r' % arg
813 return class_fonction(self.Absc(), ordo, self.Parametres(), nom=self.nom)
817 Retourne trois listes de valeurs : abscisses, parties reelles et imaginaires.
819 from Utilitai.Utmess import UTMESS
820 if self.accessible():
821 vale = '%-19s.VALE' % self.get_name()
822 lbl = self.sdj.VALE.get()
824 UTMESS('F', 'SDVERI_2', valk=[vale])
831 lr.append(lbl[dim+2*i])
832 li.append(lbl[dim+2*i+1])
833 elif hasattr(self, 'etape') and self.etape.nom == 'DEFI_FONCTION' \
834 and self.etape['VALE_C'] is not None:
835 lbl=list(self.etape['VALE_C'])
837 lx=[lbl[i] for i in range(0,dim,3)]
838 lr=[lbl[i] for i in range(1,dim,3)]
839 li=[lbl[i] for i in range(2,dim,3)]
841 raise Accas.AsException("Erreur (fonction_c.Valeurs) : ne fonctionne en " \
842 "PAR_LOT='OUI' que sur des fonctions produites par DEFI_FONCTION " \
843 "dans le jdc courant.")
847 """Retourne la liste des abscisses"""
848 return self.Valeurs()[0]
851 """Retourne la liste des parties réelles des ordonnées"""
852 return self.Valeurs()[1]
855 """Retourne la liste des parties imaginaires des ordonnées"""
856 return self.Valeurs()[2]
858 def Trace(self,FORMAT='TABLEAU',**kargs):
859 """Tracé d'une fonction complexe"""
860 if not self.accessible():
861 raise Accas.AsException("Erreur dans fonction_c.Trace en PAR_LOT='OUI'")
862 from Utilitai.Graph import Graph
863 para = self.Parametres()
865 gr.AjoutCourbe(Val=self.Valeurs(),
866 Lab=[para['NOM_PARA'], '%s_R' % para['NOM_RESU'], '%s_I' % para['NOM_RESU']],
867 Leg=os.linesep.join(self.sdj.TITR.get()) )
868 gr.Trace(FORMAT=FORMAT,**kargs)
870 def __call__(self, val, tol=1.e-6):
871 """Evaluate a function at 'val'. If provided, 'tol' is a relative
872 tolerance to match an abscissa value."""
873 # Pour EFICAS : substitution de l'instance de classe
874 # parametre par sa valeur
875 if isinstance(val, ASSD):
877 __ff=self.convert(arg='complex')
878 return __ff(val, tol=tol)
881 class nappe_sdaster(fonction_class):
885 Retourne un objet de la classe t_nappe, représentation python de la nappe
887 from Cata_Utils.t_fonction import t_fonction, t_nappe
888 para = self.Parametres()
889 vale = self.Valeurs()
893 para_f = {'INTERPOL' : pf['INTERPOL_FONC'],
894 'PROL_DROITE' : pf['PROL_DROITE_FONC'],
895 'PROL_GAUCHE' : pf['PROL_GAUCHE_FONC'],
896 'NOM_PARA' : para[0]['NOM_PARA_FONC'],
897 'NOM_RESU' : para[0]['NOM_RESU'],
899 l_fonc.append(t_fonction(vale[1][i][0],vale[1][i][1],para_f))
901 return t_nappe(vale[0], l_fonc, para[0], nom=self.nom)
905 Retourne la liste des valeurs du parametre,
906 et une liste de couples (abscisses,ordonnees) de chaque fonction.
908 from Utilitai.Utmess import UTMESS
909 if not self.accessible():
910 raise Accas.AsException("Erreur dans nappe.Valeurs en PAR_LOT='OUI'")
911 nsd = '%-19s' % self.get_name()
912 dicv=aster.getcolljev(nsd+'.VALE')
913 # les cles de dicv sont 1,...,N (indice du parametre)
914 lpar=aster.getvectjev(nsd+'.PARA')
916 UTMESS('F', 'SDVERI_2', valk=[nsd+'.PARA'])
918 for k in range(len(dicv)):
921 lval.append([lbl[0:dim],lbl[dim:2*dim]])
922 return [list(lpar),lval]
924 def Parametres(self):
926 Retourne un dictionnaire contenant les parametres de la nappe,
927 le type jeveux (NAPPE) n'est pas retourne,
928 le dictionnaire peut ainsi etre fourni a CALC_FONC_INTERP tel quel,
929 et une liste de dictionnaire des parametres de chaque fonction.
931 from Utilitai.Utmess import UTMESS
932 if not self.accessible():
933 raise Accas.AsException("Erreur dans nappe.Parametres en PAR_LOT='OUI'")
934 TypeProl={'E':'EXCLU', 'L':'LINEAIRE', 'C':'CONSTANT' }
935 objev = '%-19s.PROL' % self.get_name()
936 prol=aster.getvectjev(objev)
938 UTMESS('F', 'SDVERI_2', valk=[objev])
940 'INTERPOL' : [prol[1][0:3],prol[1][4:7]],
941 'NOM_PARA' : prol[2][0:16].strip(),
942 'NOM_RESU' : prol[3][0:16].strip(),
943 'PROL_DROITE' : TypeProl[prol[4][1]],
944 'PROL_GAUCHE' : TypeProl[prol[4][0]],
945 'NOM_PARA_FONC' : prol[6][0:4].strip(),
951 'INTERPOL_FONC' : [prol[7+i*2][0:3],prol[7+i*2][4:7]],
952 'PROL_DROITE_FONC' : TypeProl[prol[8+i*2][1]],
953 'PROL_GAUCHE_FONC' : TypeProl[prol[8+i*2][0]],
959 """Retourne la liste des abscisses"""
960 return self.Valeurs()[0]
962 def Trace(self,FORMAT='TABLEAU',**kargs):
963 """Tracé d'une nappe"""
964 if not self.accessible():
965 raise Accas.AsException("Erreur dans nappe.Trace en PAR_LOT='OUI'")
966 from Utilitai.Graph import Graph
969 dp=self.Parametres()[0]
971 gr.AjoutCourbe(Val=[lx,ly], Lab=[dp['NOM_PARA_FONC'],dp['NOM_RESU']],
972 Leg=os.linesep.join(self.sdj.TITR.get()) )
973 gr.Trace(FORMAT=FORMAT,**kargs)
975 def __call__(self, val1, val2, tol=1.e-6):
976 """Evaluate a function at 'val'. If provided, 'tol' is a relative
977 tolerance to match an abscissa value."""
978 # Pour EFICAS : substitution de l'instance de classe
979 # parametre par sa valeur
980 if isinstance(val1, ASSD):
982 if isinstance(val2, ASSD):
985 return __ff(val1, val2, tol=tol)
987 # ======================================================================
988 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
989 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
990 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
991 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
992 # (AT YOUR OPTION) ANY LATER VERSION.
994 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
995 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
996 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
997 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
999 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1000 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1001 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1002 # ======================================================================
1003 # person_in_charge: mathieu.courtois at edf.fr
1006 class fond_fiss(ASSD):
1007 cata_sdj = "SD.sd_fond_fiss.sd_fond_fiss"
1009 # ======================================================================
1010 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
1011 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1012 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1013 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1014 # (AT YOUR OPTION) ANY LATER VERSION.
1016 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1017 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1018 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
1019 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
1021 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1022 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1023 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1024 # ======================================================================
1025 # person_in_charge: mathieu.courtois at edf.fr
1028 class gfibre_sdaster(ASSD):
1029 cata_sdj = "SD.sd_gfibre.sd_gfibre"
1031 # ======================================================================
1032 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
1033 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1034 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1035 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1036 # (AT YOUR OPTION) ANY LATER VERSION.
1038 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1039 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1040 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
1041 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
1043 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1044 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1045 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1046 # ======================================================================
1047 # person_in_charge: mathieu.courtois at edf.fr
1050 class interf_dyna_clas(ASSD):
1051 cata_sdj = "SD.sd_interf_dyna_clas.sd_interf_dyna_clas"
1053 # ======================================================================
1054 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
1055 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1056 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1057 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1058 # (AT YOUR OPTION) ANY LATER VERSION.
1060 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1061 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1062 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
1063 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
1065 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1066 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1067 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1068 # ======================================================================
1069 # person_in_charge: harinaivo.andriambololona at edf.fr
1072 class interspectre(ASSD):
1073 cata_sdj = "SD.sd_interspectre.sd_interspectre"
1075 # ======================================================================
1076 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
1077 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1078 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1079 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1080 # (AT YOUR OPTION) ANY LATER VERSION.
1082 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1083 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1084 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
1085 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
1087 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1088 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1089 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1090 # ======================================================================
1091 # person_in_charge: mathieu.courtois at edf.fr
1094 class list_inst(ASSD):
1095 cata_sdj = "SD.sd_list_inst.sd_list_inst"
1097 # ======================================================================
1098 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
1099 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1100 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1101 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1102 # (AT YOUR OPTION) ANY LATER VERSION.
1104 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1105 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1106 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
1107 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
1109 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1110 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1111 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1112 # ======================================================================
1113 # person_in_charge: mathieu.courtois at edf.fr
1116 class listis_sdaster(ASSD):
1117 cata_sdj = "SD.sd_listis.sd_listis"
1119 # ======================================================================
1120 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
1121 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1122 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1123 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1124 # (AT YOUR OPTION) ANY LATER VERSION.
1126 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1127 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1128 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
1129 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
1131 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1132 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1133 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1134 # ======================================================================
1135 # person_in_charge: mathieu.courtois at edf.fr
1138 class listr8_sdaster(ASSD):
1139 cata_sdj = "SD.sd_listr8.sd_listr8"
1143 Retourne la liste des valeurs : [val1, ..., valN]
1145 if not self.accessible():
1146 raise Accas.AsException("Erreur dans listr8.Valeurs en PAR_LOT='OUI'")
1147 from Utilitai.Utmess import UTMESS
1148 t_vale = self.sdj.VALE.get()
1150 UTMESS('F', 'SDVERI_2', valk=[vale])
1153 # ======================================================================
1154 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
1155 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1156 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1157 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1158 # (AT YOUR OPTION) ANY LATER VERSION.
1160 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1161 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1162 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
1163 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
1165 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1166 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1167 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1168 # ======================================================================
1169 # person_in_charge: mathieu.courtois at edf.fr
1171 def VALE_triang2array(vect_VALE, dim, dtype=None):
1172 """Conversion (par recopie) de l'objet .VALE decrivant une matrice pleine
1173 par sa triangulaire sup en numpy.array plein.
1176 triang_sup = numpy.array(vect_VALE)
1177 assert dim*(dim+1)/2 == len(triang_sup), \
1178 'Matrice non pleine : %d*(%d+1)/2 != %d' % (dim, dim, len(triang_sup))
1180 valeur = numpy.zeros([dim, dim], dtype=dtype)
1181 for i in range(1, dim+1):
1182 for j in range(1, i+1):
1184 valeur[j-1, i-1]=triang_sup[k-1]
1185 valeur = valeur + numpy.transpose(valeur)
1186 for i in range(dim):
1187 valeur[i, i] = 0.5 * valeur[i, i]
1190 class macr_elem_dyna(ASSD):
1191 cata_sdj = "SD.sd_macr_elem_dyna.sd_macr_elem_dyna"
1193 def EXTR_MATR_GENE(self,typmat) :
1194 """ retourne les valeurs des matrices generalisees reelles
1195 dans un format numpy
1196 typmat='MASS_GENE' pour obtenir la matrice de masse generalisee
1197 typmat='RIGI_GENE' pour obtenir la matrice de raideur generalisee
1198 typmat='AMOR_GENE' pour obtenir la matrice d'amortissement generalisee
1200 - self.valeurs : numpy.array contenant les valeurs """
1202 if not self.accessible():
1203 raise Accas.AsException("Erreur dans macr_elem_dyna.EXTR_MATR_GENE en PAR_LOT='OUI'")
1205 if (typmat=='MASS_GENE') :
1206 macr_elem = self.sdj.MAEL_MASS
1207 elif (typmat=='RIGI_GENE') :
1208 macr_elem = self.sdj.MAEL_RAID
1209 elif (typmat=='AMOR_GENE') :
1210 macr_elem = self.sdj.MAEL_AMOR
1212 raise Accas.AsException("Le type de la matrice est incorrect")
1214 desc=numpy.array(macr_elem.DESC.get())
1215 # On teste si le DESC du vecteur existe
1217 raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster")
1219 matrice = VALE_triang2array(macr_elem.VALE.get(), desc[1])
1222 def RECU_MATR_GENE(self,typmat,matrice) :
1223 """ envoie les valeurs d'un tableau numpy dans des matrices generalisees
1224 reelles definies dans jeveux
1225 typmat='MASS_GENE' pour obtenir la matrice de masse generalisee
1226 typmat='RIGI_GENE' pour obtenir la matrice de raideur generalisee
1227 typmat='AMOR_GENE' pour obtenir la matrice d'amortissement generalisee
1228 Attributs ne retourne rien """
1230 if not self.accessible():
1231 raise Accas.AsException("Erreur dans macr_elem_dyna.RECU_MATR_GENE en PAR_LOT='OUI'")
1233 nommacr=self.get_name()
1234 if (typmat=='MASS_GENE') :
1235 macr_elem = self.sdj.MAEL_MASS
1236 elif (typmat=='RIGI_GENE') :
1237 macr_elem = self.sdj.MAEL_RAID
1238 elif (typmat=='AMOR_GENE') :
1239 macr_elem = self.sdj.MAEL_AMOR
1241 raise Accas.AsException("Le type de la matrice est incorrect")
1242 nom_vale = macr_elem.VALE.nomj()
1243 desc=numpy.array(macr_elem.DESC.get())
1245 # On teste si le DESC de la matrice jeveux existe
1247 raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster")
1248 numpy.asarray(matrice)
1250 # On teste si la matrice python est de dimension 2
1251 if (len(numpy.shape(matrice))<>2):
1252 raise Accas.AsException("La dimension de la matrice est incorrecte")
1254 # On teste si les tailles de la matrice jeveux et python sont identiques
1255 if (tuple([desc[1],desc[1]])<>numpy.shape(matrice)) :
1256 raise Accas.AsException("La dimension de la matrice est incorrecte")
1257 taille=desc[1]*desc[1]/2.0+desc[1]/2.0
1258 tmp=numpy.zeros([int(taille)])
1259 for j in range(desc[1]+1):
1262 tmp[k]=matrice[j-1,i]
1263 aster.putvectjev(nom_vale,len(tmp),tuple((
1264 range(1,len(tmp)+1))),tuple(tmp),tuple(tmp),1)
1266 # ======================================================================
1267 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
1268 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1269 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1270 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1271 # (AT YOUR OPTION) ANY LATER VERSION.
1273 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1274 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1275 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
1276 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
1278 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1279 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1280 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1281 # ======================================================================
1282 # person_in_charge: mathieu.courtois at edf.fr
1285 class macr_elem_stat(ASSD):
1286 cata_sdj = "SD.sd_macr_elem_stat.sd_macr_elem_stat"
1288 # ======================================================================
1289 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
1290 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1291 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1292 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1293 # (AT YOUR OPTION) ANY LATER VERSION.
1295 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1296 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1297 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
1298 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
1300 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1301 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1302 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1303 # ======================================================================
1304 # person_in_charge: mathieu.courtois at edf.fr
1307 class maillage_sdaster(ASSD):
1308 cata_sdj = "SD.sd_maillage.sd_maillage"
1310 def LIST_GROUP_NO(self) :
1311 """ retourne la liste des groupes de noeuds sous la forme :
1312 [ (gno1, nb noeuds gno1), ...] """
1313 if not self.accessible():
1314 raise Accas.AsException("Erreur dans maillage.LIST_GROUP_NO en PAR_LOT='OUI'")
1315 dic_gpno = self.sdj.GROUPENO.get()
1316 if dic_gpno is None:
1318 return [(gpno.strip(),len(dic_gpno[gpno])) for gpno in dic_gpno]
1320 def LIST_GROUP_MA(self) :
1321 """ retourne la liste des groupes de mailles sous la forme :
1322 [ (gma1, nb mailles gma1, dime max des mailles gma1), ...] """
1323 if not self.accessible():
1324 raise Accas.AsException("Erreur dans maillage.LIST_GROUP_MA en PAR_LOT='OUI'")
1325 ltyma = aster.getvectjev("&CATA.TM.NOMTM")
1326 catama = aster.getcolljev("&CATA.TM.TMDIM")
1327 dic_gpma = self.sdj.GROUPEMA.get()
1328 if dic_gpma is None:
1330 dimama = [catama[ltyma[ma-1].ljust(24)][0] for ma in self.sdj.TYPMAIL.get()]
1332 for grp in dic_gpma.keys():
1333 dim = max([dimama[ma-1] for ma in dic_gpma[grp]])
1334 ngpma.append((grp.strip(), len(dic_gpma[grp]),dim))
1337 class grille_sdaster(maillage_sdaster):
1338 cata_sdj = "SD.sd_grille.sd_grille"
1340 class squelette(maillage_sdaster):
1341 cata_sdj = "SD.sd_squelette.sd_squelette"
1343 # ======================================================================
1344 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
1345 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1346 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1347 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1348 # (AT YOUR OPTION) ANY LATER VERSION.
1350 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1351 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1352 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
1353 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
1355 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1356 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1357 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1358 # ======================================================================
1359 # person_in_charge: mathieu.courtois at edf.fr
1362 class mater_sdaster(ASSD):
1363 cata_sdj = "SD.sd_mater.sd_mater"
1365 def RCVALE(self, phenomene, nompar=(), valpar=(), nomres=(), stop=1):
1366 """Appel à la routine fortran RCVALE pour récupérer les valeurs des
1367 propriétés du matériau.
1369 if not self.accessible():
1370 raise Accas.AsException("Erreur dans mater.RCVALE en PAR_LOT='OUI'")
1371 from Utilitai.Utmess import UTMESS
1372 # vérification des arguments
1373 if not type(nompar) in (list, tuple):
1375 if not type(valpar) in (list, tuple):
1377 if not type(nomres) in (list, tuple):
1379 nompar = tuple(nompar)
1380 valpar = tuple(valpar)
1381 nomres = tuple(nomres)
1382 if len(nompar) != len(valpar):
1383 vk1=', '.join(nompar)
1384 vk2=', '.join([repr(v) for v in valpar])
1385 UTMESS('F','SDVERI_4',valk=[vk1,vk2])
1387 UTMESS('F', 'SDVERI_5')
1388 # appel à l'interface Python/C
1389 return aster.rcvale(self.nom, phenomene, nompar, valpar, nomres, stop)
1391 # ======================================================================
1392 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
1393 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1394 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1395 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1396 # (AT YOUR OPTION) ANY LATER VERSION.
1398 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1399 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1400 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
1401 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
1403 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1404 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1405 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1406 # ======================================================================
1407 # person_in_charge: mathieu.courtois at edf.fr
1409 class matr_asse(ASSD):
1410 cata_sdj = "SD.sd_matr_asse.sd_matr_asse"
1412 def EXTR_MATR(self) :
1413 """ retourne les valeurs de la matrice dans un format numpy
1415 - self.valeurs : numpy.array contenant les valeurs """
1417 from SD.sd_stoc_morse import sd_stoc_morse
1419 if not self.accessible():
1420 raise Accas.AsException("Erreur dans matr_asse.EXTR_MATR en PAR_LOT='OUI'")
1422 refa = numpy.array(self.sdj.REFA.get())
1425 smos = sd_stoc_morse(nu[:14]+'.SMOS')
1427 valm=self.sdj.VALM.get()
1428 smhc=smos.SMHC.get()
1429 smdi=smos.SMDI.get()
1435 triang_sup = numpy.array(valm[1])
1437 triang_inf = triang_sup
1439 triang_inf = numpy.array(valm[2])
1441 if type(valm[1][0]) == type(1.j) :
1445 valeur=numpy.zeros([dim, dim], dtype=dtype)
1448 for kterm in range(1,nnz+1):
1450 if (smdi[jcol-1] < kterm):
1452 valeur[jcol-1,ilig-1]=triang_inf[kterm-1]
1453 valeur[ilig-1,jcol-1]=triang_sup[kterm-1]
1457 class matr_asse_gd(matr_asse):
1458 cata_sdj = "SD.sd_matr_asse.sd_matr_asse"
1460 class matr_asse_depl_c(matr_asse_gd):
1463 class matr_asse_depl_r(matr_asse_gd):
1466 class matr_asse_pres_c(matr_asse_gd):
1469 class matr_asse_pres_r(matr_asse_gd):
1472 class matr_asse_temp_c(matr_asse_gd):
1475 class matr_asse_temp_r(matr_asse_gd):
1478 # ======================================================================
1479 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
1480 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1481 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1482 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1483 # (AT YOUR OPTION) ANY LATER VERSION.
1485 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1486 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1487 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
1488 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
1490 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1491 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1492 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1493 # ======================================================================
1494 # person_in_charge: mathieu.courtois at edf.fr
1496 def VALM_triang2array(dict_VALM, dim, dtype=None):
1497 """Conversion (par recopie) de l'objet .VALM decrivant une matrice pleine
1498 par sa triangulaire inf (et parfois triang sup) en numpy.array plein.
1501 # stockage symetrique ou non (triang inf+sup)
1502 sym = len(dict_VALM) == 1
1503 triang_sup = numpy.array(dict_VALM[1])
1504 assert dim*(dim+1)/2 == len(triang_sup), \
1505 'Matrice non pleine : %d*(%d+1)/2 != %d' % (dim, dim, len(triang_sup))
1507 triang_inf = triang_sup
1509 triang_inf = numpy.array(dict_VALM[2])
1510 valeur=numpy.zeros([dim, dim], dtype=dtype)
1511 for i in range(1, dim+1):
1512 for j in range(1, i+1):
1514 valeur[i-1, j-1]=triang_inf[k-1]
1515 valeur[j-1, i-1]=triang_sup[k-1]
1518 def VALM_diag2array(dict_VALM, dim, dtype=None):
1519 """Conversion (par recopie) de l'objet .VALM decrivant une matrice
1520 diagonale en numpy.array plein.
1523 diag = numpy.array(dict_VALM[1])
1524 assert dim == len(diag), 'Dimension incorrecte : %d != %d' % (dim, len(diag))
1525 valeur=numpy.zeros([dim, dim], dtype=dtype)
1526 for i in range(dim):
1527 valeur[i,i] = diag[i]
1530 class matr_asse_gene(ASSD):
1531 cata_sdj = "SD.sd_matr_asse_gene.sd_matr_asse_gene"
1533 class matr_asse_gene_r(matr_asse_gene):
1534 def EXTR_MATR_GENE(self) :
1535 """ retourne les valeurs de la matrice generalisee reelle
1536 dans un format numpyal Array
1538 - self.valeurs : numpy.array contenant les valeurs """
1539 if not self.accessible():
1540 raise Accas.AsException("Erreur dans matr_asse_gene.EXTR_MATR_GENE en PAR_LOT='OUI'")
1543 desc=numpy.array(self.sdj.DESC.get())
1544 # On teste si le DESC de la matrice existe
1546 raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster")
1547 # Si le stockage est plein
1549 valeur = VALM_triang2array(self.sdj.VALM.get(), desc[1])
1551 # Si le stockage est diagonal
1553 valeur = VALM_diag2array(self.sdj.VALM.get(), desc[1])
1555 # Sinon on arrete tout
1560 def RECU_MATR_GENE(self,matrice) :
1561 """ envoie les valeurs d'un tableau numpy dans des matrices
1562 generalisees reelles definies dans jeveux
1563 Attributs ne retourne rien """
1565 if not self.accessible():
1566 raise Accas.AsException("Erreur dans matr_asse_gene.RECU_MATR_GENE en PAR_LOT='OUI'")
1568 ncham=self.get_name()
1569 desc=numpy.array(self.sdj.DESC.get())
1571 # On teste si le DESC de la matrice existe
1573 raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster")
1574 numpy.asarray(matrice)
1576 # On teste si la dimension de la matrice python est 2
1577 if (len(numpy.shape(matrice))<>2) :
1578 raise Accas.AsException("La dimension de la matrice est incorrecte ")
1580 # On teste si les tailles des matrices jeveux et python sont identiques
1581 if (tuple([desc[1],desc[1]])<>numpy.shape(matrice)) :
1582 raise Accas.AsException("La taille de la matrice est incorrecte ")
1584 # Si le stockage est plein
1586 taille=desc[1]*desc[1]/2.0+desc[1]/2.0
1587 tmp=numpy.zeros([int(taille)])
1588 for j in range(desc[1]+1):
1591 tmp[k]=matrice[j-1,i]
1592 aster.putcolljev('%-19s.VALM' % ncham,len(tmp),tuple((\
1593 range(1,len(tmp)+1))),tuple(tmp),tuple(tmp),1)
1594 # Si le stockage est diagonal
1596 tmp=numpy.zeros(desc[1])
1597 for j in range(desc[1]):
1599 aster.putcolljev('%-19s.VALM' % ncham,len(tmp),tuple((\
1600 range(1,len(tmp)+1))),tuple(tmp),tuple(tmp),1)
1601 # Sinon on arrete tout
1606 class matr_asse_gene_c(matr_asse_gene):
1607 def EXTR_MATR_GENE(self) :
1608 """ retourne les valeurs de la matrice generalisee complexe
1609 dans un format numpy
1611 - self.valeurs : numpy.array contenant les valeurs """
1613 if not self.accessible():
1614 raise Accas.AsException("Erreur dans matr_asse_gene_c.EXTR_MATR_GENE en PAR_LOT='OUI'")
1616 desc = numpy.array(self.sdj.DESC.get())
1618 raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster ")
1619 # Si le stockage est plein
1621 valeur = VALM_triang2array(self.sdj.VALM.get(), desc[1], complex)
1623 # Si le stockage est diagonal
1625 valeur = VALM_diag2array(self.sdj.VALM.get(), desc[1], complex)
1627 # Sinon on arrete tout
1632 def RECU_MATR_GENE(self,matrice) :
1633 """ envoie les valeurs d'un tableau numpy dans des matrices
1634 generalisees reelles definies dans jeveux
1635 Attributs ne retourne rien """
1637 if not self.accessible():
1638 raise Accas.AsException("Erreur dans matr_asse_gene_c.RECU_MATR_GENE en PAR_LOT='OUI'")
1640 numpy.asarray(matrice)
1641 ncham=self.get_name()
1642 desc=numpy.array(self.sdj.DESC.get())
1644 # On teste si le DESC de la matrice existe
1646 raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster")
1647 numpy.asarray(matrice)
1649 # On teste si la dimension de la matrice python est 2
1650 if (len(numpy.shape(matrice))<>2) :
1651 raise Accas.AsException("La dimension de la matrice est incorrecte ")
1653 # On teste si la taille de la matrice jeveux et python est identique
1654 if (tuple([desc[1],desc[1]])<>numpy.shape(matrice)) :
1655 raise Accas.AsException("La taille de la matrice est incorrecte ")
1657 # Si le stockage est plein
1659 taille=desc[1]*desc[1]/2.0+desc[1]/2.0
1660 tmpr=numpy.zeros([int(taille)])
1661 tmpc=numpy.zeros([int(taille)])
1662 for j in range(desc[1]+1):
1665 tmpr[k]=matrice[j-1,i].real
1666 tmpc[k]=matrice[j-1,i].imag
1667 aster.putvectjev('%-19s.VALM' % ncham, len(tmpr), tuple((\
1668 range(1,len(tmpr)+1))),tuple(tmpr),tuple(tmpc),1)
1669 # Si le stockage est diagonal
1671 tmpr=numpy.zeros(desc[1])
1672 tmpc=numpy.zeros(desc[1])
1673 for j in range(desc[1]):
1674 tmpr[j]=matrice[j,j].real
1675 tmpc[j]=matrice[j,j].imag
1676 aster.putvectjev('%-19s.VALM' % ncham,len(tmpr),tuple((\
1677 range(1,len(tmpr)+1))),tuple(tmpr),tuple(tmpc),1)
1678 # Sinon on arrete tout
1683 # ======================================================================
1684 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
1685 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1686 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1687 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1688 # (AT YOUR OPTION) ANY LATER VERSION.
1690 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1691 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1692 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
1693 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
1695 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1696 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1697 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1698 # ======================================================================
1699 # person_in_charge: mathieu.courtois at edf.fr
1702 class matr_elem(ASSD):
1703 cata_sdj = "SD.sd_matr_elem.sd_matr_elem"
1705 class matr_elem_depl_c(matr_elem):
1708 class matr_elem_depl_r(matr_elem):
1711 class matr_elem_pres_c(matr_elem):
1714 class matr_elem_temp_r(matr_elem):
1717 # ======================================================================
1718 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
1719 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1720 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1721 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1722 # (AT YOUR OPTION) ANY LATER VERSION.
1724 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1725 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1726 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
1727 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
1729 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1730 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1731 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1732 # ======================================================================
1733 # person_in_charge: mathieu.courtois at edf.fr
1736 class melasflu_sdaster(ASSD):
1737 cata_sdj = "SD.sd_melasflu.sd_melasflu"
1739 # ======================================================================
1740 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
1741 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1742 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1743 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1744 # (AT YOUR OPTION) ANY LATER VERSION.
1746 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1747 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1748 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
1749 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
1751 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1752 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1753 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1754 # ======================================================================
1755 # person_in_charge: mathieu.courtois at edf.fr
1758 class mode_cycl(ASSD):
1759 cata_sdj = "SD.sd_mode_cycl.sd_mode_cycl"
1761 # ======================================================================
1762 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
1763 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1764 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1765 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1766 # (AT YOUR OPTION) ANY LATER VERSION.
1768 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1769 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1770 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
1771 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
1773 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1774 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1775 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1776 # ======================================================================
1777 # person_in_charge: mathieu.courtois at edf.fr
1780 class modele_gene(ASSD):
1781 cata_sdj = "SD.sd_modele_gene.sd_modele_gene"
1783 def LIST_SOUS_STRUCT(self) :
1784 """ retourne la liste des sous structures du modele generalise
1785 la liste des macro-elements sous-jacents"""
1786 if not self.accessible():
1787 raise Accas.AsException("Erreur dans modele_gene.LIST_SOUS_STRUCT en PAR_LOT='OUI'")
1788 nommodgen=self.get_name()
1789 ncham=nommodgen+(8-len(nommodgen))*' '
1790 ssno=aster.getvectjev(ncham+(14-len(ncham))*' '+'.MODG.SSNO')
1791 ssme=aster.getcolljev(ncham+(14-len(ncham))*' '+'.MODG.SSME')
1792 return [([ssno[ind], ssme[ind+1]]) for ind in range(len(ssno))]
1794 def LIST_LIAIS_STRUCT(self) :
1795 """ retourne la liste des liaisons entre sous structures du modele generalise sous la forme :
1796 [ (ss1, nom_liais1, ss2 , nom_liais2), ...] """
1797 if not self.accessible() :
1798 raise Accas.AsException("Erreur dans modele_gene.LIST_LIAIS_STRUCT en PAR_LOT='OUI'")
1799 nommodgen=self.get_name()
1800 ncham=nommodgen+(8-len(nommodgen))*' '
1801 lidf=aster.getcolljev(ncham+(14-len(ncham))*' '+'.MODG.LIDF')
1802 return [([(lidf[ind][indb]) for indb in range(4)]) for ind in lidf]
1804 # ======================================================================
1805 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
1806 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1807 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1808 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1809 # (AT YOUR OPTION) ANY LATER VERSION.
1811 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1812 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1813 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
1814 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
1816 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1817 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1818 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1819 # ======================================================================
1820 # person_in_charge: mathieu.courtois at edf.fr
1823 class modele_sdaster(ASSD):
1824 cata_sdj = "SD.sd_modele.sd_modele"
1826 # ======================================================================
1827 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
1828 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1829 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1830 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1831 # (AT YOUR OPTION) ANY LATER VERSION.
1833 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1834 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1835 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
1836 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
1838 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1839 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1840 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1841 # ======================================================================
1842 # person_in_charge: mathieu.courtois at edf.fr
1845 class nume_ddl_gene(ASSD):
1846 cata_sdj = "SD.sd_nume_ddl.sd_nume_ddl"
1848 # ======================================================================
1849 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
1850 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1851 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1852 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1853 # (AT YOUR OPTION) ANY LATER VERSION.
1855 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1856 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1857 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
1858 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
1860 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1861 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1862 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1863 # ======================================================================
1864 # person_in_charge: mathieu.courtois at edf.fr
1867 class nume_ddl_sdaster(ASSD):
1868 cata_sdj = "SD.sd_nume_ddl.sd_nume_ddl"
1870 # ======================================================================
1871 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
1872 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1873 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1874 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1875 # (AT YOUR OPTION) ANY LATER VERSION.
1877 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1878 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1879 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
1880 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
1882 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1883 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1884 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1885 # ======================================================================
1886 # person_in_charge: mathieu.courtois at edf.fr
1889 cata_sdj = "SD.AsBase"
1891 def __init__(self, valeur=None, **args):
1892 ASSD.__init__(self, **args)
1893 self.valeur = valeur
1898 def __adapt__(self, validator):
1899 if validator.name == "list":
1900 # validateur liste,cardinalité
1902 elif validator.name == "type":
1904 return validator.adapt(self.valeur or 0.)
1906 # validateur into et valid
1909 # ======================================================================
1910 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
1911 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1912 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1913 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1914 # (AT YOUR OPTION) ANY LATER VERSION.
1916 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1917 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1918 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
1919 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
1921 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1922 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1923 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1924 # ======================================================================
1925 # person_in_charge: mathieu.courtois at edf.fr
1928 class resultat_sdaster(ASSD):
1929 cata_sdj = "SD.sd_resultat.sd_resultat"
1931 def LIST_CHAMPS (self) :
1932 if not self.accessible():
1933 raise Accas.AsException("Erreur dans resultat.LIST_CHAMPS en PAR_LOT='OUI'")
1934 return aster.GetResu(self.get_name(), "CHAMPS")
1936 def LIST_NOM_CMP (self) :
1937 if not self.accessible():
1938 raise Accas.AsException("Erreur dans resultat.LIST_NOM_CMP en PAR_LOT='OUI'")
1939 return aster.GetResu(self.get_name(), "COMPOSANTES")
1941 def LIST_VARI_ACCES (self) :
1942 if not self.accessible():
1943 raise Accas.AsException("Erreur dans resultat.LIST_VARI_ACCES en PAR_LOT='OUI'")
1944 return aster.GetResu(self.get_name(), "VARI_ACCES")
1946 def LIST_PARA (self) :
1947 if not self.accessible():
1948 raise Accas.AsException("Erreur dans resultat.LIST_PARA en PAR_LOT='OUI'")
1949 return aster.GetResu(self.get_name(), "PARAMETRES")
1951 class resultat_jeveux(resultat_sdaster):
1952 """Classe permettant d'accéder à un resultat jeveux qui n'a pas d'ASSD associée,
1953 c'est le cas des concepts résultats (table, evol_xxxx) dérivés."""
1954 def __init__(self, nom_jeveux):
1955 resultat_sdaster.__init__(self)
1956 self.set_name(nom_jeveux)
1958 class comb_fourier(resultat_sdaster): pass
1959 class fourier_elas(resultat_sdaster): pass
1960 class fourier_ther(resultat_sdaster): pass
1961 class mult_elas(resultat_sdaster): pass
1962 class theta_geom(resultat_sdaster): pass
1964 # resultat_sdaster/evol_sdaster :
1965 class evol_sdaster(resultat_sdaster): pass
1966 class evol_char(evol_sdaster): pass
1967 class evol_elas(evol_sdaster): pass
1968 class evol_noli(evol_sdaster): pass
1969 class evol_ther(evol_sdaster): pass
1970 class evol_varc(evol_sdaster): pass
1974 # ======================================================================
1975 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
1976 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
1977 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
1978 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
1979 # (AT YOUR OPTION) ANY LATER VERSION.
1981 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
1982 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
1983 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
1984 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
1986 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
1987 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
1988 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
1989 # ======================================================================
1990 # person_in_charge: hassan.berro at edf.fr
1992 class dyna_gene(ASSD):
1993 cata_sdj = "SD.sd_dyna_gene.sd_dyna_gene"
1995 class dyna_phys(resultat_sdaster):
1996 cata_sdj="SD.sd_dyna_phys.sd_dyna_phys"
1998 # Concepts généralisés
1999 class harm_gene (dyna_gene) : pass
2000 class tran_gene (dyna_gene) : pass
2002 # Concepts physiques
2003 class acou_harmo (dyna_phys) : pass
2004 class dyna_harmo (dyna_phys) : pass
2005 class dyna_trans (dyna_phys) : pass
2006 class mode_acou (dyna_phys) : pass
2007 class mode_flamb (dyna_phys) : pass
2008 class mode_meca (dyna_phys) : pass
2009 class mode_meca_c(mode_meca) : pass
2011 # TODO : convertir mode_gene en format généralisé
2012 class mode_gene (dyna_phys) : pass
2013 # ======================================================================
2014 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
2015 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
2016 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
2017 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
2018 # (AT YOUR OPTION) ANY LATER VERSION.
2020 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
2021 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
2022 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
2023 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
2025 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
2026 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
2027 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
2028 # ======================================================================
2029 # person_in_charge: mathieu.courtois at edf.fr
2032 class sd_partit(ASSD):
2033 cata_sdj = "SD.sd_partition.sd_partit"
2035 # ======================================================================
2036 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
2037 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
2038 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
2039 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
2040 # (AT YOUR OPTION) ANY LATER VERSION.
2042 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
2043 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
2044 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
2045 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
2047 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
2048 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
2049 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
2050 # ======================================================================
2051 # person_in_charge: mathieu.courtois at edf.fr
2054 class spectre_sdaster(ASSD):
2055 cata_sdj = "SD.sd_spectre.sd_spectre"
2057 # ======================================================================
2058 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
2059 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
2060 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
2061 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
2062 # (AT YOUR OPTION) ANY LATER VERSION.
2064 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
2065 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
2066 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
2067 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
2069 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
2070 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
2071 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
2072 # ======================================================================
2073 # person_in_charge: mathieu.courtois at edf.fr
2076 class surface_sdaster(ASSD):
2077 cata_sdj = "SD.sd_surface.sd_surface"
2079 # ======================================================================
2080 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
2081 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
2082 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
2083 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
2084 # (AT YOUR OPTION) ANY LATER VERSION.
2086 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
2087 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
2088 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
2089 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
2091 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
2092 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
2093 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
2094 # ======================================================================
2095 # person_in_charge: mathieu.courtois at edf.fr
2098 class table_sdaster(ASSD):
2099 cata_sdj = "SD.sd_table.sd_table"
2101 def __getitem__(self, key):
2102 """Retourne la valeur d'une cellule de la table.
2103 Exemple : TAB['INST', 1] retourne la 1ère valeur de la colonne 'INST'."""
2104 from Utilitai.Utmess import UTMESS
2105 if not self.accessible():
2106 raise Accas.AsException("Erreur dans table.__getitem__ en PAR_LOT='OUI'")
2107 assert len(key) == 2
2109 tabnom = self.sdj.TBLP.get()
2111 i = tabnom.index('%-24s' % para)
2112 resu = aster.getvectjev(tabnom[i + 2])
2113 exist = aster.getvectjev(tabnom[i + 3])
2114 assert resu is not None
2115 assert exist is not None
2116 assert exist[numlign - 1] != 0
2117 res = resu[numlign - 1]
2118 except (IndexError, AssertionError):
2119 # pour __getitem__, il est plus logique de retourner KeyError.
2124 """Retourne le titre d'une table Aster
2125 (Utile pour récupérer le titre et uniquement le titre d'une table dont
2126 on souhaite manipuler la dérivée).
2128 if not self.accessible():
2129 raise Accas.AsException("Erreur dans table.TITRE en PAR_LOT='OUI'")
2130 #titj = aster.getvectjev('%-19s.TITR' % self.get_name())
2131 titj = self.sdj.TITR.get()
2133 titr = '\n'.join(titj)
2138 def EXTR_TABLE(self, para=None) :
2139 """Produit un objet Table à partir du contenu d'une table Aster.
2140 On peut limiter aux paramètres listés dans 'para'.
2147 if not self.accessible():
2148 raise Accas.AsException("Erreur dans table.EXTR_TABLE en PAR_LOT='OUI'")
2149 from Utilitai.Table import Table
2152 # récupération des paramètres
2153 #v_tblp = aster.getvectjev('%-19s.TBLP' % self.get_name())
2154 v_tblp = self.sdj.TBLP.get()
2156 # retourne une table vide
2157 return Table(titr=titr, nom=self.nom)
2159 nparam=len(tabnom)/4
2160 lparam=[tabnom[4*i:4*i+4] for i in range(nparam)]
2161 # restriction aux paramètres demandés
2162 if para is not None:
2163 if type(para) not in (list, tuple):
2165 para = [p.strip() for p in para]
2168 if ip[0].strip() in para:
2172 # liste des paramètres et des types
2176 value=list(aster.getvectjev(i[2]))
2177 exist=aster.getvectjev(i[3])
2178 dval[i[0].strip()] = map(Nonefy, value, exist)
2179 lpar.append(i[0].strip())
2180 ltyp.append(i[1].strip())
2181 n=len(dval[lpar[0]])
2182 # contenu : liste de dict
2189 return Table(lisdic, lpar, ltyp, titr, self.nom)
2191 class table_fonction(table_sdaster):
2192 """Table contenant en plus une colonne FONCTION et/ou FONCTION_C dont les
2193 valeurs des cellules sont des noms de fonction_sdaster ou fonction_c."""
2195 class table_jeveux(table_sdaster):
2196 """Classe permettant d'accéder à une table jeveux qui n'a pas d'ASSD associée,
2197 c'est le cas des concepts résultats (table, evol_xxxx) dérivés."""
2198 def __init__(self, nom_jeveux):
2199 table_sdaster.__init__(self)
2200 self.set_name(nom_jeveux)
2202 class table_fonction(table_sdaster):
2203 """Table contenant une colonne FONCTION et/ou FONCTION_C dont les
2204 valeurs des cellules sont des noms de fonction_sdaster ou
2206 cata_sdj = "SD.sd_table_fonction.sd_table_fonction"
2208 class table_container(table_sdaster):
2209 """Table contenant les colonnes NOM_OBJET, TYPE_OBJET et NOM_SD."""
2210 cata_sdj = "SD.sd_table_container.sd_table_container"
2212 # ======================================================================
2213 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
2214 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
2215 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
2216 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
2217 # (AT YOUR OPTION) ANY LATER VERSION.
2219 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
2220 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
2221 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
2222 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
2224 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
2225 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
2226 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
2227 # ======================================================================
2228 # person_in_charge: mathieu.courtois at edf.fr
2231 class type_flui_stru(ASSD):
2232 cata_sdj = "SD.sd_type_flui_stru.sd_type_flui_stru"
2234 # ======================================================================
2235 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
2236 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
2237 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
2238 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
2239 # (AT YOUR OPTION) ANY LATER VERSION.
2241 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
2242 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
2243 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
2244 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
2246 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
2247 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
2248 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
2249 # ======================================================================
2250 # person_in_charge: mathieu.courtois at edf.fr
2253 class vect_asse_gene(ASSD):
2254 cata_sdj = "SD.sd_cham_gene.sd_cham_gene"
2256 def EXTR_VECT_GENE_R(self) :
2257 """ retourne les valeurs du vecteur generalisee
2258 dans un format numpy
2260 - self.valeurs : numpy.array contenant les valeurs """
2262 if not self.accessible():
2263 raise Accas.AsException("Erreur dans vect_asse_gene_r.EXTR_VECT_GENE en PAR_LOT='OUI'")
2264 #ncham=self.get_name()
2265 #ncham=ncham+(8-len(ncham))*' '
2266 #valeur=numpy.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.VALE'))
2267 valeur = numpy.array(self.sdj.VALE.get())
2270 def RECU_VECT_GENE_R(self, vecteur) :
2271 """ envoie les valeurs d'un tableau numpy dans un vecteur generalise
2272 reel definie dans jeveux
2273 Attributs ne retourne rien """
2274 if not self.accessible():
2275 raise Accas.AsException("Erreur dans vect_asse_gene_r.RECU_VECT_GENE en PAR_LOT='OUI'")
2277 numpy.asarray(vecteur)
2278 ncham=self.get_name()
2279 ncham=ncham+(8-len(ncham))*' '
2280 #desc=numpy.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC'))
2281 desc = numpy.array(self.sdj.DESC.get())
2282 # On teste si le DESC du vecteur existe
2284 raise Accas.AsException("L'objet vecteur n'existe pas ou \
2285 est mal cree par Code Aster")
2286 # On teste si la taille du vecteur jeveux et python est identique
2287 if desc[1] != numpy.shape(vecteur)[0] :
2288 raise Accas.AsException("La taille du vecteur python est incorrecte")
2289 aster.putvectjev(ncham+(19-len(ncham))*' '+'.VALE',
2291 tuple(range(1, len(vecteur)+1)),
2297 def EXTR_VECT_GENE_C(self) :
2298 """ retourne les valeurs du vecteur generalisee
2299 dans un format numpy
2301 - self.valeurs : numpy.array contenant les valeurs """
2303 if not self.accessible():
2304 raise Accas.AsException("Erreur dans vect_asse_gene_c.EXTR_VECT_GENE en PAR_LOT='OUI'")
2306 #ncham=self.get_name()
2307 #ncham=ncham+(8-len(ncham))*' '
2308 #valeur=numpy.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.VALE'), complex)
2309 valeur=numpy.array(self.sdj.VALE.get(), complex)
2313 def RECU_VECT_GENE_C(self,vecteur) :
2314 """ envoie les valeurs d'un tableau numpy dans un vecteur generalise
2315 complexe definie dans jeveux
2316 Attributs ne retourne rien """
2317 if not self.accessible():
2318 raise Accas.AsException("Erreur dans vect_asse_gene_c.RECU_VECT_GENE en PAR_LOT='OUI'")
2320 numpy.asarray(vecteur)
2321 ncham=self.get_name()
2322 ncham=ncham+(8-len(ncham))*' '
2323 desc=numpy.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC'))
2324 # On teste si le DESC de la matrice existe
2326 raise Accas.AsException("L'objet vecteur n'existe pas ou \
2327 est mal cree par Code Aster")
2328 # On teste si la taille de la matrice jeveux et python est identique
2329 if desc[1]<>numpy.shape(vecteur)[0] :
2330 raise Accas.AsException("La taille du vecteur python est incorrecte")
2333 aster.putvectjev(ncham+(19-len(ncham))*' '+'.VALE',
2335 tuple(range(1, len(tmpr)+1)),
2341 # ======================================================================
2342 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
2343 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
2344 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
2345 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
2346 # (AT YOUR OPTION) ANY LATER VERSION.
2348 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
2349 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
2350 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
2351 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
2353 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
2354 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
2355 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
2356 # ======================================================================
2357 # person_in_charge: mathieu.courtois at edf.fr
2360 class vect_elem(ASSD):
2361 cata_sdj = "SD.sd_vect_elem.sd_vect_elem"
2363 class vect_elem_depl_r(vect_elem):
2366 class vect_elem_pres_r(vect_elem):
2369 class vect_elem_pres_c(vect_elem):
2372 class vect_elem_temp_r(vect_elem):
2375 # ======================================================================
2376 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
2377 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
2378 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
2379 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
2380 # (AT YOUR OPTION) ANY LATER VERSION.
2382 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
2383 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
2384 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
2385 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
2387 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
2388 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
2389 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
2390 # ======================================================================
2391 # person_in_charge: mickael.abbas at edf.fr
2393 def C_AFFICHAGE() : return FACT(statut='f',max=1,
2394 INFO_RESIDU = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
2395 INFO_TEMPS = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
2396 UNITE = SIMP(statut='f',typ='I',val_min=1),
2397 PAS = SIMP(statut='f',typ='I',val_min=1),
2400 # ======================================================================
2401 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
2402 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
2403 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
2404 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
2405 # (AT YOUR OPTION) ANY LATER VERSION.
2407 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
2408 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
2409 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
2410 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
2412 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
2413 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
2414 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
2415 # ======================================================================
2416 # person_in_charge: mickael.abbas at edf.fr
2417 def C_ARCHIVAGE() : return FACT(statut='d',max=1,
2418 regles = (EXCLUS('PAS_ARCH','LIST_INST','INST'),),
2419 LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ),
2420 INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
2421 PAS_ARCH = SIMP(statut='f',typ='I' ),
2422 CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
2423 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
2424 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
2425 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
2426 PRECISION =SIMP(statut='o',typ='R',),),
2427 CHAM_EXCLU = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',),
2430 # ======================================================================
2431 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
2432 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
2433 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
2434 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
2435 # (AT YOUR OPTION) ANY LATER VERSION.
2437 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
2438 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
2439 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
2440 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
2442 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
2443 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
2444 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
2445 # ======================================================================
2446 # person_in_charge: jean-michel.proix at edf.fr
2447 def C_COMPORTEMENT(COMMAND=None) : #COMMUN#
2449 assert COMMAND in ('MACR_ASCOUF_CALC','MACR_ASPIC_CALC','CALC_G','POST_GP','CALC_ESSAI_GEOMECA','CALC_EUROPLEXUS',
2450 'CALC_POINT_MAT','SIMU_POINT_MAT', 'DYNA_NON_LINE','STAT_NON_LINE','CALCUL','CALC_FORC_NONL',
2451 'CALC_IFS_DNL','CALC_PRECONT','CREA_RESU','LIRE_RESU','MACR_ECREVISSE','TEST_COMPOR',None)
2453 if COMMAND !='CALC_EUROPLEXUS':
2454 mcfact = FACT(statut='f',min=1,max='**',
2456 RELATION =SIMP( statut='o',typ='TXM',defaut="ELAS",into=C_RELATION(COMMAND)),
2457 b_monox = BLOC(condition = "RELATION == 'MONOCRISTAL' ",
2458 fr="SD issue de DEFI_COMPOR",
2459 COMPOR =SIMP(statut='o',typ=compor_sdaster,max=1),),
2460 b_polyx = BLOC(condition = "RELATION == 'POLYCRISTAL' ",
2461 fr="SD issue de DEFI_COMPOR",
2462 COMPOR =SIMP(statut='o',typ=compor_sdaster,max=1),),
2463 b_zmat = BLOC(condition = "RELATION == 'ZMAT' ",
2464 fr="Comportement de la bibliotheque Zmat",
2465 NB_VARI =SIMP(statut='o',typ='I',max=1),
2466 UNITE =SIMP(statut='o',typ='I',max=1),),
2467 b_umat = BLOC(condition = "RELATION == 'UMAT' ",
2468 fr="Comportement utilisateur de type UMAT",
2469 NB_VARI =SIMP(statut='o',typ='I',max=1,fr="Nombre de variables internes"),
2470 LIBRAIRIE = SIMP(statut='o', typ='TXM',validators=LongStr(1,128),
2471 fr="Chemin vers la bibliothèque dynamique définissant le comportement UMAT"),
2472 NOM_ROUTINE = SIMP(statut='o', typ='TXM',
2473 fr="Nom de la routine UMAT dans la bibliothèque"),),
2474 b_mfront = BLOC(condition = "RELATION == 'MFRONT' ",
2475 fr="Comportement utilisateur de type MFRONT",
2476 NB_VARI =SIMP(statut='o',typ='I',max=1,fr="Nombre de variables internes"),
2477 LIBRAIRIE = SIMP(statut='o', typ='TXM',validators=LongStr(1,128),
2478 fr="Chemin vers la bibliothèque dynamique définissant le comportement MFRONT"),
2479 NOM_ROUTINE = SIMP(statut='o', typ='TXM',
2480 fr="Nom de la routine MFRONT dans la bibliothèque"),),
2483 b_kit_ddi = BLOC(condition = "RELATION == 'KIT_DDI' ",
2484 fr="relations de couplage fluage-plasticite",
2485 RELATION_KIT =SIMP(statut='o',typ='TXM',min=2,max=2,validators=NoRepeat(),
2502 b_kit_cg= BLOC(condition = "RELATION == 'KIT_CG' ",
2503 fr="relations pour elements cables gaines",
2504 RELATION_KIT =SIMP(statut='o',typ='TXM',min=2,max=2,validators=NoRepeat(),
2516 b_kit_thm = BLOC(condition = "RELATION in ['KIT_HHM','KIT_HH','KIT_H','KIT_HM','KIT_THHM', \
2517 'KIT_THH','KIT_THM','KIT_THV']",
2518 fr="lois de comportements thermo-hydro-mecaniques",
2519 RELATION_KIT =SIMP(statut='o',typ='TXM',max=9,validators=NoRepeat(),
2557 b_kit_meta = BLOC(condition = "RELATION in ('META_LEMA_ANI','META_P_CL_PT_RE','META_P_CL_PT','META_P_CL_RE','META_P_CL',\
2558 'META_P_IL_PT_RE','META_P_IL_PT','META_P_IL_RE','META_P_IL','META_P_INL_PT_RE','META_P_INL_PT','META_P_INL_RE','META_P_INL',\
2559 'META_V_CL_PT_RE','META_V_CL_PT','META_V_CL_RE','META_V_CL','META_V_IL_PT_RE','META_V_IL_PT','META_V_IL_RE','META_V_IL',\
2560 'META_V_INL_PT_RE','META_V_INL_PT','META_V_INL_RE','META_V_INL')",
2561 fr="nombre de phases metallurgiques",
2562 RELATION_KIT =SIMP(statut='o',typ='TXM',max=1,validators=NoRepeat(),
2563 into=("ACIER","ZIRC"),),
2566 DEFORMATION =SIMP(statut='f',typ='TXM',defaut="PETIT",
2567 into=("PETIT","PETIT_REAC","GROT_GDEP","SIMO_MIEHE","GDEF_HYPO_ELAS","GDEF_LOG")),
2569 # gestion des contraintes planes par la méthode itérative
2571 RESI_CPLAN_MAXI =SIMP(statut='f',typ='R',
2572 fr="Critère d'arret absolu pour assurer la condition de contraintes planes"),
2574 b_resi_cplan =BLOC(condition = " RESI_CPLAN_MAXI == None ",
2576 RESI_CPLAN_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-6,
2577 fr="Critère d'arret relatif pour assurer la condition de contraintes planes"),
2580 ITER_CPLAN_MAXI =SIMP(statut='f',typ='I',defaut= 1,
2581 fr="Nombre d'itérations maxi pour assurer la condition de contraintes planes"),
2583 RESI_INTE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-6),
2584 ITER_INTE_MAXI =SIMP(statut='f',typ='I',defaut= 20 ),
2586 b_redec_local = BLOC(condition = "DEFORMATION in ('PETIT','PETIT_REAC','GROT_GDEP')",
2587 fr="Nombre de redécoupages internes du pas de temps",
2588 ITER_INTE_PAS =SIMP(statut='f',typ='I',defaut= 0 ),
2591 ALGO_INTE =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE", "SECANTE", "DEKKER", "NEWTON_1D","BRENT",
2592 "NEWTON", "NEWTON_RELI", "NEWTON_PERT", "RUNGE_KUTTA",
2593 "SPECIFIQUE", "SANS_OBJET")),
2595 TYPE_MATR_TANG =SIMP(statut='f',typ='TXM',into=("PERTURBATION","VERIFICATION","TANGENTE_SECANTE")),
2597 b_perturb =BLOC(condition = " (TYPE_MATR_TANG != None) and (TYPE_MATR_TANG != 'TANGENTE_SECANTE') ",
2598 fr="Calcul de la matrice tangente par perturbation, valeur de la perturbation",
2599 VALE_PERT_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-5),
2602 b_tangsec = BLOC(condition = " TYPE_MATR_TANG == 'TANGENTE_SECANTE' ",
2603 fr="Modification evolutive de la matrice tangente/secante",
2604 SEUIL =SIMP(statut='f',typ='R',defaut= 3. ),
2605 AMPLITUDE =SIMP(statut='f',typ='R',defaut= 1.5 ),
2606 TAUX_RETOUR =SIMP(statut='f',typ='R',defaut= 0.05 ),
2609 b_crirupt = BLOC(condition =
2610 " RELATION in ('VMIS_ISOT_LINE','VMIS_ISOT_TRAC','VISCOCHAB','VISC_ISOT_LINE','VISC_ISOT_TRAC',)",
2611 fr="Critere de rupture selon une contrainte critique",
2612 POST_ITER =SIMP(statut='f',typ='TXM',into=("CRIT_RUPT",), ),
2615 PARM_THETA =SIMP(statut='f',typ='R',val_min=0.,val_max=1., defaut= 1.),
2616 PARM_ALPHA =SIMP(statut='f',typ='R',defaut= 1. ),
2618 b_radi =BLOC(condition = "TYPE_MATR_TANG == None",
2619 RESI_RADI_RELA =SIMP(statut='f',typ='R', ),
2622 regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
2623 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
2624 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
2625 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
2630 mcfact = FACT(statut='o',min=1,max='**', #COMMUN#
2632 RELATION = SIMP( statut='o',typ='TXM',defaut="ELAS",into=('ELAS','GLRC_DAMAGE')),
2633 GROUP_MA = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
2639 # ======================================================================
2640 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
2641 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
2642 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
2643 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
2644 # (AT YOUR OPTION) ANY LATER VERSION.
2646 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
2647 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
2648 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
2649 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
2651 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
2652 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
2653 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
2654 # ======================================================================
2655 # person_in_charge: mickael.abbas at edf.fr
2656 def C_CONVERGENCE() : return FACT(statut='d',
2657 regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA','RESI_COMP_RELA'),),
2658 b_refe_rela =BLOC(condition = "RESI_REFE_RELA != None",
2659 regles=(AU_MOINS_UN('SIGM_REFE','EPSI_REFE','FLUX_THER_REFE','FORC_REFE',
2660 'FLUX_HYD1_REFE','FLUX_HYD2_REFE','VARI_REFE','DEPL_REFE','LAGR_REFE'),),
2661 FORC_REFE =SIMP(statut='f',typ='R',min=2,max=2,
2662 fr="Force et Moment de référence pour les éléments de structure."),
2663 SIGM_REFE =SIMP(statut='f',typ='R'),
2664 DEPL_REFE =SIMP(statut='f',typ='R'),
2665 EPSI_REFE =SIMP(statut='f',typ='R'),
2666 FLUX_THER_REFE =SIMP(statut='f',typ='R'),
2667 FLUX_HYD1_REFE =SIMP(statut='f',typ='R'),
2668 FLUX_HYD2_REFE =SIMP(statut='f',typ='R'),
2669 VARI_REFE =SIMP(statut='f',typ='R'),
2670 LAGR_REFE =SIMP(statut='f',typ='R'),
2672 RESI_REFE_RELA =SIMP(statut='f',typ='R'),
2673 RESI_GLOB_MAXI =SIMP(statut='f',typ='R'),
2674 RESI_GLOB_RELA =SIMP(statut='f',typ='R'),
2675 RESI_COMP_RELA =SIMP(statut='f',typ='R'),
2676 ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut=10),
2677 ITER_GLOB_ELAS =SIMP(statut='f',typ='I',defaut=25),
2678 ARRET =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
2681 # ======================================================================
2682 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
2683 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
2684 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
2685 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
2686 # (AT YOUR OPTION) ANY LATER VERSION.
2688 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
2689 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
2690 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
2691 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
2693 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
2694 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
2695 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
2696 # ======================================================================
2697 # person_in_charge: mickael.abbas at edf.fr
2698 def C_INCREMENT(TYPE_CMD) : #COMMUN#
2700 assert TYPE_CMD in ('THERMIQUE','MECANIQUE',)
2702 statut_liste_inst = ' '
2704 # La liste d'instants est facultative en thermique et obligatoire en mecanique
2706 if TYPE_CMD in ('THERMIQUE'):
2707 statut_liste_inst = 'f'
2708 elif TYPE_CMD in ('MECANIQUE'):
2709 statut_liste_inst = 'o'
2711 kwargs['LIST_INST'] =SIMP(statut=statut_liste_inst,typ=(listr8_sdaster,list_inst))
2712 kwargs['NUME_INST_INIT'] =SIMP(statut='f',typ='I')
2713 kwargs['INST_INIT'] =SIMP(statut='f',typ='R')
2714 kwargs['NUME_INST_FIN'] =SIMP(statut='f',typ='I')
2715 kwargs['INST_FIN'] =SIMP(statut='f',typ='R')
2716 kwargs['PRECISION'] =SIMP(statut='f',typ='R',defaut=1.0E-6 )
2718 mcfact = FACT(statut=statut_liste_inst,max='**',
2719 regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
2720 EXCLUS('NUME_INST_FIN','INST_FIN'),),
2725 # ======================================================================
2726 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
2727 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
2728 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
2729 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
2730 # (AT YOUR OPTION) ANY LATER VERSION.
2732 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
2733 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
2734 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
2735 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
2737 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
2738 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
2739 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
2740 # ======================================================================
2741 # person_in_charge: mickael.abbas at edf.fr
2742 def C_NEWTON() : return FACT(statut='d',
2743 REAC_INCR =SIMP(statut='f',typ='I',defaut= 1,val_min=0),
2744 PREDICTION =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOLE") ),
2745 MATRICE =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
2746 PAS_MINI_ELAS =SIMP(statut='f',typ='R',val_min=0.0),
2747 REAC_ITER =SIMP(statut='f',typ='I',defaut=0,val_min=0),
2748 REAC_ITER_ELAS =SIMP(statut='f',typ='I',defaut=0,val_min=0),
2749 EVOL_NOLI =SIMP(statut='f',typ=evol_noli),
2752 # ======================================================================
2753 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
2754 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
2755 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
2756 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
2757 # (AT YOUR OPTION) ANY LATER VERSION.
2759 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
2760 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
2761 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
2762 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
2764 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
2765 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
2766 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
2767 # ======================================================================
2768 # person_in_charge: josselin.delmas at edf.fr
2770 class NOM_CHAM_INTO: #COMMUN#
2776 self.all_phenomenes = ('CONTRAINTE', 'DEFORMATION', 'ENERGIE', 'CRITERES',
2777 'VARI_INTERNE', 'HYDRAULIQUE', 'THERMIQUE',
2778 'ACOUSTIQUE', 'FORCE', 'ERREUR', 'DEPLACEMENT',
2779 'METALLURGIE', 'AUTRES')
2782 "EFGE_ELGA": ( ("lin", "nonlin",),
2783 _(u"Efforts généralisés aux points de Gauss"), ),
2784 "EFGE_ELNO": ( ("lin", "nonlin",),
2785 _(u"Efforts généralisés aux noeuds par élément"), ),
2786 "EFGE_NOEU": ( ("lin", "nonlin",),
2787 _(u"Efforts généralisés aux noeuds"), ),
2788 "SIEF_ELGA": ( ("lin",),
2789 _(u"Contraintes et efforts aux points de Gauss"), ),
2790 "SIEF_ELNO": ( ("lin", "nonlin",),
2791 _(u"Contraintes et efforts aux noeuds par élément"), ),
2792 "SIEF_NOEU": ( ("lin", "nonlin",),
2793 _(u"Contraintes et efforts aux noeuds"), ),
2794 "SIGM_ELGA": ( ("lin", "nonlin",),
2795 _(u"Contraintes aux points de Gauss"), ),
2796 "SIGM_ELNO": ( ("lin", "nonlin",),
2797 _(u"Contraintes aux noeuds par élément"), ),
2798 "SIGM_NOEU": ( ("lin", "nonlin",),
2799 _(u"Contraintes aux noeuds"), ),
2800 "SIPM_ELNO": ( ("lin","nonlin"),
2801 _(u"Contraintes aux noeuds par élément pour les éléments de poutre"), ),
2802 "SIPO_ELNO": ( ("lin", "nonlin",),
2803 _(u"Contraintes aux noeuds par élément pour les éléments de poutre"), ),
2804 "SIPO_NOEU": ( ("lin", "nonlin",),
2805 _(u"Contraintes aux noeuds pour les éléments de poutre"), ),
2806 "SIRO_ELEM": ( ("lin", "nonlin",),
2807 _(u"Contraintes de rosette par élément"), ),
2809 d['DEFORMATION'] = {
2810 "DEGE_ELGA": ( ("lin", "nonlin",),
2811 _(u"Déformations généralisées aux points de Gauss"), ),
2812 "DEGE_ELNO": ( ("lin", "nonlin",),
2813 _(u"Déformations généralisées aux noeuds par élément"), ),
2814 "DEGE_NOEU": ( ("lin", "nonlin",),
2815 _(u"Déformations généralisées aux noeuds"), ),
2816 "EPFD_ELGA": ( ("nonlin",),
2817 _(u"Déformations de fluage de déssication aux points de Gauss"), ),
2818 "EPFD_ELNO": ( ("nonlin",),
2819 _(u"Déformations de fluage de déssication aux noeuds par élément"), ),
2820 "EPFD_NOEU": ( ("nonlin",),
2821 _(u"Déformations de fluage de déssication aux noeuds"), ),
2822 "EPFP_ELGA": ( ("nonlin",),
2823 _(u"Déformations de fluage propre aux points de Gauss"), ),
2824 "EPFP_ELNO": ( ("nonlin",),
2825 _(u"Déformations de fluage propre aux noeuds par élément"), ),
2826 "EPFP_NOEU": ( ("nonlin",),
2827 _(u"Déformations de fluage propre aux noeuds"), ),
2828 "EPME_ELGA": ( ("lin", "nonlin",),
2829 _(u"Déformations mécaniques en petits déplacements aux points de Gauss"), ),
2830 "EPME_ELNO": ( ("lin", "nonlin",),
2831 _(u"Déformations mécaniques en petits déplacements aux noeuds par élément"), ),
2832 "EPME_NOEU": ( ("lin", "nonlin",),
2833 _(u"Déformations mécaniques en petits déplacements aux noeuds"), ),
2834 "EPMG_ELGA": ( ("nonlin",),
2835 _(u"Déformations mécaniques en grands déplacements aux points de Gauss"), ),
2836 "EPMG_ELNO": ( ("nonlin",),
2837 _(u"Déformations mécaniques en grands déplacements aux noeuds par élément"), ),
2838 "EPMG_NOEU": ( ("nonlin",),
2839 _(u"Déformations mécaniques en grands déplacements aux noeuds"), ),
2840 "EPSG_ELGA": ( ("lin","nonlin",),
2841 _(u"Déformations de Green-Lagrange aux points de Gauss"), ),
2842 "EPSG_ELNO": ( ("lin","nonlin",),
2843 _(u"Déformations de Green-Lagrange aux noeuds par élément"), ),
2844 "EPSG_NOEU": ( ("lin","nonlin",),
2845 _(u"Déformations de Green-Lagrange aux noeuds"), ),
2846 "EPSI_ELGA": ( ("lin", "nonlin",),
2847 _(u"Déformations aux points de Gauss"), ),
2848 "EPSI_ELNO": ( ("lin", "nonlin",),
2849 _(u"Déformations aux noeuds par élément"), ),
2850 "EPSI_NOEU": ( ("lin", "nonlin",),
2851 _(u"Déformations aux noeuds"), ),
2852 "EPSP_ELGA": ( ("nonlin",),
2853 _(u"Déformations anélastique aux points de Gauss"), ),
2854 "EPSP_ELNO": ( ("nonlin",),
2855 _(u"Déformations anélastique aux noeuds par élément"), ),
2856 "EPSP_NOEU": ( ("nonlin",),
2857 _(u"Déformations anélastique aux noeuds"), ),
2858 "EPVC_ELGA": ( ("lin", "nonlin",),
2859 _(u"Déformations dues aux variables de commande aux points de Gauss"), ),
2860 "EPVC_ELNO": ( ("lin", "nonlin",),
2861 _(u"Déformations dues aux variables de commande aux noeuds par élément"), ),
2862 "EPVC_NOEU": ( ("lin", "nonlin",),
2863 _(u"Déformations dues aux variables de commande aux noeuds"), ),
2866 "DISS_ELEM": ( ("lin", "nonlin",),
2867 _(u"Énergie de dissipation par élément"), ),
2868 "DISS_ELGA": ( ("lin", "nonlin",),
2869 _(u"Densité d'énergie de dissipation aux points de Gauss"), ),
2870 "DISS_ELNO": ( ("lin", "nonlin",),
2871 _(u"Densité d'énergie de dissipation aux noeuds par élément"), ),
2872 "DISS_NOEU": ( ("lin", "nonlin",),
2873 _(u"Densité d'énergie de dissipation aux noeuds"), ),
2874 "ECIN_ELEM": ( ("lin",),
2875 _(u"Énergie cinétique par élément"), ),
2876 "ENEL_ELEM": ( ("lin", "nonlin",),
2877 _(u"Énergie élastique par élément"), ),
2878 "ENEL_ELGA": ( ("lin", "nonlin",),
2879 _(u"Densité d'énergie élastique aux points de Gauss"), ),
2880 "ENEL_ELNO": ( ("lin", "nonlin",),
2881 _(u"Densité d'énergie élastique aux noeuds par élément"), ),
2882 "ENEL_NOEU": ( ("lin", "nonlin",),
2883 _(u"Densité d'énergie élastique aux noeuds"), ),
2884 "EPOT_ELEM": ( ("lin",),
2885 _(u"Énergie potentielle de déformation élastique par élément"), ),
2886 "ETOT_ELEM": ( ("lin", "nonlin",),
2887 _(u"Incrément d'énergie de déformation totale par élément"), ),
2888 "ETOT_ELGA": ( ("lin", "nonlin",),
2889 _(u"Incrément de densité d'énergie de déformation totale aux points de Gauss"), ),
2890 "ETOT_ELNO": ( ("lin", "nonlin",),
2891 _(u"Incrément de densité d'énergie de déformation totale aux noeuds par élément"), ),
2892 "ETOT_NOEU": ( ("lin", "nonlin",),
2893 _(u"Incrément de densité d'énergie de déformation totale aux noeuds"), ),
2896 "DERA_ELGA": ( ("nonlin",),
2897 _(u"Indicateur local de décharge et de perte de radialité aux points de Gauss"), ),
2898 "DERA_ELNO": ( ("nonlin",),
2899 _(u"Indicateur local de décharge et de perte de radialité aux noeuds par élément"), ),
2900 "DERA_NOEU": ( ("nonlin",),
2901 _(u"Indicateur local de décharge et de perte de radialité aux noeuds"), ),
2902 "ENDO_ELGA": ( ("nonlin",),
2903 _(u"Dommage de Lemaître-Sermage aux points de Gauss"), ),
2904 "ENDO_ELNO": ( ("nonlin",),
2905 _(u"Dommage de Lemaître-Sermage aux noeuds par élément"), ),
2906 "ENDO_NOEU": ( ("nonlin",),
2907 _(u"Dommage de Lemaître-Sermage aux noeuds"), ),
2908 "EPEQ_ELGA": ( ("lin", "nonlin",),
2909 _(u"Déformations équivalentes aux points de Gauss"), ),
2910 "EPEQ_ELNO": ( ("lin", "nonlin",),
2911 _(u"Déformations équivalentes aux noeuds par élément"), ),
2912 "EPEQ_NOEU": ( ("lin", "nonlin",),
2913 _(u"Déformations équivalentes aux noeuds"), ),
2914 "EPMQ_ELGA": ( ("lin", "nonlin",),
2915 _(u"Déformations mécaniques équivalentes aux points de Gauss"), ),
2916 "EPMQ_ELNO": ( ("lin", "nonlin",),
2917 _(u"Déformations mécaniques équivalentes aux noeuds par élément"), ),
2918 "EPMQ_NOEU": ( ("lin", "nonlin",),
2919 _(u"Déformations mécaniques équivalentes aux noeuds"), ),
2920 "INDL_ELGA": ( ("nonlin",),
2921 _(u"Indicateur de localisation aux points de Gauss"), ),
2922 "PDIL_ELGA": ( ("nonlin",),
2923 _(u"Module de rigidité de micro-dilatation"), ),
2924 "SIEQ_ELGA": ( ("lin", "nonlin",),
2925 _(u"Contraintes équivalentes aux points de Gauss"), ),
2926 "SIEQ_ELNO": ( ("lin", "nonlin",),
2927 _(u"Contraintes équivalentes aux noeuds par élément"), ),
2928 "SIEQ_NOEU": ( ("lin", "nonlin",),
2929 _(u"Contraintes équivalentes aux noeuds"), ),
2931 d['VARI_INTERNE'] = {
2932 "VAEX_ELGA": ( ("nonlin",),
2933 _(u"Extraction d'une variable interne aux points de Gauss"), ),
2934 "VAEX_ELNO": ( ("nonlin",),
2935 _(u"Extraction d'une variable interne aux noeuds pas élément"), ),
2936 "VAEX_NOEU": ( ("nonlin",),
2937 _(u"Extraction d'une variable interne aux noeuds"), ),
2938 "VARC_ELGA": ( ("lin", "nonlin",),
2939 _(u"Variables de commande aux points de Gauss"), ),
2940 "VARI_ELNO": ( ("nonlin",),
2941 _(u"Variables internes aux noeuds pas élément"), ),
2942 "VARI_NOEU": ( ("nonlin",),
2943 _(u"Variables internes aux noeuds"), ),
2945 d['HYDRAULIQUE'] = {
2946 "FLHN_ELGA": ( ("nonlin",),
2947 _(u"Flux hydrauliques aux points de Gauss"), ),
2951 _(u"Température aux points de Gauss"), ),
2953 _(u"Flux thermique aux points de Gauss"), ),
2955 _(u"Flux thermique aux noeuds par élément"), ),
2957 _(u"Flux thermique aux noeuds"), ),
2959 _(u"Hydratation aux noeuds"), ),
2961 _(u"Source de chaleur à partir d'un potentiel électrique"), ),
2963 _(u"Énergie dissipée thermiquement"), ),
2967 _(u"Pression acoustique aux noeuds par élément"), ),
2969 _(u"Pression acoustique aux noeuds"), ),
2971 _(u"Pression aux noeuds par élément pour les éléments FLUIDE"), ),
2973 _(u"Intensité acoustique aux noeuds par élément"), ),
2975 _(u"Intensité acoustique aux noeuds"), ),
2979 _(u"Forces nodales"), ),
2981 _(u"Réactions nodales"), ),
2985 _(u"Contraintes lissées de Zhu-Zienkiewicz version 1 aux noeuds"), ),
2987 _(u"Indicateur d'erreur de Zhu-Zienkiewicz version 1 par élément"), ),
2989 _(u"Contraintes lissées de Zhu-Zienkiewicz version 2 aux noeuds"), ),
2991 _(u"Indicateur d'erreur de Zhu-Zienkiewicz version 2 par élément"), ),
2993 _(u"Indicateur d'erreur en résidu en mécanique par élément"), ),
2995 _(u"Indicateur d'erreur en résidu en mécanique aux noeuds par élément"), ),
2997 _(u"Indicateur d'erreur en résidu en mécanique aux noeuds"), ),
2999 _(u"Indicateur d'erreur en quantités d'intérêt en résidu par élément"), ),
3001 _(u"Indicateur d'erreur en quantités d'intérêt en résidu aux noeuds par élément"), ),
3003 _(u"Indicateur d'erreur en quantités d'intérêt en résidu aux noeuds"), ),
3005 _(u"Indicateur d'erreur en quantités d'intérêt de Zhu-Zienkiewicz version 1 par élément"), ),
3007 _(u"Indicateur d'erreur en quantités d'intérêt de Zhu-Zienkiewicz version 2 par élément"), ),
3009 _(u"Degré de singularité par élément"), ),
3011 _(u"Degré de singularité aux noeuds par élément"), ),
3013 _(u"Indicateur d'erreur en résidu en thermique par élément"), ),
3015 _(u"Indicateur d'erreur en résidu en thermique aux noeuds par élément"), ),
3017 _(u"Indicateur d'erreur en résidu en thermique aux noeuds"), ),
3019 d['METALLURGIE'] = {
3021 _(u"Dureté aux noeuds par élément"), ),
3023 _(u"Dureté aux noeuds"), ),
3025 _(u"Proportion de phases métallurgiques aux noeuds par élément"), ),
3027 _(u"Proportion de phases métallurgiques aux noeuds"), ),
3029 d['DEPLACEMENT'] = {
3031 _(u"Accélération aux noeuds"), ),
3032 "ACCE_ABSOLU": ( (),
3033 _(u"Accélération absolue aux noeuds"), ),
3035 _(u"Déplacements aux noeuds"), ),
3036 "DEPL_ABSOLU": ( (),
3037 _(u"Déplacements absolus aux noeuds"), ),
3039 _(u"Efforts généralisés à partir des déplacements en linéaire aux points de Gauss"), ),
3041 _(u"Température aux noeuds"), ),
3043 _(u"Vitesse aux noeuds"), ),
3045 _(u"Statuts de contact"), ),
3047 _(u"Variables internes aux points de Gauss"), ),
3048 "VITE_ABSOLU": ( (),
3049 _(u"Vitesse absolue aux noeuds"), ),
3052 "COMPORTEMENT": ( (),
3053 _(u"Carte de comportement mécanique"), ),
3055 _(u"Carte de comportement thermique"), ),
3057 _(u"Déplacement pour mode vibratoire"), ),
3059 _(u"Déformation volumique en THM"), ),
3061 _(u"Déformations anélastique aux noeuds par élément"), ),
3063 _(u"Déformations anélastique aux noeuds"), ),
3064 "FERRAILLAGE": ( ("lin",),
3065 _(u"Densité de ferraillage"), ),
3067 _(u"Chargement de force surfacique en 2D"), ),
3069 _(u"Chargement de force surfacique en 3D"), ),
3071 _(u"Chargement de force volumique en 2D"), ),
3073 _(u"Chargement de force volumique en 3D"), ),
3075 _(u"Hydratation aux noeuds par élément"), ),
3077 _(u"Irradition aux noeuds"), ),
3079 _(u"Mode de flambement"), ),
3081 _(u"Mode de stabilité"), ),
3083 _(u"Variable de commande 'neutre'"), ),
3085 _(u"Chargement de pression"), ),
3087 _(u"Pression totale de fluide en THM"), ),
3089 _(u"Contraintes aux noeuds par sous-élément"), ),
3091 _(u"Valeurs maximum sur un sous-point"), ),
3093 _(u"Champ theta"), ),
3095 _(u"Chargement vitesse du vent"), ),
3097 for typ in ('ELGA', 'ELNO', 'ELEM', 'NOEU', 'CART'):
3098 for i in range(1, 11):
3099 d['AUTRES']['UT%02d_%s' % (i, typ)]=( (),
3100 _(u"Champ utilisateur numéro %02d_%s" % (i, typ)), )
3104 def CheckPhenom(self):
3105 """ Vérification de la cohérence entre les phenomènes et les clés
3107 l_keys = list(self.d_all.keys())
3108 l_phen = list(self.all_phenomenes)
3109 uniq_keys = set(l_keys)
3110 uniq_phen = set(l_phen)
3111 if len(l_keys) != len(uniq_keys) or len(l_phen) != len(uniq_phen) :
3112 for i in uniq_keys :
3114 assert len(l_keys) == 0, 'Keys must be unique: %s' % l_keys
3115 for i in uniq_phen :
3117 assert len(l_phen) == 0, 'Phenomenon must be unique: %s' % l_phen
3118 if len(l_keys) > len(l_phen) :
3121 assert len(l_keys) == 0, 'Key %s not listed in the list of phenomenons' % l_keys
3122 if len(l_keys) < len(l_phen) :
3125 assert len(l_phen) == 0, 'Phenomenon %s not known as a key' % l_phen
3128 def CheckField(self):
3129 """ Vérification des doublons dans les noms des champs
3132 for phen in self.all_phenomenes:
3133 l_cham.extend(self.d_all[phen].keys())
3135 if len(l_cham) != len(uniq):
3138 assert len(l_cham) == 0, 'Field names must be unique: %s' % l_cham
3141 def InfoChamps(self, l_nom_cham):
3142 """ on renvoie juste les informations relatives au(x) champ(s)
3144 d_cham = {}.fromkeys( l_nom_cham, ( '', '', '' ) )
3145 for nom_cham in l_nom_cham:
3146 for phen in self.all_phenomenes:
3147 for cham in self.d_all[phen].keys():
3148 if nom_cham == cham:
3149 cate = self.d_all[phen][cham][0]
3150 helptxt = self.d_all[phen][cham][1]
3151 d_cham[nom_cham] = ( phen, cate, helptxt )
3154 def Filtre(self, *l_typ_cham, **kwargs):
3155 """ Check des doublons
3157 phenomene = kwargs.get('phenomene')
3158 categorie = kwargs.get('categorie')
3159 # Construction de la liste des champs en tenant compte des eventuels filtre (phenomene, categorie, l_typ_cham)
3160 # ------------------------------------------------------------------------------------------------------------
3162 # Filtre par phenomene
3163 if phenomene is None:
3164 l_phen = self.all_phenomenes
3166 l_phen = [ phenomene ]
3168 # parcours de tous les champs
3169 for cham in self.d_all[phen].keys():
3171 # Filtre par categorie
3172 if categorie is not None:
3173 lcat = self.d_all[phen][cham][0]
3174 if type(lcat) not in (tuple, list):
3176 if categorie in lcat:
3183 # Filtre sur les types de champs
3184 if len(l_typ_cham) == 0:
3185 return tuple(l_cham)
3187 for typ in l_typ_cham :
3188 for cham in l_cham :
3189 if typ in cham.split('_'):
3190 l_ncham.append(cham)
3191 return tuple(l_ncham)
3195 # check les doublons (fonctionnalite developpeur permettant de detecter les doublons dans les champs)
3200 def __call__(self, *l_typ_cham, **kwargs):
3201 """Cette fonction retourne la liste des "into" possibles pour le mot-clé NOM_CHAM.
3202 C'est à dire les noms de champs des SD RESULTAT (DATA de la routine RSCRSD).
3203 l_typ_cham : rien ou un ou plusieurs parmi 'ELGA', 'ELNO', 'NOEU', 'ELEM'.
3204 kwargs : un dictionnaire de mot-cles, les cles parmis :
3205 'phenomene' : retourne la liste des champs en filtrant par le phenomene (eventuellement mixe avec le suivant)
3206 'categorie' : retourne la liste des champs en filtrant par le phenomene (eventuellement mixe avec le precedent)
3207 'l_nom_cham' : (une liste ou un string) retourne uniqement les informations relatives au champ precise en argument
3209 l_nom_cham = kwargs.get('l_nom_cham')
3210 if type(l_nom_cham) == str:
3211 l_nom_cham = [ l_nom_cham ]
3213 return self.InfoChamps(l_nom_cham)
3215 return self.Filtre(*l_typ_cham, **kwargs)
3218 C_NOM_CHAM_INTO = NOM_CHAM_INTO()
3220 # person_in_charge: xavier.desroches at edf.fr
3221 # ======================================================================
3222 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
3223 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3224 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3225 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
3226 # (AT YOUR OPTION) ANY LATER VERSION.
3228 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
3229 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
3230 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
3231 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
3233 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
3234 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
3235 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
3236 # ======================================================================
3237 # ce fichier contient la liste des noms des grandeurs de CODE_ASTER
3238 def C_NOM_GRANDEUR() : return ( #COMMUN#
3372 # ======================================================================
3373 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
3374 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3375 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3376 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
3377 # (AT YOUR OPTION) ANY LATER VERSION.
3379 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
3380 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
3381 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
3382 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
3384 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
3385 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
3386 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
3387 # ======================================================================
3388 # person_in_charge: mickael.abbas at edf.fr
3390 def C_OBSERVATION() : return FACT(statut='f',max=99,
3391 TITRE =SIMP(statut='f',typ='TXM',max=1),
3392 NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,
3393 into=("VALE_CONT","FORC_NODA",
3394 "DEPL","VITE","ACCE","TEMP",
3395 "SIEF_ELGA","VARI_ELGA",
3396 "DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU",)),
3398 EVAL_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,defaut='VALE',
3399 into=("MIN","MAX","MOY","MAXI_ABS","MINI_ABS","VALE",),),
3401 NOM_CMP =SIMP(statut='o',typ='TXM',max=20),
3402 EVAL_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,defaut='VALE',
3403 into=("VALE","FORMULE",),),
3405 b_formule =BLOC(condition="(EVAL_CMP=='FORMULE')",
3406 FORMULE = SIMP(statut='o',typ=formule,max=1),
3409 b_cham_no =BLOC(condition="(NOM_CHAM=='DEPL') or \
3410 (NOM_CHAM=='VITE') or \
3411 (NOM_CHAM=='ACCE') or \
3412 (NOM_CHAM=='TEMP') or \
3413 (NOM_CHAM=='FORC_NODA') or \
3414 (NOM_CHAM=='VALE_CONT') or \
3415 (NOM_CHAM=='DEPL_ABSOLU') or \
3416 (NOM_CHAM=='VITE_ABSOLU') or \
3417 (NOM_CHAM=='ACCE_ABSOLU')",
3418 regles =(UN_PARMI('NOEUD','GROUP_NO','GROUP_MA','MAILLE','TOUT')),
3419 TOUT =SIMP(statut='d',typ='TXM',into=("OUI",) ),
3420 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
3421 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
3422 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
3423 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
3427 b_cham_elga =BLOC(condition="(NOM_CHAM=='SIEF_ELGA') or \
3428 (NOM_CHAM=='VARI_ELGA')",
3429 regles =(UN_PARMI('GROUP_MA','MAILLE','TOUT')),
3430 TOUT =SIMP(statut='d',typ='TXM',into=("OUI",) ),
3431 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
3432 GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
3433 EVAL_ELGA =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,defaut='VALE',
3434 into=("MIN","MAX","VALE",),),
3435 b_elga_vale =BLOC(condition="(EVAL_ELGA=='VALE')",
3436 POINT =SIMP(statut='o',typ='I' ,validators=NoRepeat(),max='**'),
3437 SOUS_POINT =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'),
3441 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
3442 LIST_INST =SIMP(statut='f',typ=listr8_sdaster),
3443 PAS_OBSE =SIMP(statut='f',typ='I'),
3444 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
3445 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
3446 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
3447 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
3448 PRECISION =SIMP(statut='o',typ='R',),),
3453 # person_in_charge: mathieu.courtois at edf.fr
3454 # ======================================================================
3455 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
3456 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3457 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3458 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
3459 # (AT YOUR OPTION) ANY LATER VERSION.
3461 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
3462 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
3463 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
3464 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
3466 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
3467 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
3468 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
3469 # ======================================================================
3470 # ce fichier contient la liste des PARA possibles pour les fonctions et les nappes
3471 def C_PARA_FONCTION() : return ( #COMMUN#
3472 "DX","DY","DZ","DRX","DRY","DRZ","TEMP","TSEC",
3473 "INST","X","Y","Z","EPSI","META","FREQ","PULS","DSP",
3474 "AMOR","ABSC","ABSC_CURV","SIGM","HYDR","SECH","PORO","SAT",
3475 "PGAZ","PCAP","PLIQ","PVAP","PAD","VITE","ENDO",
3476 "NORM","EPAIS","NEUT1","NEUT2",)
3478 # ======================================================================
3479 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
3480 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3481 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3482 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
3483 # (AT YOUR OPTION) ANY LATER VERSION.
3485 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
3486 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
3487 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
3488 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
3490 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
3491 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
3492 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
3493 # ======================================================================
3494 # person_in_charge: kyrylo.kazymyrenko at edf.fr
3495 def C_PILOTAGE() : return FACT(statut='f',
3496 regles=(EXCLUS('NOEUD','GROUP_NO'),PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
3497 TYPE =SIMP(statut='o',typ='TXM',into=("DDL_IMPO","LONG_ARC","PRED_ELAS","DEFORMATION",
3498 "ANA_LIM","SAUT_IMPO","SAUT_LONG_ARC") ),
3499 COEF_MULT =SIMP(statut='f',typ='R',defaut= 1.0E+0),
3500 EVOL_PARA =SIMP(statut='f',typ='TXM',defaut="SANS", into=("SANS","CROISSANT","DECROISSANT") ),
3501 ETA_PILO_MAX =SIMP(statut='f',typ='R'),
3502 ETA_PILO_MIN =SIMP(statut='f',typ='R'),
3503 ETA_PILO_R_MAX=SIMP(statut='f',typ='R'),
3504 ETA_PILO_R_MIN=SIMP(statut='f',typ='R'),
3505 PROJ_BORNES =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
3506 SELECTION =SIMP(statut='f',typ='TXM',defaut="NORM_INCR_DEPL",
3507 into=("RESIDU","MIXTE","ANGL_INCR_DEPL","NORM_INCR_DEPL")),
3508 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
3509 GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
3510 FISSURE =SIMP(statut='f',typ=fiss_xfem ,validators=NoRepeat(),max='**'),
3511 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
3512 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
3513 GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
3514 NOM_CMP =SIMP(statut='f',typ='TXM',max='**'),
3515 DIRE_PILO =SIMP(statut='f',typ='TXM',max='**'),
3518 # ======================================================================
3519 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
3520 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3521 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3522 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
3523 # (AT YOUR OPTION) ANY LATER VERSION.
3525 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
3526 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
3527 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
3528 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
3530 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
3531 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
3532 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
3533 # ======================================================================
3534 # person_in_charge: mickael.abbas at edf.fr
3535 def C_RECH_LINEAIRE() : return FACT(statut='f',
3536 METHODE =SIMP(statut='f',typ='TXM',defaut="CORDE",into=("CORDE","MIXTE","PILOTAGE") ),
3537 RESI_LINE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-1 ),
3538 ITER_LINE_MAXI =SIMP(statut='f',typ='I',defaut= 3,val_max=999),
3539 RHO_MIN =SIMP(statut='f',typ='R',defaut=1.0E-2),
3540 RHO_MAX =SIMP(statut='f',typ='R',defaut=1.0E+1),
3541 RHO_EXCL =SIMP(statut='f',typ='R',defaut=0.9E-2,val_min=0.),
3544 # ======================================================================
3545 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
3546 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3547 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3548 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
3549 # (AT YOUR OPTION) ANY LATER VERSION.
3551 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
3552 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
3553 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
3554 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
3556 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
3557 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
3558 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
3559 # ======================================================================
3560 # person_in_charge: jean-michel.proix@edf.fr
3562 def C_RELATION( COMMAND ):
3564 if COMMAND in ('CALC_G',):
3565 return ( "ELAS", #COMMUN#
3572 # relations interdites depuis issue21711, elles
3573 # devront etre introduites dans le F90 si besoin
3577 elif COMMAND in ('MACR_ASCOUF_CALC','MACR_ASPIC_CALC',):
3582 elif COMMAND =='DEFI_COMPOR' :
3583 return ( "ELAS", #uniquement ce qui a du sens (cf doc) et qui fait l'objet d'un test
3753 # ======================================================================
3754 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
3755 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
3756 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
3757 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
3758 # (AT YOUR OPTION) ANY LATER VERSION.
3760 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
3761 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
3762 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
3763 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
3765 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
3766 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
3767 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
3768 # ======================================================================
3769 # person_in_charge: olivier.boiteau at edf.fr
3771 def C_SOLVEUR( COMMAND, BASE=None ) : #COMMUN#
3773 # ----------------------------------------------------------------------------------------------------------------------------------
3777 # ----------------------------------------------------------------------------------------------------------------------------------
3779 assert COMMAND in ('CALC_ERREUR',
3793 'MACRO_BASCULE_SCHEMA',
3807 assert COMMAND == 'DYNA_LINE_HARM'
3808 assert BASE in ('GENE','PHYS')
3810 # ----------------------------------------------------------------------------------------------------------------------------------
3812 # CLASSIFICATION EN 3 CATEGORIES :
3813 # - solveurs directs uniquement
3814 # - solveurs pour le linéaire
3815 # - solveurs pour le non-linéaire
3817 # GESTION DES EXCEPTIONS
3819 # ----------------------------------------------------------------------------------------------------------------------------------
3823 # Classification ('SD'/'LIN'/'NL')
3824 if COMMAND in ('CREA_ELEM_SSD',
3833 elif COMMAND in ('CALC_ERREUR',
3844 elif COMMAND in ('CALC_IFS_DNL',
3849 'MACRO_BASCULE_SCHEMA',
3858 # ----------------------------------------------------------------------------------------------------------------------------------
3862 # MATR_DISTRIBUEE ne fonctionnent que dans MECA_STATIQUE et MECA_NON_LINE
3863 if COMMAND in ('CALC_IFS_DNL',
3868 'MACRO_BASCULE_SCHEMA',
3874 # ----------------------------------------------------------------------------------------------------------------------------------
3879 # Avec des matrices généralisées, MULT_FRONT n'est pas permis, LDLT est donc par défaut
3884 # LDLT est le solveur par défaut dans DYNA_TRAN_MODAL (systèmes linéaires petits)
3885 if COMMAND == 'DYNA_TRAN_MODAL':
3888 # ----------------------------------------------------------------------------------------------------------------------------------
3892 # Seuls les opérateurs non-linéaires produisent des matrices non-symétriques
3895 if COMMAND == 'THER_NON_LINE_MO':
3898 # ----------------------------------------------------------------------------------------------------------------------------------
3905 # Avec les solveurs modaux STOP_SINGULIER n'existe pas, de plus RCMK n'est pas disponible
3906 if COMMAND in ('INFO_MODE','MODE_ITER_INV','MODE_ITER_SIMULT'):
3910 # Dans INFO_MODE on ne fait que factoriser
3911 if COMMAND == 'INFO_MODE':
3914 # ----------------------------------------------------------------------------------------------------------------------------------
3918 # Dans DEFI_BASE_MODALE, NON est le défaut de STOP_SINGULIER
3919 if COMMAND == 'DEFI_BASE_MODALE':
3922 # ----------------------------------------------------------------------------------------------------------------------------------
3926 # ----------------------------------------------------------------------------------------------------------------------------------
3946 # ----------------------------------------------------------------------------------------------------------------------------------
3948 # MOT-CLES SIMPLES : METHODE
3951 # ----------------------------------------------------------------------------------------------------------------------------------
3957 _defaut = "MULT_FRONT"
3960 _into = ("MULT_FRONT", "LDLT", "MUMPS", )
3962 _into = ("LDLT", "MUMPS", )
3964 _into = ("MULT_FRONT", "LDLT", "MUMPS", "GCPC", "PETSC", )
3966 if COMMAND =='MODE_NON_LINE':
3970 _MotCleSimples['METHODE'] = SIMP(statut='f', typ='TXM', defaut=_defaut, into=_into, )
3972 # ----------------------------------------------------------------------------------------------------------------------------------
3976 _MotCleSimples['SYME'] = SIMP(statut='f', typ='TXM', defaut="NON", into=("OUI", "NON", ), )
3978 # ----------------------------------------------------------------------------------------------------------------------------------
3980 # MULT_FRONT/LDLT/MUMPS (RENUM/NPREC/STOP_SINGULIER)
3982 # ----------------------------------------------------------------------------------------------------------------------------------
3985 _BlocMF['RENUM'] = SIMP(statut='f', typ='TXM', defaut="METIS", into=("MD", "MDA", "METIS", ), )
3988 _into = ("RCMK", "SANS", )
3994 _BlocLD['RENUM'] = SIMP(statut='f', typ='TXM', defaut=_defaut, into=_into, )
3996 _BlocMU['RENUM'] = SIMP(statut='f', typ='TXM', defaut="AUTO", into=("AMD", "AMF", "PORD", "METIS", "QAMD", "SCOTCH", "AUTO", ), )
3998 # ----------------------------------------------------------------------------------------------------------------------------------
4000 _BlocMF['NPREC'] = SIMP(statut='f', typ='I', defaut=8, )
4001 _BlocLD['NPREC'] = SIMP(statut='f', typ='I', defaut=8, )
4002 _BlocMU['NPREC'] = SIMP(statut='f', typ='I', defaut=8, )
4004 # ----------------------------------------------------------------------------------------------------------------------------------
4008 _BlocPE['ELIM_LAGR' ] = SIMP(statut='f', typ='TXM', defaut="NON" , into=("OUI", "NON"), )
4009 _BlocMF['ELIM_LAGR' ] = SIMP(statut='f', typ='TXM', defaut="NON" , into=("OUI", "NON"), )
4010 _BlocLD['ELIM_LAGR' ] = SIMP(statut='f', typ='TXM', defaut="NON" , into=("OUI", "NON"), )
4011 _BlocMU['ELIM_LAGR' ] = SIMP(statut='f', typ='TXM', defaut="LAGR2" , into=("OUI", "NON", "LAGR2"), )
4013 _BlocMU['ELIM_LAGR' ] = SIMP(statut='f', typ='TXM', defaut="LAGR2" , into=("NON", "LAGR2"), )
4016 # ----------------------------------------------------------------------------------------------------------------------------------
4018 _into = ("OUI", "NON", )
4025 _BlocMF['STOP_SINGULIER'] = SIMP(statut='f', typ='TXM', defaut=_defaut, into=_into, )
4026 _BlocLD['STOP_SINGULIER'] = SIMP(statut='f', typ='TXM', defaut=_defaut, into=_into, )
4027 _BlocMU['STOP_SINGULIER'] = SIMP(statut='f', typ='TXM', defaut=_defaut, into=_into, )
4029 # ----------------------------------------------------------------------------------------------------------------------------------
4031 # MUMPS (MOT-CLES RESTANT)
4033 # ----------------------------------------------------------------------------------------------------------------------------------
4035 _BlocMU['TYPE_RESOL' ] = SIMP(statut='f', typ='TXM', defaut="AUTO", into=("NONSYM", "SYMGEN", "SYMDEF", "AUTO", ), )
4037 # ----------------------------------------------------------------------------------------------------------------------------------
4039 _BlocMU['PRETRAITEMENTS' ] = SIMP(statut='f', typ='TXM', defaut="AUTO", into=("SANS", "AUTO", ), )
4041 # ----------------------------------------------------------------------------------------------------------------------------------
4044 _BlocMU['POSTTRAITEMENTS'] = SIMP(statut='f', typ='TXM', defaut="AUTO", into=("SANS", "AUTO", "FORCE", ), )
4046 # ----------------------------------------------------------------------------------------------------------------------------------
4048 _BlocMU['PCENT_PIVOT' ] = SIMP(statut='f', typ='I' , defaut=20, val_min=1, )
4050 # ----------------------------------------------------------------------------------------------------------------------------------
4054 _BlocMU['RESI_RELA'] = SIMP(statut='f', typ='R', defaut=1.0E-6, )
4056 _BlocMU['RESI_RELA'] = SIMP(statut='f', typ='R', defaut=-1.0, )
4058 # ----------------------------------------------------------------------------------------------------------------------------------
4060 _BlocMU['GESTION_MEMOIRE'] = SIMP(statut='f', typ='TXM', defaut="AUTO", into=("IN_CORE", "OUT_OF_CORE", "AUTO", "EVAL"), )
4062 # ----------------------------------------------------------------------------------------------------------------------------------
4065 _BlocMU['FILTRAGE_MATRICE'] = SIMP(statut='f', typ='R' , defaut=-1.0, )
4066 _BlocMU['MIXER_PRECISION' ] = SIMP(statut='f', typ='TXM', defaut="NON", into=("OUI", "NON", ), )
4068 # ----------------------------------------------------------------------------------------------------------------------------------
4071 _BlocMU['MATR_DISTRIBUEE' ] = SIMP(statut='f', typ='TXM', defaut="NON", into=("OUI", "NON", ), )
4072 _BlocPE['MATR_DISTRIBUEE' ] = SIMP(statut='f', typ='TXM', defaut="NON", into=("OUI", "NON", ), )
4074 # ----------------------------------------------------------------------------------------------------------------------------------
4078 # ----------------------------------------------------------------------------------------------------------------------------------
4080 _BlocPE['ALGORITHME'] = SIMP(statut='f', typ='TXM', defaut="GMRES", into=("CG", "CR", "GMRES", "GCR", ), )
4082 # ----------------------------------------------------------------------------------------------------------------------------------
4084 _BlocGC['PRE_COND'] = SIMP(statut='f', typ='TXM', defaut="LDLT_INC", into=("LDLT_INC", "LDLT_SP", ), )
4085 _BlocPE['PRE_COND'] = SIMP(statut='f', typ='TXM', defaut="LDLT_SP" ,
4086 into=("LDLT_INC", "LDLT_SP", "JACOBI", "SOR", "ML", "BOOMER", "SANS", ), )
4088 # ----------------------------------------------------------------------------------------------------------------------------------
4090 _BlocGC['RESI_RELA'] = SIMP(statut='f', typ='R', defaut= 1.E-6, )
4091 _BlocPE['RESI_RELA'] = SIMP(statut='f', typ='R', defaut= 1.E-6, )
4093 # ----------------------------------------------------------------------------------------------------------------------------------
4095 _BlocGC['NMAX_ITER'] = SIMP(statut='f', typ='I', defaut= 0, )
4096 _BlocPE['NMAX_ITER'] = SIMP(statut='f', typ='I', defaut= 0, )
4098 # ----------------------------------------------------------------------------------------------------------------------------------
4099 # Mot-cle cache pour desactiver le critere en norme non preconditionnee dans PETSC
4102 _BlocPE['RESI_RELA_PC'] = SIMP(statut='c', typ='R', defaut= -1.0, )
4104 _BlocPE['RESI_RELA_PC'] = SIMP(statut='c', typ='R', defaut= 0.0, )
4106 # ----------------------------------------------------------------------------------------------------------------------------------
4108 _BlocGC_INC['RENUM'] = SIMP(statut='f', typ='TXM', defaut="RCMK", into=("SANS","RCMK"), )
4109 _BlocPE_INC['RENUM'] = SIMP(statut='f', typ='TXM', defaut="RCMK", into=("SANS","RCMK"), )
4111 # ----------------------------------------------------------------------------------------------------------------------------------
4113 _BlocGC_INC['NIVE_REMPLISSAGE'] = SIMP(statut='f', typ='I', defaut= 0, )
4114 _BlocPE_INC['NIVE_REMPLISSAGE'] = SIMP(statut='f', typ='I', defaut= 0, )
4116 # ----------------------------------------------------------------------------------------------------------------------------------
4118 _BlocPE_INC['REMPLISSAGE'] = SIMP(statut='f', typ='R', defaut= 1.0, )
4120 # ----------------------------------------------------------------------------------------------------------------------------------
4122 _BlocXX_SP['RENUM'] = SIMP(statut='f', typ='TXM', defaut="SANS", into=("SANS",), )
4123 _BlocXX_SP['REAC_PRECOND'] = SIMP(statut='f', typ='I', defaut=30, )
4124 _BlocXX_SP['PCENT_PIVOT' ] = SIMP(statut='f', typ='I', defaut=20, val_min=1, )
4126 # ----------------------------------------------------------------------------------------------------------------------------------
4128 _BlocPE_ML['RENUM'] = SIMP(statut='f', typ='TXM', defaut="SANS", into=("SANS",), )
4130 # ----------------------------------------------------------------------------------------------------------------------------------
4132 _BlocPE_BOOMER['RENUM'] = SIMP(statut='f', typ='TXM', defaut="SANS", into=("SANS",), )
4134 # ----------------------------------------------------------------------------------------------------------------------------------
4136 _BlocXX_Autres['RENUM'] = SIMP(statut='f', typ='TXM', defaut="SANS", into=("SANS","RCMK", ), )
4139 # ----------------------------------------------------------------------------------------------------------------------------------
4141 # PREPARATION DU MOT-CLE FACTEUR
4143 # ----------------------------------------------------------------------------------------------------------------------------------
4145 mcfact = FACT(statut='d',
4146 b_mult_front = BLOC(condition = "METHODE == 'MULT_FRONT' ",
4147 fr="Paramètres de la méthode multi frontale",
4150 b_ldlt = BLOC(condition = "METHODE == 'LDLT' ",
4151 fr="Paramètres de la méthode LDLT",
4154 b_mumps = BLOC(condition = "METHODE == 'MUMPS' ",
4155 fr="Paramètres de la méthode MUMPS",
4158 b_gcpc = BLOC(condition = "METHODE == 'GCPC' ",
4159 fr="Paramètres de la méthode du gradient conjugué",
4160 b_ldltinc = BLOC(condition = "PRE_COND == 'LDLT_INC' ",
4161 fr="Paramètres de la factorisation incomplète",
4164 b_simple = BLOC(condition = "PRE_COND == 'LDLT_SP' ",
4165 fr="Paramètres de la factorisation simple précision",
4170 b_petsc = BLOC(condition = "METHODE == 'PETSC' ",
4171 fr="Paramètres de la méthode PETSC",
4172 b_ldltinc = BLOC(condition = "PRE_COND == 'LDLT_INC' ",
4173 fr="Paramètres de la factorisation incomplète",
4176 b_simple = BLOC(condition = "PRE_COND == 'LDLT_SP' ",
4177 fr="Paramètres de la factorisation simple précision",
4180 b_ml = BLOC(condition = "PRE_COND == 'ML' ",
4181 fr="Paramètres du multigrille algébrique ML",
4184 b_boomer = BLOC(condition = "PRE_COND == 'BOOMER' ",
4185 fr="Paramètres du multigrille algébrique HYPRE",
4188 b_autres = BLOC(condition = "PRE_COND == 'JACOBI' or \
4189 PRE_COND == 'SOR' or \
4190 PRE_COND == 'SANS'",
4200 # ======================================================================
4201 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
4202 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4203 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4204 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
4205 # (AT YOUR OPTION) ANY LATER VERSION.
4207 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
4208 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
4209 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
4210 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
4212 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
4213 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
4214 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
4215 # ======================================================================
4216 # person_in_charge: mickael.abbas at edf.fr
4218 def C_SUIVI_DDL() : return FACT(statut='f',max=4,
4220 NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,
4221 into=("DEPL","VITE","ACCE",
4223 "SIEF_ELGA","VARI_ELGA",)),
4225 EVAL_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,defaut='VALE',
4226 into=("MIN","MAX","MOY","MAXI_ABS","MINI_ABS","VALE",),),
4228 NOM_CMP =SIMP(statut='o',typ='TXM',max=20),
4229 EVAL_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,defaut='VALE',
4230 into=("VALE","FORMULE",),),
4232 b_formule =BLOC(condition="(EVAL_CMP=='FORMULE')",
4233 FORMULE = SIMP(statut='o',typ=formule,max=1),
4236 b_cham_no =BLOC(condition="(NOM_CHAM=='DEPL') or \
4237 (NOM_CHAM=='VITE') or \
4238 (NOM_CHAM=='ACCE') or \
4239 (NOM_CHAM=='FORC_NODA') or \
4240 (NOM_CHAM=='VALE_CONT')",
4241 regles =(UN_PARMI('NOEUD','GROUP_NO','GROUP_MA','MAILLE','TOUT')),
4242 TOUT =SIMP(statut='d',typ='TXM',into=("OUI",) ),
4243 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
4244 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4245 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4246 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4249 b_cham_elga =BLOC(condition="(NOM_CHAM=='SIEF_ELGA') or \
4250 (NOM_CHAM=='VARI_ELGA')",
4251 regles =(UN_PARMI('GROUP_MA','MAILLE','TOUT')),
4252 TOUT =SIMP(statut='d',typ='TXM',into=("OUI",) ),
4253 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4254 GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
4255 EVAL_ELGA =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,defaut='VALE',
4256 into=("MIN","MAX","VALE",),),
4257 b_elga_vale =BLOC(condition="(EVAL_ELGA=='VALE')",
4258 POINT =SIMP(statut='o',typ='I' ,validators=NoRepeat(),max='**'),
4259 SOUS_POINT =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'),
4263 TITRE = SIMP(statut='f',typ='TXM',max=3),
4268 # ======================================================================
4269 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
4270 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4271 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4272 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
4273 # (AT YOUR OPTION) ANY LATER VERSION.
4275 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
4276 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
4277 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
4278 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
4280 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
4281 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
4282 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
4283 # ======================================================================
4284 # person_in_charge: mathieu.courtois at edf.fr
4285 def C_TEST_REFERENCE(keyword, max=1): #COMMUN#
4286 """Mots-clés communs pour TEST_RESU, TEST_TABLE, TEST_FONCTION.
4287 On retourne un bloc pour ajouter la règle UN_PARMI."""
4288 assert keyword in ('CHAM_NO', 'CHAM_ELEM', 'CARTE', 'RESU', 'GENE', 'OBJET',
4289 'TABLE', 'FONCTION', 'FICHIER')
4290 with_int = keyword not in ('FONCTION', 'FICHIER')
4291 with_complex = keyword not in ('OBJET', 'FICHIER')
4292 with_string = keyword in ('FICHIER', 'TABLE')
4293 vale_abs = keyword not in ('CARTE', 'FICHIER')
4294 type_test = keyword not in ('CARTE', 'GENE', 'OBJET')
4295 multi_prec = keyword in ('RESU', 'GENE')
4296 reference = keyword not in ('FICHIER', )
4297 un_parmi = keyword not in ('FICHIER', )
4303 ttyp = typ == 'K' and 'TXM' or typ
4304 types.append('_' + typ)
4305 opts['VALE_CALC_' + typ] = SIMP(statut='f',typ=ttyp,max=max)
4306 opts_ref['VALE_REFE_' + typ] = SIMP(statut='f',typ=ttyp,max=max)
4314 opts['VALE_ABS'] = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"))
4316 opts['TYPE_TEST'] = SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN"))
4318 opts['TOLE_MACHINE'] = SIMP(statut='f',typ='R',defaut=1.e-6)
4319 opts['CRITERE'] = SIMP(statut='f',typ='TXM',defaut='RELATIF',into=("RELATIF","ABSOLU"))
4321 opts['TOLE_MACHINE'] = SIMP(statut='f',typ='R',max=2)
4322 opts['CRITERE'] = SIMP(statut='f',typ='TXM',max=2,into=("RELATIF","ABSOLU"))
4324 opts['regles'] = (UN_PARMI(*['VALE_CALC' + t for t in types]))
4325 opts_ref['regles'] = (UN_PARMI(*['VALE_REFE' + t for t in types]))
4327 opts['b_reference'] = BLOC(condition = "REFERENCE != None",
4328 VALE_REFE = SIMP(statut='f',typ='R',max=max),
4329 PRECISION = SIMP(statut='f',typ='R',defaut=1.e-3),
4331 opts['REFERENCE'] = SIMP(statut='f',typ='TXM',
4332 into=("ANALYTIQUE","SOURCE_EXTERNE","AUTRE_ASTER","NON_DEFINI"))
4334 'b_values' : BLOC(condition = "True",
4335 VALE_CALC = SIMP(statut='f',typ='R',max=max),
4336 LEGENDE = SIMP(statut='f',typ='TXM'),
4342 # ======================================================================
4343 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
4344 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4345 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4346 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
4347 # (AT YOUR OPTION) ANY LATER VERSION.
4349 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
4350 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
4351 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
4352 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
4354 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
4355 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
4356 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
4357 # ======================================================================
4358 # person_in_charge: gerald.nicolas at edf.fr
4360 # ce fichier contient la liste des "into" possibles pour le mot cle TYPE_CHAM
4361 def C_TYPE_CHAM_INTO( type_cham=None ) : #COMMUN#
4362 # Si aucun argument n'est passe, on utilise tous les types de champs possibles
4363 if ( type_cham is None ) :
4364 l_cham = ["ELEM", "ELNO", "ELGA", "CART", "NOEU"]
4365 # Sinon, on n'utilise que les types passes en argument
4368 for typ in type_cham :
4372 for gd in C_NOM_GRANDEUR() :
4375 l.append(typ+"_"+gd)
4377 # il ne peut pas exister NOEU_VARI_R ni CART_VARI_R (il faut utiliser VAR2_R):
4379 if typ not in ("CART", "NOEU") :
4380 l.append(typ+"_"+gd)
4384 # ======================================================================
4385 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
4386 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4387 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4388 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
4389 # (AT YOUR OPTION) ANY LATER VERSION.
4391 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
4392 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
4393 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
4394 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
4396 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
4397 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
4398 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
4399 # ======================================================================
4400 # person_in_charge: jean-luc.flejou at edf.fr
4401 AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op= 19,sd_prod=cara_elem,
4402 fr="Affectation de caracteristiques a des elements de structure",
4404 UIinfo ={"groupes":("Modélisation",)},
4405 regles = (AU_MOINS_UN('POUTRE','BARRE','COQUE','CABLE','DISCRET','DISCRET_2D','MASSIF',
4406 'GRILLE','MEMBRANE','MULTIFIBRE','RIGI_PARASOL'),
4407 PRESENT_PRESENT('MULTIFIBRE','GEOM_FIBRE'),
4408 EXCLUS('DISCRET','DISCRET_2D'),),
4409 MODELE = SIMP(statut='o',typ=modele_sdaster ),
4410 INFO = SIMP(statut='f',typ='I', defaut= 1 ,into=(1,2) ),
4411 VERIF = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("MAILLE","NOEUD") ),
4413 # ============================================================================
4414 POUTRE = FACT(statut= 'f',max= '**',
4415 regles = (UN_PARMI('MAILLE','GROUP_MA'),),
4416 MAILLE = SIMP(statut= 'f',typ= ma ,validators= NoRepeat(),max= '**'),
4417 GROUP_MA = SIMP(statut= 'f',typ= grma,validators= NoRepeat(),max= '**'),
4418 SECTION = SIMP(statut= 'o',typ= 'TXM' ,into= ("GENERALE","RECTANGLE","CERCLE") ),
4419 b_generale = BLOC(condition = " SECTION == 'GENERALE'",
4420 VARI_SECT = SIMP(statut= 'f',typ= 'TXM',into= ("CONSTANT","HOMOTHETIQUE"),defaut= "CONSTANT"),
4421 b_constant = BLOC(condition = "VARI_SECT == 'CONSTANT'",
4422 regles = (PRESENT_ABSENT('TABLE_CARA','CARA'),
4423 PRESENT_PRESENT('TABLE_CARA','NOM_SEC'),PRESENT_PRESENT('CARA','VALE')),
4424 TABLE_CARA = SIMP(statut= 'f',typ=table_sdaster),
4425 NOM_SEC = SIMP(statut= 'f',typ= 'TXM'),
4426 CARA = SIMP(statut= 'f',typ= 'TXM',validators= NoRepeat(),min= 4 ,max= 15,
4427 fr= "A,IY,IZ,JX sont des paramètres obligatoires",
4428 into= ("A","IY","IZ","AY","AZ","EY","EZ","JX","RY","RZ","RT",
4429 "JG","IYR2","IZR2","AI") ),
4430 VALE = SIMP(statut= 'f',typ= 'R',min= 4 ,max= 15), ),
4431 b_homothetique = BLOC(condition = "VARI_SECT == 'HOMOTHETIQUE'",
4432 CARA = SIMP(statut= 'o',typ= 'TXM',validators= NoRepeat(),min= 8 ,max= 30,
4433 fr= "A1,A2,IY1,IY2,IZ1,IZ2,JX1,JX2 sont des paramètres obligatoires",
4434 into= ("A1","IY1","IZ1","AY1","AZ1","EY1","EZ1","JX1","RY1",
4435 "RZ1","RT1","JG1","IYR21","IZR21","AI1",
4436 "A2","IY2","IZ2","AY2","AZ2","EY2","EZ2","JX2","RY2",
4437 "RZ2","RT2","JG2","IYR22","IZR22","AI2") ),
4438 VALE = SIMP(statut= 'o',typ= 'R',min= 8 ,max= 30),),
4440 b_rectangle = BLOC(condition = "SECTION == 'RECTANGLE'",
4441 VARI_SECT = SIMP(statut= 'f',typ= 'TXM',into= ("CONSTANT","HOMOTHETIQUE","AFFINE"),defaut= "CONSTANT"),
4442 b_constant = BLOC(condition = "VARI_SECT == 'CONSTANT'",
4443 CARA = SIMP(statut= 'o',typ= 'TXM',validators= NoRepeat(),min= 1 ,max= 4,
4444 into= ("H","EP", "HY","HZ","EPY","EPZ") ),
4445 VALE = SIMP(statut= 'o',typ= 'R',min= 1 ,max= 4), ),
4446 b_homothetique = BLOC(condition = "VARI_SECT == 'HOMOTHETIQUE'",
4447 CARA = SIMP(statut= 'o',typ= 'TXM',validators= NoRepeat(),min= 2 ,max= 8,
4448 into= ("H1","HZ1","HY1","EP1","EPY1","EPZ1",
4449 "H2","HZ2","HY2","EP2","EPY2","EPZ2") ),
4450 VALE = SIMP(statut= 'o',typ= 'R',min= 2 ,max= 8), ),
4451 b_affine = BLOC(condition = "VARI_SECT == 'AFFINE'",
4452 CARA = SIMP(statut= 'o',typ= 'TXM',validators= NoRepeat(),min= 3 ,max= 6,
4453 into= ("HY","EPY", "HZ1","EPZ1","HZ2","EPZ2") ),
4454 VALE = SIMP(statut= 'o',typ= 'R',min= 3 ,max= 6), ),
4456 b_cercle = BLOC(condition = " SECTION == 'CERCLE'",
4457 VARI_SECT = SIMP(statut= 'f',typ= 'TXM',into= ("CONSTANT","HOMOTHETIQUE"),defaut= "CONSTANT"),
4458 b_constant = BLOC(condition = "VARI_SECT == 'CONSTANT'",
4459 CARA = SIMP(statut= 'o',typ= 'TXM',validators= NoRepeat(),min= 1 ,max= 2,
4460 fr= "R est un paramètre obligatoire",
4462 VALE = SIMP(statut= 'o',typ= 'R',min= 1 ,max= 2), ),
4463 b_homothetique = BLOC(condition = "VARI_SECT == 'HOMOTHETIQUE'",
4464 CARA = SIMP(statut= 'o',typ= 'TXM',validators= NoRepeat(),min= 2 ,max= 4,
4465 fr= "R1, R2 sont des paramètres obligatoires",
4466 into= ("R1","R2","EP1","EP2") ),
4467 VALE = SIMP(statut= 'o',typ= 'R',min= 2 ,max= 4), ),
4468 MODI_METRIQUE = SIMP(statut= 'f',typ= 'TXM',defaut= "NON",into= ("OUI","NON") ),
4469 FCX = SIMP(statut= 'f',typ= (fonction_sdaster,nappe_sdaster,formule) ),
4470 TUYAU_NSEC = SIMP(statut= 'f',typ= 'I',val_max= 32,defaut= 16),
4471 TUYAU_NCOU = SIMP(statut= 'f',typ= 'I',val_max= 10,defaut= 3),
4475 # ============================================================================
4476 BARRE = FACT(statut='f',max='**',
4477 regles = (UN_PARMI('MAILLE','GROUP_MA'),),
4478 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4479 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4480 SECTION = SIMP(statut='o',typ='TXM',into=("GENERALE","RECTANGLE","CERCLE") ),
4481 b_generale = BLOC(condition = "SECTION=='GENERALE'",
4482 regles = (PRESENT_ABSENT('TABLE_CARA','CARA'),
4483 PRESENT_PRESENT('TABLE_CARA','NOM_SEC'),PRESENT_PRESENT('CARA','VALE')),
4484 TABLE_CARA = SIMP(statut= 'f',typ=table_sdaster),
4485 NOM_SEC = SIMP(statut= 'f',typ= 'TXM'),
4486 CARA = SIMP(statut='f',typ='TXM',into=("A",) ),
4487 VALE = SIMP(statut='f',typ='R',min=1,max=1 ), ),
4488 b_rectangle = BLOC(condition = "SECTION=='RECTANGLE'",
4489 CARA = SIMP(statut='o',typ='TXM',
4490 into=("H","EP","HZ","HY","EPY","EPZ"),
4491 validators=NoRepeat(),min=1,max=4 ),
4492 VALE = SIMP(statut='o',typ='R',min=1,max=4 ), ),
4493 b_cercle = BLOC(condition = "SECTION=='CERCLE'",
4494 CARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=2,into=("R","EP") ),
4495 VALE = SIMP(statut='o',typ='R',min=1,max=2 ), ),
4496 FCX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
4499 # ============================================================================
4500 COQUE = FACT(statut='f',max='**',
4501 regles = (UN_PARMI('MAILLE','GROUP_MA' ),
4502 EXCLUS('ANGL_REP','VECTEUR'),
4503 PRESENT_PRESENT( 'EXCENTREMENT', 'INER_ROTA' ),
4504 PRESENT_PRESENT( 'EXCENTREMENT_FO','INER_ROTA' ),
4505 UN_PARMI('EPAIS','EPAIS_FO' ),
4506 EXCLUS('EXCENTREMENT','EXCENTREMENT_FO'),),
4507 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4508 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4509 EPAIS = SIMP(statut='f',typ='R' ),
4510 EPAIS_FO = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
4511 ANGL_REP = SIMP(statut='f',typ='R',min=2,max=2),
4512 VECTEUR = SIMP(statut='f',typ='R',min=3,max=3),
4513 A_CIS = SIMP(statut='f',typ='R',defaut= 0.8333333E0),
4514 COEF_RIGI_DRZ = SIMP(statut='f',typ='R',defaut= 1.0E-5 ),
4515 COQUE_NCOU = SIMP(statut='f',typ='I',defaut= 1 ),
4516 EXCENTREMENT = SIMP(statut='f',typ='R' ),
4517 EXCENTREMENT_FO = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
4518 INER_ROTA = SIMP(statut='f',typ='TXM',into=("OUI",) ),
4519 MODI_METRIQUE = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
4522 # ============================================================================
4523 CABLE = FACT(statut='f',max='**',
4524 regles = (UN_PARMI('MAILLE','GROUP_MA'),),
4525 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4526 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4527 N_INIT = SIMP(statut='f',typ='R',defaut= 5000. ),
4528 SECTION = SIMP(statut='f',typ='R' ),
4529 FCX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
4532 # ============================================================================
4533 DISCRET = FACT(statut='f',max='**',
4534 REPERE = SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
4535 AMOR_HYST = SIMP(statut='f',typ='R' ),
4537 SYME = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),),
4538 b_SYME_OUI = BLOC(condition="SYME=='OUI'",
4539 fr="SYMETRIQUE: Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds",
4540 CARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,defaut="None",
4541 into=("K_T_D_N", "K_T_D_L", "K_TR_D_N", "K_TR_D_L", "K_T_N", "K_T_L", "K_TR_N", "K_TR_L",
4542 "M_T_D_N", "M_T_D_L", "M_TR_D_N", "M_TR_D_L", "M_T_N", "M_T_L", "M_TR_N", "M_TR_L",
4543 "A_T_D_N", "A_T_D_L", "A_TR_D_N", "A_TR_D_L", "A_T_N", "A_T_L", "A_TR_N", "A_TR_L",),),
4544 # Affection des caractéristiques de RIGIDITE/AMORTISSEMENT/MASSE
4545 b_AK_T_D_N = BLOC(condition = "((CARA=='K_T_D_N')or(CARA=='A_T_D_N'))",
4546 fr="NOEUD: 3 valeurs (triangulaire supérieure par colonne)",
4547 regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
4548 NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
4549 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4550 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4551 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4552 VALE = SIMP(statut='o',typ='R',min=3 ,max=3 ),),
4553 b_AK_T_D_L = BLOC(condition = "((CARA=='K_T_D_L')or(CARA=='A_T_D_L'))",
4554 fr="SEGMENT: 3 valeurs (triangulaire supérieure par colonne)",
4555 regles = (UN_PARMI('MAILLE','GROUP_MA'),),
4556 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4557 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4558 VALE = SIMP(statut='o',typ='R',min=3 ,max=3 ),),
4559 b_AK_TR_D_N = BLOC(condition = "((CARA=='K_TR_D_N')or(CARA=='A_TR_D_N'))",
4560 fr="NOEUD: 6 valeurs (triangulaire supérieure par colonne)",
4561 regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
4562 NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
4563 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4564 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4565 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4566 VALE = SIMP(statut='o',typ='R',min=6 ,max=6 ),),
4567 b_AK_TR_D_L = BLOC(condition = "((CARA=='K_TR_D_L')or(CARA=='A_TR_D_L'))",
4568 fr="SEGMENT: 6 valeurs (triangulaire supérieure par colonne)",
4569 regles = (UN_PARMI('MAILLE','GROUP_MA'),),
4570 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4571 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4572 VALE = SIMP(statut='o',typ='R',min=6 ,max=6 ),),
4573 b_MAK_T_N = BLOC(condition = "((CARA=='K_T_N')or(CARA=='A_T_N')or(CARA=='M_T_N'))",
4574 fr="NOEUD: 6 valeurs (triangulaire supérieure par colonne)",
4575 regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
4576 NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
4577 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4578 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4579 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4580 VALE = SIMP(statut='o',typ='R',min=6 ,max=6 ),),
4581 b_MAK_T_L = BLOC(condition = "((CARA=='K_T_L')or(CARA=='A_T_L')or(CARA=='M_T_L'))",
4582 fr="SEGMENT: 21 valeurs (triangulaire supérieure par colonne)",
4583 regles = (UN_PARMI('MAILLE','GROUP_MA'),),
4584 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4585 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4586 VALE = SIMP(statut='o',typ='R',min=21,max=21),),
4587 b_MAK_TR_N = BLOC(condition = "((CARA=='K_TR_N')or(CARA=='A_TR_N')or(CARA=='M_TR_N'))",
4588 fr="NOEUD: 21 valeurs (triangulaire supérieure par colonne)",
4589 regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
4590 NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
4591 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4592 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4593 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4594 VALE = SIMP(statut='o',typ='R',min=21,max=21),),
4595 b_MAK_TR_L = BLOC(condition = "((CARA=='K_TR_L')or(CARA=='A_TR_L')or(CARA=='M_TR_L'))",
4596 fr="SEGMENT: 78 valeurs (triangulaire supérieure par colonne)",
4597 regles = (UN_PARMI('MAILLE','GROUP_MA'),),
4598 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4599 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4600 VALE = SIMP(statut='o',typ='R',min=78,max=78),),
4601 # Affection des caractéristiques de MASSE
4602 b_M_T_D_N = BLOC(condition = "(CARA=='M_T_D_N')",
4603 fr="NOEUD: 1 valeur de masse",
4604 regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
4605 NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
4606 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4607 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4608 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4609 VALE = SIMP(statut='o',typ='R',min=1 ,max=1 ),),
4610 b_M_T_D_L = BLOC(condition = "(CARA=='M_T_D_L')",
4611 fr="SEGMENT: 1 valeur de masse",
4612 regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
4613 NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
4614 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4615 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4616 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4617 VALE = SIMP(statut='o',typ='R',min=1 ,max=1 ),),
4618 b_M_TR_D_N = BLOC(condition = "(CARA=='M_TR_D_N')",
4619 fr="NOEUD: 1 valeur de masse, 6 valeurs du tenseur d'inertie, 3 composantes du vecteur d'excentrement",
4620 regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
4621 NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
4622 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4623 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4624 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4625 VALE = SIMP(statut='o',typ='R',min=10,max=10),),
4626 b_M_TR_D_L = BLOC(condition = "(CARA=='M_TR_D_L')",
4627 fr="SEGMENT: 1 valeur de masse, 3 valeurs du tenseur d'inertie",
4628 regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
4629 NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
4630 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4631 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4632 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4633 VALE = SIMP(statut='o',typ='R',min=4,max=4),),
4635 # éléments à matrice non-symétrique
4636 # b_MAK_T_N_NS 'K_T_N' 'A_T_N' 'M_T_N'
4637 # b_MAK_T_L_NS 'K_T_L' 'A_T_L' 'M_T_L'
4638 # b_MAK_TR_N_NS 'K_TR_N' 'A_TR_N' 'M_TR_N'
4639 # b_MAK_TR_L_NS 'K_TR_L' 'A_TR_L' 'M_TR_L'
4640 b_SYME_NON = BLOC(condition="SYME=='NON'",
4641 fr="NON-SYMETRIQUE: Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds",
4642 CARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,defaut="None",
4643 into=("K_T_N", "K_T_L", "K_TR_N", "K_TR_L",
4644 "M_T_N", "M_T_L", "M_TR_N", "M_TR_L",
4645 "A_T_N", "A_T_L", "A_TR_N", "A_TR_L",),),
4646 # Affection des caractéristiques de RIGIDITE/AMORTISSEMENT/MASSE : NON-SYMETRIQUE
4647 b_MAK_T_N_NS = BLOC(condition = "((CARA=='K_T_N')or(CARA=='A_T_N')or(CARA=='M_T_N'))",
4648 fr="NOEUD: 9 valeurs (matrice pleine par colonne)",
4649 regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
4650 NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
4651 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4652 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4653 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4654 VALE = SIMP(statut='o',typ='R',min=9 ,max=9 ),),
4655 b_MAK_T_L_NS = BLOC(condition = "((CARA=='K_T_L')or(CARA=='A_T_L')or(CARA=='M_T_L'))",
4656 fr="SEGMENT: 36 valeurs (matrice pleine par colonne)",
4657 regles = (UN_PARMI('MAILLE','GROUP_MA'),),
4658 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4659 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4660 VALE = SIMP(statut='o',typ='R',min=36,max=36),),
4661 b_MAK_TR_N_NS = BLOC(condition = "((CARA=='K_TR_N')or(CARA=='A_TR_N')or(CARA=='M_TR_N'))",
4662 fr="NOEUD: 36 valeurs (matrice pleine par colonne)",
4663 regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
4664 NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
4665 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4666 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4667 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4668 VALE = SIMP(statut='o',typ='R',min=36,max=36),),
4669 b_MAK_TR_L_NS = BLOC(condition = "((CARA=='K_TR_L')or(CARA=='A_TR_L')or(CARA=='M_TR_L'))",
4670 fr="SEGMENT: 144 valeurs (matrice pleine par colonne)",
4671 regles = (UN_PARMI('MAILLE','GROUP_MA'),),
4672 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4673 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4674 VALE = SIMP(statut='o',typ='R',min=144,max=144),),
4677 # ============================================================================
4678 DISCRET_2D = FACT(statut='f',max='**',
4679 REPERE = SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
4680 AMOR_HYST = SIMP(statut='f',typ='R' ),
4681 SYME = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),),
4682 b_SYME_OUI = BLOC(condition="SYME=='OUI'",
4683 fr="SYMETRIQUE: Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds",
4684 CARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,defaut="None",
4685 into=("K_T_D_N", "K_T_D_L", "K_TR_D_N", "K_TR_D_L", "K_T_N", "K_T_L", "K_TR_N", "K_TR_L",
4686 "M_T_D_N", "M_T_D_L", "M_TR_D_N", "M_TR_D_L", "M_T_N", "M_T_L", "M_TR_N", "M_TR_L",
4687 "A_T_D_N", "A_T_D_L", "A_TR_D_N", "A_TR_D_L", "A_T_N", "A_T_L", "A_TR_N", "A_TR_L",),),
4688 # Affection des caractéristiques de RIGIDITE/AMORTISSEMENT/MASSE
4689 b_AK_T_D_N = BLOC(condition = "((CARA=='K_T_D_N')or(CARA=='A_T_D_N'))",
4690 fr="NOEUD: 2 valeurs (triangulaire supérieure par colonne)",
4691 regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
4692 NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
4693 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4694 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4695 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4696 VALE = SIMP(statut='o',typ='R',min=2 ,max=2 ),),
4697 b_AK_T_D_L = BLOC(condition = "((CARA=='K_T_D_L')or(CARA=='A_T_D_L'))",
4698 fr="SEGMENT: 2 valeurs (triangulaire supérieure par colonne)",
4699 regles = (UN_PARMI('MAILLE','GROUP_MA'),),
4700 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4701 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4702 VALE = SIMP(statut='o',typ='R',min=2 ,max=2 ),),
4703 b_AK_TR_D_N = BLOC(condition = "((CARA=='K_TR_D_N')or(CARA=='A_TR_D_N'))",
4704 fr="NOEUD: 3 valeurs (triangulaire supérieure par colonne)",
4705 regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
4706 NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
4707 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4708 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4709 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4710 VALE = SIMP(statut='o',typ='R',min=3 ,max=3 ),),
4711 b_AK_TR_D_L = BLOC(condition = "((CARA=='K_TR_D_L')or(CARA=='A_TR_D_L'))",
4712 fr="SEGMENT: 3 valeurs (triangulaire supérieure par colonne)",
4713 regles = (UN_PARMI('MAILLE','GROUP_MA'),),
4714 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4715 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4716 VALE = SIMP(statut='o',typ='R',min=3 ,max=3 ),),
4717 b_MAK_T_N = BLOC(condition = "((CARA=='K_T_N')or(CARA=='A_T_N')or(CARA=='M_T_N'))",
4718 fr="NOEUD: 3 valeurs (triangulaire supérieure par colonne)",
4719 regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
4720 NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
4721 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4722 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4723 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4724 VALE = SIMP(statut='o',typ='R',min=3 ,max=3 ),),
4725 b_MAK_T_L = BLOC(condition = "((CARA=='K_T_L')or(CARA=='A_T_L')or(CARA=='M_T_L'))",
4726 fr="SEGMENT: 10 valeurs (triangulaire supérieure par colonne)",
4727 regles = (UN_PARMI('MAILLE','GROUP_MA'),),
4728 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4729 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4730 VALE = SIMP(statut='o',typ='R',min=10,max=10),),
4731 b_MAK_TR_N = BLOC(condition = "((CARA=='K_TR_N')or(CARA=='A_TR_N')or(CARA=='M_TR_N'))",
4732 fr="NOEUD: 6 valeurs (triangulaire supérieure par colonne)",
4733 regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
4734 NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
4735 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4736 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4737 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4738 VALE = SIMP(statut='o',typ='R',min=6 ,max=6),),
4739 b_MAK_TR_L = BLOC(condition = "((CARA=='K_TR_L')or(CARA=='A_TR_L')or(CARA=='M_TR_L'))",
4740 fr="SEGMENT: 21 valeurs (triangulaire supérieure par colonne)",
4741 regles = (UN_PARMI('MAILLE','GROUP_MA'),),
4742 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4743 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4744 VALE = SIMP(statut='o',typ='R',min=21,max=21),),
4745 # Affection des caractéristiques de MASSE
4746 b_M_T_D_N = BLOC(condition = "(CARA=='M_T_D_N')",
4747 fr="NOEUD: 1 valeur de masse",
4748 regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
4749 NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
4750 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4751 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4752 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4753 VALE = SIMP(statut='o',typ='R',min=1 ,max=1 ),),
4754 b_M_T_D_L = BLOC(condition = "(CARA=='M_T_D_L')",
4755 fr="SEGMENT: 1 valeur de masse",
4756 regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
4757 NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
4758 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4759 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4760 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4761 VALE = SIMP(statut='o',typ='R',min=1 ,max=1 ),),
4762 b_M_TR_D_N = BLOC(condition = "(CARA=='M_TR_D_N')",
4763 fr="NOEUD: 1 valeur de masse, 1 valeur d'inertie, 2 composantes du vecteur d'excentrement",
4764 regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
4765 NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
4766 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4767 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4768 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4769 VALE = SIMP(statut='o',typ='R',min=4 ,max=4 ),),
4770 b_M_TR_D_L = BLOC(condition = "(CARA=='M_TR_D_L')",
4771 fr="SEGMENT: 1 valeur de masse, 1 valeur d'inertie",
4772 regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
4773 NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
4774 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4775 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4776 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4777 VALE = SIMP(statut='o',typ='R',min=2 ,max=2 ),),
4779 # éléments à matrice non-symétrique
4780 # b_MAK_T_N_NS 'K_T_N' 'A_T_N' 'M_T_N'
4781 # b_MAK_T_L_NS 'K_T_L' 'A_T_L' 'M_T_L'
4782 # b_MAK_TR_N_NS 'K_TR_N' 'A_TR_N' 'M_TR_N'
4783 # b_MAK_TR_L_NS 'K_TR_L' 'A_TR_L' 'M_TR_L'
4784 b_SYME_NON = BLOC(condition="SYME=='NON'",
4785 fr="NON-SYMETRIQUE: Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds",
4786 CARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,defaut="None",
4787 into=("K_T_N", "K_T_L", "K_TR_N", "K_TR_L",
4788 "M_T_N", "M_T_L", "M_TR_N", "M_TR_L",
4789 "A_T_N", "A_T_L", "A_TR_N", "A_TR_L",),),
4790 # Affection des caractéristiques de RIGIDITE/AMORTISSEMENT/MASSE : NON-SYMETRIQUE
4791 b_MAK_T_N_NS = BLOC(condition = "((CARA=='K_T_N')or(CARA=='A_T_N')or(CARA=='M_T_N'))",
4792 fr="NOEUD: 4 valeurs (matrice pleine par colonne)",
4793 regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
4794 NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
4795 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4796 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4797 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4798 VALE = SIMP(statut='o',typ='R',min=4 ,max=4 ),),
4799 b_MAK_T_L_NS = BLOC(condition = "((CARA=='K_T_L')or(CARA=='A_T_L')or(CARA=='M_T_L'))",
4800 fr="SEGMENT: 16 valeurs (matrice pleine par colonne)",
4801 regles = (UN_PARMI('MAILLE','GROUP_MA'),),
4802 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4803 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4804 VALE = SIMP(statut='o',typ='R',min=16,max=16),),
4805 b_MAK_TR_N_NS = BLOC(condition = "((CARA=='K_TR_N')or(CARA=='A_TR_N')or(CARA=='M_TR_N'))",
4806 fr="NOEUD: 9 valeurs (matrice pleine par colonne)",
4807 regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
4808 NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
4809 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4810 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4811 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4812 VALE = SIMP(statut='o',typ='R',min=9 ,max=9),),
4813 b_MAK_TR_L_NS = BLOC(condition = "((CARA=='K_TR_L')or(CARA=='A_TR_L')or(CARA=='M_TR_L'))",
4814 fr="SEGMENT: 36 valeurs (matrice pleine par colonne)",
4815 regles = (UN_PARMI('MAILLE','GROUP_MA'),),
4816 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4817 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4818 VALE = SIMP(statut='o',typ='R',min=36,max=36),),
4821 # ============================================================================
4822 ORIENTATION = FACT(statut='f',max='**',
4823 regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO' ),),
4824 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4825 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4826 NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
4827 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
4828 CARA = SIMP(statut='o',typ='TXM',
4829 into=("VECT_Y","ANGL_VRIL","VECT_X_Y","ANGL_NAUT","GENE_TUYAU") ),
4830 VALE = SIMP(statut='o',typ='R',max='**'),
4831 PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-4 ),
4832 CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
4835 # ============================================================================
4836 DEFI_ARC = FACT(statut='f',max='**',
4837 regles = (UN_PARMI('MAILLE','GROUP_MA'),
4838 UN_PARMI('ORIE_ARC','CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE',
4839 'POIN_TANG','NOEUD_POIN_TANG','GROUP_NO_POIN_TG'),
4840 PRESENT_PRESENT('ORIE_ARC','RAYON'),
4841 EXCLUS('COEF_FLEX','COEF_FLEX_XY'),
4842 EXCLUS('COEF_FLEX','COEF_FLEX_XZ'),
4843 EXCLUS('INDI_SIGM','INDI_SIGM_XY'),
4844 EXCLUS('INDI_SIGM','INDI_SIGM_XZ'),
4845 PRESENT_PRESENT('COEF_FLEX_XY','COEF_FLEX_XZ'),
4846 PRESENT_PRESENT('INDI_SIGM_XY','INDI_SIGM_XZ'),),
4847 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4848 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4849 ORIE_ARC = SIMP(statut='f',typ='R'),
4850 CENTRE = SIMP(statut='f',typ='R',max='**'),
4851 NOEUD_CENTRE = SIMP(statut='f',typ=no),
4852 GROUP_NO_CENTRE = SIMP(statut='f',typ=grno),
4853 POIN_TANG = SIMP(statut='f',typ='R',max='**'),
4854 NOEUD_POIN_TANG = SIMP(statut='f',typ=no),
4855 GROUP_NO_POIN_TG = SIMP(statut='f',typ=grno),
4856 RAYON = SIMP(statut='f',typ='R'),
4857 COEF_FLEX = SIMP(statut='f',typ='R'),
4858 INDI_SIGM = SIMP(statut='f',typ='R'),
4859 COEF_FLEX_XY = SIMP(statut='f',typ='R'),
4860 INDI_SIGM_XY = SIMP(statut='f',typ='R'),
4861 COEF_FLEX_XZ = SIMP(statut='f',typ='R'),
4862 INDI_SIGM_XZ = SIMP(statut='f',typ='R'),
4863 PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3),
4864 CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
4867 #============================================================================
4868 MASSIF = FACT(statut='f',max='**',
4869 regles = (UN_PARMI('MAILLE','GROUP_MA'),
4870 UN_PARMI('ANGL_REP','ANGL_AXE','ANGL_EULER'),
4871 EXCLUS('ANGL_REP','ANGL_EULER'),
4872 EXCLUS('ANGL_REP','ANGL_AXE'),
4873 EXCLUS('ANGL_REP','ORIG_AXE'),
4874 PRESENT_PRESENT('ANGL_AXE','ORIG_AXE'), ),
4875 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4876 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4877 ANGL_REP = SIMP(statut='f',typ='R',max=3),
4878 ANGL_EULER = SIMP(statut='f',typ='R',min=3,max=3),
4879 ANGL_AXE = SIMP(statut='f',typ='R',max=2),
4880 ORIG_AXE = SIMP(statut='f',typ='R',max=3),
4883 # ============================================================================
4884 POUTRE_FLUI = FACT(statut='f',max='**',
4885 regles = (UN_PARMI('MAILLE','GROUP_MA'),),
4886 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4887 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4888 B_T = SIMP(statut='o',typ='R'),
4889 B_N = SIMP(statut='o',typ='R'),
4890 B_TN = SIMP(statut='o',typ='R',defaut= 0.E+0 ),
4891 A_FLUI = SIMP(statut='o',typ='R'),
4892 A_CELL = SIMP(statut='o',typ='R'),
4893 COEF_ECHELLE = SIMP(statut='o',typ='R'),
4896 # ============================================================================
4897 GRILLE = FACT(statut='f',max='**',
4898 regles = (UN_PARMI('MAILLE','GROUP_MA'),
4899 EXCLUS('ANGL_REP','AXE'),
4900 UN_PARMI('SECTION','SECTION_FO' ),
4901 EXCLUS('EXCENTREMENT','EXCENTREMENT_FO'), ),
4902 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4903 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4904 SECTION = SIMP(statut='f',typ='R'),
4905 SECTION_FO = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
4906 ANGL_REP = SIMP(statut='f',typ='R',max=2),
4907 EXCENTREMENT = SIMP(statut='f',typ='R'),
4908 EXCENTREMENT_FO = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
4909 AXE = SIMP(statut='f',typ='R',max='**'),
4910 COEF_RIGI_DRZ = SIMP(statut='f',typ='R',defaut= 1.0E-10 ),
4913 # ============================================================================
4914 MEMBRANE = FACT(statut='f',max='**',
4915 regles = (UN_PARMI('MAILLE','GROUP_MA'),
4916 EXCLUS('ANGL_REP','AXE'),
4918 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4919 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4920 ANGL_REP = SIMP(statut='f',typ='R',max=2),
4921 AXE = SIMP(statut='f',typ='R',max='**'),
4924 #============================================================================
4925 RIGI_PARASOL = FACT(statut='f',max='**',
4926 regles = (UN_PARMI('COEF_GROUP','FONC_GROUP'),
4927 UN_PARMI('COOR_CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE'),
4928 EXCLUS('GROUP_MA_POI1','GROUP_MA_SEG2'),),
4929 GROUP_MA = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**',
4930 fr="Surface servant à répartir les caractéristiques des discrets"),
4931 GROUP_MA_POI1 = SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1,
4932 fr="Mailles de type point correspondant aux discrets"),
4933 GROUP_MA_SEG2 = SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1,
4934 fr="Mailles de type seg2 correspondant aux discrets"),
4935 FONC_GROUP = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
4936 COEF_GROUP = SIMP(statut='f',typ='R',max='**'),
4937 REPERE = SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
4938 CARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2,
4939 into=("K_TR_D_N","K_T_D_N","K_TR_D_L","K_T_D_L",
4940 "A_TR_D_N","A_T_D_N","A_TR_D_L","A_T_D_L"),
4941 fr="Choix des types de discrets du tapis de ressorts." ),
4942 b_cara= BLOC(condition =""" au_moins_un(CARA, ["K_TR_D_N","K_T_D_N","K_TR_D_L","K_T_D_L",
4943 "A_TR_D_N","A_T_D_N","A_TR_D_L","A_T_D_L"]) or \
4944 (len(CARA)==2 and CARA[0][2:]==CARA[1][2:])""",
4945 fr="Valeurs pour les discrets du tapis de ressorts.",
4946 VALE = SIMP(statut='o',typ='R',max='**',
4947 fr="Valeurs pour les discrets du tapis de ressorts.",),
4949 GROUP_NO_CENTRE = SIMP(statut='f',typ=grno),
4950 NOEUD_CENTRE = SIMP(statut='f',typ=no),
4951 COOR_CENTRE = SIMP(statut='f',typ='R',min=2,max=3),
4952 EUROPLEXUS = SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON"),
4953 UNITE = SIMP(statut='f',typ='I',val_min=1),
4956 #============================================================================
4957 RIGI_MISS_3D = FACT(statut='f',max='**',
4958 GROUP_MA_POI1 = SIMP(statut='o',typ=grma,max=1),
4959 GROUP_MA_SEG2 = SIMP(statut='f',typ=grma,max=1),
4960 FREQ_EXTR = SIMP(statut='o',typ='R',max=1),
4961 UNITE_RESU_IMPE = SIMP(statut='f',typ='I',defaut=30),
4964 #============================================================================
4965 MASS_AJOU = FACT(statut='f',max='**',
4966 GROUP_MA = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**',
4967 fr="Surface servant à répartir les caractéristiques des discrets"),
4968 GROUP_MA_POI1 = SIMP(statut='o',typ=grma,validators=NoRepeat(),max=1,
4969 fr="Mailles de type point correspondant aux discrets"),
4970 FONC_GROUP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
4973 #============================================================================
4974 GEOM_FIBRE = SIMP(statut='f',max=1,typ=gfibre_sdaster,
4975 fr="Donner le nom de la SD regroupant tous les groupes de fibres (issue de DEFI_GEOM_FIBRE)"),
4977 MULTIFIBRE = FACT(statut='f',max='**',
4978 regles = (AU_MOINS_UN('GROUP_MA','MAILLE'),),
4979 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
4980 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
4981 GROUP_FIBRE = SIMP(statut='o',typ='TXM',max='**'),
4982 PREC_AIRE = SIMP(statut= 'f',typ= 'R',defaut= 0.01),
4983 PREC_INERTIE = SIMP(statut= 'f',typ= 'R',defaut= 0.1),
4987 # ======================================================================
4988 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
4989 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
4990 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
4991 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
4992 # (AT YOUR OPTION) ANY LATER VERSION.
4994 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
4995 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
4996 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
4997 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
4999 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
5000 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
5001 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
5002 # ======================================================================
5004 AFFE_CHAR_ACOU=OPER(nom="AFFE_CHAR_ACOU",op= 68,sd_prod=char_acou,
5005 fr="Affectation de charges et conditions aux limites acoustiques constantes",
5007 UIinfo={"groupes":("Chargements","Acoustique",)},
5008 regles=(AU_MOINS_UN('PRES_IMPO','VITE_FACE','IMPE_FACE','LIAISON_UNIF' ),),
5009 MODELE =SIMP(statut='o',typ=modele_sdaster ),
5010 METHODE =SIMP(statut='c',typ='TXM',fr="Stratégie de résolution pour les pressions imposées",
5011 into=('DUALISATION',),defaut='DUALISATION',),
5012 # METHODE='ELIMINATION' est traité dans le fortran mais dangereux actuellement
5013 PRES_IMPO =FACT(statut='f',max='**',
5014 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
5015 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5016 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5017 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
5018 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5019 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5020 SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5021 SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5022 SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5023 SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
5024 PRES =SIMP(statut='o',typ='C' ),
5026 VITE_FACE =FACT(statut='f',max='**',
5027 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
5028 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
5029 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5030 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5031 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5032 VNOR =SIMP(statut='o',typ='C' ),
5034 IMPE_FACE =FACT(statut='f',max='**',
5035 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
5036 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
5037 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5038 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5039 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5040 IMPE =SIMP(statut='o',typ='C' ),
5042 LIAISON_UNIF =FACT(statut='f',max='**',
5043 regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE' ),),
5044 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5045 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
5046 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5047 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5048 DDL =SIMP(statut='o',typ='TXM',max='**'),
5052 # ======================================================================
5053 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
5054 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5055 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5056 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
5057 # (AT YOUR OPTION) ANY LATER VERSION.
5059 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
5060 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
5061 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
5062 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
5064 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
5065 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
5066 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
5067 # ======================================================================
5068 # person_in_charge: jacques.pellet at edf.fr
5069 def affe_char_cine_prod(MECA_IMPO,THER_IMPO,ACOU_IMPO,EVOL_IMPO,**args):
5070 if MECA_IMPO != None : return char_cine_meca
5071 if THER_IMPO != None : return char_cine_ther
5072 if ACOU_IMPO != None : return char_cine_acou
5073 if EVOL_IMPO != None :
5074 if AsType(EVOL_IMPO) in (evol_elas,evol_noli) :
5075 return char_cine_meca
5076 elif AsType(EVOL_IMPO) in (evol_ther,) :
5077 return char_cine_ther
5079 raise AsException("Extension à faire ...")
5081 raise AsException("type de concept resultat non prevu")
5084 AFFE_CHAR_CINE=OPER(nom="AFFE_CHAR_CINE",op= 101,sd_prod=affe_char_cine_prod
5085 ,fr="Affectation de conditions aux limites cinématiques (U=U0) pour un traitement sans dualisation",
5087 UIinfo={"groupes":("Chargements","Mécanique",)},
5088 regles=(UN_PARMI('MECA_IMPO','THER_IMPO','ACOU_IMPO','EVOL_IMPO'),
5090 MODELE =SIMP(statut='o',typ=modele_sdaster ),
5092 MECA_IMPO =FACT(statut='f',max='**',
5093 regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
5094 AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
5095 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2',
5096 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4',
5097 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6',
5098 'VO6','WI6','WO6','WO','WI1','WO1','GONF',
5099 'H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z',
5100 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','V11','V12','V13','V21','V22',
5101 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21',
5102 'PRES22','PRES23','PRES31','PRES32','PRES33','LH1','GLIS'),),
5103 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5104 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5105 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5106 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5107 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
5108 DX =SIMP(statut='f',typ='R' ),
5109 DY =SIMP(statut='f',typ='R' ),
5110 DZ =SIMP(statut='f',typ='R' ),
5111 DRX =SIMP(statut='f',typ='R' ),
5112 DRY =SIMP(statut='f',typ='R' ),
5113 DRZ =SIMP(statut='f',typ='R' ),
5114 GRX =SIMP(statut='f',typ='R' ),
5115 PRES =SIMP(statut='f',typ='R' ),
5116 PHI =SIMP(statut='f',typ='R' ),
5117 TEMP =SIMP(statut='f',typ='R' ),
5118 PRE1 =SIMP(statut='f',typ='R' ),
5119 PRE2 =SIMP(statut='f',typ='R' ),
5120 UI2 =SIMP(statut='f',typ='R' ),
5121 UI3 =SIMP(statut='f',typ='R' ),
5122 UI4 =SIMP(statut='f',typ='R' ),
5123 UI5 =SIMP(statut='f',typ='R' ),
5124 UI6 =SIMP(statut='f',typ='R' ),
5125 UO2 =SIMP(statut='f',typ='R' ),
5126 UO3 =SIMP(statut='f',typ='R' ),
5127 UO4 =SIMP(statut='f',typ='R' ),
5128 UO5 =SIMP(statut='f',typ='R' ),
5129 UO6 =SIMP(statut='f',typ='R' ),
5130 VI2 =SIMP(statut='f',typ='R' ),
5131 VI3 =SIMP(statut='f',typ='R' ),
5132 VI4 =SIMP(statut='f',typ='R' ),
5133 VI5 =SIMP(statut='f',typ='R' ),
5134 VI6 =SIMP(statut='f',typ='R' ),
5135 VO2 =SIMP(statut='f',typ='R' ),
5136 VO3 =SIMP(statut='f',typ='R' ),
5137 VO4 =SIMP(statut='f',typ='R' ),
5138 VO5 =SIMP(statut='f',typ='R' ),
5139 VO6 =SIMP(statut='f',typ='R' ),
5140 WI2 =SIMP(statut='f',typ='R' ),
5141 WI3 =SIMP(statut='f',typ='R' ),
5142 WI4 =SIMP(statut='f',typ='R' ),
5143 WI5 =SIMP(statut='f',typ='R' ),
5144 WI6 =SIMP(statut='f',typ='R' ),
5145 WO2 =SIMP(statut='f',typ='R' ),
5146 WO3 =SIMP(statut='f',typ='R' ),
5147 WO4 =SIMP(statut='f',typ='R' ),
5148 WO5 =SIMP(statut='f',typ='R' ),
5149 WO6 =SIMP(statut='f',typ='R' ),
5150 WO =SIMP(statut='f',typ='R' ),
5151 WI1 =SIMP(statut='f',typ='R' ),
5152 WO1 =SIMP(statut='f',typ='R' ),
5153 GONF =SIMP(statut='f',typ='R' ),
5154 H1X =SIMP(statut='f',typ='R' ),
5155 H1Y =SIMP(statut='f',typ='R' ),
5156 H1Z =SIMP(statut='f',typ='R' ),
5157 E1X =SIMP(statut='f',typ='R' ),
5158 E1Y =SIMP(statut='f',typ='R' ),
5159 E1Z =SIMP(statut='f',typ='R' ),
5160 E2X =SIMP(statut='f',typ='R' ),
5161 E2Y =SIMP(statut='f',typ='R' ),
5162 E2Z =SIMP(statut='f',typ='R' ),
5163 E3X =SIMP(statut='f',typ='R' ),
5164 E3Y =SIMP(statut='f',typ='R' ),
5165 E3Z =SIMP(statut='f',typ='R' ),
5166 E4X =SIMP(statut='f',typ='R' ),
5167 E4Y =SIMP(statut='f',typ='R' ),
5168 E4Z =SIMP(statut='f',typ='R' ),
5169 V11 =SIMP(statut='f',typ='R' ),
5170 V12 =SIMP(statut='f',typ='R' ),
5171 V13 =SIMP(statut='f',typ='R' ),
5172 V21 =SIMP(statut='f',typ='R' ),
5173 V22 =SIMP(statut='f',typ='R' ),
5174 V23 =SIMP(statut='f',typ='R' ),
5175 V31 =SIMP(statut='f',typ='R' ),
5176 V32 =SIMP(statut='f',typ='R' ),
5177 V33 =SIMP(statut='f',typ='R' ),
5178 PRES11 =SIMP(statut='f',typ='R' ),
5179 PRES12 =SIMP(statut='f',typ='R' ),
5180 PRES13 =SIMP(statut='f',typ='R' ),
5181 PRES21 =SIMP(statut='f',typ='R' ),
5182 PRES22 =SIMP(statut='f',typ='R' ),
5183 PRES23 =SIMP(statut='f',typ='R' ),
5184 PRES31 =SIMP(statut='f',typ='R' ),
5185 PRES32 =SIMP(statut='f',typ='R' ),
5186 PRES33 =SIMP(statut='f',typ='R' ),
5187 LH1 =SIMP(statut='f',typ='R' ),
5188 GLIS =SIMP(statut='f',typ='R' ),
5191 THER_IMPO =FACT(statut='f',max='**',
5192 regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
5193 AU_MOINS_UN('TEMP','TEMP_MIL','TEMP_INF','TEMP_SUP'),),
5194 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5195 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5196 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5197 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5198 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
5199 TEMP =SIMP(statut='f',typ='R' ),
5200 TEMP_MIL =SIMP(statut='f',typ='R' ),
5201 TEMP_SUP =SIMP(statut='f',typ='R' ),
5202 TEMP_INF =SIMP(statut='f',typ='R' ),
5205 ACOU_IMPO =FACT(statut='f',max='**',
5206 regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
5207 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5208 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5209 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5210 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5211 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
5212 PRES =SIMP(statut='o',typ='C' ),
5215 EVOL_IMPO =SIMP(statut='f',typ=(evol_noli,evol_elas,evol_ther),fr="Pour imposer les ddls d'un evol_xxx"),
5216 b_evol_impo = BLOC ( condition = "EVOL_IMPO != None",
5217 NOM_CMP =SIMP(statut='f',typ='TXM',max='**',), # pour n'imposer que certaines CMPS (par défaut : toutes)
5220 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
5223 # ======================================================================
5224 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
5225 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5226 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5227 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
5228 # (AT YOUR OPTION) ANY LATER VERSION.
5230 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
5231 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
5232 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
5233 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
5235 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
5236 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
5237 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
5238 # ======================================================================
5239 # person_in_charge: jacques.pellet at edf.fr
5240 def affe_char_cine_f_prod(MECA_IMPO,THER_IMPO,**args):
5241 if MECA_IMPO != None : return char_cine_meca
5242 if THER_IMPO != None : return char_cine_ther
5243 raise AsException("type de concept resultat non prevu")
5245 AFFE_CHAR_CINE_F=OPER(nom="AFFE_CHAR_CINE_F",op= 101,sd_prod=affe_char_cine_f_prod,
5246 fr="Affectation de conditions aux limites cinématiques fonction d'un (ou plusieurs) paramètres"
5247 +" pour un traitement sans dualisation",
5249 UIinfo={"groupes":("Chargements","Mécanique",)},
5250 regles=(UN_PARMI('MECA_IMPO','THER_IMPO')),
5251 MODELE =SIMP(statut='o',typ=modele_sdaster ),
5252 MECA_IMPO =FACT(statut='f',max='**',
5253 regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
5254 AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
5255 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2',
5256 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4',
5257 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6',
5258 'VO6','WI6','WO6','WO','WI1','WO1','GONF',
5259 'H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z',
5260 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','V11','V12','V13','V21','V22',
5261 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21',
5262 'PRES22','PRES23','PRES31','PRES32','PRES33','LH1','GLIS'),),
5263 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5264 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5265 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5266 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5267 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
5268 DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5269 DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5270 DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5271 DRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5272 DRY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5273 DRZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5274 GRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5275 PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5276 PHI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5277 TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5278 PRE1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5279 PRE2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5280 UI2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5281 UI3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5282 UI4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5283 UI5 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5284 UI6 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5285 UO2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5286 UO3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5287 UO4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5288 UO5 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5289 UO6 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5290 VI2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5291 VI3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5292 VI4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5293 VI5 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5294 VI6 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5295 VO2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5296 VO3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5297 VO4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5298 VO5 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5299 VO6 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5300 WI2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5301 WI3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5302 WI4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5303 WI5 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5304 WI6 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5305 WO2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5306 WO3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5307 WO4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5308 WO5 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5309 WO6 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5310 WO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5311 WI1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5312 WO1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5313 GONF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5314 H1X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5315 H1Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5316 H1Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5317 E1X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5318 E1Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5319 E1Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5320 E2X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5321 E2Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5322 E2Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5323 E3X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5324 E3Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5325 E3Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5326 E4X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5327 E4Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5328 E4Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5329 V11 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5330 V12 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5331 V13 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5332 V21 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5333 V22 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5334 V23 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5335 V31 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5336 V32 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5337 V33 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5338 PRES11=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5339 PRES12=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5340 PRES13=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5341 PRES21=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5342 PRES22=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5343 PRES23=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5344 PRES31=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5345 PRES32=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5346 PRES33=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5347 LH1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5348 GLIS =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5351 THER_IMPO =FACT(statut='f',max='**',
5352 regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
5353 AU_MOINS_UN('TEMP','TEMP_MIL','TEMP_INF','TEMP_SUP' ),),
5354 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5355 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5356 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5357 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5358 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
5359 TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5360 TEMP_MIL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5361 TEMP_SUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5362 TEMP_INF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
5364 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
5367 # ======================================================================
5368 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
5369 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5370 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
5371 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
5372 # (AT YOUR OPTION) ANY LATER VERSION.
5374 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
5375 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
5376 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
5377 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
5379 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
5380 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
5381 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
5382 # ======================================================================
5383 # person_in_charge: mickael.abbas at edf.fr
5384 AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca,
5385 fr="Affectation de charges et conditions aux limites mécaniques constantes",
5387 UIinfo={"groupes":("Chargements","Mécanique",)},
5388 regles=(AU_MOINS_UN('EVOL_CHAR','PESANTEUR','ROTATION','DDL_IMPO','DDL_POUTRE','FACE_IMPO',
5389 'CHAMNO_IMPO','ARETE_IMPO',
5390 'LIAISON_DDL','LIAISON_OBLIQUE','LIAISON_GROUP','LIAISON_MAIL',
5391 'LIAISON_CYCL','LIAISON_SOLIDE','LIAISON_ELEM','LIAISON_UNIF',
5392 'LIAISON_CHAMNO','LIAISON_RBE3','LIAISON_INTERF',
5394 'FORCE_NODALE','FORCE_FACE','FORCE_ARETE','FORCE_CONTOUR','FORCE_INTERNE',
5395 'PRE_SIGM','PRES_REP','EFFE_FOND','PRE_EPSI','FORCE_POUTRE','FORCE_TUYAU',
5396 'FORCE_COQUE','LIAISON_COQUE','RELA_CINE_BP','FORCE_ELEC','INTE_ELEC',
5397 'IMPE_FACE','VITE_FACE','ONDE_FLUI','FLUX_THM_REP','FORCE_SOL',),
5399 VERI_NORM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
5400 MODELE =SIMP(statut='o',typ=(modele_sdaster) ),
5401 EVOL_CHAR =SIMP(statut='f',fr="Champ de pression issu d'un autre calcul",
5404 PESANTEUR =FACT(statut='f',max=1,fr="Champ de pesanteur",
5405 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5406 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5407 GRAVITE =SIMP(statut='o',typ='R',min=1,max=1),
5408 DIRECTION =SIMP(statut='o',typ='R',min=3,max=3),),
5410 METHODE =SIMP(statut='c',typ='TXM',fr="Stratégie de résolution pour les déplacements imposés",
5411 into=('DUALISATION',),defaut='DUALISATION',),
5412 # METHODE='ELIMINATION' est traité dans le fortran mais dangereux actuellement
5414 ROTATION =FACT(statut='f', max=1,
5415 fr="Définition d'un chargement de rotation",
5416 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(), max='**'),
5417 MAILLE =SIMP(statut='f',typ=ma, validators=NoRepeat(),max='**'),
5418 SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5419 SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5420 VITESSE =SIMP(statut='o', typ='R',min=1,max=1),
5421 AXE =SIMP(statut='o', typ='R',min=2, max=3),
5422 CENTRE =SIMP(statut='f',typ='R',min=2, max=3),
5423 b_rotation_tout=BLOC(condition="(GROUP_MA == None) and (MAILLE ==None)",
5424 TOUT = SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",),),),
5426 DDL_IMPO =FACT(statut='f',max='**',
5427 fr="Impose à des noeuds une ou plusieurs valeurs de déplacement (ou de certaines grandeurs asscociées)",
5428 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
5429 AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
5430 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2',
5431 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4',
5432 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6',
5433 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON',
5434 'H1X','H1Y','H1Z','H2X','H2Y','H2Z','H3X','H3Y','H3Z','H4X','H4Y','H4Z',
5435 'E1X','E1Y','E1Z','E2X','E2Y','E2Z','E3X','E3Y','E3Z','E4X','E4Y','E4Z',
5436 'LAGS_C','LAGS_F1','LAGS_F2','LAG2_C','LAG2_F1','LAG2_F2','LAG3_C','LAG3_F1',
5437 'V11','V12','V13','V21','V22','V23','V31','V32','V33',
5438 'PRES11','PRES12','PRES13','PRES21','PRES22','PRES23','PRES31','PRES32','PRES33','LH1','GLIS'),),
5439 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5440 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5441 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
5442 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5443 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5444 SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5445 SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5446 SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5447 SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
5448 LIAISON =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)),
5449 DX =SIMP(statut='f',typ='R' ),
5450 DY =SIMP(statut='f',typ='R' ),
5451 DZ =SIMP(statut='f',typ='R' ),
5452 DRX =SIMP(statut='f',typ='R' ),
5453 DRY =SIMP(statut='f',typ='R' ),
5454 DRZ =SIMP(statut='f',typ='R' ),
5455 GRX =SIMP(statut='f',typ='R' ),
5456 PRES =SIMP(statut='f',typ='R' ),
5457 PHI =SIMP(statut='f',typ='R' ),
5458 TEMP =SIMP(statut='f',typ='R' ),
5459 PRE1 =SIMP(statut='f',typ='R' ),
5460 PRE2 =SIMP(statut='f',typ='R' ),
5461 UI2 =SIMP(statut='f',typ='R' ),
5462 UI3 =SIMP(statut='f',typ='R' ),
5463 UI4 =SIMP(statut='f',typ='R' ),
5464 UI5 =SIMP(statut='f',typ='R' ),
5465 UI6 =SIMP(statut='f',typ='R' ),
5466 UO2 =SIMP(statut='f',typ='R' ),
5467 UO3 =SIMP(statut='f',typ='R' ),
5468 UO4 =SIMP(statut='f',typ='R' ),
5469 UO5 =SIMP(statut='f',typ='R' ),
5470 UO6 =SIMP(statut='f',typ='R' ),
5471 VI2 =SIMP(statut='f',typ='R' ),
5472 VI3 =SIMP(statut='f',typ='R' ),
5473 VI4 =SIMP(statut='f',typ='R' ),
5474 VI5 =SIMP(statut='f',typ='R' ),
5475 VI6 =SIMP(statut='f',typ='R' ),
5476 VO2 =SIMP(statut='f',typ='R' ),
5477 VO3 =SIMP(statut='f',typ='R' ),
5478 VO4 =SIMP(statut='f',typ='R' ),
5479 VO5 =SIMP(statut='f',typ='R' ),
5480 VO6 =SIMP(statut='f',typ='R' ),
5481 WI2 =SIMP(statut='f',typ='R' ),
5482 WI3 =SIMP(statut='f',typ='R' ),
5483 WI4 =SIMP(statut='f',typ='R' ),
5484 WI5 =SIMP(statut='f',typ='R' ),
5485 WI6 =SIMP(statut='f',typ='R' ),
5486 WO2 =SIMP(statut='f',typ='R' ),
5487 WO3 =SIMP(statut='f',typ='R' ),
5488 WO4 =SIMP(statut='f',typ='R' ),
5489 WO5 =SIMP(statut='f',typ='R' ),
5490 WO6 =SIMP(statut='f',typ='R' ),
5491 WO =SIMP(statut='f',typ='R' ),
5492 WI1 =SIMP(statut='f',typ='R' ),
5493 WO1 =SIMP(statut='f',typ='R' ),
5494 GONF =SIMP(statut='f',typ='R' ),
5495 H1X =SIMP(statut='f',typ='R' ),
5496 H1Y =SIMP(statut='f',typ='R' ),
5497 H1Z =SIMP(statut='f',typ='R' ),
5498 H2X =SIMP(statut='f',typ='R' ),
5499 H2Y =SIMP(statut='f',typ='R' ),
5500 H2Z =SIMP(statut='f',typ='R' ),
5501 H3X =SIMP(statut='f',typ='R' ),
5502 H3Y =SIMP(statut='f',typ='R' ),
5503 H3Z =SIMP(statut='f',typ='R' ),
5504 H4X =SIMP(statut='f',typ='R' ),
5505 H4Y =SIMP(statut='f',typ='R' ),
5506 H4Z =SIMP(statut='f',typ='R' ),
5507 E1X =SIMP(statut='f',typ='R' ),
5508 E1Y =SIMP(statut='f',typ='R' ),
5509 E1Z =SIMP(statut='f',typ='R' ),
5510 E2X =SIMP(statut='f',typ='R' ),
5511 E2Y =SIMP(statut='f',typ='R' ),
5512 E2Z =SIMP(statut='f',typ='R' ),
5513 E3X =SIMP(statut='f',typ='R' ),
5514 E3Y =SIMP(statut='f',typ='R' ),
5515 E3Z =SIMP(statut='f',typ='R' ),
5516 E4X =SIMP(statut='f',typ='R' ),
5517 E4Y =SIMP(statut='f',typ='R' ),
5518 E4Z =SIMP(statut='f',typ='R' ),
5519 LAGS_C =SIMP(statut='f',typ='R' ),
5520 LAGS_F1 =SIMP(statut='f',typ='R' ),
5521 LAGS_F2 =SIMP(statut='f',typ='R' ),
5522 LAG2_C =SIMP(statut='f',typ='R' ),
5523 LAG2_F1 =SIMP(statut='f',typ='R' ),
5524 LAG2_F2 =SIMP(statut='f',typ='R' ),
5525 LAG3_C =SIMP(statut='f',typ='R' ),
5526 LAG3_F1 =SIMP(statut='f',typ='R' ),
5527 V11 =SIMP(statut='f',typ='R' ),
5528 V12 =SIMP(statut='f',typ='R' ),
5529 V13 =SIMP(statut='f',typ='R' ),
5530 V21 =SIMP(statut='f',typ='R' ),
5531 V22 =SIMP(statut='f',typ='R' ),
5532 V23 =SIMP(statut='f',typ='R' ),
5533 V31 =SIMP(statut='f',typ='R' ),
5534 V32 =SIMP(statut='f',typ='R' ),
5535 V33 =SIMP(statut='f',typ='R' ),
5536 PRES11 =SIMP(statut='f',typ='R' ),
5537 PRES12 =SIMP(statut='f',typ='R' ),
5538 PRES13 =SIMP(statut='f',typ='R' ),
5539 PRES21 =SIMP(statut='f',typ='R' ),
5540 PRES22 =SIMP(statut='f',typ='R' ),
5541 PRES23 =SIMP(statut='f',typ='R' ),
5542 PRES31 =SIMP(statut='f',typ='R' ),
5543 PRES32 =SIMP(statut='f',typ='R' ),
5544 PRES33 =SIMP(statut='f',typ='R' ),
5545 LH1 =SIMP(statut='f',typ='R' ),
5546 GLIS =SIMP(statut='f',typ='R' ),
5551 DDL_POUTRE =FACT(statut='f',max='**',
5552 fr="Bloque des DDLs dans un repère local d'une poutre",
5553 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
5554 AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ'),
5555 UN_PARMI('VECT_Y','ANGL_VRIL'),),
5556 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5557 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5558 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
5559 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5560 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5561 SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5562 SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5563 SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5564 SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
5567 DX =SIMP(statut='f',typ='R' ),
5568 DY =SIMP(statut='f',typ='R' ),
5569 DZ =SIMP(statut='f',typ='R' ),
5570 DRX =SIMP(statut='f',typ='R' ),
5571 DRY =SIMP(statut='f',typ='R' ),
5572 DRZ =SIMP(statut='f',typ='R' ),
5573 # définition du repère local
5574 VECT_Y =SIMP(statut='f',typ='R',min=3,max=3),
5575 ANGL_VRIL =SIMP(statut='f',typ='R',),
5576 # restriction sur les mailles servant à définir le repère local
5577 GROUP_MA_REPE =SIMP(statut='f',typ=grma,),
5578 MAILLE_REPE =SIMP(statut='f',typ=ma,),
5583 FACE_IMPO =FACT(statut='f',max='**',
5584 fr="Impose à tous les noeuds d'une face une ou plusieurs valeurs de déplacement (ou de certaines grandeurs associées)",
5585 regles=(UN_PARMI('GROUP_MA','MAILLE',),
5586 AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
5587 'TEMP','PRE1','PRE2','DNOR','DTAN'),
5588 EXCLUS('DNOR','DX'),
5589 EXCLUS('DNOR','DY'),
5590 EXCLUS('DNOR','DZ'),
5591 EXCLUS('DNOR','DRX'),
5592 EXCLUS('DNOR','DRY'),
5593 EXCLUS('DNOR','DRZ'),
5594 EXCLUS('DTAN','DX'),
5595 EXCLUS('DTAN','DY'),
5596 EXCLUS('DTAN','DZ'),
5597 EXCLUS('DTAN','DRX'),
5598 EXCLUS('DTAN','DRY'),
5599 EXCLUS('DTAN','DRZ'),),
5600 # rajout d'un mot clé REPERE :/ LOCAL /GLOBAL
5601 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5602 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5603 SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5604 SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5605 SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5606 SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
5607 DX =SIMP(statut='f',typ='R' ),
5608 DY =SIMP(statut='f',typ='R' ),
5609 DZ =SIMP(statut='f',typ='R' ),
5610 DRX =SIMP(statut='f',typ='R' ),
5611 DRY =SIMP(statut='f',typ='R' ),
5612 DRZ =SIMP(statut='f',typ='R' ),
5613 DNOR =SIMP(statut='f',typ='R' ),
5614 DTAN =SIMP(statut='f',typ='R' ),
5615 GRX =SIMP(statut='f',typ='R' ),
5616 PRES =SIMP(statut='f',typ='R' ),
5617 PHI =SIMP(statut='f',typ='R' ),
5618 TEMP =SIMP(statut='f',typ='R' ),
5619 PRE1 =SIMP(statut='f',typ='R' ),
5620 PRE2 =SIMP(statut='f',typ='R' ),
5623 CHAMNO_IMPO =FACT(statut='f',max='**',
5624 fr="Impose des DDLs aux valeurs d'un concept cham_no_sdaster",
5625 # type de cham_no_sdaster CO()
5626 CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), #CO()
5627 COEF_MULT =SIMP(statut='o',typ='R' ),
5628 NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
5631 ARETE_IMPO =FACT(statut='f',max='**',
5632 fr="Impose à tous les noeuds d'une arete des elements 3D une ou plusieurs valeurs de déplacement",
5633 regles=(UN_PARMI('GROUP_MA','MAILLE',),
5634 AU_MOINS_UN('DX','DY','DZ','DTAN','PRES','PHI','TEMP','PRE1','PRE2'),
5635 EXCLUS('DTAN','DX'),
5636 EXCLUS('DTAN','DY'),
5637 EXCLUS('DTAN','DZ'),),
5638 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5639 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5640 SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5641 SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5642 SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5643 SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
5644 DX =SIMP(statut='f',typ='R' ),
5645 DY =SIMP(statut='f',typ='R' ),
5646 DZ =SIMP(statut='f',typ='R' ),
5647 DTAN =SIMP(statut='f',typ='R' ),
5648 PRE1 =SIMP(statut='f',typ='R' ),
5649 PRE2 =SIMP(statut='f',typ='R' ),
5650 PRES =SIMP(statut='f',typ='R' ),
5651 PHI =SIMP(statut='f',typ='R' ),
5652 TEMP =SIMP(statut='f',typ='R' ),
5655 LIAISON_DDL =FACT(statut='f',max='**',
5656 fr="Définit une relation linéaire entre des DDLs de deux ou plusieurs noeuds",
5657 regles=(UN_PARMI('GROUP_NO','NOEUD'),),
5658 GROUP_NO =SIMP(statut='f',typ=grno ,max='**'),
5659 NOEUD =SIMP(statut='f',typ=no ,max='**'),
5660 DDL =SIMP(statut='o',typ='TXM',max='**'),
5661 COEF_MULT =SIMP(statut='o',typ='R' ,max='**'),
5662 COEF_IMPO =SIMP(statut='o',typ='R' ),
5665 LIAISON_OBLIQUE =FACT(statut='f',max='**',
5666 fr="Applique à des noeuds la meme valeur de déplacement définie composante par composante"
5667 +" dans un repère oblique quelconque",
5668 regles=(AU_MOINS_UN('GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
5669 AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ'),),
5670 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5671 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
5672 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5673 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5674 SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5675 SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5676 SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5677 SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
5678 ANGL_NAUT =SIMP(statut='o',typ='R',max=3),
5679 DX =SIMP(statut='f',typ='R' ),
5680 DY =SIMP(statut='f',typ='R' ),
5681 DZ =SIMP(statut='f',typ='R' ),
5682 DRX =SIMP(statut='f',typ='R' ),
5683 DRY =SIMP(statut='f',typ='R' ),
5684 DRZ =SIMP(statut='f',typ='R' ),
5687 LIAISON_GROUP =FACT(statut='f',max='**',
5688 fr="Définit la meme relation linéaire entre certains DDLs de couples de noeuds",
5689 regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
5690 UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),
5691 EXCLUS('GROUP_MA_1','GROUP_NO_2'),
5692 EXCLUS('GROUP_MA_1','NOEUD_2'),
5693 EXCLUS('GROUP_NO_1','GROUP_MA_2'),
5694 EXCLUS('GROUP_NO_1','MAILLE_2'),
5695 EXCLUS('MAILLE_1','GROUP_NO_2'),
5696 EXCLUS('MAILLE_1','NOEUD_2'),
5697 EXCLUS('NOEUD_1','GROUP_MA_2'),
5698 EXCLUS('NOEUD_1','MAILLE_2'),
5699 EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),),
5701 GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5702 MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5703 GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5704 MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5705 GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5706 NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
5707 GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5708 NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
5710 SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
5711 SANS_GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
5712 DDL_1 =SIMP(statut='o',typ='TXM',max='**'),
5713 COEF_MULT_1 =SIMP(statut='o',typ='R' ,max='**'),
5714 DDL_2 =SIMP(statut='o',typ='TXM',max='**'),
5715 COEF_MULT_2 =SIMP(statut='o',typ='R' ,max='**'),
5716 COEF_IMPO =SIMP(statut='o',typ='R' ),
5717 SOMMET =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5718 TRAN =SIMP(statut='f',typ='R',max=3),
5719 ANGL_NAUT =SIMP(statut='f',typ='R',max=3),
5720 CENTRE =SIMP(statut='f',typ='R',max=3),
5723 LIAISON_MAIL =FACT(statut='f',max='**',
5724 fr="Définit des relations linéaires permettant de recoller deux bords d'une structure",
5725 regles=(AU_MOINS_UN('GROUP_MA_MAIT','MAILLE_MAIT'),
5726 AU_MOINS_UN('GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL','NOEUD_ESCL')),
5727 GROUP_MA_MAIT =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5728 MAILLE_MAIT =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5729 GROUP_MA_ESCL =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5730 MAILLE_ESCL =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5731 GROUP_NO_ESCL =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5732 NOEUD_ESCL =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
5734 TYPE_RACCORD =SIMP(statut='o',typ='TXM',defaut="MASSIF",into=("MASSIF","COQUE","COQUE_MASSIF","MASSIF_COQUE",)),
5736 b_MASSIF =BLOC ( condition = "TYPE_RACCORD == 'MASSIF'",
5737 regles=( PRESENT_PRESENT('DDL_MAIT','DDL_ESCL'),),
5738 TRAN =SIMP(statut='f',typ='R',max=3 ),
5739 ANGL_NAUT =SIMP(statut='f',typ='R',max=3 ),
5740 CENTRE =SIMP(statut='f',typ='R',max=3 ),
5741 DDL_MAIT =SIMP(statut='f',typ='TXM',into=("DNOR",) ),
5742 DDL_ESCL =SIMP(statut='f',typ='TXM',into=("DNOR",) ),
5744 b_COQUE_MASSIF =BLOC ( condition = "TYPE_RACCORD == 'COQUE_MASSIF'",
5745 EPAIS =SIMP(statut='o',typ='R'),
5746 CHAM_NORMALE =SIMP(statut='o',typ=cham_no_sdaster),
5748 ELIM_MULT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
5751 LIAISON_CYCL =FACT(statut='f',max='**',
5752 fr="Définit des relations linéaires permettant de recoller les bords de deux parties symétriquement cycliques",
5753 regles=(AU_MOINS_UN('GROUP_MA_MAIT1','MAILLE_MAIT1'),
5754 AU_MOINS_UN('GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL','NOEUD_ESCL'),
5755 PRESENT_PRESENT('DDL_MAIT','DDL_ESCL'),
5757 GROUP_MA_MAIT1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5758 MAILLE_MAIT1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5759 GROUP_MA_MAIT2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5760 MAILLE_MAIT2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5761 GROUP_MA_ESCL =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5762 MAILLE_ESCL =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5763 GROUP_NO_ESCL =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5764 NOEUD_ESCL =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
5765 TRAN =SIMP(statut='f',typ='R',max=3 ),
5766 ANGL_NAUT =SIMP(statut='f',typ='R',max=3 ),
5767 CENTRE =SIMP(statut='f',typ='R',max=3 ),
5768 COEF_MAIT1 =SIMP(statut='f',typ='R',max=1 ),
5769 COEF_MAIT2 =SIMP(statut='f',typ='R',max=1 ),
5770 COEF_ESCL =SIMP(statut='f',typ='R',max=1 ),
5771 DDL_MAIT =SIMP(statut='f',typ='TXM',into=("DNOR",) ),
5772 DDL_ESCL =SIMP(statut='f',typ='TXM',into=("DNOR",) ),
5776 LIAISON_SOLIDE =FACT(statut='f',max='**',
5777 fr="Modélise une partie indéformable d'une structure."
5778 +" Le mot clé TRAN permettent d'imposer le déplacement de la partie indéformable.",
5779 regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
5781 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5782 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
5783 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5784 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5785 SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5786 SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5787 SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5788 SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
5790 TRAN =SIMP(statut='f',typ='R',max=3 ),
5791 DIST_MIN =SIMP(statut='f',typ='R'),
5792 NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
5795 LIAISON_ELEM =FACT(statut='f',max='**',
5796 fr="Modélise le raccord : d'une partie massive 3D avec une poutre ou avec un tuyau, d'une coque"
5797 +" avec une poutre ou avec un tuyau, d'une plaque avec une poutre",
5798 regles =(UN_PARMI('GROUP_MA_1','MAILLE_1'), UN_PARMI('GROUP_NO_2','NOEUD_2'),),
5799 OPTION =SIMP(statut='o',typ='TXM',into=("3D_TUYAU","3D_POU","2D_POU","COQ_POU","COQ_TUYAU","PLAQ_POUT_ORTH") ),
5801 GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5802 MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5803 GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5804 NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
5806 b_plaq_pout_orth =BLOC( condition = "OPTION == 'PLAQ_POUT_ORTH'",
5807 VERIF_EXCENT =SIMP(statut='o',typ='TXM',defaut="OUI",into=("OUI","NON") ),
5810 b_cara_pout =BLOC( condition = "OPTION == 'COQ_POU' or OPTION == '3D_TUYAU' or OPTION == 'COQ_TUYAU'",
5811 CARA_ELEM =SIMP(statut='o',typ=(cara_elem) ),
5812 AXE_POUTRE =SIMP(statut='o',typ='R',max=3),
5816 NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
5817 ANGL_MAX =SIMP(statut='f',typ='R',defaut= 1. ),
5821 LIAISON_UNIF =FACT(statut='f',max='**',
5822 fr="Impose une meme valeur (inconnue) à des DDLs d'un ensemble de noeuds",
5823 regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
5825 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5826 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
5827 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5828 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5829 SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5830 SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5831 SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5832 SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
5834 DDL =SIMP(statut='o',typ='TXM',max='**'),
5837 LIAISON_CHAMNO =FACT(statut='f',max='**',
5838 fr="Définit une relation linéaire entre tous les DDLs présents dans un concept CHAM_NO",
5839 # type de cham_no_sdaster CO()
5840 CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), #CO()
5841 COEF_IMPO =SIMP(statut='o',typ='R' ),
5842 NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
5845 LIAISON_RBE3 =FACT(statut='f',max='**',
5846 fr="""Modélise des relations linéaires de type RBE3 entre
5847 les degrés de liberté d'un noeud maître et des noeuds esclaves.""",
5848 regles =(UN_PARMI('GROUP_NO_MAIT','NOEUD_MAIT'), UN_PARMI('GROUP_NO_ESCL','NOEUD_ESCL'),),
5849 GROUP_NO_MAIT =SIMP(statut='f',typ=grno,max=1),
5850 NOEUD_MAIT =SIMP(statut='f',typ=no ,max=1),
5851 DDL_MAIT =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=6,into=('DX','DY','DZ','DRX','DRY','DRZ')),
5852 GROUP_NO_ESCL =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5853 NOEUD_ESCL =SIMP(statut='f',typ=no ,validators=NoRepeat(),min=1,max='**'),
5854 DDL_ESCL =SIMP(statut='o',typ='TXM',min=1,max='**'),
5855 COEF_ESCL =SIMP(statut='f',typ='R',min=1,max='**'),
5856 NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
5859 LIAISON_INTERF =FACT(statut='f',max='**',
5860 fr="Définit une relation linéaire entre les DDLs d'interface à partir d'un MACRELEM",
5861 MACR_ELEM_DYNA =SIMP(statut='o',typ=macr_elem_dyna),
5862 TYPE_LIAISON =SIMP(statut='f',typ='TXM',defaut="RIGIDE",into=("RIGIDE","SOUPLE") ),
5865 # SIMP(statut='f',typ='TXM',defaut="NON" ),
5867 VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster ),
5871 FORCE_NODALE =FACT(statut='f',fr="Applique à des noeuds des forces nodales",max='**',
5872 regles=(AU_MOINS_UN('GROUP_NO','NOEUD'),
5873 AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ' ),),
5874 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
5875 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
5876 FX =SIMP(statut='f',typ='R' ),
5877 FY =SIMP(statut='f',typ='R' ),
5878 FZ =SIMP(statut='f',typ='R' ),
5879 MX =SIMP(statut='f',typ='R' ),
5880 MY =SIMP(statut='f',typ='R' ),
5881 MZ =SIMP(statut='f',typ='R' ),
5882 ANGL_NAUT =SIMP(statut='f',typ='R',max=3),
5885 FORCE_FACE =FACT(statut='f',max='**',
5886 fr="Applique des forces surfaciques sur une face d'élément volumique",
5887 regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
5888 AU_MOINS_UN('FX','FY','FZ'),),
5889 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5890 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5891 FX =SIMP(statut='f',typ='R' ),
5892 FY =SIMP(statut='f',typ='R' ),
5893 FZ =SIMP(statut='f',typ='R' ),
5896 FORCE_ARETE =FACT(statut='f',max='**',
5897 fr="Applique des forces linéiques à une arete d'élément volumique ou de coque",
5898 regles=(AU_MOINS_UN('GROUP_MA','MAILLE',),
5899 AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ' ),),
5900 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5901 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5902 FX =SIMP(statut='f',typ='R' ),
5903 FY =SIMP(statut='f',typ='R' ),
5904 FZ =SIMP(statut='f',typ='R' ),
5905 MX =SIMP(statut='f',typ='R' ),
5906 MY =SIMP(statut='f',typ='R' ),
5907 MZ =SIMP(statut='f',typ='R' ),
5910 FORCE_CONTOUR =FACT(statut='f',max='**',
5911 fr="Applique des forces linéiques au bord d'un domaine 2D ou AXIS ou AXIS_FOURIER",
5912 regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
5913 AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
5914 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5915 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5916 FX =SIMP(statut='f',typ='R' ),
5917 FY =SIMP(statut='f',typ='R' ),
5918 FZ =SIMP(statut='f',typ='R' ),
5919 MX =SIMP(statut='f',typ='R' ),
5920 MY =SIMP(statut='f',typ='R' ),
5921 MZ =SIMP(statut='f',typ='R' ),
5924 FORCE_INTERNE =FACT(statut='f',max='**',
5925 fr="Applique des forces volumiques (2D ou 3D) à un domaine volumique",
5926 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
5927 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
5928 AU_MOINS_UN('FX','FY','FZ' ),),
5929 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5930 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5931 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5932 FX =SIMP(statut='f',typ='R' ),
5933 FY =SIMP(statut='f',typ='R' ),
5934 FZ =SIMP(statut='f',typ='R' ),
5937 PRE_SIGM =FACT(statut='f',max='**',
5938 fr="Applique des contraintes volumiques (2D ou 3D) à un domaine volumique",
5939 #INST =SIMP(statut='f',typ='R' ),
5940 SIGM =SIMP(statut='o',typ=(cham_elem,carte_sdaster)),
5943 PRES_REP =FACT(statut='f',max='**',
5944 fr="Applique une pression à un domaine de milieu continu 2D ou 3D, ou à un domaine de coques et tuyaux",
5945 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','FISSURE'),
5946 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE','FISSURE'),
5947 AU_MOINS_UN('PRES','CISA_2D' ),),
5948 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5949 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5950 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5951 FISSURE =SIMP(statut='f',typ=fiss_xfem,min=1,max=100,),
5952 PRES =SIMP(statut='f',typ='R' ),
5953 CISA_2D =SIMP(statut='f',typ='R' ),
5956 EFFE_FOND =FACT(statut='f',max='**',
5957 fr="Calcul l'effet de fond sur une branche de tuyauterie (modélisation 3D) soumise à une pression",
5958 regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),),
5959 GROUP_MA_INT =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
5960 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5961 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5962 PRES =SIMP(statut='o',typ='R' ),
5965 PRE_EPSI =FACT(statut='f',max='**',
5966 fr="Applique un chargement de déformation initiale à un élément 2D, 3D ou de structure",
5967 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
5968 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
5969 AU_MOINS_UN('EPXX','EPYY','EPZZ','EPXY','EPXZ','EPYZ','EPX',
5970 'KY','KZ','EXX','EYY','EXY','KXX','KYY','KXY'),),
5971 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5972 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5973 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5974 EPXX =SIMP(statut='f',typ='R' ),
5975 EPYY =SIMP(statut='f',typ='R' ),
5976 EPZZ =SIMP(statut='f',typ='R' ),
5977 EPXY =SIMP(statut='f',typ='R' ),
5978 EPXZ =SIMP(statut='f',typ='R' ),
5979 EPYZ =SIMP(statut='f',typ='R' ),
5980 EPX =SIMP(statut='f',typ='R' ),
5981 KY =SIMP(statut='f',typ='R' ),
5982 KZ =SIMP(statut='f',typ='R' ),
5983 EXX =SIMP(statut='f',typ='R' ),
5984 EYY =SIMP(statut='f',typ='R' ),
5985 EXY =SIMP(statut='f',typ='R' ),
5986 KXX =SIMP(statut='f',typ='R' ),
5987 KYY =SIMP(statut='f',typ='R' ),
5988 KXY =SIMP(statut='f',typ='R' ),
5991 FORCE_POUTRE =FACT(statut='f',max='**',
5992 fr="Applique des forces linéiques sur des éléments de type poutre",
5993 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
5994 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
5996 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
5997 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
5998 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
5999 TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE",) ),
6000 # rajour d'un mot clé REPERE :/ LOCAL /GLOBAL
6001 b_force = BLOC(condition = "TYPE_CHARGE == 'FORCE'",
6003 AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','N','VY','VZ','MT','MFY','MFZ'),
6004 PRESENT_ABSENT('FX','N','VY','VZ','MT','MFY','MFZ'),
6005 PRESENT_ABSENT('FY','N','VY','VZ','MT','MFY','MFZ'),
6006 PRESENT_ABSENT('FZ','N','VY','VZ','MT','MFY','MFZ'),
6007 PRESENT_ABSENT('MX','N','VY','VZ','MT','MFY','MFZ'),
6008 PRESENT_ABSENT('MY','N','VY','VZ','MT','MFY','MFZ'),
6009 PRESENT_ABSENT('MZ','N','VY','VZ','MT','MFY','MFZ'),
6010 PRESENT_ABSENT('N','FX','FY','FZ','MX','MY','MZ'),
6011 PRESENT_ABSENT('VY','FX','FY','FZ','MX','MY','MZ'),
6012 PRESENT_ABSENT('VZ','FX','FY','FZ','MX','MY','MZ'),
6013 PRESENT_ABSENT('MT','FX','FY','FZ','MX','MY','MZ'),
6014 PRESENT_ABSENT('MFY','FX','FY','FZ','MX','MY','MZ'),
6015 PRESENT_ABSENT('MFZ','FX','FY','FZ','MX','MY','MZ'),),
6016 FX =SIMP(statut='f',typ='R' ),
6017 FY =SIMP(statut='f',typ='R' ),
6018 FZ =SIMP(statut='f',typ='R' ),
6019 MX =SIMP(statut='f',typ='R' ),
6020 MY =SIMP(statut='f',typ='R' ),
6021 MZ =SIMP(statut='f',typ='R' ),
6022 N =SIMP(statut='f',typ='R' ),
6023 VY =SIMP(statut='f',typ='R' ),
6024 VZ =SIMP(statut='f',typ='R' ),
6025 MT =SIMP(statut='f',typ='R' ),
6026 MFY =SIMP(statut='f',typ='R' ),
6027 MFZ =SIMP(statut='f',typ='R' ),
6029 b_vent = BLOC(condition = "TYPE_CHARGE == 'VENT'",
6031 AU_MOINS_UN('FX','FY','FZ','N','VY','VZ',),
6032 PRESENT_ABSENT('FX','N','VY','VZ',),
6033 PRESENT_ABSENT('FY','N','VY','VZ',),
6034 PRESENT_ABSENT('FZ','N','VY','VZ',),
6035 PRESENT_ABSENT('N','FX','FY','FZ',),
6036 PRESENT_ABSENT('VY','FX','FY','FZ',),
6037 PRESENT_ABSENT('VZ','FX','FY','FZ',),),
6038 FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6039 FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6040 FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6041 N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6042 VY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6043 VZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6048 FORCE_TUYAU =FACT(statut='f',max='**',
6049 fr="Applique une pression sur des éléments TUYAU",
6050 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
6051 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
6052 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6053 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6054 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6055 PRES =SIMP(statut='f',typ='R' ),
6058 FORCE_COQUE =FACT(statut='f',max='**',
6059 fr="Applique des forces surfaciques sur des éléments de types coques",
6060 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
6061 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
6062 AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','PRES','F1','F2','F3','MF1','MF2'),
6063 PRESENT_ABSENT('FX','PRES','F1','F2','F3','MF1','MF2'),
6064 PRESENT_ABSENT('FY','PRES','F1','F2','F3','MF1','MF2'),
6065 PRESENT_ABSENT('FZ','PRES','F1','F2','F3','MF1','MF2'),
6066 PRESENT_ABSENT('MX','PRES','F1','F2','F3','MF1','MF2'),
6067 PRESENT_ABSENT('MY','PRES','F1','F2','F3','MF1','MF2'),
6068 PRESENT_ABSENT('MZ','PRES','F1','F2','F3','MF1','MF2'),
6069 PRESENT_ABSENT('F1','FX','FY','FZ','MX','MY','MZ','PRES'),
6070 PRESENT_ABSENT('F2','FX','FY','FZ','MX','MY','MZ','PRES'),
6071 PRESENT_ABSENT('F3','FX','FY','FZ','MX','MY','MZ','PRES'),
6072 PRESENT_ABSENT('MF1','FX','FY','FZ','MX','MY','MZ','PRES'),
6073 PRESENT_ABSENT('MF2','FX','FY','FZ','MX','MY','MZ','PRES'),
6074 PRESENT_ABSENT('PRES','FX','FY','FZ','MX','MY','MZ','F1','F2','F3','MF1','MF2'),),
6075 # rajour d'un mot clé REPERE :/ LOCAL /GLOBAL
6076 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6077 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6078 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6080 FX =SIMP(statut='f',typ='R' ),
6081 FY =SIMP(statut='f',typ='R' ),
6082 FZ =SIMP(statut='f',typ='R' ),
6083 MX =SIMP(statut='f',typ='R' ),
6084 MY =SIMP(statut='f',typ='R' ),
6085 MZ =SIMP(statut='f',typ='R' ),
6087 F1 =SIMP(statut='f',typ='R' ),
6088 F2 =SIMP(statut='f',typ='R' ),
6089 F3 =SIMP(statut='f',typ='R' ),
6090 MF1 =SIMP(statut='f',typ='R' ),
6091 MF2 =SIMP(statut='f',typ='R' ),
6093 PRES =SIMP(statut='f',typ='R' ),
6094 PLAN =SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL",) ),
6097 LIAISON_COQUE =FACT(statut='f',max='**',
6098 fr="Permet de représenter le raccord entre des éléments de coques au moyen des relations linéaires",
6099 regles=(AU_MOINS_UN('GROUP_MA_1','MAILLE_1','GROUP_MA_2','MAILLE_2',
6100 'GROUP_NO_1','NOEUD_1','GROUP_NO_2','NOEUD_2',),),
6101 GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6102 MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6103 GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6104 NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6105 SANS_GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6106 SANS_MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6107 SANS_GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6108 SANS_NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6109 GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6110 MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6111 GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6112 NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6113 SANS_GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6114 SANS_MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6115 SANS_GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6116 SANS_NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6117 NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
6120 RELA_CINE_BP =FACT(statut='f',max='**',
6121 fr="Etablir des relations cinématiques permettant de relier les noeuds cable aux noeuds du béton, et spécifier"
6122 +" la prise en compte des contraintes initiales dans les cables",
6123 CABLE_BP =SIMP(statut='o',typ=cabl_precont ),
6124 SIGM_BPEL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
6125 RELA_CINE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
6126 DIST_MIN =SIMP(statut='f',typ='R'),
6129 FORCE_ELEC =FACT(statut='f',max='**',
6130 fr="Appliquer la force de LAPLACE agissant sur un conducteur principal, due à la présence d'un conducteur"
6131 +" secondaire droit",
6132 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
6133 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
6135 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6136 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6137 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6139 POSITION =SIMP(statut='f',typ='TXM',fr="Direction prédéfinie",into=("PARA","INFI","FINI",) ),
6140 b_fxyz =BLOC ( condition = "POSITION == None",
6141 FX =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6142 FY =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6143 FZ =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
6146 b_para =BLOC ( condition = "POSITION == 'PARA'",
6147 regles=(UN_PARMI('TRANS','DIST'),),
6148 TRANS =SIMP(statut='f',typ='R',max=3),
6149 DIST =SIMP(statut='f',typ='R' ),
6150 b_point2 =BLOC ( condition = "DIST != None",
6151 POINT2 =SIMP(statut='o',typ='R',max=3),
6154 b_fini_infi =BLOC ( condition = "(POSITION == 'FINI') or (POSITION == 'INFI')",
6155 POINT1 =SIMP(statut='o',typ='R',max=3),
6156 POINT2 =SIMP(statut='o',typ='R',max=3),
6163 INTE_ELEC =FACT(statut='f',max='**',
6164 fr="Appliquer la force de LAPLACE agissant sur un conducteur principal, due à la présence d'un conducteur"
6165 +" secondaire non nécessairement droit",
6166 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
6167 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
6168 AU_MOINS_UN('GROUP_MA_2','MAILLE_2','TRANS','SYME'),
6169 EXCLUS('TRANS','SYME'),),
6170 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6171 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6172 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6173 GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6174 MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6175 TRANS =SIMP(statut='f',typ='R' ,max='**'),
6176 SYME =SIMP(statut='f',typ='R' ,max='**'),
6180 IMPE_FACE =FACT(statut='f',fr="Applique une impédance acoustique à une face",max='**',
6181 regles=(AU_MOINS_UN('GROUP_MA','MAILLE' ),),
6182 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6183 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6184 IMPE =SIMP(statut='o',typ='R' ),
6187 VITE_FACE =FACT(statut='f',fr="Impose des vitesses normales à une face (phénomène ACOUSTIQUE), ",max='**',
6188 regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),),
6189 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6190 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6191 VNOR =SIMP(statut='o',typ='R' ),
6196 ONDE_FLUI =FACT(statut='f',max='**',
6197 fr="Applique une amplitude de pression d'onde incidente sinusoidale arrivant normalement à une face",
6198 regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),),
6199 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6200 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6201 PRES =SIMP(statut='o',typ='R' ),
6204 FLUX_THM_REP =FACT(statut='f',max='**',
6205 fr="Applique à un domaine de milieu continu 2D ou 3D un flux de chaleur et/ou un apport de masse fluide"
6206 +" (flux hydraulique)",
6207 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
6208 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
6209 AU_MOINS_UN('FLUN','FLUN_HYDR1','FLUN_HYDR2'),),
6210 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6211 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6212 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6213 FLUN =SIMP(statut='f',typ='R' ),
6214 FLUN_HYDR1 =SIMP(statut='f',typ='R' ),
6215 FLUN_HYDR2 =SIMP(statut='f',typ='R' ),
6217 FORCE_SOL =FACT(statut='f',max=1,
6218 fr="Définition des impédances et forces de sol temporelles",
6219 regles=(UN_PARMI('GROUP_NO_INTERF','SUPER_MAILLE'),
6220 AU_MOINS_UN('UNITE_RESU_MASS','UNITE_RESU_RIGI','UNITE_RESU_AMOR'),),
6221 GROUP_NO_INTERF =SIMP(statut='f',typ=grno,),
6222 SUPER_MAILLE =SIMP(statut='f',typ=ma,),
6223 UNITE_RESU_MASS =SIMP(statut='f',typ='I', ),
6224 UNITE_RESU_RIGI =SIMP(statut='f',typ='I', ),
6225 UNITE_RESU_AMOR =SIMP(statut='f',typ='I', ),
6226 UNITE_RESU_FORC =SIMP(statut='f',typ='I', ),
6229 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
6232 # ======================================================================
6233 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
6234 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6235 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6236 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
6237 # (AT YOUR OPTION) ANY LATER VERSION.
6239 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
6240 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
6241 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
6242 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
6244 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
6245 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
6246 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
6247 # ======================================================================
6248 # person_in_charge: mickael.abbas at edf.fr
6249 AFFE_CHAR_MECA_C=OPER(nom="AFFE_CHAR_MECA_C",op= 7,sd_prod=char_meca,
6250 fr="Affectation de charges et conditions aux limites mécaniques complexes",
6252 UIinfo={"groupes":("Chargements","Mécanique",)},
6253 regles=(AU_MOINS_UN('DDL_IMPO','FORCE_POUTRE','LIAISON_DDL', ),),
6254 MODELE =SIMP(statut='o',typ=modele_sdaster ),
6255 METHODE =SIMP(statut='c',typ='TXM',fr="Stratégie de résolution pour les déplacements imposés",
6256 into=('DUALISATION',),defaut='DUALISATION',),
6257 # METHODE='ELIMINATION' est traité dans le fortran mais dangereux actuellement
6258 DDL_IMPO =FACT(statut='f',max='**',
6259 fr="Impose à des noeuds une ou plusieurs valeurs de déplacement (ou de certaines grandeurs asscociées)",
6260 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD',),
6261 AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI','LIAISON','GLIS' ),),
6262 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6263 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6264 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6265 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6266 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6267 SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6268 SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6269 SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6270 SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6271 LIAISON =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)),
6272 DX =SIMP(statut='f',typ='C' ),
6273 DY =SIMP(statut='f',typ='C' ),
6274 DZ =SIMP(statut='f',typ='C' ),
6275 DRX =SIMP(statut='f',typ='C' ),
6276 DRY =SIMP(statut='f',typ='C' ),
6277 DRZ =SIMP(statut='f',typ='C' ),
6278 GRX =SIMP(statut='f',typ='C' ),
6279 PRES =SIMP(statut='f',typ='C' ),
6280 PHI =SIMP(statut='f',typ='C' ),
6281 GLIS =SIMP(statut='f',typ='C' ),
6283 FORCE_POUTRE =FACT(statut='f',max='**',
6284 fr="Applique des forces linéiques sur des éléments de type poutre",
6285 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
6286 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
6287 AU_MOINS_UN('FX','FY','FZ','N','VY','VZ',),
6288 PRESENT_ABSENT('FX','N','VY','VZ',),
6289 PRESENT_ABSENT('FY','N','VY','VZ',),
6290 PRESENT_ABSENT('FZ','N','VY','VZ',),
6291 PRESENT_ABSENT('N','FX','FY','FZ',),
6292 PRESENT_ABSENT('VY', 'FX','FY','FZ',),
6293 PRESENT_ABSENT('VZ','FX','FY','FZ', ),),
6294 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6295 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6296 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6297 TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE") ),
6298 FX =SIMP(statut='f',typ='C' ),
6299 FY =SIMP(statut='f',typ='C' ),
6300 FZ =SIMP(statut='f',typ='C' ),
6301 N =SIMP(statut='f',typ='C' ),
6302 VY =SIMP(statut='f',typ='C' ),
6303 VZ =SIMP(statut='f',typ='C' ),
6305 LIAISON_DDL =FACT(statut='f',max='**',
6306 fr="Définit une relation linéaire entre les DDLs de deux ou plusieurs noeuds",
6307 regles=(UN_PARMI('GROUP_NO','NOEUD', ),),
6308 GROUP_NO =SIMP(statut='f',typ=grno,max='**'),
6309 NOEUD =SIMP(statut='f',typ=no ,max='**'),
6310 DDL =SIMP(statut='o',typ='TXM',max='**'),
6311 COEF_MULT =SIMP(statut='o',typ='R' ,max='**'),
6312 COEF_IMPO =SIMP(statut='o',typ='C' ),
6314 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
6317 # ======================================================================
6318 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
6319 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6320 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6321 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
6322 # (AT YOUR OPTION) ANY LATER VERSION.
6324 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
6325 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
6326 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
6327 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
6329 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
6330 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
6331 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
6332 # ======================================================================
6333 # person_in_charge: mickael.abbas at edf.fr
6334 AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
6335 fr="Affectation de charges et conditions aux limites mécaniques fonction d'un (ou plusieurs) paramètres",
6337 UIinfo={"groupes":("Chargements","Mécanique",)},
6338 regles=(AU_MOINS_UN('DDL_IMPO','FACE_IMPO','LIAISON_DDL','FORCE_NODALE',
6339 'FORCE_FACE','FORCE_ARETE','FORCE_CONTOUR','FORCE_INTERNE',
6340 'PRES_REP','FORCE_POUTRE','VITE_FACE','IMPE_FACE','ONDE_PLANE',
6341 'LIAISON_OBLIQUE','PRE_EPSI','LIAISON_GROUP','LIAISON_UNIF',
6342 'LIAISON_SOLIDE','FORCE_COQUE','LIAISON_COQUE','FORCE_TUYAU',
6343 'EFFE_FOND','FLUX_THM_REP',),),
6344 VERI_NORM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
6345 MODELE =SIMP(statut='o',typ=modele_sdaster),
6346 METHODE =SIMP(statut='c',typ='TXM',fr="Stratégie de résolution pour les déplacements imposés",
6347 into=('DUALISATION',),defaut='DUALISATION',),
6348 # METHODE='ELIMINATION' est traité dans le fortran mais dangereux actuellement
6350 DDL_IMPO =FACT(statut='f',max='**',
6351 fr="Impose à des noeuds une ou plusieurs valeurs de déplacement (ou de certaines grandeurs asscociées) fournies"
6352 +" par l'intermédiaire d'un concept fonction ",
6353 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
6354 AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
6355 'TEMP','PRE1','PRE2','GONF','LIAISON','H1X',
6356 'H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z',
6357 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','GLIS'),),
6358 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6359 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6360 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6361 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6362 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6363 SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6364 SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6365 SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6366 SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6367 LIAISON =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)),
6368 DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6369 DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6370 DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6371 DRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6372 DRY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6373 DRZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6374 GRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6375 PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6376 PHI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6377 TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6378 PRE1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6379 PRE2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6380 GONF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6381 H1X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6382 H1Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6383 H1Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6384 E1X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6385 E1Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6386 E1Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6387 E2X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6388 E2Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6389 E2Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6390 E3X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6391 E3Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6392 E3Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6393 E4X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6394 E4Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6395 E4Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6396 LAGS_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6397 GLIS =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6400 FACE_IMPO =FACT(statut='f',max='**',
6401 fr="Impose à tous les noeuds d'une face une ou plusieurs valeurs de déplacement (ou de certaines grandeurs associées)"
6402 +" fournies par l'intérmédiaire d'un concept fonction",
6403 regles=(UN_PARMI('GROUP_MA','MAILLE'),
6404 AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI','TEMP','PRE1','PRE2','DNOR','DTAN'),
6405 EXCLUS('DNOR','DX'),
6406 EXCLUS('DNOR','DY'),
6407 EXCLUS('DNOR','DZ'),
6408 EXCLUS('DNOR','DRX'),
6409 EXCLUS('DNOR','DRY'),
6410 EXCLUS('DNOR','DRZ'),
6411 EXCLUS('DTAN','DX'),
6412 EXCLUS('DTAN','DY'),
6413 EXCLUS('DTAN','DZ'),
6414 EXCLUS('DTAN','DRX'),
6415 EXCLUS('DTAN','DRY'),
6416 EXCLUS('DTAN','DRZ'),),
6417 # rajout d un mot cle REPERE : / GLOBAL / LOCAL
6418 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6419 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6420 SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6421 SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6422 SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6423 SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6424 DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6425 DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6426 DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6427 DRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6428 DRY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6429 DRZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6430 GRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6431 PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6432 PHI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6433 TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6434 PRE1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6435 PRE2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6436 DNOR =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6437 DTAN =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6440 LIAISON_DDL =FACT(statut='f',max='**',
6441 fr="Définit une relation linéaire entre des DDLs de deux ou plusieurs noeuds, les valeurs sont fournies par"
6442 +" l'intermediaire d'un concept de type fonction",
6443 regles=(UN_PARMI('GROUP_NO','NOEUD'),UN_PARMI('COEF_MULT','COEF_MULT_FONC'),),
6444 GROUP_NO =SIMP(statut='f',typ=grno,max='**'),
6445 NOEUD =SIMP(statut='f',typ=no ,max='**'),
6446 DDL =SIMP(statut='o',typ='TXM',max='**'),
6447 COEF_MULT =SIMP(statut='f',typ='R',max='**'),
6448 COEF_MULT_FONC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'),
6449 COEF_IMPO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6452 LIAISON_OBLIQUE =FACT(statut='f',max='**',
6453 fr="Applique à des noeuds la meme valeur de déplacement définie composante par composante dans un repère oblique"
6454 +" quelconque, les valeurs sont fournis par l'intermédiaire d'un concept fonction",
6455 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
6456 AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ'),),
6457 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6458 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6459 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6460 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6461 SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6462 SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6463 SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6464 SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6465 ANGL_NAUT =SIMP(statut='o',typ='R',max=3),
6466 DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6467 DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6468 DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6469 DRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6470 DRY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6471 DRZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6474 LIAISON_GROUP =FACT(statut='f',max='**',
6475 fr="Définit la meme relation linéaire entre certains DDLs de couples de noeuds, les valeurs sont fournies par"
6476 +" l'intermédiaire de concept fonction",
6477 regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
6478 UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),
6479 EXCLUS('GROUP_MA_1','GROUP_NO_2'),
6480 EXCLUS('GROUP_MA_1','NOEUD_2'),
6481 EXCLUS('GROUP_NO_1','GROUP_MA_2'),
6482 EXCLUS('GROUP_NO_1','MAILLE_2'),
6483 EXCLUS('MAILLE_1','GROUP_NO_2'),
6484 EXCLUS('MAILLE_1','NOEUD_2'),
6485 EXCLUS('NOEUD_1','GROUP_MA_2'),
6486 EXCLUS('NOEUD_1','MAILLE_2'),
6487 EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),),
6488 GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6489 MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6490 GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6491 NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6492 GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6493 MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6494 GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6495 NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6496 SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6497 SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6498 DDL_1 =SIMP(statut='o',typ='TXM',max='**'),
6499 COEF_MULT_1 =SIMP(statut='o',typ='R',max='**'),
6500 DDL_2 =SIMP(statut='o',typ='TXM',max='**'),
6501 COEF_MULT_2 =SIMP(statut='o',typ='R',max='**'),
6502 COEF_IMPO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6503 SOMMET =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6504 TRAN =SIMP(statut='f',typ='R',max=3),
6505 ANGL_NAUT =SIMP(statut='f',typ='R',max=3),
6506 CENTRE =SIMP(statut='f',typ='R',max=3),
6509 LIAISON_UNIF =FACT(statut='f',max='**',
6510 fr="Impose une meme valeur (inconnue) à des DDLs d'un ensemble de noeuds",
6511 regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
6512 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6513 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6514 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6515 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6516 SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6517 SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6518 SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6519 SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6520 DDL =SIMP(statut='o',typ='TXM',max='**'),
6524 LIAISON_SOLIDE =FACT(statut='f',max='**',
6525 fr="Modélise une partie indéformable d'une structure."
6526 +" Le mot clé TRAN permettent d'imposer le déplacement de la partie indéformable.",
6527 regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
6529 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6530 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6531 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6532 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6533 SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6534 SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6535 SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6536 SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6538 TRAN =SIMP(statut='f',typ='R',max=3 ),
6539 DIST_MIN =SIMP(statut='f',typ='R'),
6540 NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
6545 FORCE_NODALE =FACT(statut='f',max='**',
6546 fr="Applique à des noeuds des forces nodales dont les valeurs des composantes sont fournies par l'intermédiaire"
6547 +" d'un concept fonction",
6548 regles=(UN_PARMI('GROUP_NO','NOEUD'),
6549 AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
6550 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6551 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6552 FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6553 FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6554 FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6555 MX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6556 MY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6557 MZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6558 ANGL_NAUT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max=3 ),
6561 FORCE_FACE =FACT(statut='f',max='**',
6562 fr="Applique des forces surfaciques sur une face d'élément volumique dont les valeurs des composantes sont fournies"
6563 +" par l'intermédiaire d'un concept fonction",
6564 regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
6565 AU_MOINS_UN('FX','FY','FZ'),),
6566 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6567 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6568 FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6569 FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6570 FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6572 FORCE_ARETE =FACT(statut='f',max='**',
6573 fr="Applique des forces linéiques à une arete d'élément volumique ou de coque dont les valeurs des composantes sont"
6574 +" fournies par l'intermédiaire d'un concept fonction",
6575 regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
6576 AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
6577 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6578 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6579 FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6580 FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6581 FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6582 MX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6583 MY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6584 MZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6586 FORCE_CONTOUR =FACT(statut='f',max='**',
6587 fr="Applique des forces linéiques au bord d'un domaine 2D ou AXIS ou AXIS_FOURIER, dont les valeurs des composantes"
6588 +" sont fournies par l'intermédiaire d'un concept fonction",
6589 regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
6590 AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
6591 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6592 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6593 FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6594 FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6595 FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6596 MX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6597 MY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6598 MZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6601 FORCE_INTERNE =FACT(statut='f',max='**',
6602 fr="Applique des forces volumiques (2D ou 3D) à un domaine volumique, dont les valeurs des composantes sont fournies"
6603 +" par l'intermédiaire d'un concept fonction",
6604 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
6605 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
6606 AU_MOINS_UN('FX','FY','FZ'),),
6607 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6608 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6609 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6610 FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6611 FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6612 FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6615 PRES_REP =FACT(statut='f',max='**',
6616 fr="Applique une pression à un domaine de milieu continu 2D ou 3D ou à un domaine de coques et tuyaux, dont les"
6617 +" valeurs imposées (pression et/ou cisaillement) sont fournies par l'intermédiaire d'un concept fonction",
6618 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','FISSURE'),
6619 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE','FISSURE'),
6620 AU_MOINS_UN('PRES','CISA_2D'),),
6621 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6622 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6623 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6624 FISSURE =SIMP(statut='f',typ=fiss_xfem,min=1,max=100,),
6625 PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6626 CISA_2D =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6629 EFFE_FOND =FACT(statut='f',max='**',
6630 fr="Calcul l'effet de fond sur une branche de tuyauterie (modélisation 3D) soumise"
6631 +" à une pression dont la valeur est fournie par l'intermédiaire d'un concept fonction",
6632 regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),),
6633 GROUP_MA_INT =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
6634 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6635 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6636 PRES =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6639 PRE_EPSI =FACT(statut='f',max='**',
6640 fr="Applique un chargement de déformation initiale à un élément 2D, 3D ou de structure dont les composantes"
6641 +" du tenseur de déformation sont fournies par l'intermédiaire d'un concept fonction",
6642 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
6643 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
6644 AU_MOINS_UN('EPXX','EPYY','EPZZ','EPXY','EPXZ','EPYZ'),),
6645 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6646 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6647 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6648 EPXX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6649 EPYY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6650 EPZZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6651 EPXY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6652 EPXZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6653 EPYZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6656 FORCE_POUTRE =FACT(statut='f',max='**',
6657 fr="Applique des forces linéiques sur des éléments de type poutre dont les valeurs sont fournies par"
6658 +" l'intermédiaire d'un concept fonction",
6659 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
6660 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
6663 # rajout d un mot cle REPERE : / GLOBAL / LOCAL
6664 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6665 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6666 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6667 TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE") ),
6668 # moment interdit avec VENT
6669 b_force = BLOC(condition = "TYPE_CHARGE == 'FORCE'",
6671 AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','N','VY','VZ','MT','MFY','MFZ'),
6672 PRESENT_ABSENT('FX','N','VY','VZ','MT','MFY','MFZ'),
6673 PRESENT_ABSENT('FY','N','VY','VZ','MT','MFY','MFZ'),
6674 PRESENT_ABSENT('FZ','N','VY','VZ','MT','MFY','MFZ'),
6675 PRESENT_ABSENT('MX','N','VY','VZ','MT','MFY','MFZ'),
6676 PRESENT_ABSENT('MY','N','VY','VZ','MT','MFY','MFZ'),
6677 PRESENT_ABSENT('MZ','N','VY','VZ','MT','MFY','MFZ'),
6678 PRESENT_ABSENT('N','FX','FY','FZ','MX','MY','MZ'),
6679 PRESENT_ABSENT('VY','FX','FY','FZ','MX','MY','MZ'),
6680 PRESENT_ABSENT('VZ','FX','FY','FZ','MX','MY','MZ'),
6681 PRESENT_ABSENT('MT','FX','FY','FZ','MX','MY','MZ'),
6682 PRESENT_ABSENT('MFY','FX','FY','FZ','MX','MY','MZ'),
6683 PRESENT_ABSENT('MFZ','FX','FY','FZ','MX','MY','MZ'),),
6684 FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6685 FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6686 FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6687 MX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6688 MY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6689 MZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6690 N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6691 VY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6692 VZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6693 MT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6694 MFY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6695 MFZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6697 b_vent = BLOC(condition = "TYPE_CHARGE == 'VENT'",
6699 AU_MOINS_UN('FX','FY','FZ','N','VY','VZ',),
6700 PRESENT_ABSENT('FX','N','VY','VZ',),
6701 PRESENT_ABSENT('FY','N','VY','VZ',),
6702 PRESENT_ABSENT('FZ','N','VY','VZ',),
6703 PRESENT_ABSENT('N','FX','FY','FZ',),
6704 PRESENT_ABSENT('VY','FX','FY','FZ',),
6705 PRESENT_ABSENT('VZ','FX','FY','FZ',),),
6706 FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6707 FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6708 FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6709 N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6710 VY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6711 VZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6715 FORCE_TUYAU =FACT(statut='f',max='**',
6716 fr="Applique une pression sur des éléments TUYAU, la valeur est fournie par l'intermédiaire d'un concept fonction",
6717 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
6718 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
6719 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6720 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6721 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6722 PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6725 FORCE_COQUE =FACT(statut='f',max='**',
6726 fr="Applique des forces surfaciques sur des éléments de types coques dont les valeurs sont fournies par"
6727 +" l'intermédiaires d'un concept fonction",
6728 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
6729 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
6730 AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','PRES','F1','F2','F3','MF1','MF2'),
6731 PRESENT_ABSENT('FX','PRES','F1','F2','F3','MF1','MF2'),
6732 PRESENT_ABSENT('FY','PRES','F1','F2','F3','MF1','MF2'),
6733 PRESENT_ABSENT('FZ','PRES','F1','F2','F3','MF1','MF2'),
6734 PRESENT_ABSENT('MX','PRES','F1','F2','F3','MF1','MF2'),
6735 PRESENT_ABSENT('MY','PRES','F1','F2','F3','MF1','MF2'),
6736 PRESENT_ABSENT('MZ','PRES','F1','F2','F3','MF1','MF2'),
6737 PRESENT_ABSENT('F1','PRES','FX','FY','FZ','MX','MY','MZ'),
6738 PRESENT_ABSENT('F2','PRES','FX','FY','FZ','MX','MY','MZ'),
6739 PRESENT_ABSENT('F3','PRES','FX','FY','FZ','MX','MY','MZ'),
6740 PRESENT_ABSENT('MF1','PRES','FX','FY','FZ','MX','MY','MZ'),
6741 PRESENT_ABSENT('MF2','PRES','FX','FY','FZ','MX','MY','MZ'),
6742 PRESENT_ABSENT('PRES','FX','FY','FZ','MX','MY','MZ','F1','F2','F3','MF1','MF2'),),
6743 # rajout d un mot cle REPERE : / GLOBAL / LOCAL
6744 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6745 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6746 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6747 FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6748 FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6749 FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6750 MX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6751 MY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6752 MZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6753 F1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6754 F2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6755 F3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6756 MF1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6757 MF2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6758 PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6759 PLAN =SIMP(statut='f',typ='TXM',defaut="MAIL",
6760 into=("SUP","INF","MOY","MAIL") ),
6763 LIAISON_COQUE =FACT(statut='f',max='**',
6764 fr="Permet de représenter le raccord entre des éléments de coques au moyen des relations linéaires",
6765 regles=(AU_MOINS_UN('GROUP_MA_1','MAILLE_1','GROUP_MA_2','MAILLE_2',
6766 'GROUP_NO_1','NOEUD_1','GROUP_NO_2','NOEUD_2',),),
6767 GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6768 MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6769 GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6770 NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6771 SANS_GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6772 SANS_MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6773 SANS_GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6774 SANS_NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6775 GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6776 MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6777 GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6778 NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6779 SANS_GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6780 SANS_MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6781 SANS_GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6782 SANS_NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6783 NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES",) ),
6787 VITE_FACE =FACT(statut='f',max='**',
6788 fr="Impose des vitesses normales à une face (phénomène ACOUSTIQUE) dont les valeurs sont fournies par"
6789 +" l'intermédiaire d'un concept fonction",
6790 regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
6791 PRESENT_ABSENT('GROUP_MA','MAILLE'),),
6792 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6793 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6794 VNOR =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6796 IMPE_FACE =FACT(statut='f',max='**',
6797 fr="Applique à une face une impédance acoustique dont la valeur est fournie par l'intermédiaire"
6798 +" d'un concept fonction",
6799 regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
6800 PRESENT_ABSENT('GROUP_MA','MAILLE'),),
6801 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6802 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6803 IMPE =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6805 ONDE_PLANE =FACT(statut='f',max=1,
6806 fr="Impose un chargement sismique par onde plane dont la valeur est fournie par l'intermédiaire"
6807 +" d'un concept fonction",
6808 regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
6809 PRESENT_ABSENT('GROUP_MA','MAILLE'),),
6810 DIRECTION =SIMP(statut='o',typ='R',min=3, max=3),
6811 TYPE_ONDE =SIMP(statut='o',typ='TXM', into=("S", "P", "SV", "SH",) ),
6812 FONC_SIGNAL =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6813 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6814 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6819 FLUX_THM_REP =FACT(statut='f',max='**',
6820 fr="Applique à un domaine continue 2D ou 3D un flux de chaleur et/ou un apport de masse fluide (flux hydraulique)"
6821 +" dont les valeurs des flux sont fournies par l'intermédiaire d'un concept fonction",
6822 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
6823 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
6824 AU_MOINS_UN('FLUN','FLUN_HYDR1','FLUN_HYDR2'),),
6825 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6826 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6827 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6828 FLUN =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6829 FLUN_HYDR1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6830 FLUN_HYDR2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
6833 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
6836 # ======================================================================
6837 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
6838 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6839 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6840 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
6841 # (AT YOUR OPTION) ANY LATER VERSION.
6843 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
6844 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
6845 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
6846 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
6848 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
6849 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
6850 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
6851 # ======================================================================
6852 # person_in_charge: mickael.abbas at edf.fr
6853 AFFE_CHAR_THER=OPER(nom="AFFE_CHAR_THER",op=34,sd_prod=char_ther
6854 ,fr="Affectation de charges et conditions aux limites thermiques constantes",
6856 UIinfo={"groupes":("Chargements","Thermique",)},
6857 regles=(AU_MOINS_UN('TEMP_IMPO','SOURCE','FLUX_REP','ECHANGE',
6858 'ECHANGE_PAROI','PRE_GRAD_TEMP','LIAISON_DDL','LIAISON_GROUP',
6859 'LIAISON_UNIF','LIAISON_CHAMNO','RAYONNEMENT','LIAISON_MAIL' ),),
6860 MODELE =SIMP(statut='o',typ=(modele_sdaster) ),
6861 METHODE =SIMP(statut='c',typ='TXM',fr="Stratégie de résolution pour les températures imposées",
6862 into=('DUALISATION',),defaut='DUALISATION',),
6863 # METHODE='ELIMINATION' est traité dans le fortran mais dangereux actuellement
6865 TEMP_IMPO =FACT(statut='f',max='**',
6866 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
6867 AU_MOINS_UN('TEMP','TEMP_MIL','TEMP_SUP','TEMP_INF'),),
6868 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6869 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6870 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6871 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6872 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6873 SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6874 SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6875 SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6876 SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6877 TEMP =SIMP(statut='f',typ='R'),
6878 TEMP_MIL =SIMP(statut='f',typ='R'),
6879 TEMP_INF =SIMP(statut='f',typ='R'),
6880 TEMP_SUP =SIMP(statut='f',typ='R'), ),
6882 FLUX_REP =FACT(statut='f',max='**',
6883 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
6884 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
6885 PRESENT_PRESENT('CARA_TORSION','GROUP_MA'),
6886 AU_MOINS_UN('FLUN','FLUN_INF','FLUN_SUP','CARA_TORSION') ),
6887 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6888 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6889 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6890 FLUN =SIMP(statut='f',typ='R'),
6891 FLUN_INF =SIMP(statut='f',typ='R'),
6892 FLUN_SUP =SIMP(statut='f',typ='R'),
6893 CARA_TORSION =SIMP(statut='f',typ=table_sdaster),
6897 RAYONNEMENT =FACT(statut='f',max='**',
6898 fr="Attention, exprimer les températures en Celsius si rayonnement",
6899 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
6900 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
6901 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6902 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6903 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6904 SIGMA =SIMP(statut='o',typ='R'),
6905 EPSILON =SIMP(statut='o',typ='R'),
6906 TEMP_EXT =SIMP(statut='o',typ='R'),
6909 ECHANGE =FACT(statut='f',max='**',
6910 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
6911 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
6912 AU_MOINS_UN('COEF_H','COEF_H_INF','COEF_H_SUP'),
6913 ENSEMBLE('COEF_H','TEMP_EXT',),
6914 ENSEMBLE('COEF_H_INF','TEMP_EXT_INF'),
6915 ENSEMBLE('COEF_H_SUP','TEMP_EXT_SUP'),),
6916 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6917 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6918 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6919 COEF_H =SIMP(statut='f',typ='R'),
6920 TEMP_EXT =SIMP(statut='f',typ='R'),
6921 COEF_H_INF =SIMP(statut='f',typ='R'),
6922 TEMP_EXT_INF =SIMP(statut='f',typ='R'),
6923 COEF_H_SUP =SIMP(statut='f',typ='R'),
6924 TEMP_EXT_SUP =SIMP(statut='f',typ='R'),
6927 SOURCE =FACT(statut='f',max='**',
6928 regles=(UN_PARMI('SOUR','SOUR_CALCULEE',),
6929 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
6930 PRESENT_ABSENT('SOUR_CALCULEE','TOUT','GROUP_MA','MAILLE'),),
6931 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6932 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6933 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6934 SOUR =SIMP(statut='f',typ='R'),
6935 SOUR_CALCULEE =SIMP(statut='f',typ=(cham_elem) ),
6938 PRE_GRAD_TEMP =FACT(statut='f',max='**',
6939 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
6940 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
6941 AU_MOINS_UN('FLUX_X','FLUX_Y','FLUX_Z'),),
6942 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6943 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6944 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6945 FLUX_X =SIMP(statut='f',typ='R' ),
6946 FLUX_Y =SIMP(statut='f',typ='R' ),
6947 FLUX_Z =SIMP(statut='f',typ='R' ),
6950 LIAISON_DDL =FACT(statut='f',max='**',
6951 regles=(UN_PARMI('GROUP_NO','NOEUD', ),),
6952 GROUP_NO =SIMP(statut='f',typ=grno,max='**'),
6953 NOEUD =SIMP(statut='f',typ=no ,max='**'),
6954 DDL =SIMP(statut='f',typ='TXM',max='**',
6955 into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ),
6956 COEF_MULT =SIMP(statut='o',typ='R',max='**'),
6957 COEF_IMPO =SIMP(statut='o',typ='R' ),
6960 LIAISON_GROUP =FACT(statut='f',max='**',
6961 regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
6962 UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),
6963 EXCLUS('GROUP_MA_1','GROUP_NO_2'),
6964 EXCLUS('GROUP_MA_1','NOEUD_2'),
6965 EXCLUS('GROUP_NO_1','GROUP_MA_2'),
6966 EXCLUS('GROUP_NO_1','MAILLE_2'),
6967 EXCLUS('MAILLE_1','GROUP_NO_2'),
6968 EXCLUS('MAILLE_1','NOEUD_2'),
6969 EXCLUS('NOEUD_1','GROUP_MA_2'),
6970 EXCLUS('NOEUD_1','MAILLE_2'),
6971 EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),),
6972 GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6973 MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6974 GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6975 NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6976 GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
6977 MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
6978 GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6979 NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6980 SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
6981 SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
6982 DDL_1 =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
6983 into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ),
6984 COEF_MULT_1 =SIMP(statut='o',typ='R',max='**'),
6985 DDL_2 =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
6986 into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP",) ),
6987 COEF_MULT_2 =SIMP(statut='o',typ='R',max='**'),
6988 COEF_IMPO =SIMP(statut='o',typ='R' ),
6989 SOMMET =SIMP(statut='f',typ='TXM',into=("OUI",) ),
6990 TRAN =SIMP(statut='f',typ='R',max='**'),
6991 ANGL_NAUT =SIMP(statut='f',typ='R',max='**'),
6992 CENTRE =SIMP(statut='f',typ='R',max='**'),
6995 LIAISON_MAIL =FACT(statut='f',max='**',
6996 regles=(AU_MOINS_UN('GROUP_MA_MAIT','MAILLE_MAIT'),
6997 AU_MOINS_UN('GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL',
6999 GROUP_MA_MAIT =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7000 MAILLE_MAIT =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
7001 GROUP_MA_ESCL =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7002 MAILLE_ESCL =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
7003 GROUP_NO_ESCL =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
7004 NOEUD_ESCL =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
7005 TRAN =SIMP(statut='f',typ='R',max='**' ),
7006 ANGL_NAUT =SIMP(statut='f',typ='R',max='**' ),
7007 CENTRE =SIMP(statut='f',typ='R',max='**' ),
7008 ELIM_MULT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
7011 ECHANGE_PAROI =FACT(statut='f',max='**',
7012 regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','FISSURE'),
7013 UN_PARMI('GROUP_MA_2','MAILLE_2','FISSURE'),),
7014 GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7015 MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
7016 GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7017 MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
7018 FISSURE =SIMP(statut='f',typ=fiss_xfem,validators=NoRepeat(),min=1,max=100,),
7019 # ----------------------
7020 b_paroi_maillee =BLOC(
7021 condition = "FISSURE == None",
7022 COEF_H =SIMP(statut='o',typ='R'),
7023 TRAN =SIMP(statut='f',typ='R',min=2,max=3),
7025 # ----------------------
7027 condition = "FISSURE != None",
7028 regles =(UN_PARMI('COEF_H','TEMP_CONTINUE'),),
7029 COEF_H =SIMP(statut='f',typ='R'),
7030 TEMP_CONTINUE =SIMP(statut='f',typ='TXM',into=("OUI",)),
7034 LIAISON_UNIF =FACT(statut='f',max='**',
7035 regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
7036 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
7037 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
7038 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7039 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
7040 DDL =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
7041 into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ),
7044 LIAISON_CHAMNO =FACT(statut='f',max='**',
7045 CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster),# CO()# "il faut definir une structure de donnee generique chamno"
7046 COEF_IMPO =SIMP(statut='o',typ='R' ),
7047 NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
7050 CONVECTION =FACT(statut='f',max='**',
7051 VITESSE =SIMP(statut='o',typ=(cham_no_sdaster) ),
7055 INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
7058 # ======================================================================
7059 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
7060 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7061 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7062 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
7063 # (AT YOUR OPTION) ANY LATER VERSION.
7065 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
7066 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
7067 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
7068 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
7070 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
7071 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
7072 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
7073 # ======================================================================
7074 # person_in_charge: mickael.abbas at edf.fr
7075 AFFE_CHAR_THER_F=OPER(nom="AFFE_CHAR_THER_F",op=34,sd_prod=char_ther,
7076 fr="Affectation de charges et conditions aux limites thermiques fonction d'un (ou plusieurs)"
7077 +" paramètres (temps, ...)",
7079 UIinfo={"groupes":("Chargements","Thermique",)},
7080 regles=(AU_MOINS_UN('TEMP_IMPO','SOURCE','SOUR_NL','FLUX_REP','FLUX_NL','ECHANGE',
7081 'ECHANGE_PAROI','LIAISON_DDL','LIAISON_GROUP','LIAISON_UNIF',
7082 'PRE_GRAD_TEMP','RAYONNEMENT'),),
7083 MODELE =SIMP(statut='o',typ=(modele_sdaster) ),
7085 TEMP_IMPO =FACT(statut='f',max='**',
7086 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
7087 AU_MOINS_UN('TEMP','TEMP_MIL','TEMP_SUP','TEMP_INF'),),
7088 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7089 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
7090 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
7091 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7092 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
7093 SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7094 SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
7095 SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
7096 SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
7097 TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7098 TEMP_MIL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7099 TEMP_INF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7100 TEMP_SUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7103 FLUX_REP =FACT(statut='f',max='**',
7104 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
7105 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
7106 AU_MOINS_UN('FLUN','FLUN_INF','FLUN_SUP','FLUX_X','FLUX_Y','FLUX_Z'),),
7107 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7108 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7109 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
7110 FLUN =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7111 FLUN_INF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7112 FLUN_SUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7113 FLUX_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7114 FLUX_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7115 FLUX_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7118 FLUX_NL =FACT(statut='f',max='**',
7119 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
7120 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
7121 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7122 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7123 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
7124 FLUN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7128 RAYONNEMENT =FACT(statut='f',max='**',
7129 fr="Attention, exprimer les températures en Celsius si rayonnement",
7130 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
7131 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
7132 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7133 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7134 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
7135 SIGMA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7136 EPSILON =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7137 TEMP_EXT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7142 ECHANGE =FACT(statut='f',max='**',
7143 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
7144 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
7145 AU_MOINS_UN('COEF_H','COEF_H_INF','COEF_H_SUP'),
7146 ENSEMBLE('COEF_H','TEMP_EXT'),
7147 ENSEMBLE('COEF_H_INF','TEMP_EXT_INF'),
7148 ENSEMBLE('COEF_H_SUP','TEMP_EXT_SUP'),),
7149 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7150 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7151 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
7152 COEF_H =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7153 TEMP_EXT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7154 COEF_H_INF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7155 TEMP_EXT_INF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7156 COEF_H_SUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7157 TEMP_EXT_SUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7161 SOURCE =FACT(statut='f',max='**',
7162 regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
7163 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7164 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7165 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
7166 SOUR =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7169 SOUR_NL =FACT(statut='f',max='**',
7170 regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
7171 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7172 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7173 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
7174 SOUR =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7177 PRE_GRAD_TEMP =FACT(statut='f',max='**',
7178 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
7179 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
7180 AU_MOINS_UN('FLUX_X','FLUX_Y','FLUX_Z'),),
7181 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7182 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7183 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
7184 FLUX_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7185 FLUX_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7186 FLUX_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7189 ECHANGE_PAROI =FACT(statut='f',max='**',
7190 regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','FISSURE'),
7191 UN_PARMI('GROUP_MA_2','MAILLE_2','FISSURE'),),
7192 GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7193 MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
7194 GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7195 MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
7196 FISSURE =SIMP(statut='f',typ=fiss_xfem,validators=NoRepeat(),min=1,max=100,),
7197 # ----------------------
7198 b_paroi_maillee =BLOC(
7199 condition = "FISSURE == None",
7200 COEF_H =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
7201 TRAN =SIMP(statut='f',typ='R',min=2,max=3),
7203 # ----------------------
7205 condition = "FISSURE != None",
7206 regles =(UN_PARMI('COEF_H','TEMP_CONTINUE'),),
7207 COEF_H =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
7208 TEMP_CONTINUE =SIMP(statut='f',typ='TXM',into=("OUI",)),
7212 LIAISON_DDL =FACT(statut='f',max='**',
7213 regles=(UN_PARMI('GROUP_NO','NOEUD'),),
7214 GROUP_NO =SIMP(statut='f',typ=grno,max='**'),
7215 NOEUD =SIMP(statut='f',typ=no ,max='**'),
7216 DDL =SIMP(statut='f',typ='TXM',max='**',into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ),
7217 COEF_MULT =SIMP(statut='o',typ='R',max='**'),
7218 COEF_IMPO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7221 LIAISON_GROUP =FACT(statut='f',max='**',
7222 regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
7223 UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),
7224 EXCLUS('GROUP_MA_1','GROUP_NO_2'),
7225 EXCLUS('GROUP_MA_1','NOEUD_2'),
7226 EXCLUS('GROUP_NO_1','GROUP_MA_2'),
7227 EXCLUS('GROUP_NO_1','MAILLE_2'),
7228 EXCLUS('MAILLE_1','GROUP_NO_2'),
7229 EXCLUS('MAILLE_1','NOEUD_2'),
7230 EXCLUS('NOEUD_1','GROUP_MA_2'),
7231 EXCLUS('NOEUD_1','MAILLE_2'),
7232 EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),),
7233 GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7234 MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
7235 GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
7236 NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
7237 GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7238 MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
7239 GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
7240 NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
7241 SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
7242 SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
7243 DDL_1 =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
7244 into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ),
7245 COEF_MULT_1 =SIMP(statut='o',typ='R',max='**'),
7246 DDL_2 =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP",
7247 into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ),
7248 COEF_MULT_2 =SIMP(statut='o',typ='R',max='**'),
7249 COEF_IMPO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
7250 SOMMET =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7251 TRAN =SIMP(statut='f',typ='R',max='**'),
7252 ANGL_NAUT =SIMP(statut='f',typ='R',max='**'),
7253 CENTRE =SIMP(statut='f',typ='R',max='**'),
7256 LIAISON_UNIF =FACT(statut='f',max='**',
7257 regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
7258 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
7259 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
7260 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7261 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
7262 DDL =SIMP(statut='f',typ='TXM',defaut="TEMP",
7263 into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ),
7266 CONVECTION =FACT(statut='f',max='**',
7267 VITESSE =SIMP(statut='o',typ=cham_no_sdaster ),
7270 INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
7273 # ======================================================================
7274 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
7275 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7276 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7277 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
7278 # (AT YOUR OPTION) ANY LATER VERSION.
7280 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
7281 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
7282 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
7283 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
7285 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
7286 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
7287 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
7288 # ======================================================================
7289 # person_in_charge: jacques.pellet at edf.fr
7290 AFFE_MATERIAU=OPER(nom="AFFE_MATERIAU",op=6,sd_prod=cham_mater,
7291 fr="Affecter des matériaux à des zones géométriques d'un maillage",
7293 UIinfo={"groupes":("Modélisation",)},
7294 MAILLAGE =SIMP(statut='o',typ=maillage_sdaster),
7295 MODELE =SIMP(statut='f',typ=modele_sdaster),
7297 # affectation du nom du matériau (par mailles):
7298 # ----------------------------------------------
7299 AFFE =FACT(statut='o',max='**',
7300 regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
7301 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7302 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7303 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
7304 MATER =SIMP(statut='o',typ=mater_sdaster,max=30),
7307 # affectation de comportement (multifibres pour l'instant):
7308 # ----------------------------------------------
7309 AFFE_COMPOR =FACT(statut='f',max='**',
7310 regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
7311 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7312 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7313 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
7314 COMPOR =SIMP(statut='o',typ=compor_sdaster,max=1),
7317 # affectation des variables de commande :
7318 # --------------------------------------------------
7319 # un mot clé caché qui ne sert qu'à boucler sur les VARC possibles :
7320 LIST_NOM_VARC =SIMP(statut='c',typ='TXM', defaut=("TEMP","GEOM","CORR","IRRA","HYDR","SECH","EPSA",
7321 "M_ACIER","M_ZIRC","NEUT1","NEUT2","PTOT","DIVU",)),
7323 AFFE_VARC =FACT(statut='f',max='**',
7324 regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
7325 PRESENT_ABSENT('GROUP_MA','TOUT'),
7326 PRESENT_ABSENT('MAILLE','TOUT'),
7327 # La règle suivante permet de donner VALE_REF sans donner EVOL ni CHAM_GD
7328 # Elle est nécessaire pour la THM (voir doc U4.43.03)
7329 # Mais on ne peut plus l'écrire depuis de VALE_REF est dans un bloc
7330 # AU_MOINS_UN('EVOL','CHAM_GD','VALE_REF'),
7331 EXCLUS('EVOL','CHAM_GD'),
7334 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), # [défaut]
7335 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7336 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
7338 NOM_VARC =SIMP(statut='o',typ='TXM', into=("TEMP","GEOM","CORR","IRRA","HYDR","SECH","EPSA",
7339 "M_ACIER","M_ZIRC","NEUT1","NEUT2","PTOT","DIVU",)),
7340 CHAM_GD =SIMP(statut='f',typ=cham_gd_sdaster,),
7341 EVOL =SIMP(statut='f',typ=evol_sdaster,),
7343 B_EVOL =BLOC(condition="EVOL!=None",
7344 NOM_CHAM =SIMP(statut='f',typ='TXM',into=("TEMP","CORR","IRRA","NEUT","GEOM",
7345 "HYDR_ELNO","HYDR_NOEU",
7346 "META_ELNO","META_NOEU",
7347 "EPSA_ELNO","EPSA_NOEU","PTOT","DIVU",)),
7348 PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
7349 PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
7350 FONC_INST =SIMP(statut='f',typ=(fonction_sdaster,formule)),
7353 # VALE_REF est nécessaire pour certaines VARC :
7354 B_VALE_REF =BLOC(condition="NOM_VARC in ('TEMP','SECH')",
7355 VALE_REF =SIMP(statut='o',typ='R'),
7360 # mots clés cachés pour les variables de commande NEUT1/NEUT2 :
7361 # --------------------------------------------------------------
7362 VARC_NEUT1 =FACT(statut='d',
7363 NOM_VARC =SIMP(statut='c',typ='TXM',defaut="NEUT1"),
7364 GRANDEUR =SIMP(statut='c',typ='TXM',defaut="NEUT_R"),
7365 CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("X1")),
7366 CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("NEUT1")),
7368 VARC_NEUT2 =FACT(statut='d',
7369 NOM_VARC =SIMP(statut='c',typ='TXM',defaut="NEUT2"),
7370 GRANDEUR =SIMP(statut='c',typ='TXM',defaut="NEUT_R"),
7371 CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("X1")),
7372 CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("NEUT2")),
7375 # mots clés cachés pour variable de commande TEMP :
7376 # --------------------------------------------------
7377 VARC_TEMP =FACT(statut='d',
7378 NOM_VARC =SIMP(statut='c',typ='TXM',defaut="TEMP"),
7379 GRANDEUR =SIMP(statut='c',typ='TXM',defaut="TEMP_R"),
7380 CMP_GD =SIMP(statut='c',typ='TXM',max=4,min=4,defaut=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP",)),
7381 CMP_VARC =SIMP(statut='c',typ='TXM',max=4,min=4,defaut=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP",)),
7384 # mots clés cachés pour variable de commande GEOM :
7385 # --------------------------------------------------
7386 VARC_GEOM =FACT(statut='d',
7387 NOM_VARC =SIMP(statut='c',typ='TXM',defaut="GEOM"),
7388 GRANDEUR =SIMP(statut='c',typ='TXM',defaut="GEOM_R"),
7389 CMP_GD =SIMP(statut='c',typ='TXM',max=3,min=3,defaut=("X","Y","Z",)),
7390 CMP_VARC =SIMP(statut='c',typ='TXM',max=3,min=3,defaut=("X","Y","Z",)),
7393 # mots clés cachés pour variable de commande PTOT :
7394 # -------------------------------------------------
7395 VARC_PTOT =FACT(statut='d',
7396 NOM_VARC =SIMP(statut='c',typ='TXM',defaut="PTOT"),
7397 GRANDEUR =SIMP(statut='c',typ='TXM',defaut="DEPL_R"),
7398 CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("PTOT",)),
7399 CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("PTOT",)),
7402 # mots clés cachés pour variable de commande SECH :
7403 # --------------------------------------------------
7404 VARC_SECH =FACT(statut='d',
7405 NOM_VARC =SIMP(statut='c',typ='TXM',defaut="SECH"),
7406 GRANDEUR =SIMP(statut='c',typ='TXM',defaut="TEMP_R"),
7407 CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("TEMP",)),
7408 CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("SECH",)),
7411 # mots clés cachés pour variable de commande HYDR :
7412 # --------------------------------------------------
7413 VARC_HYDR =FACT(statut='d',
7414 NOM_VARC =SIMP(statut='c',typ='TXM',defaut="HYDR"),
7415 GRANDEUR =SIMP(statut='c',typ='TXM',defaut="HYDR_R"),
7416 CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("HYDR",)),
7417 CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("HYDR",)),
7420 # mots clés cachés pour variable de commande CORR :
7421 # --------------------------------------------------
7422 VARC_CORR =FACT(statut='d',
7423 NOM_VARC =SIMP(statut='c',typ='TXM',defaut="CORR"),
7424 GRANDEUR =SIMP(statut='c',typ='TXM',defaut="CORR_R"),
7425 CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("CORR",)),
7426 CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("CORR",)),
7429 # mots clés cachés pour variable de commande IRRA :
7430 # --------------------------------------------------
7431 VARC_IRRA =FACT(statut='d',
7432 NOM_VARC =SIMP(statut='c',typ='TXM',defaut="IRRA"),
7433 GRANDEUR =SIMP(statut='c',typ='TXM',defaut="IRRA_R"),
7434 CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("IRRA",)),
7435 CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("IRRA",)),
7438 # mots clés cachés pour variable de commande DIVU :
7439 # --------------------------------------------------
7440 VARC_DIVU =FACT(statut='d',
7441 NOM_VARC =SIMP(statut='c',typ='TXM',defaut="DIVU"),
7442 GRANDEUR =SIMP(statut='c',typ='TXM',defaut="EPSI_R"),
7443 CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("DIVU",)),
7444 CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("DIVU",)),
7447 # mots clés cachés pour variable de commande EPSA :
7448 # --------------------------------------------------
7449 VARC_EPSA =FACT(statut='d',
7450 NOM_VARC =SIMP(statut='c',typ='TXM',defaut="EPSA"),
7451 GRANDEUR =SIMP(statut='c',typ='TXM',defaut="EPSI_R"),
7452 CMP_GD =SIMP(statut='c',typ='TXM',max=6,min=6,defaut=("EPXX","EPYY","EPZZ","EPXY","EPXZ","EPYZ",)),
7453 CMP_VARC =SIMP(statut='c',typ='TXM',max=6,min=6,defaut=("EPSAXX","EPSAYY","EPSAZZ","EPSAXY","EPSAXZ","EPSAYZ",)),
7455 # mots clés cachés pour variable de commande metallurgique ACIER :
7456 # -----------------------------------------------------------------
7457 VARC_M_ACIER =FACT(statut='d',
7458 NOM_VARC =SIMP(statut='c',typ='TXM',defaut="M_ACIER"),
7459 GRANDEUR =SIMP(statut='c',typ='TXM',defaut="VARI_R"),
7460 CMP_GD =SIMP(statut='c',typ='TXM',max=7,min=7,defaut=("V1","V2","V3","V4","V5","V6","V7")),
7461 CMP_VARC =SIMP(statut='c',typ='TXM',max=7,min=7,defaut=("PFERRITE","PPERLITE","PBAINITE",
7462 "PMARTENS","TAUSTE","TRANSF","TACIER",)),
7464 # mots clés cachés pour variable de commande metallurgique ZIRCALOY :
7465 # --------------------------------------------------------------------
7466 VARC_M_ZIRC =FACT(statut='d',
7467 NOM_VARC =SIMP(statut='c',typ='TXM',defaut="M_ZIRC"),
7468 GRANDEUR =SIMP(statut='c',typ='TXM',defaut="VARI_R"),
7469 CMP_GD =SIMP(statut='c',typ='TXM',max=4,min=4,defaut=("V1","V2","V3","V4")),
7470 CMP_VARC =SIMP(statut='c',typ='TXM',max=4,min=4,defaut=("ALPHPUR","ALPHBETA","TZIRC","TEMPS")),
7473 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
7476 # ======================================================================
7477 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
7478 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7479 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7480 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
7481 # (AT YOUR OPTION) ANY LATER VERSION.
7483 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
7484 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
7485 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
7486 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
7488 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
7489 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
7490 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
7491 # ======================================================================
7492 # person_in_charge: jacques.pellet at edf.fr
7493 AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele_sdaster,
7494 UIinfo={"groupes":("Modélisation",)},
7495 fr="Définir le phénomène physique modélisé et le type d'éléments finis sur le maillage",reentrant='n',
7496 regles=(AU_MOINS_UN('AFFE','AFFE_SOUS_STRUC'),UN_PARMI('MAILLAGE','GRILLE')),
7497 MAILLAGE =SIMP(statut='f',typ=maillage_sdaster),
7498 GRILLE =SIMP(statut='f',typ=grille_sdaster),
7499 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
7500 VERIF =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2,into=("MAILLE","NOEUD") ),
7503 # Définition des grandeurs caractéristiques
7506 GRANDEUR_CARA =FACT(statut='f',max=1,
7507 fr="Grandeurs caractéristiques pour l'adimensionnement des indicateurs d'erreur HM",
7508 ang="Characteristic data for HM error estimators adimensionalisation",
7510 LONGUEUR =SIMP(statut='f',typ='R',val_min=0,
7511 fr ="Longueur caractéristique",
7512 ang="Characteristic length",),
7513 PRESSION =SIMP(statut='f',typ='R',val_min=0,
7514 fr ="Pression caractéristique",
7515 ang="Characteristic pressure",),
7516 TEMPERATURE =SIMP(statut='f',typ='R',val_min=0,
7517 fr ="Température caractéristique",
7518 ang="Characteristic temperature",),),
7520 AFFE_SOUS_STRUC =FACT(statut='f',
7521 regles=(UN_PARMI('TOUT','SUPER_MAILLE'),),
7522 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7523 SUPER_MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
7524 PHENOMENE =SIMP(statut='f',typ='TXM',defaut="MECANIQUE",into=("MECANIQUE",) ),
7526 AFFE =FACT(statut='f',max='**',
7527 regles=(UN_PARMI('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD'),),
7528 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
7529 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7530 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
7531 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
7532 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
7533 PHENOMENE =SIMP(statut='o',typ='TXM',
7534 into=("MECANIQUE","THERMIQUE","ACOUSTIQUE") ),
7535 b_mecanique =BLOC( condition = "PHENOMENE=='MECANIQUE'",
7536 fr="modélisations mécaniques",
7537 MODELISATION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=(
7538 "2D_DIS_T", # RESP. : FLEJOU J.L.FLEJOU
7539 "2D_DIS_TR", # RESP. : FLEJOU J.L.FLEJOU
7540 "2D_FLUI_ABSO", # RESP. : DEVESA G.DEVESA
7541 "2D_FLUI_PESA", # RESP. : GREFFET N.GREFFET
7542 "2D_FLUI_STRU", # RESP. : GREFFET N.GREFFET
7543 "2D_FLUIDE", # RESP. : GREFFET N.GREFFET
7544 "3D", # RESP. : DESROCHES X.DESROCHES
7545 "3D_ABSO", # RESP. : DEVESA G.DEVESA
7546 "3D_FAISCEAU", # RESP. : VOLDOIRE F.VOLDOIRE
7547 "3D_FLUI_ABSO", # RESP. : DEVESA G.DEVESA
7548 "3D_FLUIDE", # RESP. : GREFFET N.GREFFET
7549 "3D_INCO", # RESP. : SFAYOLLE S.FAYOLLE
7550 "3D_INCO_UP", # RESP. : SFAYOLLE S.FAYOLLE
7551 "3D_INCO_OSGS", # RESP. : SFAYOLLE S.FAYOLLE
7552 "3D_INCO_GD", # RESP. : SFAYOLLE S.FAYOLLE
7553 "3D_INCO_LOG", # RESP. : SFAYOLLE S.FAYOLLE
7554 "3D_INCO_LUP", # RESP. : SFAYOLLE S.FAYOLLE
7555 "3D_SI", # RESP. : DESROCHES X.DESROCHES
7556 "3D_GRAD_EPSI", # RESP. : MICHEL S.MICHEL
7557 "3D_GRAD_VARI", # RESP. : MICHEL S.MICHEL
7558 "3D_GVNO", # RESP. : BEAURAIN J.BEAURAIN
7559 "3D_JOINT", # RESP. : LAVERNE J.LAVERNE
7560 "3D_JOINT_HYME", # RESP. : LAVERNE J.LAVERNE
7561 "3D_INTERFACE", # RESP. : LAVERNE J.LAVERNE
7562 "3D_INTERFACE_S", # RESP. : LAVERNE J.LAVERNE
7563 "AXIS", # RESP. : LEFEBVRE J.P.LEFEBVRE
7564 "AXIS_FLUI_STRU", # RESP. : GREFFET N.GREFFET
7565 "AXIS_FLUIDE", # RESP. : GREFFET N.GREFFET
7566 "AXIS_FOURIER", # RESP. : DESROCHES X.DESROCHES
7567 "AXIS_INCO", # RESP. : SFAYOLLE S.FAYOLLE
7568 "AXIS_INCO_UP", # RESP. : SFAYOLLE S.FAYOLLE
7569 "AXIS_INCO_OSGS", # RESP. : SFAYOLLE S.FAYOLLE
7570 "AXIS_INCO_GD", # RESP. : SFAYOLLE S.FAYOLLE
7571 "AXIS_INCO_LOG", # RESP. : SFAYOLLE S.FAYOLLE
7572 "AXIS_INCO_LUP", # RESP. : SFAYOLLE S.FAYOLLE
7573 "AXIS_SI", # RESP. : DESROCHES X.DESROCHES
7574 "AXIS_GRAD_VARI", # RESP. : MICHEL S.MICHEL
7575 "AXIS_GVNO", # RESP. : BEAURAIN J.BEAURAIN
7576 "AXIS_JOINT", # RESP. : LAVERNE J.LAVERNE
7577 "AXIS_INTERFACE", # RESP. : LAVERNE J.LAVERNE
7578 "AXIS_INTERFACE_S",# RESP. : LAVERNE J.LAVERNE
7579 "AXIS_ELDI", # RESP. : LAVERNE J.LAVERNE
7580 "BARRE", # RESP. : FLEJOU J.L.FLEJOU
7581 "CABLE_GAINE", # RESP. :
7582 "2D_BARRE", # RESP. : FLEJOU J.L.FLEJOU
7583 "C_PLAN", # RESP. : LEFEBVRE J.P.LEFEBVRE
7584 "C_PLAN_SI", # RESP. : DESROCHES X.DESROCHES
7585 "C_PLAN_GRAD_EPSI",# RESP. : MICHEL S.MICHEL
7586 "CABLE", # RESP. : FLEJOU J.L.FLEJOU
7587 "CABLE_POULIE", # RESP. : None
7588 "COQUE_3D", # RESP. : DESROCHES X.DESROCHES
7589 "COQUE_AXIS", # RESP. : DESROCHES X.DESROCHES
7590 "COQUE_C_PLAN", # RESP. : DESROCHES X.DESROCHES
7591 "COQUE_D_PLAN", # RESP. : DESROCHES X.DESROCHES
7592 "D_PLAN", # RESP. : LEFEBVRE J.P.LEFEBVRE
7593 "D_PLAN_GRAD_EPSI",# RESP. : MICHEL S.MICHEL
7594 "D_PLAN_GRAD_VARI",# RESP. : MICHEL S.MICHEL
7595 "D_PLAN_GVNO", # RESP. : BEAURAIN J.BEAURAIN
7596 "D_PLAN_GRAD_SIGM",# RESP. : GRANET S.GRANET
7597 "PLAN_JOINT", # RESP. : LAVERNE J.LAVERNE
7598 "PLAN_JOINT_HYME", # RESP. : LAVERNE J.LAVERNE
7599 "PLAN_INTERFACE", # RESP. : LAVERNE J.LAVERNE
7600 "PLAN_INTERFACE_S",# RESP. : LAVERNE J.LAVERNE
7601 "PLAN_ELDI", # RESP. : LAVERNE J.LAVERNE
7602 "D_PLAN_ABSO", # RESP. : DEVESA G.DEVESA
7603 "D_PLAN_INCO", # RESP. : SFAYOLLE S.FAYOLLE
7604 "D_PLAN_INCO_UP", # RESP. : SFAYOLLE S.FAYOLLE
7605 "D_PLAN_INCO_OSGS",# RESP. : SFAYOLLE S.FAYOLLE
7606 "D_PLAN_INCO_GD", # RESP. : SFAYOLLE S.FAYOLLE
7607 "D_PLAN_INCO_LOG", # RESP. : SFAYOLLE S.FAYOLLE
7608 "D_PLAN_INCO_LUP", # RESP. : SFAYOLLE S.FAYOLLE
7609 "D_PLAN_SI", # RESP. : DESROCHES X.DESROCHES
7610 "DIS_T", # RESP. : FLEJOU J.L.FLEJOU
7611 "DIS_TR", # RESP. : FLEJOU J.L.FLEJOU
7612 "DKT", # RESP. : DESROCHES X.DESROCHES
7613 "DKTG", # RESP. : MARKOVIC D.MARKOVIC
7614 "DST", # RESP. : DESROCHES X.DESROCHES
7615 "FLUI_STRU", # RESP. : GREFFET N.GREFFET
7616 "GRILLE_EXCENTRE", # RESP. : ROSPARS C.ROSPARS
7617 "GRILLE_MEMBRANE", # RESP. : ROSPARS C.ROSPARS
7618 "MEMBRANE", # RESP. : ROSPARS C.ROSPARS
7619 "POU_C_T", # RESP. : FLEJOU J.L.FLEJOU
7620 "POU_D_E", # RESP. : FLEJOU J.L.FLEJOU
7621 "POU_D_EM", # RESP. : FLEJOU J.L.FLEJOU
7622 "POU_D_T", # RESP. : FLEJOU J.L.FLEJOU
7623 "POU_D_T_GD", # RESP. : FLEJOU J.L.FLEJOU
7624 "POU_D_TG", # RESP. : FLEJOU J.L.FLEJOU
7625 "POU_D_TGM", # RESP. : FLEJOU J.L.FLEJOU
7626 "Q4G", # RESP. : DESROCHES X.DESROCHES
7627 "Q4GG", # RESP. : DESROCHES X.DESROCHES
7628 "TUYAU_3M", # RESP. : PROIX J.M.PROIX
7629 "TUYAU_6M", # RESP. : PROIX J.M.PROIX
7630 "SHB", # RESP. : DESROCHES X.DESROCHES
7631 "D_PLAN_HHM", # RESP. : GRANET S.GRANET
7632 "D_PLAN_HM", # RESP. : GRANET S.GRANET
7633 "D_PLAN_HM_SI", # RESP. : GRANET S.GRANET
7634 "D_PLAN_THM", # RESP. : GRANET S.GRANET
7635 "D_PLAN_HHMD", # RESP. : GRANET S.GRANET
7636 "D_PLAN_HH2MD", # RESP. : GRANET S.GRANET
7637 "D_PLAN_HMD", # RESP. : GRANET S.GRANET
7638 "D_PLAN_THHD", # RESP. : GRANET S.GRANET
7639 "D_PLAN_THH2D", # RESP. : GRANET S.GRANET
7640 "D_PLAN_THVD", # RESP. : GRANET S.GRANET
7641 "D_PLAN_THH2MD", # RESP. : GRANET S.GRANET
7642 "D_PLAN_THHMD", # RESP. : GRANET S.GRANET
7643 "D_PLAN_THMD", # RESP. : GRANET S.GRANET
7644 "D_PLAN_HHMS", # RESP. : GRANET S.GRANET
7645 "D_PLAN_HH2MS", # RESP. : GRANET S.GRANET
7646 "D_PLAN_HMS", # RESP. : GRANET S.GRANET
7647 "D_PLAN_THHS", # RESP. : GRANET S.GRANET
7648 "D_PLAN_THH2S", # RESP. : GRANET S.GRANET
7649 "D_PLAN_THVS", # RESP. : GRANET S.GRANET
7650 "D_PLAN_THH2MS", # RESP. : GRANET S.GRANET
7651 "D_PLAN_THHMS", # RESP. : GRANET S.GRANET
7652 "D_PLAN_THMS", # RESP. : GRANET S.GRANET
7653 "D_PLAN_HM_P", # RESP. : GRANET S.GRANET
7654 "D_PLAN_HS", # RESP. : GRANET S.GRANET
7655 "D_PLAN_HHD", # RESP. : GRANET S.GRANET
7656 "D_PLAN_HHS", # RESP. : GRANET S.GRANET
7657 "D_PLAN_HH2D", # RESP. : GRANET S.GRANET
7658 "D_PLAN_HH2S", # RESP. : GRANET S.GRANET
7659 "D_PLAN_2DG", # RESP. : GRANET S.GRANET
7660 "D_PLAN_DIL", # RESP. : GRANET S.GRANET
7661 "3D_DIL", # RESP. : GRANET S.GRANET
7662 "AXIS_THM", # RESP. : GRANET S.GRANET
7663 "AXIS_HHM", # RESP. : GRANET S.GRANET
7664 "AXIS_HM", # RESP. : GRANET S.GRANET
7665 "AXIS_HH2MD", # RESP. : GRANET S.GRANET
7666 "AXIS_HHMD", # RESP. : GRANET S.GRANET
7667 "AXIS_HMD", # RESP. : GRANET S.GRANET
7668 "AXIS_THHD", # RESP. : GRANET S.GRANET
7669 "AXIS_THH2D", # RESP. : GRANET S.GRANET
7670 "AXIS_THVD", # RESP. : GRANET S.GRANET
7671 "AXIS_THHMD", # RESP. : GRANET S.GRANET
7672 "AXIS_THH2MD", # RESP. : GRANET S.GRANET
7673 "AXIS_THMD", # RESP. : GRANET S.GRANET
7674 "AXIS_HH2MS", # RESP. : GRANET S.GRANET
7675 "AXIS_HHMS", # RESP. : GRANET S.GRANET
7676 "AXIS_HMS", # RESP. : GRANET S.GRANET
7677 "AXIS_THHS", # RESP. : GRANET S.GRANET
7678 "AXIS_THH2S", # RESP. : GRANET S.GRANET
7679 "AXIS_THVS", # RESP. : GRANET S.GRANET
7680 "AXIS_THHMS", # RESP. : GRANET S.GRANET
7681 "AXIS_THH2MS", # RESP. : GRANET S.GRANET
7682 "AXIS_THMS", # RESP. : GRANET S.GRANET
7683 "AXIS_HHD", # RESP. : GRANET S.GRANET
7684 "AXIS_HHS", # RESP. : GRANET S.GRANET
7685 "AXIS_HH2D", # RESP. : GRANET S.GRANET
7686 "AXIS_HH2S", # RESP. : GRANET S.GRANET
7687 "3D_HHM" , # RESP. : GRANET S.GRANET
7688 "3D_HM", # RESP. : GRANET S.GRANET
7689 "3D_HM_SI", # RESP. : GRANET S.GRANET
7690 "3D_THHM", # RESP. : GRANET S.GRANET
7691 "3D_THM", # RESP. : GRANET S.GRANET
7692 "3D_HHMD", # RESP. : GRANET S.GRANET
7693 "3D_HMD", # RESP. : GRANET S.GRANET
7694 "3D_THHD", # RESP. : GRANET S.GRANET
7695 "3D_THVD", # RESP. : GRANET S.GRANET
7696 "3D_THHMD", # RESP. : GRANET S.GRANET
7697 "3D_THMD", # RESP. : GRANET S.GRANET
7698 "3D_HHMS", # RESP. : GRANET S.GRANET
7699 "3D_HMS", # RESP. : GRANET S.GRANET
7700 "3D_THHS", # RESP. : GRANET S.GRANET
7701 "3D_THVS", # RESP. : GRANET S.GRANET
7702 "3D_THHMS", # RESP. : GRANET S.GRANET
7703 "3D_THMS", # RESP. : GRANET S.GRANET
7704 "3D_THH2MD", # RESP. : GRANET S.GRANET
7705 "3D_THH2MS", # RESP. : GRANET S.GRANET
7706 "3D_HH2MD", # RESP. : GRANET S.GRANET
7707 "3D_HH2MS", # RESP. : GRANET S.GRANET
7708 "3D_THH2S", # RESP. : GRANET S.GRANET
7709 "3D_THH2D", # RESP. : GRANET S.GRANET
7710 "3D_HS", # RESP. : GRANET S.GRANET
7711 "3D_HHD", # RESP. : GRANET S.GRANET
7712 "3D_HHS", # RESP. : GRANET S.GRANET
7713 "3D_HH2D", # RESP. : GRANET S.GRANET
7714 "3D_HH2S", # RESP. : GRANET S.GRANET
7715 "VF1", # RESP. : GRANET S.GRANET
7716 "3D_HH2SUDM", # RESP. : GRANET S.GRANET
7717 "3D_HH2SUDA", # RESP. : GRANET S.GRANET
7718 "3D_HH2SUC", # RESP. : GRANET S.GRANET
7719 "D_PLAN_HH2SUDM", # RESP. : GRANET S.GRANET
7720 "D_PLAN_HH2SUC", # RESP. : GRANET S.GRANET
7721 "D_PLAN_HH2SUDA", # RESP. : GRANET S.GRANET
7726 b_thermique =BLOC( condition = "PHENOMENE=='THERMIQUE'",
7727 fr="modélisations thermiques",
7728 MODELISATION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=(
7729 "3D", # RESP. : DURAND C.DURAND
7730 "3D_DIAG", # RESP. : DURAND C.DURAND
7731 "AXIS", # RESP. : DURAND C.DURAND
7732 "AXIS_DIAG", # RESP. : DURAND C.DURAND
7733 "AXIS_FOURIER", # RESP. : DESROCHES X.DESROCHES
7734 "COQUE", # RESP. : DESROCHES X.DESROCHES
7735 "COQUE_AXIS", # RESP. : DESROCHES X.DESROCHES
7736 "COQUE_PLAN", # RESP. : DESROCHES X.DESROCHES
7737 "PLAN", # RESP. : DURAND C.DURAND
7738 "PLAN_DIAG", # RESP. : DURAND C.DURAND
7741 b_acoustique =BLOC( condition = "PHENOMENE=='ACOUSTIQUE'",
7742 fr="modélisations acoustiques",
7743 MODELISATION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=(
7744 "3D", # RESP. : None
7745 "PLAN" # RESP. : None
7750 PARTITION =FACT(statut='d',
7751 PARALLELISME =SIMP(statut='f',typ='TXM',defaut="GROUP_ELEM",
7752 into=("MAIL_CONTIGU","MAIL_DISPERSE","CENTRALISE","GROUP_ELEM")),
7753 b_dist_maille =BLOC(condition = "PARALLELISME in ('MAIL_DISPERSE','MAIL_CONTIGU')",
7754 CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,val_min=0,val_max=100),
7758 VERI_JACOBIEN =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI',
7759 fr ="Vérification de la forme des mailles (jacobiens tous de meme signe).",),
7762 # ======================================================================
7763 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
7764 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7765 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7766 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
7767 # (AT YOUR OPTION) ANY LATER VERSION.
7769 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
7770 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
7771 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
7772 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
7774 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
7775 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
7776 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
7777 # ======================================================================
7778 # person_in_charge: jacques.pellet at edf.fr
7780 def appl_cine_matr_prod(MATR_ASSE,**args):
7781 if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_depl_r
7782 if AsType(MATR_ASSE) == matr_asse_depl_c : return matr_asse_depl_c
7783 if AsType(MATR_ASSE) == matr_asse_temp_r : return matr_asse_temp_r
7784 if AsType(MATR_ASSE) == matr_asse_temp_c : return matr_asse_temp_c
7785 if AsType(MATR_ASSE) == matr_asse_pres_r : return matr_asse_pres_r
7786 if AsType(MATR_ASSE) == matr_asse_pres_c : return matr_asse_pres_c
7787 raise AsException("type de concept resultat non prevu")
7789 APPL_CINE_MATR=OPER(nom="APPL_CINE_MATR",op=158,sd_prod=appl_cine_matr_prod,
7790 fr="Appliquer les C.L. cinématiques sur la matrice",
7791 reentrant='f', UIinfo={"groupes":("Résolution",)},
7792 MATR_ASSE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,
7793 matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ),
7794 TITRE =SIMP(statut='f',typ='TXM',max='**'),
7795 INFO =SIMP(statut='f',typ='I',into=(1,2) ),
7798 # ======================================================================
7799 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
7800 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7801 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7802 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
7803 # (AT YOUR OPTION) ANY LATER VERSION.
7805 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
7806 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
7807 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
7808 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
7810 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
7811 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
7812 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
7813 # ======================================================================
7814 # person_in_charge: jacques.pellet at edf.fr
7816 APPL_CINE_SCMB=OPER(nom="APPL_CINE_SCMB",op=159,sd_prod=cham_no_sdaster,reentrant='f',
7817 fr="Application des C.L. cinématiques au second membre",
7818 UIinfo={"groupes":("Résolution",)},
7819 CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster),
7820 MATR =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,
7821 matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ),
7822 CHAM_CINE =SIMP(statut='f',typ=cham_no_sdaster),
7824 TITRE =SIMP(statut='f',typ='TXM',max='**'),
7825 INFO =SIMP(statut='f',typ='I',into=(1,2) ),
7828 # ======================================================================
7829 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
7830 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7831 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7832 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
7833 # (AT YOUR OPTION) ANY LATER VERSION.
7835 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
7836 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
7837 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
7838 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
7840 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
7841 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
7842 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
7843 # ======================================================================
7844 # person_in_charge: harinaivo.andriambololona at edf.fr
7847 def asse_elem_ssd_prod(self,RESU_ASSE_SSD,**args):
7849 'MODELE' : modele_gene,
7850 'NUME_DDL_GENE' : nume_ddl_gene,
7851 'RIGI_GENE' : matr_asse_gene_r,
7852 'MASS_GENE' : matr_asse_gene_r,
7854 for res in RESU_ASSE_SSD:
7855 for mc, typ in MTYPES.items():
7857 self.type_sdprod(res[mc], typ)
7860 ASSE_ELEM_SSD=MACRO(nom="ASSE_ELEM_SSD",
7861 op=OPS('Macro.asse_elem_ssd_ops.asse_elem_ssd_ops'),
7862 sd_prod=asse_elem_ssd_prod,
7864 fr="Enchainer les commandes DEFI_MODELE_GENE, NUME_DDL_GENE et ASSE_MATR_GENE",
7865 UIinfo={"groupes":("Matrices/vecteurs",)},
7867 # pour les concepts de sortie
7868 RESU_ASSE_SSD = FACT( statut='o', max=1,
7869 regles=(PRESENT_PRESENT('RIGI_GENE','NUME_DDL_GENE'),
7870 PRESENT_PRESENT('MASS_GENE','NUME_DDL_GENE'),),
7871 MODELE=SIMP(statut='o',typ=CO,defaut=None),
7872 NUME_DDL_GENE=SIMP(statut='f',typ=CO,defaut=None),
7873 RIGI_GENE=SIMP(statut='f',typ=CO,defaut=None),
7874 MASS_GENE=SIMP(statut='f',typ=CO,defaut=None),
7877 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
7879 # pour DEFI_MODELE_GENE
7880 SOUS_STRUC =FACT(statut='o',max='**',
7881 NOM =SIMP(statut='o',typ='TXM' ),
7882 MACR_ELEM_DYNA =SIMP(statut='o',typ=macr_elem_dyna ),
7883 ANGL_NAUT =SIMP(statut='f',typ='R',max=3),
7884 TRANS =SIMP(statut='f',typ='R',max=3),
7886 LIAISON =FACT(statut='o',max='**',
7887 SOUS_STRUC_1 =SIMP(statut='o',typ='TXM' ),
7888 INTERFACE_1 =SIMP(statut='o',typ='TXM' ),
7889 SOUS_STRUC_2 =SIMP(statut='o',typ='TXM' ),
7890 INTERFACE_2 =SIMP(statut='o',typ='TXM' ),
7891 regles=(EXCLUS('GROUP_MA_MAIT_1','GROUP_MA_MAIT_2','MAILLE_MAIT_2'),
7892 EXCLUS('MAILLE_MAIT_1','GROUP_MA_MAIT_2','MAILLE_MAIT_2'),),
7893 GROUP_MA_MAIT_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7894 MAILLE_MAIT_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
7895 GROUP_MA_MAIT_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
7896 MAILLE_MAIT_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
7897 OPTION =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("REDUIT","CLASSIQUE") ),
7899 VERIF =FACT(statut='d',max=1,
7900 STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
7901 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
7902 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
7906 # pour NUME_DDL_GENE
7907 METHODE =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("CLASSIQUE","ELIMINE") ),
7908 STOCKAGE =SIMP(statut='f',typ='TXM',defaut="LIGN_CIEL",into=("LIGN_CIEL","PLEIN") ),
7912 # ======================================================================
7913 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
7914 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7915 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7916 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
7917 # (AT YOUR OPTION) ANY LATER VERSION.
7919 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
7920 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
7921 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
7922 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
7924 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
7925 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
7926 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
7927 # ======================================================================
7928 # person_in_charge: jacques.pellet at edf.fr
7929 ASSE_MAILLAGE=OPER(nom="ASSE_MAILLAGE",op= 105,sd_prod=maillage_sdaster,
7930 fr="Assembler deux maillages pour en former un nouveau",
7932 UIinfo={"groupes":("Maillage",)},
7933 MAILLAGE_1 = SIMP(statut='o',typ=maillage_sdaster,),
7934 MAILLAGE_2 = SIMP(statut='o',typ=maillage_sdaster,),
7935 OPERATION = SIMP(statut='o',typ='TXM',into=("SOUS_STR","SUPERPOSE","COLLAGE"),),
7936 b_collage = BLOC(condition = "OPERATION == 'COLLAGE'",
7937 COLLAGE = FACT(statut='o',
7938 GROUP_MA_1 =SIMP(statut='o',typ=grma),
7939 GROUP_MA_2 =SIMP(statut='o',typ=grma),
7944 # ======================================================================
7945 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
7946 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7947 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7948 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
7949 # (AT YOUR OPTION) ANY LATER VERSION.
7951 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
7952 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
7953 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
7954 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
7956 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
7957 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
7958 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
7959 # ======================================================================
7960 # person_in_charge: mathieu.corus at edf.fr
7961 def asse_matr_gene_prod(METHODE,**args):
7962 if (METHODE=="INITIAL") : return matr_asse_gene_r
7963 elif (args['OPTION']=="RIGI_GENE_C") : return matr_asse_gene_c
7964 else : return matr_asse_gene_r
7966 ASSE_MATR_GENE=OPER(nom="ASSE_MATR_GENE",op= 128,sd_prod=asse_matr_gene_prod,
7967 fr="Assemblage des matrices généralisées de macro éléments pour construction de la matrice globale généralisée",
7969 UIinfo={"groupes":("Matrices et vecteurs",)},
7970 NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ),
7971 METHODE =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("CLASSIQUE","INITIAL") ),
7972 b_option =BLOC(condition = "METHODE == 'CLASSIQUE'",
7973 OPTION =SIMP(statut='o',typ='TXM',into=("RIGI_GENE","RIGI_GENE_C","MASS_GENE","AMOR_GENE") ),
7977 # ======================================================================
7978 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
7979 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7980 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7981 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
7982 # (AT YOUR OPTION) ANY LATER VERSION.
7984 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
7985 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
7986 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
7987 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
7989 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
7990 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
7991 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
7992 # ======================================================================
7993 # person_in_charge: jacques.pellet at edf.fr
7994 def asse_matrice_prod(MATR_ELEM,**args):
7995 if AsType(MATR_ELEM) == matr_elem_depl_r : return matr_asse_depl_r
7996 if AsType(MATR_ELEM) == matr_elem_depl_c : return matr_asse_depl_c
7997 if AsType(MATR_ELEM) == matr_elem_temp_r : return matr_asse_temp_r
7998 if AsType(MATR_ELEM) == matr_elem_pres_c : return matr_asse_pres_c
7999 raise AsException("type de concept resultat non prevu")
8001 ASSE_MATRICE=OPER(nom="ASSE_MATRICE",op=12,sd_prod=asse_matrice_prod,
8002 fr="Construction d'une matrice assemblée",reentrant='n',
8003 UIinfo={"groupes":("Matrices et vecteurs",)},
8004 MATR_ELEM =SIMP(statut='o',
8005 typ=(matr_elem_depl_r,matr_elem_depl_c,matr_elem_temp_r,matr_elem_pres_c) ),
8006 NUME_DDL =SIMP(statut='o',typ=nume_ddl_sdaster),
8007 SYME =SIMP(statut='f',typ='TXM',into=("OUI",) ),
8008 CHAR_CINE =SIMP(statut='f',typ=(char_cine_meca,char_cine_ther,char_cine_acou) ),
8009 INFO =SIMP(statut='f',typ='I',into=(1,2) ),
8012 # ======================================================================
8013 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
8014 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8015 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8016 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
8017 # (AT YOUR OPTION) ANY LATER VERSION.
8019 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
8020 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
8021 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
8022 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
8024 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
8025 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
8026 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
8027 # ======================================================================
8028 # person_in_charge: mathieu.corus at edf.fr
8029 ASSE_VECT_GENE=OPER(nom="ASSE_VECT_GENE",op= 140,sd_prod=vect_asse_gene,
8030 fr="Projection des chargements sur la base modale d'une sous structure",
8032 UIinfo={"groupes":("Matrices et vecteurs",)},
8033 NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ),
8034 METHODE =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("CLASSIQUE","INITIAL") ),
8035 b_nume =BLOC(condition = "METHODE == 'CLASSIQUE'",
8036 CHAR_SOUS_STRUC =FACT(statut='o',max='**',
8037 SOUS_STRUC =SIMP(statut='o',typ='TXM' ),
8038 VECT_ASSE =SIMP(statut='o',typ=cham_no_sdaster ),
8043 # ======================================================================
8044 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
8045 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8046 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8047 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
8048 # (AT YOUR OPTION) ANY LATER VERSION.
8050 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
8051 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
8052 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
8053 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
8055 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
8056 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
8057 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
8058 # ======================================================================
8059 # person_in_charge: jacques.pellet at edf.fr
8061 ASSE_VECTEUR=OPER(nom="ASSE_VECTEUR",op=13,sd_prod=cham_no_sdaster,
8062 fr="Construire un champ aux noeuds par assemblage de vecteurs élémentaires",reentrant='n',
8063 UIinfo={"groupes":("Matrices et vecteurs",)},
8064 VECT_ELEM =SIMP(statut='o',typ=vect_elem,max='**'),
8065 NUME_DDL =SIMP(statut='o',typ=nume_ddl_sdaster ),
8066 INFO =SIMP(statut='f',typ='I',into=(1,2,) ),
8069 # ======================================================================
8070 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
8071 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8072 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8073 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
8074 # (AT YOUR OPTION) ANY LATER VERSION.
8076 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
8077 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
8078 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
8079 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
8081 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
8082 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
8083 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
8084 # ======================================================================
8085 # person_in_charge: albert.alarcon at edf.fr
8087 def assemblage_prod(self,NUME_DDL,MATR_ASSE,VECT_ASSE,**args):
8088 if ((not MATR_ASSE) and (not VECT_ASSE)): raise AsException("Aucun concept a assembler")
8089 if not NUME_DDL : raise AsException("Impossible de typer les concepts resultats")
8090 if NUME_DDL.is_typco():
8091 self.type_sdprod(NUME_DDL,nume_ddl_sdaster)
8093 if MATR_ASSE !=None:
8096 if opti in ( "RIGI_MECA","RIGI_FLUI_STRU",
8097 "MASS_MECA" , "MASS_FLUI_STRU" ,"RIGI_GEOM" ,"RIGI_ROTA",
8098 "AMOR_MECA","IMPE_MECA","ONDE_FLUI","MASS_MECA_DIAG",
8099 "MECA_GYRO","RIGI_GYRO" ) : t=matr_asse_depl_r
8101 if opti in ( "RIGI_ACOU","MASS_ACOU","AMOR_ACOU",) : t=matr_asse_pres_c
8103 if opti in ( "RIGI_THER","RIGI_THER_CONV" ,
8104 "RIGI_THER_CONV_D",) : t=matr_asse_temp_r
8106 if opti == "RIGI_MECA_HYST" : t= matr_asse_depl_c
8108 self.type_sdprod(m['MATRICE'],t)
8110 if VECT_ASSE !=None:
8112 self.type_sdprod(v['VECTEUR'],cham_no_sdaster)
8116 ASSEMBLAGE=MACRO(nom="ASSEMBLAGE",
8117 op=OPS('Macro.assemblage_ops.assemblage_ops'),
8118 UIinfo={"groupes":("Matrices et vecteurs",)},
8119 sd_prod=assemblage_prod,
8120 regles=(AU_MOINS_UN('MATR_ASSE','VECT_ASSE'),),
8121 fr="Calcul des matrices et vecteurs assemblés ",
8122 MODELE =SIMP(statut='o',typ=modele_sdaster),
8123 CHAM_MATER =SIMP(statut='f',typ=cham_mater),
8124 INST =SIMP(statut='f',typ='R',defaut=0.),
8125 CARA_ELEM =SIMP(statut='f',typ=cara_elem),
8126 CHARGE =SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**'),
8127 CHAR_CINE =SIMP(statut='f',typ=(char_cine_meca,char_cine_ther,char_cine_acou) ),
8128 NUME_DDL =SIMP(statut='o',typ=(nume_ddl_sdaster,CO)),
8129 SOLVEUR =FACT(statut='d',
8130 METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS","PETSC") ),
8131 b_mult_front =BLOC(condition="METHODE=='MULT_FRONT'",fr="Paramètres associés à la méthode multifrontale",
8132 RENUM =SIMP(statut='f',typ='TXM',into=("MD","MDA","METIS"),defaut="METIS" ),
8134 b_ldlt =BLOC(condition="METHODE=='LDLT'",fr="Paramètres associés à la méthode LDLT",
8135 RENUM =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK" ),
8137 b_mumps =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS",
8138 RENUM =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AMD","AMF","PORD","METIS","QAMD","SCOTCH","AUTO")),
8140 b_gcpc =BLOC(condition="METHODE=='GCPC'",fr="Paramètres associés à la méthode gradient conjugué",
8141 RENUM =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK" ),
8143 b_petsc =BLOC(condition = "METHODE == 'PETSC'",fr="Paramètres de la méthode PETSC",
8144 RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
8148 MATR_ASSE =FACT(statut='f',max='**',
8149 MATRICE =SIMP(statut='o',typ=CO),
8150 OPTION =SIMP(statut='o',typ='TXM',
8151 into=("RIGI_MECA","MASS_MECA","MASS_MECA_DIAG",
8152 "AMOR_MECA","RIGI_MECA_HYST","IMPE_MECA",
8153 "ONDE_FLUI","RIGI_FLUI_STRU","MASS_FLUI_STRU",
8154 "RIGI_ROTA","RIGI_GEOM","MECA_GYRO","RIGI_GYRO",
8155 "RIGI_THER","RIGI_ACOU","MASS_ACOU","AMOR_ACOU",)
8158 b_rigi_meca = BLOC( condition = "OPTION=='RIGI_MECA'",
8159 MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0),
8162 b_rigi_geom = BLOC( condition = "OPTION=='RIGI_GEOM'",
8163 SIEF_ELGA =SIMP(statut='o',typ=cham_elem),
8164 MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0),
8167 b_rigi_ther = BLOC( condition = "OPTION=='RIGI_THER'",
8168 MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0),
8173 VECT_ASSE =FACT(statut='f',max='**',
8174 VECTEUR =SIMP(statut='o',typ=CO),
8175 OPTION =SIMP(statut='o',typ='TXM',into=("CHAR_MECA","CHAR_ACOU","CHAR_THER") ),
8176 b_char_meca =BLOC(condition = "OPTION == 'CHAR_MECA'", fr="chargement mécanique",
8177 CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
8178 MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ),
8181 b_char_ther =BLOC(condition = "OPTION=='CHAR_THER'", fr="chargement thermique",
8182 CHARGE =SIMP(statut='f',typ=char_ther,validators=NoRepeat(),max='**'),
8185 b_char_acou =BLOC(condition = "OPTION=='CHAR_ACOU'", fr="chargement acoustique",
8186 CHARGE =SIMP(statut='f',typ=char_acou,validators=NoRepeat(),max='**'),
8191 TITRE =SIMP(statut='f',typ='TXM',max='**'),
8192 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
8195 # ======================================================================
8196 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
8197 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8198 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8199 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
8200 # (AT YOUR OPTION) ANY LATER VERSION.
8202 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
8203 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
8204 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
8205 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
8207 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
8208 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
8209 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
8210 # ======================================================================
8211 # person_in_charge: Georges-cc.devesa at edf.fr
8212 CALC_AMOR_MODAL=OPER(nom="CALC_AMOR_MODAL",op= 172,sd_prod=listr8_sdaster,
8213 fr="Création d'une liste d'amortissements modaux calculés selon la règle du RCC-G",
8215 UIinfo={"groupes":("Résolution","Dynamique",)},
8216 regles=(EXCLUS('AMOR_RAYLEIGH','ENER_SOL',),
8217 EXCLUS('AMOR_RAYLEIGH','AMOR_INTERNE',),
8218 EXCLUS('AMOR_RAYLEIGH','AMOR_SOL',),
8219 PRESENT_PRESENT('ENER_SOL','AMOR_INTERNE'),
8220 PRESENT_PRESENT('ENER_SOL','AMOR_SOL'),
8222 AMOR_RAYLEIGH =FACT(statut='f',
8223 AMOR_ALPHA =SIMP(statut='o',typ='R'),
8224 AMOR_BETA =SIMP(statut='o',typ='R'),
8225 MODE_MECA =SIMP(statut='o',typ=mode_meca ),
8227 ENER_SOL =FACT(statut='f',
8228 regles=(UN_PARMI('GROUP_NO_RADIER','GROUP_MA_RADIER'),
8229 PRESENT_ABSENT('COEF_GROUP','FONC_GROUP'),
8230 # Peut-on remplacer les deux règles suivantes par un ENSEMBLE_('KRX','KRY','KRZ')
8231 PRESENT_PRESENT('KRX','KRY'),
8232 PRESENT_PRESENT('KRX','KRZ'),
8233 PRESENT_ABSENT('COOR_CENTRE','NOEUD_CENTRE'),
8234 PRESENT_ABSENT('GROUP_NO_CENTRE','NOEUD_CENTRE'),
8235 PRESENT_ABSENT('GROUP_NO_CENTRE','COOR_CENTRE'),),
8236 METHODE =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","RIGI_PARASOL") ),
8237 MODE_MECA =SIMP(statut='o',typ=mode_meca ),
8238 GROUP_NO_RADIER =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
8239 GROUP_MA_RADIER =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
8240 FONC_GROUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
8241 COEF_GROUP =SIMP(statut='f',typ='R',max='**'),
8242 KX =SIMP(statut='o',typ='R' ),
8243 KY =SIMP(statut='o',typ='R' ),
8244 KZ =SIMP(statut='o',typ='R' ),
8245 KRX =SIMP(statut='f',typ='R' ),
8246 KRY =SIMP(statut='f',typ='R' ),
8247 KRZ =SIMP(statut='f',typ='R' ),
8248 GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
8249 NOEUD_CENTRE =SIMP(statut='f',typ=no),
8250 COOR_CENTRE =SIMP(statut='f',typ='R',max=3),
8252 AMOR_INTERNE =FACT(statut='f',
8253 ENER_POT =SIMP(statut='o',typ=table_sdaster ),
8254 GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
8255 AMOR_REDUIT =SIMP(statut='o',typ='R',max='**'),
8257 AMOR_SOL =FACT(statut='f',
8258 AMOR_REDUIT =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8259 FONC_AMOR_GEO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ),
8260 HOMOGENE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
8261 SEUIL =SIMP(statut='f',typ='R',defaut= 0.3 ),
8265 # ======================================================================
8266 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
8267 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8268 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8269 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
8270 # (AT YOUR OPTION) ANY LATER VERSION.
8272 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
8273 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
8274 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
8275 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
8277 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
8278 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
8279 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
8280 # ======================================================================
8281 # person_in_charge: josselin.delmas at edf.fr
8283 CALC_CHAM_ELEM=OPER(nom="CALC_CHAM_ELEM",op=38,sd_prod=cham_elem,
8284 fr="Calculer un champ élémentaire en thermique et en accoustique à partir de champs déjà calculés",
8286 UIinfo={"groupes":("Résultats et champs","Post-traitements",)},
8287 MODELE =SIMP(statut='o',typ=modele_sdaster),
8288 CARA_ELEM =SIMP(statut='f',typ=cara_elem),
8290 regles=(EXCLUS('TOUT','GROUP_MA',),EXCLUS('TOUT','MAILLE',),),
8291 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
8292 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
8293 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
8295 INST =SIMP(statut='f',typ='R',defaut= 0.E+0),
8296 ACCE =SIMP(statut='f',typ=cham_no_sdaster),
8297 MODE_FOURIER =SIMP(statut='f',typ='I',),
8299 OPTION =SIMP(statut='o',typ='TXM',
8300 into=("FLUX_ELGA","FLUX_ELNO",
8304 b_thermique =BLOC(condition="OPTION in ('FLUX_ELNO','FLUX_ELGA',)",
8305 TEMP =SIMP(statut='o',typ=(cham_no_sdaster,)),
8306 CHAM_MATER =SIMP(statut='o',typ=cham_mater),
8309 b_acoustique =BLOC(condition="OPTION in ('PRAC_ELNO',)",
8310 PRES =SIMP(statut='o',typ=(cham_no_sdaster,)),
8315 # ======================================================================
8316 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
8317 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8318 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8319 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
8320 # (AT YOUR OPTION) ANY LATER VERSION.
8322 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
8323 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
8324 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
8325 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
8327 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
8328 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
8329 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
8330 # ======================================================================
8331 # person_in_charge: nicolas.sellenet at edf.fr
8332 def calc_champ_prod(RESULTAT,**args):
8333 if AsType(RESULTAT) != None : return AsType(RESULTAT)
8334 raise AsException("type de concept resultat non prevu : RESULTAT=%s (type %s)" \
8335 % (RESULTAT, type(RESULTAT)))
8337 CALC_CHAMP=OPER(nom="CALC_CHAMP",op=52,sd_prod=calc_champ_prod,reentrant='f',
8338 UIinfo={"groupes":("Post traitements",)},
8339 fr="Completer ou creer un resultat en calculant des champs par elements ou aux noeuds",
8340 MODELE = SIMP(statut='f',typ=modele_sdaster),
8341 CHAM_MATER = SIMP(statut='f',typ=cham_mater),
8342 CARA_ELEM = SIMP(statut='f',typ=cara_elem),
8344 RESULTAT = SIMP(statut='o',typ=resultat_sdaster,position='global',
8345 fr="Resultat d'une commande globale"),
8347 regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
8348 'NOEUD_CMP','LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS'),
8349 PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
8351 TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ),
8352 NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
8353 NUME_MODE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
8354 NOEUD_CMP = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
8355 NOM_CAS = SIMP(statut='f',typ='TXM' ),
8356 INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
8357 FREQ = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
8358 LIST_INST = SIMP(statut='f',typ=listr8_sdaster),
8359 LIST_FREQ = SIMP(statut='f',typ=listr8_sdaster),
8360 CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
8361 b_prec_rela = BLOC(condition="(CRITERE=='RELATIF')",
8362 PRECISION = SIMP(statut='f',typ='R',defaut= 1.E-6),),
8363 b_prec_abso = BLOC(condition="(CRITERE=='ABSOLU')",
8364 PRECISION = SIMP(statut='o',typ='R'),),
8365 LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster),
8367 TOUT = SIMP(statut='f',typ='TXM',into=("OUI",),
8368 fr="le calcul sera effectue sur toutes les mailles"),
8369 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
8370 fr="le calcul ne sera effectue que sur ces groupes de mailles"),
8371 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**',
8372 fr="le calcul ne sera effectue que sur ces mailles"),
8374 EXCIT = FACT(statut='f',max='**',
8375 fr="Charges contenant les temperatures, les efforts repartis pour les poutres...",
8376 regles=(EXCLUS('FONC_MULT','COEF_MULT',),),
8377 CHARGE = SIMP(statut='o',typ=(char_meca,char_cine_meca),),
8378 FONC_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),),
8379 COEF_MULT = SIMP(statut='f',typ='R'),
8380 TYPE_CHARGE = SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),),
8383 b_lineaire = BLOC(condition = "AsType(RESULTAT) in (evol_elas,dyna_trans,dyna_harmo,mode_meca,\
8384 comb_fourier,mult_elas,fourier_elas,mode_flamb)",
8385 CONTRAINTE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
8386 fr="Options pour le calcul de contraintes et efforts generalises",
8387 into=C_NOM_CHAM_INTO(phenomene='CONTRAINTE',categorie='lin'),),
8389 DEFORMATION = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
8390 fr="Options pour le calcul de deformations",
8391 into=C_NOM_CHAM_INTO(phenomene='DEFORMATION',categorie='lin'),),
8393 ENERGIE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
8394 fr="Options pour le calcul d'energies",
8395 into=C_NOM_CHAM_INTO(phenomene='ENERGIE',categorie='lin'),),
8397 CRITERES = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
8398 fr="Options pour le calcul de criteres",
8399 into=C_NOM_CHAM_INTO(phenomene='CRITERES',categorie='lin'),),
8401 VARI_INTERNE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
8402 fr="Options pour le calcul de variables internes",
8403 into=C_NOM_CHAM_INTO(phenomene='VARI_INTERNE',categorie='lin'),),
8407 b_non_lin = BLOC(condition = "AsType(RESULTAT) in (evol_noli,)",
8408 CONTRAINTE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
8409 fr="Options pour le calcul de contraintes et efforts generalises",
8410 into=C_NOM_CHAM_INTO(phenomene='CONTRAINTE',categorie='nonlin'),),
8412 DEFORMATION = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
8413 fr="Options pour le calcul de deformations",
8414 into=C_NOM_CHAM_INTO(phenomene='DEFORMATION',categorie='nonlin'),),
8416 ENERGIE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
8417 fr="Options pour le calcul d'energies",
8418 into=C_NOM_CHAM_INTO(phenomene='ENERGIE',categorie='nonlin'),),
8420 CRITERES = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
8421 fr="Options pour le calcul de criteres",
8422 into=C_NOM_CHAM_INTO(phenomene='CRITERES',categorie='nonlin'),),
8424 VARI_INTERNE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
8425 fr="Options pour le calcul de variables internes",
8426 into=C_NOM_CHAM_INTO(phenomene='VARI_INTERNE',categorie='nonlin'),),
8428 b_nom_vari = BLOC(condition = "au_moins_un(VARI_INTERNE, ('VAEX_ELNO','VAEX_ELGA','VAEX_NOEU'))",
8429 NOM_VARI = SIMP(statut='o',typ='TXM',min= 1,max='**',
8430 fr="nom de la variable a extraire",
8431 into=("DPORO","DRHOLQ","DPVP","SATLIQ","EVP","IND_ETA","D","IND_END","TEMP_MAX",
8432 "GAMP","PCR","SEUIL_HYD","IND_HYD","PCOHE","COMP_ROC","SEUIL_ISO","ANG_DEV",
8433 "X11","X22","X33","X12","X13","X23","DIST_DEV","DEV_SUR_CRIT","DIST_ISO",
8434 "NB_ITER","ARRET","NB_REDE","SIGNE","RDEV_1","RDEV_2","RDEV_3","RISO","EPSIVPLA",
8435 "IND_1","IND_2","IND_3","IND_4",
8439 HYDRAULIQUE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
8440 fr="Options pour le calcul de flux hydraulique",
8441 into=C_NOM_CHAM_INTO(phenomene='HYDRAULIQUE',categorie='nonlin'),),
8445 b_ther = BLOC(condition = "AsType(RESULTAT) in (evol_ther,fourier_ther,)" ,
8446 THERMIQUE = SIMP(statut='f',typ='TXM',validators=NoRepeat(), max='**',
8447 fr="Options pour le calcul de champs en thermique",
8448 into=C_NOM_CHAM_INTO(phenomene='THERMIQUE',),),
8452 b_acou = BLOC(condition = "AsType(RESULTAT) in (acou_harmo,mode_acou,dyna_harmo)",
8453 ACOUSTIQUE = SIMP(statut='f',typ='TXM',validators=NoRepeat(), max='**',
8454 fr="Options pour le calcul de champs en acoustique",
8455 into=C_NOM_CHAM_INTO(phenomene='ACOUSTIQUE',),),
8458 # Bloc FORC_NODA et REAC_NODA
8459 FORCE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
8460 fr="Options pour des forces nodales et des reactions nodales",
8461 into=C_NOM_CHAM_INTO(phenomene='FORCE',),),
8463 # Mot-cle facteur CHAMp UTILisateur
8464 CHAM_UTIL = FACT(statut='f', max='**',
8465 regles = (UN_PARMI('FORMULE', 'CRITERE', 'NORME'), ),
8466 NOM_CHAM = SIMP(statut='o', typ='TXM',
8467 fr="Nom du champ utilisé en donnée",),
8468 FORMULE = SIMP(statut='f', typ=formule, max='**',
8469 fr="Formule permet d'obtenir le critère",),
8470 CRITERE = SIMP(statut='f', typ='TXM', max=1,
8471 into=('TRACE', 'VMIS', 'INVA_2'),
8472 fr="Calcul d'un critère pré-défini",),
8473 NORME = SIMP(statut='f', typ='TXM', max=1,
8474 into=('L2', 'FROBENIUS', ),
8475 fr="Calcul d'une norme pré-définie",),
8476 NUME_CHAM_RESU = SIMP(statut='o', typ='I', val_min=1, val_max=20,
8477 fr="Numéro du champ produit. Exemple: 6 produit le champ UT06",),
8480 INFO = SIMP(statut='f',typ='I',defaut= 1,into=(1,2)),
8482 TITRE = SIMP(statut='f',typ='TXM',max='**'),
8485 # ======================================================================
8486 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
8487 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8488 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8489 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
8490 # (AT YOUR OPTION) ANY LATER VERSION.
8492 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
8493 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
8494 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
8495 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
8497 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
8498 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
8499 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
8500 # ======================================================================
8501 # person_in_charge: jacques.pellet at edf.fr
8503 CALC_CHAR_CINE=OPER(nom="CALC_CHAR_CINE",op= 102,sd_prod=cham_no_sdaster,
8504 fr="Calcul des seconds membres associés à des charges cinématiques (conditions aux limites non dualisées)",
8506 UIinfo={"groupes":("Matrices et vecteurs",)},
8507 NUME_DDL =SIMP(statut='o',typ=nume_ddl_sdaster ),
8508 CHAR_CINE =SIMP(statut='o',typ=(char_cine_meca,char_cine_ther,char_cine_acou ),validators=NoRepeat(),max='**' ),
8509 INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
8510 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
8513 # ======================================================================
8514 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
8515 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8516 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8517 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
8518 # (AT YOUR OPTION) ANY LATER VERSION.
8520 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
8521 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
8522 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
8523 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
8525 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
8526 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
8527 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
8528 # ======================================================================
8529 # person_in_charge: Georges-cc.devesa at edf.fr
8530 def calc_char_seisme_prod(MATR_MASS,**args ):
8531 if AsType(MATR_MASS) == matr_asse_depl_r : return cham_no_sdaster
8532 raise AsException("type de concept resultat non prevu")
8534 CALC_CHAR_SEISME=OPER(nom="CALC_CHAR_SEISME",op= 92,sd_prod=calc_char_seisme_prod,
8535 reentrant='n',fr="Calcul du chargement sismique",
8536 UIinfo={"groupes":("Matrices et vecteurs",)},
8537 regles=(UN_PARMI('MONO_APPUI','MODE_STAT' ),),
8538 MATR_MASS =SIMP(statut='o',typ=matr_asse_depl_r,fr="Matrice de masse" ),
8539 DIRECTION =SIMP(statut='o',typ='R',max=6,fr="Directions du séisme imposé"),
8540 MONO_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ),
8541 MODE_STAT =SIMP(statut='f',typ=(mode_meca,) ),
8542 b_mode_stat =BLOC ( condition = "MODE_STAT != None",
8543 regles=(UN_PARMI('NOEUD','GROUP_NO' ),),
8544 NOEUD =SIMP(statut='f',typ=no,validators=NoRepeat(),max='**'),
8545 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
8547 TITRE =SIMP(statut='f',typ='TXM',max='**'),
8550 # ======================================================================
8551 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
8552 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8553 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8554 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
8555 # (AT YOUR OPTION) ANY LATER VERSION.
8557 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
8558 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
8559 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
8560 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
8562 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
8563 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
8564 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
8565 # ======================================================================
8566 # person_in_charge: mathieu.corus at edf.fr
8567 CALC_CORR_SSD=OPER(nom="CALC_CORR_SSD",op= 91,sd_prod=table_container,
8568 fr="Qualite d'un modele reduit en dynamique",
8570 UIinfo={"groupes":("Dynamique",)},
8571 MODELE_GENE =SIMP(statut='o',typ=modele_gene),
8572 RESU_GENE =SIMP(statut='o',typ=mode_gene ),
8573 UNITE =SIMP(statut='f',typ='I',defaut=6,),
8574 SHIFT =SIMP(statut='f',typ='R',defaut= 1. ),
8575 VERIF =FACT(statut='f',max='**',
8576 STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
8577 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
8578 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
8580 TITRE =SIMP(statut='f',typ='TXM',max='**'),
8583 # ======================================================================
8584 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
8585 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8586 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8587 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
8588 # (AT YOUR OPTION) ANY LATER VERSION.
8590 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
8591 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
8592 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
8593 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
8595 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
8596 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
8597 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
8598 # ======================================================================
8599 # person_in_charge: marina.bottoni at edf.fr
8602 def calc_ecrevisse_prod(self,CHARGE_MECA,CHARGE_THER1,CHARGE_THER2,TABLE,DEBIT,**args):
8604 self.type_sdprod(CHARGE_MECA,char_meca)
8605 self.type_sdprod(CHARGE_THER1,char_ther)
8606 self.type_sdprod(CHARGE_THER2,char_ther)
8607 self.type_sdprod(TABLE,table_sdaster)
8608 self.type_sdprod(DEBIT,table_sdaster)
8613 CALC_ECREVISSE=MACRO(nom="CALC_ECREVISSE",
8614 op=OPS('Macro.calc_ecrevisse_ops.calc_ecrevisse_ops'),
8615 sd_prod=calc_ecrevisse_prod,
8617 UIinfo={"groupes":("Outils-métier",)},fr="Procedure de couplage avec Ecrevisse",
8618 regles = (UN_PARMI('LOGICIEL','VERSION'),),
8620 # CONCEPTS SORTANTS : 2 CHARGEMENTS THERMIQUE + 1 MECANIQUE + 2 TABLES POUR LE POST-TRAITEMENT
8621 # ********************************************
8622 CHARGE_MECA =SIMP(statut='o',typ=CO),
8623 CHARGE_THER1 =SIMP(statut='o',typ=CO),
8624 CHARGE_THER2 =SIMP(statut='o',typ=CO),
8625 TABLE =SIMP(statut='o',typ=CO),
8626 DEBIT =SIMP(statut='o',typ=CO),
8629 # MODELES MECANIQUES
8630 # ********************************************
8631 MODELE_MECA =SIMP(statut='o',typ=modele_sdaster),
8632 MODELE_THER =SIMP(statut='o',typ=modele_sdaster),
8635 # DONNEES GEOMETRIQUES RELATIVES AUX RESULTATS
8636 # ********************************************
8637 RESULTAT =FACT(statut='o',min=1,max=1,
8638 MECANIQUE =SIMP(statut='o',typ=resultat_sdaster),
8639 THERMIQUE =SIMP(statut='o',typ=resultat_sdaster),
8640 regles=(EXCLUS('NUME_ORDRE','INST'),),
8641 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),),
8642 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),),
8645 # DONNEES GEOMETRIQUES RELATIVES A LA FISSURE
8646 # *******************************************
8648 FISSURE =FACT(statut='o',min=1,max='**',
8649 PREFIXE_FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,8),),
8650 GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),min=2,max=2,
8651 fr="Groupe(s) des noeuds definissant les levres de la fissure"),
8652 GROUP_NO_ORIG =SIMP(statut='o',typ=grno,validators=NoRepeat(),min=2,max=2),
8653 GROUP_NO_EXTR =SIMP(statut='o',typ=grno,validators=NoRepeat(),min=2,max=2),
8654 ZETA =SIMP(statut='o',typ='R',fr="Coefficient de la perte de charge singuliere a l'entree [zeta]" ),
8655 RUGOSITE =SIMP(statut='o',typ='R',fr="Rugosite absolu (metres) [eps]" ),
8656 OUVERT_REMANENTE =SIMP(statut='o',typ='R',val_min=0.,fr="Ouverture remanente"),
8657 TORTUOSITE =SIMP(statut='f',typ='R',defaut=1.0, val_min=0., val_max=1.0,
8658 fr="Coefficient de tortuosite de la fissure" ),
8659 SECTION =SIMP(statut='o',typ='TXM',into=("ELLIPSE","RECTANGLE"),fr="Type de section [is]" ),
8660 b_section_ellipse =BLOC(condition="SECTION=='ELLIPSE'",fr="Fissure a section elliptique",
8661 LISTE_COTES_BL =SIMP(statut='f',typ='R',max='**',
8662 fr="Liste des cotes des points definissant le petit axe de la section",
8663 validators=NoRepeat() ),
8664 LISTE_VAL_BL =SIMP(statut='o',typ='R',max='**',
8665 fr="Liste des valeurs des points definissant le petit axe de la section", ),
8667 b_section_rectangle =BLOC(condition="SECTION=='RECTANGLE'",fr="Fissure a section rectangulaire",
8668 LISTE_COTES_BL =SIMP(statut='f',typ='R',max='**',
8669 fr="Liste des cotes des points definissant la largeur de la section",
8670 validators=NoRepeat() ),
8671 LISTE_VAL_BL =SIMP(statut='o',typ='R',max='**',
8672 fr="Liste des valeurs des points definissant la largeur de la section", ),
8677 # DONNEES RELATIVES A L"ECOULEMENT
8678 # ********************************
8680 ECOULEMENT =FACT(statut='o',min=1,max=1,
8681 PRES_ENTREE =SIMP(statut='o',typ='R',fr="Pression de stagnation a l'entree (Pa) [pe]" ),
8682 PRES_SORTIE =SIMP(statut='o',typ='R',fr="Pression de stagnation a la sortie (Pa) [ps]" ),
8683 FLUIDE_ENTREE =SIMP(statut='o',typ='I',into=(1,2,3,4,5,6),fr="Condition du fluide a l'entree [iflow]" ),
8684 b_condition_1 =BLOC(condition="FLUIDE_ENTREE==1",fr="Eau sous-refroidie ou saturee",
8685 TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ),
8687 b_condition_2 =BLOC(condition="FLUIDE_ENTREE==2",fr="Fluide diphasique",
8688 TITR_MASS =SIMP(statut='o',typ='R',fr="Titre massique eau vap/eau tot a l'entree [xe]" ),
8690 b_condition_3 =BLOC(condition="FLUIDE_ENTREE==3",fr="Vapeur saturee ou surchauffee",
8691 TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ),
8693 b_condition_4 =BLOC(condition="FLUIDE_ENTREE==4",fr="Air + vapeur surchauffee",
8694 TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ),
8695 PRES_PART =SIMP(statut='o',typ='R',fr="Pression partielle air en entree (Pa) [pae]" ),
8697 b_condition_5 =BLOC(condition="FLUIDE_ENTREE==5",fr="Air + vapeur saturee",
8698 TITR_MASS =SIMP(statut='o',typ='R',fr="Titre massique eau vap/eau tot a l'entree [xe]" ),
8699 PRES_PART =SIMP(statut='o',typ='R',fr="Pression partielle air en entree (Pa) [pae]" ),
8701 b_condition_6 =BLOC(condition="FLUIDE_ENTREE==6",fr="Air seul",
8702 TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ),
8710 MODELE_ECRE =FACT(statut='o',min=1,max=1,
8711 IVENAC =SIMP(statut='f', typ='I', into=(0,1), defaut=0,
8712 fr="Calcul ECREVISSE avec prise en compte de la vena contracta"),
8713 ECOULEMENT =SIMP(statut='o',typ='TXM',into=("SATURATION","GELE"),
8714 fr="Type de modele d'ecoulement diphasique [imod]" ),
8715 b_ecou_gele =BLOC(condition="ECOULEMENT=='GELE'",fr="Modele d'ecoulement gele",
8716 PRESS_EBULLITION =SIMP(statut='o',typ='R',fr="Pression d'ebullition [corrp*psat(t)]" ),
8718 FROTTEMENT =SIMP(statut='o',typ='I',into=(-4,-3,-2,-1,0,1,2,3,4,11,12,13,14),fr="Correlation de frottement [ifrot]" ),
8719 b_frottement =BLOC(condition="FROTTEMENT<0",fr="Modele d'ecoulement gele",
8720 REYNOLDS_LIM =SIMP(statut='o',typ='R',fr="Coefficient de Reynolds limite [relim]" ),
8721 FROTTEMENT_LIM =SIMP(statut='o',typ='R',fr="Coefficient de frottement impose [frtlim]" ),
8724 TRANSFERT_CHAL =SIMP(statut='o',typ='I',into=(-12,-11,-2,-1,0,1,2,11,12),fr="Transfert de chaleur [ichal]" ),
8725 b_transchal =BLOC(condition="TRANSFERT_CHAL<0", fr="Cas diphasique",
8726 XMINCH =SIMP(statut='o',typ='R',fr="Titre massique gazeux min [xminch]"),
8727 XMAXCH =SIMP(statut='o',typ='R',fr="Titre massique gazeux max [xmaxch]"),
8732 # DONNEES RELATIVES A LA CONVERGENCE NUMERIQUE
8733 # ********************************************
8735 CONVERGENCE =FACT(statut='o',min=1,max=1,
8736 KGTEST =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=1.E+0,defaut= 0.5E+0,
8737 fr="Parametre de l'algorithme iteratif [kgtest]" ),
8738 ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 400,
8739 fr="Nombre maximum d'iterations de la methode de Newton [itnmax]" ),
8740 CRIT_CONV_DEBI =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=1.E+0,defaut= 1.E-5,
8741 fr="Critere de convergence en debit [precdb]" ),
8747 COURBES =SIMP(statut='f',typ='TXM',into=("INTERACTIF","POSTSCRIPT","AUCUNE"),defaut="AUCUNE",
8748 fr="Generation eventuelle des courbes" ),
8749 LOGICIEL =SIMP(statut='f',typ='TXM',validators=LongStr(1,255),),
8750 VERSION =SIMP(statut='f',typ='TXM',into = ("3.2.1",) ),
8751 ENTETE =SIMP(statut='f',typ='TXM',max='**',defaut="Titre du calcul Ecrevisse" ),
8752 IMPRESSION =SIMP(statut='f',typ='TXM',defaut='NON',into=( 'OUI','NON') ),
8753 INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
8757 # ======================================================================
8758 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
8759 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8760 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8761 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
8762 # (AT YOUR OPTION) ANY LATER VERSION.
8764 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
8765 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
8766 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
8767 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
8769 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
8770 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
8771 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
8772 # ======================================================================
8773 # person_in_charge: josselin.delmas at edf.fr
8774 def calc_erreur_prod(RESULTAT,**args):
8775 if AsType(RESULTAT) != None : return AsType(RESULTAT)
8776 raise AsException("type de concept resultat non prevu")
8778 CALC_ERREUR=OPER(nom="CALC_ERREUR",op=42,sd_prod=calc_erreur_prod,reentrant='f',
8779 UIinfo={"groupes":("Post-traitements","Résultats et champs",)},
8780 fr="Compléter ou créer un résultat en calculant des champs d'erreur",
8781 MODELE =SIMP(statut='f',typ=modele_sdaster),
8782 CHAM_MATER =SIMP(statut='f',typ=cham_mater),
8784 RESULTAT =SIMP(statut='o',typ=resultat_sdaster,
8785 fr="Résultat d'une commande globale"),
8787 regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
8788 'NOEUD_CMP','LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS'),
8790 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
8791 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
8792 NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
8793 NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
8794 NOM_CAS =SIMP(statut='f',typ='TXM' ),
8795 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
8796 FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
8797 LIST_INST =SIMP(statut='f',typ=listr8_sdaster),
8798 LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster),
8799 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
8800 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
8801 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6),),
8802 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
8803 PRECISION =SIMP(statut='o',typ='R'),),
8804 LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster),
8805 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI"),
8807 #-----------------------------------------------------------------------
8808 # pour conserver la compatibilité mais ne sert à rien
8809 #-----------------------------------------------------------------------
8810 CARA_ELEM =SIMP(statut='f',typ=cara_elem),
8811 EXCIT =FACT(statut='f',max='**',
8812 fr="Charges contenant les températures, les efforts répartis pour les poutres...",
8813 regles=(EXCLUS('FONC_MULT','COEF_MULT',),),
8814 CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca),),
8815 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),),
8816 COEF_MULT =SIMP(statut='f',typ='R'),),
8817 #-----------------------------------------------------------------------
8819 OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO(phenomene='ERREUR',),),
8821 b_erre_qi =BLOC(condition = "au_moins_un(OPTION, ('QIRE_ELEM','QIZ1_ELEM','QIZ2_ELEM','QIRE_ELNO','QIRE_NOEU'))",
8822 RESU_DUAL=SIMP(statut='o',typ=resultat_sdaster,fr="Résultat du problème dual"),),
8824 b_sing =BLOC(condition= "au_moins_un(OPTION, 'SING_ELEM')",
8825 PREC_ERR=SIMP(statut='o',typ='R',val_min= 0.,
8826 fr="Précision demandée pour calculer la carte de taille des éléments"),
8827 TYPE_ESTI=SIMP(statut='f',typ='TXM',into=("ERME_ELEM","ERZ1_ELEM","ERZ2_ELEM",
8828 "QIRE_ELEM","QIZ1_ELEM","QIZ2_ELEM",),
8829 fr="Choix de l'estimateur d'erreur"),),
8831 #-------------------------------------------------------------------
8832 # Catalogue commun SOLVEUR (utilisé actuellement pour estimateur d'erreur ZZ1)
8833 SOLVEUR =C_SOLVEUR('CALC_ERREUR'),
8834 #-------------------------------------------------------------------
8836 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
8837 TITRE =SIMP(statut='f',typ='TXM',max='**'),
8840 # ======================================================================
8841 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
8842 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8843 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8844 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
8845 # (AT YOUR OPTION) ANY LATER VERSION.
8847 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
8848 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
8849 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
8850 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
8852 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
8853 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
8854 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
8855 # ======================================================================
8857 # person_in_charge: albert.alarcon at edf.fr
8860 def calc_essai_prod(self,RESU_IDENTIFICATION,
8864 if RESU_IDENTIFICATION != None:
8865 for res in RESU_IDENTIFICATION:
8866 self.type_sdprod(res['TABLE'],interspectre)
8869 'MODELE' : modele_sdaster,
8870 'MODE_MECA' : mode_meca,
8871 'NUME_DDL' : nume_ddl_sdaster,
8872 'MAILLAGE' : maillage_sdaster,
8873 'MASS_MECA' : matr_asse_depl_r,
8874 'RIGI_MECA' : matr_asse_depl_r,
8875 'AMOR_MECA' : matr_asse_depl_r,
8876 'MACR_ELEM' : macr_elem_stat,
8877 'PROJ_MESU' : mode_gene,
8878 'BASE_ES' : mode_meca,
8879 'BASE_LMME' : mode_meca,
8880 'MODE_STA' : mode_meca,
8882 if RESU_MODIFSTRU != None:
8883 for res in RESU_MODIFSTRU:
8884 for mc, typ in MTYPES.items():
8886 self.type_sdprod(res[mc], typ)
8890 CALC_ESSAI = MACRO(nom = 'CALC_ESSAI',
8891 op = OPS('Macro.calc_essai_ops.calc_essai_ops'),
8892 sd_prod = calc_essai_prod,
8894 UIinfo = {"groupes":("Outils-métier","Dynamique",)},
8895 fr = "Outil de post-traitement interactif pour Meidee ",
8896 INTERACTIF = SIMP( statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI' ),
8897 RESU_IDENTIFICATION = FACT( statut='f',max='**',
8898 TABLE = SIMP(statut='f', typ=CO),
8900 RESU_MODIFSTRU = FACT( statut='f', max=1,
8901 MODELE=SIMP(statut='f',typ=CO,defaut=None),
8902 MODE_MECA=SIMP(statut='f',typ=CO,defaut=None),
8903 MAILLAGE=SIMP(statut='f',typ=CO,defaut=None),
8904 NUME_DDL=SIMP(statut='f',typ=CO,defaut=None),
8905 MASS_MECA=SIMP(statut='f',typ=CO,defaut=None),
8906 RIGI_MECA=SIMP(statut='f',typ=CO,defaut=None),
8907 AMOR_MECA=SIMP(statut='f',typ=CO,defaut=None),
8908 MACR_ELEM=SIMP(statut='f',typ=CO,defaut=None),
8909 PROJ_MESU=SIMP(statut='f',typ=CO,defaut=None),
8910 BASE_ES=SIMP(statut='f',typ=CO,defaut=None),
8911 BASE_LMME=SIMP(statut='f',typ=CO,defaut=None),
8912 MODE_STA=SIMP(statut='f',typ=CO,defaut=None),
8915 b_inter = BLOC( condition="INTERACTIF=='NON'",
8917 EXPANSION = FACT( statut='f',max='**',
8918 CALCUL = SIMP(statut='o',typ=mode_meca),
8919 NUME_MODE_CALCUL = SIMP(statut='f',typ='I',validators=NoRepeat(),
8921 MESURE = SIMP(statut='o',typ=mode_meca),
8922 NUME_MODE_MESURE = SIMP(statut='f',typ='I',validators=NoRepeat(),
8924 RESOLUTION = SIMP(statut='f',typ='TXM',defaut='SVD',into=('SVD','LU')),
8925 b_reso = BLOC(condition = "RESOLUTION=='SVD'",
8926 EPS = SIMP(statut='f',typ='R', defaut = 0.)
8929 IDENTIFICATION = FACT( statut='f',max='**',
8930 ALPHA = SIMP(statut='f',typ='R', defaut = 0.),
8931 EPS = SIMP(statut='f',typ='R', defaut = 0.),
8932 OBSERVABILITE = SIMP(statut='o',typ=mode_meca),
8933 COMMANDABILITE = SIMP(statut='o',typ=mode_meca),
8934 INTE_SPEC = SIMP(statut='o',typ=interspectre),
8935 RESU_EXPANSION = SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON')),
8936 BASE = SIMP(statut='o',typ=mode_meca),
8938 MODIFSTRUCT = FACT( statut='f', max=1,
8939 MESURE = SIMP(statut='o', typ=mode_meca),
8940 MODELE_SUP = SIMP(statut='o', typ=modele_sdaster),
8941 MATR_RIGI = SIMP(statut='o', typ=matr_asse_depl_r),
8942 RESOLUTION = SIMP(statut='f', typ='TXM',
8943 into=('ES', 'LMME'), defaut='ES'),
8944 b_resol = BLOC( condition = "RESOLUTION=='LMME'",
8945 MATR_MASS = SIMP(statut='o', typ=matr_asse_depl_r),
8947 NUME_MODE_MESU = SIMP(statut='o', typ='I',max='**'),
8948 NUME_MODE_CALCUL = SIMP(statut='o', typ='I',max='**'),
8949 MODELE_MODIF = SIMP(statut='o', typ=modele_sdaster),
8951 # Si on realise une modification structurale, on donne les DDL capteurs et interface
8952 b_modif = BLOC( condition="MODIFSTRUCT!=None",
8953 GROUP_NO_CAPTEURS = FACT( statut='f', max='**',
8954 GROUP_NO = SIMP(statut='o',typ=grno,),
8955 NOM_CMP = SIMP(statut='o',typ='TXM', max='**'),
8957 GROUP_NO_EXTERIEUR = FACT( statut='f', max='**',
8958 GROUP_NO = SIMP(statut='o',typ=grno,),
8959 NOM_CMP = SIMP(statut='o',typ='TXM', max='**'),
8965 # ======================================================================
8966 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
8967 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
8968 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8969 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
8970 # (AT YOUR OPTION) ANY LATER VERSION.
8972 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
8973 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
8974 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
8975 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
8977 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
8978 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
8979 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
8980 # ======================================================================
8981 # person_in_charge: sam.cuvilliez at edf.fr
8983 def calc_essai_geomeca_prod(self,
8991 if ESSAI_TD != None : List_essais += ESSAI_TD.List_F()
8992 if ESSAI_TND != None : List_essais += ESSAI_TND.List_F()
8993 if ESSAI_CISA_C != None : List_essais += ESSAI_CISA_C.List_F()
8994 if ESSAI_TND_C != None : List_essais += ESSAI_TND_C.List_F()
8995 #if ESSAI_XXX != None : List_essais += ESSAI_XXX.List_F()
8996 for DicoEssai in List_essais :
8997 if DicoEssai.has_key('TABLE_RESU'):
8998 for Table in DicoEssai['TABLE_RESU']:
8999 self.type_sdprod(Table,table_sdaster)
9003 CALC_ESSAI_GEOMECA = MACRO(nom="CALC_ESSAI_GEOMECA",
9004 op=OPS('Macro.calc_essai_geomeca_ops.calc_essai_geomeca_ops'),
9005 sd_prod=calc_essai_geomeca_prod,
9006 UIinfo={"groupes":("",)},
9009 MATER = SIMP(statut='o',typ=mater_sdaster),
9010 COMPORTEMENT = C_COMPORTEMENT(),
9011 CONVERGENCE = C_CONVERGENCE(),
9012 regles=(AU_MOINS_UN('COMPORTEMENT'), # car COMPORTEMENT est facultatif dans C_COMPORTEMENT
9021 # Essai Triaxial Monotone Draine ('TD')
9023 ESSAI_TD = FACT(statut='f',max='**',
9025 PRES_CONF = SIMP(statut='o',typ='R',max='**',),
9026 EPSI_IMPOSE = SIMP(statut='o',typ='R',max='**',),
9027 NB_INST = SIMP(statut='f',typ='I',val_min=100,defaut=100),
9029 TABLE_RESU = SIMP(statut='f',typ=CO,max='**',validators=NoRepeat(),),
9030 GRAPHIQUE = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(),
9031 into= ('P-Q','EPS_AXI-Q','EPS_AXI-EPS_VOL',),
9032 defaut=('P-Q','EPS_AXI-Q','EPS_AXI-EPS_VOL',),),
9033 TABLE_REF = SIMP(statut='f',typ=table_sdaster,max='**',),
9038 # Essai Triaxial Monotone Non Draine ('TND')
9040 ESSAI_TND = FACT(statut='f',max='**',
9042 PRES_CONF = SIMP(statut='o',typ='R',max='**',),
9043 EPSI_IMPOSE = SIMP(statut='o',typ='R',max='**',),
9044 BIOT_COEF = SIMP(statut='f',typ='R',defaut=1.,),
9045 NB_INST = SIMP(statut='f',typ='I',val_min=100,defaut=100),
9047 TABLE_RESU = SIMP(statut='f',typ=CO,max='**',validators=NoRepeat(),),
9048 GRAPHIQUE = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(),
9049 into= ('P-Q','EPS_AXI-Q','EPS_AXI-PRE_EAU',),
9050 defaut=('P-Q','EPS_AXI-Q','EPS_AXI-PRE_EAU',),),
9051 TABLE_REF = SIMP(statut='f',typ=table_sdaster,max='**',),
9056 # Essai de Cisaillement Cyclique Draine ('CISA_C')
9058 ESSAI_CISA_C = FACT(statut='f',max='**',
9060 PRES_CONF = SIMP(statut='o',typ='R',max='**',),
9061 EPSI_IMPOSE = SIMP(statut='o',typ='R',max='**',),
9062 EPSI_ELAS = SIMP(statut='f',typ='R',defaut=1.E-7,val_max=1.E-7),
9063 NB_CYCLE = SIMP(statut='o',typ='I',val_min=1),
9064 NB_INST = SIMP(statut='f',typ='I',val_min=25,defaut=25),
9066 TABLE_RESU = SIMP(statut='f',typ=CO,max='**',validators=NoRepeat(),),
9067 GRAPHIQUE = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(),
9068 into= ('EPSXY-SIGXY','EPSXY-G','EPSXY-D',),
9069 defaut=('EPSXY-SIGXY','EPSXY-G','EPSXY-D',),),
9070 TABLE_REF = SIMP(statut='f',typ=table_sdaster,max='**',),
9075 # Essai Triaxial Non Draine Cyclique ('TND_C')
9077 ESSAI_TND_C = FACT(statut='f',max='**',
9079 PRES_CONF = SIMP(statut='o',typ='R',max='**',),
9080 SIGM_IMPOSE = SIMP(statut='o',typ='R',max='**',),
9081 BIOT_COEF = SIMP(statut='f',typ='R',defaut=1.,),
9082 UN_SUR_K = SIMP(statut='o',typ='R',),
9083 NB_CYCLE = SIMP(statut='o',typ='I',val_min=1),
9084 NB_INST = SIMP(statut='f',typ='I',val_min=25,defaut=25),
9086 TABLE_RESU = SIMP(statut='f',typ=CO,max='**',validators=NoRepeat(),),
9087 GRAPHIQUE = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(),
9088 into= ('NCYCL-DSIGM','P-Q','SIG_AXI-PRE_EAU',),
9089 defaut=('NCYCL-DSIGM','P-Q','SIG_AXI-PRE_EAU',),),
9090 TABLE_REF = SIMP(statut='f',typ=table_sdaster,max='**',),
9097 #ESSAI_XXX = FACT(statut='f',max='**',
9099 # PRES_CONF = SIMP(statut='o',typ='R',max='**',),
9102 # TABLE_RESU = SIMP(statut='f',typ=CO,max='**',validators=NoRepeat(),),
9103 # GRAPHIQUE = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(),
9104 # into= ('XXX','XXX','XXX',),
9105 # defaut=('XXX','XXX','XXX',),),
9106 # TABLE_REF = SIMP(statut='f',typ=table_sdaster,max='**',),
9110 INFO = SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),)
9112 # ======================================================================
9113 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
9114 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
9115 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
9116 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
9117 # (AT YOUR OPTION) ANY LATER VERSION.
9119 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
9120 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
9121 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
9122 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
9124 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
9125 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
9126 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
9127 # ======================================================================
9128 # person_in_charge: aimery.assire at edf.fr
9130 def calc_europlexus_prod(self,COURBE=None,**args):
9131 if COURBE is not None:
9132 self.type_sdprod(args['TABLE_COURBE'],table_sdaster)
9135 CALC_EUROPLEXUS = MACRO(nom="CALC_EUROPLEXUS",
9136 op=OPS('Macro.calc_europlexus_ops.calc_europlexus_ops'),
9137 sd_prod=calc_europlexus_prod,
9139 UIinfo={"groupes":("Outils-métier","Dynamique",)},
9140 fr="Chainage Code_Aster-Europlexus",
9141 regles=(PRESENT_ABSENT('ETAT_INIT','MODELE'),
9142 PRESENT_ABSENT('ETAT_INIT','CARA_ELEM'),
9143 PRESENT_ABSENT('ETAT_INIT','CHAM_MATER'),
9144 EXCLUS('ETAT_INIT','FONC_PARASOL'),
9145 AU_MOINS_UN('COMPORTEMENT'),),
9146 LOGICIEL = SIMP(statut='f', typ='TXM', defaut='/home/europlex/EPXD/bin/europlexus'),
9147 LANCEMENT = SIMP(statut='f', typ='TXM', defaut='OUI',into=('OUI','NON')),
9149 ETAT_INIT = FACT(statut='f',
9150 RESULTAT = SIMP(statut='o',typ=evol_noli),
9151 CONTRAINTE = SIMP(statut='f', typ='TXM', defaut='NON',into=('OUI','NON')),
9152 EQUILIBRE = SIMP(statut='f', typ='TXM', defaut='OUI',into=('OUI','NON')),
9153 b_niter =BLOC(condition = "CONTRAINTE == 'NON' ",
9154 NITER = SIMP(statut='f',typ='I',defaut=1),
9157 MODELE = SIMP(statut='f',typ=modele_sdaster),
9158 CARA_ELEM = SIMP(statut='f',typ=cara_elem),
9160 FONC_PARASOL = FACT(statut='f',
9161 regles=(PRESENT_PRESENT('NFKT','NFKR'),),
9162 NFKT = SIMP(statut='f',typ=(fonction_sdaster,)),
9163 NFKR = SIMP(statut='f',typ=(fonction_sdaster,)),
9164 NFAT = SIMP(statut='f',typ=(fonction_sdaster,)),
9165 NFAR = SIMP(statut='f',typ=(fonction_sdaster,)),
9166 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
9170 CHAM_MATER = SIMP(statut='f',typ=cham_mater),
9171 COMPORTEMENT =C_COMPORTEMENT('CALC_EUROPLEXUS'),
9173 EXCIT = FACT(statut='o',max='**',
9174 CHARGE = SIMP(statut='o',typ=(char_meca,)),
9175 FONC_MULT = SIMP(statut='f',typ=(fonction_sdaster,)),
9178 DIME = FACT(statut='f', regles=(AU_MOINS_UN('UNITE_DIME','Q4GS','FORCE',
9179 'PT6L','ZONE','POUT','ECRO',
9180 'APPU','BLOQ','PRESS','PMAT',
9181 'DKT3','DEPL','FNOM','TABLE','FTAB',
9182 'MTTI','NEPE','LIAI',), ),
9183 UNITE_DIME=SIMP(statut='f',typ='I'),
9185 Q4GS = SIMP(statut='f',typ='I'),
9186 FORCE = SIMP(statut='f',typ='I'),
9187 PT6L = SIMP(statut='f',typ='I'),
9188 ZONE = SIMP(statut='f',typ='I'),
9189 POUT = SIMP(statut='f',typ='I'),
9190 ECRO = SIMP(statut='f',typ='I'),
9191 APPU = SIMP(statut='f',typ='I'),
9192 BLOQ = SIMP(statut='f',typ='I'),
9193 PRESS = SIMP(statut='f',typ='I',min=2,max=2,),
9194 PMAT = SIMP(statut='f',typ='I'),
9195 DKT3 = SIMP(statut='f',typ='I'),
9196 DEPL = SIMP(statut='f',typ='I'),
9197 FNOM = SIMP(statut='f',typ='I'),
9198 TABLE = SIMP(statut='f',typ='I',min=2,max=2,),
9199 FTAB = SIMP(statut='f',typ='I'),
9200 MTTI = SIMP(statut='f',typ='I'),
9201 NEPE = SIMP(statut='f',typ='I'),
9202 LIAI = SIMP(statut='f',typ='I'),
9205 CALCUL = FACT(statut='o',
9206 TYPE_DISCRETISATION = SIMP(statut='o',typ='TXM',defaut='AUTO',into=('AUTO','UTIL')),
9207 INST_FIN = SIMP(statut='o',typ='R'),
9208 INST_INIT = SIMP(statut='o',typ='R'),
9209 NMAX = SIMP(statut='f',typ='R'),
9211 b_auto =BLOC( condition = "TYPE_DISCRETISATION=='AUTO'",
9212 CSTAB = SIMP(statut='o',typ='R',defaut=0.3),
9213 # DTMAX = SIMP(statut='f',typ='R'),
9216 b_util =BLOC( condition = "TYPE_DISCRETISATION=='UTIL'",
9217 PASFIX = SIMP(statut='o',typ='R'),
9222 OBSERVATION =FACT(statut='f',max='**',
9223 SUIVI_DDL = SIMP(statut='o',typ='TXM',defaut="OUI",max=1,into=("OUI","NON")),
9224 b_suivi =BLOC(condition = "SUIVI_DDL == 'OUI' ",
9225 regles=( AU_MOINS_UN('PAS_NBRE','PAS_INST',),
9226 EXCLUS('PAS_NBRE','PAS_INST',),
9227 EXCLUS('GROUP_NO','TOUT_GROUP_NO',),
9228 EXCLUS('GROUP_MA','TOUT_GROUP_MA',), ),
9229 NOM_CHAM = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',defaut=('DEPL',),into=('DEPL'
9230 ,'VITE','ACCE','SIEF_ELGA','EPSI_ELGA','VARI_ELGA'),),
9231 PAS_INST = SIMP(statut='f',typ='R'),
9232 PAS_NBRE = SIMP(statut='f',typ='I'),
9233 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
9234 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
9235 TOUT_GROUP_NO = SIMP(statut='f',typ='TXM',into=('OUI',),),
9236 TOUT_GROUP_MA = SIMP(statut='f',typ='TXM',into=('OUI',),),
9241 ARCHIVAGE =FACT(statut='o', regles=( AU_MOINS_UN('PAS_NBRE','PAS_INST',), EXCLUS('PAS_NBRE','PAS_INST',), ),
9242 PAS_INST = SIMP(statut='f',typ='R'),
9243 PAS_NBRE = SIMP(statut='f',typ='I'),
9244 CONT_GENER = SIMP(statut='o',typ='TXM',defaut="OUI",max=1,into=("OUI","NON")),
9246 COURBE = FACT(statut='f',max='**', regles=(EXCLUS('GROUP_NO','GROUP_MA')),
9247 UNITE_ALIT = SIMP(statut='f',typ='I'),
9248 NOM_CHAM = SIMP(statut='f',typ='TXM'),
9249 NOM_CMP = SIMP(statut='f',typ='TXM'),
9250 # NOEUD = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
9251 # MAILLE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
9252 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
9253 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1),
9255 b_maille = BLOC(condition = "GROUP_MA != None", regles=(AU_MOINS_UN('NUM_GAUSS')),
9256 NUM_GAUSS = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),),
9258 b_courbe = BLOC(condition = "COURBE != None",
9259 regles=(AU_MOINS_UN('PAS_NBRE_COURBE','PAS_INST_COURBE',),
9260 AU_MOINS_UN('TABLE_COURBE',)),
9261 PAS_INST_COURBE = SIMP(statut='f',typ='R'),
9262 PAS_NBRE_COURBE = SIMP(statut='f',typ='I'),
9263 TABLE_COURBE = SIMP(statut='f', typ=CO),
9265 DOMAINES = FACT(statut='f',max='**',
9266 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
9267 IDENTIFIANT = SIMP(statut='f',typ='I'),),
9268 INTERFACES = FACT(statut='f',max='**',
9269 GROUP_MA_1 = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
9270 GROUP_MA_2 = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
9271 TOLE = SIMP(statut='f',typ='R'),
9272 IDENT_DOMAINE_1 = SIMP(statut='f',typ='I'),
9273 IDENT_DOMAINE_2 = SIMP(statut='f',typ='I'),),
9275 INFO =SIMP(statut='f',typ='I',defaut=1,into=( 1, 2 ) ),
9278 # ======================================================================
9279 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
9280 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
9281 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
9282 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
9283 # (AT YOUR OPTION) ANY LATER VERSION.
9285 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
9286 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
9287 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
9288 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
9290 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
9291 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
9292 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
9293 # ======================================================================
9294 # person_in_charge: van-xuan.tran at edf.fr
9295 def calc_fatigue_prod(TYPE_CALCUL,OPTION,**args):
9296 if TYPE_CALCUL == "CUMUL_DOMMAGE" : return cham_elem
9297 if TYPE_CALCUL == "FATIGUE_MULTI" and OPTION == "DOMA_ELGA": return cham_elem
9298 if TYPE_CALCUL == "FATIGUE_MULTI" and OPTION == "DOMA_NOEUD": return cham_no_sdaster
9299 if TYPE_CALCUL == "FATIGUE_VIBR" : return cham_elem
9300 raise AsException("type de calcul non prevu")
9302 CALC_FATIGUE=OPER(nom="CALC_FATIGUE",op= 151,sd_prod=calc_fatigue_prod,reentrant='n',
9303 fr="Calculer un champ de dommage de fatigue subit par une structure et déterminer le plan critique"
9304 +" dans lequel le cisaillement est maximal.",
9305 UIinfo={"groupes":("Post-traitements","Rupture",)},
9307 TYPE_CALCUL = SIMP(statut='o',typ='TXM',
9308 into=("CUMUL_DOMMAGE","FATIGUE_MULTI","FATIGUE_VIBR") ),
9310 b_cumul_domma =BLOC(condition = "TYPE_CALCUL == 'CUMUL_DOMMAGE'",
9311 fr="Calcul d un champ de dommage subi par une structure.",
9312 regles=(PRESENT_PRESENT('DOMMAGE','MATER', ),),
9313 OPTION =SIMP(statut='o',typ='TXM',
9314 into=("DOMA_ELNO_SIGM","DOMA_ELGA_SIGM",
9315 "DOMA_ELNO_EPSI","DOMA_ELGA_EPSI",
9316 "DOMA_ELNO_EPME","DOMA_ELGA_EPME") ),
9318 b_sigm =BLOC(condition = "OPTION == 'DOMA_ELNO_SIGM' or OPTION == 'DOMA_ELGA_SIGM'",
9319 fr="Calcul a partir d un champ de contraintes.",
9320 HISTOIRE =FACT(statut='o',
9321 RESULTAT =SIMP(statut='o',typ=(evol_elas,dyna_trans,
9323 EQUI_GD =SIMP(statut='f',typ='TXM',defaut="VMIS_SG",
9324 into=("VMIS_SG",) ),
9327 b_epsi =BLOC(condition = "OPTION != 'DOMA_ELNO_SIGM' and OPTION != 'DOMA_ELGA_SIGM'",
9328 fr="Calcul a partir d un champ de déformations.",
9329 HISTOIRE =FACT(statut='o',
9330 RESULTAT =SIMP(statut='o',typ=(evol_elas,dyna_trans,
9332 EQUI_GD =SIMP(statut='o',typ='TXM',defaut="INVA_2_SG",
9333 into=("INVA_2_SG",) ),
9336 DOMMAGE =SIMP(statut='o',typ='TXM',
9337 into=("WOHLER","MANSON_COFFIN","TAHERI_MANSON",
9339 MATER =SIMP(statut='o',typ=(mater_sdaster) ),
9340 TAHERI_NAPPE =SIMP(statut='f',typ=(nappe_sdaster,formule) ),
9341 TAHERI_FONC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
9344 b_domma_moda =BLOC(condition = "TYPE_CALCUL == 'FATIGUE_VIBR'",
9345 fr="Calcul d un champ de dommage en dynamique vibratoire",
9346 regles=(PRESENT_PRESENT('DOMMAGE','MATER', ),),
9347 OPTION =SIMP(statut='o',typ='TXM',
9348 into=("DOMA_ELNO_SIGM","DOMA_ELGA_SIGM",) ),
9349 CORR_SIGM_MOYE = SIMP(statut='o',typ='TXM',into=("GOODMAN","GERBER")),
9350 HISTOIRE =FACT(statut='o',
9351 RESULTAT =SIMP(statut='o',typ=(evol_elas, evol_noli) ),
9352 MODE_MECA =SIMP(statut='o',typ=(mode_meca) ),
9353 NUME_MODE =SIMP(statut='o',typ='I',min=1 ,max='**'),
9354 FACT_PARTICI =SIMP(statut='o',typ='R',min=1, max='**',defaut=1. ),
9355 EQUI_GD =SIMP(statut='f',typ='TXM',defaut="VMIS_SG",
9356 into=("VMIS_SG",) ),
9358 DOMMAGE =SIMP(statut='o',typ='TXM',
9360 MATER =SIMP(statut='o',typ=(mater_sdaster) ),
9363 b_fatigue_multi =BLOC(condition = "TYPE_CALCUL == 'FATIGUE_MULTI'",
9364 fr="Plan critique dans le cas de la fatigue multiaxiale à grand nombre de cycles.",
9365 TYPE_CHARGE =SIMP(statut='o',typ='TXM',into=("PERIODIQUE","NON_PERIODIQUE") ),
9366 OPTION =SIMP(statut='o',typ='TXM',into=("DOMA_ELGA","DOMA_NOEUD") ),
9367 RESULTAT =SIMP(statut='o',typ=(evol_elas, evol_noli) ),
9368 CHAM_MATER =SIMP(statut='f',typ=(cham_mater) ),
9369 MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ),
9370 regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
9371 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**' ),
9372 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**' ),
9373 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**' ),
9374 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**' ),
9375 COEF_PREECROU =SIMP(statut='f',typ='R',defaut= 1.0E+0),
9376 b_period =BLOC(condition = "TYPE_CHARGE == 'PERIODIQUE'",
9377 CRITERE =SIMP(statut='o',typ='TXM',into=("MATAKE_MODI_AC",
9378 "DANG_VAN_MODI_AC","VMIS_TRESCA","FORMULE_CRITERE") ),
9379 b_fati_p =BLOC(condition = "(CRITERE == 'MATAKE_MODI_AC' or CRITERE == 'DANG_VAN_MODI_AC')",
9380 METHODE =SIMP(statut='o',typ='TXM',into=("CERCLE_EXACT",) ),
9383 b_fati_pf =BLOC(condition = "(CRITERE == 'FORMULE_CRITERE')",
9384 FORMULE_GRDEQ = SIMP(statut='o',typ=(fonction_sdaster,formule) ),
9385 COURBE_GRD_VIE = SIMP(statut='o',typ='TXM',into=("WOHLER","MANSON_C","FORM_VIE") ),
9386 FORMULE_CRITIQUE = SIMP(statut='f',typ=(fonction_sdaster,formule) ),
9387 b_fati_pfvie = BLOC(condition = "(COURBE_GRD_VIE == 'FORM_VIE')",
9388 FORMULE_VIE =SIMP(statut='o',typ=(fonction_sdaster,formule) ),
9392 INST_INIT_CYCL =SIMP(statut='f',typ='R',min=1, max=1),
9393 INST_CRIT =SIMP(statut='f',typ='TXM',into=("RELATIF","ABSOLU",) ),
9394 regles=(PRESENT_PRESENT('INST_INIT_CYCL','INST_CRIT', ),),
9395 b_prec_rela=BLOC(condition="(INST_CRIT=='RELATIF')",
9396 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6),),
9397 b_prec_abso=BLOC(condition="(INST_CRIT=='ABSOLU')",
9398 PRECISION =SIMP(statut='o',typ='R'),),
9400 b_non_period =BLOC(condition = "TYPE_CHARGE == 'NON_PERIODIQUE'",
9401 CRITERE =SIMP(statut='o',typ='TXM',
9402 into=("MATAKE_MODI_AV","DANG_VAN_MODI_AV","FATESOCI_MODI_AV","FORMULE_CRITERE","VMIS_TRESCA") ),
9403 b_fati_np =BLOC(condition =
9404 "(CRITERE != 'VMIS_TRESCA')",
9405 PROJECTION =SIMP(statut='o',typ='TXM',into=("UN_AXE", "DEUX_AXES") ),
9406 DELTA_OSCI =SIMP(statut='f',typ='R',defaut= 0.0E+0),
9408 b_fati_npf =BLOC(condition = "(CRITERE == 'FORMULE_CRITERE')",
9409 FORMULE_GRDEQ =SIMP(statut='o',typ=(fonction_sdaster,formule) ),
9410 COURBE_GRD_VIE = SIMP(statut='o',typ='TXM',into=("WOHLER","MANSON_C","FORM_VIE") ),
9411 b_fati_npfvie = BLOC(condition = "(COURBE_GRD_VIE == 'FORM_VIE')",
9412 FORMULE_VIE =SIMP(statut='o',typ=(fonction_sdaster,formule) ),
9418 INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
9421 # ======================================================================
9422 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
9423 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
9424 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
9425 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
9426 # (AT YOUR OPTION) ANY LATER VERSION.
9428 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
9429 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
9430 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
9431 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
9433 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
9434 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
9435 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
9436 # ======================================================================
9437 # person_in_charge: jacques.pellet at edf.fr
9439 def calc_ferraillage_prod(RESULTAT,**args):
9440 if AsType(RESULTAT) != None : return AsType(RESULTAT)
9441 raise AsException("type de concept resultat non prevu")
9444 CALC_FERRAILLAGE=OPER(nom="CALC_FERRAILLAGE",op=175,sd_prod=calc_ferraillage_prod, reentrant='o',
9445 UIinfo={"groupes":("Post-traitements","Outils-métier",)},
9446 fr="calcul de cartes de densité de ferraillage ",
9448 RESULTAT =SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans,) ),
9452 # Sélection des numéros d'ordre pour lesquels on fait le calcul :
9454 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9455 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
9456 LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster),
9457 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
9458 LIST_INST =SIMP(statut='f',typ=listr8_sdaster),
9459 FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
9460 LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster),
9462 b_acce_reel =BLOC(condition="(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)",
9463 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
9464 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
9465 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
9466 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
9467 PRECISION =SIMP(statut='o',typ='R',),),
9473 # Définition des grandeurs caractéristiques
9476 TYPE_COMB =SIMP(statut='o',typ='TXM',into=('ELU','ELS')),
9478 # mot clé facteur répétable pour assigner les caractéristiques locales par zones topologiques (GROUP_MA)
9479 AFFE =FACT(statut='o',max='**',
9480 regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
9481 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9482 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
9483 MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
9484 ENROBG =SIMP(statut='o',typ='R'), # enrobage
9485 CEQUI =SIMP(statut='f',typ='R'), # coefficient d'équivalence acier/béton (pour ELS)
9486 SIGM_ACIER =SIMP(statut='o',typ='R'), # contrainte admissible dans l'acier
9487 SIGM_BETON =SIMP(statut='o',typ='R'), # contrainte admissible dans le béton
9488 PIVA =SIMP(statut='f',typ='R'), # valeur du pivot a (pour ELU)
9489 PIVB =SIMP(statut='f',typ='R'), # valeur du pivot b (pour ELU)
9490 ES =SIMP(statut='f',typ='R'), # valeur du Module d'Young de l'acier (pour ELU)
9495 ##############################################################################################################
9498 # l'épaisseur des coques sera récupérée automatiquement
9499 # via le cara_elem sous-jacent au résultat
9501 # Le résultat produit est un champ constant par éléments associé à la grandeur FER2_R
9502 # qui comporte les composantes :
9504 # DNSXI densité d'acier longitudinal suivant X, peau inf
9505 # DNSXS densité d'acier longitudinal suivant X, peau sup
9506 # DNSYI densité d'acier longitudinal suivant Y, peau inf
9507 # DNSYS densité d'acier longitudinal suivant Y, peau sup
9508 # DNST densité d'acier transversal à l'ELU
9509 # SIGMBE contrainte beton
9510 # EPSIBE deformation béton
9512 # arrêt en erreur si:
9513 # - EFGE_ELNO n'a pas été précédemment calculé et n'est donc pas présent dans la structure de données RESULTAT
9514 # - si aucun CARA_ELEM n'est récupérable via la structure de données RESULTAT
9516 # ======================================================================
9517 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
9518 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
9519 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
9520 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
9521 # (AT YOUR OPTION) ANY LATER VERSION.
9523 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
9524 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
9525 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
9526 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
9528 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
9529 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
9530 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
9531 # ======================================================================
9532 # person_in_charge: andre.adobes at edf.fr
9533 CALC_FLUI_STRU=OPER(nom="CALC_FLUI_STRU",op= 144,sd_prod=melasflu_sdaster,
9535 fr="Calculer les paramètres modaux d'une structure soumise à un écoulement",
9536 UIinfo={"groupes":("Matrices et vecteurs",)},
9537 VITE_FLUI =FACT(statut='f',
9538 fr="Définir la plage de vitesse fluide étudiée",
9539 VITE_MIN =SIMP(statut='f',typ='R' ),
9540 VITE_MAX =SIMP(statut='f',typ='R' ),
9541 NB_POIN =SIMP(statut='f',typ='I' ),
9543 BASE_MODALE =FACT(statut='o',
9545 regles=(AU_MOINS_UN('AMOR_REDUIT','AMOR_UNIF','AMOR_REDUIT_CONN'),),
9546 MODE_MECA =SIMP(statut='o',typ=mode_meca ),
9547 NUME_ORDRE =SIMP(statut='f',typ='I',max='**'),
9548 AMOR_REDUIT =SIMP(statut='f',typ='R',max='**',val_min=0.E+00),
9549 AMOR_UNIF =SIMP(statut='f',typ='R',val_min=0.E+00 ),
9550 AMOR_REDUIT_CONN=SIMP(statut='f',typ='R',max='**',val_min=0.E+00),
9552 TYPE_FLUI_STRU =SIMP(statut='o',typ=type_flui_stru ),
9553 IMPRESSION =FACT(statut='f',
9554 fr="Choix des informations à imprimer dans le fichier RESULTAT",
9555 PARA_COUPLAGE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
9556 DEFORMEE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
9560 # ======================================================================
9561 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
9562 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
9563 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
9564 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
9565 # (AT YOUR OPTION) ANY LATER VERSION.
9567 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
9568 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
9569 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
9570 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
9572 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
9573 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
9574 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
9575 # ======================================================================
9576 # person_in_charge: mathieu.courtois at edf.fr
9577 def calc_fonc_interp_prod(FONCTION, NOM_PARA_FONC, **args):
9578 if AsType(FONCTION) == nappe_sdaster:
9579 return nappe_sdaster
9580 elif AsType(FONCTION) == fonction_sdaster:
9581 return fonction_sdaster
9582 elif AsType(FONCTION) == fonction_c:
9584 elif AsType(FONCTION) == formule_c:
9586 elif AsType(FONCTION) == formule:
9587 if NOM_PARA_FONC != None:
9588 return nappe_sdaster
9589 return fonction_sdaster
9590 raise AsException("type de concept resultat non prevu")
9592 CALC_FONC_INTERP=OPER(nom="CALC_FONC_INTERP",op= 134,sd_prod=calc_fonc_interp_prod,
9593 docu="U4.32.01",reentrant='n',
9594 fr="Définit une fonction (ou une nappe) à partir d'une fonction FORMULE à 1 ou 2 variables",
9595 UIinfo={"groupes":("Fonctions",)},
9596 regles=(UN_PARMI('VALE_PARA','LIST_PARA'),),
9597 FONCTION =SIMP(statut='o',typ=(formule,fonction_sdaster,nappe_sdaster,fonction_c) ),
9598 VALE_PARA =SIMP(statut='f',typ='R',max='**'),
9599 LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ),
9600 NOM_RESU =SIMP(statut='f',typ='TXM'),
9601 NOM_PARA =SIMP(statut='f',typ='TXM'),
9602 INTERPOL =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ),
9603 PROL_DROITE =SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ),
9604 PROL_GAUCHE =SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ),
9605 NOM_PARA_FONC =SIMP(statut='f',typ='TXM'),
9606 b_eval_nappe =BLOC(condition = "NOM_PARA_FONC != None",
9607 regles=(UN_PARMI('VALE_PARA_FONC','LIST_PARA_FONC'),),
9608 VALE_PARA_FONC =SIMP(statut='f',typ='R',max='**'),
9609 LIST_PARA_FONC =SIMP(statut='f',typ=listr8_sdaster ),
9610 INTERPOL_FONC =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG")),
9611 PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ),
9612 PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ),
9614 TITRE =SIMP(statut='f',typ='TXM',max='**'),
9615 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
9618 # ======================================================================
9619 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
9620 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
9621 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
9622 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
9623 # (AT YOUR OPTION) ANY LATER VERSION.
9625 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
9626 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
9627 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
9628 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
9630 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
9631 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
9632 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
9633 # ======================================================================
9634 # person_in_charge: mathieu.courtois at edf.fr
9635 def calc_fonction_prod(self, DERIVE, EXTRACTION, INTEGRE, INVERSE, COMB, COMB_C, MULT,
9636 ENVELOPPE, FRACTILE, SPEC_OSCI, ASSE, FFT, COMPOSE, CORR_ACCE,
9637 PUISSANCE, LISS_ENVELOP, ABS, REGR_POLYNOMIALE, DSP, **args):
9639 if (INTEGRE != None): return fonction_sdaster
9640 if (DERIVE != None): return fonction_sdaster
9641 if (INVERSE != None): return fonction_sdaster
9643 type_vale=AsType(COMB[0]['FONCTION'])
9644 for mcfact in COMB :
9645 if(AsType(mcfact['FONCTION'])!=type_vale):
9646 raise AsException("CALC_FONCTION/COMB : pas de types hétérogènes nappe/fonction")
9648 if (COMB_C != None):
9649 vale=COMB_C[0]['FONCTION']
9650 if(AsType(vale) == nappe_sdaster):
9651 for mcfact in COMB_C[1:] :
9652 if(AsType(mcfact['FONCTION'])!=nappe_sdaster):
9653 raise AsException("CALC_FONCTION/COMB_C : pas de types hétérogènes nappe/fonction")
9654 return nappe_sdaster
9656 for mcfact in COMB_C :
9657 if(AsType(mcfact['FONCTION'])==nappe_sdaster):
9658 raise AsException("CALC_FONCTION/COMB_C : pas de types hétérogènes nappe/fonction")
9660 if (ENVELOPPE != None): return AsType(ENVELOPPE[0]['FONCTION'])
9661 if (FRACTILE != None): return AsType(FRACTILE[0] ['FONCTION'])
9662 if (EXTRACTION != None): return fonction_sdaster
9663 if (SPEC_OSCI != None): return nappe_sdaster
9664 if (DSP != None): return fonction_sdaster
9665 if (COMPOSE != None): return fonction_sdaster
9666 if (ASSE != None): return fonction_sdaster
9668 type_vale = AsType(MULT[0]['FONCTION'])
9670 if(AsType(mcfact['FONCTION']) != type_vale):
9671 raise AsException("CALC_FONCTION/MULT : pas de types hétérogènes nappe/fonction")
9674 vale=FFT[0]['FONCTION']
9675 if (AsType(vale) == fonction_sdaster ) : return fonction_c
9676 if (AsType(vale) == fonction_c) : return fonction_sdaster
9677 if (CORR_ACCE != None): return fonction_sdaster
9678 if (LISS_ENVELOP!= None): return nappe_sdaster
9679 if (REGR_POLYNOMIALE != None): return fonction_sdaster
9680 if (PUISSANCE != None): return AsType(PUISSANCE[0]['FONCTION'])
9681 if (ABS != None): return fonction_sdaster
9682 raise AsException("type de concept resultat non prevu")
9685 CALC_FONCTION=MACRO(nom="CALC_FONCTION",
9686 op=OPS('Macro.calc_fonction_ops.calc_fonction_ops'),
9687 sd_prod=calc_fonction_prod,
9688 fr="Effectue des opérations mathématiques sur des concepts de type fonction",
9690 UIinfo={"groupes":("Fonctions",)},
9691 regles=(UN_PARMI('DERIVE', 'INTEGRE', 'SPEC_OSCI', 'DSP', 'FFT', 'CORR_ACCE',
9692 'COMB', 'COMB_C', 'MULT', 'ASSE', 'INVERSE', 'ABS',
9693 'ENVELOPPE', 'COMPOSE', 'EXTRACTION', 'PUISSANCE',
9694 'LISS_ENVELOP', 'FRACTILE', 'REGR_POLYNOMIALE'),),
9695 FFT =FACT(statut='f',fr="Transformée de Fourier ou de son inverse",
9696 FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c) ),
9697 METHODE =SIMP(statut='f',typ='TXM',defaut="PROL_ZERO",into=("PROL_ZERO","TRONCATURE","COMPLET") ),
9698 b_syme =BLOC ( condition = " AsType(FONCTION)==fonction_c ",
9699 SYME =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI' ),
9702 DERIVE =FACT(statut='f',fr="Dérivée d une fonction",
9703 METHODE =SIMP(statut='f',typ='TXM',defaut="DIFF_CENTREE",into=("DIFF_CENTREE",) ),
9704 FONCTION =SIMP(statut='o',typ=fonction_sdaster ),
9706 INTEGRE =FACT(statut='f',fr="Intégrale d'une fonction",
9707 METHODE =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ),
9708 FONCTION =SIMP(statut='o',typ=fonction_sdaster),
9709 COEF =SIMP(statut='f',typ='R',defaut= 0.E+0,fr="Valeur de la constante d intégration" ),
9711 LISS_ENVELOP = FACT(statut='f',fr="Lissage d une enveloppe",
9712 NAPPE =SIMP(statut='o',typ=nappe_sdaster ),
9713 FREQ_MIN =SIMP(statut='f',typ='R',defaut =0.2),
9714 FREQ_MAX =SIMP(statut='f',typ='R',defaut =35.5),
9715 ELARG =SIMP(statut='f',typ='R',defaut =0.1 ),
9716 TOLE_LISS =SIMP(statut='f',typ='R',defaut =0.25 ),
9718 REGR_POLYNOMIALE = FACT(statut='f',fr="Régression polynomiale d'une fonction",
9719 FONCTION =SIMP(statut='o',typ=fonction_sdaster),
9720 DEGRE =SIMP(statut='o',typ='I'),
9722 SPEC_OSCI =FACT(statut='f',fr="Spectre d'oscillateur",
9723 METHODE =SIMP(statut='f',typ='TXM',defaut="NIGAM",into=("NIGAM","HARMO","RICE") ),
9724 FONCTION =SIMP(statut='o',typ=fonction_sdaster ),
9725 AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'),
9726 LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ),
9727 FREQ =SIMP(statut='f',typ='R', max='**'),
9728 NORME =SIMP(statut='o',typ='R',fr="Valeur de la norme du spectre d oscillateur" ),
9729 NATURE =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("DEPL","VITE","ACCE") ),
9730 b_methode =BLOC(condition = "METHODE !='RICE' ",
9731 NATURE_FONC =SIMP(statut='f', typ='TXM', defaut="ACCE", into=("ACCE",),),),
9732 b_rice =BLOC(condition = "METHODE =='RICE' ",
9733 DUREE =SIMP(statut='o', typ='R', val_min=0.,
9734 fr="durée de la phase forte pour facteur de pic"),
9735 NATURE_FONC =SIMP(statut='f', typ='TXM', defaut="DSP", into=("DSP",),),),
9737 DSP =FACT(statut='f', fr="Densité spectrale",
9738 FONCTION =SIMP(statut='o', typ=fonction_sdaster ),
9739 AMOR_REDUIT =SIMP(statut='o', typ='R', val_min=0., val_max=1.),
9740 NORME =SIMP(statut='o', typ='R'),
9741 LIST_FREQ =SIMP(statut='f', typ=listr8_sdaster ),
9742 FREQ_PAS =SIMP(statut='f', typ='R'),
9743 regles=(UN_PARMI('FREQ_PAS','LIST_FREQ'),),
9744 FREQ_COUP =SIMP(statut='o', typ='R', fr="fréquence de coupure" ),
9745 DUREE =SIMP(statut='o', typ='R', val_min=0.,
9746 fr="durée de la phase forte pour facteur de peak"),
9747 FRACT =SIMP(statut='o', typ='R', defaut=0.5, val_min=0., val_max=1., fr="fractile" ),
9749 ABS =FACT(statut='f',fr="Valeur absolue d'une fonction",
9750 FONCTION =SIMP(statut='o',typ=fonction_sdaster,),
9752 COMB =FACT(statut='f',max='**',fr="Combinaison linéaire réelle de fonctions",
9753 FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster) ),
9754 COEF =SIMP(statut='o',typ='R',fr="Coefficient réel de la combinaison linéaire associée à la fonction" ),
9756 COMB_C =FACT(statut='f',max='**',fr="Combinaison linéaire complexe de fonctions",
9757 regles=(UN_PARMI('COEF_R','COEF_C'),),
9758 FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster) ),
9759 COEF_R =SIMP(statut='f',typ='R',fr="Coefficient réel de la combinaison linéaire associée à la fonction" ),
9760 COEF_C =SIMP(statut='f',typ='C',fr="Coefficient complexe de la combinaison linéaire associée à la fonction" ),
9762 MULT =FACT(statut='f',max='**',fr="Produit de fonctions réelles",
9763 FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster) ),
9765 b_comb =BLOC ( condition = "COMB != None or COMB_C != None " \
9766 "or REGR_POLYNOMIALE != None or MULT != None",
9767 LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ),
9769 COMPOSE =FACT(statut='f',fr="Composition de deux fonctions FONC_RESU(FONC_PARA)",
9770 FONC_RESU =SIMP(statut='o',typ=fonction_sdaster),
9771 FONC_PARA =SIMP(statut='o',typ=fonction_sdaster),
9773 EXTRACTION =FACT(statut='f',fr="Extraction sur une fonction complexe",
9774 FONCTION =SIMP(statut='o',typ=fonction_c),
9775 PARTIE =SIMP(statut='o',typ='TXM',into=("REEL","IMAG","MODULE","PHASE"),fr="Partie à extraire"),
9777 ENVELOPPE =FACT(statut='f',fr="Enveloppe d une famille de fonctions",
9778 FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster),max='**' ),
9779 CRITERE =SIMP(statut='f',typ='TXM',defaut="SUP",into=("SUP","INF"),fr="Type de l enveloppe" ),
9781 FRACTILE =FACT(statut='f',fr="Fractile d une famille de fonctions ou de nappes",
9782 FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster),max='**' ),
9783 FRACT =SIMP(statut='o',typ='R',defaut=1.,val_min=0.,val_max=1.,fr="Valeur du fractile" ),
9785 ASSE =FACT(statut='f',fr="Concatenation de fonctions",
9786 FONCTION =SIMP(statut='o',typ=fonction_sdaster,min=2,max=2 ),
9787 SURCHARGE =SIMP(statut='f',typ='TXM',defaut="DROITE",into=("DROITE","GAUCHE")),
9789 CORR_ACCE =FACT(statut='f',fr="Correction d un accelerogramme reel",
9790 CORR_DEPL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
9791 FONCTION =SIMP(statut='o',typ=fonction_sdaster ),
9793 PUISSANCE =FACT(statut='f',fr="Fonction élevée à une puissance",
9794 FONCTION =SIMP(statut='o', typ=(fonction_sdaster,nappe_sdaster) ),
9795 EXPOSANT =SIMP(statut='f', typ='I', defaut=1 ),
9797 INVERSE =FACT(statut='f',fr="Inverse d'une fonction",
9798 FONCTION =SIMP(statut='o', typ=fonction_sdaster),
9800 NOM_PARA =SIMP(statut='f',typ='TXM',into=C_PARA_FONCTION() ),
9801 NOM_RESU =SIMP(statut='f',typ='TXM' ),
9802 INTERPOL =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG"),
9803 fr="Type d'interpolation pour les abscisses et les ordonnées de la " \
9804 "fonction ou bien pour le paramètre de la nappe."),
9805 PROL_DROITE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
9806 PROL_GAUCHE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
9807 NOM_PARA_FONC =SIMP(statut='f',typ='TXM',into=C_PARA_FONCTION() ),
9808 INTERPOL_FONC =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG"),
9809 fr="Type d'interpolation pour les abscisses et les ordonnées de la fonction"),
9810 PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
9811 PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
9812 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
9815 # ======================================================================
9816 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
9817 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
9818 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
9819 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
9820 # (AT YOUR OPTION) ANY LATER VERSION.
9822 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
9823 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
9824 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
9825 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
9827 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
9828 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
9829 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
9830 # ======================================================================
9831 # person_in_charge: nicolas.greffet at edf.fr
9832 CALC_FORC_AJOU=OPER(nom="CALC_FORC_AJOU",op=199,sd_prod=vect_asse_gene,
9833 fr="Calculer l'effet de surpression hydrodynamique due au mouvement d'entrainement de la structure"
9834 +" en analyse sismique",
9836 UIinfo={"groupes":("Matrices et vecteurs",)},
9838 regles=(EXCLUS('MODE_MECA','MODELE_GENE'),
9839 PRESENT_PRESENT( 'MODELE_GENE','NUME_DDL_GENE'),
9840 UN_PARMI('MONO_APPUI', 'NOEUD','GROUP_NO'),
9841 UN_PARMI('MONO_APPUI','MODE_STAT')),
9843 MODELE_FLUIDE =SIMP(statut='o',typ=modele_sdaster ),
9844 MODELE_INTERFACE=SIMP(statut='o',typ=modele_sdaster ),
9845 CHAM_MATER =SIMP(statut='o',typ=cham_mater ),
9846 CHARGE =SIMP(statut='o',typ=char_ther ),
9847 MODE_MECA =SIMP(statut='f',typ=mode_meca ),
9848 MODELE_GENE =SIMP(statut='f',typ=modele_gene ),
9849 NUME_DDL_GENE =SIMP(statut='f',typ=nume_ddl_gene ),
9850 DIST_REFE =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
9851 AVEC_MODE_STAT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
9852 NUME_MODE_MECA =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
9853 POTENTIEL =SIMP(statut='f',typ=evol_ther ),
9854 NOEUD_DOUBLE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
9856 DIRECTION =SIMP(statut='o',typ='R',max=3),
9857 MONO_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",),),
9858 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
9859 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
9860 MODE_STAT =SIMP(statut='f',typ=mode_meca,),
9861 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
9862 #-------------------------------------------------------------------
9863 # Catalogue commun SOLVEUR
9864 SOLVEUR =C_SOLVEUR('CALC_FORC_AJOU'),
9865 #-------------------------------------------------------------------
9868 # ======================================================================
9869 # COPYRIGHT (C) 1991 - 2010 EDF R&D WWW.CODE-ASTER.ORG
9870 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
9871 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
9872 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
9873 # (AT YOUR OPTION) ANY LATER VERSION.
9875 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
9876 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
9877 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
9878 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
9880 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
9881 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
9882 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
9883 # ======================================================================
9884 # person_in_charge: Georges-cc.devesa at edf.fr
9886 CALC_FORC_NONL=OPER(nom="CALC_FORC_NONL",op= 183,sd_prod=dyna_trans,reentrant='n',
9887 fr="Créer un dyna_trans contenant des champs nommés 'DEPL' correspondant à 'FONL_NOEU' ",
9888 UIinfo={"groupes":("Post-traitements","Résultats et champs",)},
9889 RESULTAT =SIMP(statut='o',typ=resultat_sdaster),
9891 regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
9892 'NOEUD_CMP','LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS'),
9894 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9895 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
9896 NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
9897 NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
9898 NOM_CAS =SIMP(statut='f',typ='TXM' ),
9899 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
9900 FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
9901 LIST_INST =SIMP(statut='f',typ=listr8_sdaster),
9902 LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster),
9903 LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster),
9904 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
9905 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
9906 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
9907 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
9908 PRECISION =SIMP(statut='o',typ='R',),),
9909 OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1, defaut="FONL_NOEU",
9910 into=("FONL_NOEU",) ),
9912 MODELE =SIMP(statut='o',typ=modele_sdaster),
9913 CHAM_MATER =SIMP(statut='f',typ=cham_mater),
9914 CARA_ELEM =SIMP(statut='f',typ=cara_elem),
9916 COMPORTEMENT =C_COMPORTEMENT(),
9919 # ======================================================================
9920 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
9921 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
9922 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
9923 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
9924 # (AT YOUR OPTION) ANY LATER VERSION.
9926 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
9927 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
9928 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
9929 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
9931 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
9932 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
9933 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
9934 # ======================================================================
9935 # person_in_charge: samuel.geniaut at edf.fr
9936 CALC_G=OPER(nom="CALC_G",op=100,sd_prod=table_sdaster,
9937 fr="Calcul du taux de restitution d'énergie par la méthode theta en thermo-élasticité"
9938 +" et les facteurs d'intensité de contraintes.",
9940 UIinfo={"groupes":("Post-traitements","Rupture",)},
9942 THETA =FACT(statut='o',
9943 THETA =SIMP(statut='f',typ=(theta_geom,cham_no_sdaster),),
9944 FOND_FISS =SIMP(statut='f',typ=fond_fiss,max=1),
9945 FISSURE =SIMP(statut='f',position='global',typ=fiss_xfem,max=1),
9946 NB_POINT_FOND =SIMP(statut='f',typ='I',val_min=2),
9948 EXCLUS('FOND_FISS','NB_POINT_FOND'),
9949 UN_PARMI('THETA','FOND_FISS','FISSURE')
9951 b_theta =BLOC(condition="THETA == None",fr="calcul de theta",
9952 regles=(PRESENT_PRESENT('R_INF','R_SUP'),
9953 PRESENT_PRESENT('R_INF_FO','R_SUP_FO'), ),
9954 NUME_FOND =SIMP(statut='f',typ='I',defaut=1),
9955 R_INF =SIMP(statut='f',typ='R'),
9956 R_SUP =SIMP(statut='f',typ='R'),
9957 MODULE =SIMP(statut='f',typ='R',defaut=1.),
9958 DIRE_THETA =SIMP(statut='f',typ=cham_no_sdaster ),
9959 DIRECTION =SIMP(statut='f',typ='R',max=3,min=3),
9960 R_INF_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9961 R_SUP_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9962 MODULE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
9964 b_no_fond_fiss =BLOC(condition="FOND_FISS== None",
9965 SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
9969 RESULTAT =SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans,mode_meca,mult_elas),),
9971 b_no_mult =BLOC(condition="(AsType(RESULTAT) != mult_elas)",
9972 regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST',
9973 'TOUT_MODE','NUME_MODE','LIST_MODE','FREQ','LIST_FREQ'),),
9975 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9976 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
9977 LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster),
9978 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
9979 LIST_INST =SIMP(statut='f',typ=listr8_sdaster),
9980 TOUT_MODE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
9981 NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
9982 LIST_MODE =SIMP(statut='f',typ=listis_sdaster),
9983 LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster),
9984 FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
9986 b_acce_reel =BLOC(condition="(INST != None)or(LIST_INST != None)or(FREQ != None)or(LIST_FREQ != None)",
9987 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
9988 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
9989 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
9990 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
9991 PRECISION =SIMP(statut='o',typ='R'),),
9995 b_mult_elas =BLOC(condition="(AsType(RESULTAT) == mult_elas)",
9996 NOM_CAS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**' ),
9999 b_no_mult_elas =BLOC(condition="(AsType(RESULTAT) != mult_elas)",
10000 EXCIT =FACT(statut='f',max='**',
10001 CHARGE =SIMP(statut='f',typ=(char_meca,char_cine_meca)),
10002 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10003 TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
10007 COMPORTEMENT =FACT(statut='f',
10008 RELATION =SIMP( statut='o',typ='TXM',into=C_RELATION('CALC_G')),
10009 DEFORMATION =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","PETIT_REAC") ),
10010 regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
10011 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
10012 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
10013 MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
10015 b_init =BLOC(condition="RELATION=='ELAS'",),
10016 SIGM_INIT=SIMP(statut='f', typ=(cham_no_sdaster,cham_elem)),
10019 # ETAT_INIT =FACT(statut='f',
10020 # SIGM =SIMP(statut='f',typ=cham_elem),
10021 # DEPL =SIMP(statut='f',typ=cham_no_sdaster),
10023 LISSAGE =FACT(statut='d',
10024 LISSAGE_THETA =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE","LAGRANGE_REGU"),),
10025 LISSAGE_G =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE",
10026 "LAGRANGE_NO_NO","LAGRANGE_REGU"),),
10027 b_legen =BLOC(condition="(LISSAGE_THETA=='LEGENDRE') or (LISSAGE_G=='LEGENDRE')",
10028 DEGRE =SIMP(statut='f',typ='I',defaut=5,into=(0,1,2,3,4,5,6,7) ),
10032 OPTION =SIMP(statut='o',typ='TXM',max=1,defaut='CALC_G',
10043 b_g_max =BLOC(condition="(OPTION=='G_MAX') or (OPTION=='G_MAX_GLOB')",
10044 BORNES =FACT(statut='o',max='**',
10045 NUME_ORDRE =SIMP(statut='o',typ='I'),
10046 VALE_MIN =SIMP(statut='o',typ='R'),
10047 VALE_MAX =SIMP(statut='o',typ='R'),
10050 b_k_max =BLOC(condition="(OPTION=='CALC_K_MAX')",
10051 SIGNES =FACT(statut='o',max=1,
10052 CHARGE_S =SIMP(statut='o',typ='I',validators=NoRepeat(),max='**'),
10053 CHARGE_NS =SIMP(statut='o',typ='I',validators=NoRepeat(),max='**'),
10057 b_cal_contrainte =BLOC(condition="(COMPORTEMENT!=None and (OPTION=='CALC_G' or OPTION=='CALC_G_GLOB'))",
10058 CALCUL_CONTRAINTE =SIMP(statut='f',typ='TXM',into=("NON",),),
10062 TITRE =SIMP(statut='f',typ='TXM',max='**'),
10063 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
10066 # ======================================================================
10067 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
10068 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
10069 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
10070 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
10071 # (AT YOUR OPTION) ANY LATER VERSION.
10073 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
10074 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
10075 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
10076 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
10078 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
10079 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
10080 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
10081 # ======================================================================
10082 # person_in_charge: renaud.bargellini at edf.fr
10083 #Quoi qu'il en soit, on sort la table GP
10084 #Si on est sans copeau et que l'utilisateur souhaite verifier
10085 #les copeaux automatiquement crees, il peut grace a CHAMP_COP
10086 def calc_gp_prod(self,TRANCHE_2D,GPMAX, **args):
10087 """Typage des sd_prod
10089 if TRANCHE_2D!=None:
10090 if TRANCHE_2D['ZONE_MAIL']== "NON":
10091 for ss_cop in TRANCHE_2D:
10092 if ss_cop['CHAMP_VISU']!= None:
10093 self.type_sdprod(ss_cop['CHAMP_VISU'], cham_elem)
10095 self.type_sdprod(GPMAX, table_sdaster)
10096 return table_sdaster
10099 CALC_GP =MACRO(nom="CALC_GP",
10100 op=OPS('Macro.calc_gp_ops.calc_gp_ops'),
10101 sd_prod=calc_gp_prod,
10102 # sd_prod=table_sdaster,
10103 UIinfo={"groupes":("Outils-métier","Rupture",)},
10105 fr="calcul du parametre de clivage energetique Gp en 2D et en 3D",
10106 regles=UN_PARMI('TRANCHE_2D','TRANCHE_3D'),
10107 RESULTAT =SIMP(statut='o',typ=resultat_sdaster,
10108 fr="Resultat d'une commande globale STAT_NON_LINE"),
10109 LIST_INST = SIMP(statut='o',typ=(listr8_sdaster) ),
10110 PRECISION = SIMP(statut='f',typ='R',validators=NoRepeat(),val_min=0.,val_max=1E-3,defaut=1E-6),
10111 CRITERE = SIMP(statut='f',typ='TXM',defaut="ABSOLU",into=("RELATIF","ABSOLU") ),
10112 TRANCHE_2D = FACT(statut='f',max = 1,
10113 ZONE_MAIL = SIMP(statut='o',typ='TXM',into=("NON","OUI") ),
10114 b_cop= BLOC(condition = "ZONE_MAIL=='OUI'",
10115 fr="Les copeaux sont mailles",
10116 GROUP_MA = SIMP(statut='o', typ=grma, validators=NoRepeat(), max='**'),
10117 TAILLE =SIMP(statut='o',typ=listr8_sdaster),),
10118 b_ss_cop = BLOC(condition="ZONE_MAIL=='NON'",
10119 fr="Les copeaux ne sont pas mailles",
10120 CENTRE =SIMP(statut='o',typ='R',max=2),
10121 RAYON =SIMP(statut='o',typ='R',max=1),
10122 ANGLE =SIMP(statut='o',typ='R',max=1),
10123 TAILLE =SIMP(statut='o',typ='R',max=1),
10124 NB_ZONE =SIMP(statut='o',typ='I',),
10125 CHAMP_VISU =SIMP(statut='f',typ=CO),),
10127 TRANCHE_3D = FACT(statut='f',max ='**',
10128 GROUP_MA = SIMP(statut='o', typ=grma, validators=NoRepeat(), max='**'),
10130 b_tranche_2d = BLOC(condition="TRANCHE_2D!=None",
10131 SYME =SIMP(statut='o',typ='TXM',into=("NON","OUI"),
10132 fr="multiplication par 2 si SYME=OUI"),),
10133 b_tranche_3d = BLOC(condition="TRANCHE_3D!=None",
10134 FOND_FISS =SIMP(statut='o',typ=fond_fiss,max=1,),),
10135 GPMAX = SIMP(statut='f',typ=CO,),
10138 # ======================================================================
10139 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
10140 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
10141 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
10142 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
10143 # (AT YOUR OPTION) ANY LATER VERSION.
10145 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
10146 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
10147 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
10148 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
10150 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
10151 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
10152 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
10153 # ======================================================================
10154 # person_in_charge: nicolas.greffet at edf.fr
10156 # MACRO DE COUPLAGE IFS AVEC SATURNE VIA YACS
10158 CALC_IFS_DNL= MACRO(nom='CALC_IFS_DNL',
10159 op=OPS("Macro.calc_ifs_dnl_ops.calc_ifs_dnl_ops"),
10162 fr="Calcul de l'évolution dynamique d'une structure couplée à un "\
10163 "domaine fluide (résolu avec le code Saturne) via YACS",
10164 UIinfo={"groupes":("Résolution","Dynamique",)},
10168 GROUP_MA_IFS =SIMP(statut='o',typ=grma,max='**'),
10169 NOM_CMP_IFS =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),
10170 UNITE_NOEUD =SIMP(statut='f',typ='I',defaut= 81 ),
10171 UNITE_ELEM =SIMP(statut='f',typ='I',defaut= 82 ),
10172 PAS_INIT =SIMP(statut='o',typ='R' ),
10175 MODELE =SIMP(statut='o',typ=modele_sdaster),
10176 CHAM_MATER =SIMP(statut='o',typ=cham_mater),
10177 MODE_STAT =SIMP(statut='f',typ=mode_meca),
10178 CARA_ELEM =SIMP(statut='f',typ=cara_elem),
10179 MASS_DIAG =SIMP(statut='f',typ='TXM',into=("OUI","NON",) ),
10182 #(une charge force nodale est fournie par le couplage avec code_saturne
10183 EXCIT =FACT(statut='f',max='**',
10186 regles=(PRESENT_ABSENT('FONC_MULT','ACCE'),
10187 PRESENT_PRESENT('ACCE','VITE','DEPL'),
10189 TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
10190 into=("FIXE_CSTE","SUIV","DIDI")),
10193 #(une charge force nodale est fournie par le couplage avec code_saturne
10194 # CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
10195 CHARGE =SIMP(statut='f',typ=(char_meca,char_cine_meca)),
10198 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10199 DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10200 ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10201 VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10202 MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
10203 DIRECTION =SIMP(statut='f',typ='R',max='**'),
10204 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
10205 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
10207 EXCIT_GENE =FACT(statut='f',max='**',
10208 FONC_MULT =SIMP(statut='f',typ=fonction_sdaster,max='**' ),
10209 VECT_GENE =SIMP(statut='f',typ=vect_asse_gene,max='**' ),
10211 CONTACT =SIMP(statut='f',typ=char_contact),
10212 SOUS_STRUC =FACT(statut='f',min=01,max='**',
10213 regles=(UN_PARMI('TOUT','SUPER_MAILLE'),),
10214 CAS_CHARGE =SIMP(statut='o',typ='TXM' ),
10215 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
10216 SUPER_MAILLE=SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',),
10217 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
10219 AMOR_RAYL_RIGI = SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE"),),
10220 AMOR_MODAL =FACT(statut='f',
10221 regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),),
10222 MODE_MECA =SIMP(statut='f',typ=mode_meca),
10223 AMOR_REDUIT =SIMP(statut='f',typ='R',max='**' ),
10224 LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ),
10225 NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ),
10226 REAC_VITE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
10228 PROJ_MODAL =FACT(statut='f',max='**',
10229 MODE_MECA =SIMP(statut='o',typ=mode_meca),
10230 NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ),
10231 regles=(PRESENT_PRESENT('MASS_GENE','RIGI_GENE'),),
10232 MASS_GENE =SIMP(statut='f',typ=matr_asse_gene_r),
10233 RIGI_GENE =SIMP(statut='f',typ=matr_asse_gene_r),
10234 AMOR_GENE =SIMP(statut='f',typ=matr_asse_gene_r),
10235 DEPL_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene),
10236 VITE_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene),
10237 ACCE_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene),
10239 #-------------------------------------------------------------------
10240 COMPORTEMENT =C_COMPORTEMENT('DYNA_NON_LINE'),
10241 #-------------------------------------------------------------------
10242 b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire",
10243 ETAT_INIT =FACT(statut='o',
10244 regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','ACCE','SIGM','VARI',),
10245 EXCLUS('EVOL_NOLI','DEPL',),
10246 EXCLUS('EVOL_NOLI','VITE'),
10247 EXCLUS('EVOL_NOLI','ACCE'),
10248 EXCLUS('EVOL_NOLI','SIGM',),
10249 EXCLUS('EVOL_NOLI','VARI',),
10250 EXCLUS('NUME_ORDRE','INST'), ),
10251 DEPL =SIMP(statut='f',typ=cham_no_sdaster),
10252 VITE =SIMP(statut='f',typ=cham_no_sdaster),
10253 ACCE =SIMP(statut='f',typ=cham_no_sdaster),
10254 SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)),
10255 VARI =SIMP(statut='f',typ=cham_elem),
10256 EVOL_NOLI =SIMP(statut='f',typ=evol_noli),
10257 NUME_ORDRE =SIMP(statut='f',typ='I'),
10258 INST =SIMP(statut='f',typ='R'),
10259 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
10260 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
10261 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
10262 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
10263 PRECISION =SIMP(statut='o',typ='R',),),
10264 NUME_DIDI =SIMP(statut='f',typ='I'),
10265 INST_ETAT_INIT =SIMP(statut='f',typ='R'),
10267 b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif",
10268 ETAT_INIT =FACT(statut='f',
10269 regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','ACCE','SIGM','VARI',),
10270 EXCLUS('EVOL_NOLI','DEPL',),
10271 EXCLUS('EVOL_NOLI','VITE'),
10272 EXCLUS('EVOL_NOLI','ACCE'),
10273 EXCLUS('EVOL_NOLI','SIGM',),
10274 EXCLUS('EVOL_NOLI','VARI',),
10275 EXCLUS('NUME_ORDRE','INST'), ),
10276 DEPL =SIMP(statut='f',typ=cham_no_sdaster),
10277 VITE =SIMP(statut='f',typ=cham_no_sdaster),
10278 ACCE =SIMP(statut='f',typ=cham_no_sdaster),
10279 SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)),
10280 VARI =SIMP(statut='f',typ=cham_elem),
10281 EVOL_NOLI =SIMP(statut='f',typ=evol_noli),
10282 NUME_ORDRE =SIMP(statut='f',typ='I'),
10283 INST =SIMP(statut='f',typ='R'),
10284 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
10285 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
10286 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
10287 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
10288 PRECISION =SIMP(statut='o',typ='R',),),
10289 NUME_DIDI =SIMP(statut='f',typ='I'),
10290 INST_ETAT_INIT =SIMP(statut='f',typ='R'),
10292 #-------------------------------------------------------------------
10293 #IFS : pas besoin d'INCREMENT
10294 # INCREMENT =C_INCREMENT('MECANIQUE'),
10295 #-------------------------------------------------------------------
10296 SCHEMA_TEMPS =FACT(statut='o',
10297 SCHEMA =SIMP(statut='o',min=1,max=1,typ='TXM',
10298 into=("DIFF_CENT","TCHAMWA","NEWMARK","HHT","THETA_METHODE","KRENK"),),
10299 COEF_MASS_SHIFT =SIMP(statut='f',typ='R',defaut= 0.0E+0 ),
10300 b_tchamwa = BLOC(condition="SCHEMA=='TCHAMWA'",
10301 PHI =SIMP(statut='f',typ='R',defaut= 1.05),),
10303 b_newmark = BLOC(condition="SCHEMA=='NEWMARK'",
10304 BETA =SIMP(statut='f',typ='R',defaut= 0.25),
10305 GAMMA =SIMP(statut='f',typ='R',defaut= 0.5),),
10307 b_hht = BLOC(condition="SCHEMA=='HHT'",
10308 ALPHA =SIMP(statut='f',typ='R',defaut= -0.3 ),
10309 MODI_EQUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),),),
10311 b_theta = BLOC(condition="SCHEMA=='THETA_METHODE'",
10312 THETA =SIMP(statut='f',typ='R',defaut= 1.,val_min=0.5,val_max=100. ),),
10314 b_krenk = BLOC(condition="SCHEMA=='KRENK'",
10315 KAPPA =SIMP(statut='f',typ='R',defaut= 1.0,val_min=1.0,val_max=100. ),),
10317 b_explicit= BLOC(condition="SCHEMA=='TCHAMWA'or SCHEMA=='DIFF_CENT'",
10318 STOP_CFL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),),
10319 FORMULATION =SIMP(statut='o',typ='TXM',into=("ACCELERATION",),),),
10321 b_implicit= BLOC(condition="SCHEMA!='TCHAMWA'and SCHEMA!='DIFF_CENT'",
10322 FORMULATION =SIMP(statut='o',max=1,typ='TXM',into=("DEPLACEMENT","VITESSE","ACCELERATION"),),),
10324 #-------------------------------------------------------------------
10325 NEWTON =C_NEWTON(),
10326 #-------------------------------------------------------------------
10327 RECH_LINEAIRE =C_RECH_LINEAIRE(),
10328 #-------------------------------------------------------------------
10329 CONVERGENCE =C_CONVERGENCE(),
10330 #-------------------------------------------------------------------
10331 SOLVEUR =C_SOLVEUR('CALC_IFS_DNL'),
10332 #-------------------------------------------------------------------
10333 OBSERVATION =C_OBSERVATION(),
10334 #-------------------------------------------------------------------
10335 SUIVI_DDL =C_SUIVI_DDL(),
10336 #-------------------------------------------------------------------
10337 AFFICHAGE =C_AFFICHAGE(),
10338 #-------------------------------------------------------------------
10339 ARCHIVAGE =C_ARCHIVAGE(),
10340 #-------------------------------------------------------------------
10341 CRIT_STAB =FACT(statut='f',min=1,max=1,
10342 NB_FREQ =SIMP(statut='f',typ='I',max=1,val_min=1,defaut=3),
10343 COEF_DIM_ESPACE =SIMP(statut='f',typ='I',max=1,val_min=2,defaut=5),
10344 RIGI_GEOM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
10345 b_char_crit=BLOC(condition="(RIGI_GEOM=='OUI')",
10346 CHAR_CRIT =SIMP(statut='f',typ='R',min=2,max=2,
10347 fr="Valeur des deux charges critiques délimitant la bande de recherche en HPP"),),
10348 MODI_RIGI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
10349 TYPE =SIMP(statut='f',typ='TXM',defaut="FLAMBEMENT",into=("FLAMBEMENT","STABILITE")),
10350 PREC_INSTAB =SIMP(statut='f',typ='R',defaut=1.E-6,max=1,),
10351 SIGNE =SIMP(statut='f',typ='TXM',defaut=("POSITIF_NEGATIF"),into=("NEGATIF","POSITIF","POSITIF_NEGATIF"),max=1,),
10352 bloc_rigi_geom=BLOC(condition="(RIGI_GEOM=='NON'or MODI_RIGI=='OUI')",
10353 DDL_EXCLUS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=40,
10354 into=('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
10355 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2',
10356 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4',
10357 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6',
10358 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX',
10359 'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z',
10360 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22',
10361 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23',
10362 'PRES31','PRES32','PRES33','VARI','LAG_GV','DAMG','DH')),
10363 bloc_type_stab =BLOC(condition= "TYPE == 'STABILITE' and RIGI_GEOM == 'NON'",
10364 DDL_STAB =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=40,
10365 into=('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
10366 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2',
10367 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4',
10368 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6',
10369 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX',
10370 'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z',
10371 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22',
10372 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23',
10373 'PRES31','PRES32','PRES33','VARI','LAG_GV','DAMG','DH')),),
10375 regles = (EXCLUS('PAS_CALC','LIST_INST','INST'),),
10376 LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ),
10377 INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
10378 PAS_CALC = SIMP(statut='f',typ='I' ),
10379 CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
10380 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
10381 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
10382 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
10383 PRECISION =SIMP(statut='o',typ='R',),),
10385 MODE_VIBR =FACT(statut='f',min=1,max=1,
10386 MATR_RIGI =SIMP(statut='f',typ='TXM',defaut="ELASTIQUE",into=("ELASTIQUE","TANGENTE","SECANTE",) ),
10387 NB_FREQ =SIMP(statut='f',typ='I',max=1,val_min=1,defaut=3,
10388 fr="Nombre de fréquences propres à calculer"),
10389 COEF_DIM_ESPACE =SIMP(statut='f',typ='I',max=1,val_min=2,defaut=5),
10390 BANDE =SIMP(statut='f',typ='R',min=2,max=2,
10391 fr="Valeur des deux fréquences délimitant la bande de recherche",),
10392 regles = (EXCLUS('PAS_CALC','LIST_INST','INST'),),
10393 LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ),
10394 INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
10395 PAS_CALC = SIMP(statut='f',typ='I' ),
10396 CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
10397 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
10398 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
10399 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
10400 PRECISION =SIMP(statut='o',typ='R',),),
10402 #-------------------------------------------------------------------
10404 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
10405 b_info=BLOC(condition="(INFO==2)",
10406 fr="filtre les messages émis dans le .mess selon le type de message demandé",
10407 INFO_DBG = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(),
10415 TITRE =SIMP(statut='f',typ='TXM',max='**'),
10418 # ======================================================================
10419 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
10420 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
10421 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
10422 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
10423 # (AT YOUR OPTION) ANY LATER VERSION.
10425 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
10426 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
10427 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
10428 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
10430 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
10431 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
10432 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
10433 # ======================================================================
10434 # person_in_charge: irmela.zentner at edf.fr
10435 CALC_INTE_SPEC=OPER(nom="CALC_INTE_SPEC",op= 120,sd_prod=interspectre,
10436 fr="Calcul d'une matrice interspectrale à partir d'une fonction du temps",
10438 UIinfo={"groupes":("Fonctions",)},
10439 INST_INIT =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
10440 INST_FIN =SIMP(statut='o',typ='R' ),
10441 DUREE_ANALYSE =SIMP(statut='f',typ='R' ),
10442 DUREE_DECALAGE =SIMP(statut='f',typ='R' ),
10443 NB_POIN =SIMP(statut='o',typ='I' ),
10444 FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ),
10445 TITRE =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
10446 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1 , 2) ),
10449 # ======================================================================
10450 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
10451 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
10452 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
10453 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
10454 # (AT YOUR OPTION) ANY LATER VERSION.
10456 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
10457 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
10458 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
10459 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
10461 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
10462 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
10463 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
10464 # ======================================================================
10465 # person_in_charge: romeo.fernandes at edf.fr
10468 CALC_MAC3COEUR = MACRO(nom="CALC_MAC3COEUR",
10469 op=OPS("Mac3coeur.calc_mac3coeur_ops.calc_mac3coeur_ops"),
10472 TYPE_COEUR = SIMP(statut='o',typ='TXM',into=("MONO","TEST","900","1300","N4","EPR"),position='global' ),
10473 # TYPE DE COEUR A CONSIDERER
10474 TABLE_N = SIMP(statut='o',typ=table_sdaster), # TABLE INITIALE DES DAMAC A L INSTANT N
10475 MAILLAGE_N = SIMP(statut='f',typ=maillage_sdaster), # MAILLAGE EN ATTENDANT MIEUX ???
10477 LAME = FACT(statut='f',max=1,
10478 fr="Estimation des lames d'eau entre AC",
10479 TABLE_NP1 = SIMP(statut='o',typ=table_sdaster), # TABLE INITIALE DES DAMAC A L INSTANT N+1
10480 MAILLAGE_NP1 = SIMP(statut='o',typ=maillage_sdaster),), # MAILLAGE EN ATTENDANT MIEUX ???
10482 DEFORMATION = FACT(statut='f',max=1,
10483 fr="Estimation des deformations des AC",
10484 RESU_INIT = SIMP(statut='f',typ=resultat_sdaster),
10485 NIVE_FLUENCE = SIMP(statut='o',typ='R',validators=NoRepeat(),max=1), # FLUENCE MAXIMALE DANS LE COEUR
10486 UNITE_THYC = SIMP(statut='o',typ='I', max=1),
10488 # choix du maintien dans le cas mono-assemblage
10489 b_maintien_mono = BLOC(condition = "TYPE_COEUR == 'MONO'",
10491 TYPE_MAINTIEN = SIMP(statut='o',typ='TXM',into=("FORCE","DEPL_PSC"), ),
10493 b_maintien_mono_force = BLOC(condition = "TYPE_MAINTIEN == 'FORCE'",
10494 fr="valeur de l'effort de maintien imposée",
10495 FORCE_MAINTIEN =SIMP(statut='o',typ='R', max=1),),
10499 # choix du maintien dans le cas d'un coeur à plusieurs assemblages
10500 b_maintien_coeur = BLOC(condition = "TYPE_COEUR != 'MONO'",
10502 TYPE_MAINTIEN = SIMP(statut='f',typ='TXM',into=("DEPL_PSC",),defaut="DEPL_PSC" ),
10510 # ======================================================================
10511 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
10512 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
10513 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
10514 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
10515 # (AT YOUR OPTION) ANY LATER VERSION.
10517 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
10518 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
10519 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
10520 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
10522 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
10523 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
10524 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
10525 # ======================================================================
10526 # person_in_charge: nicolas.greffet at edf.fr
10527 CALC_MATR_AJOU=OPER(nom="CALC_MATR_AJOU",op= 152,sd_prod=matr_asse_gene_r,
10528 fr="Calcul des matrices de masse, d'amortissement ou de rigidité ajoutés",
10530 UIinfo={"groupes":("Matrices et vecteurs",)},
10531 regles=(EXCLUS('MODE_MECA','CHAM_NO','MODELE_GENE'),
10532 PRESENT_ABSENT('NUME_DDL_GENE','CHAM_NO'),
10533 PRESENT_PRESENT('MODELE_GENE','NUME_DDL_GENE'),),
10534 MODELE_FLUIDE =SIMP(statut='o',typ=modele_sdaster ),
10535 MODELE_INTERFACE=SIMP(statut='o',typ=modele_sdaster ),
10536 CHAM_MATER =SIMP(statut='o',typ=cham_mater ),
10537 CHARGE =SIMP(statut='o',typ=char_ther ),
10538 MODE_MECA =SIMP(statut='f',typ=mode_meca ),
10539 CHAM_NO =SIMP(statut='f',typ=cham_no_sdaster ),
10540 MODELE_GENE =SIMP(statut='f',typ=modele_gene ),
10541 NUME_DDL_GENE =SIMP(statut='f',typ=nume_ddl_gene ),
10542 DIST_REFE =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
10543 AVEC_MODE_STAT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
10544 NUME_MODE_MECA =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
10545 OPTION =SIMP(statut='o',typ='TXM',into=("MASS_AJOU","AMOR_AJOU","RIGI_AJOU") ),
10546 POTENTIEL =SIMP(statut='f',typ=evol_ther ),
10547 NOEUD_DOUBLE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
10548 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
10549 #-------------------------------------------------------------------
10550 # Catalogue commun SOLVEUR
10551 SOLVEUR =C_SOLVEUR('CALC_MATR_AJOU'),
10552 #-------------------------------------------------------------------
10555 # ======================================================================
10556 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
10557 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
10558 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
10559 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
10560 # (AT YOUR OPTION) ANY LATER VERSION.
10562 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
10563 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
10564 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
10565 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
10567 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
10568 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
10569 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
10570 # ======================================================================
10571 # person_in_charge: jacques.pellet at edf.fr
10572 def calc_matr_elem_prod(OPTION,**args):
10573 if OPTION == "RIGI_MECA" : return matr_elem_depl_r
10574 if OPTION == "RIGI_FLUI_STRU" : return matr_elem_depl_r
10575 if OPTION == "MASS_MECA" : return matr_elem_depl_r
10576 if OPTION == "MASS_FLUI_STRU" : return matr_elem_depl_r
10577 if OPTION == "RIGI_GEOM" : return matr_elem_depl_r
10578 if OPTION == "RIGI_ROTA" : return matr_elem_depl_r
10579 if OPTION == "MECA_GYRO" : return matr_elem_depl_r
10580 if OPTION == "RIGI_GYRO" : return matr_elem_depl_r
10581 if OPTION == "AMOR_MECA" : return matr_elem_depl_r
10582 if OPTION == "IMPE_MECA" : return matr_elem_depl_r
10583 if OPTION == "ONDE_FLUI" : return matr_elem_depl_r
10584 if OPTION == "AMOR_MECA_ABSO" : return matr_elem_depl_r
10585 if OPTION == "RIGI_MECA_HYST" : return matr_elem_depl_c
10586 if OPTION == "RIGI_THER" : return matr_elem_temp_r
10587 if OPTION == "MASS_MECA_DIAG" : return matr_elem_depl_r
10588 if OPTION == "RIGI_ACOU" : return matr_elem_pres_c
10589 if OPTION == "MASS_ACOU" : return matr_elem_pres_c
10590 if OPTION == "AMOR_ACOU" : return matr_elem_pres_c
10591 raise AsException("type de concept resultat non prevu")
10593 CALC_MATR_ELEM=OPER(nom="CALC_MATR_ELEM",op= 9,sd_prod=calc_matr_elem_prod
10594 ,fr="Calcul des matrices élémentaires",reentrant='n',
10595 UIinfo={"groupes":("Matrices et vecteurs",)},
10597 OPTION =SIMP(statut='o',typ='TXM',
10598 into=("RIGI_MECA","MASS_MECA","RIGI_GEOM",
10599 "AMOR_MECA","RIGI_THER","IMPE_MECA",
10600 "ONDE_FLUI","AMOR_MECA_ABSO","MASS_FLUI_STRU","RIGI_FLUI_STRU",
10601 "RIGI_ROTA","MECA_GYRO","RIGI_GYRO","MASS_MECA_DIAG","RIGI_ACOU",
10602 "MASS_ACOU","AMOR_ACOU","RIGI_MECA_HYST") ),
10603 MODELE =SIMP(statut='o',typ=modele_sdaster ),
10605 # mots clés facultatifs que l'on a du mal à mettre dans les blocs
10606 # sans gener MACRO_MATR_ASSE :
10607 #------------------------------------------------------------------
10608 INST=SIMP(statut='f',typ='R',defaut= 0.E+0 ),
10611 b_rigi_meca = BLOC( condition = "OPTION=='RIGI_MECA'",
10612 CHAM_MATER =SIMP(statut='f',typ=cham_mater ),
10613 CARA_ELEM =SIMP(statut='f',typ=cara_elem ),
10614 MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ),
10615 CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**' ),
10618 b_mass_meca =BLOC(condition = "(OPTION=='MASS_MECA') or (OPTION=='MASS_MECA_DIAG')",
10619 CHAM_MATER =SIMP(statut='f',typ=cham_mater ),
10620 CARA_ELEM =SIMP(statut='f',typ=cara_elem ),
10621 CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
10624 b_rigi_geom =BLOC(condition = "OPTION=='RIGI_GEOM'",
10625 CARA_ELEM =SIMP(statut='f',typ=cara_elem ),
10626 SIEF_ELGA =SIMP(statut='o',typ=cham_elem ),
10627 STRX_ELGA =SIMP(statut='f',typ=cham_elem ),
10628 MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ),
10631 b_rigi_rota =BLOC(condition = "OPTION=='RIGI_ROTA'",
10632 CHAM_MATER =SIMP(statut='o',typ=cham_mater ),
10633 CARA_ELEM =SIMP(statut='f',typ=cara_elem ),
10634 CHARGE =SIMP(statut='o',typ=char_meca,validators=NoRepeat(),max='**' ),
10637 b_meca_gyro = BLOC( condition = "OPTION=='MECA_GYRO'",
10638 CHAM_MATER =SIMP(statut='o',typ=cham_mater ),
10639 CARA_ELEM =SIMP(statut='f',typ=cara_elem ),
10640 CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**' ),
10643 b_rigi_gyro = BLOC( condition = "OPTION=='RIGI_GYRO'",
10644 CHAM_MATER =SIMP(statut='o',typ=cham_mater ),
10645 CARA_ELEM =SIMP(statut='f',typ=cara_elem ),
10646 CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**' ),
10649 b_amor_meca =BLOC(condition = "OPTION=='AMOR_MECA'",
10650 regles=(AU_MOINS_UN('CARA_ELEM','RIGI_MECA'),
10651 ENSEMBLE('RIGI_MECA','MASS_MECA','CHAM_MATER'), ),
10652 CARA_ELEM =SIMP(statut='f',typ=cara_elem ),
10653 CHAM_MATER =SIMP(statut='f',typ=cham_mater ),
10654 RIGI_MECA =SIMP(statut='f',typ=matr_elem_depl_r ),
10655 MASS_MECA =SIMP(statut='f',typ=matr_elem_depl_r ),
10656 CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
10659 b_amor_meca_abso =BLOC(condition = "OPTION=='AMOR_MECA_ABSO'",
10660 regles=(AU_MOINS_UN('CARA_ELEM','RIGI_MECA'),
10661 ENSEMBLE('RIGI_MECA','MASS_MECA','CHAM_MATER'), ),
10662 CARA_ELEM =SIMP(statut='f',typ=cara_elem ),
10663 CHAM_MATER =SIMP(statut='o',typ=cham_mater ),
10664 RIGI_MECA =SIMP(statut='f',typ=matr_elem_depl_r ),
10665 MASS_MECA =SIMP(statut='f',typ=matr_elem_depl_r ),
10666 CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
10669 b_rigi_meca_hyst =BLOC( condition = "OPTION=='RIGI_MECA_HYST'",
10670 CHARGE =SIMP(statut='f',typ=char_meca ,validators=NoRepeat(),max='**' ),
10671 CHAM_MATER =SIMP(statut='f',typ=cham_mater ),
10672 CARA_ELEM =SIMP(statut='f',typ=cara_elem ),
10673 RIGI_MECA =SIMP(statut='o',typ=matr_elem_depl_r ),
10676 b_rigi_ther =BLOC(condition = "OPTION=='RIGI_THER'",
10677 CHAM_MATER =SIMP(statut='o',typ=cham_mater ),
10678 CARA_ELEM =SIMP(statut='f',typ=cara_elem ),
10679 MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ),
10680 CHARGE =SIMP(statut='f',typ=char_ther,validators=NoRepeat(),max='**' ),
10683 b_rigi_acou =BLOC(condition = "OPTION=='RIGI_ACOU'",
10684 CHAM_MATER =SIMP(statut='o',typ=cham_mater ),
10685 CHARGE =SIMP(statut='f',typ=char_acou ,validators=NoRepeat(),max='**' ),
10688 b_mass_acou =BLOC(condition = "(OPTION=='MASS_ACOU') or (OPTION=='AMOR_ACOU')",
10689 CHAM_MATER =SIMP(statut='o',typ=cham_mater ),
10690 CHARGE =SIMP(statut='f',typ=char_acou ,validators=NoRepeat(),max='**' ),
10693 b_rigi_flui =BLOC(condition = "OPTION=='RIGI_FLUI_STRU'",
10694 CARA_ELEM =SIMP(statut='o',typ=cara_elem ),
10695 CHAM_MATER =SIMP(statut='o',typ=cham_mater ),
10696 CHARGE =SIMP(statut='o',typ=char_meca ,validators=NoRepeat(),max='**' ),
10699 b_mass_flui =BLOC(condition = "OPTION=='MASS_FLUI_STRU'",
10700 CARA_ELEM =SIMP(statut='o',typ=cara_elem ),
10701 CHAM_MATER =SIMP(statut='o',typ=cham_mater ),
10702 CHARGE =SIMP(statut='o',typ=char_meca ,validators=NoRepeat(),max='**'),
10705 b_impe_meca =BLOC(condition = "(OPTION=='IMPE_MECA') or (OPTION=='ONDE_FLUI')",
10706 CHAM_MATER =SIMP(statut='o',typ=cham_mater ),
10707 CHARGE =SIMP(statut='o',typ=char_meca,validators=NoRepeat(),max='**' ),
10711 # ======================================================================
10712 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
10713 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
10714 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
10715 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
10716 # (AT YOUR OPTION) ANY LATER VERSION.
10718 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
10719 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
10720 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
10721 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
10723 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
10724 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
10725 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
10726 # ======================================================================
10727 # person_in_charge: renaud.bargellini at edf.fr
10728 CALC_META=OPER(nom="CALC_META",op=194,sd_prod=evol_ther,reentrant='o',
10729 UIinfo={"groupes":("Post-traitements","Thermique",)},
10730 fr="Calcule l'évolution métallurgique à partir du résultat d'un calcul thermique",
10732 regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
10734 MODELE =SIMP(statut='f',typ=modele_sdaster ),
10735 CHAM_MATER =SIMP(statut='f',typ=cham_mater ),
10736 RESULTAT =SIMP(statut='o',typ=evol_ther ),
10738 OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO(phenomene='METALLURGIE',),),
10740 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
10741 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
10742 fr="le calcul ne sera effectué que sur ces mailles là"),
10743 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**',
10744 fr="le calcul ne sera effectué que sur ces mailles là"),
10746 b_meta =BLOC(condition= "au_moins_un(OPTION, ('META_ELNO','META_NOEU'))",
10747 ETAT_INIT =FACT(statut='o',
10748 regles=(UN_PARMI('EVOL_THER', 'META_INIT_ELNO'),),
10749 EVOL_THER =SIMP(statut='f',typ=evol_ther ),
10750 META_INIT_ELNO =SIMP(statut='f',typ=carte_sdaster ),
10751 b_etat =BLOC(condition="EVOL_THER != None",
10752 regles=(UN_PARMI('NUME_INIT', 'INST_INIT',),),
10753 NUME_INIT =SIMP(statut='f',typ='I'),
10754 INST_INIT =SIMP(statut='f',typ='R'),
10755 b_inst =BLOC(condition="INST_INIT != None",
10756 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
10757 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
10758 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
10759 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
10760 PRECISION =SIMP(statut='o',typ='R',),),
10765 COMPORTEMENT =FACT(statut='o',max=1,
10766 RELATION =SIMP(statut='o',typ='TXM',into=("ACIER","ZIRC",) ),
10767 ACIER =SIMP(statut='c',typ='I',defaut=7,into=(7,) ),
10768 ZIRC =SIMP(statut='c',typ='I',defaut=4,into=(4,) ),
10770 regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
10771 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
10772 GROUP_MA =SIMP(statut='f',typ=grma, validators=NoRepeat(), max='**'),
10773 MAILLE =SIMP(statut='f',typ=ma, validators=NoRepeat(), max='**'),
10778 # ======================================================================
10779 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
10780 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
10781 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
10782 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
10783 # (AT YOUR OPTION) ANY LATER VERSION.
10785 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
10786 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
10787 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
10788 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
10790 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
10791 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
10792 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
10793 # ======================================================================
10794 # person_in_charge: mathieu.courtois at edf.fr
10796 def calc_miss_sdprod(self, TYPE_RESU, **kwargs):
10797 """Typage des structures de données produites"""
10798 if TYPE_RESU in ('TABLE', 'TABLE_CONTROL'):
10799 return table_sdaster
10800 elif TYPE_RESU == 'HARM_GENE':
10802 elif TYPE_RESU == 'TRAN_GENE':
10807 CALC_MISS = MACRO(nom="CALC_MISS",
10808 op=OPS('Macro.calc_miss_ops.calc_miss_ops'),
10809 sd_prod=calc_miss_sdprod,
10810 fr="Préparation des données, exécution du logiciel Miss3D, et post-traitement",
10811 UIinfo={"groupes":("Résolution","Outils-métier",)},
10813 TYPE_RESU = SIMP(statut='o', typ='TXM',
10814 into=('HARM_GENE', 'TRAN_GENE', 'TABLE', 'TABLE_CONTROL',
10815 'FICHIER', 'FICHIER_TEMPS'),
10816 fr="Type de résultat produit en post-traitement. FICHIER : pas de post-traitement"),
10817 PROJET = SIMP(statut='f', typ='TXM', defaut='MODELE',
10818 fr="Nom de l'étude Miss"),
10819 REPERTOIRE = SIMP(statut='f', typ='TXM',
10820 fr="Répertoire de travail de Miss"),
10821 VERSION = SIMP(statut='f', typ='TXM', into=("V6.6","V6.5"), defaut="V6.6",
10822 fr="Version de Miss utilisée"),
10824 TABLE_SOL = SIMP(statut='o', typ=table_sdaster,
10825 fr="Table des propriétés du sol"),
10827 # pas de post-traitement
10828 b_basic = BLOC(condition="TYPE_RESU in ('FICHIER', 'TABLE_CONTROL')",
10829 regles=(UN_PARMI('MACR_ELEM_DYNA', 'BASE_MODALE'),
10830 ENSEMBLE('GROUP_MA_FLU_STR', 'GROUP_MA_FLU_SOL', 'GROUP_MA_SOL_SOL'),),
10831 MACR_ELEM_DYNA = SIMP(statut='f', typ=macr_elem_dyna,
10832 fr="Macro élément produit en amont"),
10833 BASE_MODALE = SIMP(statut='f', typ=mode_meca,
10834 fr="Base de modes"),
10835 b_base_modale = BLOC(condition="BASE_MODALE is not None",
10836 MATR_RIGI = SIMP(statut='f', typ=(matr_asse_depl_r, matr_asse_depl_c),),
10837 MATR_MASS = SIMP(statut='f', typ=matr_asse_depl_r ),
10839 AMOR_REDUIT = SIMP(statut='f', typ='R', max='**'),
10840 GROUP_MA_INTERF = SIMP(statut='o', typ=grma, max='**',
10841 fr="Groupe de mailles de l'interface"),
10842 GROUP_MA_FLU_STR = SIMP(statut='f', typ=grma, max='**',
10843 fr="Groupe de mailles fluide-structure"),
10844 GROUP_MA_FLU_SOL = SIMP(statut='f', typ=grma, max='**',
10845 fr="Groupe de mailles fluide-sol"),
10846 GROUP_MA_SOL_SOL = SIMP(statut='f', typ=grma, max='**',
10847 fr="Groupe de mailles sol-sol"),
10848 UNITE_IMPR_ASTER = SIMP(statut='f', typ='I',
10849 fr="Unité des résultats transmis par Code_Aster à Miss"),
10850 UNITE_RESU_IMPE = SIMP(statut='f', typ='I',
10851 fr="Unité logique des impédances écrites par Miss"),
10852 UNITE_RESU_FORC = SIMP(statut='f', typ='I',
10853 fr="Unité logique des forces sismiques écrites par Miss"),
10855 # post-traitement : passage du domaine de Laplace au domaine temporel
10856 b_fichier_temps = BLOC(condition="TYPE_RESU == 'FICHIER_TEMPS'",
10857 regles=(UN_PARMI('MACR_ELEM_DYNA', 'BASE_MODALE'),
10858 AU_MOINS_UN('UNITE_RESU_RIGI','UNITE_RESU_AMOR','UNITE_RESU_MASS'),
10859 PRESENT_PRESENT('UNITE_RESU_AMOR', 'MATR_GENE'),
10860 PRESENT_PRESENT('UNITE_RESU_MASS', 'MATR_GENE'),),
10861 MACR_ELEM_DYNA = SIMP(statut='f', typ=macr_elem_dyna,
10862 fr="Macro élément produit en amont"),
10863 BASE_MODALE = SIMP(statut='f', typ=mode_meca,
10864 fr="Base de modes"),
10865 b_base_modale = BLOC(condition="BASE_MODALE is not None",
10866 MATR_RIGI = SIMP(statut='f', typ=(matr_asse_depl_r, matr_asse_depl_c),),
10867 MATR_MASS = SIMP(statut='f', typ=matr_asse_depl_r ),
10869 AMOR_REDUIT = SIMP(statut='f', typ='R', max='**'),
10870 GROUP_MA_INTERF = SIMP(statut='o', typ=grma, max='**',
10871 fr="Groupe de mailles de l'interface"),
10872 UNITE_IMPR_ASTER = SIMP(statut='f', typ='I',
10873 fr="Unité des résultats transmis par Code_Aster à Miss"),
10874 UNITE_RESU_RIGI =SIMP(statut='f',typ='I'),
10875 UNITE_RESU_AMOR =SIMP(statut='f',typ='I'),
10876 UNITE_RESU_MASS =SIMP(statut='f',typ='I'),
10877 INST_FIN = SIMP(statut='f', typ='R', fr="Instant final du calcul"),
10878 PAS_INST = SIMP(statut='f', typ='R', fr="Pas de temps du calcul"),
10879 PRECISION = SIMP(statut='f',typ='R',defaut=0.000001),
10880 COEF_SURECH = SIMP(statut='f',typ='I',defaut=1 ),
10881 MATR_GENE =FACT(statut='f', max = 1,
10882 DECOMP_IMPE= SIMP(statut='f',typ='TXM',defaut='PRODUIT',into=('PRODUIT','SANS_PRODUIT')),
10883 AMOR_HYST = SIMP(statut='o',typ='TXM',into=('DANS_IMPEDANCE','DANS_MATR_AMOR'),
10884 fr="Indique comment l'amortissement hysteretique est pris en compte"),
10885 b_amor_nohyst = BLOC(condition="AMOR_HYST == 'DANS_MATR_AMOR'",
10886 MATR_MASS = SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_depl_r ) ),
10887 MATR_RIGI = SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c,matr_asse_depl_r ) ),
10888 MATR_AMOR = SIMP(statut='o',typ=(matr_asse_gene_r,matr_asse_gene_c,matr_asse_depl_r ) ),
10890 b_amor_hyst = BLOC(condition="AMOR_HYST == 'DANS_IMPEDANCE'",
10891 regles = (AU_MOINS_UN('MATR_MASS','MATR_RIGI','MATR_AMOR'),),
10892 MATR_MASS = SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_depl_r ) ),
10893 MATR_RIGI = SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c,matr_asse_depl_r ) ),
10894 MATR_AMOR = SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c,matr_asse_depl_r ) ),
10897 EXCIT_SOL =FACT(statut='f', max = 1,
10898 regles = (AU_MOINS_UN('CHAM_X','CHAM_Y','CHAM_Z'),),
10899 UNITE_RESU_FORC =SIMP(statut='o',typ='I',
10900 fr="Unité logique des forces sismiques écrites par Miss"),
10901 NOM_CHAM =SIMP(statut='f',typ='TXM',defaut='DEPL',
10902 into=('ACCE','VITE','DEPL') ),
10903 CHAM_X = SIMP(statut='f', typ=fonction_sdaster,),
10904 CHAM_Y = SIMP(statut='f', typ=fonction_sdaster,),
10905 CHAM_Z = SIMP(statut='f', typ=fonction_sdaster,),
10908 # si post-traitement
10909 b_donnees = BLOC(condition="TYPE_RESU not in ('FICHIER', 'FICHIER_TEMPS', 'TABLE_CONTROL')",
10910 regles=(ENSEMBLE('GROUP_MA_FLU_STR', 'GROUP_MA_FLU_SOL', 'GROUP_MA_SOL_SOL'),
10911 UN_PARMI('MATR_AMOR', 'AMOR_REDUIT'),),
10912 MACR_ELEM_DYNA = SIMP(statut='f', typ=macr_elem_dyna,
10913 fr="Macro élément produit en amont"),
10914 BASE_MODALE = SIMP(statut='o', typ=mode_meca,
10915 fr="Base de modes"),
10916 MATR_RIGI = SIMP(statut='o', typ=(matr_asse_depl_r, matr_asse_depl_c),),
10917 MATR_MASS = SIMP(statut='o', typ=matr_asse_depl_r ),
10918 MATR_AMOR = SIMP(statut='f', typ=matr_asse_depl_r ),
10919 AMOR_REDUIT = SIMP(statut='f', typ='R', max='**'),
10920 GROUP_MA_INTERF = SIMP(statut='o', typ=grma, max='**',
10921 fr="Groupe de mailles de l'interface"),
10922 GROUP_MA_FLU_STR = SIMP(statut='f', typ=grma, max='**',
10923 fr="Groupe de mailles fluide-structure"),
10924 GROUP_MA_FLU_SOL = SIMP(statut='f', typ=grma, max='**',
10925 fr="Groupe de mailles fluide-sol"),
10926 GROUP_MA_SOL_SOL = SIMP(statut='f', typ=grma, max='**',
10927 fr="Groupe de mailles sol-sol"),
10928 UNITE_IMPR_ASTER = SIMP(statut='f', typ='I',
10929 fr="Unité des résultats transmis par Code_Aster à Miss"),
10930 UNITE_RESU_IMPE = SIMP(statut='f', typ='I',
10931 fr="Unité logique des impédances à relire."),
10932 UNITE_RESU_FORC = SIMP(statut='f', typ='I',
10933 fr="Unité logique des forces sismiques à relire"),
10935 # Paramètres du calcul Miss
10936 PARAMETRE = FACT(statut='o',
10937 regles=(PRESENT_PRESENT('OFFSET_MAX', 'OFFSET_NB'),
10938 PRESENT_PRESENT('FREQ_MIN', 'FREQ_MAX','FREQ_PAS'),
10939 UN_PARMI('FREQ_MIN', 'LIST_FREQ', 'FREQ_IMAG'),
10940 PRESENT_PRESENT('SPEC_MAX', 'SPEC_NB'),),
10941 FREQ_MIN = SIMP(statut='f', typ='R'),
10942 FREQ_MAX = SIMP(statut='f', typ='R'),
10943 FREQ_PAS = SIMP(statut='f', typ='R'),
10944 LIST_FREQ = SIMP(statut='f', typ='R', max='**'),
10945 FREQ_IMAG = SIMP(statut='f', typ='R'),
10946 Z0 = SIMP(statut='f', typ='R', defaut=0.),
10947 SURF = SIMP(statut='f', typ='TXM', into=("OUI","NON",), defaut="NON"),
10948 ISSF = SIMP(statut='f', typ='TXM', into=("OUI","NON",), defaut="NON"),
10949 ALLU = SIMP(statut='f', typ='R', defaut=0.),
10950 RFIC = SIMP(statut='f', typ='R', defaut=0.),
10952 ALGO = SIMP(statut='f', typ='TXM', into=("DEPL","REGU")),
10953 DREF = SIMP(statut='f', typ='R'),
10954 SPEC_MAX = SIMP(statut='f', typ='R'),
10955 SPEC_NB = SIMP(statut='f', typ='I'),
10956 OFFSET_MAX = SIMP(statut='f', typ='R'),
10957 OFFSET_NB = SIMP(statut='f', typ='I'),
10958 TYPE = SIMP(statut='f', typ='TXM', into=("BINAIRE","ASCII",), defaut="ASCII"),
10960 # Post-traitement type 1 - tran_gene
10961 b_post_tran_gene = BLOC(condition="TYPE_RESU == 'TRAN_GENE'",
10962 regles=(AU_MOINS_UN('ACCE_X', 'ACCE_Y', 'ACCE_Z','DEPL_X', 'DEPL_Y', 'DEPL_Z',),
10963 PRESENT_ABSENT('ACCE_X','DEPL_X', 'DEPL_Y', 'DEPL_Z',),
10964 PRESENT_ABSENT('ACCE_Y','DEPL_X', 'DEPL_Y', 'DEPL_Z',),
10965 PRESENT_ABSENT('ACCE_Z','DEPL_X', 'DEPL_Y', 'DEPL_Z',),
10967 MODELE = SIMP(statut='o', typ=(modele_sdaster),),
10968 GROUP_NO = SIMP(statut='f', typ=grno, max='**',),
10969 ACCE_X = SIMP(statut='f', typ=fonction_sdaster,),
10970 ACCE_Y = SIMP(statut='f', typ=fonction_sdaster,),
10971 ACCE_Z = SIMP(statut='f', typ=fonction_sdaster,),
10972 DEPL_X = SIMP(statut='f', typ=fonction_sdaster,),
10973 DEPL_Y = SIMP(statut='f', typ=fonction_sdaster,),
10974 DEPL_Z = SIMP(statut='f', typ=fonction_sdaster,),
10975 INST_FIN = SIMP(statut='o', typ='R', fr="Instant final du calcul"),
10976 PAS_INST = SIMP(statut='o', typ='R', fr="Pas de temps du calcul"),
10978 # Post-traitement type 1 - harm_gene
10979 b_post_harm_gene = BLOC(condition="TYPE_RESU == 'HARM_GENE'",
10980 regles=(#AU_MOINS_UN('EXCIT_HARMO', 'ACCE_X', 'ACCE_Y', 'ACCE_Z',),
10981 AU_MOINS_UN('EXCIT_HARMO', 'ACCE_X', 'ACCE_Y', 'ACCE_Z','DEPL_X','DEPL_Y','DEPL_Z'),
10982 PRESENT_ABSENT('EXCIT_HARMO', 'ACCE_X', 'ACCE_Y', 'ACCE_Z', 'INST_FIN'),
10983 PRESENT_ABSENT('EXCIT_HARMO', 'DEPL_X', 'DEPL_Y', 'DEPL_Z'),
10984 PRESENT_ABSENT('ACCE_X','DEPL_X', 'DEPL_Y', 'DEPL_Z',),
10985 PRESENT_ABSENT('ACCE_Y','DEPL_X', 'DEPL_Y', 'DEPL_Z',),
10986 PRESENT_ABSENT('ACCE_Z','DEPL_X', 'DEPL_Y', 'DEPL_Z',),
10987 ENSEMBLE('INST_FIN', 'PAS_INST'),),
10988 MODELE = SIMP(statut='o', typ=(modele_sdaster),),
10989 GROUP_NO = SIMP(statut='f', typ=grno, max='**',),
10990 ACCE_X = SIMP(statut='f', typ=fonction_sdaster,),
10991 ACCE_Y = SIMP(statut='f', typ=fonction_sdaster,),
10992 ACCE_Z = SIMP(statut='f', typ=fonction_sdaster,),
10993 DEPL_X = SIMP(statut='f', typ=fonction_sdaster,),
10994 DEPL_Y = SIMP(statut='f', typ=fonction_sdaster,),
10995 DEPL_Z = SIMP(statut='f', typ=fonction_sdaster,),
10996 INST_FIN = SIMP(statut='f', typ='R', fr="Instant final du calcul"),
10997 PAS_INST = SIMP(statut='f', typ='R', fr="Pas de temps du calcul"),
10998 # identique à EXCIT de DYNA_LINE_HARM au type attendu pour VECT_ASSE près
10999 EXCIT_HARMO = FACT(statut='f', max='**',
11000 regles=(UN_PARMI('VECT_ASSE', 'CHARGE'),
11001 UN_PARMI('FONC_MULT', 'FONC_MULT_C', 'COEF_MULT', 'COEF_MULT_C'),),
11002 VECT_ASSE = SIMP(statut='f', typ=cham_no_sdaster,),
11003 CHARGE = SIMP(statut='f', typ=char_meca),
11004 FONC_MULT_C = SIMP(statut='f', typ=(fonction_c, formule_c),),
11005 COEF_MULT_C = SIMP(statut='f', typ='C'),
11006 FONC_MULT = SIMP(statut='f', typ=(fonction_sdaster, nappe_sdaster, formule) ),
11007 COEF_MULT = SIMP(statut='f', typ='R'),
11008 PHAS_DEG = SIMP(statut='f', typ='R', defaut=0.),
11009 PUIS_PULS = SIMP(statut='f', typ='I', defaut=0),
11012 # Post-traitement type 2
11013 b_post_table = BLOC(condition="TYPE_RESU == 'TABLE'",
11014 regles=(AU_MOINS_UN('ACCE_X', 'ACCE_Y', 'ACCE_Z'),),
11015 MODELE = SIMP(statut='o', typ=(modele_sdaster),),
11016 GROUP_NO = SIMP(statut='o', typ=grno, max='**',
11017 fr="Liste des groupes de noeud de post-traitement"),
11018 ACCE_X = SIMP(statut='f', typ=fonction_sdaster,),
11019 ACCE_Y = SIMP(statut='f', typ=fonction_sdaster,),
11020 ACCE_Z = SIMP(statut='f', typ=fonction_sdaster,),
11021 INST_FIN = SIMP(statut='o', typ='R', fr="Instant final du calcul"),
11022 PAS_INST = SIMP(statut='o', typ='R', fr="Pas de temps du calcul"),
11023 NORME = SIMP(statut='o', typ='R',
11024 fr="Valeur de la norme du spectre d'oscillateur" ),
11025 AMOR_SPEC_OSCI = SIMP(statut='o', typ='R', max='**',
11026 fr="Amortissement du spectre d'oscillateur"),
11027 LIST_FREQ_SPEC_OSCI = SIMP(statut='f', typ=listr8_sdaster,
11028 fr="Fréquences utilisées pour le calcul du spectre d'oscillateur"),
11031 # Post-traitement type 3 - points de controle
11032 b_post_control = BLOC(condition="TYPE_RESU == 'TABLE_CONTROL'",
11033 regles=(PRESENT_PRESENT('ACCE_X', 'INST_FIN'),
11034 PRESENT_PRESENT('ACCE_Y', 'INST_FIN'),
11035 PRESENT_PRESENT('ACCE_Z', 'INST_FIN'),
11036 ENSEMBLE('INST_FIN', 'PAS_INST', 'NORME', 'AMOR_SPEC_OSCI'),),
11037 GROUP_MA_CONTROL = SIMP(statut='f', typ=grma, max='**',
11038 fr="Groupe de mailles des points de contrôle"),
11039 ACCE_X = SIMP(statut='f', typ=fonction_sdaster,),
11040 ACCE_Y = SIMP(statut='f', typ=fonction_sdaster,),
11041 ACCE_Z = SIMP(statut='f', typ=fonction_sdaster,),
11042 INST_FIN = SIMP(statut='f', typ='R', fr="Instant final du calcul"),
11043 PAS_INST = SIMP(statut='f', typ='R', fr="Pas de temps du calcul"),
11044 NORME = SIMP(statut='f', typ='R',
11045 fr="Valeur de la norme du spectre d'oscillateur" ),
11046 AMOR_SPEC_OSCI = SIMP(statut='f', typ='R', max='**',
11047 fr="Amortissement du spectre d'oscillateur"),
11048 LIST_FREQ_SPEC_OSCI = SIMP(statut='f', typ=listr8_sdaster,
11049 fr="Fréquences utilisées pour le calcul du spectre d'oscillateur"),
11052 INFO = SIMP(statut='f', typ='I', defaut=1, into=(1,2)),
11055 # ======================================================================
11056 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
11057 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11058 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11059 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
11060 # (AT YOUR OPTION) ANY LATER VERSION.
11062 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
11063 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
11064 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
11065 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
11067 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
11068 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
11069 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
11070 # ======================================================================
11071 # person_in_charge: nicolas.brie at edf.fr
11074 def calc_modal_prod(self,AMORTISSEMENT,**args):
11075 if AMORTISSEMENT=="NON": return mode_meca
11076 if AMORTISSEMENT=="OUI": return mode_meca_c
11077 raise AsException("type de concept resultat non prevu")
11080 CALC_MODAL=MACRO(nom="CALC_MODAL",
11081 op=OPS('Macro.calc_modal_ops.calc_modal_ops'),
11082 UIinfo={"groupes":("Résolution","Dynamique",)},
11083 sd_prod=calc_modal_prod,
11084 fr="Calcul des modes propres reels ou complexes dans une seule commande",
11085 MODELE =SIMP(statut='o',typ=modele_sdaster),
11086 AMORTISSEMENT =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ),
11087 CHAM_MATER =SIMP(statut='o',typ=cham_mater),
11088 INST =SIMP(statut='f',typ='R',defaut=0.),
11089 CARA_ELEM =SIMP(statut='f',typ=cara_elem),
11090 CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
11091 METHODE =SIMP(statut='f',typ='TXM',defaut="SORENSEN",
11092 into=("TRI_DIAG","JACOBI","SORENSEN","QZ") ),
11093 b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'",
11094 PREC_ORTHO =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ),
11095 NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
11096 PREC_LANCZOS =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ),
11097 NMAX_ITER_QR =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ),
11099 b_jacobi =BLOC(condition = "METHODE == 'JACOBI'",
11100 PREC_BATHE =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ),
11101 NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ),
11102 PREC_JACOBI =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
11103 NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ),
11105 b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'",
11106 PREC_SOREN =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ),
11107 NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ),
11108 PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717),
11110 b_qz =BLOC(condition = "METHODE == 'QZ'",
11111 TYPE_QZ =SIMP(statut='f',typ='TXM',defaut="QZ_SIMPLE",into=("QZ_QR","QZ_SIMPLE","QZ_EQUI") ),
11113 MODE_RIGIDE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
11114 fr="Calcul des modes de corps rigide, uniquement pour la méthode TRI_DIAG" ),
11115 CALC_FREQ =FACT(statut='d',min=0,
11116 OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","PLUS_GRANDE","BANDE","CENTRE","TOUT"),
11117 fr="Choix de l option et par conséquent du shift du problème modal" ),
11118 b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites fréquences propres",
11119 NMAX_FREQ =SIMP(statut='f',typ='I',defaut=10,val_min=0 ),
11121 b_plus_grande =BLOC(condition = "OPTION == 'PLUS_GRANDE'",fr="Recherche des plus grandes fréquences propres",
11122 NMAX_FREQ =SIMP(statut='f',typ='I',defaut=1,val_min=0 ),
11124 b_centre =BLOC(condition = "OPTION == 'CENTRE'",
11125 fr="Recherche des fréquences propres les plus proches d une valeur donnée",
11126 FREQ =SIMP(statut='o',typ='R',
11127 fr="Fréquence autour de laquelle on cherche les fréquences propres"),
11128 AMOR_REDUIT =SIMP(statut='f',typ='R',),
11129 NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
11131 b_bande =BLOC(condition = "(OPTION == 'BANDE')",
11132 fr="Recherche des fréquences propres dans une bande donnée",
11133 FREQ =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2,
11134 fr="Valeurs des deux fréquences délimitant la bande de recherche"),
11136 APPROCHE =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG","COMPLEXE"),
11137 fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ),
11138 regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),),
11139 DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ),
11140 COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ),
11141 NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0 ),
11142 PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ),
11143 SEUIL_FREQ =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
11144 STOP_BANDE_VIDE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
11147 VERI_MODE =FACT(statut='d',min=0,
11148 STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
11149 PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-3,val_min=0.E+0 ),
11150 SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0,
11151 fr="Valeur limite admise pour l ereur a posteriori des modes" ),
11152 STURM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
11155 TITRE =SIMP(statut='f',typ='TXM',max='**'),
11156 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
11159 # ======================================================================
11160 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
11161 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11162 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11163 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
11164 # (AT YOUR OPTION) ANY LATER VERSION.
11166 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
11167 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
11168 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
11169 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
11171 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
11172 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
11173 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
11174 # ======================================================================
11175 # person_in_charge: mohamed.torkhani at edf.fr
11178 CALC_MODE_ROTATION=MACRO(nom="CALC_MODE_ROTATION",
11179 op=OPS('Macro.calc_mode_rotation_ops.calc_mode_rotation_ops'),
11180 sd_prod=table_container,
11182 fr="calculer les fréquences et modes d'un système en fonction des " \
11183 "vitesses de rotation",
11184 UIinfo={"groupes":("Résolution","Dynamique",)},
11186 MATR_RIGI =SIMP(statut='o',typ=matr_asse_depl_r ),
11187 MATR_MASS =SIMP(statut='o',typ=matr_asse_depl_r ),
11188 MATR_AMOR =SIMP(statut='f',typ=matr_asse_depl_r ),
11189 MATR_GYRO =SIMP(statut='f',typ=matr_asse_depl_r ),
11190 VITE_ROTA =SIMP(statut='f',typ='R',max='**'),
11192 METHODE =SIMP(statut='f',typ='TXM',defaut="QZ",
11193 into=("QZ","SORENSEN",) ),
11195 CALC_FREQ =FACT(statut='d',min=0,
11196 OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","CENTRE",),
11197 fr="Choix de l option et par conséquent du shift du problème modal" ),
11198 b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres",
11199 NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
11201 b_centre =BLOC(condition = "OPTION == 'CENTRE'",
11202 fr="Recherche des valeurs propres les plus proches d une valeur donnée",
11203 FREQ =SIMP(statut='o',typ='R',
11204 fr="Fréquence autour de laquelle on cherche les fréquences propres"),
11205 AMOR_REDUIT =SIMP(statut='f',typ='R',),
11206 NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
11210 VERI_MODE =FACT(statut='d',min=0,
11211 STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
11212 SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
11213 PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-3 ),
11214 STURM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),),
11217 # ======================================================================
11218 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
11219 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11220 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11221 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
11222 # (AT YOUR OPTION) ANY LATER VERSION.
11224 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
11225 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
11226 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
11227 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
11229 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
11230 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
11231 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
11232 # ======================================================================
11233 # person_in_charge: jean-michel.proix at edf.fr
11234 CALC_POINT_MAT=OPER(nom="CALC_POINT_MAT",op=33,sd_prod=table_sdaster,reentrant='f',
11235 UIinfo={"groupes":("Résolution",)},
11236 fr="Intégrer une loi de comportement",
11237 MATER =SIMP(statut='o',typ=mater_sdaster,max=1),
11238 COMPORTEMENT =C_COMPORTEMENT('CALC_POINT_MAT'),
11239 INCREMENT =C_INCREMENT('MECANIQUE'),
11240 NEWTON =C_NEWTON(),
11241 CONVERGENCE =C_CONVERGENCE(),
11243 # --MASSIF : orientation du materiau (monocristal, orthotropie)
11244 MASSIF =FACT(statut='f',max='**',
11245 regles=(UN_PARMI('ANGL_REP','ANGL_EULER'),),
11246 ANGL_REP =SIMP(statut='f',typ='R',min=1,max=3),
11247 ANGL_EULER =SIMP(statut='f',typ='R',min=1,max=3),
11249 ## ANGLE : rotation de ANGLE autour de Z uniquement, et seulement pour les déformations imposées.
11250 ANGLE =SIMP(statut='f',typ='R',max=1, defaut=0.),
11251 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2)),
11254 EXCLUS('SIXX','EPXX',),
11255 EXCLUS('SIYY','EPYY',),
11256 EXCLUS('SIZZ','EPZZ',),
11257 EXCLUS('SIXY','EPXY',),
11258 EXCLUS('SIXZ','EPXZ',),
11259 EXCLUS('SIYZ','EPYZ',),
11261 ENSEMBLE('F11','F12','F13','F21','F22','F23','F31','F32','F33',),),
11263 SIXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11264 SIYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11265 SIZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11266 SIXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11267 SIXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11268 SIYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11270 EPXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11271 EPYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11272 EPZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11273 EPXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11274 EPXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11275 EPYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11277 F11 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11278 F12 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11279 F13 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11280 F21 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11281 F22 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11282 F23 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11283 F31 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11284 F32 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11285 F33 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
11287 MATR_C1=FACT(statut='f',max='**',
11288 VALE =SIMP(statut='o',typ='R',max=1, ),
11289 NUME_LIGNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=6 ),
11290 NUME_COLONNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=12 ),
11292 MATR_C2=FACT(statut='f',max='**',
11293 VALE =SIMP(statut='o',typ='R',max=1, ),
11294 NUME_LIGNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=6 ),
11295 NUME_COLONNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=12 ),
11297 VECT_IMPO=FACT(statut='f',max=6,
11298 VALE =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max=1, ),
11299 NUME_LIGNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=6 ),
11301 SIGM_INIT=FACT(statut='f',
11302 SIXX = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
11303 SIYY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
11304 SIZZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
11305 SIXY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
11306 SIXZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
11307 SIYZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
11309 EPSI_INIT=FACT(statut='f',
11310 EPXX = SIMP(statut='o',typ='R',max=1),
11311 EPYY = SIMP(statut='o',typ='R',max=1),
11312 EPZZ = SIMP(statut='o',typ='R',max=1),
11313 EPXY = SIMP(statut='o',typ='R',max=1),
11314 EPXZ = SIMP(statut='o',typ='R',max=1),
11315 EPYZ = SIMP(statut='o',typ='R',max=1),
11317 VARI_INIT=FACT(statut='f',
11318 VALE = SIMP(statut='o',typ='R',max='**'),
11320 FORMAT_TABLE =SIMP(statut='f',typ='TXM',max=1,into=("CMP_COLONNE","CMP_LIGNE",),defaut=("CMP_COLONNE"),),
11322 NB_VARI_TABLE =SIMP(statut='f',typ='I',max=1,),
11324 OPER_TANGENT =SIMP(statut='f',typ='TXM',max=1,into=("OUI","NON",),defaut="NON",),
11326 ARCHIVAGE =FACT(statut='f',
11327 LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ),
11328 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
11329 PAS_ARCH =SIMP(statut='f',typ='I' ),
11330 PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-6),
11334 # on permet certaines variables de commandes scalaires, définies par une fonction du temps
11335 # un mot clé caché qui ne sert qu'à boucler sur les VARC possibles :
11336 LIST_NOM_VARC =SIMP(statut='c',typ='TXM', defaut=("TEMP","CORR","IRRA","HYDR","SECH","EPSA",
11337 "M_ACIER","M_ZIRC","NEUT1","NEUT2")),
11339 AFFE_VARC = FACT(statut='f',max='**',
11340 NOM_VARC =SIMP(statut='o',typ='TXM', into=("TEMP","CORR","IRRA","HYDR","SECH","M_ACIER","M_ZIRC",
11341 "EPSA","NEUT1","NEUT2")),
11342 VALE_FONC = SIMP(statut='o',typ=(fonction_sdaster,formule) ),
11344 # VALE_REF est nécessaire pour certaines VARC :
11345 B_VALE_REF =BLOC(condition="NOM_VARC in ('TEMP', 'SECH')",
11346 VALE_REF =SIMP(statut='o',typ='R'),
11354 # ======================================================================
11355 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
11356 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11357 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11358 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
11359 # (AT YOUR OPTION) ANY LATER VERSION.
11361 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
11362 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
11363 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
11364 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
11366 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
11367 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
11368 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
11369 # ======================================================================
11370 # person_in_charge: sylvie.michel-ponnelle at edf.fr
11373 CALC_PRECONT=MACRO(nom="CALC_PRECONT",
11374 op=OPS('Macro.calc_precont_ops.calc_precont_ops'),
11376 fr="Imposer la tension définie par le BPEL dans les cables",
11377 reentrant='f',UIinfo={"groupes":("Modélisation",)},
11378 reuse =SIMP(statut='f',typ='evol_noli'),
11379 MODELE =SIMP(statut='o',typ=modele_sdaster),
11380 CHAM_MATER =SIMP(statut='o',typ=cham_mater),
11381 CARA_ELEM =SIMP(statut='o',typ=cara_elem),
11382 CABLE_BP =SIMP(statut='o',typ=cabl_precont,validators=NoRepeat(),max='**'),
11383 CABLE_BP_INACTIF =SIMP(statut='f',typ=cabl_precont,validators=NoRepeat(),max='**'),
11384 INCREMENT =C_INCREMENT('MECANIQUE'),
11385 RECH_LINEAIRE =C_RECH_LINEAIRE(),
11386 CONVERGENCE =C_CONVERGENCE(),
11387 ETAT_INIT =FACT(statut='f',
11388 regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI',),
11389 EXCLUS('EVOL_NOLI','DEPL',),
11390 EXCLUS('EVOL_NOLI','SIGM',),
11391 EXCLUS('EVOL_NOLI','VARI',),
11392 EXCLUS('NUME_ORDRE','INST'), ),
11393 DEPL =SIMP(statut='f',typ=cham_no_sdaster),
11394 SIGM =SIMP(statut='f',typ=(carte_sdaster,cham_elem)),
11395 VARI =SIMP(statut='f',typ=cham_elem),
11396 EVOL_NOLI =SIMP(statut='f',typ=evol_noli),
11397 NUME_ORDRE =SIMP(statut='f',typ='I'),
11398 INST =SIMP(statut='f',typ='R'),
11399 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
11400 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
11401 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
11402 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
11403 PRECISION =SIMP(statut='o',typ='R',),),
11404 NUME_DIDI =SIMP(statut='f',typ='I'),
11405 INST_ETAT_INIT =SIMP(statut='f',typ='R'),
11407 METHODE = SIMP(statut='d',typ='TXM',defaut="NEWTON",into=("NEWTON","IMPLEX")),
11408 b_meth_newton = BLOC(condition = "METHODE == 'NEWTON'",
11409 NEWTON = C_NEWTON(),
11411 ENERGIE =FACT(statut='f',max=1,
11412 CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",),
11414 #-------------------------------------------------------------------
11415 # Catalogue commun SOLVEUR
11416 SOLVEUR =C_SOLVEUR('CALC_PRECONT'),
11417 #-------------------------------------------------------------------
11418 INFO =SIMP(statut='f',typ='I',into=(1,2) ),
11419 TITRE =SIMP(statut='f',typ='TXM',max='**' ),
11421 EXCIT =FACT(statut='o',max='**',
11422 CHARGE =SIMP(statut='o',typ=char_meca),
11425 COMPORTEMENT =C_COMPORTEMENT(),
11428 # ======================================================================
11429 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
11430 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11431 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11432 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
11433 # (AT YOUR OPTION) ANY LATER VERSION.
11435 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
11436 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
11437 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
11438 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
11440 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
11441 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
11442 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
11443 # ======================================================================
11445 # person_in_charge: mathieu.corus at edf.fr
11448 CALC_SPEC=MACRO(nom="CALC_SPEC",
11449 op=OPS('Macro.calc_spec_ops.calc_spec_ops'),
11450 sd_prod=interspectre,
11452 fr="Calcule une matrice interspectrale ou des fonctions de transferts",
11453 UIinfo={"groupes":("Fonctions",)},
11454 TAB_ECHANT =FACT(statut='f',
11455 NOM_TAB =SIMP(statut='o',typ=table_sdaster),
11456 LONGUEUR_DUREE =SIMP(statut='f',typ='R'),
11457 LONGUEUR_POURCENT =SIMP(statut='f',typ='R'),
11458 LONGUEUR_NB_PTS =SIMP(statut='f',typ='I'),
11459 RECOUVREMENT_DUREE =SIMP(statut='f',typ='R'),
11460 RECOUVREMENT_POURCENT =SIMP(statut='f',typ='R'),
11461 RECOUVREMENT_NB_PTS =SIMP(statut='f',typ='I'),
11463 ECHANT =FACT(statut='f',max='**',
11464 NUME_ORDRE_I =SIMP(statut='o',typ='I' ),
11465 NUME_MES =SIMP(statut='o',typ='I' ),
11466 FONCTION =SIMP(statut='o',typ=fonction_sdaster),
11468 #-- Cas de la matrice interspectrale --#
11469 INTERSPE =FACT(statut='f',
11470 FENETRE =SIMP(statut='f',typ='TXM',defaut="RECT",into=("RECT","HAMM","HANN","EXPO","PART",)),
11471 BLOC_DEFI_FENE =BLOC(condition = "FENETRE == 'EXPO' or FENETRE == 'PART' ",
11472 DEFI_FENE =SIMP(statut='f',typ='R',max='**'),
11475 #-- Cas des transferts - estimateurs H1 / H2 / Hv + Coherence --#
11476 TRANSFERT =FACT(statut='f',
11477 ESTIM =SIMP(statut='f',typ='TXM',defaut="H1",into=("H1","H2","CO",)),
11478 REFER =SIMP(statut='o',typ='I',max='**'),
11479 FENETRE =SIMP(statut='f',typ='TXM',defaut="RECT",into=("RECT","HAMM","HANN","EXPO","PART",)),
11480 # DEFI_FENE =SIMP(statut='f',typ='R',max='**'),
11481 BLOC_DEFI_FENE =BLOC(condition = "FENETRE == 'EXPO' or FENETRE == 'PART' ",
11482 DEFI_FENE =SIMP(statut='f',typ='R',max='**'),
11485 TITRE =SIMP(statut='f',typ='TXM',max='**'),
11486 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
11489 # ======================================================================
11490 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
11491 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11492 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11493 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
11494 # (AT YOUR OPTION) ANY LATER VERSION.
11496 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
11497 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
11498 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
11499 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
11501 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
11502 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
11503 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
11504 # ======================================================================
11505 CALC_STABILITE=MACRO(nom="CALC_STABILITE",sd_prod=table_container,
11506 op=OPS('Macro.calc_stabilite_ops.calc_stabilite_ops'),
11507 fr="post-traitement modes non-linéaires : filtre resultats et calcul de stabilité",
11509 UIinfo={"groupes":("Résolution","Dynamique",)},
11511 reuse =SIMP(statut='f',typ='table_container'),
11513 MODE_NON_LINE = SIMP(statut='o',typ=table_container,max=1),
11514 SCHEMA_TEMPS = FACT(statut='d',max=1,
11515 SCHEMA = SIMP(statut='f',typ='TXM',into=('NEWMARK',),defaut='NEWMARK'),
11516 b_newmark= BLOC(condition="SCHEMA=='NEWMARK'",
11517 NB_INST = SIMP(statut='f',typ='I',defaut= 1000 ),
11520 TOLERANCE = SIMP(statut='f',typ='R',defaut= 1.E-2 ),
11522 FILTRE = FACT(statut='f',max=1,regles=(UN_PARMI('NUME_ORDRE','FREQ_MIN',),),
11523 NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
11524 FREQ_MIN = SIMP(statut='f',typ='R' ),
11525 b_freq_min = BLOC(condition = "FREQ_MIN != None",
11526 FREQ_MAX = SIMP(statut='o',typ='R' ),
11527 PRECISION = SIMP(statut='f',typ='R',defaut= 1.E-3 ),
11531 INFO = SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
11538 # ======================================================================
11539 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
11540 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11541 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11542 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
11543 # (AT YOUR OPTION) ANY LATER VERSION.
11545 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
11546 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
11547 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
11548 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
11550 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
11551 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
11552 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
11553 # ======================================================================
11554 # person_in_charge: mathieu.courtois at edf.fr
11555 def calc_table_prod(self, TABLE, ACTION, **kargs):
11556 """Typage du concept produit.
11558 l_typ = [AsType(TABLE),]
11560 dmc = mcf.cree_dict_valeurs(mcf.mc_liste)
11561 if dmc.get('TABLE') != None:
11562 l_typ.append(AsType(dmc['TABLE']))
11563 # une table_fonction étant une table
11564 if table_fonction in l_typ:
11565 return table_fonction
11566 elif table_container in l_typ:
11567 return table_container
11569 return table_sdaster
11571 CALC_TABLE=MACRO(nom="CALC_TABLE",
11572 op=OPS('Macro.calc_table_ops.calc_table_ops'),
11573 sd_prod=calc_table_prod,
11574 fr="Opérations sur une table",
11575 UIinfo={"groupes":("Tables",)},
11577 TABLE = SIMP(statut='o',typ=table_sdaster),
11578 ACTION = FACT(statut='o', max='**',
11579 fr = "Suite des opérations à effectuer sur la table",
11580 OPERATION = SIMP(statut='o', typ='TXM',
11581 into=('FILTRE', 'EXTR', 'RENOMME', 'TRI', 'COMB', 'AJOUT_LIGNE',
11582 'OPER', 'SUPPRIME', 'AJOUT_COLONNE')),
11584 b_filtre = BLOC(condition="OPERATION == 'FILTRE'",
11585 fr="Sélectionne les lignes de la table vérifiant un critère",
11586 NOM_PARA = SIMP(statut='o',typ='TXM'),
11587 CRIT_COMP = SIMP(statut='f',typ='TXM',defaut="EQ",
11588 into=('EQ','NE','GT','LT','GE','LE','REGEXP',
11589 'VIDE','NON_VIDE','MAXI','MAXI_ABS','MINI','MINI_ABS'),),
11590 b_vale = BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
11591 regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
11592 VALE = SIMP(statut='f',typ='R',max='**'),
11593 VALE_I = SIMP(statut='f',typ='I',max='**'),
11594 VALE_C = SIMP(statut='f',typ='C',max='**'),
11595 VALE_K = SIMP(statut='f',typ='TXM',max='**'),
11597 b_regexp = BLOC(condition = "CRIT_COMP == 'REGEXP'",
11598 VALE_K = SIMP(statut='o',typ='TXM',),
11600 b_crit = BLOC(condition = "CRIT_COMP in ('EQ','NE')",
11601 CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
11602 PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
11606 b_extr = BLOC(condition="OPERATION == 'EXTR'",
11607 fr="Extrait une ou plusieurs colonnes de la table",
11608 NOM_PARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
11609 fr="Noms des colonnes à extraire"),
11612 b_suppr = BLOC(condition="OPERATION == 'SUPPRIME'",
11613 fr="Supprime une ou plusieurs colonnes de la table",
11614 NOM_PARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
11615 fr="Noms des colonnes à supprimer"),
11618 b_renomme = BLOC(condition="OPERATION == 'RENOMME'",
11619 fr="Renomme un ou plusieurs paramètres de la table",
11620 NOM_PARA = SIMP(statut='o', typ='TXM', validators=NoRepeat(), min=2, max=2,
11621 fr="Couple (ancien nom du paramètre, nouveau nom du paramètre)",),
11624 b_tri = BLOC(condition="OPERATION == 'TRI'",
11625 fr="Ordonne les lignes de la table selon les valeurs d'un ou plusieurs paramètres",
11626 NOM_PARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),
11627 ORDRE = SIMP(statut='f',typ='TXM',defaut="CROISSANT",
11628 into=("CROISSANT","DECROISSANT") ),
11631 b_comb = BLOC(condition="OPERATION == 'COMB'",
11632 fr="Combine deux tables ayant éventuellement des paramètres communs",
11633 TABLE = SIMP(statut='o',typ=table_sdaster,
11634 fr="Table dont les colonnes vont venir surcharger la table initiale"),
11635 NOM_PARA = SIMP(statut='f',typ='TXM',max='**',
11636 fr="Noms des paramètres dont les valeurs doivent etre identiques dans les deux tables "\
11637 "pour que les colonnes soient combinées"),
11638 RESTREINT = SIMP(statut='f', typ='TXM', into=('OUI', 'NON'), defaut='NON',
11639 fr="Restreint la fusion uniquement aux lignes où les NOM_PARA sont communs"),
11640 FORMAT_R =SIMP(statut='f',typ='TXM'),
11643 b_ajout_lig = BLOC(condition="OPERATION == 'AJOUT_LIGNE'",
11644 fr="Ajoute une ligne à la table initiale",
11645 NOM_PARA = SIMP(statut='o',typ='TXM',max='**',
11646 fr="Noms des paramètres dont les valeurs sont fournies sous VALE"),
11647 VALE = SIMP(statut='o',typ=not_checked,max='**', fr='Valeurs des paramètres'),
11650 b_ajout_col = BLOC(condition="OPERATION == 'AJOUT_COLONNE'",
11651 fr="Ajoute une colonne constante à la table initiale",
11652 NOM_PARA = SIMP(statut='o',typ='TXM',max='**',
11653 fr="Noms des paramètres des colonnes à ajouter"),
11654 VALE = SIMP(statut='o', typ=not_checked, max='**',
11655 fr="Valeur constante pour chaque colonne"),
11658 b_oper = BLOC(condition="OPERATION == 'OPER'",
11659 fr="Applique une formule dans laquelle les variables sont les paramètres de la table",
11660 FORMULE = SIMP(statut='o',typ=formule,
11661 fr="Formule à appliquer aux colonnes de la table"),
11662 NOM_PARA = SIMP(statut='o',typ='TXM',
11663 fr="Nom de la nouvelle colonne"),
11664 NOM_COLONNE = SIMP(statut='f',typ='TXM', max='**',
11665 fr="Nom des colonnes à utiliser en tant que paramètres de la formule"),
11669 TITRE = SIMP(statut='f',typ='TXM',max='**',
11670 fr="Titre de la table produite"),
11671 INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
11674 # ======================================================================
11675 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
11676 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11677 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11678 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
11679 # (AT YOUR OPTION) ANY LATER VERSION.
11681 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
11682 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
11683 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
11684 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
11686 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
11687 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
11688 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
11689 # ======================================================================
11690 # person_in_charge: samuel.geniaut at edf.fr
11692 CALC_THETA=OPER(nom="CALC_THETA",op=54,sd_prod=theta_geom,reentrant='n',
11693 UIinfo={"groupes":("Post-traitements","Rupture",)},
11694 fr="Définir un champ theta pour le calcul du taux de restitution d'énergie"
11695 +" ou des facteurs d'intensité de contraintes",
11696 regles=(UN_PARMI('THETA_2D','THETA_3D'),
11697 PRESENT_ABSENT('THETA_2D','DIRE_THETA'),
11698 EXCLUS('DIRECTION','DIRE_THETA'),),
11699 MODELE =SIMP(statut='o',typ=(modele_sdaster) ),
11700 THETA_3D =FACT(statut='f',max='**',
11701 regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'),
11702 UN_PARMI('MODULE','MODULE_FO'),
11703 ENSEMBLE('MODULE_FO','R_INF_FO','R_SUP_FO'),),
11704 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
11705 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
11706 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
11707 MODULE =SIMP(statut='f',typ='R'),
11708 R_INF =SIMP(statut='f',typ='R'),
11709 R_SUP =SIMP(statut='f',typ='R'),
11710 MODULE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11711 R_INF_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11712 R_SUP_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11714 b_theta_3d =BLOC(condition="THETA_3D != None",
11715 FOND_FISS =SIMP(statut='o',typ=fond_fiss),),
11716 DIRE_THETA =SIMP(statut='f',typ=cham_no_sdaster ),
11717 DIRECTION =SIMP(statut='f',typ='R',max='**'),
11718 THETA_2D =FACT(statut='f',max='**',
11719 regles=(UN_PARMI('GROUP_NO','NOEUD'),),
11720 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
11721 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
11722 MODULE =SIMP(statut='o',typ='R'),
11723 R_INF =SIMP(statut='o',typ='R'),
11724 R_SUP =SIMP(statut='o',typ='R'),
11726 IMPRESSION =FACT(statut='f',
11727 UNITE =SIMP(statut='f',typ='I',defaut=8),
11728 FORMAT =SIMP(statut='f',typ='TXM',defaut="EXCEL",into=("EXCEL","AGRAF") ),
11732 # ======================================================================
11733 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
11734 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11735 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11736 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
11737 # (AT YOUR OPTION) ANY LATER VERSION.
11739 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
11740 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
11741 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
11742 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
11744 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
11745 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
11746 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
11747 # ======================================================================
11748 # person_in_charge: jacques.pellet at edf.fr
11749 def calc_vect_elem_prod(OPTION,**args):
11750 if OPTION == "CHAR_MECA" : return vect_elem_depl_r
11751 if OPTION == "CHAR_THER" : return vect_elem_temp_r
11752 if OPTION == "CHAR_ACOU" : return vect_elem_pres_c
11753 raise AsException("type de concept resultat non prevu")
11755 CALC_VECT_ELEM=OPER(nom="CALC_VECT_ELEM",op=8,sd_prod=calc_vect_elem_prod,reentrant='n',
11756 UIinfo={"groupes":("Matrices et vecteurs",)},
11757 fr="Calcul des seconds membres élémentaires",
11758 OPTION =SIMP(statut='o',typ='TXM',into=("CHAR_MECA","CHAR_THER","CHAR_ACOU") ),
11759 b_char_meca =BLOC(condition = "OPTION=='CHAR_MECA'",
11760 regles=(AU_MOINS_UN('CHARGE','MODELE'),),
11761 CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
11762 MODELE =SIMP(statut='f',typ=modele_sdaster),
11763 b_charge =BLOC(condition = "CHARGE != None", fr="modèle ne contenant pas de sous-structure",
11764 CHAM_MATER =SIMP(statut='f',typ=cham_mater),
11765 CARA_ELEM =SIMP(statut='f',typ=cara_elem),
11766 INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
11767 MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ),
11769 b_modele =BLOC(condition = "(MODELE != None)",fr="modèle contenant une sous-structure",
11770 SOUS_STRUC =FACT(statut='o',min=01,
11771 regles=(UN_PARMI('TOUT','SUPER_MAILLE'),),
11772 CAS_CHARGE =SIMP(statut='o',typ='TXM' ),
11773 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
11774 SUPER_MAILLE=SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',),
11778 b_char_ther =BLOC(condition = "OPTION=='CHAR_THER'",
11779 CARA_ELEM =SIMP(statut='f',typ=cara_elem),
11780 CHARGE =SIMP(statut='o',typ=char_ther,validators=NoRepeat(),max='**'),
11781 INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
11784 b_char_acou =BLOC(condition = "OPTION=='CHAR_ACOU'",
11785 CHAM_MATER =SIMP(statut='o',typ=cham_mater),
11786 CHARGE =SIMP(statut='o',typ=char_acou,validators=NoRepeat(),max='**'),
11790 # ======================================================================
11791 # COPYRIGHT (C) 1991 - 2007 EDF R&D WWW.CODE-ASTER.ORG
11792 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11793 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11794 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
11795 # (AT YOUR OPTION) ANY LATER VERSION.
11797 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
11798 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
11799 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
11800 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
11802 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
11803 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
11804 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
11805 # ======================================================================
11806 # person_in_charge: mickael.abbas at edf.fr
11808 CALCUL=OPER(nom="CALCUL",op=26,sd_prod=table_container,reentrant='f',
11809 UIinfo={"groupes":("Résolution",)},
11810 fr="Calculer des objets élémentaires comme une matrice tangente, intégrer une loi de comportement, etc...",
11811 OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut="COMPORTEMENT",
11812 into=( "COMPORTEMENT","MATR_TANG_ELEM","FORC_INTE_ELEM","FORC_NODA_ELEM"),),
11813 MODELE =SIMP(statut='o',typ=modele_sdaster),
11814 CARA_ELEM =SIMP(statut='f',typ=cara_elem),
11815 CHAM_MATER =SIMP(statut='o',typ=cham_mater),
11816 TABLE =SIMP(statut='f',typ=table_container),
11817 EXCIT =FACT(statut='o',max='**',
11818 CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
11819 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
11820 TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
11821 into=("FIXE_CSTE",)),
11824 DEPL =SIMP(statut='o',typ=cham_no_sdaster ),
11825 INCR_DEPL =SIMP(statut='o',typ=cham_no_sdaster ),
11826 SIGM =SIMP(statut='o',typ=cham_elem),
11827 VARI =SIMP(statut='o',typ=cham_elem),
11828 INCREMENT =FACT(statut='o',
11829 LIST_INST =SIMP(statut='o',typ=listr8_sdaster),
11830 NUME_ORDRE =SIMP(statut='o',typ='I'),),
11831 COMPORTEMENT =C_COMPORTEMENT('CALCUL'),
11832 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
11835 # ======================================================================
11836 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
11837 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11838 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11839 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
11840 # (AT YOUR OPTION) ANY LATER VERSION.
11842 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
11843 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
11844 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
11845 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
11847 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
11848 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
11849 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
11850 # ======================================================================
11851 # person_in_charge: sylvie.granet at edf.fr
11852 #from Macro.chainage_thm_ops import chainage_thm_ops
11854 def chainage_thm_prod(self,TYPE_CHAINAGE,TYPE_RESU = None,**args) :
11856 if TYPE_CHAINAGE == "MECA_HYDR" : return evol_varc
11858 if TYPE_CHAINAGE == "HYDR_MECA" :
11859 if TYPE_RESU == "CHAM_NO" :
11860 return cham_no_sdaster
11861 elif TYPE_RESU == "EVOL_VARC" :
11864 if TYPE_CHAINAGE == "INIT" :
11865 matr_mh = args['MATR_MH']
11866 matr_hm1 = args['MATR_HM1']
11867 matr_hm2 = args['MATR_HM2']
11869 self.type_sdprod(matr_mh,corresp_2_mailla)
11870 self.type_sdprod(matr_hm1,corresp_2_mailla)
11871 self.type_sdprod(matr_hm2,corresp_2_mailla)
11874 raise AsException("type de chainage THM non prevu")
11876 CHAINAGE_THM=MACRO(nom="CHAINAGE_THM",
11877 op=OPS('Macro.chainage_thm_ops.chainage_thm_ops'),
11878 sd_prod=chainage_thm_prod,
11880 UIinfo={"groupes":("Résultats et champs",)},
11882 fr="Calcul des variables de commande pour le chaînage THM",
11884 TYPE_CHAINAGE = SIMP(statut='o',typ='TXM',
11885 into=("HYDR_MECA","MECA_HYDR","INIT",),
11886 fr="Sens du chaînage ou initialisation des matrices de projection"),
11890 b_hydr_meca = BLOC(condition = "TYPE_CHAINAGE == 'HYDR_MECA'",fr="Chaînage hydraulique vers mécanique",
11892 RESU_HYDR = SIMP(statut='o',typ=resultat_sdaster,fr="Résultat hydraulique à chaîner" ),
11893 MODELE_MECA = SIMP(statut='o',typ=modele_sdaster ,fr="Modèle d'arrivée mécanique"),
11894 TYPE_RESU = SIMP(statut='f',typ='TXM',into=("EVOL_VARC","CHAM_NO"),defaut="EVOL_VARC", ),
11895 MATR_HM1 = SIMP(statut='o',typ=corresp_2_mailla,),
11896 MATR_HM2 = SIMP(statut='o',typ=corresp_2_mailla,),
11898 b_type_resu = BLOC(condition = "TYPE_RESU == 'EVOL_VARC'",fr="Instant obligatoire si TYPE_RESU=EVOL_VARC",
11899 INST = SIMP(statut='o',typ='R',validators=NoRepeat(),min=1,max=1),
11905 b_meca_hydr = BLOC(condition = "TYPE_CHAINAGE == 'MECA_HYDR'",fr="Chaînage mécanique vers hydraulique",
11907 RESU_MECA = SIMP(statut='o',typ=resultat_sdaster,fr="Résultat mécanique à chaîner" ),
11908 MODELE_HYDR = SIMP(statut='o',typ=modele_sdaster ,fr="Modèle d'arrivée hydraulique"),
11910 MATR_MH = SIMP(statut='o',typ=corresp_2_mailla,),
11911 INST = SIMP(statut='o',typ='R',validators=NoRepeat(),min=1,max=1),
11916 b_init = BLOC(condition = "TYPE_CHAINAGE == 'INIT'",fr="Calcul des matrices de projection",
11918 MODELE_MECA = SIMP(statut='o',typ=modele_sdaster ,fr="Modèle mécanique"),
11919 MODELE_HYDR = SIMP(statut='o',typ=modele_sdaster ,fr="Modèle hydraulique"),
11921 MATR_MH = SIMP(statut='o',typ=CO,),
11922 MATR_HM1 = SIMP(statut='o',typ=CO,),
11923 MATR_HM2 = SIMP(statut='o',typ=CO,),
11926 INFO = SIMP(statut='f',typ='I',defaut=1,into=( 1, 2 ) ),
11930 # ======================================================================
11931 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
11932 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11933 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11934 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
11935 # (AT YOUR OPTION) ANY LATER VERSION.
11937 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
11938 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
11939 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
11940 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
11942 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
11943 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
11944 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
11945 # ======================================================================
11946 # person_in_charge: xavier.desroches at edf.fr
11947 COMB_FOURIER=OPER(nom="COMB_FOURIER",op= 161,sd_prod=comb_fourier,
11948 reentrant='n',fr="Recombiner les modes de Fourier d'une SD Résultat dans des directions particulières",
11949 UIinfo={"groupes":("Post-traitements",)},
11950 RESULTAT =SIMP(statut='o',typ=(fourier_elas,fourier_ther),),
11951 ANGLE =SIMP(statut='o',typ='R',max='**'),
11952 NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=6,into=("DEPL","REAC_NODA",
11953 "SIEF_ELGA","EPSI_ELNO","SIGM_ELNO","TEMP","FLUX_ELNO"),),
11956 # ======================================================================
11957 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
11958 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
11959 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
11960 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
11961 # (AT YOUR OPTION) ANY LATER VERSION.
11963 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
11964 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
11965 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
11966 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
11968 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
11969 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
11970 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
11971 # ======================================================================
11972 # person_in_charge: nicolas.sellenet at edf.fr
11973 def comb_matr_asse_prod(COMB_R,COMB_C,CALC_AMOR_GENE,**args):
11975 type_mat = AsType(COMB_C[0]['MATR_ASSE'])
11976 if type_mat in (matr_asse_depl_c,matr_asse_depl_r) : return matr_asse_depl_c
11977 if type_mat in (matr_asse_gene_c,matr_asse_gene_r) : return matr_asse_gene_c
11978 if type_mat in (matr_asse_temp_c,matr_asse_temp_r) : return matr_asse_temp_c
11979 if type_mat in (matr_asse_pres_c,matr_asse_pres_r) : return matr_asse_pres_c
11980 elif COMB_R != None:
11981 type_mat = AsType(COMB_R[0]['MATR_ASSE'])
11982 if type_mat in (matr_asse_depl_c,matr_asse_depl_r) : return matr_asse_depl_r
11983 if type_mat in (matr_asse_temp_c,matr_asse_temp_r) : return matr_asse_temp_r
11984 if type_mat in (matr_asse_pres_c,matr_asse_pres_r) : return matr_asse_pres_r
11985 if type_mat in (matr_asse_gene_c,matr_asse_gene_r) : return matr_asse_gene_r
11986 elif CALC_AMOR_GENE != None: return matr_asse_gene_r
11987 raise AsException("type de concept resultat non prevu")
11989 COMB_MATR_ASSE=OPER(nom="COMB_MATR_ASSE",op= 31,sd_prod=comb_matr_asse_prod,
11990 fr="Effectuer la combinaison linéaire de matrices assemblées",
11992 UIinfo={"groupes":("Matrices et vecteurs",)},
11993 regles=(UN_PARMI('COMB_R','COMB_C','CALC_AMOR_GENE' ),),
11994 COMB_R =FACT(statut='f',max='**',
11995 PARTIE =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ),
11996 MATR_ASSE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_temp_c
11997 ,matr_asse_pres_r,matr_asse_pres_c,matr_asse_gene_r,matr_asse_gene_c ) ),
11998 COEF_R =SIMP(statut='o',typ='R' ),
12000 COMB_C =FACT(statut='f',max='**',
12001 regles=(UN_PARMI('COEF_R','COEF_C' ),),
12002 MATR_ASSE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_temp_c
12003 ,matr_asse_pres_r,matr_asse_pres_c,matr_asse_gene_r,matr_asse_gene_c ) ),
12004 COEF_R =SIMP(statut='f',typ='R' ),
12005 COEF_C =SIMP(statut='f',typ='C' ),
12007 CALC_AMOR_GENE =FACT(statut='f',
12008 RIGI_GENE = SIMP(statut='o', typ=matr_asse_gene_r),
12009 MASS_GENE = SIMP(statut='o', typ=matr_asse_gene_r),
12010 regles=(UN_PARMI('AMOR_REDUIT','LIST_AMOR' ),),
12011 AMOR_REDUIT = SIMP(statut='f',typ='R',max='**'),
12012 LIST_AMOR = SIMP(statut='f',typ=listr8_sdaster ),
12014 SANS_CMP =SIMP(statut='f',typ='TXM',into=("LAGR",) ),
12017 # ======================================================================
12018 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
12019 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12020 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12021 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
12022 # (AT YOUR OPTION) ANY LATER VERSION.
12024 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
12025 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
12026 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
12027 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
12029 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
12030 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
12031 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
12032 # ======================================================================
12033 # person_in_charge: sylvie.audebert at edf.fr
12034 COMB_SISM_MODAL=OPER(nom="COMB_SISM_MODAL",op= 109,sd_prod=mode_meca,
12035 fr="Réponse sismique par recombinaison modale par une méthode spectrale",
12037 UIinfo={"groupes":("Post-traitements","Dynamique",)},
12038 regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','FREQ','NUME_MODE','LIST_FREQ','LIST_ORDRE'),
12039 UN_PARMI('AMOR_REDUIT','LIST_AMOR','AMOR_GENE' ),
12040 UN_PARMI('MONO_APPUI','MULTI_APPUI' ),),
12041 MODE_MECA =SIMP(statut='o',typ=mode_meca ),
12042 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12043 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
12044 LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster ),
12045 NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
12046 FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
12047 LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ),
12048 b_freq =BLOC(condition = "FREQ != None or LIST_FREQ != None",
12049 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
12050 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
12052 MODE_CORR =SIMP(statut='f',typ=mode_meca ),
12053 FREQ_COUP = SIMP(statut='f',typ='R',min=1,max=1),
12055 AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'),
12056 LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ),
12057 AMOR_GENE =SIMP(statut='f',typ=matr_asse_gene_r ),
12059 MASS_INER =SIMP(statut='f',typ=table_sdaster ),
12060 CORR_FREQ =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
12062 EXCIT =FACT(statut='o',max='**',
12063 regles=(UN_PARMI('AXE','TRI_AXE','TRI_SPEC' ),),
12064 AXE =SIMP(statut='f',typ='R',max=3,fr="Excitation suivant un seul axe",),
12065 TRI_AXE =SIMP(statut='f',typ='R',max=3,fr="Excitation suivant les trois axes mais avec le meme spectre",),
12066 TRI_SPEC =SIMP(statut='f',typ='TXM',into=("OUI",),
12067 fr="Excitation suivant les trois axes avec trois spectres"),
12068 b_axe =BLOC(condition = "AXE != None",fr="Excitation suivant un seul axe",
12069 SPEC_OSCI =SIMP(statut='o',typ=(nappe_sdaster,formule),),
12070 ECHELLE =SIMP(statut='f',typ='R',),
12072 b_tri_axe =BLOC(condition = "TRI_AXE != None",fr="Excitation suivant les trois axes mais avec le meme spectre",
12073 SPEC_OSCI =SIMP(statut='o',typ=(nappe_sdaster,formule),),
12074 ECHELLE =SIMP(statut='f',typ='R',),
12076 b_tri_spec =BLOC(condition = "TRI_SPEC != None",fr="Excitation suivant les trois axes avec trois spectres",
12077 SPEC_OSCI =SIMP(statut='o',typ=(nappe_sdaster,formule),min=3,max=3 ),
12078 ECHELLE =SIMP(statut='f',typ='R',min=3,max=3),
12080 NATURE =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("ACCE","VITE","DEPL") ),
12081 b_mult_appui =BLOC(condition = "(MULTI_APPUI != None)",
12082 regles=(UN_PARMI('NOEUD','GROUP_NO' ),),
12083 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
12084 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),)
12086 MONO_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",),
12087 fr="excitation imposée unique" ),
12088 MULTI_APPUI =SIMP(statut='f',typ='TXM',position='global',into=("DECORRELE","CORRELE"),
12089 fr="excitation imposée unique" ),
12090 b_decorrele =BLOC(condition = "MULTI_APPUI == 'DECORRELE' ",
12091 GROUP_APPUI =FACT(statut='f',max='**',
12092 regles=(UN_PARMI('NOEUD','GROUP_NO' ),),
12093 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
12094 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),),
12097 b_correle =BLOC(condition = "MULTI_APPUI == 'CORRELE' ",
12098 COMB_MULT_APPUI =FACT(statut='f',max='**',
12099 regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO' ),),
12100 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12101 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
12102 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
12103 TYPE_COMBI =SIMP(statut='f',typ='TXM',into=("QUAD","LINE",) ),),
12106 COMB_MODE =FACT(statut='o',
12107 TYPE =SIMP(statut='o',typ='TXM',into=("SRSS","CQC","DSC","ABS","DPC","GUPTA") ),
12108 DUREE =SIMP(statut='f',typ='R' ),
12109 b_gupta =BLOC(condition = "TYPE == 'GUPTA' ",
12110 FREQ_1 =SIMP(statut='o',typ='R',),
12111 FREQ_2 =SIMP(statut='o',typ='R',),
12114 COMB_DIRECTION =FACT(statut='f',
12115 TYPE =SIMP(statut='f',typ='TXM',into=("QUAD","NEWMARK") ),
12117 COMB_DEPL_APPUI=FACT(statut='f',max='**',
12118 regles=(UN_PARMI('TOUT','LIST_CAS'),),
12119 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)),
12120 LIST_CAS =SIMP(statut='f',typ='I',max='**'),
12121 TYPE_COMBI =SIMP(statut='f',typ='TXM',into=("QUAD","LINE","ABS") ),
12123 DEPL_MULT_APPUI =FACT(statut='f',max='**',
12124 regles=(UN_PARMI('NOEUD','GROUP_NO'),
12125 AU_MOINS_UN('DX','DY','DZ' ),),
12126 NOM_CAS =SIMP(statut='o',typ='TXM',max='**'),
12127 NUME_CAS =SIMP(statut='o',typ='I',max='**'),
12128 MODE_STAT =SIMP(statut='o',typ=mode_meca, ),
12129 NOEUD_REFE =SIMP(statut='f',typ=no),
12130 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
12131 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
12132 DX =SIMP(statut='f',typ='R' ),
12133 DY =SIMP(statut='f',typ='R' ),
12134 DZ =SIMP(statut='f',typ='R' ),
12136 OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=9,
12137 into=("DEPL","VITE","ACCE_ABSOLU","SIGM_ELNO","SIEF_ELGA",
12138 "EFGE_ELNO","REAC_NODA","FORC_NODA",
12140 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
12141 IMPRESSION =FACT(statut='f',max='**',
12142 regles=(EXCLUS('TOUT','NIVEAU'),),
12143 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12144 NIVEAU =SIMP(statut='f',typ='TXM',into=("SPEC_OSCI","MASS_EFFE","MAXI_GENE"),validators=NoRepeat(),max=3 ),
12146 TITRE =SIMP(statut='f',typ='TXM',max='**'),
12149 # ======================================================================
12150 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
12151 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12152 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12153 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
12154 # (AT YOUR OPTION) ANY LATER VERSION.
12156 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
12157 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
12158 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
12159 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
12161 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
12162 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
12163 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
12164 # ======================================================================
12165 # person_in_charge: jacques.pellet at edf.fr
12167 def copier_prod(CONCEPT,**args):
12168 return AsType(CONCEPT)
12170 # liste des types de concept acceptes par la commande :
12185 COPIER=OPER(nom="COPIER",op= 185,sd_prod=copier_prod,reentrant='f',
12186 UIinfo={"groupes":("Gestion du travail",)},
12187 fr="Copier un concept utilisateur sous un autre nom",
12189 CONCEPT = SIMP(statut='o',typ=copier_ltyp,),
12190 INFO = SIMP(statut='f', typ='I', into=(1, 2), defaut=1, ),
12193 # ======================================================================
12194 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
12195 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12196 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12197 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
12198 # (AT YOUR OPTION) ANY LATER VERSION.
12200 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
12201 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
12202 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
12203 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
12205 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
12206 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
12207 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
12208 # ======================================================================
12209 # person_in_charge: jacques.pellet at edf.fr
12211 def crea_champ_prod(TYPE_CHAM,**args):
12212 if TYPE_CHAM[0:5] == "CART_" :
12213 return carte_sdaster
12214 elif TYPE_CHAM[0:5] == "NOEU_" :
12215 return cham_no_sdaster
12216 elif TYPE_CHAM[0:2] == "EL" :
12219 raise AsException("type de concept resultat_sdaster non prevu")
12222 CREA_CHAMP=OPER(nom="CREA_CHAMP",op= 195,sd_prod=crea_champ_prod,
12223 fr="Création d'un champ ",reentrant='f',
12224 UIinfo={"groupes":("Résultats et champs",)},
12226 # TYPE_CHAM doit etre de la forme : CART_xx, NOEU_xx, ELEM_xx, ELGA_xx ou ELNO_xx
12227 # ou xx est le nom d'une grandeur définie dans le catalogue des grandeurs
12228 TYPE_CHAM =SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO()),
12230 # SI CREATION D'UN CHAM_NO, POUR IMPOSER LA NUMEROTATION DES DDLS :
12231 # ------------------------------------------------------------------
12232 regles=(EXCLUS('NUME_DDL','CHAM_NO',)),
12233 NUME_DDL =SIMP(statut='f',typ=(nume_ddl_sdaster) ),
12234 CHAM_NO =SIMP(statut='f',typ=(cham_no_sdaster) ),
12237 # AUTORISE-T-ON LE PROLONGEMENT DU CHAMP PAR ZERO ?
12238 # ------------------------------------------------------------------
12239 # CE MOT CLE N'A DE SENS QUE DANS 2 CAS DE FIGURE :
12240 # - POUR LES CHAM_ELEM (AVEC LE MOT CLE MODELE)
12241 # - POUR LES CHAM_NO SI ON IMPOSE LEUR NUMEROTATION
12242 b_prol_zero =BLOC(condition = "NUME_DDL != None or CHAM_NO != None or (TYPE_CHAM != None and TYPE_CHAM[0:2] == 'EL')",
12243 PROL_ZERO =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",)),),
12246 # SI CREATION D'UN CHAM_ELEM, POUR POUVOIR AIDER A L'ALLOCATION DU CHAMP :
12247 # (PAR DEFAUT : TOU_INI_ELNO/_ELGA/_ELEM)
12248 # ------------------------------------------------------------------
12249 OPTION =SIMP(statut='f',typ='TXM',validators=NoRepeat(),),
12252 # Si creation d'un cham_elem avec sous-points, pour que tous les sous-points
12253 # soient affectes : on duplique la valeur sur tous les sous-points
12254 # ------------------------------------------------------------------
12255 AFFE_SP =FACT(statut='f',max=1,
12256 CARA_ELEM =SIMP(statut='o',typ=cara_elem,min=1,max=1),
12260 # LE MOT-CLE OPERATION EST OBLIGATOIRE. IL PERMET LE BON AIGUILLAGE.
12261 # ------------------------------------------------------------------
12262 OPERATION =SIMP(statut='o',typ='TXM',into=("AFFE","ASSE","EVAL","EXTR","DISC","NORMALE","R2C","C2R","COMB") ),
12264 # ------------------------------------------------------------------
12265 b_norm =BLOC(condition = "OPERATION == 'NORMALE'",
12266 regles=(AU_MOINS_UN('GROUP_MA','MAILLE',),),
12267 MODELE =SIMP(statut='o',typ=(modele_sdaster) ),
12268 GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
12269 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
12271 # ------------------------------------------------------------------
12272 b_affe =BLOC(condition = "OPERATION == 'AFFE'",
12273 regles=(UN_PARMI('MAILLAGE','MODELE'),),
12274 MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster) ),
12275 MODELE =SIMP(statut='f',typ=(modele_sdaster) ),
12276 AFFE =FACT(statut='o',max='**',
12277 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD',),
12278 UN_PARMI('VALE','VALE_I','VALE_C','VALE_F', ),),
12279 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12280 GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
12281 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
12282 GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
12283 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
12284 NOM_CMP =SIMP(statut='o',typ='TXM',max='**'),
12285 VALE =SIMP(statut='f',typ='R',max='**' ),
12286 VALE_I =SIMP(statut='f',typ='I',max='**' ),
12287 VALE_C =SIMP(statut='f',typ='C',max='**' ),
12288 VALE_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'),
12291 # ------------------------------------------------------------------
12292 b_asse =BLOC(condition = "OPERATION == 'ASSE'",
12293 regles=(UN_PARMI('MAILLAGE','MODELE'),),
12294 MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster) ),
12295 MODELE =SIMP(statut='f',typ=(modele_sdaster) ),
12296 ASSE =FACT(statut='o',max='**',
12297 regles=(AU_MOINS_UN('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD',),
12298 PRESENT_PRESENT('NOM_CMP_RESU','NOM_CMP', ),),
12299 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12300 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
12301 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
12302 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
12303 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
12304 CHAM_GD =SIMP(statut='o',typ=cham_gd_sdaster),
12305 NOM_CMP =SIMP(statut='f',typ='TXM',max='**' ),
12306 NOM_CMP_RESU =SIMP(statut='f',typ='TXM',max='**' ),
12307 CUMUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
12308 COEF_R =SIMP(statut='f',typ='R',defaut= 1. ),
12309 COEF_C =SIMP(statut='f',typ='C',max=1),
12312 # ------------------------------------------------------------------
12313 b_comb =BLOC(condition = "OPERATION == 'COMB'",
12314 fr="Pour faire une combinaison linéaire de cham_no ayant meme profil",
12315 COMB =FACT(statut='o',max='**',
12316 CHAM_GD =SIMP(statut='o',typ=cham_no_sdaster),
12317 COEF_R =SIMP(statut='o',typ='R'),
12320 # ------------------------------------------------------------------
12321 b_eval =BLOC(condition = "OPERATION == 'EVAL'",
12322 CHAM_F =SIMP(statut='o',typ=cham_gd_sdaster),
12323 CHAM_PARA =SIMP(statut='o',typ=cham_gd_sdaster,max='**'),
12325 # ------------------------------------------------------------------
12326 b_r2c =BLOC(condition = "OPERATION == 'R2C'",
12327 CHAM_GD =SIMP(statut='o',typ=cham_gd_sdaster),
12329 # ------------------------------------------------------------------
12330 b_c2r =BLOC(condition = "OPERATION == 'C2R'",
12331 CHAM_GD =SIMP(statut='o',typ=cham_gd_sdaster),
12332 PARTIE =SIMP(statut='o',typ='TXM',into=('REEL','IMAG','MODULE','PHASE'),),
12334 # ------------------------------------------------------------------
12335 b_disc =BLOC(condition = "OPERATION == 'DISC'",
12336 MODELE =SIMP(statut='f',typ=(modele_sdaster) ),
12337 CHAM_GD =SIMP(statut='o',typ=cham_gd_sdaster),
12339 # ------------------------------------------------------------------
12340 b_extr =BLOC(condition = "OPERATION == 'EXTR'",
12341 regles=(AU_MOINS_UN('MAILLAGE','FISSURE','RESULTAT','TABLE','CARA_ELEM','CHARGE'),
12342 PRESENT_ABSENT('MAILLAGE','FISSURE','RESULTAT','CARA_ELEM','CHARGE'),
12343 PRESENT_ABSENT('FISSURE','MAILLAGE','RESULTAT','TABLE','CARA_ELEM','CHARGE'),
12344 PRESENT_ABSENT('RESULTAT','FISSURE','MAILLAGE','TABLE','CARA_ELEM','CHARGE'),
12345 PRESENT_ABSENT('TABLE','RESULTAT','FISSURE','CARA_ELEM','CHARGE'),
12346 PRESENT_ABSENT('CARA_ELEM','MAILLAGE','TABLE','RESULTAT','FISSURE','CHARGE'),
12347 PRESENT_ABSENT('CHARGE','MAILLAGE','TABLE','RESULTAT','FISSURE','CARA_ELEM'),
12349 MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster) ),
12350 FISSURE =SIMP(statut='f',typ=(fiss_xfem) ),
12351 RESULTAT =SIMP(statut='f',typ=(resultat_sdaster) ),
12352 TABLE =SIMP(statut='f',typ=(table_sdaster),min=1,max=1),
12353 CARA_ELEM =SIMP(statut='f',typ=(cara_elem),min=1,max=1),
12354 CHARGE =SIMP(statut='f',typ=(char_meca),min=1,max=1),
12355 b_extr_maillage =BLOC(condition = "MAILLAGE != None and TABLE == None",
12356 NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=("GEOMETRIE",)),
12359 b_extr_cara_elem =BLOC(condition = "CARA_ELEM != None",
12360 NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),
12361 into=('.CARGENBA', '.CARMASSI', '.CARCABLE', '.CARCOQUE', '.CARGEOBA', '.CARDISCK',
12362 '.CARARCPO', '.CARGENPO', '.CARDISCM', '.CARORIEN', '.CARDISCA', '.CVENTCXF',
12363 '.CARPOUFL', '.CARGEOPO', '.CARDNSCK', '.CARDNSCM', '.CARDNSCA', '.CARDINFO',
12364 '.CAFIBR', '.CANBSP',)),
12367 b_extr_charge =BLOC(condition = "CHARGE != None",
12368 NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),
12369 into=('.CHME.EPSIN', '.CHME.F1D1D', '.CHME.F1D2D', '.CHME.F1D3D', '.CHME.F2D2D',
12370 '.CHME.F2D3D', '.CHME.F3D3D', '.CHME.FCO2D', '.CHME.FCO3D', '.CHME.FELEC',
12371 '.CHME.FL101', '.CHME.FL102', '.CHME.FLUX', '.CHME.FORNO', '.CHME.IMPE',
12372 '.CHME.ONDE', '.CHME.ONDPL', '.CHME.ONDPR', '.CHME.PESAN', '.CHME.PRESS',
12373 '.CHME.ROTAT', '.CHME.SIGIN', '.CHME.SIINT', '.CHME.VNOR',)),
12376 b_extr_fissure = BLOC(condition = "FISSURE != None",
12377 NOM_CHAM=SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=("LTNO","LNNO",
12378 "GRLTNO","GRLNNO","STNO","STNOR","BASLOC","GRI.LNNO","GRI.LTNO","GRI.GRLNNO","GRI.GRLTNO")),
12382 b_extr_table =BLOC(condition = "TABLE != None",
12383 MODELE =SIMP(statut='f',typ=(modele_sdaster),),
12385 b_extr_resultat =BLOC(condition = "RESULTAT != None",
12386 NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()),
12387 TYPE_MAXI =SIMP(statut='f',typ='TXM',into=("MAXI","MINI","MAXI_ABS","MINI_ABS","NORM_TRAN",) ),
12389 # si TYPE_MAXI, on spécifie en général plusieurs numéros d'ordre :
12390 b_type_maxi =BLOC(condition = "TYPE_MAXI != None",
12391 TYPE_RESU =SIMP(statut='o',typ='TXM',defaut="VALE",into=("VALE","INST",) ),
12393 regles=(EXCLUS('TOUT_ORDRE','LIST_INST','LIST_FREQ','NUME_ORDRE','INST',
12394 'FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGLE'),),
12395 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12396 LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ),
12397 LIST_FREQ =SIMP(statut='f',typ=(listr8_sdaster) ),
12398 NUME_ORDRE =SIMP(statut='f',typ='I',max='**'),
12399 INST =SIMP(statut='f',typ='R',max='**'),
12400 FREQ =SIMP(statut='f',typ='R',max='**'),
12401 NUME_MODE =SIMP(statut='f',typ='I',max='**'),
12402 NOEUD_CMP =SIMP(statut='f',typ='TXM',max='**'),
12403 NOM_CAS =SIMP(statut='f',typ='TXM',max='**'),
12404 ANGLE =SIMP(statut='f',typ='R',max='**'),
12407 # si .not. TYPE_MAXI, on ne doit spécifier qu'un seul numéro d'ordre :
12408 b_non_type_maxi =BLOC(condition = "TYPE_MAXI == None",
12409 regles=(EXCLUS('NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGLE'),),
12410 NUME_ORDRE =SIMP(statut='f',typ='I'),
12411 INST =SIMP(statut='f',typ='R'),
12412 FREQ =SIMP(statut='f',typ='R'),
12413 NUME_MODE =SIMP(statut='f',typ='I'),
12414 NOEUD_CMP =SIMP(statut='f',typ='TXM',max=2),
12415 NOM_CAS =SIMP(statut='f',typ='TXM'),
12416 ANGLE =SIMP(statut='f',typ='R'),
12418 INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN",) ),
12421 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
12422 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
12423 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
12424 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
12425 PRECISION =SIMP(statut='o',typ='R',),),
12427 ), # fin bloc b_extr
12431 # FIN DU CATALOGUE : INFO,TITRE ET TYPAGE DU RESULTAT :
12432 #-----------------------------------------------------
12433 INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ),
12434 TITRE =SIMP(statut='f',typ='TXM',max='**' ),
12437 # ======================================================================
12438 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
12439 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12440 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12441 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
12442 # (AT YOUR OPTION) ANY LATER VERSION.
12444 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
12445 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
12446 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
12447 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
12449 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
12450 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
12451 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
12452 # ======================================================================
12453 # person_in_charge: harinaivo.andriambololona at edf.fr
12455 def crea_elem_ssd_prod(self,NUME_DDL,**args):
12457 self.type_sdprod(NUME_DDL,nume_ddl_sdaster)
12458 return macr_elem_dyna
12460 CREA_ELEM_SSD=MACRO(nom="CREA_ELEM_SSD",
12461 op=OPS('Macro.crea_elem_ssd_ops.crea_elem_ssd_ops'),
12462 sd_prod=crea_elem_ssd_prod,
12464 fr="Creation de macro-element dynamique en enchainant les commandes : "\
12465 "CALC_MATR_ELEM, NUME_DDL, ASSE_MATRICE, MODE_ITER_SIMULT, "\
12466 "DEFI_INTERF_DYNA, DEFI_BASE_MODALE et MACR_ELEM_DYNA",
12467 UIinfo={"groupes":("Matrices/vecteurs",)},
12469 # pour CAL_MATR_ELEM + NUME_DDL + ASSE_MATRICE + MODE_ITER_SIMULT + MODE_STATIQUE
12470 MODELE =SIMP(statut='o',typ=modele_sdaster),
12471 CHAM_MATER =SIMP(statut='o',typ=cham_mater),
12472 CARA_ELEM =SIMP(statut='f',typ=cara_elem),
12473 NUME_DDL =SIMP(statut='f',typ=CO,defaut=None),
12474 CHARGE =SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**'),
12476 # pour DEFI_INTERF_DYNA
12477 INTERFACE =FACT(statut='o',max='**',
12478 regles=(ENSEMBLE('NOM','TYPE'),
12479 UN_PARMI('NOEUD','GROUP_NO'),),
12480 NOM =SIMP(statut='f',typ='TXM' ),
12481 TYPE =SIMP(statut='f',typ='TXM',into=("MNEAL","CRAIGB","CB_HARMO",) ),
12482 NOEUD =SIMP(statut='f',typ=no,max='**'),
12483 GROUP_NO =SIMP(statut='f',typ=grno,max='**'),
12484 FREQ =SIMP(statut='f',typ='R',defaut= 1.),
12487 # pour DEFI_BASE_MODALE
12488 BASE_MODALE = FACT(statut='o',max = 1,
12489 TYPE =SIMP(statut='o',typ='TXM',max=1,into=('CLASSIQUE','RITZ',),),
12490 b_ritz = BLOC(condition = "TYPE == 'RITZ' ",fr="Base de type Ritz",
12491 TYPE_MODE = SIMP(statut='f',typ='TXM',into=('STATIQUE','INTERFACE',),defaut='INTERFACE',),
12492 b_intf = BLOC(condition = "TYPE_MODE == 'INTERFACE' ",
12493 NMAX_MODE_INTF =SIMP(statut='f',typ='I',defaut=10,val_min=1),),
12497 INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
12499 #-------------------------------------------------------------------
12500 # Catalogue commun SOLVEUR (pour MODE_ITER_SIMULT, MODE_STATIQUE, DEFI_BASE_MODALE)
12501 SOLVEUR =C_SOLVEUR('CREA_ELEM_SSD'),
12502 #-------------------------------------------------------------------
12504 # pour le calcul modal
12505 CALC_FREQ =FACT(statut='d',min=0,
12506 STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
12507 OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE","SANS"),
12508 fr="Choix de l option et par consequent du shift du probleme modal" ),
12509 b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres",
12510 NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
12512 b_centre =BLOC(condition = "OPTION == 'CENTRE'",
12513 fr="Recherche des valeurs propres les plus proches d une valeur donnee",
12514 FREQ =SIMP(statut='o',typ='R',
12515 fr="Frequence autour de laquelle on cherche les frequences propres"),
12516 AMOR_REDUIT =SIMP(statut='f',typ='R',),
12517 NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
12519 b_bande =BLOC(condition = "(OPTION == 'BANDE')",
12520 fr="Recherche des valeurs propres dans une bande donnee",
12521 NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 9999,val_min=0 ),
12522 FREQ =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max='**',
12523 fr="Valeurs des frequences delimitant les bandes de recherche"),
12525 APPROCHE =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG","COMPLEXE"),
12526 fr="Choix du pseudo-produit scalaire pour la resolution du probleme quadratique" ),
12527 DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ),
12533 # ======================================================================
12534 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
12535 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12536 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12537 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
12538 # (AT YOUR OPTION) ANY LATER VERSION.
12540 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
12541 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
12542 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
12543 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
12545 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
12546 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
12547 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
12548 # ======================================================================
12549 # person_in_charge: jacques.pellet at edf.fr
12550 CREA_MAILLAGE=OPER(nom="CREA_MAILLAGE",op= 167,sd_prod=maillage_sdaster,
12551 reentrant='n',fr="Crée un maillage à partir d'un maillage existant",
12552 UIinfo={"groupes":("Maillage",)},
12553 regles=(UN_PARMI('COQU_VOLU', 'CREA_FISS', 'CREA_GROUP_MA', 'CREA_MAILLE', 'CREA_POI1',
12554 'DETR_GROUP_MA', 'ECLA_PG', 'HEXA20_27', 'LINE_QUAD', 'MODI_MAILLE',
12555 'QUAD_LINE', 'REPERE','RESTREINT','PENTA15_18','GEOM_FIBRE'),),
12559 # le MAILLAGE est inutile si ECLA_PG et GEOM_FIBRE
12560 MAILLAGE =SIMP(statut='f',typ=maillage_sdaster ),
12561 GEOM_FIBRE = SIMP(statut='f',max=1,typ=gfibre_sdaster),
12563 CREA_POI1 =FACT(statut='f',max='**',fr="Création de mailles de type POI1 à partir de noeuds",
12564 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD' ),),
12565 NOM_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
12566 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12567 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
12568 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
12569 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
12570 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
12572 CREA_MAILLE =FACT(statut='f',max='**',fr="Duplication de mailles",
12573 regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA'),),
12574 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12575 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
12576 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
12577 PREF_MAILLE =SIMP(statut='o',typ='TXM' ),
12578 PREF_NUME =SIMP(statut='f',typ='I' ),
12580 CREA_GROUP_MA =FACT(statut='f',max='**',fr="Duplication de mailles et création de groupes de mailles",
12581 regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),),
12582 NOM =SIMP(statut='o',typ='TXM'),
12583 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12584 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
12585 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
12586 PREF_MAILLE =SIMP(statut='o',typ='TXM' ),
12587 PREF_NUME =SIMP(statut='f',typ='I' ),
12589 DETR_GROUP_MA =FACT(statut='f',fr="Destruction de groupes de mailles",
12590 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
12591 NB_MAILLE =SIMP(statut='f',typ='I',defaut= 0,
12592 fr="Nombre minimal de mailles que doit contenir le groupe pour etre détruit", ),
12594 RESTREINT =FACT(statut='f',fr="Restreindre un maillage à des groupes de mailles",max=1,
12595 regles=(AU_MOINS_UN('GROUP_MA','MAILLE',),),
12596 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
12597 MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
12598 TOUT_GROUP_MA =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON'),),
12599 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
12600 TOUT_GROUP_NO =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON'),),
12602 COQU_VOLU =FACT(statut='f',
12603 fr="Creation de mailles volumiques à partir de mailles surfaciques",
12604 NOM =SIMP(statut='o',typ='TXM'),
12605 GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max ='**'),
12606 EPAIS =SIMP(statut='o',typ='R' ),
12607 PREF_MAILLE =SIMP(statut='f',typ='TXM',defaut="MS" ),
12608 PREF_NOEUD =SIMP(statut='f',typ='TXM',defaut="NS" ),
12609 PREF_NUME =SIMP(statut='f',typ='I' ,defaut=1 ),
12610 PLAN =SIMP(statut='o',typ='TXM',into=("SUP","MOY","INF")),
12611 b_MOY =BLOC(condition = "PLAN == 'MOY'",
12612 TRANSLATION =SIMP(statut='o',typ='TXM',into=("SUP","INF") ),
12615 MODI_MAILLE =FACT(statut='f',max='**',fr="Modification du type de mailles",
12616 regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),),
12617 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12618 MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
12619 GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
12620 OPTION =SIMP(statut='o',typ='TXM',into=("TRIA6_7","QUAD8_9","SEG3_4","QUAD_TRIA3"),validators=NoRepeat(),
12621 fr="Choix de la transformation" ),
12622 b_NOS =BLOC(condition = "OPTION == 'TRIA6_7' or OPTION == 'QUAD8_9' or OPTION == 'SEG3_4'",
12623 PREF_NOEUD =SIMP(statut='f',typ='TXM',defaut="NS"),
12624 PREF_NUME =SIMP(statut='f',typ='I',defaut= 1 ),
12626 b_QTR =BLOC(condition = "OPTION == 'QUAD_TRIA3'",
12627 PREF_MAILLE =SIMP(statut='f',typ='TXM',defaut="MS" ),
12628 PREF_NUME =SIMP(statut='f',typ='I',defaut= 1 ),
12631 CREA_FISS = FACT(statut='f',max='**',fr="Creation d'une fissure potentielle avec elts de joint ou elts à disc",
12632 NOM =SIMP(statut='o',typ='TXM'),
12633 GROUP_NO_1 =SIMP(statut='o',typ=grno),
12634 GROUP_NO_2 =SIMP(statut='o',typ=grno),
12635 PREF_MAILLE =SIMP(statut='o',typ='TXM'),
12636 PREF_NUME =SIMP(statut='f',typ='I',defaut=1 ),
12638 LINE_QUAD =FACT(statut='f',fr="Passage linéaire -> quadratique",
12639 regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),),
12640 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12641 MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
12642 GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
12643 PREF_NOEUD =SIMP(statut='f',typ='TXM',defaut="NS"),
12644 PREF_NUME =SIMP(statut='f',typ='I',defaut= 1 ),
12646 HEXA20_27 =FACT(statut='f',fr="Passage HEXA20 -> HEXA27",
12647 regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),),
12648 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12649 MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
12650 GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
12651 PREF_NOEUD =SIMP(statut='f',typ='TXM',defaut="NS"),
12652 PREF_NUME =SIMP(statut='f',typ='I',defaut= 1 ),
12654 PENTA15_18 =FACT(statut='f',fr="Passage PENTA15 -> PENTA18",
12655 regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),),
12656 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12657 MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
12658 GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
12659 PREF_NOEUD =SIMP(statut='f',typ='TXM',defaut="NS"),
12660 PREF_NUME =SIMP(statut='f',typ='I',defaut= 1 ),
12662 QUAD_LINE =FACT(statut='f',fr="Passage quadratique -> linéaire",
12663 regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),),
12664 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12665 MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
12666 GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
12668 REPERE =FACT(statut='f',max='**',
12669 fr="changement de repère servant à déterminer les caractéristiques d'une section de poutre",
12670 TABLE =SIMP(statut='o',typ=table_sdaster,
12671 fr="Nom de la table contenant les caractéristiques de la section de poutre" ),
12672 NOM_ORIG =SIMP(statut='f',typ='TXM',into=("CDG","TORSION"),fr="Origine du nouveau repère" ),
12673 NOM_ROTA =SIMP(statut='f',typ='TXM',into=("INERTIE",),fr="Direction du repére" ),
12674 b_cdg =BLOC(condition = "NOM_ORIG == 'CDG'",
12675 GROUP_MA =SIMP(statut='f',typ=grma,
12676 fr="Nom du groupe de mailles dont le centre de gravité sera l origine du nouveau repère"),
12679 ECLA_PG =FACT(statut='f',
12680 fr="Eclatement des mailles en petites mailles contenant chacune un seul point de gauss",
12681 MODELE =SIMP(statut='o',typ=modele_sdaster ),
12682 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12683 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
12684 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
12685 SHRINK =SIMP(statut='f',typ='R',defaut= 0.9, fr="Facteur de réduction" ),
12686 TAILLE_MIN =SIMP(statut='f',typ='R',defaut= 0.0, fr="Taille minimale d'un coté" ),
12687 NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO('ELGA'),),
12689 TITRE =SIMP(statut='f',typ='TXM',max='**'),
12691 INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
12694 # ======================================================================
12695 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
12696 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12697 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12698 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
12699 # (AT YOUR OPTION) ANY LATER VERSION.
12701 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
12702 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
12703 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
12704 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
12706 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
12707 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
12708 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
12709 # ======================================================================
12710 # person_in_charge: j-pierre.lefebvre at edf.fr
12711 def crea_resu_prod(TYPE_RESU,**args):
12712 if TYPE_RESU == "EVOL_ELAS" : return evol_elas
12713 if TYPE_RESU == "EVOL_NOLI" : return evol_noli
12714 if TYPE_RESU == "EVOL_THER" : return evol_ther
12715 if TYPE_RESU == "MULT_ELAS" : return mult_elas
12716 if TYPE_RESU == "MODE_MECA" : return mode_meca
12717 if TYPE_RESU == "DYNA_TRANS" : return dyna_trans
12718 if TYPE_RESU == "DYNA_HARMO" : return dyna_harmo
12719 if TYPE_RESU == "FOURIER_ELAS" : return fourier_elas
12720 if TYPE_RESU == "FOURIER_THER" : return fourier_ther
12721 if TYPE_RESU == "EVOL_VARC" : return evol_varc
12722 if TYPE_RESU == "EVOL_CHAR" : return evol_char
12723 raise AsException("type de concept resultat non prevu")
12725 CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,reentrant='f',
12726 UIinfo={"groupes":("Resultats et champs",)},
12727 fr="Creer ou enrichir une structure de donnees resultat a partir de champs aux noeuds",
12729 OPERATION =SIMP(statut='o',typ='TXM',into=("AFFE","ASSE","ECLA_PG","PERM_CHAM","PROL_RTZ","PREP_VRC1","PREP_VRC2",),
12730 fr="choix de la fonction a activer",),
12732 TYPE_RESU =SIMP(statut='o',position='global',typ='TXM',
12735 "MODE_MECA","MULT_ELAS","EVOL_ELAS","EVOL_NOLI","DYNA_HARMO","DYNA_TRANS",
12736 "FOURIER_ELAS","EVOL_THER","EVOL_VARC","EVOL_CHAR","FOURIER_THER"
12739 # pour bloc ECLA_PG
12740 # "EVOL_ELAS","EVOL_NOLI","EVOL_THER"
12741 # pour bloc PERM_CHAM
12743 # pour bloc PROL_RTZ
12745 # pour bloc PREP_VRC1
12747 # pour bloc PREP_VRC2
12753 # Creation par affectation de champs :
12754 #-------------------------------------
12755 b_affe =BLOC(condition = "OPERATION == 'AFFE'",
12757 b_type_resu =BLOC(condition = "TYPE_RESU == 'EVOL_CHAR'",
12758 NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=("PRES",
12759 "FSUR_2D","FSUR_3D","FVOL_2D","FVOL_3D","VITE_VENT")),
12762 b_evol_char =BLOC(condition = "TYPE_RESU != 'EVOL_CHAR'",
12763 NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()),
12766 b_mode =BLOC(condition = "au_moins_un(TYPE_RESU, ('MODE_MECA', 'DYNA_HARMO', 'DYNA_TRANS'))",
12767 MATR_RIGI =SIMP(statut='f',typ=matr_asse_depl_r,),
12768 MATR_MASS =SIMP(statut='f',typ=matr_asse_depl_r,),
12771 # pour ajouter un comportement dans la SD
12773 COMPORTEMENT =C_COMPORTEMENT(),
12775 # pour ajouter une charge dans la SD
12777 b_evol_elas = BLOC(condition="TYPE_RESU=='EVOL_ELAS'",
12778 EXCIT =FACT(statut='f',max='**',
12779 CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
12780 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12781 TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),),
12784 b_evol_ther = BLOC(condition="TYPE_RESU=='EVOL_THER'",
12785 EXCIT =FACT(statut='f',max='**',
12786 CHARGE =SIMP(statut='o',typ=(char_ther,char_cine_ther)),
12787 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),),
12790 b_evol_noli = BLOC(condition="TYPE_RESU=='EVOL_NOLI'",
12791 EXCIT =FACT(statut='f',max='**',
12792 CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
12793 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12794 TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
12795 into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")),
12796 DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12797 ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12798 VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
12799 MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
12800 DIRECTION =SIMP(statut='f',typ='R',max='**'),
12801 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
12802 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),),
12806 AFFE =FACT(statut='o',max='**',
12807 CHAM_GD =SIMP(statut='o',typ=(cham_gd_sdaster)),
12808 MODELE =SIMP(statut='f',typ=modele_sdaster),
12809 CHAM_MATER =SIMP(statut='f',typ=cham_mater),
12810 CARA_ELEM =SIMP(statut='f',typ=cara_elem),
12813 b_mult_elas =BLOC(condition = "TYPE_RESU == 'MULT_ELAS' ",
12814 NOM_CAS =SIMP(statut='f',typ='TXM' ),
12815 CHARGE =SIMP(statut='f',typ=(char_meca),max='**'),
12817 b_evol =BLOC(condition = "au_moins_un(TYPE_RESU, ('EVOL_ELAS', 'EVOL_NOLI', \
12818 'EVOL_THER', 'EVOL_VARC', 'EVOL_CHAR', 'DYNA_TRANS'))",
12819 regles=(UN_PARMI('INST','LIST_INST'),),
12820 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
12821 LIST_INST =SIMP(statut='f',typ=listr8_sdaster),
12822 NUME_INIT =SIMP(statut='f',typ='I', val_min=1),
12823 NUME_FIN =SIMP(statut='f',typ='I', val_min=1),
12824 PRECISION =SIMP(statut='f',typ='R',defaut= 0.0 ),
12825 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
12827 b_fourier_elas =BLOC(condition = "(TYPE_RESU == 'FOURIER_ELAS') ",
12828 NUME_MODE =SIMP(statut='f',typ='I'),
12829 TYPE_MODE =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ),
12830 CHARGE =SIMP(statut='f',typ=(char_meca),max='**'),
12832 b_fourier_ther =BLOC(condition = "(TYPE_RESU == 'FOURIER_THER') ",
12833 NUME_MODE =SIMP(statut='f',typ='I'),
12834 TYPE_MODE =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ),
12836 b_mode =BLOC(condition = "TYPE_RESU == 'MODE_MECA'",
12837 NUME_MODE =SIMP(statut='f',typ='I'),
12838 FREQ =SIMP(statut='f',typ='R'),
12840 b_dyna_harmo =BLOC(condition = "TYPE_RESU == 'DYNA_HARMO'",
12841 regles=(UN_PARMI('FREQ','LIST_FREQ',),),
12842 FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
12843 LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster),
12844 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
12845 PRECISION =SIMP(statut='f',typ='R',defaut=0.0),
12851 # Creation par assemblage d'evol_ther :
12852 #-----------------------------------------
12853 b_asse =BLOC(condition = "OPERATION == 'ASSE'",
12854 ASSE =FACT(statut='o',max='**',
12855 RESULTAT =SIMP(statut='o',typ=evol_ther),
12856 TRANSLATION =SIMP(statut='f',typ='R',defaut= 0. ),
12861 b_ecla_pg =BLOC(condition = "OPERATION == 'ECLA_PG'",
12863 ECLA_PG =FACT(statut='o',
12864 regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),),
12865 NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO('ELGA'),),
12866 MODELE_INIT =SIMP(statut='o',typ=modele_sdaster),
12867 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12868 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
12869 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
12870 RESU_INIT =SIMP(statut='o',typ=resultat_sdaster),
12871 MAILLAGE =SIMP(statut='o',typ=maillage_sdaster),
12872 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12873 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
12874 LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster),
12875 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
12876 LIST_INST =SIMP(statut='f',typ=listr8_sdaster),
12877 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
12878 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
12879 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
12880 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
12881 PRECISION =SIMP(statut='o',typ='R',),),
12886 b_perm_cham =BLOC(condition = "OPERATION == 'PERM_CHAM'",
12888 NOM_CHAM =SIMP(statut='f',typ='TXM',into=("DEPL","SIEF_ELGA","VARI_ELGA","STRX_ELGA"),
12889 validators=NoRepeat(),max='**'),
12890 RESU_INIT =SIMP(statut='o',typ=evol_noli),
12891 INST_INIT =SIMP(statut='f',typ='R'),
12892 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
12893 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
12894 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
12895 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
12896 PRECISION =SIMP(statut='o',typ='R',),),
12897 MAILLAGE_INIT =SIMP(statut='o',typ=maillage_sdaster,),
12898 RESU_FINAL =SIMP(statut='o',typ=evol_noli,),
12899 MAILLAGE_FINAL =SIMP(statut='o',typ=maillage_sdaster,),
12900 PERM_CHAM =FACT(statut='o',max='**',
12901 GROUP_MA_FINAL =SIMP(statut='o',typ=grma),
12902 GROUP_MA_INIT =SIMP(statut='o',typ=grma),
12903 TRAN =SIMP(statut='o',typ='R',min=3,max=3),
12904 PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3),
12908 b_prol_rtz =BLOC(condition = "OPERATION == 'PROL_RTZ'",
12910 PROL_RTZ =FACT(statut='o',
12911 regles=(EXCLUS('INST','LIST_INST'),),
12912 MAILLAGE_FINAL =SIMP(statut='o',typ=maillage_sdaster,),
12913 TABLE =SIMP(statut='o',typ=table_sdaster,fr="Table issue de post_releve_t"),
12914 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
12915 LIST_INST =SIMP(statut='f',typ=listr8_sdaster),
12916 b_acce_reel =BLOC(condition="(INST != None)or(LIST_INST != None)",
12917 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
12918 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
12919 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
12920 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
12921 PRECISION =SIMP(statut='o',typ='R',),),
12923 PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU",),),
12924 PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU",),),
12925 REPERE =SIMP(statut='o',typ='TXM',into=("CYLINDRIQUE",),),
12926 ORIGINE =SIMP(statut='o',typ='R',min=3,max=3),
12927 AXE_Z =SIMP(statut='o',typ='R',min=3,max=3),
12931 b_prep_vrc1 =BLOC(condition = "OPERATION == 'PREP_VRC1'",
12932 # calculer la temperature dans les couches des coques multicouche a partir d'un champ de fonctions
12933 # de fonctions du temps et de l'espace (epaisseur)
12935 PREP_VRC1 =FACT(statut='o',max=1,
12936 CHAM_GD =SIMP(statut='o',typ=(cham_gd_sdaster)), # carte de fonctions du temps et de l'epaisseur
12937 MODELE =SIMP(statut='o',typ=modele_sdaster), # modele mecanique contenant les coques multicouche
12938 CARA_ELEM =SIMP(statut='o',typ=cara_elem), # CARA_ELEM pour connaitre EPAIS et COQU_NCOU
12939 INST =SIMP(statut='o',typ='R',validators=NoRepeat(),max='**'),
12943 b_prep_vrc2 =BLOC(condition = "OPERATION == 'PREP_VRC2'",
12944 # calculer la temperature dans les couches des coques multicouche a partir d'un evol_ther "coque"
12945 # contenant TEMP_MIL/TEMP_INF/TEMP_SUP
12947 PREP_VRC2 =FACT(statut='o',max=1,
12948 EVOL_THER =SIMP(statut='o',typ=(evol_ther)), # evol_ther de type "coque" (TEMP_MIL/TEMP_INF/TEMP_SUP)
12949 MODELE =SIMP(statut='o',typ=modele_sdaster), # modele mecanique contenant les coques multicouche
12950 CARA_ELEM =SIMP(statut='o',typ=cara_elem), # CARA_ELEM pour connaitre EPAIS et COQU_NCOU
12952 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
12953 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
12954 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
12960 # ======================================================================
12961 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
12962 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
12963 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
12964 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
12965 # (AT YOUR OPTION) ANY LATER VERSION.
12967 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
12968 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
12969 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
12970 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
12972 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
12973 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
12974 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
12975 # ======================================================================
12976 # person_in_charge: mathieu.courtois at edf.fr
12978 def crea_table_prod(TYPE_TABLE, **args):
12979 """Typage du concept résultat
12981 if TYPE_TABLE == 'TABLE_FONCTION':
12982 return table_fonction
12983 elif TYPE_TABLE == 'TABLE_CONTENEUR':
12984 return table_container
12986 return table_sdaster
12988 CREA_TABLE=OPER(nom="CREA_TABLE",op=36,sd_prod=crea_table_prod,
12989 fr="Création d'une table à partir d'une fonction ou de deux listes",
12991 UIinfo={"groupes":("Tables",)},
12993 regles=(EXCLUS('FONCTION','LISTE','RESU'),),
12995 LISTE=FACT(statut='f',max='**',
12996 fr="Creation d'une table a partir de listes",
12997 regles=(UN_PARMI('LISTE_I','LISTE_R','LISTE_K')),
12998 PARA =SIMP(statut='o',typ='TXM'),
12999 TYPE_K =SIMP(statut='f',typ='TXM',defaut='K8',
13000 into=('K8','K16','K24')),
13001 NUME_LIGN=SIMP(statut='f',typ='I',max='**'),
13002 LISTE_I =SIMP(statut='f',typ='I',max='**'),
13003 LISTE_R =SIMP(statut='f',typ='R',max='**'),
13004 LISTE_K =SIMP(statut='f',typ='TXM', max='**'),
13006 FONCTION=FACT(statut='f',
13007 fr="Creation d'une table a partir d'une fonction",
13008 FONCTION=SIMP(statut='o',typ=(fonction_c,fonction_sdaster)),
13009 PARA=SIMP(statut='f',typ='TXM',min=2,max=2),
13011 RESU=FACT(statut='f',max=1,
13012 fr="Creation d'une table a partir d'un resultat ou d'un champ",
13013 regles=(UN_PARMI('CHAM_GD','RESULTAT'),
13014 UN_PARMI('TOUT_CMP','NOM_CMP'),
13015 PRESENT_ABSENT('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD',),
13016 AU_MOINS_UN('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD',),
13018 CHAM_GD =SIMP(statut='f',typ=cham_gd_sdaster),
13019 RESULTAT =SIMP(statut='f',typ=(resultat_sdaster) ),
13020 b_resultat =BLOC(condition = "RESULTAT != None",
13021 regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST',
13022 'MODE','LIST_MODE','FREQ','LIST_FREQ'),),
13023 NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()),
13024 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
13025 NUME_ORDRE =SIMP(statut='f',typ='I',max='**'),
13026 LIST_ORDRE =SIMP(statut='f',typ=(listis_sdaster) ),
13027 INST =SIMP(statut='f',typ='R',max='**'),
13028 LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ),
13029 MODE =SIMP(statut='f',typ='I',max='**'),
13030 LIST_MODE =SIMP(statut='f',typ=(listis_sdaster) ),
13031 FREQ =SIMP(statut='f',typ='R',max='**'),
13032 LIST_FREQ =SIMP(statut='f',typ=(listr8_sdaster) ),
13033 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
13034 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
13035 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
13036 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
13037 PRECISION =SIMP(statut='o',typ='R',),),
13039 b_cham_gd =BLOC(condition = "CHAM_GD != None",
13040 CARA_ELEM =SIMP(statut='f',typ=cara_elem),),
13041 TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",) ),
13042 NOM_CMP =SIMP(statut='f',typ='TXM',max='**'),
13043 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
13044 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
13045 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
13046 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
13047 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
13050 TYPE_TABLE = SIMP(statut='f', typ='TXM', defaut="TABLE",
13051 into=('TABLE', 'TABLE_FONCTION', 'TABLE_CONTENEUR'),),
13053 TITRE=SIMP(statut='f',typ='TXM',max='**'),
13056 # ======================================================================
13057 # COPYRIGHT (C) 1991 - 2007 EDF R&D WWW.CODE-ASTER.ORG
13058 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13059 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13060 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
13061 # (AT YOUR OPTION) ANY LATER VERSION.
13063 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
13064 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
13065 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
13066 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
13068 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
13069 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
13070 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
13071 # ======================================================================
13072 # person_in_charge: j-pierre.lefebvre at edf.fr
13074 DEBUG=PROC(nom="DEBUG",op=137,
13075 UIinfo={"groupes":("Utilitaires",)},
13076 fr="Permettre de changer entre 2 commandes quelques variables globales de debug",
13078 SDVERI =SIMP(fr="vérifie la conformité des SD produites par les commandes",
13079 statut='f',typ='TXM',into=('OUI','NON')),
13080 JXVERI =SIMP(fr="vérifie l intégrité de la segmentation mémoire",
13081 statut='f',typ='TXM',into=('OUI','NON')),
13082 JEVEUX =SIMP(fr="force les déchargement sur disque",
13083 statut='f',typ='TXM',into=('OUI','NON')),
13084 IMPR_MACRO =SIMP(fr="affichage des sous-commandes produites par les macros dans le fichier mess",
13085 statut='f',typ='TXM',into=("OUI","NON")),
13088 # ======================================================================
13089 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
13090 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13091 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13092 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
13093 # (AT YOUR OPTION) ANY LATER VERSION.
13095 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
13096 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
13097 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
13098 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
13100 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
13101 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
13102 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
13103 # ======================================================================
13104 # person_in_charge: j-pierre.lefebvre at edf.fr
13105 DEBUT=MACRO(nom="DEBUT",
13106 op=OPS("Cata.ops.build_debut"),
13108 UIinfo={"groupes":("Gestion du travail",)},
13109 fr="Ouverture d'une étude. Allocation des ressources mémoire et disque et fichiers",
13112 PAR_LOT =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM',
13113 into=("OUI","NON"),defaut="OUI"),
13114 IMPR_MACRO =SIMP(fr="affichage des sous-commandes produites par les macros dans le fichier mess",
13115 statut='f',typ='TXM',into=("OUI","NON"),defaut="NON"),
13116 # FORMAT_HDF =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f',
13117 # typ='TXM',defaut="NON",into=("OUI","NON",) ),
13118 BASE =FACT(fr="définition des paramètres associés aux bases JEVEUX",
13119 statut='f',min=1,max=2,
13120 FICHIER =SIMP(fr="nom de la base",statut='o',typ='TXM',
13121 into=('GLOBALE','VOLATILE'),),
13122 TITRE =SIMP(statut='f',typ='TXM'),
13123 CAS =SIMP(statut='f',typ='TXM'),
13124 NMAX_ENRE =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'),
13125 LONG_ENRE =SIMP(fr="longueur des enregistrements",statut='f',typ='I'),
13126 LONG_REPE =SIMP(fr="longueur du répertoire",statut='f',typ='I'),
13129 CATALOGUE =FACT(statut='f',min=1,max=10,
13130 FICHIER =SIMP(statut='o',typ='TXM'),
13131 UNITE =SIMP(statut='f',typ='I'),
13134 CODE =FACT(fr="paramètres réservés aux cas-tests",
13135 statut='f',min=1,max=1,
13136 NIV_PUB_WEB =SIMP(statut='o',typ='TXM',into=('INTERNET','INTRANET')),
13137 VISU_EFICAS =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI'),
13140 ERREUR =FACT(fr="comportement en cas d'erreur",statut='f',min=1,max=1,
13141 ERREUR_F =SIMP(statut='f',typ='TXM',into=('ABORT','EXCEPTION'),),
13144 DEBUG =FACT(fr="option de déboggage reservée aux développeurs",
13145 statut='f',min=1,max=1,
13146 JXVERI =SIMP(fr="vérifie l intégrité de la segmentation mémoire",
13147 statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
13148 SDVERI =SIMP(fr="vérifie la conformité des SD produites par les commandes",
13149 statut='f',typ='TXM',into=('OUI','NON')),
13150 JEVEUX =SIMP(fr="force les déchargement sur disque",
13151 statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
13152 ENVIMA =SIMP(fr="imprime les valeurs définies dans ENVIMA",
13153 statut='f',typ='TXM',into=('TEST',)),
13154 HIST_ETAPE = SIMP(fr="permet de conserver toutes les étapes du jeu de commandes",
13155 statut='f', typ='TXM', into=('OUI', 'NON'), defaut='NON'),
13158 MESURE_TEMPS =FACT(fr="Pour afficher le temps des principales étapes de calcul",
13159 statut='d',min=1,max=1,
13160 NIVE_DETAIL =SIMP(fr="niveau de détail des impressions",
13161 statut='f',typ='I',into=(0,1,2,3),defaut=1),
13163 # 1 : impression en fin de commande des mesures principales
13164 # 2 : impression en fin de commande des mesures principales et secondaires
13165 # 3 : impression des mesures principales et secondaires pour chaque pas de temps
13166 MOYENNE =SIMP(fr="affichage des moyennes et écart-types en parallèle",
13167 statut='f',typ='TXM',into=('OUI','NON',),defaut='NON'),
13170 MEMOIRE =FACT(fr="mode de gestion mémoire utilisé",statut='d',min=1,max=1,
13171 TAILLE_BLOC =SIMP(statut='f',typ='R',defaut=800.),
13172 TAILLE_GROUP_ELEM =SIMP(statut='f',typ='I',defaut=1000),
13175 RESERVE_CPU =FACT(fr="reserve de temps pour terminer une execution",statut='d',max=1,
13176 regles=(EXCLUS('VALE','POURCENTAGE'),),
13177 # par défaut VALE fixée à 10. dans le FORTRAN si CODE présent
13178 VALE =SIMP(statut='f',typ='I',val_min=0,),
13179 # par défaut 10% dans le FORTRAN
13180 POURCENTAGE =SIMP(statut='f',typ='R',val_min=0.,val_max=1.0),
13181 # valeur en secondes de la réserve maximum bornée à 900 secondes
13182 BORNE =SIMP(statut='f',typ='I',val_min=0,defaut=900),),
13184 IGNORE_ALARM = SIMP(statut='f', typ='TXM', max='**', fr="Alarmes que l'utilisateur souhaite délibérément ignorer"),
13186 LANG = SIMP(statut='f', typ='TXM',
13187 fr="Permet de choisir la langue utilisée pour les messages (si disponible)",
13188 ang="Allows to choose the language used for messages (if available)"),
13190 INFO = SIMP(statut='f', typ='I', defaut=1, into=(1,2),),
13193 # ======================================================================
13194 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
13195 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13196 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13197 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
13198 # (AT YOUR OPTION) ANY LATER VERSION.
13200 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
13201 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
13202 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
13203 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
13205 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
13206 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
13207 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
13208 # ======================================================================
13209 # person_in_charge: nicolas.brie at edf.fr
13210 DEFI_BASE_MODALE=OPER(nom="DEFI_BASE_MODALE",op= 99,sd_prod=mode_meca,
13212 fr="Définit la base d'une sous-structuration dynamique ou d'une recombinaison modale",
13213 UIinfo={"groupes":("Matrices et vecteurs","Dynamique",)},
13214 regles=(UN_PARMI('CLASSIQUE','RITZ','DIAG_MASS','ORTHO_BASE'),),
13215 CLASSIQUE =FACT(statut='f',
13216 INTERF_DYNA =SIMP(statut='o',typ=interf_dyna_clas ),
13217 MODE_MECA =SIMP(statut='o',typ=mode_meca,max='**' ),
13218 NMAX_MODE =SIMP(statut='f',typ='I',defaut=10,max='**' ),
13220 RITZ =FACT(statut='f',max='**',
13221 regles=(UN_PARMI('MODE_MECA','BASE_MODALE','MODE_INTF'),),
13222 MODE_MECA =SIMP(statut='f',typ=mode_meca,max='**' ),
13223 NMAX_MODE =SIMP(statut='f',typ='I',max='**'),
13224 BASE_MODALE =SIMP(statut='f',typ=mode_meca ),
13225 MODE_INTF =SIMP(statut='f',typ=(mode_meca,mult_elas), ),
13227 b_ritz =BLOC(condition = "RITZ != None",
13228 INTERF_DYNA =SIMP(statut='f',typ=interf_dyna_clas ),
13229 NUME_REF =SIMP(statut='f',typ=nume_ddl_sdaster ),
13230 ORTHO =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
13231 fr="Reorthonormalisation de la base de Ritz" ),
13232 LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ),
13233 b_ortho =BLOC(condition = "ORTHO == 'OUI' ",
13234 MATRICE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_gene_r,matr_asse_pres_r ) ),
13237 DIAG_MASS =FACT(statut='f',max='**',
13238 MODE_MECA =SIMP(statut='o',typ=mode_meca,max='**' ),
13239 MODE_STAT =SIMP(statut='o',typ=mode_meca ),
13241 ORTHO_BASE =FACT(statut='f',max='**',
13242 BASE =SIMP(statut='o',typ=(mode_meca,mult_elas)),
13243 MATRICE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_gene_r,matr_asse_pres_r ) ),
13246 #-------------------------------------------------------------------
13247 # Catalogue commun SOLVEUR
13248 SOLVEUR =C_SOLVEUR('DEFI_BASE_MODALE'),
13249 #-------------------------------------------------------------------
13253 TITRE =SIMP(statut='f',typ='TXM',max='**'),
13254 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
13257 # ======================================================================
13258 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
13259 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13260 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13261 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
13262 # (AT YOUR OPTION) ANY LATER VERSION.
13264 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
13265 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
13266 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
13267 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
13269 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
13270 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
13271 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
13272 # ======================================================================
13273 # person_in_charge: sylvie.michel-ponnelle at edf.fr
13276 DEFI_CABLE_BP=MACRO(nom="DEFI_CABLE_BP",
13277 op=OPS('Macro.defi_cable_bp_ops.defi_cable_bp_ops'),
13278 sd_prod=cabl_precont,
13279 fr="Calculer les profils initiaux de tension le long des cables " \
13280 "de précontrainte d'une structure en béton",
13281 reentrant='n',UIinfo={"groupes":("Modélisation",)},
13282 MODELE =SIMP(statut='o',typ=modele_sdaster ),
13283 CHAM_MATER =SIMP(statut='o',typ=cham_mater ),
13284 CARA_ELEM =SIMP(statut='o',typ=cara_elem ),
13285 GROUP_MA_BETON =SIMP(statut='o',typ=grma,max='**'),
13286 DEFI_CABLE =FACT(statut='o',max='**',
13287 regles=(UN_PARMI('MAILLE','GROUP_MA'),
13288 UN_PARMI('NOEUD_ANCRAGE','GROUP_NO_ANCRAGE'),),
13289 MAILLE =SIMP(statut='f',typ=ma,min=2,validators=NoRepeat(),max='**'),
13290 GROUP_MA =SIMP(statut='f',typ=grma),
13291 NOEUD_ANCRAGE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=2),
13292 GROUP_NO_ANCRAGE=SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
13293 TENSION_CT =SIMP(statut='f',typ=table_sdaster),
13295 ADHERENT =SIMP(statut='o',typ='TXM',defaut='OUI',into=("OUI","NON") ),
13296 TYPE_ANCRAGE =SIMP(statut='o',typ='TXM',min=2,max=2,into=("ACTIF","PASSIF") ),
13297 TENSION_INIT =SIMP(statut='o',typ='R',val_min=0.E+0 ),
13298 RECUL_ANCRAGE =SIMP(statut='o',typ='R',val_min=0.E+0 ),
13299 b_adherent=BLOC(condition="(ADHERENT=='OUI')",
13300 TYPE_RELAX =SIMP(statut='o',typ='TXM',into=("SANS","BPEL","ETCC_DIRECT","ETCC_REPRISE"),defaut="SANS",),
13301 b_relax_bpel =BLOC(condition = "TYPE_RELAX =='BPEL'",
13302 R_J =SIMP(statut='o',typ='R',val_min=0.E+0),
13304 b_relax_etcc =BLOC(condition = "((TYPE_RELAX=='ETCC_DIRECT') or (TYPE_RELAX=='ETCC_REPRISE'))",
13305 NBH_RELAX =SIMP(statut='o',typ='R',val_min=0.E+0),
13307 # PERT_ELAS =SIMP(statut='o',typ='TXM',into=("OUI","NON"),defaut="NON"),
13308 # b_pert_elas =BLOC(condition = "PERT_ELAS=='OUI'",
13309 # EP_BETON = SIMP(statut='o',typ='R',val_min=0.E+0),
13310 # ESP_CABLE = SIMP(statut='o',typ='R',val_min=0.E+0)
13312 CONE =FACT(statut='f',
13313 RAYON =SIMP(statut='o',typ='R',val_min=0.E+0 ),
13314 LONGUEUR =SIMP(statut='o',typ='R',val_min=0.E+0 ),
13315 PRESENT =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ),
13318 b_non_adherent=BLOC(condition="(ADHERENT=='NON')",
13319 TYPE_RELAX =SIMP(statut='c',typ='TXM',into=("SANS",),defaut="SANS",),
13321 TITRE =SIMP(statut='f',typ='TXM',max='**' ),
13322 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
13325 # ======================================================================
13326 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
13327 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13328 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13329 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
13330 # (AT YOUR OPTION) ANY LATER VERSION.
13332 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
13333 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
13334 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
13335 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
13337 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
13338 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
13339 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
13340 # ======================================================================
13341 # person_in_charge: sylvie.michel-ponnelle at edf.fr
13343 DEFI_CABLE_OP=OPER(nom="DEFI_CABLE_OP",op= 180,sd_prod=cabl_precont,reentrant='n',
13344 fr="Définit les profils initiaux de tension d'une structure en béton le long des cables de précontrainte"
13345 +" (utilisée par la macro DEFI_CABLE_BP)",
13346 UIinfo={"groupes":("Modélisation",)},
13347 MODELE =SIMP(statut='o',typ=modele_sdaster ),
13348 CHAM_MATER =SIMP(statut='o',typ=cham_mater ),
13349 CARA_ELEM =SIMP(statut='o',typ=cara_elem ),
13350 GROUP_MA_BETON =SIMP(statut='o',typ=grma,max='**'),
13351 DEFI_CABLE =FACT(statut='o',max='**',
13352 regles=(UN_PARMI('MAILLE','GROUP_MA'),
13353 UN_PARMI('NOEUD_ANCRAGE','GROUP_NO_ANCRAGE'),),
13354 MAILLE =SIMP(statut='f',typ=ma,min=2,validators=NoRepeat(),max='**'),
13355 GROUP_MA =SIMP(statut='f',typ=grma),
13356 NOEUD_ANCRAGE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=2),
13357 GROUP_NO_ANCRAGE=SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
13358 GROUP_NO_FUT =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
13359 TENSION_CT =SIMP(statut='f',typ=table_sdaster),
13361 ADHERENT =SIMP(statut='o',typ='TXM',defaut='OUI',into=("OUI","NON") ),
13362 TYPE_ANCRAGE =SIMP(statut='o',typ='TXM',min=2,max=2,into=("ACTIF","PASSIF") ),
13363 TENSION_INIT =SIMP(statut='o',typ='R',val_min=0.E+0 ),
13364 RECUL_ANCRAGE =SIMP(statut='o',typ='R',val_min=0.E+0 ),
13365 TYPE_RELAX =SIMP(statut='o',typ='TXM',into=("SANS","BPEL","ETCC_DIRECT","ETCC_REPRISE"),defaut="SANS",),
13366 R_J =SIMP(statut='f',typ='R',val_min=0.E+0),
13367 NBH_RELAX =SIMP(statut='f',typ='R',val_min=0.E+0),
13368 # PERT_ELAS =SIMP(statut='o',typ='TXM',into=("OUI","NON"),defaut="NON"),
13369 # EP_BETON =SIMP(statut='f',typ='R',val_min=0.E+0),
13370 # ESP_CABLE =SIMP(statut='f',typ='R',val_min=0.E+0),
13371 TITRE =SIMP(statut='f',typ='TXM',max='**' ),
13372 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
13373 CONE =FACT(statut='f',min=0,
13374 RAYON =SIMP(statut='o',typ='R',val_min=0.E+0 ),
13375 LONGUEUR =SIMP(statut='o',typ='R',val_min=0.E+0, defaut=0.E+0 ),
13376 PRESENT =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ),
13380 # ======================================================================
13381 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
13382 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13383 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13384 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
13385 # (AT YOUR OPTION) ANY LATER VERSION.
13387 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
13388 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
13389 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
13390 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
13392 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
13393 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
13394 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
13395 # ======================================================================
13396 # person_in_charge: jean-michel.proix at edf.fr
13397 DEFI_COMPOR=OPER(nom="DEFI_COMPOR",op=59,sd_prod=compor_sdaster,
13398 fr="Définir le comportement d'un monocristal, d'un polycristal ou de groupes de fibres",
13400 UIinfo={"groupes":("Modélisation",)},
13401 # on exclut MULTIFBRE de MONOCRISTAL ou POLYCRISTAL car la structure de données n'est pas organisée pareil pour ces cas
13402 regles=(UN_PARMI('MONOCRISTAL','POLYCRISTAL','MULTIFIBRE'),
13403 PRESENT_PRESENT('MULTIFIBRE','GEOM_FIBRE','MATER_SECT'),
13405 MONOCRISTAL =FACT(statut='f', max=5,
13406 MATER =SIMP(statut='o', typ=mater_sdaster, max=1),
13407 ECOULEMENT =SIMP(statut='o', typ='TXM', max=1,
13408 into=('MONO_VISC1', 'MONO_VISC2', 'MONO_DD_KR', 'MONO_DD_CFC', 'MONO_DD_CFC_IRRA',
13409 'MONO_DD_CC', 'MONO_DD_CC_IRRA', 'MONO_DD_FAT',),
13410 fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écoulement viscoplastique"),
13411 ELAS =SIMP(statut='f', typ='TXM', max=1,
13412 fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le comportement élastique (un et un seul)"),
13413 b_non_dd =BLOC(condition="ECOULEMENT=='MONO_VISC1' or ECOULEMENT=='MONO_VISC2'",
13414 ECRO_ISOT =SIMP(statut='o', typ='TXM', max=1,
13415 fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écrouissage isotrope"),
13416 ECRO_CINE =SIMP(statut='o', typ='TXM', max=1,
13417 fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écrouissage cinématique"),
13418 FAMI_SYST_GLIS =SIMP(statut='f',typ='TXM', max=1,
13419 into=('OCTAEDRIQUE','BCC24','CUBIQUE1','CUBIQUE2','ZIRCONIUM','UNIAXIAL','UTILISATEUR'),
13421 b_util =BLOC(condition="FAMI_SYST_GLIS=='UTILISATEUR' ",
13422 TABL_SYST_GLIS =SIMP(statut='f', typ=table_sdaster, max=1,),
13425 b_dd_kr =BLOC(condition="ECOULEMENT=='MONO_DD_KR' ",
13426 FAMI_SYST_GLIS =SIMP(statut='f',typ='TXM', max=1,
13427 into=('BCC24','UTILISATEUR'),defaut=('BCC24',),),
13428 b_util =BLOC(condition="FAMI_SYST_GLIS=='UTILISATEUR' ",
13429 TABL_SYST_GLIS =SIMP(statut='f', typ=table_sdaster, max=1,),
13432 b_ecp_cfc =BLOC(condition="ECOULEMENT=='MONO_DD_FAT' ",
13433 FAMI_SYST_GLIS =SIMP(statut='f',typ='TXM', max=1,
13434 into=('OCTAEDRIQUE','UTILISATEUR',),defaut=('OCTAEDRIQUE',),),
13436 b_dd_cfc =BLOC(condition="ECOULEMENT=='MONO_DD_CFC' or ECOULEMENT=='MONO_DD_CFC_IRRA'",
13437 FAMI_SYST_GLIS =SIMP(statut='f',typ='TXM', max=1,
13438 into=('OCTAEDRIQUE','UTILISATEUR',),defaut=('OCTAEDRIQUE',),),
13439 b_util =BLOC(condition="FAMI_SYST_GLIS=='UTILISATEUR' ",
13440 TABL_SYST_GLIS =SIMP(statut='f', typ=table_sdaster, max=1,),
13443 b_dd_cc =BLOC(condition="ECOULEMENT=='MONO_DD_CC' or ECOULEMENT=='MONO_DD_CC_IRRA' ",
13444 FAMI_SYST_GLIS =SIMP(statut='f',typ='TXM', max=1,
13445 into=('CUBIQUE1','UTILISATEUR',),defaut=('CUBIQUE1',),),
13446 b_util =BLOC(condition="FAMI_SYST_GLIS=='UTILISATEUR' ",
13447 TABL_SYST_GLIS =SIMP(statut='f', typ=table_sdaster, max=1,),
13452 MATR_INTER =SIMP(statut='f', typ=table_sdaster, max=1,),
13454 ROTA_RESEAU =SIMP(statut='f', typ='TXM', max=1,into=('NON','POST','CALC'),defaut='NON',
13455 fr="rotation de reseau : NON, POST, CALC"),
13457 POLYCRISTAL =FACT(statut='f', max='**',
13458 regles=(UN_PARMI('ANGL_REP','ANGL_EULER'),),
13459 MONOCRISTAL =SIMP(statut='o', typ=compor_sdaster, max=1),
13460 FRAC_VOL =SIMP(statut='o', typ='R', max=1,fr="fraction volumique de la phase correspondant au monocristal"),
13461 ANGL_REP =SIMP(statut='f',typ='R',max=3,fr="orientation du monocristal : 3 angles nautiques en degrés"),
13462 ANGL_EULER=SIMP(statut='f',typ='R',max=3,fr="orientation du monocristal : 3 angles d'Euler en degrés"),
13466 b_poly =BLOC( condition = "POLYCRISTAL!='None'",
13467 LOCALISATION =SIMP(statut='f', typ='TXM', max=1, into=('BZ', 'BETA', 'RL',),
13468 fr="Donner le nom de la règle de localisation"),
13470 b_beta =BLOC( condition = "LOCALISATION=='BETA'",
13471 DL =SIMP(statut='o',typ='R',max=1),
13472 DA =SIMP(statut='o',typ='R',max=1),
13476 #####################################################################################
13477 GEOM_FIBRE = SIMP(statut='f',max=1,typ=gfibre_sdaster,
13478 fr="Donner le nom du concept regroupant tous les groupes de fibres (issu de DEFI_GEOM_FIBRE)"),
13479 MATER_SECT = SIMP(statut='f',max=1,typ=mater_sdaster,
13480 fr="Donner le nom du materiau pour les caracteristiques homogeneisees sur la section"),
13481 MULTIFIBRE = FACT(statut='f',max='**',
13482 GROUP_FIBRE =SIMP(statut='o', typ='TXM', max='**'),
13483 MATER =SIMP(statut='o', typ=mater_sdaster, max=1,
13484 fr="Donner le nom du materiau pour le groupe de fibres"),
13485 RELATION =SIMP(statut='f', typ='TXM', max=1,defaut="ELAS",into=C_RELATION('DEFI_COMPOR'),
13486 fr="Donner le nom de la relation incrementale pour le groupe de fibres",
13488 RELATION_KIT =SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(),
13501 # on pourrait ajouter TOUT_GROUP_FIBRE
13505 # ======================================================================
13506 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
13507 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13508 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13509 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
13510 # (AT YOUR OPTION) ANY LATER VERSION.
13512 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
13513 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
13514 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
13515 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
13517 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
13518 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
13519 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
13520 # ======================================================================
13521 # person_in_charge: xavier.desroches at edf.fr
13522 DEFI_COMPOSITE=OPER(nom="DEFI_COMPOSITE",op=56,sd_prod=mater_sdaster,reentrant='n',
13523 UIinfo={"groupes":("Modélisation",)},
13524 fr="Déterminer les caractéristiques matériaux homogénéisées d'une coque multicouche à partir"
13525 +" des caractéristiques de chaque couche",
13526 COUCHE =FACT(statut='o',max='**',
13527 EPAIS =SIMP(statut='o',typ='R',val_min=0.E+0 ),
13528 MATER =SIMP(statut='o',typ=(mater_sdaster) ),
13529 ORIENTATION =SIMP(statut='f',typ='R',defaut= 0.E+0,
13530 val_min=-90.E+0,val_max=90.E+0 ),
13532 IMPRESSION =FACT(statut='f',
13533 UNITE =SIMP(statut='f',typ='I',defaut=8),
13537 # ======================================================================
13538 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
13539 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13540 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13541 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
13542 # (AT YOUR OPTION) ANY LATER VERSION.
13544 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
13545 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
13546 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
13547 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
13549 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
13550 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
13551 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
13552 # ======================================================================
13553 # person_in_charge: mathieu.courtois at edf.fr
13554 DEFI_CONSTANTE=OPER(nom="DEFI_CONSTANTE",op= 2,sd_prod=fonction_sdaster,
13555 fr="Définir la valeur d'une grandeur invariante",
13557 UIinfo={"groupes":("Fonctions",)},
13558 NOM_RESU =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"),
13559 VALE =SIMP(statut='o',typ='R',),
13560 TITRE =SIMP(statut='f',typ='TXM',max='**'),
13563 # ======================================================================
13564 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
13565 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
13566 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
13567 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
13568 # (AT YOUR OPTION) ANY LATER VERSION.
13570 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
13571 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
13572 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
13573 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
13575 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
13576 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
13577 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
13578 # ======================================================================
13579 # person_in_charge: mickael.abbas at edf.fr
13581 DEFI_CONTACT=OPER(nom = "DEFI_CONTACT",
13583 sd_prod = char_contact,
13584 fr = "Définit les zones soumises à des conditions de contact unilatéral avec ou sans frottement",
13585 #en = "Allows the definition of contact surfaces as well as unilateral conditions",
13587 UIinfo = {"groupes":("Modélisation",)},
13591 MODELE =SIMP(statut='o',typ=modele_sdaster,),
13592 INFO =SIMP(statut='f',typ='I',into=(1,2),),
13594 # FORMULATION (UNIQUE PAR OCCURRENCE DE DEFI_CONTACT)
13596 FORMULATION =SIMP(statut='o',
13599 fr="Choix d'une formulation de contact ou de liaisons unilatérales",
13601 into=("DISCRETE","CONTINUE","XFEM","LIAISON_UNIL",),),
13603 # PARAMETRE GENERAL : FROTTEMENT
13605 FROTTEMENT =SIMP(statut='f',
13608 fr="Choix d'un modèle de frottement (uniquement pour les formulations de contact)",
13610 into=("COULOMB","SANS",)),
13612 ### PARAMETRES GENERAUX (UNIQUEMENT POUR LE CONTACT MAILLE, NE DEPENDENT PAS DE LA ZONE DE CONTACT)
13614 b_contact_mail=BLOC(condition = "((FORMULATION == 'CONTINUE') or (FORMULATION == 'DISCRETE'))",
13615 # ARRET DU CALCUL POUR LE MODE SANS RESOLUTION DU CONTACT
13616 STOP_INTERP = SIMP(statut='f',
13618 fr="Arrête le calcul dès qu'une interpénétration est détectée en mode RESOLUTION='NON'",
13620 into=("OUI","NON")),
13621 # LISSAGE DES NORMALES PAR MOYENNATION AUX NOEUDS
13622 LISSAGE = SIMP(statut='f',
13624 fr="Lissage des normales par moyennation aux noeuds",
13626 into=("OUI","NON")),
13627 # VERIFICATION DE L'ORIENTATION ET DE LA COHERENCE DES NORMALES
13628 VERI_NORM =SIMP(statut='f',
13630 fr="Vérification de l'orientation (sortante) des normales aux surfaces",
13632 into=("OUI","NON"),),
13635 ### PARAMETRES GENERAUX (UNIQUEMENT POUR LE CONTACT, NE DEPENDENT PAS DE LA ZONE DE CONTACT)
13637 b_contact=BLOC(condition = "FORMULATION != 'LIAISON_UNIL' ",
13639 # PARAMETRE GENERAL : BOUCLE DE GEOMETRIE - Cas discret
13641 b_bouc_geom_maild=BLOC(condition = "FORMULATION == 'DISCRETE'",
13642 ALGO_RESO_GEOM = SIMP(statut='f',
13644 into=("POINT_FIXE",),
13645 defaut="POINT_FIXE"),
13646 REAC_GEOM = SIMP(statut='f',
13648 into=("AUTOMATIQUE","CONTROLE","SANS",),
13649 defaut="AUTOMATIQUE"),
13650 b_automatique = BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ",
13651 ITER_GEOM_MAXI = SIMP(statut='f',typ='I',defaut=10),
13652 RESI_GEOM = SIMP(statut='f',typ='R',defaut=0.01)),
13653 b_controle = BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
13654 NB_ITER_GEOM = SIMP(statut='f',typ='I',defaut = 2)),
13657 # PARAMETRE GENERAL : BOUCLE DE GEOMETRIE - Cas continu
13659 b_bouc_geom_mailc=BLOC(condition = "FORMULATION == 'CONTINUE'",
13660 ALGO_RESO_GEOM = SIMP(statut='f',
13662 into=("POINT_FIXE","NEWTON",),
13663 defaut="POINT_FIXE"),
13664 b_algo_reso_geomNE = BLOC(condition = "ALGO_RESO_GEOM=='NEWTON'",
13665 RESI_GEOM = SIMP(statut='f',typ='R',defaut=0.000001),),
13667 b_algo_reso_geomPF = BLOC(condition = "ALGO_RESO_GEOM=='POINT_FIXE'",
13668 REAC_GEOM = SIMP(statut='f',
13670 into=("AUTOMATIQUE","CONTROLE","SANS",),
13671 defaut="AUTOMATIQUE"),
13672 b_automatique = BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ",
13673 ITER_GEOM_MAXI = SIMP(statut='f',typ='I',defaut=10),
13674 RESI_GEOM = SIMP(statut='f',typ='R',defaut=0.01)),
13675 b_controle = BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
13676 NB_ITER_GEOM = SIMP(statut='f',typ='I',defaut = 2)))
13679 # PARAMETRE GENERAL : BOUCLE DE GEOMETRIE - Cas XFEM
13681 b_bouc_geom_xfem=BLOC(condition = "FORMULATION == 'XFEM' ",
13682 ALGO_RESO_GEOM = SIMP(statut='f',
13684 into=("POINT_FIXE",),
13685 defaut="POINT_FIXE"),
13686 REAC_GEOM =SIMP(statut='f',
13688 into=("AUTOMATIQUE","CONTROLE","SANS",),
13691 b_automatique = BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ",
13692 ITER_GEOM_MAXI = SIMP(statut='f',typ='I',defaut=10),
13693 RESI_GEOM = SIMP(statut='f',typ='R',defaut=0.0001),
13695 b_controle = BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
13696 NB_ITER_GEOM = SIMP(statut='f',typ='I',defaut = 2),
13701 # PARAMETRE GENERAL : BOUCLE DE CONTACT
13703 b_bouc_cont_disc=BLOC(condition = "FORMULATION == 'DISCRETE' ",
13704 ITER_CONT_MULT = SIMP(statut='f',typ='I',defaut = 4),
13708 b_bouc_cont_cont=BLOC(condition = "FORMULATION == 'CONTINUE' ",
13709 ALGO_RESO_CONT = SIMP(statut='f',typ='TXM',defaut="NEWTON",
13710 into=("POINT_FIXE","NEWTON")),
13711 b_algo_reso_contPF = BLOC(condition = "ALGO_RESO_CONT=='POINT_FIXE'",
13712 ITER_CONT_TYPE = SIMP(statut='f',typ='TXM',defaut="MAXI",
13713 into=("MULT","MAXI")),
13714 b_bouc_cont_mult = BLOC(condition = "ITER_CONT_TYPE=='MULT'",
13715 ITER_CONT_MULT = SIMP(statut='f',typ='I',defaut = 4),
13717 b_bouc_cont_maxi = BLOC(condition = "ITER_CONT_TYPE=='MAXI'",
13718 ITER_CONT_MAXI = SIMP(statut='f',typ='I',defaut = 30),
13723 b_bouc_cont_xfem=BLOC(condition = "FORMULATION == 'XFEM' ",
13724 ITER_CONT_TYPE= SIMP(statut='f',typ='TXM',defaut="MAXI",
13725 into=("MULT","MAXI")),
13726 b_bouc_cont_mult = BLOC(condition = "ITER_CONT_TYPE=='MULT'",
13727 ITER_CONT_MULT = SIMP(statut='f',typ='I',defaut = 4),
13729 b_bouc_cont_maxi = BLOC(condition = "ITER_CONT_TYPE=='MAXI'",
13730 ITER_CONT_MAXI = SIMP(statut='f',typ='I',defaut = 30),
13734 # PARAMETRE GENERAL : BOUCLE DE FROTTEMENT - Cas continu
13736 b_bouc_frot_cont= BLOC(condition = "FROTTEMENT=='COULOMB' and FORMULATION == 'CONTINUE' ",
13737 ALGO_RESO_FROT = SIMP(statut='f',
13739 into=("POINT_FIXE","NEWTON",),
13741 b_algo_reso_frotPF = BLOC(condition = "ALGO_RESO_FROT=='POINT_FIXE'",
13742 ITER_FROT_MAXI = SIMP(statut='f',typ='I',defaut=10),
13743 RESI_FROT = SIMP(statut='f',typ='R',defaut=0.0001),
13745 b_algo_reso_frotNE = BLOC(condition = "ALGO_RESO_FROT=='NEWTON'",
13747 RESI_FROT = SIMP(statut='f',typ='R',defaut=0.0001),
13748 ADAPT_COEF = SIMP(statut='f',
13751 into=("OUI","NON")),
13756 # PARAMETRE GENERAL : BOUCLE DE FROTTEMENT - Cas XFEM
13758 b_bouc_frot_xfem= BLOC(condition = "FROTTEMENT=='COULOMB' and FORMULATION == 'XFEM' ",
13759 ITER_FROT_MAXI = SIMP(statut='f',typ='I',defaut=10),
13760 RESI_FROT = SIMP(statut='f',typ='R',defaut=0.0001),
13763 # PARAMETRES GENERAUX : METHODES DISCRETES
13765 b_para_discret = BLOC(condition = "FORMULATION == 'DISCRETE' ",
13766 # ## METHODES DE DUALISATION ##
13767 STOP_SINGULIER= SIMP(statut='f',
13769 fr="Tient compte de la singularité de la matrice de contact",
13771 into=("OUI","NON"),),
13772 NB_RESOL = SIMP(statut='f',
13774 fr="Nombre de résolutions simultanées pour la construction du complément de Schur",
13777 RESI_ABSO = SIMP(statut='f',
13779 fr="Critère de convergence (niveau d'interpénétration autorisé pour 'GCP')",),
13780 ITER_GCP_MAXI = SIMP(statut='f',
13782 fr="Nombre d'itérations maximal ('GCP')",
13784 RECH_LINEAIRE = SIMP(statut='f',
13786 fr="Autorisation de sortie du domaine admissible lors de la recherche linéaire",
13787 defaut="ADMISSIBLE",
13788 into=("ADMISSIBLE","NON_ADMISSIBLE"),),
13789 PRE_COND = SIMP(statut='f',
13791 fr="Choix d'un préconditionneur (accélère la convergence de 'GCP')",
13793 into=("DIRICHLET","SANS"),),
13794 b_dirichlet = BLOC (condition = "PRE_COND == 'DIRICHLET'",
13795 COEF_RESI = SIMP(statut='f',
13797 fr="Activation du préconditionneur quand le résidu a été divisé par COEF_RESI",
13799 ITER_PRE_MAXI = SIMP(statut='f',
13801 fr="Nombre d'itérations maximal pour le préconditionneur ('GCP')",
13806 ## AFFECTATIONS (ZONES PAR ZONES)
13808 # AFFECTATION - CAS LIAISON_UNILATERALE
13810 b_affe_unil = BLOC(condition = "FORMULATION == 'LIAISON_UNIL'",
13811 ZONE=FACT(statut='o',
13813 # -- Liaison unilatérale
13814 regles=(UN_PARMI('GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
13815 GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
13816 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
13817 GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
13818 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
13820 NOM_CMP =SIMP(statut='o',typ='TXM',max='**'),
13821 COEF_IMPO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),),
13822 COEF_MULT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'),
13823 # -- Incompatibilité avec CL
13824 SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
13825 SANS_GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
13831 # AFFECTATION - CAS DISCRET
13833 b_affe_discret = BLOC(condition = "FORMULATION == 'DISCRETE'",
13834 ZONE=FACT(statut='o',
13837 APPARIEMENT =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL",
13838 into=("NODAL","MAIT_ESCL"),),
13840 regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'),
13841 UN_PARMI('GROUP_MA_MAIT','MAILLE_MAIT'),),
13842 GROUP_MA_MAIT =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max=1),
13843 MAILLE_MAIT =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
13844 GROUP_MA_ESCL =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max=1),
13845 MAILLE_ESCL =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
13847 NORMALE =SIMP(statut='f',typ='TXM',defaut="MAIT",
13848 into=("MAIT","MAIT_ESCL","ESCL"),),
13850 VECT_MAIT =SIMP(statut='f',typ='TXM',defaut="AUTO",
13851 into=("AUTO","FIXE","VECT_Y")),
13853 b_nmait_fixe=BLOC(condition = "VECT_MAIT == 'FIXE'",
13854 MAIT_FIXE =SIMP(statut='o',typ='R',min=3,max=3),
13857 b_nmait_vecty=BLOC(condition = "VECT_MAIT == 'VECT_Y'",
13858 MAIT_VECT_Y =SIMP(statut='o',typ='R',min=3,max=3),
13861 VECT_ESCL =SIMP(statut='f',typ='TXM',defaut="AUTO",
13862 into=("AUTO","FIXE","VECT_Y")),
13864 b_nescl_fixe=BLOC(condition = "VECT_ESCL == 'FIXE'",
13865 ESCL_FIXE =SIMP(statut='o',typ='R',min=3,max=3),
13868 b_nescl_vecty=BLOC(condition = "VECT_ESCL == 'VECT_Y'",
13869 ESCL_VECT_Y =SIMP(statut='o',typ='R',min=3,max=3),
13872 TYPE_APPA =SIMP(statut='f',typ='TXM',defaut="PROCHE",
13873 into =("PROCHE","FIXE")),
13875 b_appa_fixe =BLOC(condition = "TYPE_APPA == 'FIXE'",
13876 DIRE_APPA =SIMP(statut='f',typ='R',min=3,max=3),
13879 DIST_POUTRE =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")),
13880 DIST_COQUE =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")),
13881 b_cara=BLOC(condition = "DIST_POUTRE == 'OUI' or DIST_COQUE == 'OUI'",
13882 CARA_ELEM =SIMP(statut='o',typ=(cara_elem) ),
13885 DIST_MAIT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
13886 DIST_ESCL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
13888 TOLE_APPA =SIMP(statut='f',typ='R' ,defaut=-1.0),
13889 TOLE_PROJ_EXT =SIMP(statut='f',typ='R' ,defaut=0.50),
13890 # -- Incompatibilité avec CL
13891 SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
13892 SANS_GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
13893 SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
13894 SANS_GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
13895 # -- Mode sans calcul
13896 RESOLUTION =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
13897 b_verif=BLOC(condition = "RESOLUTION == 'NON' ",
13898 TOLE_INTERP = SIMP(statut='f',typ='R',defaut = 0.),
13901 ALGO_CONT =SIMP(statut='o',typ='TXM',defaut="CONTRAINTE",
13902 into=("CONTRAINTE","LAGRANGIEN","PENALISATION","GCP"),),
13904 b_active=BLOC(condition = "ALGO_CONT == 'CONTRAINTE' ",
13905 fr="Paramètres de la méthode des contraintes actives (contact uniquement)",
13906 GLISSIERE=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
13907 b_glissiere=BLOC(condition = "GLISSIERE == 'OUI' ",
13908 ALARME_JEU =SIMP(statut='f',typ='R',defaut=0.),
13912 b_penal_contact=BLOC(condition = "ALGO_CONT == 'PENALISATION' ",
13913 fr="Paramètres de la méthode pénalisée (contact)",
13914 E_N=SIMP(statut='o',typ='R'),
13917 b_frottement=BLOC(condition = "FROTTEMENT == 'COULOMB' ",
13918 fr="Paramètres du frottement de Coulomb",
13919 COULOMB =SIMP(statut='o',typ='R',),
13920 COEF_MATR_FROT=SIMP(statut='f',typ='R',defaut=0.E+0),
13921 ALGO_FROT =SIMP(statut='o',typ='TXM',defaut="PENALISATION",
13922 into=("PENALISATION","LAGRANGIEN"),),
13924 b_penal_frot=BLOC(condition = "ALGO_FROT == 'PENALISATION' ",
13925 fr="Paramètres de la méthode pénalisée (frottement)",
13926 E_T=SIMP(statut='o',typ='R'),
13929 ), #fin mot-clé facteur ZONE
13930 ), #fin bloc b_affe_discret
13932 # AFFECTATION - CAS CONTINUE
13934 b_affe_continue = BLOC(condition = "FORMULATION == 'CONTINUE'",
13935 ZONE=FACT(statut='o',
13938 APPARIEMENT =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL",
13939 into=("MAIT_ESCL",)),
13943 regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'),
13944 UN_PARMI('GROUP_MA_MAIT','MAILLE_MAIT'),),
13945 GROUP_MA_MAIT =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max=1),
13946 MAILLE_MAIT =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
13947 GROUP_MA_ESCL =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max=1),
13948 MAILLE_ESCL =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
13950 NORMALE =SIMP(statut='f',typ='TXM',defaut="MAIT",
13951 into=("MAIT","MAIT_ESCL","ESCL"),),
13953 VECT_MAIT =SIMP(statut='f',typ='TXM',defaut="AUTO",
13954 into=("AUTO","FIXE","VECT_Y")),
13956 b_nmait_fixe=BLOC(condition = "VECT_MAIT == 'FIXE'",
13957 MAIT_FIXE =SIMP(statut='o',typ='R',min=3,max=3),
13960 b_nmait_vecty=BLOC(condition = "VECT_MAIT == 'VECT_Y'",
13961 MAIT_VECT_Y =SIMP(statut='o',typ='R',min=3,max=3),
13964 VECT_ESCL =SIMP(statut='f',typ='TXM',defaut="AUTO",
13965 into=("AUTO","FIXE","VECT_Y")),
13967 b_nescl_fixe=BLOC(condition = "VECT_ESCL == 'FIXE'",
13968 ESCL_FIXE =SIMP(statut='o',typ='R',min=3,max=3),
13971 b_nescl_vecty=BLOC(condition = "VECT_ESCL == 'VECT_Y'",
13972 ESCL_VECT_Y =SIMP(statut='o',typ='R',min=3,max=3),
13975 TYPE_APPA =SIMP(statut='f',typ='TXM',defaut="PROCHE",
13976 into =("PROCHE","FIXE")),
13978 b_appa_fixe=BLOC(condition = "TYPE_APPA == 'FIXE'",
13979 DIRE_APPA =SIMP(statut='f',typ='R',min=3,max=3),
13982 DIST_POUTRE =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")),
13983 DIST_COQUE =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")),
13984 b_cara=BLOC(condition = "DIST_POUTRE == 'OUI' or DIST_COQUE == 'OUI'",
13985 CARA_ELEM =SIMP(statut='o',typ=(cara_elem) ),
13988 DIST_MAIT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
13989 DIST_ESCL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
13991 TOLE_APPA =SIMP(statut='f',typ='R' ,defaut=-1.0),
13992 TOLE_PROJ_EXT =SIMP(statut='f',typ='R' ,defaut=0.50),
13993 # -- Incompatibilité avec CL
13994 SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
13995 SANS_GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
13996 SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
13997 SANS_GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
13998 # -- Mode sans calcul
13999 RESOLUTION =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
14000 b_verif=BLOC(condition = "RESOLUTION == 'NON' ",
14001 TOLE_INTERP = SIMP(statut='f',typ='R',defaut = 0.),
14003 # -- Fonctionnalités spécifiques 'CONTINUE'
14005 INTEGRATION =SIMP(statut='f',typ='TXM',defaut="AUTO",
14006 into=("AUTO","GAUSS","SIMPSON","NCOTES",),),
14007 b_gauss =BLOC(condition = "INTEGRATION == 'GAUSS' ",
14008 fr="Degré du polynôme de Legendre donnant les points de Gauss",
14009 ORDRE_INT = SIMP(statut='f',typ='I',defaut=3,val_min=1,val_max=6),
14011 b_simpson =BLOC(condition = "INTEGRATION == 'SIMPSON' ",
14012 fr="Nombre de subdivisions du domaine",
14013 ORDRE_INT = SIMP(statut='f',typ='I',defaut=1,val_min=1,val_max=4),
14015 b_ncotes =BLOC(condition = "INTEGRATION == 'NCOTES' ",
14016 fr="Degré du polynôme interpolateur",
14017 ORDRE_INT = SIMP(statut='f',typ='I',defaut=3,val_min=3,val_max=8),
14020 CONTACT_INIT =SIMP(statut='f',typ='TXM',defaut="INTERPENETRE",
14021 into=("OUI","INTERPENETRE","NON"),),
14023 GLISSIERE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),),
14025 ALGO_CONT =SIMP(statut='f',typ='TXM',defaut="STANDARD",
14026 into=("STANDARD","PENALISATION"),),
14028 b_cont_std=BLOC(condition = "ALGO_CONT == 'STANDARD' ",
14029 fr="Paramètres de la formulation Lagrangienne",
14030 COEF_CONT = SIMP(statut='f',typ='R',defaut=100.E+0),
14032 b_cont_pena=BLOC(condition = "ALGO_CONT == 'PENALISATION' ",
14033 fr="Paramètres de la méthode pénalisée",
14034 COEF_PENA_CONT =SIMP(statut='o',typ='R'),
14037 b_frottement=BLOC(condition = "FROTTEMENT == 'COULOMB' ",
14038 fr="Paramètres du frottement de Coulomb",
14039 COULOMB = SIMP(statut='o',typ='R',),
14040 SEUIL_INIT = SIMP(statut='f',typ='R',defaut=0.E+0),
14042 regles=(EXCLUS('SANS_NOEUD_FR','SANS_GROUP_NO_FR'),),
14043 SANS_NOEUD_FR =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
14044 SANS_GROUP_NO_FR =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
14045 b_sans_group_no_frot=BLOC(condition = " SANS_GROUP_NO_FR != None or \
14046 SANS_NOEUD_FR != None ",
14047 fr="Direction de frottement à exclure (uniquement dans le cas 3D)",
14048 DIRE_EXCL_FROT=SIMP(statut='f',typ='R',min=3,max=3),
14051 ALGO_FROT =SIMP(statut='f',typ='TXM',defaut="STANDARD",
14052 into=("STANDARD","PENALISATION"),),
14053 b_frot_std =BLOC(condition = "ALGO_FROT == 'STANDARD' ",
14054 fr="Paramètres de la formulation Lagrangienne",
14055 COEF_FROT =SIMP(statut='f',typ='R',defaut=100.E+0),
14058 b_frot_pena =BLOC(condition = "ALGO_FROT == 'PENALISATION' ",
14059 fr="Paramètres de la méthode pénalisée",
14060 COEF_PENA_FROT =SIMP(statut='o',typ='R'),
14063 ), #fin bloc b_frottement
14064 ), #fin mot-clé facteur ZONE
14065 ), #fin bloc b_affe_continue
14068 # AFFECTATION - CAS XFEM
14070 b_affe_xfem =BLOC(condition = "FORMULATION == 'XFEM'",
14071 ZONE=FACT(statut='o',
14074 FISS_MAIT = SIMP(statut='o',typ=fiss_xfem,max=1),
14075 TOLE_PROJ_EXT =SIMP(statut='f',typ='R' ,defaut=0.50),
14077 # -- Fonctionnalités spécifiques 'XFEM'
14078 INTEGRATION = SIMP(statut='f',
14082 into=("NOEUD","GAUSS","SIMPSON","NCOTES",),),
14083 b_gauss =BLOC(condition = "INTEGRATION == 'GAUSS' ",
14084 fr="Dégré du polynôme de Legendre donnant les points de Gauss",
14085 ORDRE_INT = SIMP(statut='f',typ='I',defaut=6,val_min=1,val_max=6),
14087 b_simpson =BLOC(condition = "INTEGRATION == 'SIMPSON' ",
14088 fr="Nombre de subdivisions du domaine",
14089 ORDRE_INT = SIMP(statut='f',typ='I',defaut=1,val_min=1,val_max=4),
14091 b_ncotes =BLOC(condition = "INTEGRATION == 'NCOTES' ",
14092 fr="Dégré du polynôme interpolateur",
14093 ORDRE_INT = SIMP(statut='f',typ='I',defaut=3,val_min=3,val_max=8),
14096 ALGO_LAGR = SIMP(statut='f',typ='TXM',defaut="VERSION1",
14097 into=("NON","VERSION1","VERSION2"),),
14099 ALGO_CONT = SIMP(statut='f',typ='TXM',defaut="STANDARD",
14100 into=("STANDARD","PENALISATION","CZM"),),
14102 b_cont_nczm =BLOC(condition = "ALGO_CONT!='CZM'",
14103 CONTACT_INIT = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),),
14104 GLISSIERE = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),),
14107 b_cont_std=BLOC(condition = "ALGO_CONT == 'STANDARD'",
14108 fr="Parametres de la formulation Lagrangienne",
14109 COEF_CONT =SIMP(statut='f',typ='R',defaut=100.E+0),
14112 b_cont_pen=BLOC(condition = "ALGO_CONT == 'PENALISATION' ",
14113 fr="Paramètre de la méthode pénalisée",
14114 COEF_PENA_CONT =SIMP(statut='o',typ='R'),
14117 b_cont_czm=BLOC(condition = "ALGO_CONT == 'CZM'",
14118 fr="Parametres de la formulation cohesive",
14119 RELATION = SIMP(statut='o',typ='TXM',
14120 into=("CZM_EXP_REG","CZM_LIN_REG","CZM_TAC_MIX","CZM_OUV_MIX"),)
14123 b_frottement=BLOC(condition = "FROTTEMENT == 'COULOMB' and ALGO_CONT != 'CZM' ",
14124 fr="Paramètres du frottement",
14125 COULOMB =SIMP(statut='o',typ='R',),
14126 SEUIL_INIT =SIMP(statut='f',typ='R',defaut=0.E+0),
14127 ALGO_FROT =SIMP(statut='f',typ='TXM',defaut="STANDARD",
14128 into=("STANDARD","PENALISATION"),),
14130 b_frot_std=BLOC(condition = "ALGO_FROT == 'STANDARD' ",
14131 fr="Parametres de la formulation Lagrangienne",
14132 COEF_FROT =SIMP(statut='f',typ='R',defaut=100.E+0),
14134 b_frot_pen=BLOC(condition = "ALGO_FROT == 'PENALISATION' ",
14135 fr="Paramètre de la méthode pénalisée",
14136 COEF_PENA_FROT =SIMP(statut='o',typ='R'),
14138 ), #fin bloc b_frottement
14139 ), #fin mot-clé facteur ZONE
14140 ), #fin bloc b_affe_xfem
14144 # ======================================================================
14145 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
14146 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14147 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14148 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
14149 # (AT YOUR OPTION) ANY LATER VERSION.
14151 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
14152 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
14153 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
14154 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
14156 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
14157 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
14158 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
14159 # ======================================================================
14160 # person_in_charge: j-pierre.lefebvre at edf.fr
14161 def DEFIC_prod(self,ACTION,UNITE,**args):
14162 if ACTION == "ASSOCIER" or ACTION == "RESERVER":
14167 elif ACTION == "LIBERER" :
14170 raise AsException("ACTION non prevue : %s" % ACTION)
14172 DEFI_FICHIER=MACRO(nom="DEFI_FICHIER",
14173 op=OPS("Cata.ops.build_DEFI_FICHIER"),
14174 sd_prod=DEFIC_prod,
14176 UIinfo={"groupes":("Gestion du travail",)},
14177 fr="Ouvre ou ferme un fichier associé à un numéro d'unité logique",
14179 ACTION =SIMP(statut='f',typ='TXM',into=("ASSOCIER","LIBERER","RESERVER"),defaut="ASSOCIER"),
14181 b_associer =BLOC(condition = "ACTION == 'ASSOCIER'",
14182 fr="Paramètres pour l'ouverture du fichier",
14183 regles=(AU_MOINS_UN('FICHIER','UNITE'),),
14184 UNITE =SIMP(statut='f',typ='I' ,val_min=1),
14185 FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)),
14186 TYPE =SIMP(statut='f',typ='TXM',into=("ASCII","BINARY","LIBRE"),defaut="ASCII"),
14188 b_type_ascii =BLOC(condition = "TYPE == 'ASCII'",fr="Paramètres pour le type ASCII",
14189 ACCES =SIMP(statut='f',typ='TXM',into=("NEW","APPEND","OLD"),defaut="NEW"),
14191 b_type_autre =BLOC(condition = "TYPE != 'ASCII'",fr="Paramètres pour les types BINARY et LIBRE",
14192 ACCES =SIMP(statut='f',typ='TXM',into=("NEW","OLD"),defaut="NEW"),
14196 b_reserver =BLOC(condition = "ACTION == 'RESERVER'",
14197 fr="Paramètres pour la réservation de l'unité du fichier",
14198 regles=(AU_MOINS_UN('FICHIER','UNITE'),),
14199 UNITE =SIMP(statut='f',typ='I' ,val_min=1),
14200 FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)),
14201 TYPE =SIMP(statut='f',typ='TXM',into=("ASCII",),defaut="ASCII"),
14202 ACCES =SIMP(statut='f',typ='TXM',into=("APPEND",),defaut="APPEND"),
14205 b_liberer =BLOC(condition = "ACTION == 'LIBERER'",
14206 fr="Paramètres pour la fermeture du fichier",
14207 regles=(UN_PARMI('FICHIER','UNITE'),),
14208 UNITE =SIMP(statut='f',typ='I' ,val_min=1),
14209 FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)),
14212 INFO =SIMP(statut='f',typ='I',into=(1,2) ),
14215 # ======================================================================
14216 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
14217 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14218 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14219 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
14220 # (AT YOUR OPTION) ANY LATER VERSION.
14222 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
14223 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
14224 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
14225 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
14227 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
14228 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
14229 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
14230 # ======================================================================
14231 # person_in_charge: samuel.geniaut at edf.fr
14233 DEFI_FISS_XFEM=OPER(nom="DEFI_FISS_XFEM",op= 41,sd_prod=fiss_xfem,reentrant='n',
14234 UIinfo={"groupes":("Modélisation",)},
14235 fr="Définition des caratéristiques d'une fissure ou d'une interface avec X-FEM",
14236 regles = EXCLUS('MODELE_GRILLE','FISS_GRILLE'),
14238 # ------------------------------------------------------------------------------------------------------------------------
14239 # modele sous-jacent
14240 # ------------------------------------------------------------------------------------------------------------------------
14242 MODELE =SIMP(statut='o',typ=modele_sdaster),
14244 # ------------------------------------------------------------------------------------------------------------------------
14245 # grille auxiliaire
14246 # ------------------------------------------------------------------------------------------------------------------------
14248 MODELE_GRILLE =SIMP(statut='f',typ=modele_sdaster,max=1,position='global'),
14249 FISS_GRILLE =SIMP(statut='f',typ=fiss_xfem,max=1),
14251 # ------------------------------------------------------------------------------------------------------------------------
14252 # fissure/interface
14253 # ------------------------------------------------------------------------------------------------------------------------
14255 TYPE_DISCONTINUITE =SIMP(statut='f',typ='TXM',into=("FISSURE","INTERFACE",) ,defaut="FISSURE",position='global'),
14257 # ------------------------------------------------------------------------------------------------------------------------
14258 # caracteristiques de la fissure/interface
14259 # ------------------------------------------------------------------------------------------------------------------------
14261 DEFI_FISS =FACT(statut='o',max=1,
14263 regles =UN_PARMI('GROUP_MA_FISS','FONC_LN','FORM_FISS','CHAM_NO_LSN'),
14265 # impossible de faire des regles dans des blocs condition, dommage
14266 # b_fissure =BLOC(condition = "TYPE_DISCONTINUITE == 'FISSURE' ",fr="Regles pour les fissures",
14267 # regles =(ENSEMBLE('FONC_LN','FONC_LT'),
14268 # ENSEMBLE('CHAM_NO_LSN','CHAM_NO_LST'),
14269 # ENSEMBLE('GROUP_MA_FISS','GROUP_MA_FOND')),
14272 # b_interface =BLOC(condition = "TYPE_DISCONTINUITE == 'INTERFACE' ",fr="Regles pour les interfaces",
14273 # regles =(PRESENT_ABSENT('FONC_LN','FONC_LT'),
14274 # PRESENT_ABSENT('CHAM_NO_LSN','CHAM_NO_LST'),
14275 # PRESENT_ABSENT('GROUP_MA_FISS','GROUP_MA_FOND')),
14278 FONC_LT =SIMP(statut='f',typ=(fonction_sdaster,formule) ),
14279 FONC_LN =SIMP(statut='f',typ=(fonction_sdaster,formule) ),
14280 CHAM_NO_LSN =SIMP(statut='f',typ=cham_no_sdaster,min=1,max=1),
14281 CHAM_NO_LST =SIMP(statut='f',typ=cham_no_sdaster,min=1,max=1),
14282 GROUP_MA_FISS =SIMP(statut='f',typ=grma,min=1,max=1),
14283 GROUP_MA_FOND =SIMP(statut='f',typ=grma,min=1,max=1),
14284 FORM_FISS =SIMP(statut='f',typ='TXM',into=("ELLIPSE","RECTANGLE","CYLINDRE","DEMI_PLAN",
14285 "SEGMENT","DEMI_DROITE","DROITE","ENTAILLE") ),
14286 b_ellipse =BLOC(condition = "FORM_FISS == 'ELLIPSE' ",fr="Paramètres de la fissure/interface elliptique",
14287 DEMI_GRAND_AXE =SIMP(statut='o',typ='R',val_min=0.),
14288 DEMI_PETIT_AXE =SIMP(statut='o',typ='R',val_min=0.),
14289 CENTRE =SIMP(statut='o',typ='R',min=3,max=3),
14290 VECT_X =SIMP(statut='o',typ='R',min=3,max=3),
14291 VECT_Y =SIMP(statut='o',typ='R',min=3,max=3),
14292 COTE_FISS =SIMP(statut='f',typ='TXM',defaut="IN",into=("IN","OUT",) ), ),
14293 b_rectangle =BLOC(condition = "FORM_FISS == 'RECTANGLE' ",fr="Paramètres de la fissure/interface rectangulaire",
14294 DEMI_GRAND_AXE =SIMP(statut='o',typ='R',val_min=0.),
14295 DEMI_PETIT_AXE =SIMP(statut='o',typ='R',val_min=0.),
14296 RAYON_CONGE =SIMP(statut='f',typ='R',val_min=0.,defaut=0.),
14297 CENTRE =SIMP(statut='o',typ='R',min=3,max=3),
14298 VECT_X =SIMP(statut='o',typ='R',min=3,max=3),
14299 VECT_Y =SIMP(statut='o',typ='R',min=3,max=3),
14300 COTE_FISS =SIMP(statut='f',typ='TXM',defaut="IN",into=("IN","OUT",) ), ),
14301 b_entaille =BLOC(condition = "FORM_FISS == 'ENTAILLE' ",fr="Paramètres de l'interface entaille",
14302 DEMI_LONGUEUR =SIMP(statut='o',typ='R',val_min=0.),
14303 RAYON_CONGE =SIMP(statut='o',typ='R',val_min=0.),
14304 CENTRE =SIMP(statut='o',typ='R',min=3,max=3),
14305 VECT_X =SIMP(statut='o',typ='R',min=3,max=3),
14306 VECT_Y =SIMP(statut='o',typ='R',min=3,max=3), ),
14307 b_cylindre =BLOC(condition = "FORM_FISS == 'CYLINDRE' ",fr="Paramètres de la fissure cylindrique",
14308 DEMI_GRAND_AXE =SIMP(statut='o',typ='R',val_min=0.),
14309 DEMI_PETIT_AXE =SIMP(statut='o',typ='R',val_min=0.),
14310 CENTRE =SIMP(statut='o',typ='R',min=3,max=3),
14311 VECT_X =SIMP(statut='o',typ='R',min=3,max=3),
14312 VECT_Y =SIMP(statut='o',typ='R',min=3,max=3),),
14313 b_demiplan =BLOC(condition = "FORM_FISS == 'DEMI_PLAN' ",fr="Paramètres de la fissure plane à front droit",
14314 PFON =SIMP(statut='o',typ='R',min=3,max=3),
14315 NORMALE =SIMP(statut='o',typ='R',min=3,max=3),
14316 DTAN =SIMP(statut='o',typ='R',min=3,max=3),),
14317 b_segment =BLOC(condition = "FORM_FISS == 'SEGMENT' ",fr="Paramètres de la fissure 2D segment",
14318 PFON_ORIG =SIMP(statut='o',typ='R',min=3,max=3),
14319 PFON_EXTR =SIMP(statut='o',typ='R',min=3,max=3),),
14320 b_demidroite =BLOC(condition = "FORM_FISS == 'DEMI_DROITE' ",fr="Paramètres de la fissure 2D demi-droite",
14321 PFON =SIMP(statut='o',typ='R',min=3,max=3),
14322 DTAN =SIMP(statut='o',typ='R',min=3,max=3),),
14323 b_droite =BLOC(condition = "FORM_FISS == 'DROITE' ",fr="Paramètres de l'interface 2D (fissure traversante)",
14324 POINT =SIMP(statut='o',typ='R',min=3,max=3),
14325 DTAN =SIMP(statut='o',typ='R',min=3,max=3),),
14328 # ------------------------------------------------------------------------------------------------------------------------
14329 # partie du maillage potentiellement enrichie
14330 # ------------------------------------------------------------------------------------------------------------------------
14332 GROUP_MA_ENRI =SIMP(statut='f',typ=grma,max=01),
14334 # ------------------------------------------------------------------------------------------------------------------------
14335 # types d'enrichissement
14336 # ------------------------------------------------------------------------------------------------------------------------
14338 b_enri_inte =BLOC(condition = "TYPE_DISCONTINUITE == 'INTERFACE' ",
14340 CHAM_DISCONTINUITE =SIMP(statut='f',typ='TXM',into=("DEPL","SIGM"),defaut="DEPL" ),
14345 b_enri_fiss =BLOC(condition = "TYPE_DISCONTINUITE == 'FISSURE' ",
14347 CHAM_DISCONTINUITE =SIMP(statut='f',typ='TXM',into=("DEPL",),defaut="DEPL" ),
14348 TYPE_ENRI_FOND =SIMP(statut='f',typ='TXM',into=("TOPOLOGIQUE","GEOMETRIQUE"),defaut="TOPOLOGIQUE" ),
14350 b_enri_geom =BLOC(condition = "TYPE_ENRI_FOND == 'GEOMETRIQUE' ",fr="Paramètres de l enrichissement geometrique",
14351 RAYON_ENRI =SIMP(statut='f',typ='R',val_min=0.E+0),
14353 b_enri_couches =BLOC(condition = "(RAYON_ENRI == None) ",fr="Paramètres de l enrichissement à n couches",
14354 NB_COUCHES =SIMP(statut='f',typ='I',defaut=4,val_min=1),
14360 # ------------------------------------------------------------------------------------------------------------------------
14362 # ------------------------------------------------------------------------------------------------------------------------
14364 b_jonction =BLOC(condition = "(MODELE_GRILLE == None) and (FISS_GRILLE == None)",
14365 JONCTION =FACT(statut='f',max=1,
14366 FISSURE =SIMP(statut='o',typ=fiss_xfem,min=1,max='**',),
14367 POINT =SIMP(statut='o',typ='R',max=3,),
14370 # ------------------------------------------------------------------------------------------------------------------------
14372 # ------------------------------------------------------------------------------------------------------------------------
14374 INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,3,) ),
14378 # ======================================================================
14379 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
14380 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14381 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14382 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
14383 # (AT YOUR OPTION) ANY LATER VERSION.
14385 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
14386 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
14387 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
14388 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
14390 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
14391 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
14392 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
14393 # ======================================================================
14394 # person_in_charge: andre.adobes at edf.fr
14395 DEFI_FLUI_STRU=OPER(nom="DEFI_FLUI_STRU",op= 143,sd_prod=type_flui_stru,
14396 reentrant='n',fr="Définit les caractéristiques nécessaires à l'étude dynamique d'une structure sous écoulement",
14397 UIinfo={"groupes":("Modélisation",)},
14398 regles=( UN_PARMI('FAISCEAU_TRANS','GRAPPE','FAISCEAU_AXIAL','COQUE_COAX',),),
14399 FAISCEAU_TRANS =FACT(statut='f',max='**',
14400 regles=( ENSEMBLE('CSTE_CONNORS','NB_CONNORS','RHO_TUBE'),),
14401 COUPLAGE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
14402 CARA_ELEM =SIMP(statut='f',typ=cara_elem ),
14403 PROF_VITE_FLUI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
14404 PROF_RHO_F_INT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
14405 PROF_RHO_F_EXT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
14406 NOM_CMP =SIMP(statut='f',typ='TXM',into=("DX","DY","DZ") ),
14407 COEF_MASS_AJOU =SIMP(statut='f',typ='R' ),
14408 TYPE_PAS =SIMP(statut='f',typ='TXM',into=("CARRE_LIGN","TRIA_LIGN") ),
14409 TYPE_RESEAU =SIMP(statut='f',typ='I' ),
14410 UNITE_CD =SIMP(statut='f',typ='I',defaut=70),
14411 UNITE_CK =SIMP(statut='f',typ='I',defaut=71),
14412 PAS =SIMP(statut='f',typ='R' ),
14413 CSTE_CONNORS =SIMP(statut='f',typ='R',min=2,max=2,val_min=0.E+00),
14414 NB_CONNORS =SIMP(statut='f',typ='I',val_min=2,),
14415 RHO_TUBE =SIMP(statut='f',typ='R' ),
14417 GRAPPE =FACT(statut='f',
14418 regles=(ENSEMBLE('GRAPPE_2','NOEUD','CARA_ELEM','MODELE','RHO_FLUI',),
14419 PRESENT_PRESENT('COEF_MASS_AJOU','GRAPPE_2', ),),
14420 # peut on créer un bloc a partir de la valeur de couplage
14421 COUPLAGE =SIMP(statut='o',typ='TXM',into=("OUI","NON") ),
14422 GRAPPE_2 =SIMP(statut='f',typ='TXM',
14423 into=("ASC_CEN","ASC_EXC","DES_CEN","DES_EXC") ),
14424 NOEUD =SIMP(statut='f',typ=no),
14425 CARA_ELEM =SIMP(statut='f',typ=cara_elem ),
14426 MODELE =SIMP(statut='f',typ=modele_sdaster ),
14427 COEF_MASS_AJOU =SIMP(statut='f',typ='R' ),
14428 RHO_FLUI =SIMP(statut='f',typ='R' ),
14429 UNITE_CA =SIMP(statut='f',typ='I',defaut=70),
14430 UNITE_KA =SIMP(statut='f',typ='I',defaut=71),
14432 FAISCEAU_AXIAL =FACT(statut='f',max='**',
14433 regles=(UN_PARMI('GROUP_MA','TRI_GROUP_MA'),
14434 UN_PARMI('CARA_ELEM','RAYON_TUBE'),
14435 ENSEMBLE('RAYON_TUBE','COOR_TUBE'),
14436 PRESENT_ABSENT('RAYON_TUBE','TRI_GROUP_MA'),
14437 ENSEMBLE('CARA_PAROI','VALE_PAROI'),
14438 ENSEMBLE('LONG_TYPG','LARG_TYPG','EPAI_TYPG','RUGO_TYPG','COEF_TRAI_TYPG','COEF_DPOR_TYPG',
14439 'COOR_GRILLE','TYPE_GRILLE', ),),
14440 # on doit pouvoir mettre des blocs conditionnels mais pas assez d infos pour le faire
14441 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
14442 TRI_GROUP_MA =SIMP(statut='f',typ='TXM' ),
14443 VECT_X =SIMP(statut='f',typ='R',max=3),
14444 PROF_RHO_FLUI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
14445 PROF_VISC_CINE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
14446 CARA_ELEM =SIMP(statut='f',typ=cara_elem ),
14447 RAYON_TUBE =SIMP(statut='f',typ='R' ),
14448 COOR_TUBE =SIMP(statut='f',typ='R',max='**'),
14449 PESANTEUR =SIMP(statut='f',typ='R',min=4,max=4),
14450 RUGO_TUBE =SIMP(statut='f',typ='R' ),
14451 CARA_PAROI =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=5,
14452 into=("YC","ZC","R","HY","HZ") ),
14453 VALE_PAROI =SIMP(statut='f',typ='R',max=5),
14454 ANGL_VRIL =SIMP(statut='f',typ='R' ),
14455 LONG_TYPG =SIMP(statut='f',typ='R',max='**',val_min=0.E+0),
14456 LARG_TYPG =SIMP(statut='f',typ='R',max='**',val_min=0.E+0),
14457 EPAI_TYPG =SIMP(statut='f',typ='R',max='**',val_min=0.E+0),
14458 RUGO_TYPG =SIMP(statut='f',typ='R',max='**',val_min=0.E+0),
14459 COEF_TRAI_TYPG =SIMP(statut='f',typ='R',max='**',val_min=0.E+0),
14460 COEF_DPOR_TYPG =SIMP(statut='f',typ='R',max='**'),
14461 COOR_GRILLE =SIMP(statut='f',typ='R',max='**'),
14462 TYPE_GRILLE =SIMP(statut='f',typ='I',max='**'),
14464 COQUE_COAX =FACT(statut='f',
14465 MASS_AJOU =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
14466 GROUP_MA_INT =SIMP(statut='o',typ=grma),
14467 GROUP_MA_EXT =SIMP(statut='o',typ=grma),
14468 VECT_X =SIMP(statut='o',typ='R',max='**'),
14469 CARA_ELEM =SIMP(statut='o',typ=cara_elem ),
14470 MATER_INT =SIMP(statut='o',typ=mater_sdaster ),
14471 MATER_EXT =SIMP(statut='o',typ=mater_sdaster ),
14472 RHO_FLUI =SIMP(statut='o',typ='R' ),
14473 VISC_CINE =SIMP(statut='o',typ='R' ),
14474 RUGOSITE =SIMP(statut='o',typ='R' ),
14475 PDC_MOY_1 =SIMP(statut='o',typ='R' ),
14476 PDC_DYN_1 =SIMP(statut='o',typ='R' ),
14477 PDC_MOY_2 =SIMP(statut='o',typ='R' ),
14478 PDC_DYN_2 =SIMP(statut='o',typ='R' ),
14480 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
14483 # ======================================================================
14484 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
14485 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14486 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14487 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
14488 # (AT YOUR OPTION) ANY LATER VERSION.
14490 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
14491 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
14492 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
14493 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
14495 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
14496 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
14497 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
14498 # ======================================================================
14499 # person_in_charge: nicolas.relun at edf.fr
14502 DEFI_FONC_ELEC=MACRO(nom="DEFI_FONC_ELEC",
14503 op=OPS('Macro.defi_fonc_elec_ops.defi_fonc_elec_ops'),
14504 sd_prod=fonction_sdaster,
14506 UIinfo={"groupes":("Outils-métier",)},
14507 fr="Définir une fonction du temps intervenant dans le calcul des " \
14508 "forces de LAPLACE",
14509 regles=(UN_PARMI('COUR_PRIN','COUR'),
14510 EXCLUS('COUR','COUR_SECO'), ),
14511 FREQ =SIMP(statut='f',typ='R',defaut= 50.),
14512 SIGNAL =SIMP(statut='f',typ='TXM',defaut="COMPLET",into=("COMPLET","CONTINU") ),
14513 COUR =FACT(statut='f',max='**',
14514 fr="Définition du courant de court-circuit",
14515 regles=(UN_PARMI('PHI_CC_1','INTC_CC_1'),
14516 UN_PARMI('PHI_CC_2','INTC_CC_2'),),
14517 INTE_CC_1 =SIMP(statut='o',typ='R'),
14518 TAU_CC_1 =SIMP(statut='o',typ='R'),
14519 PHI_CC_1 =SIMP(statut='f',typ='R'),
14520 INTC_CC_1 =SIMP(statut='f',typ='R'),
14521 INTE_CC_2 =SIMP(statut='o',typ='R'),
14522 TAU_CC_2 =SIMP(statut='o',typ='R'),
14523 PHI_CC_2 =SIMP(statut='f',typ='R'),
14524 INTC_CC_2 =SIMP(statut='f',typ='R'),
14525 INST_CC_INIT =SIMP(statut='o',typ='R'),
14526 INST_CC_FIN =SIMP(statut='o',typ='R'),
14528 COUR_PRIN =FACT(statut='f',
14529 fr="Définition du courant de court-circuit avec réenclenchement",
14530 regles=(UN_PARMI('PHI_CC_1','INTC_CC_1'),),
14531 INTE_CC_1 =SIMP(statut='o',typ='R'),
14532 TAU_CC_1 =SIMP(statut='o',typ='R'),
14533 PHI_CC_1 =SIMP(statut='f',typ='R'),
14534 INTC_CC_1 =SIMP(statut='f',typ='R'),
14535 INTE_RENC_1 =SIMP(statut='f',typ='R'),
14536 TAU_RENC_1 =SIMP(statut='f',typ='R'),
14537 PHI_RENC_1 =SIMP(statut='f',typ='R'),
14538 INST_CC_INIT =SIMP(statut='o',typ='R'),
14539 INST_CC_FIN =SIMP(statut='o',typ='R'),
14540 INST_RENC_INIT =SIMP(statut='f',typ='R',defaut= 0.0E+0),
14541 INST_RENC_FIN =SIMP(statut='f',typ='R',defaut= 0.0E+0),
14543 COUR_SECO =FACT(statut='f',max='**',
14544 fr="Définition du courant de court-circuit avec un intervalle de temps différent de celui de COUR_PRIN",
14545 regles=(UN_PARMI('PHI_CC_2','INTC_CC_2'),),
14546 INTE_CC_2 =SIMP(statut='o',typ='R'),
14547 TAU_CC_2 =SIMP(statut='o',typ='R'),
14548 PHI_CC_2 =SIMP(statut='f',typ='R'),
14549 INTC_CC_2 =SIMP(statut='f',typ='R'),
14550 INTE_RENC_2 =SIMP(statut='f',typ='R'),
14551 TAU_RENC_2 =SIMP(statut='f',typ='R'),
14552 PHI_RENC_2 =SIMP(statut='f',typ='R'),
14553 DIST =SIMP(statut='f',typ='R',defaut=1.0E+0),
14555 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
14558 # ======================================================================
14559 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
14560 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14561 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14562 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
14563 # (AT YOUR OPTION) ANY LATER VERSION.
14565 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
14566 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
14567 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
14568 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
14570 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
14571 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
14572 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
14573 # ======================================================================
14574 # person_in_charge: andre.adobes at edf.fr
14575 DEFI_FONC_FLUI=OPER(nom="DEFI_FONC_FLUI",op= 142,sd_prod=fonction_sdaster,
14577 fr="Définit un profil de vitesse d'écoulement fluide le long d'une poutre",
14578 UIinfo={"groupes":("Modélisation","Fonctions",)},
14579 MAILLAGE =SIMP(statut='o',typ=(maillage_sdaster) ),
14580 NOEUD_INIT =SIMP(statut='o',typ=no),
14581 NOEUD_FIN =SIMP(statut='o',typ=no),
14582 VITE =FACT(statut='o',
14583 VALE =SIMP(statut='f',typ='R',defaut= 1. ),
14584 PROFIL =SIMP(statut='o',typ='TXM',into=("UNIFORME","LEONARD") ),
14585 NB_BAV =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 2 , 3 ) ),
14587 INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",
14588 into=("NON","LIN","LOG") ),
14589 PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",
14590 into=("CONSTANT","LINEAIRE","EXCLU") ),
14591 PROL_GAUCHE =SIMP(statut='f',typ='TXM' ,defaut="EXCLU",
14592 into=("CONSTANT","LINEAIRE","EXCLU") ),
14593 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
14594 TITRE =SIMP(statut='f',typ='TXM',max='**'),
14597 # ======================================================================
14598 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
14599 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14600 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14601 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
14602 # (AT YOUR OPTION) ANY LATER VERSION.
14604 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
14605 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
14606 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
14607 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
14609 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
14610 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
14611 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
14612 # ======================================================================
14613 # person_in_charge: mathieu.courtois at edf.fr
14614 def defi_fonction_prod(VALE,VALE_PARA,VALE_C,NOEUD_PARA,ABSCISSE,**args):
14615 if VALE != None : return fonction_sdaster
14616 if VALE_C != None : return fonction_c
14617 if VALE_PARA != None : return fonction_sdaster
14618 if ABSCISSE != None : return fonction_sdaster
14619 if NOEUD_PARA != None : return fonction_sdaster
14620 raise AsException("type de concept resultat non prevu")
14622 DEFI_FONCTION=OPER(nom="DEFI_FONCTION",op=3,sd_prod=defi_fonction_prod
14623 ,fr="Définit une fonction réelle ou complexe d'une variable réelle",
14625 UIinfo={"groupes":("Fonctions",)},
14626 regles=(UN_PARMI('VALE','VALE_C','VALE_PARA','NOEUD_PARA','ABSCISSE'),),
14627 NOM_PARA =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ),
14628 NOM_RESU =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"),
14629 VALE =SIMP(statut='f',typ='R',min=2,max='**',
14630 fr ="Fonction réelle définie par une liste de couples "
14631 "(abscisse,ordonnée)"),
14632 ABSCISSE =SIMP(statut='f',typ='R',min=2,max='**',
14633 fr ="Liste d abscisses d une fonction réelle"),
14634 VALE_C =SIMP(statut='f',typ='R',min=2,max='**',
14635 fr ="Fonction complexe définie par une liste de triplets "
14636 "(absc, partie réelle, partie imaginaire)"),
14637 VALE_PARA =SIMP(statut='f',typ=listr8_sdaster,
14638 fr ="Fonction réelle définie par deux concepts de type listr8" ),
14639 b_vale_para =BLOC(condition = "VALE_PARA != None",
14640 VALE_FONC =SIMP(statut='o',typ=listr8_sdaster ),
14642 b_abscisse =BLOC(condition = "ABSCISSE != None",
14643 ORDONNEE =SIMP(statut='o',typ='R',min=2,max='**',
14644 fr ="Liste d ordonnées d une fonction réelle"),
14646 NOEUD_PARA =SIMP(statut='f',typ=no,max='**',
14647 fr ="Fonction réelle définie par une liste de noeuds et un maillage"),
14648 b_noeud_para =BLOC(condition = "NOEUD_PARA != None",
14649 MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ),
14650 VALE_Y =SIMP(statut='o',typ='R',max='**'),
14653 INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
14654 PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
14655 PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
14656 VERIF =SIMP(statut='f',typ='TXM',defaut="CROISSANT",into=("CROISSANT","NON") ),
14657 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
14658 TITRE =SIMP(statut='f',typ='TXM',max='**'),
14661 # ======================================================================
14662 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
14663 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14664 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14665 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
14666 # (AT YOUR OPTION) ANY LATER VERSION.
14668 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
14669 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
14670 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
14671 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
14673 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
14674 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
14675 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
14676 # ======================================================================
14677 # person_in_charge: samuel.geniaut at edf.fr
14679 DEFI_FOND_FISS=OPER(nom="DEFI_FOND_FISS",
14683 UIinfo={"groupes":("Modélisation",)},fr="Définition de lèvres et d'un fond de fissure",
14685 MAILLAGE = SIMP(statut='o',typ=maillage_sdaster ),
14686 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
14688 # definition du fond de fissure
14689 FOND_FISS = FACT(statut='o',max=2,
14691 TYPE_FOND = SIMP(statut='f',typ='TXM',into=("OUVERT","FERME","INF","SUP"),defaut="OUVERT"),
14693 NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
14694 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1 ),
14695 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1 ),
14696 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
14697 regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
14699 # possibilite d'ordonnencement automatique du fond si groupe de mailles
14700 b_grma = BLOC(condition = "(GROUP_MA != None or MAILLE != None) and TYPE_FOND != 'FERME'",
14701 NOEUD_ORIG =SIMP(statut='f',typ=no, max=1),
14702 GROUP_NO_ORIG =SIMP(statut='f',typ=grno,max=1),
14703 regles=(EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),),
14706 b_ordo = BLOC(condition = "NOEUD_ORIG != None or GROUP_NO_ORIG != None",
14707 NOEUD_EXTR = SIMP(statut='f',typ=no, max=1),
14708 GROUP_NO_EXTR = SIMP(statut='f',typ=grno,max=1),
14709 regles=(EXCLUS('NOEUD_EXTR','GROUP_NO_EXTR'),),
14712 # possibilite d'ordonnencement automatique du fond si groupe de mailles
14713 b_grma_ferme= BLOC(condition = "(GROUP_MA != None or MAILLE != None) and TYPE_FOND == 'FERME'",
14714 NOEUD_ORIG =SIMP(statut='f',typ=no, max=1),
14715 GROUP_NO_ORIG =SIMP(statut='f',typ=grno,max=1),
14716 regles=(EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),),
14719 b_ordo_ferme = BLOC(condition = "NOEUD_ORIG != None or GROUP_NO_ORIG != None",
14720 MAILLE_ORIG = SIMP(statut='f',typ=ma, max=1),
14721 GROUP_MA_ORIG = SIMP(statut='f',typ=grma, max=1),
14722 regles=(UN_PARMI('MAILLE_ORIG','GROUP_MA_ORIG'),),
14725 # definition des directions des tangentes aux bords (uniquement pour les fonds non fermes)
14726 b_dtan = BLOC(condition = "TYPE_FOND != 'FERME'",
14727 DTAN_ORIG =SIMP(statut='f',typ='R',max='**'),
14728 DTAN_EXTR =SIMP(statut='f',typ='R',max='**'),
14729 VECT_GRNO_ORIG =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
14730 VECT_GRNO_EXTR =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
14731 regles=(EXCLUS('DTAN_ORIG','VECT_GRNO_ORIG'),
14732 EXCLUS('DTAN_EXTR','VECT_GRNO_EXTR'),),
14736 CONFIG_INIT = SIMP(statut='f',typ='TXM',into=("COLLEE","DECOLLEE"), defaut="COLLEE",position='global'),
14738 SYME = SIMP(statut='f',typ='TXM',into=("OUI","NON"), defaut="NON", position='global'),
14740 # remarque : dans le cas symetrique, il faut soit LEVRE_SUP, soit DTAN_ORIG
14741 # mais impossible de faire une regle.
14743 LEVRE_SUP =FACT(statut='f',max=1,
14744 regles=(UN_PARMI('GROUP_MA','MAILLE'),),
14745 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
14746 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
14749 b_levre_inf = BLOC(condition = "LEVRE_SUP != None and SYME == 'NON'",
14751 LEVRE_INF =FACT(statut='o',max=1,
14752 regles=(UN_PARMI('GROUP_MA','MAILLE'),),
14753 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
14754 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
14758 # dans le cas decolle
14759 b_decolle = BLOC(condition = "CONFIG_INIT == 'DECOLLEE'",
14760 NORMALE =SIMP(statut='o',typ='R',max=3),),
14762 PREC_NORM = SIMP(statut='f',typ='R',defaut=0.1),
14766 # ======================================================================
14767 # COPYRIGHT (C) 1991 - 2007 EDF R&D WWW.CODE-ASTER.ORG
14768 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14769 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14770 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
14771 # (AT YOUR OPTION) ANY LATER VERSION.
14773 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
14774 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
14775 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
14776 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
14778 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
14779 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
14780 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
14781 # ======================================================================
14782 # person_in_charge: jean-luc.flejou at edf.fr
14784 DEFI_GEOM_FIBRE=OPER(nom="DEFI_GEOM_FIBRE",op= 119, sd_prod=gfibre_sdaster,
14785 fr="Definition des groupes de fibres pour les elements multifibres",
14787 UIinfo={"groupes":("Modélisation",)},
14788 regles=(AU_MOINS_UN('SECTION','FIBRE'),),
14790 INFO =SIMP(statut='f',typ='I', defaut= 1 ,into=(1,2) ),
14791 #============================================================================
14792 SECTION =FACT(statut='f',max='**',
14793 regles=(AU_MOINS_UN('TOUT_SECT','GROUP_MA_SECT','MAILLE_SECT'),
14794 PRESENT_ABSENT('TOUT_SECT','GROUP_MA_SECT','MAILLE_SECT'),),
14796 GROUP_FIBRE =SIMP(statut='o',typ='TXM',min=1,max=1),
14797 TOUT_SECT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
14798 GROUP_MA_SECT =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
14799 MAILLE_SECT =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
14801 MAILLAGE_SECT =SIMP(statut='o',typ=maillage_sdaster),
14802 COOR_AXE_POUTRE =SIMP(statut='o',typ='R',min=2,max=2),
14806 #============================================================================
14807 FIBRE =FACT(statut='f',max='**',
14808 GROUP_FIBRE =SIMP(statut='o',typ='TXM',min=1,max=1),
14809 CARA =SIMP(statut='f',typ='TXM',defaut='SURFACE',into=('SURFACE','DIAMETRE',)),
14810 VALE =SIMP(statut='o',typ='R',max='**'),
14811 COOR_AXE_POUTRE =SIMP(statut='o',typ='R',min=2,max=2),
14817 # ======================================================================
14818 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
14819 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14820 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14821 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
14822 # (AT YOUR OPTION) ANY LATER VERSION.
14824 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
14825 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
14826 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
14827 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
14829 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
14830 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
14831 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
14832 # ======================================================================
14833 # person_in_charge: sebastien.fayolle at edf.fr
14834 DEFI_GLRC=OPER(nom="DEFI_GLRC",op=57,sd_prod=mater_sdaster,reentrant='f',
14835 UIinfo={"groupes":("Modélisation",)},
14836 fr="Déterminer les caractéristiques homogenéisées du béton armé à partir des propriétés du béton et des "
14838 reuse = SIMP(statut='f',typ=mater_sdaster),
14839 RELATION = SIMP(statut='o',typ='TXM',defaut="GLRC_DAMAGE",
14840 into=("GLRC_DM","GLRC_DAMAGE"),),
14842 b_glrc_dm=BLOC(condition = "RELATION == 'GLRC_DM'",
14843 fr="Paramètres de la loi GLRC_DM",
14844 BETON = FACT(statut='o',max=1,
14845 MATER = SIMP(statut='o',typ=(mater_sdaster),),
14846 EPAIS = SIMP(statut='o',typ='R',val_min=0.E+0 ),),
14847 NAPPE = FACT(statut='o',max=1,
14848 MATER = SIMP(statut='o',typ=(mater_sdaster),),
14849 OMY = SIMP(statut='o',typ='R',val_min=0.E+0,),
14850 OMX = SIMP(statut='o',typ='R',val_min=0.E+0,),
14851 RY = SIMP(statut='o',typ='R',val_min=-1.0E+0,val_max=1.0E+0,),
14852 RX = SIMP(statut='o',typ='R',val_min=-1.0E+0,val_max=1.0E+0),),
14853 RHO = SIMP(statut='f',typ='R',val_min=0.E+0,),
14854 AMOR_ALPHA = SIMP(statut='f',typ='R',val_min=0.E+0,),
14855 AMOR_BETA = SIMP(statut='f',typ='R',val_min=0.E+0,),
14856 AMOR_HYST = SIMP(statut='f',typ='R',val_min=0.E+0,),
14857 COMPR = SIMP(statut='o',typ='TXM',defaut="GAMMA",
14858 into=("GAMMA","SEUIL")),
14859 b_gamma=BLOC(condition = "COMPR == 'GAMMA'",
14860 fr="Paramètre d'endommagement en compression ",
14861 GAMMA_C = SIMP(statut='o',typ='R',defaut=1.0E+0,val_min=0.0E+0, val_max=1.0E+0),),
14862 b_seuil=BLOC(condition = "COMPR == 'SEUIL'",
14863 fr="Seuil d'endommagement en compression ",
14864 NYC = SIMP(statut='o',typ='R'),),
14865 PENTE = SIMP(statut='o',typ='TXM',defaut="RIGI_ACIER",
14866 into=("PLAS_ACIER","UTIL","RIGI_ACIER")),
14867 b_util = BLOC(condition = "PENTE == 'UTIL'",
14868 fr="Valeur de la déformation maximale de l'élément",
14869 EPSI_MEMB = SIMP(statut='o',typ='R',defaut=0.E+0),
14870 KAPPA_FLEX = SIMP(statut='o',typ='R',defaut=0.E+0),),
14871 CISAIL = SIMP(statut='o',typ='TXM',defaut="NON",
14872 into=("OUI","NON"),),
14873 METHODE_ENDO = SIMP(statut='o',typ='TXM',defaut="ENDO_INTER",
14874 into=("ENDO_NAISS","ENDO_LIM","ENDO_INTER"),),
14875 INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2),),
14877 b_glrc_damage=BLOC(condition = "RELATION == 'GLRC_DAMAGE'",
14878 fr="Paramètres de la loi GLRC_DAMAGE",
14879 CISAIL_NL =FACT(statut='f',max=1,
14880 BTD1 =SIMP(statut='o',typ='R'),
14881 BTD2 =SIMP(statut='o',typ='R'),
14882 TSD =SIMP(statut='o',typ='R'),
14884 BETON =FACT(statut='o',max=1,
14885 regles=(ENSEMBLE('MP1X', 'MP1Y', 'MP2X', 'MP2Y'),
14886 ENSEMBLE('MP1X_FO', 'MP1Y_FO', 'MP2X_FO', 'MP2Y_FO'),
14887 PRESENT_ABSENT('MP1X', 'MP1X_FO', 'MP1Y_FO', 'MP2X_FO', 'MP2Y_FO'),
14888 ENSEMBLE('OMT', 'EAT'),
14889 ENSEMBLE('BT1','BT2'),),
14890 MATER =SIMP(statut='o',typ=(mater_sdaster) ),
14891 EPAIS =SIMP(statut='o',typ='R',val_min=0.E+0 ),
14892 GAMMA =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=1.E+0),
14893 QP1 =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=1.E+0),
14894 QP2 =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=1.E+0),
14896 C1N1 =SIMP(statut='o',typ='R',val_min=0.E+0),
14897 C1N2 =SIMP(statut='o',typ='R',val_min=0.E+0),
14898 C1N3 =SIMP(statut='o',typ='R',val_min=0.E+0),
14899 C2N1 =SIMP(statut='o',typ='R',val_min=0.E+0),
14900 C2N2 =SIMP(statut='o',typ='R',val_min=0.E+0),
14901 C2N3 =SIMP(statut='o',typ='R',val_min=0.E+0),
14902 C1M1 =SIMP(statut='o',typ='R',val_min=0.E+0),
14903 C1M2 =SIMP(statut='o',typ='R',val_min=0.E+0),
14904 C1M3 =SIMP(statut='o',typ='R',val_min=0.E+0),
14905 C2M1 =SIMP(statut='o',typ='R',val_min=0.E+0),
14906 C2M2 =SIMP(statut='o',typ='R',val_min=0.E+0),
14907 C2M3 =SIMP(statut='o',typ='R',val_min=0.E+0),
14909 OMT =SIMP(statut='f',typ='R',val_min=0.E+0),
14910 EAT =SIMP(statut='f',typ='R',val_min=0.E+0),
14911 BT1 =SIMP(statut='f',typ='R',val_min=0.E+0),
14912 BT2 =SIMP(statut='f',typ='R',val_min=0.E+0),
14914 MP1X =SIMP(statut='f',typ='R'),
14915 MP2X =SIMP(statut='f',typ='R'),
14916 MP1Y =SIMP(statut='f',typ='R'),
14917 MP2Y =SIMP(statut='f',typ='R'),
14919 MP1X_FO =SIMP(statut='f',typ=fonction_sdaster),
14920 MP2X_FO =SIMP(statut='f',typ=fonction_sdaster),
14921 MP1Y_FO =SIMP(statut='f',typ=fonction_sdaster),
14922 MP2Y_FO =SIMP(statut='f',typ=fonction_sdaster),
14924 NAPPE =FACT(statut='o',max=10,
14925 MATER =SIMP(statut='o',typ=(mater_sdaster) ),
14926 OMX =SIMP(statut='o',typ='R',val_min=0.E+0),
14927 OMY =SIMP(statut='o',typ='R',val_min=0.E+0),
14928 RX =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0),
14929 RY =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0),
14931 CABLE_PREC =FACT(statut='f',max=1,
14932 MATER =SIMP(statut='o',typ=(mater_sdaster) ),
14933 OMX =SIMP(statut='o',typ='R',val_min=0.E+0),
14934 OMY =SIMP(statut='o',typ='R',val_min=0.E+0),
14935 RX =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0),
14936 RY =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0),
14937 PREX =SIMP(statut='o',typ='R'),
14938 PREY =SIMP(statut='o',typ='R'),
14940 LINER =FACT(statut='f',max=10,
14941 MATER =SIMP(statut='o',typ=(mater_sdaster) ),
14942 OML =SIMP(statut='o',typ='R',val_min=0.E+0),
14943 RLR =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0),
14945 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2),),
14949 # ======================================================================
14950 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
14951 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14952 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14953 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
14954 # (AT YOUR OPTION) ANY LATER VERSION.
14956 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
14957 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
14958 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
14959 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
14961 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
14962 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
14963 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
14964 # ======================================================================
14965 # person_in_charge: samuel.geniaut at edf.fr
14966 DEFI_GRILLE=OPER(nom="DEFI_GRILLE",op=82,sd_prod=grille_sdaster,reentrant='n',
14967 UIinfo={"groupes":("Modélisation",)},
14968 fr="Définition d'une grille",
14970 MAILLAGE = SIMP(statut='o',typ=maillage_sdaster),
14972 INFO = SIMP(statut='f',typ='I',defaut= 0,into=(0,1,2) ),
14975 # ======================================================================
14976 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
14977 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
14978 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
14979 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
14980 # (AT YOUR OPTION) ANY LATER VERSION.
14982 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
14983 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
14984 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
14985 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
14987 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
14988 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
14989 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
14990 # ======================================================================
14991 # person_in_charge: jacques.pellet at edf.fr
14992 def defi_group_prod(MAILLAGE,GRILLE,**args):
14993 if ( MAILLAGE != None ) :
14994 if AsType(MAILLAGE) == maillage_sdaster : return maillage_sdaster
14995 if AsType(MAILLAGE) == squelette : return squelette
14996 if ( GRILLE != None ) :
14997 return grille_sdaster
14998 raise AsException("type de concept resultat non prevu")
15000 DEFI_GROUP=OPER(nom="DEFI_GROUP",op= 104,sd_prod=defi_group_prod,
15001 fr="Définition de nouveaux groupes de noeuds et/ou de mailles dans un concept maillage",
15003 UIinfo={"groupes":("Maillage",)},
15004 regles=(AU_MOINS_UN('CREA_GROUP_MA','CREA_GROUP_NO','DETR_GROUP_NO','DETR_GROUP_MA'),
15005 UN_PARMI('MAILLAGE','GRILLE'),),
15006 MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster,squelette) ),
15007 GRILLE =SIMP(statut='f',typ=(grille_sdaster) ),
15008 DETR_GROUP_MA =FACT(statut='f',max='**',
15009 NOM =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),),
15010 DETR_GROUP_NO =FACT(statut='f',max='**',
15011 NOM =SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**'),),
15014 CREA_GROUP_MA =FACT(statut='f',max='**',
15015 regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','INTERSEC','UNION','DIFFE','OPTION'),),
15016 NOM =SIMP(statut='o',typ=grma),
15017 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
15018 GROUP_MA =SIMP(statut='f',typ=grma),
15019 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
15020 INTERSEC =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
15021 UNION =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
15022 DIFFE =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
15023 TYPE_MAILLE =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","1D","2D","3D",
15024 "POI1","SEG2","SEG3","SEG4","TRIA3","TRIA6","TRIA7",
15025 "QUAD4","QUAD8","QUAD9","TETRA4","TETRA10",
15026 "PENTA6","PENTA15","PENTA18","HEXA8","HEXA20","HEXA27",
15027 "PYRAM5","PYRAM13",),max=1 ),
15029 OPTION =SIMP(statut='f',typ='TXM',into=("FACE_NORMALE","SPHERE","CYLINDRE",
15030 "BANDE","APPUI_LACHE","APPUI","FISS_XFEM") ),
15031 b_group_ma =BLOC(condition = "GROUP_MA != None",
15032 regles=(EXCLUS('POSITION','NUME_INIT'),),
15033 NUME_INIT =SIMP(statut='f',typ='I'),
15034 POSITION =SIMP(statut='f',typ='TXM',into=("INIT","FIN","MILIEU") ),
15035 b_nume_init =BLOC(condition = "NUME_INIT != None",
15036 NUME_FIN =SIMP(statut='f',typ='I' ),
15039 b_face_normale =BLOC(condition = "OPTION == 'FACE_NORMALE'",
15040 regles=(UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
15041 ANGL_NAUT =SIMP(statut='f',typ='R',max=2),
15042 VECT_NORMALE =SIMP(statut='f',typ='R',max=3),
15043 ANGL_PREC =SIMP(statut='f',typ='R',defaut= 0.5 ),
15044 VERI_SIGNE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
15046 b_sphere =BLOC(condition = "OPTION == 'SPHERE'",
15047 regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),),
15048 POINT =SIMP(statut='f',typ='R',max=3),
15049 NOEUD_CENTRE =SIMP(statut='f',typ=no),
15050 GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
15051 RAYON =SIMP(statut='o',typ='R' ),
15052 CRIT_NOEUD = SIMP(statut='f',typ='TXM',defaut="AU_MOINS_UN",
15053 into=("TOUS","AU_MOINS_UN","MAJORITE"),),
15055 b_cylindre =BLOC(condition = "OPTION == 'CYLINDRE'",
15056 regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),
15057 UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
15058 POINT =SIMP(statut='f',typ='R',max=3),
15059 NOEUD_CENTRE =SIMP(statut='f',typ=no),
15060 GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
15061 RAYON =SIMP(statut='o',typ='R' ),
15062 ANGL_NAUT =SIMP(statut='f',typ='R',max=2),
15063 VECT_NORMALE =SIMP(statut='f',typ='R',max=3),
15064 CRIT_NOEUD = SIMP(statut='f',typ='TXM',defaut="AU_MOINS_UN",
15065 into=("TOUS","AU_MOINS_UN","MAJORITE"),),
15067 b_bande =BLOC(condition = "OPTION == 'BANDE'",
15068 regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),
15069 UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
15070 POINT =SIMP(statut='f',typ='R' ,max=3),
15071 NOEUD_CENTRE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1),
15072 GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
15073 DIST =SIMP(statut='o',typ='R' ),
15074 ANGL_NAUT =SIMP(statut='f',typ='R',max=2),
15075 VECT_NORMALE =SIMP(statut='f',typ='R',max=3),
15076 CRIT_NOEUD = SIMP(statut='f',typ='TXM',defaut="AU_MOINS_UN",
15077 into=("TOUS","AU_MOINS_UN","MAJORITE"),),
15079 b_app_lache =BLOC(condition = "OPTION == 'APPUI_LACHE'",
15080 regles=(UN_PARMI('NOEUD','GROUP_NO'),),
15081 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
15082 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
15084 b_appui =BLOC(condition = "OPTION == 'APPUI'",
15085 regles=(UN_PARMI('NOEUD','GROUP_NO'),),
15086 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
15087 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
15088 TYPE_APPUI =SIMP(statut='o',typ='TXM',max=1, into=('AU_MOINS_UN','TOUT','SOMMET','MAJORITE')),
15090 b_fiss_xfem =BLOC(condition = "OPTION == 'FISS_XFEM'",
15091 TYPE_GROUP =SIMP(statut='o',typ='TXM',max=1,defaut='XFEM',
15092 into=('HEAVISIDE','CRACKTIP','MIXTE','FISSUREE','XFEM',),),
15093 FISSURE =SIMP(statut='o',typ=fiss_xfem,min=1,max='**'),
15098 CREA_GROUP_NO =FACT(statut='f',max='**',
15099 OPTION =SIMP(statut='f',typ='TXM',into=("ENV_SPHERE","ENV_CYLINDRE","PLAN",
15100 "SEGM_DROI_ORDO","NOEUD_ORDO","TUNNEL",
15101 "INCLUSION","FISS_XFEM","INTERVALLE_VALE") ),
15103 b_option =BLOC(condition = "OPTION == None" ,
15104 regles=(UN_PARMI('TOUT_GROUP_MA','GROUP_MA','GROUP_NO','NOEUD',
15105 'INTERSEC','UNION','DIFFE'),),
15106 TOUT_GROUP_MA =SIMP(statut='f',typ='TXM',into=("OUI",) ),
15107 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
15108 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
15109 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
15110 INTERSEC =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
15111 UNION =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
15112 DIFFE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
15114 b_nom_group_ma =BLOC(condition = "GROUP_MA != None",
15115 NOM = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
15116 CRIT_NOEUD = SIMP(statut='f',typ='TXM',defaut="TOUS",
15117 into=("TOUS","SOMMET","MILIEU","CENTRE"),),
15119 b_group_no =BLOC(condition = "GROUP_NO != None",
15120 regles=(EXCLUS('POSITION','NUME_INIT'),),
15121 NUME_INIT =SIMP(statut='f',typ='I'),
15122 POSITION =SIMP(statut='f',typ='TXM',into=("INIT","FIN","MILIEU") ),
15123 b_nume_init =BLOC(condition = "NUME_INIT != None",
15124 NUME_FIN =SIMP(statut='f',typ='I' ),
15127 b_nom =BLOC(condition = "GROUP_MA == None and TOUT_GROUP_MA == None" ,
15128 NOM =SIMP(statut='o',typ=grma),
15132 b_env_sphere =BLOC(condition = "OPTION == 'ENV_SPHERE'",
15133 regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),),
15134 NOM =SIMP(statut='o',typ=grno),
15135 POINT =SIMP(statut='f',typ='R' ,max=3),
15136 NOEUD_CENTRE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1),
15137 GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
15138 RAYON =SIMP(statut='o',typ='R' ),
15139 PRECISION =SIMP(statut='o',typ='R' ),
15141 b_env_cylindre =BLOC(condition = "OPTION == 'ENV_CYLINDRE'",
15142 regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),
15143 UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
15144 NOM =SIMP(statut='o',typ=grno),
15145 POINT =SIMP(statut='f',typ='R' ,max=3),
15146 NOEUD_CENTRE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1),
15147 GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
15148 RAYON =SIMP(statut='o',typ='R' ),
15149 ANGL_NAUT =SIMP(statut='f',typ='R',max=3),
15150 VECT_NORMALE =SIMP(statut='f',typ='R',max=3),
15151 PRECISION =SIMP(statut='o',typ='R' ),
15153 b_env_plan =BLOC(condition = "OPTION == 'PLAN'",
15154 regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),
15155 UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
15156 NOM =SIMP(statut='o',typ=grno),
15157 POINT =SIMP(statut='f',typ='R' ,max=3),
15158 NOEUD_CENTRE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1),
15159 GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
15160 ANGL_NAUT =SIMP(statut='f',typ='R' ,max=3),
15161 VECT_NORMALE =SIMP(statut='f',typ='R' ,max=3),
15162 PRECISION =SIMP(statut='o',typ='R' ),
15164 b_segm_droi_ordo=BLOC(condition = "OPTION == 'SEGM_DROI_ORDO'",
15165 regles=(AU_MOINS_UN('NOEUD','GROUP_NO'),
15166 UN_PARMI('NOEUD_ORIG','GROUP_NO_ORIG'),
15167 UN_PARMI('NOEUD_EXTR','GROUP_NO_EXTR'),),
15168 NOM =SIMP(statut='o',typ=grno),
15169 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
15170 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
15171 NOEUD_ORIG =SIMP(statut='f',typ=no),
15172 GROUP_NO_ORIG =SIMP(statut='f',typ=grno),
15173 NOEUD_EXTR =SIMP(statut='f',typ=no),
15174 GROUP_NO_EXTR =SIMP(statut='f',typ=grno),
15175 PRECISION =SIMP(statut='o',typ='R' ),
15176 CRITERE =SIMP(statut='o',typ='TXM',into=("ABSOLU","RELATIF") ),
15178 b_noeud_ordo =BLOC(condition = "OPTION == 'NOEUD_ORDO'",
15179 regles=(EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),
15180 EXCLUS('NOEUD_EXTR','GROUP_NO_EXTR'),),
15181 NOM =SIMP(statut='o',typ=grno),
15182 GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
15183 # si le groupe de mailles forme une ligne ouverte, on peut choisir le sens de parcours en choissant l'origine:
15184 # si le groupe de mailles forme une ligne fermée, il FAUT choisir l'origine et l'extrémité (= origine):
15185 NOEUD_ORIG =SIMP(statut='f',typ=no),
15186 GROUP_NO_ORIG =SIMP(statut='f',typ=grno),
15187 NOEUD_EXTR =SIMP(statut='f',typ=no),
15188 GROUP_NO_EXTR =SIMP(statut='f',typ=grno),
15189 # si le groupe de mailles forme une ligne fermée, on peut choisir le sens de parcours :
15190 VECT_ORIE =SIMP(statut='f',typ='R',max=3), # utilisé seulement si NOEUD_ORIG=NOEUD_EXTR
15193 b_tunnel =BLOC(condition = "OPTION == 'TUNNEL'",
15194 regles=(AU_MOINS_UN ('TOUT','GROUP_MA','MAILLE'),
15195 EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),
15196 AU_MOINS_UN ('GROUP_MA_AXE','MAILLE_AXE'),),
15197 NOM =SIMP(statut='o',typ=grma),
15198 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
15199 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
15200 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
15201 GROUP_MA_AXE =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
15202 MAILLE_AXE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
15203 NOEUD_ORIG =SIMP(statut='f',typ=no),
15204 GROUP_NO_ORIG =SIMP(statut='f',typ=grno),
15205 RAYON =SIMP(statut='o',typ='R'),
15206 LONGUEUR =SIMP(statut='f',typ='R'),
15208 b_inclusion =BLOC(condition = "OPTION == 'INCLUSION'",
15209 fr="""crée le groupe des noeuds des mailles de GROUP_MA inclus géométriquement
15210 dans les mailles de GROUP_MA_INCL""",
15211 NOM =SIMP(statut='o',typ=grma),
15212 CAS_FIGURE =SIMP(statut='o',typ='TXM',into=("2D","3D","2.5D",)),
15213 DISTANCE_MAX =SIMP(statut='f',typ='R',),
15214 GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
15215 GROUP_MA_INCL =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
15216 MAILLAGE_INCL =SIMP(statut='f',typ=maillage_sdaster),
15218 b_fiss_xfem =BLOC(condition = "OPTION == 'FISS_XFEM'",
15219 NOM =SIMP(statut='o',typ=grma),
15220 TYPE_GROUP =SIMP(statut='o',typ='TXM',max=1,into=('HEAVISIDE','CRACKTIP','MIXTE','XFEM','ZONE_MAJ','TORE')),
15221 FISSURE =SIMP(statut='o',typ=fiss_xfem,min=1,max='**'),
15222 b_rayon =BLOC(condition = "TYPE_GROUP == 'TORE'",
15223 RAYON_TORE =SIMP(statut='o',typ='R',max=1,val_min=0.0),
15226 b_intervalle_vale =BLOC(condition = "OPTION == 'INTERVALLE_VALE'",
15227 NOM =SIMP(statut='o',typ=grma),
15228 CHAM_GD =SIMP(statut='o',typ=cham_no_sdaster),
15229 NOM_CMP =SIMP(statut='o',typ='TXM',max=1),
15230 VALE =SIMP(statut='o',typ='R',min=2,max=2),
15233 ALARME =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
15234 INFO =SIMP(statut='f',typ='I',into=( 1 , 2 ) ),
15237 # ======================================================================
15238 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
15239 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15240 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15241 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
15242 # (AT YOUR OPTION) ANY LATER VERSION.
15244 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
15245 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
15246 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
15247 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
15249 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
15250 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
15251 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
15252 # ======================================================================
15253 # person_in_charge: irmela.zentner at edf.fr
15255 DEFI_INTE_SPEC=OPER(nom="DEFI_INTE_SPEC",op= 115,
15256 sd_prod=interspectre,
15258 fr="Définit une matrice interspectrale",
15259 UIinfo={"groupes":("Fonctions",)},
15261 DIMENSION =SIMP(statut='f',typ='I',defaut= 1 ),
15263 regles=(UN_PARMI('PAR_FONCTION','KANAI_TAJIMI','CONSTANT'),),
15265 PAR_FONCTION =FACT(statut='f',max='**',
15266 regles=(UN_PARMI('NUME_ORDRE_I','NOEUD_I'),),
15267 NOEUD_I =SIMP(statut='f',typ=no,max=1,),
15268 NUME_ORDRE_I =SIMP(statut='f',typ='I',max=1),
15269 b_nume_ordre_i = BLOC (condition = "NUME_ORDRE_I != None",
15270 NUME_ORDRE_J =SIMP(statut='o',typ='I',max=1),
15272 b_noeud_i = BLOC (condition = "NOEUD_I != None",
15273 NOEUD_J =SIMP(statut='o',typ=no,max=1,),
15274 NOM_CMP_I =SIMP(statut='o',typ='TXM',max=1,),
15275 NOM_CMP_J =SIMP(statut='o',typ='TXM',max=1,),
15277 FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c ),max=1),
15280 KANAI_TAJIMI =FACT(statut='f',max='**',
15281 regles=(EXCLUS('VALE_R','VALE_C'),
15282 UN_PARMI('NUME_ORDRE_I','NOEUD_I'),),
15283 NUME_ORDRE_I =SIMP(statut='f',typ='I',max=1),
15284 NOEUD_I =SIMP(statut='f',typ=no,max=1,),
15285 b_nume_ordre_i = BLOC (condition = "NUME_ORDRE_I != None",
15286 NUME_ORDRE_J =SIMP(statut='o',typ='I',max=1),
15288 b_noeud_i = BLOC (condition = "NOEUD_I != None",
15289 NOEUD_J =SIMP(statut='o',typ=no,max=1,),
15290 NOM_CMP_I =SIMP(statut='o',typ='TXM',max=1,),
15291 NOM_CMP_J =SIMP(statut='o',typ='TXM',max=1,),
15293 FREQ_MIN =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
15294 FREQ_MAX =SIMP(statut='f',typ='R',defaut= 100. ),
15295 PAS =SIMP(statut='f',typ='R',defaut= 1. ),
15296 AMOR_REDUIT =SIMP(statut='f',typ='R',defaut= 0.6 ),
15297 FREQ_MOY =SIMP(statut='f',typ='R',defaut= 5. ),
15298 VALE_R =SIMP(statut='f',typ='R' ),
15299 VALE_C =SIMP(statut='f',typ='C' ),
15300 INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
15301 PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
15302 PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
15304 CONSTANT =FACT(statut='f',max='**',
15305 regles=(EXCLUS('VALE_R','VALE_C'),
15306 UN_PARMI('NUME_ORDRE_I','NOEUD_I'),),
15307 NUME_ORDRE_I =SIMP(statut='f',typ='I',max=1),
15308 NOEUD_I =SIMP(statut='f',typ=no,max=1,),
15309 b_nume_ordre_i = BLOC (condition = "NUME_ORDRE_I != None",
15310 NUME_ORDRE_J =SIMP(statut='o',typ='I',max=1),
15312 b_noeud_i = BLOC (condition = "NOEUD_I != None",
15313 NOEUD_J =SIMP(statut='o',typ=no,max=1,),
15314 NOM_CMP_I =SIMP(statut='o',typ='TXM',max=1,),
15315 NOM_CMP_J =SIMP(statut='o',typ='TXM',max=1,),
15317 FREQ_MIN =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
15318 FREQ_MAX =SIMP(statut='f',typ='R',defaut= 100. ),
15319 PAS =SIMP(statut='f',typ='R',defaut= 1. ),
15320 VALE_R =SIMP(statut='f',typ='R' ),
15321 VALE_C =SIMP(statut='f',typ='C' ),
15322 INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
15323 PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
15324 PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
15326 TITRE =SIMP(statut='f',typ='TXM',max='**'),
15327 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
15330 # ======================================================================
15331 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
15332 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15333 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15334 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
15335 # (AT YOUR OPTION) ANY LATER VERSION.
15337 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
15338 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
15339 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
15340 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
15342 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
15343 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
15344 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
15345 # ======================================================================
15346 # person_in_charge: mathieu.corus at edf.fr
15348 DEFI_INTERF_DYNA=OPER(nom="DEFI_INTERF_DYNA",op= 98,sd_prod=interf_dyna_clas,
15350 UIinfo={"groupes":("Matrices et vecteurs","Dynamique",)},
15351 fr="Définir les interfaces d'une structure et leur affecter un type",
15352 NUME_DDL =SIMP(statut='o',typ=nume_ddl_sdaster ),
15353 INTERFACE =FACT(statut='o',max='**',
15354 regles=(ENSEMBLE('NOM','TYPE'),
15355 # erreur doc U sur la condition qui suit
15356 UN_PARMI('NOEUD','GROUP_NO'),),
15357 NOM =SIMP(statut='f',typ='TXM' ),
15358 TYPE =SIMP(statut='f',typ='TXM',into=("MNEAL","CRAIGB","CB_HARMO","AUCUN") ),
15359 NOEUD =SIMP(statut='f',typ=no,validators=NoRepeat(),max='**'),
15360 GROUP_NO =SIMP(statut='f',typ=grno,max='**'),
15361 # DDL_ACTIF =SIMP(statut='f',typ='TXM',max='**'),
15362 MASQUE =SIMP(statut='f',typ='TXM',max='**'),
15364 FREQ =SIMP(statut='f',typ='R',defaut= 1.),
15365 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
15368 # ======================================================================
15369 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
15370 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15371 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15372 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
15373 # (AT YOUR OPTION) ANY LATER VERSION.
15375 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
15376 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
15377 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
15378 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
15380 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
15381 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
15382 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
15383 # ======================================================================
15384 # person_in_charge: mathieu.courtois at edf.fr
15385 DEFI_LIST_ENTI=OPER(nom="DEFI_LIST_ENTI",op=22,sd_prod=listis_sdaster,
15386 fr="Définir une liste d'entiers strictement croissante",
15388 UIinfo={"groupes":("Fonctions",)},
15390 OPERATION =SIMP(statut='o',typ='TXM',defaut='DEFI',into=('DEFI','NUME_ORDRE',)),
15393 # définition d'une liste d'entiers
15394 #----------------------------------
15395 b_defi =BLOC(condition = "OPERATION == 'DEFI'",
15396 regles=(UN_PARMI('VALE','DEBUT'),
15397 EXCLUS('VALE','INTERVALLE'),),
15398 VALE =SIMP(statut='f',typ='I',max='**'),
15399 DEBUT =SIMP(statut='f',typ='I'),
15400 INTERVALLE =FACT(statut='f',max='**',
15401 regles=(UN_PARMI('NOMBRE','PAS'),),
15402 JUSQU_A =SIMP(statut='o',typ='I'),
15403 NOMBRE =SIMP(statut='f',typ='I',val_min=1,),
15404 PAS =SIMP(statut='f',typ='I',val_min=1,),
15409 # extraction d'une liste de nume_ordre dans une sd_resultat :
15410 #------------------------------------------------------------
15411 b_extr =BLOC(condition = "OPERATION == 'NUME_ORDRE'",
15412 RESULTAT =SIMP(statut='o',typ=resultat_sdaster),
15413 PARAMETRE =SIMP(statut='o',typ='TXM',),
15414 INTERV_R =SIMP(statut='o',typ='R',min=2,max=2),
15418 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
15419 TITRE =SIMP(statut='f',typ='TXM',max='**'),
15422 # ======================================================================
15423 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
15424 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15425 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15426 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
15427 # (AT YOUR OPTION) ANY LATER VERSION.
15429 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
15430 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
15431 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
15432 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
15434 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
15435 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
15436 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
15437 # ======================================================================
15438 # person_in_charge: nicolas.brie at edf.fr
15439 DEFI_LIST_FREQ=MACRO(nom="DEFI_LIST_FREQ",
15440 op=OPS('Macro.defi_list_freq_ops.defi_list_freq_ops'),
15441 sd_prod=listr8_sdaster,
15442 fr="Définir une liste de fréquences strictement croissante",
15444 UIinfo={"groupes":("Fonctions",)},
15445 regles=(UN_PARMI('VALE','DEBUT',),
15446 EXCLUS('VALE','INTERVALLE'),
15447 ENSEMBLE('DEBUT','INTERVALLE')),
15448 VALE =SIMP(statut='f',typ='R',max='**'),
15449 DEBUT =SIMP(statut='f',typ='R'),
15450 INTERVALLE =FACT(statut='f',max='**',
15451 regles=(UN_PARMI('NOMBRE','PAS'),),
15452 JUSQU_A =SIMP(statut='o',typ='R'),
15453 NOMBRE =SIMP(statut='f',typ='I'),
15454 PAS =SIMP(statut='f',typ='R'),
15456 RAFFINEMENT =FACT(statut='f',
15457 LIST_RAFFINE =SIMP(statut='o',typ='R',max='**'),
15458 NB_POINTS =SIMP(statut='f',typ='I',defaut=5),
15459 PAS_MINI =SIMP(statut='f',typ='R',defaut=0.001),
15460 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU","LARGEUR_3DB")),
15461 b_crit_rela_abs=BLOC(condition="(CRITERE=='RELATIF' or CRITERE=='ABSOLU')",
15462 DISPERSION =SIMP(statut='f',typ='R',defaut=0.01),),
15463 b_crit_larg=BLOC(condition="(CRITERE=='LARGEUR_3DB')",
15464 AMOR_MODAL =FACT(statut='o',
15465 regles = UN_PARMI('AMOR_REDUIT','LIST_AMOR'),
15466 AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'),
15467 LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ),),),
15469 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
15470 TITRE =SIMP(statut='f',typ='TXM',max='**'),
15473 # ======================================================================
15474 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
15475 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15476 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15477 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
15478 # (AT YOUR OPTION) ANY LATER VERSION.
15480 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
15481 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
15482 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
15483 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
15485 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
15486 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
15487 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
15488 # ======================================================================
15489 # person_in_charge: samuel.geniaut at edf.fr
15493 # Bloc pour decoupe automatique
15494 bloc_auto =BLOC(fr = "Subdivision de type automatique",
15495 condition = "SUBD_METHODE == 'AUTO'",
15496 SUBD_PAS_MINI = SIMP(fr = "Pas de temps en dessous duquel on ne subdivise plus",
15505 # Bloc pour decoupe manuel
15506 bloc_manu =BLOC(fr = "Subdivision de type manuel",
15507 condition = "SUBD_METHODE == 'MANUEL'",
15508 regles = (AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
15509 SUBD_PAS = SIMP(fr = "Nombre de subdivision d'un pas de temps",
15517 SUBD_NIVEAU = SIMP(fr = "Nombre maximum de niveau de subdivision d'un pas de temps",
15524 SUBD_PAS_MINI = SIMP(fr = "Pas de temps en dessous duquel on ne subdivise plus",
15533 # Bloc pour decoupe automatique - Cas de la collision
15534 bloc_auto2 =BLOC(fr = "Subdivision de type automatique",
15535 condition = "SUBD_METHODE == 'AUTO'",
15536 SUBD_INST = SIMP(fr = "Parametre de decoupe fine du pas de temps",
15542 SUBD_DUREE = SIMP(fr = "Duree de decoupe apres collision",
15550 # Bloc pour decoupe du pas de temps
15551 bloc_deco =BLOC(fr = "Action de decoupe du pas temps",
15552 condition = "ACTION == 'DECOUPE' or ACTION == 'REAC_PRECOND' or ACTION == 'AUTRE_PILOTAGE'",
15553 SUBD_METHODE = SIMP(fr = "Méthode de subdivision des pas de temps en cas de divergence",
15557 into = ("MANUEL","AUTO"),
15560 b_deco_manu = bloc_manu,
15561 b_deco_auto = bloc_auto,
15565 # Bloc pour decoupe du pas de temps - special pour collision
15566 bloc_deco2 =BLOC(fr = "Action de decoupe du pas temps",
15567 condition = "ACTION == 'DECOUPE'",
15568 SUBD_METHODE = SIMP(fr = "Méthode de subdivision des pas de temps en cas de collision",
15572 into = ("MANUEL","AUTO"),
15578 b_deco_manu = bloc_manu,
15579 b_deco_auto = bloc_auto2,
15582 # Bloc pour extrapolation du nombre d'iterations de Newton
15583 bloc_supp =BLOC(fr = "Action d'extrapolation du nombre d'iterations de Newton",
15584 condition = "ACTION == 'ITER_SUPPL'",
15585 PCENT_ITER_PLUS = SIMP(fr = "Pourcentage d'itérations autorisées en plus",
15592 SUBD_METHODE = SIMP(fr = "Méthode de subdivision des pas de temps en cas de divergence",
15596 into = ("MANUEL","AUTO"),
15599 b_deco_manu = bloc_manu,
15600 b_deco_auto = bloc_auto,
15603 # Bloc pour adaptation du coefficient de penalisation
15604 bloc_pene =BLOC(fr = "Action d' adaptation du coefficient de penalisation",
15605 condition = "ACTION == 'ADAPT_COEF_PENA'",
15606 COEF_MAXI = SIMP(fr = "Coefficient multiplicateur maximum du coefficient de penalisation",
15615 DEFI_LIST_INST = OPER(nom="DEFI_LIST_INST",op= 28,sd_prod=list_inst,reentrant='n',
15616 UIinfo={"groupes":("Fonctions",)},
15617 fr="Définition de la gestion de la liste d'instants",
15619 # ----------------------------------------------------------------------------------------------------------------------------------
15620 # mot-cle pour la definition a priori de la liste d'instant
15621 # ----------------------------------------------------------------------------------------------------------------------------------
15623 DEFI_LIST =FACT(fr = "Definition a priori de la liste d'instants",
15626 METHODE = SIMP(fr = "Methode de definition de la liste d'instants",
15630 position = 'global',
15631 into = ("MANUEL","AUTO",),
15634 b_manuel = BLOC(fr = "Liste d'instants donnée par l'utilisateur",
15635 condition = "METHODE == 'MANUEL' ",
15636 regles=(UN_PARMI('LIST_INST','VALE','RESULTAT'),
15637 PRESENT_PRESENT('RESULTAT','SUBD_PAS'),),
15638 VALE = SIMP(statut = 'f',
15641 LIST_INST = SIMP(statut = 'f',
15642 typ = listr8_sdaster,
15644 RESULTAT = SIMP(statut = 'f',
15645 typ = resultat_sdaster,
15647 SUBD_PAS = SIMP(statut = 'f',
15654 b_auto = BLOC(fr = "Gestion automatique de la liste d'instants",
15655 condition = "(METHODE == 'AUTO') ",
15656 regles=(UN_PARMI('LIST_INST','VALE',),),
15657 VALE = SIMP(statut = 'f',
15660 LIST_INST = SIMP(statut = 'f',
15661 typ = listr8_sdaster,
15663 PAS_MINI = SIMP(statut = 'f',
15668 PAS_MAXI = SIMP(statut = 'f',
15672 NB_PAS_MAXI = SIMP(statut = 'f',
15680 # ----------------------------------------------------------------------------------------------------------------------------------
15681 # mot-cle pour le comportement en cas d'echec (on doit recommencer le meme instant)
15682 # ----------------------------------------------------------------------------------------------------------------------------------
15684 ECHEC =FACT(fr = "Comportement en cas d'echec",
15687 EVENEMENT = SIMP(fr = "Type de l'evenement",
15691 into = ("ERREUR","DELTA_GRANDEUR","COLLISION",
15692 "INTERPENETRATION","DIVE_RESI","INSTABILITE"),
15695 b_erreur = BLOC(fr = "Event: erreur ou iter_maxi",
15696 condition = "EVENEMENT == 'ERREUR' ",
15697 ACTION = SIMP(fr = "Actions possibles",
15701 into = ("ARRET","DECOUPE","REAC_PRECOND",
15702 "ITER_SUPPL","AUTRE_PILOTAGE"),
15703 defaut = "DECOUPE",
15705 b_deco = bloc_deco,
15706 b_supp = bloc_supp,
15708 b_edelta = BLOC(fr = "Event: l'increment d'une composante d'un champ depasse le seuil",
15709 condition = "EVENEMENT == 'DELTA_GRANDEUR' ",
15710 VALE_REF = SIMP(fr = "Valeur du seuil",
15715 NOM_CHAM = SIMP(fr = "Nom du champ",
15719 into = ("DEPL","VARI_ELGA","SIEF_ELGA",),
15721 NOM_CMP = SIMP(fr = "Nom de la composante",
15726 ACTION = SIMP(fr = "Actions possibles",
15730 into = ("ARRET","DECOUPE",),
15731 defaut = "DECOUPE",
15733 b_deco = bloc_deco,
15735 b_colli = BLOC(fr = "Event: collision",
15736 condition = "EVENEMENT == 'COLLISION' ",
15737 ACTION = SIMP(fr = "Actions possibles",
15741 into = ("ARRET","DECOUPE",),
15742 defaut = "DECOUPE",
15744 b_deco2 = bloc_deco2,
15746 b_penetration = BLOC(fr = "Event: interpenetration des surfaces en contact",
15747 condition = "EVENEMENT == 'INTERPENETRATION' ",
15748 PENE_MAXI = SIMP(fr = "Valeur maxi de l'interpenetration",
15755 ACTION = SIMP(fr = "Actions possibles",
15759 into = ("ARRET","ADAPT_COEF_PENA",),
15760 defaut = "ADAPT_COEF_PENA",
15762 b_pene = bloc_pene,
15764 b_dive_resi = BLOC(fr = "Event: divergence du residu",
15765 condition = "EVENEMENT == 'DIVE_RESI' ",
15766 ACTION = SIMP(fr = "Actions possibles",
15770 into = ("DECOUPE",),
15771 defaut = "DECOUPE",
15773 b_deco = bloc_deco,
15775 b_instabilite = BLOC(fr = "Event: instabilite",
15776 condition = "EVENEMENT == 'INSTABILITE' ",
15777 ACTION = SIMP(fr = "Actions possibles",
15781 into = ("ARRET","CONTINUE",),
15782 defaut = "CONTINUE",
15788 # ----------------------------------------------------------------------------------------------------------------------------------
15789 # Mot-cle pour le comportement en cas de succes (on a bien converge)
15790 # ----------------------------------------------------------------------------------------------------------------------------------
15792 b_adap = BLOC(condition="METHODE == 'AUTO'",
15794 ADAPTATION =FACT(fr = "Parametres de l'evenement declencheur de l'adaptation du pas de temps",
15797 EVENEMENT = SIMP(fr = "Nom de l'evenement declencheur de l'adaptation",
15801 into = ("SEUIL","TOUT_INST","AUCUN"),
15804 b_adap_seuil = BLOC(fr = "Seuil d'adaptation",
15805 condition = "EVENEMENT == 'SEUIL' ",
15806 regles = (PRESENT_PRESENT('NB_INCR_SEUIL','NOM_PARA',),
15807 PRESENT_PRESENT('NB_INCR_SEUIL','CRIT_COMP',),
15808 PRESENT_PRESENT('NB_INCR_SEUIL','CRIT_COMP',),),
15809 NB_INCR_SEUIL = SIMP(statut = 'f',
15813 NOM_PARA = SIMP(statut = 'f',
15815 into = ("NB_ITER_NEWTON",),
15816 defaut = "NB_ITER_NEWTON",
15818 CRIT_COMP = SIMP(statut = 'f',
15820 into = ("LT","GT","LE","GE"),
15823 b_vale_I = BLOC(fr = "Valeur entiere",
15824 condition = "NOM_PARA == 'NB_ITER_NEWTON' ",
15825 VALE_I = SIMP(statut='f',typ='I',),
15831 # Parametres du mode de calcul de dt+
15832 # dans le cas FIXE :(deltaT+) = (deltaT-)x(1+PCENT_AUGM/100)
15833 # dans le cas DELTA_GRANDEUR : (deltaT+) = (deltaT-)x(VALREF/deltaVAL) : l'acceleration est inversement proportionnelle
15834 # a la variation de la grandeur
15835 # dans le cas ITER_NEWTON : (deltaT+) = (deltaT-) x sqrt(VALREF/N) : l'acceleration est inversement proportionnelle
15836 # au nombre d'iterations de Newton precedent
15838 MODE_CALCUL_TPLUS = SIMP(fr = "Parametres du mode de calcul de dt+",
15842 into = ("FIXE","DELTA_GRANDEUR","ITER_NEWTON","IMPLEX"),
15846 b_mfixe = BLOC(fr = "Mode de calcul de dt+: fixe",
15847 condition = "MODE_CALCUL_TPLUS == 'FIXE' ",
15848 PCENT_AUGM = SIMP(statut = 'f',
15855 b_mdelta = BLOC(fr = "Mode de calcul de dt+: increment d'une grandeur",
15856 condition = "MODE_CALCUL_TPLUS == 'DELTA_GRANDEUR' ",
15857 VALE_REF = SIMP(statut = 'o',
15861 NOM_CHAM = SIMP(statut = 'o',
15864 into = ("DEPL","VARI_ELGA","SIEF_ELGA",),
15866 NOM_CMP = SIMP(statut = 'o',
15870 b_mitnew = BLOC(fr = "Mode de calcul de dt+: nb iterations de Newton",
15871 condition = "MODE_CALCUL_TPLUS == 'ITER_NEWTON' ",
15872 NB_ITER_NEWTON_REF= SIMP(statut = 'o',
15877 # les schemas pre-definis :
15879 # EVENEMENT ='SEUIL'
15880 # NB_INCR_SEUIL = 2
15881 # NOM_PARA ='NB_ITER_NEWTON'
15884 # MODE_CALCUL_TPLUS ='FIXE'
15887 # EVENEMENT ='TOUT_INST'
15888 # MODE_CALCUL_TPLUS ='DELTA_GRANDEUR'
15889 # VALE_REF = valref
15890 # NOM_CHAM ='VARI_ELGA'
15893 # EVENEMENT ='TOUT_INST'
15894 # MODE_CALCUL_TPLUS ='ITER_NEWTON'
15895 # NB_ITER_NEWTON_REF= nc
15897 # EVENEMENT ='SEUIL'
15898 # NB_INCR_SEUIL = 1
15899 # NOM_PARA ='NB_ITER_NEWTON'
15902 # MODE_CALCUL_TPLUS ='FIXE'
15903 # PCENT_AUGM = 100.
15905 # EVENEMENT ='TOUT_INST'
15906 # MODE_CALCUL_TPLUS ='FORMULE'
15907 # NOM_SCHEMA ='OLIVER'
15911 # ----------------------------------------------------------------------------------------------------------------------------------
15913 INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
15917 # ======================================================================
15918 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
15919 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15920 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15921 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
15922 # (AT YOUR OPTION) ANY LATER VERSION.
15924 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
15925 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
15926 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
15927 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
15929 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
15930 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
15931 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
15932 # ======================================================================
15933 # person_in_charge: mathieu.courtois at edf.fr
15934 DEFI_LIST_REEL=OPER(nom="DEFI_LIST_REEL",op=24,sd_prod=listr8_sdaster,
15935 fr="Définir une liste de réels strictement croissante",
15937 UIinfo={"groupes":("Fonctions",)},
15938 regles=(UN_PARMI('VALE','DEBUT',),
15939 EXCLUS('VALE','INTERVALLE'),
15940 ENSEMBLE('DEBUT','INTERVALLE')),
15941 VALE =SIMP(statut='f',typ='R',max='**'),
15942 DEBUT =SIMP(statut='f',typ='R'),
15943 INTERVALLE =FACT(statut='f',max='**',
15944 regles=(UN_PARMI('NOMBRE','PAS'),),
15945 JUSQU_A =SIMP(statut='o',typ='R'),
15946 NOMBRE =SIMP(statut='f',typ='I'),
15947 PAS =SIMP(statut='f',typ='R'),
15949 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
15950 TITRE =SIMP(statut='f',typ='TXM',max='**'),
15953 # ======================================================================
15954 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
15955 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
15956 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
15957 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
15958 # (AT YOUR OPTION) ANY LATER VERSION.
15960 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
15961 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
15962 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
15963 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
15965 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
15966 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
15967 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
15968 # ======================================================================
15969 # person_in_charge: jacques.pellet at edf.fr
15970 DEFI_MAILLAGE=OPER(nom="DEFI_MAILLAGE",op= 88,sd_prod=maillage_sdaster,
15971 fr="Définition d'un nouveau maillage à partir de macro-éléments",
15973 UIinfo={"groupes":("Maillage",)},
15974 DEFI_SUPER_MAILLE =FACT(statut='o',max='**',
15975 MACR_ELEM =SIMP(statut='o',typ=(macr_elem_stat,macr_elem_dyna),max='**' ),
15976 SUPER_MAILLE =SIMP(statut='f',typ=ma,max='**'),
15977 TRAN =SIMP(statut='f',typ='R',max=3),
15978 ANGL_NAUT =SIMP(statut='f',typ='R',max=3),
15979 b_angl_naut =BLOC(condition = "ANGL_NAUT != None",
15980 CENTRE =SIMP(statut='f',typ='R',max=3),
15983 RECO_GLOBAL =FACT(statut='f',max='**',
15984 regles=(UN_PARMI('TOUT','SUPER_MAILLE'),),
15985 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
15986 SUPER_MAILLE =SIMP(statut='f',typ=ma,max='**'),
15987 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
15988 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
15990 RECO_SUPER_MAILLE =FACT(statut='f',max='**',
15991 SUPER_MAILLE =SIMP(statut='o',typ=ma,max='**'),
15992 GROUP_NO =SIMP(statut='o',typ=grno,max='**'),
15993 OPTION =SIMP(statut='f',typ='TXM',defaut="GEOMETRIQUE",into=("GEOMETRIQUE","NOEUD_A_NOEUD","INVERSE") ),
15994 geometrique =BLOC(condition = "OPTION == 'GEOMETRIQUE'",
15995 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
15996 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
15999 DEFI_NOEUD =FACT(statut='f',max='**',
16000 regles=(UN_PARMI('TOUT','NOEUD_INIT'),),
16001 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",),
16002 fr="Renommage de tous les noeuds" ),
16003 NOEUD_INIT =SIMP(statut='f',typ=no,
16004 fr="Renommage d un seul noeud"),
16005 b_tout =BLOC(condition = "TOUT != None",
16006 PREFIXE =SIMP(statut='f',typ='TXM' ),
16007 INDEX =SIMP(statut='o',typ='I',max='**'),
16009 b_noeud_init =BLOC(condition = "NOEUD_INIT != None",
16010 SUPER_MAILLE =SIMP(statut='o',typ=ma),
16011 NOEUD_FIN =SIMP(statut='o',typ=no),
16014 DEFI_GROUP_NO =FACT(statut='f',max='**',
16015 regles=(UN_PARMI('TOUT','SUPER_MAILLE'),
16016 AU_MOINS_UN('INDEX','GROUP_NO_FIN'),
16017 ENSEMBLE('GROUP_NO_INIT','GROUP_NO_FIN'),),
16018 # la regle ancien catalogue AU_MOINS_UN__: ( INDEX , GROUP_NO_FIN ) incoherente avec doc U
16019 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",),
16020 fr="Création de plusieurs groupes de noeuds" ),
16021 SUPER_MAILLE =SIMP(statut='f',typ=ma,
16022 fr="Création de plusieurs groupes de noeuds"),
16023 GROUP_NO_INIT =SIMP(statut='f',typ=grno,
16024 fr="Création d un seul groupe de noeuds"),
16025 PREFIXE =SIMP(statut='f',typ='TXM' ),
16026 INDEX =SIMP(statut='f',typ='I',max='**'),
16027 GROUP_NO_FIN =SIMP(statut='f',typ=grno),
16031 # ======================================================================
16032 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
16033 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
16034 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
16035 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
16036 # (AT YOUR OPTION) ANY LATER VERSION.
16038 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
16039 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
16040 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
16041 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
16043 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
16044 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
16045 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
16046 # ======================================================================
16047 # person_in_charge: jean-luc.flejou at edf.fr
16049 DEFI_MATER_GC=MACRO(nom="DEFI_MATER_GC",
16050 op=OPS('Macro.defi_mater_gc_ops.defi_mater_gc_ops'),
16051 sd_prod=mater_sdaster,
16053 UIinfo={"groupes":("Modélisation",) },
16054 fr="Définir des lois matériaux spécifique au Génie Civil",
16056 regles = (UN_PARMI('MAZARS','ACIER','ENDO_FISS_EXP'), ),
16058 REGLE =SIMP(statut='f',typ='TXM', into=('EC2',), defaut='EC2'),
16059 # ============================================================================
16060 MAZARS =FACT(statut= 'f',max= 1,
16061 fr="Paramètres matériaux de MAZARS unilatéral en 1D à partir des caractéristiques du béton",
16062 UNITE_LONGUEUR =SIMP(statut='o',typ='TXM', into=("M","MM"),
16063 fr="Unité de longueur du problème [M|MM]"),
16064 FCJ =SIMP(statut='o',typ='R', val_min=0.0E+0,
16065 fr="Contrainte au pic en compression [Unité]"),
16066 EIJ =SIMP(statut='f',typ='R', val_min=0.0E+0,
16067 fr="Module d'Young [Unité]"),
16068 EPSI_C =SIMP(statut='f',typ='R', val_min=0.0E+0,
16069 fr="Déformation au pic en compression"),
16070 FTJ =SIMP(statut='f',typ='R', val_min=0.0E+0,
16071 fr="Contrainte au pic en traction [Unité]"),
16072 NU =SIMP(statut='f',typ='R', val_min=0.0E+0, val_max=0.5E+0,
16073 fr="Coefficient de poisson"),
16074 EPSD0 =SIMP(statut='f',typ='R', val_min=0.0E+0,
16075 fr="Déformation, seuil d'endommagement"),
16076 K =SIMP(statut='f',typ='R', val_min=0.0E+0,
16077 fr="Asymptote en cisaillement pur"),
16078 AC =SIMP(statut='f',typ='R', val_min=0.E+0,
16079 fr="Paramètre de décroissance post-pic en compression"),
16080 BC =SIMP(statut='f',typ='R', val_min=0.0E+0,
16081 fr="Paramètre de décroissance post-pic en compression"),
16082 AT =SIMP(statut='f',typ='R', val_min=0.0E+0, val_max=1.0E+0,
16083 fr="Paramètre de décroissance post-pic en traction"),
16084 BT =SIMP(statut='f',typ='R', val_min=0.0E+0,
16085 fr="Paramètre de décroissance post-pic en traction"),
16086 # Pour post-traitement ELS et ELU
16087 SIGM_LIM =SIMP(statut='f',typ='R', fr="Contrainte limite, post-traitement"),
16088 EPSI_LIM =SIMP(statut='f',typ='R', fr="Déformation limite, post-traitement"),
16090 # ============================================================================
16091 ACIER =FACT(statut= 'f',max= 1,
16092 fr="Définir les paramètres matériaux de l'acier pour le Génie Civil",
16093 E =SIMP(statut='o',typ='R', val_min=0.0E+0, fr="Module d'Young"),
16094 SY =SIMP(statut='o',typ='R', fr="Limite élastique"),
16095 NU =SIMP(statut='f',typ='R', val_min=0.0E+0, val_max=0.5E+0, fr="Coefficient de poisson"),
16096 D_SIGM_EPSI =SIMP(statut='f',typ='R', fr="Module plastique"),
16097 # Pour post-traitement ELS et ELU
16098 SIGM_LIM =SIMP(statut='f',typ='R', fr="Contrainte limite, post-traitement"),
16099 EPSI_LIM =SIMP(statut='f',typ='R', fr="Déformation limite, post-traitement"),
16101 # ============================================================================
16102 ENDO_FISS_EXP =FACT(statut= 'f',max= 1,
16103 fr="Définir les paramètres matériaux du béton pour la loi ENDO_FISS_EXP",
16105 UN_PARMI('FT','FT_FENDAGE'),
16106 UN_PARMI('P','DSIG_DU'),
16107 EXCLUS('Q','Q_REL'),
16109 E =SIMP(statut='o',typ='R', val_min=0.0E+0, fr="Module d'Young"),
16110 NU =SIMP(statut='o',typ='R', val_min=0.0E+0, val_max=0.5E+0, fr="Coefficient de poisson"),
16111 FT =SIMP(statut='f',typ='R', val_min=0.0E+0 , fr="Limite en traction simple"),
16112 FT_FENDAGE =SIMP(statut='f',typ='R', val_min=0.0E+0 , fr="Limite en traction obtenue via un essai brésilien"),
16113 FC =SIMP(statut='o',typ='R', val_min=0.0E+0 , fr="Limite en compression simple"),
16114 GF =SIMP(statut='o',typ='R', val_min=0.0E+0 , fr="Energie de fissuration"),
16115 P =SIMP(statut='f',typ='R', val_min=1.0E+0 , fr="Parametre dominant de la loi cohésive asymptotique"),
16116 DSIG_DU =SIMP(statut='f',typ='R', val_min=1.102658 , fr="Pente initiale (au signe pres) de la loi cohesive asymptotique"),
16117 Q =SIMP(statut='f',typ='R', val_min=0.0E+0 , fr="Parametre secondaire de la loi cohesive asymptotique"),
16118 Q_REL =SIMP(statut='f',typ='R', val_min=0.0E+0, val_max=1.0 , fr="Parametre Q exprime de maniere relative par rapport a Qmax(P)"),
16119 LARG_BANDE =SIMP(statut='o',typ='R', val_min=0.0E+0 , fr="Largeur de bande d'endommagement (2*D)"),
16120 COEF_RIGI_MINI =SIMP(statut='f',typ='R', val_min=0.0, defaut = 0.0 , fr="Rigidite minimale dans la matrice tangente"),
16122 # ============================================================================
16123 INFO =SIMP(statut='f',typ='I', into=(1,2,), defaut=1),
16124 RHO =SIMP(statut='f',typ='R', fr="Masse volumique"),
16125 ALPHA =SIMP(statut='f',typ='R', fr="Coefficient de dilatation"),
16126 AMOR_ALPHA =SIMP(statut='f',typ='R'),
16127 AMOR_BETA =SIMP(statut='f',typ='R'),
16128 AMOR_HYST =SIMP(statut='f',typ='R'),
16132 # ======================================================================
16133 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
16134 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
16135 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
16136 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
16137 # (AT YOUR OPTION) ANY LATER VERSION.
16139 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
16140 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
16141 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
16142 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
16144 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
16145 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
16146 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
16147 # ======================================================================
16148 # person_in_charge: j-pierre.lefebvre at edf.fr
16149 DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
16150 fr="Définition des paramètres décrivant le comportement d un matériau",
16152 UIinfo={"groupes":("Modélisation",)},
16153 regles=(EXCLUS('ELAS','ELAS_FO','ELAS_FLUI','ELAS_ISTR','ELAS_ISTR_FO','ELAS_ORTH',
16154 'ELAS_ORTH_FO','ELAS_COQUE','ELAS_COQUE_FO',
16155 'ELAS_HYPER','ELAS_2NDG','ELAS_GLRC'),
16156 EXCLUS('THER','THER_FO','THER_ORTH','THER_NL'),
16157 EXCLUS('ECRO_LINE','ECRO_LINE_FO','ECRO_PUIS','ECRO_COOK','ECRO_COOK_FO',),
16158 EXCLUS('ENDO_HETEROGENE'),
16159 EXCLUS('TAHERI','TAHERI_FO'),
16160 EXCLUS('ENDO_SCALAIRE','ENDO_SCALAIRE_FO'),
16161 EXCLUS('ENDO_FISS_EXP','ENDO_FISS_EXP_FO'),
16162 EXCLUS('ROUSSELIER','ROUSSELIER_FO'),
16163 EXCLUS('VISC_SINH','VISC_SINH_FO'),
16164 PRESENT_PRESENT('ROUSSELIER','TRACTION'),
16165 PRESENT_PRESENT('ROUSSELIER_FO','TRACTION'),
16166 EXCLUS('CIN1_CHAB','CIN1_CHAB_FO'),
16167 EXCLUS('CIN2_CHAB','CIN2_CHAB_FO'),
16168 EXCLUS('VISCOCHAB','VISCOCHAB_FO'),
16169 EXCLUS('LEMAITRE','LEMAITRE_FO','VISC_IRRA_LOG',
16170 'LEMA_SEUIL','LEMA_SEUIL_FO','LEMAITRE_IRRA','LMARC_IRRA',),
16171 EXCLUS('META_LEMA_ANI','META_LEMA_ANI_FO'),
16172 EXCLUS('VENDOCHAB','VENDOCHAB_FO'),
16173 EXCLUS('VISC_ENDO','VISC_ENDO_FO'),
16174 PRESENT_PRESENT('BPEL_ACIER','ELAS'),
16175 PRESENT_PRESENT('ETCC_ACIER','ELAS'),
16176 EXCLUS('ETCC_ACIER','BPEL_ACIER'),
16177 EXCLUS('ETCC_BETON','BPEL_BETON'),
16179 EXCLUS('RCCM','RCCM_FO'),
16180 EXCLUS('WEIBULL','WEIBULL_FO'),
16181 PRESENT_PRESENT('DHRC','DHRC_SEUILS'),
16182 PRESENT_PRESENT('LAIGLE','ELAS'),
16183 PRESENT_PRESENT('LETK','ELAS'),
16184 PRESENT_PRESENT('DRUCK_PRAGER','ELAS'),
16185 PRESENT_PRESENT('VISC_DRUC_PRAG','ELAS'),
16186 PRESENT_PRESENT('ELAS_GONF','ELAS'),
16187 PRESENT_PRESENT('HOEK_BROWN','ELAS'),
16188 EXCLUS('MAZARS','MAZARS_FO'),
16189 PRESENT_PRESENT('JOINT_BA','ELAS'),
16190 PRESENT_PRESENT('CABLE','ELAS'),
16191 PRESENT_PRESENT('MOHR_COULOMB','ELAS'),
16192 PRESENT_PRESENT('ELAS_GLRC','GLRC_DM'),
16194 MATER =SIMP(statut='f',typ=mater_sdaster),
16196 # comportement élastique
16198 ELAS =FACT(statut='f',
16199 E =SIMP(statut='o',typ='R',val_min=0.E+0),
16200 NU =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=0.5E+0),
16201 RHO =SIMP(statut='f',typ='R'),
16202 ALPHA =SIMP(statut='f',typ='R'),
16203 AMOR_ALPHA =SIMP(statut='f',typ='R'),
16204 AMOR_BETA =SIMP(statut='f',typ='R'),
16205 AMOR_HYST =SIMP(statut='f',typ='R'),
16207 ELAS_FO =FACT(statut='f',
16208 regles=(PRESENT_PRESENT('ALPHA','TEMP_DEF_ALPHA'),),
16209 E =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16210 NU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16211 RHO =SIMP(statut='f',typ='R'),
16212 TEMP_DEF_ALPHA =SIMP(statut='f',typ='R'),
16213 PRECISION =SIMP(statut='f',typ='R',defaut= 1.),
16214 ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16215 AMOR_ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16216 AMOR_BETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16217 AMOR_HYST =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16218 K_DESSIC =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
16219 B_ENDOGE =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
16220 FONC_DESORP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16222 ELAS_FLUI =FACT(statut='f',
16223 E =SIMP(statut='o',typ='R'),
16224 NU =SIMP(statut='o',typ='R'),
16225 RHO =SIMP(statut='o',typ='R'),
16226 PROF_RHO_F_INT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16227 PROF_RHO_F_EXT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16228 COEF_MASS_AJOU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16230 ELAS_ISTR =FACT(statut='f',
16231 E_L =SIMP(statut='o',typ='R'),
16232 E_N =SIMP(statut='o',typ='R'),
16233 NU_LT =SIMP(statut='o',typ='R'),
16234 NU_LN =SIMP(statut='o',typ='R'),
16235 G_LN =SIMP(statut='o',typ='R'),
16236 RHO =SIMP(statut='f',typ='R'),
16237 ALPHA_L =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
16238 ALPHA_N =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
16240 ELAS_ISTR_FO =FACT(statut='f',
16242 PRESENT_PRESENT('ALPHA_L','TEMP_DEF_ALPHA'),
16243 PRESENT_PRESENT('ALPHA_N','TEMP_DEF_ALPHA'),
16245 E_L =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16246 E_N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16247 NU_LT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16248 NU_LN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16249 G_LN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16250 RHO =SIMP(statut='f',typ='R'),
16251 TEMP_DEF_ALPHA =SIMP(statut='f',typ='R'),
16252 PRECISION =SIMP(statut='f',typ='R',defaut= 1.),
16253 ALPHA_L =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16254 ALPHA_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16256 ELAS_ORTH =FACT(statut='f',
16257 E_L =SIMP(statut='o',typ='R'),
16258 E_T =SIMP(statut='o',typ='R'),
16259 E_N =SIMP(statut='f',typ='R'),
16260 NU_LT =SIMP(statut='o',typ='R'),
16261 NU_LN =SIMP(statut='f',typ='R'),
16262 NU_TN =SIMP(statut='f',typ='R'),
16263 G_LT =SIMP(statut='o',typ='R'),
16264 G_LN =SIMP(statut='f',typ='R'),
16265 G_TN =SIMP(statut='f',typ='R'),
16266 RHO =SIMP(statut='f',typ='R'),
16267 ALPHA_L =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
16268 ALPHA_T =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
16269 ALPHA_N =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
16270 XT =SIMP(statut='f',typ='R',defaut= 1. ),
16271 XC =SIMP(statut='f',typ='R',defaut= 1. ),
16272 YT =SIMP(statut='f',typ='R',defaut= 1. ),
16273 YC =SIMP(statut='f',typ='R',defaut= 1. ),
16274 S_LT =SIMP(statut='f',typ='R',defaut= 1. ),
16275 AMOR_ALPHA =SIMP(statut='f',typ='R'),
16276 AMOR_BETA =SIMP(statut='f',typ='R'),
16277 AMOR_HYST =SIMP(statut='f',typ='R'),
16279 ELAS_ORTH_FO =FACT(statut='f',
16281 PRESENT_PRESENT('ALPHA_L','TEMP_DEF_ALPHA'),
16282 PRESENT_PRESENT('ALPHA_N','TEMP_DEF_ALPHA'),
16283 PRESENT_PRESENT('ALPHA_T','TEMP_DEF_ALPHA'),
16285 E_L =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16286 E_T =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16287 E_N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16288 NU_LT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16289 NU_LN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16290 NU_TN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16291 G_LT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16292 G_LN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16293 G_TN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16294 RHO =SIMP(statut='f',typ='R'),
16295 TEMP_DEF_ALPHA =SIMP(statut='f',typ='R'),
16296 PRECISION =SIMP(statut='f',typ='R',defaut= 1. ),
16297 ALPHA_L =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16298 ALPHA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16299 ALPHA_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16300 AMOR_ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16301 AMOR_BETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16302 AMOR_HYST =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16304 ELAS_HYPER =FACT(statut='f',
16305 regles=(UN_PARMI('K','NU'),),
16306 C10 =SIMP(statut='o',typ='R',
16307 fr="Si C10 est le seul coefficient fourni, alors le matériau est Néo-Hookéen."),
16308 C01 =SIMP(statut='f',typ='R',defaut=0.0,
16309 fr="Si l'on fournit C01 en plus de C10, on obtient un matériau de type Mooney-Rivlin."),
16310 C20 =SIMP(statut='f',typ='R',defaut=0.0,
16311 fr="Si l'on fournit C20 en plus de C10 et C01, on obtient un matériau de type Signorini."),
16312 K =SIMP(statut='f',typ='R',fr="Module de compressibilité."),
16313 NU =SIMP(statut='f',typ='R',val_min=-1.E+0,val_max=0.5E+0,fr="Coefficient de Poisson."),
16314 RHO =SIMP(statut='f',typ='R',defaut=0.0,fr="Masse volumique."),
16316 ELAS_COQUE =FACT(statut='f',
16317 regles=(EXCLUS('MEMB_L','M_LLLL',),
16318 PRESENT_PRESENT('MEMB_L','MEMB_LT', 'MEMB_T','MEMB_G_LT','FLEX_L','FLEX_LT',
16319 'FLEX_T','FLEX_G_LT','CISA_L','CISA_T',),
16320 PRESENT_PRESENT('M_LLLL','M_LLTT','M_LLLT','M_TTTT','M_TTLT','M_LTLT','F_LLLL',
16321 'F_LLTT','F_LLLT','F_TTTT','F_TTLT','F_LTLT','MF_LLLL',
16322 'MF_LLTT','MF_LLLT','MF_TTTT','MF_TTLT','MF_LTLT','MC_LLLZ',
16323 'MC_LLTZ','MC_TTLZ','MC_TTTZ','MC_LTLZ','MC_LTTZ','FC_LLLZ',
16324 'FC_LLTZ','FC_TTLZ','FC_TTTZ','FC_LTLZ','FC_LTTZ','C_LZLZ',
16325 'C_LZTZ','C_TZTZ'),),
16326 MEMB_L =SIMP(statut='f',typ='R'),
16327 MEMB_LT =SIMP(statut='f',typ='R'),
16328 MEMB_T =SIMP(statut='f',typ='R'),
16329 MEMB_G_LT =SIMP(statut='f',typ='R'),
16330 FLEX_L =SIMP(statut='f',typ='R'),
16331 FLEX_LT =SIMP(statut='f',typ='R'),
16332 FLEX_T =SIMP(statut='f',typ='R'),
16333 FLEX_G_LT =SIMP(statut='f',typ='R'),
16334 CISA_L =SIMP(statut='f',typ='R'),
16335 CISA_T =SIMP(statut='f',typ='R'),
16336 M_LLLL =SIMP(statut='f',typ='R'),
16337 M_LLTT =SIMP(statut='f',typ='R'),
16338 M_LLLT =SIMP(statut='f',typ='R'),
16339 M_TTTT =SIMP(statut='f',typ='R'),
16340 M_TTLT =SIMP(statut='f',typ='R'),
16341 M_LTLT =SIMP(statut='f',typ='R'),
16342 F_LLLL =SIMP(statut='f',typ='R'),
16343 F_LLTT =SIMP(statut='f',typ='R'),
16344 F_LLLT =SIMP(statut='f',typ='R'),
16345 F_TTTT =SIMP(statut='f',typ='R'),
16346 F_TTLT =SIMP(statut='f',typ='R'),
16347 F_LTLT =SIMP(statut='f',typ='R'),
16348 MF_LLLL =SIMP(statut='f',typ='R'),
16349 MF_LLTT =SIMP(statut='f',typ='R'),
16350 MF_LLLT =SIMP(statut='f',typ='R'),
16351 MF_TTTT =SIMP(statut='f',typ='R'),
16352 MF_TTLT =SIMP(statut='f',typ='R'),
16353 MF_LTLT =SIMP(statut='f',typ='R'),
16354 MC_LLLZ =SIMP(statut='f',typ='R'),
16355 MC_LLTZ =SIMP(statut='f',typ='R'),
16356 MC_TTLZ =SIMP(statut='f',typ='R'),
16357 MC_TTTZ =SIMP(statut='f',typ='R'),
16358 MC_LTLZ =SIMP(statut='f',typ='R'),
16359 MC_LTTZ =SIMP(statut='f',typ='R'),
16360 FC_LLLZ =SIMP(statut='f',typ='R'),
16361 FC_LLTZ =SIMP(statut='f',typ='R'),
16362 FC_TTLZ =SIMP(statut='f',typ='R'),
16363 FC_TTTZ =SIMP(statut='f',typ='R'),
16364 FC_LTLZ =SIMP(statut='f',typ='R'),
16365 FC_LTTZ =SIMP(statut='f',typ='R'),
16366 C_LZLZ =SIMP(statut='f',typ='R'),
16367 C_LZTZ =SIMP(statut='f',typ='R'),
16368 C_TZTZ =SIMP(statut='f',typ='R'),
16369 RHO =SIMP(statut='f',typ='R'),
16370 ALPHA =SIMP(statut='f',typ='R'),
16372 ELAS_COQUE_FO =FACT(statut='f',
16373 regles=(EXCLUS('MEMB_L','M_LLLL',),
16374 PRESENT_PRESENT('MEMB_L','MEMB_LT','MEMB_T','MEMB_G_LT','FLEX_L','FLEX_LT',
16375 'FLEX_T','FLEX_G_LT','CISA_L','CISA_T',),
16376 PRESENT_PRESENT('M_LLLL','M_LLTT','M_LLLT','M_TTTT','M_TTLT','M_LTLT','F_LLLL',
16377 'F_LLTT','F_LLLT','F_TTTT','F_TTLT','F_LTLT','MF_LLLL','MF_LLTT',
16378 'MF_LLLT','MF_TTTT','MF_TTLT','MF_LTLT','MC_LLLZ','MC_LLTZ',
16379 'MC_TTLZ','MC_TTTZ','MC_LTLZ','MC_LTTZ','FC_LLLZ','FC_LLTZ',
16380 'FC_TTLZ','FC_TTTZ','FC_LTLZ','FC_LTTZ','C_LZLZ','C_LZTZ','C_TZTZ'),),
16381 MEMB_L =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16382 MEMB_LT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16383 MEMB_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16384 MEMB_G_LT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16385 FLEX_L =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16386 FLEX_LT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16387 FLEX_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16388 FLEX_G_LT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16389 CISA_L =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16390 CISA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16391 M_LLLL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16392 M_LLTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16393 M_LLLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16394 M_TTTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16395 M_TTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16396 M_LTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16397 F_LLLL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16398 F_LLTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16399 F_LLLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16400 F_TTTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16401 F_TTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16402 F_LTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16403 MF_LLLL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16404 MF_LLTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16405 MF_LLLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16406 MF_TTTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16407 MF_TTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16408 MF_LTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16409 MC_LLLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16410 MC_LLTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16411 MC_TTLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16412 MC_TTTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16413 MC_LTLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16414 MC_LTTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16415 FC_LLLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16416 FC_LLTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16417 FC_TTLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16418 FC_TTTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16419 FC_LTLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16420 FC_LTTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16421 C_LZLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16422 C_LZTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16423 C_TZTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16424 RHO =SIMP(statut='f',typ='R'),
16425 ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16427 ELAS_MEMBRANE =FACT(statut='f',
16428 M_LLLL =SIMP(statut='o',typ='R'),
16429 M_LLTT =SIMP(statut='o',typ='R'),
16430 M_LLLT =SIMP(statut='o',typ='R'),
16431 M_TTTT =SIMP(statut='o',typ='R'),
16432 M_TTLT =SIMP(statut='o',typ='R'),
16433 M_LTLT =SIMP(statut='o',typ='R'),
16434 RHO =SIMP(statut='f',typ='R'),
16435 ALPHA =SIMP(statut='f',typ='R'),
16437 ELAS_2NDG =FACT(statut='f',
16438 A1 =SIMP(statut='o',typ='R'),
16439 A2 =SIMP(statut='f',typ='R'),
16440 A3 =SIMP(statut='f',typ='R'),
16441 A4 =SIMP(statut='f',typ='R'),
16442 A5 =SIMP(statut='f',typ='R'),
16444 ELAS_GLRC =FACT(statut='f',
16445 regles=(PRESENT_PRESENT('BT1','BT2'),),
16446 E_M =SIMP(statut='o',typ='R',val_min=0.E+0),
16447 NU_M =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=0.5+0),
16448 E_F =SIMP(statut='f',typ='R',val_min=0.E+0),
16449 NU_F =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=0.5+0),
16450 BT1 =SIMP(statut='f',typ='R',val_min=0.E+0),
16451 BT2 =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=0.5+0),
16452 RHO =SIMP(statut='f',typ='R',val_min=0.E+0),
16453 ALPHA =SIMP(statut='f',typ='R'),
16454 AMOR_ALPHA =SIMP(statut='f',typ='R'),
16455 AMOR_BETA =SIMP(statut='f',typ='R'),
16456 AMOR_HYST =SIMP(statut='f',typ='R'),
16458 ELAS_GLRC_FO =FACT(statut='f',
16459 regles=(PRESENT_PRESENT('ALPHA','TEMP_DEF_ALPHA'),
16460 PRESENT_PRESENT('BT1','BT2'),),
16461 E_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16462 NU_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16463 E_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16464 NU_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16465 BT1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16466 BT2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16467 RHO =SIMP(statut='f',typ='R'),
16468 TEMP_DEF_ALPHA =SIMP(statut='f',typ='R'),
16469 ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16470 AMOR_ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16471 AMOR_BETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16472 AMOR_HYST =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16474 CABLE =FACT(statut='f',
16475 EC_SUR_E =SIMP(statut='f',typ='R',defaut= 1.E-4 ),
16478 # comportements mécanique non linéaire
16479 # vérification du domaine de validité
16480 VERI_BORNE =FACT(statut='f',
16481 regles=(ENSEMBLE('TEMP_MAXI','TEMP_MINI'),
16483 EPSI_MAXI =SIMP(statut='f',typ='R'),
16484 TEMP_MAXI =SIMP(statut='f',typ='R'),
16485 TEMP_MINI =SIMP(statut='f',typ='R'),
16486 VEPS_MAXI =SIMP(statut='f',typ='R'),
16488 TRACTION =FACT(statut='f',
16489 SIGM =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16492 ECRO_LINE =FACT(statut='f',
16493 D_SIGM_EPSI =SIMP(statut='o',typ='R',),
16494 SY =SIMP(statut='o',typ='R',),
16495 SIGM_LIM =SIMP(statut='f',typ='R'),
16496 EPSI_LIM =SIMP(statut='f',typ='R'),
16498 ENDO_HETEROGENE =FACT(statut='f',
16499 WEIBULL =SIMP(statut='o',typ='R',),
16500 SY =SIMP(statut='o',typ='R',),
16501 KI =SIMP(statut='o',typ='R',),
16502 EPAI =SIMP(statut='o',typ='R',),
16503 GR =SIMP(statut='f',typ='R',defaut= 1.0),
16505 ECRO_LINE_FO =FACT(statut='f',
16506 D_SIGM_EPSI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16507 SY =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16509 ECRO_PUIS =FACT(statut='f',
16510 SY =SIMP(statut='o',typ='R',),
16511 A_PUIS =SIMP(statut='o',typ='R',val_min=0.0),
16512 N_PUIS =SIMP(statut='o',typ='R',val_min=1.E-6),
16514 ECRO_PUIS_FO =FACT(statut='f',
16515 SY =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16516 A_PUIS =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16517 N_PUIS =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16519 ECRO_COOK =FACT(statut='f',
16520 regles=(PRESENT_PRESENT('C','EPSP0'),
16521 PRESENT_PRESENT('TROOM','TMELT','M_PUIS'),),
16522 A =SIMP(statut='o',typ='R',val_min=0.0),
16523 B =SIMP(statut='o',typ='R',val_min=0.0),
16524 C =SIMP(statut='f',typ='R',val_min=0.0),
16525 N_PUIS =SIMP(statut='o',typ='R',val_min=0.0),
16526 M_PUIS =SIMP(statut='f',typ='R',val_min=0.0),
16527 EPSP0 =SIMP(statut='f',typ='R',val_min=1.E-6),
16528 TROOM =SIMP(statut='f',typ='R',val_min=0.0),
16529 TMELT =SIMP(statut='f',typ='R',val_min=0.0),
16531 ECRO_COOK_FO =FACT(statut='f',
16532 regles=(PRESENT_PRESENT('C','EPSP0'),
16533 PRESENT_PRESENT('TROOM','TMELT','M_PUIS'),),
16534 A =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16535 B =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16536 C =SIMP(statut='f',typ='R',val_min=0.0),
16537 N_PUIS =SIMP(statut='o',typ='R',val_min=0.0),
16538 M_PUIS =SIMP(statut='f',typ='R',val_min=0.0),
16539 EPSP0 =SIMP(statut='f',typ='R',val_min=1.E-6),
16540 TROOM =SIMP(statut='f',typ='R',val_min=0.0),
16541 TMELT =SIMP(statut='f',typ='R',val_min=0.0),
16543 BETON_ECRO_LINE =FACT(statut='f',
16544 D_SIGM_EPSI =SIMP(statut='o',typ='R'),
16545 SYT =SIMP(statut='o',typ='R'),
16546 SYC =SIMP(statut='f',typ='R'),
16548 BETON_REGLE_PR =FACT(statut='f',
16549 D_SIGM_EPSI =SIMP(statut='o',typ='R'),
16550 SYT =SIMP(statut='o',typ='R'),
16551 SYC =SIMP(statut='f',typ='R'),
16552 EPSC =SIMP(statut='f',typ='R'),
16553 N =SIMP(statut='f',typ='R'),
16555 ENDO_ORTH_BETON =FACT(statut='f',
16556 ALPHA =SIMP(statut='f',typ='R',defaut=0.9),
16557 K0 =SIMP(statut='o',typ='R'),
16558 K1 =SIMP(statut='o',typ='R'),
16559 K2 =SIMP(statut='f',typ='R',defaut=7.E-4),
16560 ECROB =SIMP(statut='o',typ='R'),
16561 ECROD =SIMP(statut='o',typ='R'),
16563 PRAGER =FACT(statut='f',
16564 C =SIMP(statut='o',typ='R'),
16566 PRAGER_FO =FACT(statut='f',
16567 C =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16569 TAHERI =FACT(statut='f',
16570 R_0 =SIMP(statut='o',typ='R'),
16571 ALPHA =SIMP(statut='o',typ='R'),
16572 M =SIMP(statut='o',typ='R'),
16573 A =SIMP(statut='o',typ='R'),
16574 B =SIMP(statut='o',typ='R'),
16575 C1 =SIMP(statut='o',typ='R'),
16576 C_INF =SIMP(statut='o',typ='R'),
16577 S =SIMP(statut='o',typ='R'),
16579 TAHERI_FO =FACT(statut='f',
16580 R_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16581 ALPHA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16582 M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16583 A =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16584 B =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16585 C1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16586 C_INF =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16587 S =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16589 ROUSSELIER =FACT(statut='f',
16590 D =SIMP(statut='o',typ='R'),
16591 SIGM_1 =SIMP(statut='o',typ='R'),
16592 PORO_INIT =SIMP(statut='o',typ='R'),
16593 PORO_CRIT =SIMP(statut='f',typ='R',defaut= 1. ),
16594 PORO_ACCE =SIMP(statut='f',typ='R',defaut= 1. ),
16595 PORO_LIMI =SIMP(statut='f',typ='R',defaut= 0.999 ),
16596 D_SIGM_EPSI_NORM=SIMP(statut='f',typ='R',defaut= 1. ),
16597 AN =SIMP(statut='f',typ='R',defaut= 0. ),
16598 DP_MAXI =SIMP(statut='f',typ='R',defaut= 0.1),
16599 BETA =SIMP(statut='f',typ='R',defaut=0.85),
16601 ROUSSELIER_FO =FACT(statut='f',
16602 D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16603 SIGM_1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16604 PORO_INIT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16605 PORO_CRIT =SIMP(statut='f',typ='R',defaut= 1. ),
16606 PORO_ACCE =SIMP(statut='f',typ='R',defaut= 1. ),
16607 PORO_LIMI =SIMP(statut='f',typ='R',defaut= 0.999 ),
16608 D_SIGM_EPSI_NORM=SIMP(statut='f',typ='R',defaut= 1. ),
16609 AN =SIMP(statut='f',typ='R',defaut= 0. ),
16610 DP_MAXI =SIMP(statut='f',typ='R',defaut= 0.1),
16611 BETA =SIMP(statut='f',typ='R',defaut=0.85),
16613 VISC_SINH =FACT(statut='f',
16614 SIGM_0 =SIMP(statut='o',typ='R'),
16615 EPSI_0 =SIMP(statut='o',typ='R'),
16616 M =SIMP(statut='o',typ='R'),
16618 VISC_SINH_FO =FACT(statut='f',
16619 SIGM_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16620 EPSI_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16621 M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16623 CIN1_CHAB =FACT(statut='f',
16624 R_0 =SIMP(statut='o',typ='R'),
16625 R_I =SIMP(statut='f',typ='R'),
16626 B =SIMP(statut='f',typ='R',defaut= 0.0E+0),
16627 C_I =SIMP(statut='o',typ='R'),
16628 K =SIMP(statut='f',typ='R',defaut= 1.0E+0),
16629 W =SIMP(statut='f',typ='R',defaut= 0.0E+0),
16630 G_0 =SIMP(statut='o',typ='R'),
16631 A_I =SIMP(statut='f',typ='R',defaut= 1.0E+0),
16633 CIN1_CHAB_FO =FACT(statut='f',
16634 R_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16635 R_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16636 B =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16637 C_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16638 K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16639 W =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16640 G_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16641 A_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16643 CIN2_CHAB =FACT(statut='f',
16644 R_0 =SIMP(statut='o',typ='R'),
16645 R_I =SIMP(statut='f',typ='R'),
16646 B =SIMP(statut='f',typ='R',defaut= 0.E+0),
16647 C1_I =SIMP(statut='o',typ='R'),
16648 C2_I =SIMP(statut='o',typ='R'),
16649 K =SIMP(statut='f',typ='R',defaut= 1.),
16650 W =SIMP(statut='f',typ='R',defaut= 0.E+0),
16651 G1_0 =SIMP(statut='o',typ='R'),
16652 G2_0 =SIMP(statut='o',typ='R'),
16653 A_I =SIMP(statut='f',typ='R',defaut= 1.E+0 ),
16655 CIN2_CHAB_FO =FACT(statut='f',
16656 R_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16657 R_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16658 B =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16659 C1_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16660 C2_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16661 K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16662 W =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16663 G1_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16664 G2_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16665 A_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16667 CIN2_NRAD =FACT(statut='f',
16668 DELTA1 =SIMP(statut='f',typ='R',defaut= 1.E+0,val_min=0.E+0, val_max=1.E+0),
16669 DELTA2 =SIMP(statut='f',typ='R',defaut= 1.E+0,val_min=0.E+0, val_max=1.E+0),
16671 MEMO_ECRO =FACT(statut='f',
16672 MU =SIMP(statut='o',typ='R'),
16673 Q_M =SIMP(statut='o',typ='R'),
16674 Q_0 =SIMP(statut='o',typ='R'),
16675 ETA =SIMP(statut='f',typ='R',defaut= 0.5E+0 ),
16677 MEMO_ECRO_FO =FACT(statut='f',
16678 MU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16679 Q_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16680 Q_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16681 ETA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16683 VISCOCHAB =FACT(statut='f',
16684 K_0 =SIMP(statut='o',typ='R'),
16685 A_K =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
16686 A_R =SIMP(statut='f',typ='R',defaut= 1.E+0 ),
16687 K =SIMP(statut='o',typ='R'),
16688 N =SIMP(statut='o',typ='R'),
16689 ALP =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
16690 B =SIMP(statut='f',typ='R'),
16691 M_R =SIMP(statut='f',typ='R',defaut= 1.E+0 ),
16692 G_R =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
16693 MU =SIMP(statut='o',typ='R',defaut= 0.E+0 ),
16694 Q_M =SIMP(statut='o',typ='R'),
16695 Q_0 =SIMP(statut='o',typ='R'),
16696 QR_0 =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
16697 ETA =SIMP(statut='f',typ='R',defaut= 0.5E+0 ),
16698 C1 =SIMP(statut='o',typ='R'),
16699 M_1 =SIMP(statut='f',typ='R',defaut= 1.E+0 ),
16700 D1 =SIMP(statut='f',typ='R',defaut= 1.E+0 ),
16701 G_X1 =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
16702 G1_0 =SIMP(statut='o',typ='R'),
16703 C2 =SIMP(statut='o',typ='R'),
16704 M_2 =SIMP(statut='f',typ='R',defaut= 1.E+0 ),
16705 D2 =SIMP(statut='f',typ='R',defaut= 1.E+0 ),
16706 G_X2 =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
16707 G2_0 =SIMP(statut='o',typ='R'),
16708 A_I =SIMP(statut='f',typ='R',defaut= 1.E+0 ),
16710 VISCOCHAB_FO =FACT(statut='f',
16711 K_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16712 A_K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16713 A_R =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16714 K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16715 N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16716 ALP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16717 B =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16718 M_R =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16719 G_R =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16720 MU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16721 Q_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16722 Q_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16723 QR_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16724 ETA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16725 C1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16726 M_1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16727 D1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16728 G_X1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16729 G1_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16730 C2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16731 M_2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16732 D2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16733 G_X2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16734 G2_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16735 A_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16737 LEMAITRE =FACT(statut='f',
16738 N =SIMP(statut='o',typ='R'),
16739 UN_SUR_K =SIMP(statut='o',typ='R'),
16740 UN_SUR_M =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
16742 LEMAITRE_IRRA =FACT(statut='f',
16743 N =SIMP(statut='o',typ='R'),
16744 UN_SUR_K =SIMP(statut='o',typ='R'),
16745 UN_SUR_M =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
16746 QSR_K =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
16747 BETA =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
16748 PHI_ZERO =SIMP(statut='f',typ='R',defaut= 1.E+20),
16749 L =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
16750 GRAN_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16752 LMARC_IRRA =FACT(statut='f',
16753 DE_0 =SIMP(statut='o',typ='R'),
16754 R_0 =SIMP(statut='o',typ='R'),
16755 N =SIMP(statut='o',typ='R'),
16756 K =SIMP(statut='o',typ='R'),
16757 Y_I =SIMP(statut='o',typ='R'),
16758 Y_0 =SIMP(statut='o',typ='R'),
16759 B =SIMP(statut='o',typ='R'),
16760 A_0 =SIMP(statut='o',typ='R'),
16761 RM =SIMP(statut='o',typ='R'),
16762 M =SIMP(statut='o',typ='R'),
16763 P =SIMP(statut='o',typ='R'),
16764 P1 =SIMP(statut='o',typ='R'),
16765 P2 =SIMP(statut='o',typ='R'),
16766 M11 =SIMP(statut='o',typ='R'),
16767 M22 =SIMP(statut='o',typ='R'),
16768 M33 =SIMP(statut='o',typ='R'),
16769 M66 =SIMP(statut='o',typ='R'),
16770 N11 =SIMP(statut='o',typ='R'),
16771 N22 =SIMP(statut='o',typ='R'),
16772 N33 =SIMP(statut='o',typ='R'),
16773 N66 =SIMP(statut='o',typ='R'),
16774 Q11 =SIMP(statut='o',typ='R'),
16775 Q22 =SIMP(statut='o',typ='R'),
16776 Q33 =SIMP(statut='o',typ='R'),
16777 Q66 =SIMP(statut='o',typ='R'),
16778 R11 =SIMP(statut='o',typ='R'),
16779 R22 =SIMP(statut='o',typ='R'),
16780 R33 =SIMP(statut='o',typ='R'),
16781 R66 =SIMP(statut='o',typ='R'),
16782 GRAN_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16784 VISC_IRRA_LOG =FACT(statut='f',
16785 A =SIMP(statut='f',typ='R',defaut= 1.28E-1),
16786 B =SIMP(statut='f',typ='R',defaut= 0.01159),
16787 CSTE_TPS =SIMP(statut='f',typ='R',defaut= 0.3540),
16788 ENER_ACT =SIMP(statut='f',typ='R',defaut= 5000.),
16789 FLUX_PHI =SIMP(statut='o',typ='R',),
16791 GRAN_IRRA_LOG =FACT(statut='f',
16792 A =SIMP(statut='f',typ='R',defaut= 1.28E-1),
16793 B =SIMP(statut='f',typ='R',defaut= 0.01159),
16794 CSTE_TPS =SIMP(statut='f',typ='R',defaut= 0.3540),
16795 ENER_ACT =SIMP(statut='f',typ='R',defaut= 5000.),
16796 FLUX_PHI =SIMP(statut='o',typ='R',),
16797 GRAN_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16799 LEMA_SEUIL =FACT(statut='f',
16800 A =SIMP(statut='o',typ='R',),
16801 S =SIMP(statut='o',typ='R',),
16803 LEMA_SEUIL_FO=FACT(statut='f',
16804 A =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16805 S =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16807 IRRAD3M=FACT(statut='f',
16808 R02 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16809 EPSI_U =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16810 RM =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16811 AI0 =SIMP(statut='o',typ='R',val_min=0.0),
16812 ZETA_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16813 ETAI_S =SIMP(statut='o',typ='R',val_min=0.0),
16814 RG0 =SIMP(statut='o',typ='R',val_min=0.0),
16815 ALPHA =SIMP(statut='o',typ='R',val_min=0.0),
16816 PHI0 =SIMP(statut='o',typ='R',val_min=0.0),
16817 KAPPA =SIMP(statut='f',typ='R',val_min=0.0,defaut=0.8,val_max=1.0),
16818 ZETA_G =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16819 TOLER_ET =SIMP(statut='f',typ='R',val_min=0.0,defaut=0.15 ),
16821 LEMAITRE_FO =FACT(statut='f',
16822 N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16823 UN_SUR_K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16824 UN_SUR_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16826 META_LEMA_ANI =FACT(statut='f',
16827 F1_A =SIMP(statut='o',typ='R'),
16828 F2_A =SIMP(statut='o',typ='R'),
16829 C_A =SIMP(statut='o',typ='R'),
16830 F1_M =SIMP(statut='o',typ='R'),
16831 F2_M =SIMP(statut='o',typ='R'),
16832 C_M =SIMP(statut='o',typ='R'),
16833 F1_N =SIMP(statut='o',typ='R'),
16834 F2_N =SIMP(statut='o',typ='R'),
16835 C_N =SIMP(statut='o',typ='R'),
16836 F1_Q =SIMP(statut='o',typ='R'),
16837 F2_Q =SIMP(statut='o',typ='R'),
16838 C_Q =SIMP(statut='o',typ='R'),
16839 F_MRR_RR =SIMP(statut='o',typ='R'),
16840 C_MRR_RR =SIMP(statut='o',typ='R'),
16841 F_MTT_TT =SIMP(statut='o',typ='R'),
16842 C_MTT_TT =SIMP(statut='o',typ='R'),
16843 F_MZZ_ZZ =SIMP(statut='o',typ='R'),
16844 C_MZZ_ZZ =SIMP(statut='o',typ='R'),
16845 F_MRT_RT =SIMP(statut='o',typ='R'),
16846 C_MRT_RT =SIMP(statut='o',typ='R'),
16847 F_MRZ_RZ =SIMP(statut='o',typ='R'),
16848 C_MRZ_RZ =SIMP(statut='o',typ='R'),
16849 F_MTZ_TZ =SIMP(statut='o',typ='R'),
16850 C_MTZ_TZ =SIMP(statut='o',typ='R'),
16852 META_LEMA_ANI_FO =FACT(statut='f',
16853 F1_A =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16854 F2_A =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16855 C_A =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16856 F1_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16857 F2_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16858 C_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16859 F1_N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16860 F2_N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16861 C_N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16862 F1_Q =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16863 F2_Q =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16864 C_Q =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16865 F_MRR_RR =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16866 C_MRR_RR =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16867 F_MTT_TT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16868 C_MTT_TT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16869 F_MZZ_ZZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16870 C_MZZ_ZZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16871 F_MRT_RT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16872 C_MRT_RT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16873 F_MRZ_RZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16874 C_MRZ_RZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16875 F_MTZ_TZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16876 C_MTZ_TZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16878 ARME =FACT(statut='f',
16879 KYE =SIMP(statut='o',typ='R'),
16880 DLE =SIMP(statut='o',typ='R'),
16881 KYP =SIMP(statut='o',typ='R'),
16882 DLP =SIMP(statut='o',typ='R'),
16883 KYG =SIMP(statut='o',typ='R'),
16885 ASSE_CORN =FACT(statut='f',
16886 NU_1 =SIMP(statut='o',typ='R'),
16887 MU_1 =SIMP(statut='o',typ='R'),
16888 DXU_1 =SIMP(statut='o',typ='R'),
16889 DRYU_1 =SIMP(statut='o',typ='R'),
16890 C_1 =SIMP(statut='o',typ='R'),
16891 NU_2 =SIMP(statut='o',typ='R'),
16892 MU_2 =SIMP(statut='o',typ='R'),
16893 DXU_2 =SIMP(statut='o',typ='R'),
16894 DRYU_2 =SIMP(statut='o',typ='R'),
16895 C_2 =SIMP(statut='o',typ='R'),
16896 KY =SIMP(statut='o',typ='R'),
16897 KZ =SIMP(statut='o',typ='R'),
16898 KRX =SIMP(statut='o',typ='R'),
16899 KRZ =SIMP(statut='o',typ='R'),
16900 R_P0 =SIMP(statut='f',typ='R',defaut= 1.E+4 ),
16902 DIS_CONTACT =FACT(statut='f',
16903 RIGI_NOR =SIMP(statut='f',typ='R' ),
16904 RIGI_TAN =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
16905 AMOR_NOR =SIMP(statut='f',typ='R' ),
16906 AMOR_TAN =SIMP(statut='f',typ='R' ),
16907 COULOMB =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
16908 DIST_1 =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
16909 DIST_2 =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
16910 JEU =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
16912 ENDO_SCALAIRE =FACT(statut='f',
16913 K =SIMP(statut='o',typ='R',val_min=0.0),
16914 P =SIMP(statut='o',typ='R',val_min=1.0),
16915 Q =SIMP(statut='f',typ='R',defaut=0.0),
16916 M =SIMP(statut='o',typ='R',),
16917 C_COMP =SIMP(statut='f',typ='R',defaut=0.0),
16918 C_VOLU =SIMP(statut='f',typ='R',defaut=1.0,val_min=0.0),
16919 COEF_RIGI_MINI =SIMP(statut='f',typ='R',defaut=1.E-5),
16921 ENDO_SCALAIRE_FO =FACT(statut='f',
16922 K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16923 P =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16924 Q =SIMP(statut='f',typ='R',defaut=0.0),
16925 M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16926 C_COMP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16927 C_VOLU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16928 COEF_RIGI_MINI =SIMP(statut='f',typ='R',defaut=1.E-5),
16930 ENDO_FISS_EXP =FACT(statut='f',
16931 K =SIMP(statut='o',typ='R',val_min=0.0),
16932 P =SIMP(statut='o',typ='R',val_min=1.0),
16933 Q =SIMP(statut='f',typ='R',defaut=0.0),
16934 M =SIMP(statut='o',typ='R',),
16935 TAU =SIMP(statut='o',typ='R'),
16936 SIG0 =SIMP(statut='o',typ='R'),
16937 BETA =SIMP(statut='f',typ='R',defaut=0.1),
16938 COEF_RIGI_MINI =SIMP(statut='f',typ='R',defaut=1.E-5),
16940 ENDO_FISS_EXP_FO =FACT(statut='f',
16941 K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16942 P =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16943 Q =SIMP(statut='f',typ='R',defaut=0.0),
16944 M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16945 TAU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16946 SIG0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16947 BETA =SIMP(statut='f',typ='R',defaut=0.1),
16948 COEF_RIGI_MINI =SIMP(statut='f',typ='R',defaut=1.E-5),
16950 DIS_GRICRA =FACT(statut='f',
16951 KN_AX =SIMP(statut='o',typ='R' ),
16952 KT_AX =SIMP(statut='o',typ='R' ),
16953 COUL_AX =SIMP(statut='o',typ='R' ),
16954 F_SER =SIMP(statut='f',typ='R' ),
16955 F_SER_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16956 ET_AX =SIMP(statut='f',typ='R',defaut=1.e-7 ),
16957 ET_ROT =SIMP(statut='f',typ='R',defaut=1.e-7 ),
16958 ANG1 =SIMP(statut='f',typ='R' ),
16959 ANG2 =SIMP(statut='f',typ='R' ),
16960 PEN1 =SIMP(statut='f',typ='R' ),
16961 PEN2 =SIMP(statut='f',typ='R' ),
16962 PEN3 =SIMP(statut='f',typ='R' ),
16963 ANG1_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16964 ANG2_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16965 PEN1_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16966 PEN2_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16967 PEN3_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
16968 regles=(EXCLUS('ANG1','ANG1_FO',),
16969 UN_PARMI('ANG1','ANG1_FO',),
16970 EXCLUS('F_SER','F_SER_FO',),
16971 UN_PARMI('F_SER','F_SER_FO',),
16972 PRESENT_PRESENT('ANG1','ANG2','PEN1','PEN2','PEN3',),
16973 PRESENT_PRESENT('ANG1_FO','ANG2_FO','PEN1_FO','PEN2_FO','PEN3_FO',),
16976 BETON_DOUBLE_DP =FACT(statut='f',
16977 F_C =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16978 F_T =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16979 COEF_BIAX =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16980 ENER_COMP_RUPT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16981 ENER_TRAC_RUPT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
16982 COEF_ELAS_COMP =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=100.E+0),
16983 LONG_CARA =SIMP(statut='f',typ='R',val_min=0.E+0),
16984 ECRO_COMP_P_PIC =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","PARABOLE") ),
16985 ECRO_TRAC_P_PIC =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","EXPONENT") ),
16987 MAZARS=FACT(statut='f',min=0 ,
16988 EPSD0 =SIMP(statut='o',typ='R'),
16989 K =SIMP(statut='o',typ='R'),
16990 AC =SIMP(statut='o',typ='R'),
16991 BC =SIMP(statut='o',typ='R'),
16992 AT =SIMP(statut='o',typ='R'),
16993 BT =SIMP(statut='o',typ='R'),
16994 CHI =SIMP(statut='f',typ='R',val_min=0.0E+0,val_max=1.0E+0),
16995 SIGM_LIM =SIMP(statut='f',typ='R'),
16996 EPSI_LIM =SIMP(statut='f',typ='R'),
16998 MAZARS_FO=FACT(statut='f',min=0 ,
16999 EPSD0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17000 K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17001 AC =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17002 BC =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17003 AT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17004 BT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17005 CHI =SIMP(statut='f',typ='R'),
17007 JOINT_BA=FACT(statut='f',min=0 ,max=1,
17008 HPEN =SIMP(statut='o',typ='R',defaut= 1.E+0,val_min=0.E+0),
17009 GTT =SIMP(statut='o',typ='R',val_min=0.E+0),
17010 GAMD0 =SIMP(statut='o',typ='R',val_min=1.E-4,val_max=1.E-1),
17011 AD1 =SIMP(statut='o',typ='R',val_min=0.E+0),
17012 BD1 =SIMP(statut='o',typ='R',defaut= 5.E-1,val_min=1.E-1),
17013 GAMD2 =SIMP(statut='o',typ='R',val_min=1.E-4,val_max=1.E+0),
17014 AD2 =SIMP(statut='o',typ='R',val_min=0.E+0),
17015 BD2 =SIMP(statut='o',typ='R',defaut= 1.E+0,val_min=1.E-1),
17016 VIFROT =SIMP(statut='o',typ='R',val_min=0.E+0),
17017 FA =SIMP(statut='o',typ='R',val_min=0.E+0),
17018 FC =SIMP(statut='o',typ='R',val_min=0.E+0),
17019 EPSTR0 =SIMP(statut='o',typ='R',val_min=1.E-4,val_max=1.E+0),
17020 ADN =SIMP(statut='o',typ='R',val_min=0.E+0),
17021 BDN =SIMP(statut='o',typ='R',defaut= 1.E+0,val_min=1.E-1),
17023 VENDOCHAB =FACT(statut='f',
17024 SY =SIMP(statut='o',typ='R',defaut= 0.E+0),
17025 ALPHA_D =SIMP(statut='o',typ='R',defaut= 0.E+0),
17026 BETA_D =SIMP(statut='o',typ='R',defaut= 0.E+0),
17027 R_D =SIMP(statut='o',typ='R'),
17028 A_D =SIMP(statut='o',typ='R'),
17029 K_D =SIMP(statut='o',typ='R'),
17031 VENDOCHAB_FO =FACT(statut='f',
17032 SY =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17033 ALPHA_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17034 BETA_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17035 R_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17036 A_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17037 K_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17039 HAYHURST =FACT(statut='f',
17040 EPS0 =SIMP(statut='o',typ='R'),
17041 K =SIMP(statut='o',typ='R'),
17042 H1 =SIMP(statut='o',typ='R'),
17043 H2 =SIMP(statut='o',typ='R'),
17044 DELTA1 =SIMP(statut='o',typ='R'),
17045 DELTA2 =SIMP(statut='o',typ='R'),
17046 H1ST =SIMP(statut='o',typ='R'),
17047 H2ST =SIMP(statut='o',typ='R'),
17048 KC =SIMP(statut='f',typ='R',defaut=0.),
17049 BIGA =SIMP(statut='o',typ='R'),
17050 SIG0 =SIMP(statut='o',typ='R'),
17051 ALPHAD =SIMP(statut='f',typ='R',defaut=0.),
17052 S_EQUI_D =SIMP(statut='f',typ='R',defaut=0.,into=(0.,1.) ),
17054 VISC_ENDO =FACT(statut='f',
17055 SY =SIMP(statut='o',typ='R',defaut= 0.E+0),
17056 R_D =SIMP(statut='o',typ='R'),
17057 A_D =SIMP(statut='o',typ='R'),
17059 VISC_ENDO_FO =FACT(statut='f',
17060 SY =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17061 R_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17062 A_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17064 PINTO_MENEGOTTO =FACT(statut='f',
17065 SY =SIMP(statut='o',typ='R'),
17066 EPSI_ULTM =SIMP(statut='o',typ='R'),
17067 SIGM_ULTM =SIMP(statut='o',typ='R'),
17068 ELAN =SIMP(statut='f',typ='R',defaut= 4. ),
17069 EPSP_HARD =SIMP(statut='o',typ='R'),
17070 R_PM =SIMP(statut='f',typ='R',defaut= 20. ),
17071 EP_SUR_E =SIMP(statut='f',typ='R'),
17072 A1_PM =SIMP(statut='f',typ='R',defaut= 18.5 ),
17073 A2_PM =SIMP(statut='f',typ='R',defaut= 0.15 ),
17074 A6_PM =SIMP(statut='f',typ='R',defaut= 620. ),
17075 C_PM =SIMP(statut='f',typ='R',defaut= 0.5 ),
17076 A_PM =SIMP(statut='f',typ='R',defaut= 6.0E-3 ),
17078 BPEL_BETON =FACT(statut='f',
17079 PERT_FLUA =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
17080 PERT_RETR =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
17082 BPEL_ACIER =FACT(statut='f',
17083 regles=(PRESENT_PRESENT('RELAX_1000','F_PRG',),
17084 PRESENT_PRESENT('MU0_RELAX','F_PRG',),),
17085 RELAX_1000 =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
17086 MU0_RELAX =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
17087 F_PRG =SIMP(statut='f',typ='R'),
17088 FROT_COURB =SIMP(statut='f',typ='R',defaut=0.E+0),
17089 FROT_LINE =SIMP(statut='f',typ='R',defaut=0.E+0),
17091 ETCC_BETON =FACT(statut='f',
17092 EP_BETON =SIMP(statut='f',typ='R',val_min=0.E+0,defaut=0. ),
17094 ETCC_ACIER =FACT(statut='f',
17095 regles=(PRESENT_PRESENT('RELAX_1000','F_PRG',),),
17096 F_PRG =SIMP(statut='f',typ='R',val_min=0.E+0),
17097 COEF_FROT =SIMP(statut='f',typ='R',defaut=0.E+0,val_min=0.E+0),
17098 PERT_LIGNE =SIMP(statut='f',typ='R',defaut=0.E+0,val_min=0.E+0),
17099 RELAX_1000 =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ),
17103 MOHR_COULOMB =FACT(statut='f',
17104 PHI =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=60.E+0,),
17105 ANGDIL =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=60.E+0,),
17106 COHESION =SIMP(statut='o',typ='R',val_min=0.E+0,),
17109 CAM_CLAY =FACT(statut='f',
17110 MU =SIMP(statut='o',typ='R'),
17111 PORO =SIMP(statut='o',typ='R'),
17112 LAMBDA =SIMP(statut='o',typ='R'),
17113 KAPA =SIMP(statut='o',typ='R'),
17114 M =SIMP(statut='o',typ='R'),
17115 PRES_CRIT =SIMP(statut='o',typ='R'),
17116 KCAM =SIMP(statut='f',typ='R',val_min=0.E+0),
17117 PTRAC =SIMP(statut='f',typ='R',val_max=0.E+0),
17118 regles=(PRESENT_PRESENT('PTRAC','KCAM',),),
17120 BARCELONE =FACT(statut='f',
17121 MU =SIMP(statut='o',typ='R'),
17122 PORO =SIMP(statut='o',typ='R'),
17123 LAMBDA =SIMP(statut='o',typ='R'),
17124 KAPA =SIMP(statut='o',typ='R'),
17125 M =SIMP(statut='o',typ='R'),
17126 PRES_CRIT =SIMP(statut='o',typ='R'),
17127 PA =SIMP(statut='o',typ='R'),
17128 R =SIMP(statut='o',typ='R'),
17129 BETA =SIMP(statut='o',typ='R'),
17130 KC =SIMP(statut='o',typ='R'),
17131 PC0_INIT =SIMP(statut='o',typ='R'),
17132 KAPAS =SIMP(statut='o',typ='R'),
17133 LAMBDAS =SIMP(statut='o',typ='R'),
17134 ALPHAB =SIMP(statut='f',typ='R'),
17136 CJS =FACT(statut='f',
17137 BETA_CJS =SIMP(statut='o',typ='R'),
17138 RM =SIMP(statut='o',typ='R'),
17139 N_CJS =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
17140 KP =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
17141 RC =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
17142 A_CJS =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
17143 B_CJS =SIMP(statut='f',typ='R',defaut= 1.0E+25 ),
17144 C_CJS =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
17145 GAMMA_CJS =SIMP(statut='o',typ='R'),
17146 MU_CJS =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
17147 PCO =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
17148 PA =SIMP(statut='o',typ='R'),
17149 Q_INIT =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
17150 R_INIT =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
17152 HUJEUX =FACT(statut='f',
17153 N =SIMP(statut='o',typ='R' ),
17154 BETA =SIMP(statut='o',typ='R' ),
17155 B =SIMP(statut='o',typ='R' ),
17156 D =SIMP(statut='o',typ='R' ),
17157 PHI =SIMP(statut='o',typ='R' ),
17158 ANGDIL =SIMP(statut='o',typ='R' ),
17159 PCO =SIMP(statut='o',typ='R' ),
17160 PREF =SIMP(statut='o',typ='R' ),
17161 ACYC =SIMP(statut='o',typ='R' ),
17162 AMON =SIMP(statut='o',typ='R' ),
17163 CCYC =SIMP(statut='o',typ='R' ),
17164 CMON =SIMP(statut='o',typ='R' ),
17165 RD_ELA =SIMP(statut='o',typ='R' ),
17166 RI_ELA =SIMP(statut='o',typ='R' ),
17167 RHYS =SIMP(statut='o',typ='R' ),
17168 RMOB =SIMP(statut='o',typ='R' ),
17169 XM =SIMP(statut='o',typ='R' ),
17170 RD_CYC =SIMP(statut='o',typ='R' ),
17171 RI_CYC =SIMP(statut='o',typ='R' ),
17172 DILA =SIMP(statut='o',typ='R' ),
17173 PTRAC =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
17175 ECRO_ASYM_LINE =FACT(statut='f',
17176 DC_SIGM_EPSI =SIMP(statut='o',typ='R'),
17177 SY_C =SIMP(statut='o',typ='R'),
17178 DT_SIGM_EPSI =SIMP(statut='o',typ='R'),
17179 SY_T =SIMP(statut='o',typ='R'),
17181 GRANGER_FP =FACT(statut='f',
17182 J1 =SIMP(statut='f',typ='R'),
17183 J2 =SIMP(statut='f',typ='R'),
17184 J3 =SIMP(statut='f',typ='R'),
17185 J4 =SIMP(statut='f',typ='R'),
17186 J5 =SIMP(statut='f',typ='R'),
17187 J6 =SIMP(statut='f',typ='R'),
17188 J7 =SIMP(statut='f',typ='R'),
17189 J8 =SIMP(statut='f',typ='R'),
17190 TAUX_1 =SIMP(statut='f',typ='R'),
17191 TAUX_2 =SIMP(statut='f',typ='R'),
17192 TAUX_3 =SIMP(statut='f',typ='R'),
17193 TAUX_4 =SIMP(statut='f',typ='R'),
17194 TAUX_5 =SIMP(statut='f',typ='R'),
17195 TAUX_6 =SIMP(statut='f',typ='R'),
17196 TAUX_7 =SIMP(statut='f',typ='R'),
17197 TAUX_8 =SIMP(statut='f',typ='R'),
17198 QSR_K =SIMP(statut='f',typ='R'),
17200 GRANGER_FP_INDT =FACT(statut='f',
17201 J1 =SIMP(statut='f',typ='R'),
17202 J2 =SIMP(statut='f',typ='R'),
17203 J3 =SIMP(statut='f',typ='R'),
17204 J4 =SIMP(statut='f',typ='R'),
17205 J5 =SIMP(statut='f',typ='R'),
17206 J6 =SIMP(statut='f',typ='R'),
17207 J7 =SIMP(statut='f',typ='R'),
17208 J8 =SIMP(statut='f',typ='R'),
17209 TAUX_1 =SIMP(statut='f',typ='R'),
17210 TAUX_2 =SIMP(statut='f',typ='R'),
17211 TAUX_3 =SIMP(statut='f',typ='R'),
17212 TAUX_4 =SIMP(statut='f',typ='R'),
17213 TAUX_5 =SIMP(statut='f',typ='R'),
17214 TAUX_6 =SIMP(statut='f',typ='R'),
17215 TAUX_7 =SIMP(statut='f',typ='R'),
17216 TAUX_8 =SIMP(statut='f',typ='R'),
17218 V_GRANGER_FP =FACT(statut='f',
17219 QSR_VEIL =SIMP(statut='f',typ='R'),
17220 FONC_V =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17222 BETON_BURGER_FP =FACT(statut='f',min=0 ,
17223 K_RS =SIMP(statut='o',typ='R'),
17224 ETA_RS =SIMP(statut='o',typ='R'),
17225 KAPPA =SIMP(statut='o',typ='R'),
17226 ETA_IS =SIMP(statut='o',typ='R'),
17227 K_RD =SIMP(statut='o',typ='R'),
17228 ETA_RD =SIMP(statut='o',typ='R'),
17229 ETA_ID =SIMP(statut='o',typ='R'),
17230 ETA_FD =SIMP(statut='f',typ='R'),
17232 BETON_UMLV_FP =FACT(statut='f',min=0 ,
17233 K_RS =SIMP(statut='o',typ='R'),
17234 ETA_RS =SIMP(statut='o',typ='R'),
17235 K_IS =SIMP(statut='o',typ='R'),
17236 ETA_IS =SIMP(statut='o',typ='R'),
17237 K_RD =SIMP(statut='o',typ='R'),
17238 ETA_RD =SIMP(statut='o',typ='R'),
17239 ETA_ID =SIMP(statut='o',typ='R'),
17240 ETA_FD =SIMP(statut='f',typ='R'),
17242 BETON_RAG =FACT(statut='f',
17243 ACTIV_FL =SIMP(statut='f',typ='R',defaut=1.0 ),
17244 K_RS =SIMP(statut='o',typ='R'),
17245 K_IS =SIMP(statut='o',typ='R'),
17246 ETA_RS =SIMP(statut='o',typ='R'),
17247 ETA_IS =SIMP(statut='o',typ='R'),
17248 K_RD =SIMP(statut='o',typ='R'),
17249 K_ID =SIMP(statut='o',typ='R'),
17250 ETA_RD =SIMP(statut='o',typ='R'),
17251 ETA_ID =SIMP(statut='o',typ='R'),
17252 EPS_0 =SIMP(statut='o',typ='R'),
17253 TAU_0 =SIMP(statut='o',typ='R'),
17254 EPS_FL_L =SIMP(statut='f',typ='R',defaut=3.0e-2 ),
17255 ACTIV_LO =SIMP(statut='f',typ='R',defaut=1.0 ),
17256 F_C =SIMP(statut='o',typ='R'),
17257 F_T =SIMP(statut='o',typ='R'),
17258 ANG_CRIT =SIMP(statut='f',typ='R',defaut=8.594367 ),
17259 EPS_COMP =SIMP(statut='o',typ='R'),
17260 EPS_TRAC =SIMP(statut='o',typ='R'),
17261 LC_COMP =SIMP(statut='o',typ='R',defaut=1.0 ),
17262 LC_TRAC =SIMP(statut='o',typ='R',defaut=1.0 ),
17263 HYD_PRES =SIMP(statut='f',typ='R',defaut=0. ),
17264 A_VAN_GE =SIMP(statut='f',typ='R',defaut=0.0 ),
17265 B_VAN_GE =SIMP(statut='f',typ='R',defaut=1.9 ),
17266 BIOT_EAU =SIMP(statut='o',typ='R',defaut=0.3 ),
17267 MODU_EAU =SIMP(statut='o',typ='R',defaut=0.0 ),
17268 W_EAU_0 =SIMP(statut='o',typ='R'),
17269 BIOT_GEL =SIMP(statut='o',typ='R'),
17270 MODU_GEL =SIMP(statut='o',typ='R'),
17271 VOL_GEL =SIMP(statut='o',typ='R'),
17272 AVANC_LI =SIMP(statut='o',typ='R'),
17273 SEUIL_SR =SIMP(statut='o',typ='R'),
17274 PARA_CIN =SIMP(statut='o',typ='R'),
17275 ENR_AC_G =SIMP(statut='o',typ='R'),
17277 GLRC_DM =FACT(statut='f',max=1,
17278 GAMMA_T =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0),
17279 GAMMA_C =SIMP(statut='f',typ='R',val_min=-1.E+0,val_max=1.E+0),
17280 GAMMA_F =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0),
17281 NYT =SIMP(statut='o',typ='R',val_min=0.E+0),
17282 NYC =SIMP(statut='f',typ='R'),
17283 MYF =SIMP(statut='o',typ='R',val_min=0.E+0),
17284 ALPHA_C =SIMP(statut='d',typ='R',val_min=1.E+0,defaut=1.E+0),
17286 DHRC_SEUILS =FACT(statut='f',
17287 SYD =SIMP(statut='o',typ='R',),
17288 SCRIT =SIMP(statut='o',typ='R',),
17289 K0MICR =SIMP(statut='o',typ='R',),
17290 A011 =SIMP(statut='o',typ='R',),
17291 A012 =SIMP(statut='o',typ='R',),
17292 A013 =SIMP(statut='o',typ='R',),
17293 A014 =SIMP(statut='o',typ='R',),
17294 A015 =SIMP(statut='o',typ='R',),
17295 A016 =SIMP(statut='o',typ='R',),
17296 A022 =SIMP(statut='o',typ='R',),
17297 A023 =SIMP(statut='o',typ='R',),
17298 A024 =SIMP(statut='o',typ='R',),
17299 A025 =SIMP(statut='o',typ='R',),
17300 A026 =SIMP(statut='o',typ='R',),
17301 A033 =SIMP(statut='o',typ='R',),
17302 A034 =SIMP(statut='o',typ='R',),
17303 A035 =SIMP(statut='o',typ='R',),
17304 A036 =SIMP(statut='o',typ='R',),
17305 A044 =SIMP(statut='o',typ='R',),
17306 A045 =SIMP(statut='o',typ='R',),
17307 A046 =SIMP(statut='o',typ='R',),
17308 A055 =SIMP(statut='o',typ='R',),
17309 A056 =SIMP(statut='o',typ='R',),
17310 A066 =SIMP(statut='o',typ='R',),
17312 DHRC =FACT(statut='f',
17313 AAC111 =SIMP(statut='o',typ='R',),
17314 AAC121 =SIMP(statut='o',typ='R',),
17315 AAC131 =SIMP(statut='o',typ='R',),
17316 AAC141 =SIMP(statut='o',typ='R',),
17317 AAC151 =SIMP(statut='o',typ='R',),
17318 AAC161 =SIMP(statut='o',typ='R',),
17319 AAC221 =SIMP(statut='o',typ='R',),
17320 AAC231 =SIMP(statut='o',typ='R',),
17321 AAC241 =SIMP(statut='o',typ='R',),
17322 AAC251 =SIMP(statut='o',typ='R',),
17323 AAC261 =SIMP(statut='o',typ='R',),
17324 AAC331 =SIMP(statut='o',typ='R',),
17325 AAC341 =SIMP(statut='o',typ='R',),
17326 AAC351 =SIMP(statut='o',typ='R',),
17327 AAC361 =SIMP(statut='o',typ='R',),
17328 AAC441 =SIMP(statut='o',typ='R',),
17329 AAC451 =SIMP(statut='o',typ='R',),
17330 AAC461 =SIMP(statut='o',typ='R',),
17331 AAC551 =SIMP(statut='o',typ='R',),
17332 AAC561 =SIMP(statut='o',typ='R',),
17333 AAC661 =SIMP(statut='o',typ='R',),
17334 AAC112 =SIMP(statut='o',typ='R',),
17335 AAC122 =SIMP(statut='o',typ='R',),
17336 AAC132 =SIMP(statut='o',typ='R',),
17337 AAC142 =SIMP(statut='o',typ='R',),
17338 AAC152 =SIMP(statut='o',typ='R',),
17339 AAC162 =SIMP(statut='o',typ='R',),
17340 AAC222 =SIMP(statut='o',typ='R',),
17341 AAC232 =SIMP(statut='o',typ='R',),
17342 AAC242 =SIMP(statut='o',typ='R',),
17343 AAC252 =SIMP(statut='o',typ='R',),
17344 AAC262 =SIMP(statut='o',typ='R',),
17345 AAC332 =SIMP(statut='o',typ='R',),
17346 AAC342 =SIMP(statut='o',typ='R',),
17347 AAC352 =SIMP(statut='o',typ='R',),
17348 AAC362 =SIMP(statut='o',typ='R',),
17349 AAC442 =SIMP(statut='o',typ='R',),
17350 AAC452 =SIMP(statut='o',typ='R',),
17351 AAC462 =SIMP(statut='o',typ='R',),
17352 AAC552 =SIMP(statut='o',typ='R',),
17353 AAC562 =SIMP(statut='o',typ='R',),
17354 AAC662 =SIMP(statut='o',typ='R',),
17355 AAT111 =SIMP(statut='o',typ='R',),
17356 AAT121 =SIMP(statut='o',typ='R',),
17357 AAT131 =SIMP(statut='o',typ='R',),
17358 AAT141 =SIMP(statut='o',typ='R',),
17359 AAT151 =SIMP(statut='o',typ='R',),
17360 AAT161 =SIMP(statut='o',typ='R',),
17361 AAT221 =SIMP(statut='o',typ='R',),
17362 AAT231 =SIMP(statut='o',typ='R',),
17363 AAT241 =SIMP(statut='o',typ='R',),
17364 AAT251 =SIMP(statut='o',typ='R',),
17365 AAT261 =SIMP(statut='o',typ='R',),
17366 AAT331 =SIMP(statut='o',typ='R',),
17367 AAT341 =SIMP(statut='o',typ='R',),
17368 AAT351 =SIMP(statut='o',typ='R',),
17369 AAT361 =SIMP(statut='o',typ='R',),
17370 AAT441 =SIMP(statut='o',typ='R',),
17371 AAT451 =SIMP(statut='o',typ='R',),
17372 AAT461 =SIMP(statut='o',typ='R',),
17373 AAT551 =SIMP(statut='o',typ='R',),
17374 AAT561 =SIMP(statut='o',typ='R',),
17375 AAT661 =SIMP(statut='o',typ='R',),
17376 AAT112 =SIMP(statut='o',typ='R',),
17377 AAT122 =SIMP(statut='o',typ='R',),
17378 AAT132 =SIMP(statut='o',typ='R',),
17379 AAT142 =SIMP(statut='o',typ='R',),
17380 AAT152 =SIMP(statut='o',typ='R',),
17381 AAT162 =SIMP(statut='o',typ='R',),
17382 AAT222 =SIMP(statut='o',typ='R',),
17383 AAT232 =SIMP(statut='o',typ='R',),
17384 AAT242 =SIMP(statut='o',typ='R',),
17385 AAT252 =SIMP(statut='o',typ='R',),
17386 AAT262 =SIMP(statut='o',typ='R',),
17387 AAT332 =SIMP(statut='o',typ='R',),
17388 AAT342 =SIMP(statut='o',typ='R',),
17389 AAT352 =SIMP(statut='o',typ='R',),
17390 AAT362 =SIMP(statut='o',typ='R',),
17391 AAT442 =SIMP(statut='o',typ='R',),
17392 AAT452 =SIMP(statut='o',typ='R',),
17393 AAT462 =SIMP(statut='o',typ='R',),
17394 AAT552 =SIMP(statut='o',typ='R',),
17395 AAT562 =SIMP(statut='o',typ='R',),
17396 AAT662 =SIMP(statut='o',typ='R',),
17397 GAC111 =SIMP(statut='o',typ='R',),
17398 GAC121 =SIMP(statut='o',typ='R',),
17399 GAC131 =SIMP(statut='o',typ='R',),
17400 GAC141 =SIMP(statut='o',typ='R',),
17401 GAC151 =SIMP(statut='o',typ='R',),
17402 GAC161 =SIMP(statut='o',typ='R',),
17403 GAC221 =SIMP(statut='o',typ='R',),
17404 GAC231 =SIMP(statut='o',typ='R',),
17405 GAC241 =SIMP(statut='o',typ='R',),
17406 GAC251 =SIMP(statut='o',typ='R',),
17407 GAC261 =SIMP(statut='o',typ='R',),
17408 GAC331 =SIMP(statut='o',typ='R',),
17409 GAC341 =SIMP(statut='o',typ='R',),
17410 GAC351 =SIMP(statut='o',typ='R',),
17411 GAC361 =SIMP(statut='o',typ='R',),
17412 GAC441 =SIMP(statut='o',typ='R',),
17413 GAC451 =SIMP(statut='o',typ='R',),
17414 GAC461 =SIMP(statut='o',typ='R',),
17415 GAC551 =SIMP(statut='o',typ='R',),
17416 GAC561 =SIMP(statut='o',typ='R',),
17417 GAC661 =SIMP(statut='o',typ='R',),
17418 GAC112 =SIMP(statut='o',typ='R',),
17419 GAC122 =SIMP(statut='o',typ='R',),
17420 GAC132 =SIMP(statut='o',typ='R',),
17421 GAC142 =SIMP(statut='o',typ='R',),
17422 GAC152 =SIMP(statut='o',typ='R',),
17423 GAC162 =SIMP(statut='o',typ='R',),
17424 GAC222 =SIMP(statut='o',typ='R',),
17425 GAC232 =SIMP(statut='o',typ='R',),
17426 GAC242 =SIMP(statut='o',typ='R',),
17427 GAC252 =SIMP(statut='o',typ='R',),
17428 GAC262 =SIMP(statut='o',typ='R',),
17429 GAC332 =SIMP(statut='o',typ='R',),
17430 GAC342 =SIMP(statut='o',typ='R',),
17431 GAC352 =SIMP(statut='o',typ='R',),
17432 GAC362 =SIMP(statut='o',typ='R',),
17433 GAC442 =SIMP(statut='o',typ='R',),
17434 GAC452 =SIMP(statut='o',typ='R',),
17435 GAC462 =SIMP(statut='o',typ='R',),
17436 GAC552 =SIMP(statut='o',typ='R',),
17437 GAC562 =SIMP(statut='o',typ='R',),
17438 GAC662 =SIMP(statut='o',typ='R',),
17439 GAT111 =SIMP(statut='o',typ='R',),
17440 GAT121 =SIMP(statut='o',typ='R',),
17441 GAT131 =SIMP(statut='o',typ='R',),
17442 GAT141 =SIMP(statut='o',typ='R',),
17443 GAT151 =SIMP(statut='o',typ='R',),
17444 GAT161 =SIMP(statut='o',typ='R',),
17445 GAT221 =SIMP(statut='o',typ='R',),
17446 GAT231 =SIMP(statut='o',typ='R',),
17447 GAT241 =SIMP(statut='o',typ='R',),
17448 GAT251 =SIMP(statut='o',typ='R',),
17449 GAT261 =SIMP(statut='o',typ='R',),
17450 GAT331 =SIMP(statut='o',typ='R',),
17451 GAT341 =SIMP(statut='o',typ='R',),
17452 GAT351 =SIMP(statut='o',typ='R',),
17453 GAT361 =SIMP(statut='o',typ='R',),
17454 GAT441 =SIMP(statut='o',typ='R',),
17455 GAT451 =SIMP(statut='o',typ='R',),
17456 GAT461 =SIMP(statut='o',typ='R',),
17457 GAT551 =SIMP(statut='o',typ='R',),
17458 GAT561 =SIMP(statut='o',typ='R',),
17459 GAT661 =SIMP(statut='o',typ='R',),
17460 GAT112 =SIMP(statut='o',typ='R',),
17461 GAT122 =SIMP(statut='o',typ='R',),
17462 GAT132 =SIMP(statut='o',typ='R',),
17463 GAT142 =SIMP(statut='o',typ='R',),
17464 GAT152 =SIMP(statut='o',typ='R',),
17465 GAT162 =SIMP(statut='o',typ='R',),
17466 GAT222 =SIMP(statut='o',typ='R',),
17467 GAT232 =SIMP(statut='o',typ='R',),
17468 GAT242 =SIMP(statut='o',typ='R',),
17469 GAT252 =SIMP(statut='o',typ='R',),
17470 GAT262 =SIMP(statut='o',typ='R',),
17471 GAT332 =SIMP(statut='o',typ='R',),
17472 GAT342 =SIMP(statut='o',typ='R',),
17473 GAT352 =SIMP(statut='o',typ='R',),
17474 GAT362 =SIMP(statut='o',typ='R',),
17475 GAT442 =SIMP(statut='o',typ='R',),
17476 GAT452 =SIMP(statut='o',typ='R',),
17477 GAT462 =SIMP(statut='o',typ='R',),
17478 GAT552 =SIMP(statut='o',typ='R',),
17479 GAT562 =SIMP(statut='o',typ='R',),
17480 GAT662 =SIMP(statut='o',typ='R',),
17481 AB111 =SIMP(statut='o',typ='R',),
17482 AB121 =SIMP(statut='o',typ='R',),
17483 AB211 =SIMP(statut='o',typ='R',),
17484 AB221 =SIMP(statut='o',typ='R',),
17485 AB311 =SIMP(statut='o',typ='R',),
17486 AB321 =SIMP(statut='o',typ='R',),
17487 AB411 =SIMP(statut='o',typ='R',),
17488 AB421 =SIMP(statut='o',typ='R',),
17489 AB511 =SIMP(statut='o',typ='R',),
17490 AB521 =SIMP(statut='o',typ='R',),
17491 AB611 =SIMP(statut='o',typ='R',),
17492 AB621 =SIMP(statut='o',typ='R',),
17493 AB112 =SIMP(statut='o',typ='R',),
17494 AB122 =SIMP(statut='o',typ='R',),
17495 AB212 =SIMP(statut='o',typ='R',),
17496 AB222 =SIMP(statut='o',typ='R',),
17497 AB312 =SIMP(statut='o',typ='R',),
17498 AB322 =SIMP(statut='o',typ='R',),
17499 AB412 =SIMP(statut='o',typ='R',),
17500 AB422 =SIMP(statut='o',typ='R',),
17501 AB512 =SIMP(statut='o',typ='R',),
17502 AB522 =SIMP(statut='o',typ='R',),
17503 AB612 =SIMP(statut='o',typ='R',),
17504 AB622 =SIMP(statut='o',typ='R',),
17505 GB111 =SIMP(statut='o',typ='R',),
17506 GB121 =SIMP(statut='o',typ='R',),
17507 GB211 =SIMP(statut='o',typ='R',),
17508 GB221 =SIMP(statut='o',typ='R',),
17509 GB311 =SIMP(statut='o',typ='R',),
17510 GB321 =SIMP(statut='o',typ='R',),
17511 GB411 =SIMP(statut='o',typ='R',),
17512 GB421 =SIMP(statut='o',typ='R',),
17513 GB511 =SIMP(statut='o',typ='R',),
17514 GB521 =SIMP(statut='o',typ='R',),
17515 GB611 =SIMP(statut='o',typ='R',),
17516 GB621 =SIMP(statut='o',typ='R',),
17517 GB112 =SIMP(statut='o',typ='R',),
17518 GB122 =SIMP(statut='o',typ='R',),
17519 GB212 =SIMP(statut='o',typ='R',),
17520 GB222 =SIMP(statut='o',typ='R',),
17521 GB312 =SIMP(statut='o',typ='R',),
17522 GB322 =SIMP(statut='o',typ='R',),
17523 GB412 =SIMP(statut='o',typ='R',),
17524 GB422 =SIMP(statut='o',typ='R',),
17525 GB512 =SIMP(statut='o',typ='R',),
17526 GB522 =SIMP(statut='o',typ='R',),
17527 GB612 =SIMP(statut='o',typ='R',),
17528 GB622 =SIMP(statut='o',typ='R',),
17529 C0111 =SIMP(statut='o',typ='R',),
17530 C0211 =SIMP(statut='o',typ='R',),
17531 C0121 =SIMP(statut='o',typ='R',),
17532 C0221 =SIMP(statut='o',typ='R',),
17533 C0212 =SIMP(statut='o',typ='R',),
17534 C0112 =SIMP(statut='o',typ='R',),
17535 C0122 =SIMP(statut='o',typ='R',),
17536 C0222 =SIMP(statut='o',typ='R',),
17537 AC111 =SIMP(statut='o',typ='R',),
17538 AC211 =SIMP(statut='o',typ='R',),
17539 AC121 =SIMP(statut='o',typ='R',),
17540 AC221 =SIMP(statut='o',typ='R',),
17541 AC112 =SIMP(statut='o',typ='R',),
17542 AC212 =SIMP(statut='o',typ='R',),
17543 AC122 =SIMP(statut='o',typ='R',),
17544 AC222 =SIMP(statut='o',typ='R',),
17545 GC111 =SIMP(statut='o',typ='R',),
17546 GC211 =SIMP(statut='o',typ='R',),
17547 GC121 =SIMP(statut='o',typ='R',),
17548 GC221 =SIMP(statut='o',typ='R',),
17549 GC112 =SIMP(statut='o',typ='R',),
17550 GC212 =SIMP(statut='o',typ='R',),
17551 GC122 =SIMP(statut='o',typ='R',),
17552 GC222 =SIMP(statut='o',typ='R',),
17554 GATT_MONERIE =FACT(statut='f',min=0,max=1,
17555 D_GRAIN =SIMP(statut='o',typ='R',val_min=0.E+0),
17556 PORO_INIT =SIMP(statut='o',typ='R',val_min=0.E+0),
17557 EPSI_01 =SIMP(statut='o',typ='R',defaut= 2.7252E-10,val_min=0.E+0),
17558 EPSI_02 =SIMP(statut='o',typ='R',defaut= 9.1440E-41,val_min=0.E+0),
17560 CORR_ACIER =FACT(statut='f',min=0 ,max=1,
17561 D_CORR =SIMP(statut='o',typ='R'),
17562 ECRO_K =SIMP(statut='o',typ='R'),
17563 ECRO_M =SIMP(statut='o',typ='R'),
17564 SY =SIMP(statut='o',typ='R'),
17566 CABLE_GAINE_FROT=FACT(statut='f',min=0 ,max=1,
17567 TYPE = SIMP(statut='o',typ='TXM',into=("FROTTANT","GLISSANT","ADHERENT")),
17568 b_glissant =BLOC(condition="TYPE=='GLISSANT'",
17569 fr="Loi cable gaine glissante",
17570 FROT_LINE =SIMP(statut='c',typ='R',defaut= 0.0,),
17571 FROT_COURB =SIMP(statut='c',typ='R',defaut= 0.0,),
17573 b_adherent =BLOC(condition="TYPE=='ADHERENT'",
17574 fr="Loi cable gaine adherent",
17575 FROT_LINE =SIMP(statut='c',typ='R',defaut= -1.0,),
17576 FROT_COURB =SIMP(statut='c',typ='R',defaut= 0.0,),
17578 b_frottant =BLOC(condition="TYPE=='FROTTANT'",
17579 fr="Loi cable gaine frottant",
17580 FROT_LINE =SIMP(statut='o',typ='R',defaut= 0.0,),
17581 FROT_COURB =SIMP(statut='o',typ='R',defaut= 0.0,),
17583 PENA_LAGR =SIMP(statut='o',typ='R',val_min=0.E+0),
17586 # Discrets non-linéaires : début
17587 DIS_ECRO_CINE =FACT(statut='f',
17588 fr="Loi pour les discrets avec écrouissage cinématique.",
17589 regles=(PRESENT_PRESENT('LIMY_DX','KCIN_DX',),PRESENT_PRESENT('PUIS_DX','LIMU_DX',),
17590 PRESENT_PRESENT('LIMY_DY','KCIN_DY',),PRESENT_PRESENT('PUIS_DY','LIMU_DY',),
17591 PRESENT_PRESENT('LIMY_DZ','KCIN_DZ',),PRESENT_PRESENT('PUIS_DZ','LIMU_DZ',),
17592 PRESENT_PRESENT('LIMY_RX','KCIN_RX',),PRESENT_PRESENT('PUIS_RX','LIMU_RX',),
17593 PRESENT_PRESENT('LIMY_RY','KCIN_RY',),PRESENT_PRESENT('PUIS_RY','LIMU_RY',),
17594 PRESENT_PRESENT('LIMY_RZ','KCIN_RZ',),PRESENT_PRESENT('PUIS_RZ','LIMU_RZ',),),
17595 LIMY_DX =SIMP(statut='f',typ='R',val_min = 0.0,
17596 fr="Effort limite élastique suivant l'axe local x de l'élément."),
17597 LIMY_DY =SIMP(statut='f',typ='R',val_min = 0.0,
17598 fr="Effort limite élastique suivant l'axe local y de l'élément."),
17599 LIMY_DZ =SIMP(statut='f',typ='R',val_min = 0.0,
17600 fr="Effort limite élastique suivant l'axe local z de l'élément."),
17601 LIMY_RX =SIMP(statut='f',typ='R',val_min = 0.0,
17602 fr="Moment limite élastique suivant l'axe local x de l'élément."),
17603 LIMY_RY =SIMP(statut='f',typ='R',val_min = 0.0,
17604 fr="Moment limite élastique suivant l'axe local y de l'élément."),
17605 LIMY_RZ =SIMP(statut='f',typ='R',val_min = 0.0,
17606 fr="Moment limite élastique suivant l'axe local z de l'élément."),
17607 KCIN_DX =SIMP(statut='f',typ='R',val_min = 0.0,
17608 fr="Raideur suivant l'axe local x de l'élément."),
17609 KCIN_DY =SIMP(statut='f',typ='R',val_min = 0.0,
17610 fr="Raideur suivant l'axe local y de l'élément."),
17611 KCIN_DZ =SIMP(statut='f',typ='R',val_min = 0.0,
17612 fr="Raideur suivant l'axe local z de l'élément."),
17613 KCIN_RX =SIMP(statut='f',typ='R',val_min = 0.0,
17614 fr="Raideur suivant l'axe local Rx de l'élément."),
17615 KCIN_RY =SIMP(statut='f',typ='R',val_min = 0.0,
17616 fr="Raideur suivant l'axe local Ry de l'élément."),
17617 KCIN_RZ =SIMP(statut='f',typ='R',val_min = 0.0,
17618 fr="Raideur suivant l'axe local Rz de l'élément."),
17619 LIMU_DX =SIMP(statut='f',typ='R',val_min = 0.0,
17620 fr="Effort limite suivant l'axe local x de l'élément."),
17621 LIMU_DY =SIMP(statut='f',typ='R',val_min = 0.0,
17622 fr="Effort limite suivant l'axe local y de l'élément."),
17623 LIMU_DZ =SIMP(statut='f',typ='R',val_min = 0.0,
17624 fr="Effort limite suivant l'axe local z de l'élément."),
17625 LIMU_RX =SIMP(statut='f',typ='R',val_min = 0.0,
17626 fr="Moment limite suivant l'axe local x de l'élément."),
17627 LIMU_RY =SIMP(statut='f',typ='R',val_min = 0.0,
17628 fr="Moment limite suivant l'axe local y de l'élément."),
17629 LIMU_RZ =SIMP(statut='f',typ='R',val_min = 0.0,
17630 fr="Moment limite suivant l'axe local z de l'élément."),
17631 PUIS_DX =SIMP(statut='f',typ='R',val_min = 1.0,
17632 fr="Coefficient de non-linéarité suivant l'axe local x de l'élément."),
17633 PUIS_DY =SIMP(statut='f',typ='R',val_min = 1.0,
17634 fr="Coefficient de non-linéarité suivant l'axe local y de l'élément."),
17635 PUIS_DZ =SIMP(statut='f',typ='R',val_min = 1.0,
17636 fr="Coefficient de non-linéarité suivant l'axe local z de l'élément."),
17637 PUIS_RX =SIMP(statut='f',typ='R',val_min = 1.0,
17638 fr="Coefficient de non-linéarité suivant l'axe local Rx de l'élément."),
17639 PUIS_RY =SIMP(statut='f',typ='R',val_min = 1.0,
17640 fr="Coefficient de non-linéarité suivant l'axe local Ry de l'élément."),
17641 PUIS_RZ =SIMP(statut='f',typ='R',val_min = 1.0,
17642 fr="Coefficient de non-linéarité suivant l'axe local Rz de l'élément."),
17644 DIS_VISC =FACT(statut='f',
17645 fr="Loi pour un discret de type visqueux : Zener Généralisé.",
17646 regles=(UN_PARMI('K1','UNSUR_K1'),
17647 UN_PARMI('K2','UNSUR_K2'),
17648 UN_PARMI('K3','UNSUR_K3'), ),
17649 K1 =SIMP(statut='f',typ='R',val_min = 1.0E-08,
17650 fr="Raideur en série avec les 2 autres branches."),
17651 K2 =SIMP(statut='f',typ='R',val_min = 0.0,
17652 fr="Raideur en parallèle de la branche visqueuse."),
17653 K3 =SIMP(statut='f',typ='R',val_min = 1.0E-08,
17654 fr="Raideur dans la branche visqueuse."),
17655 UNSUR_K1 =SIMP(statut='f',typ='R',val_min = 0.0,
17656 fr="Souplesse en série avec les 2 autres branches."),
17657 UNSUR_K2 =SIMP(statut='f',typ='R',val_min = 1.0E-08,
17658 fr="Souplesse en parallèle de la branche visqueuse."),
17659 UNSUR_K3 =SIMP(statut='f',typ='R',val_min = 0.0,
17660 fr="Souplesse dans la branche visqueuse."),
17661 C =SIMP(statut='o',typ='R',val_min = 1.0E-08,
17662 fr="'Raideur' de la partie visqueuse."),
17663 PUIS_ALPHA =SIMP(statut='o',typ='R',val_min = 1.0E-08, val_max=1.0, defaut=0.5,
17664 fr="Puissance de la loi visqueuse ]0.0, 1.0] ."),
17666 DIS_BILI_ELAS =FACT(statut='f',
17667 fr="Loi bi-linéaire pour les discrets.",
17668 regles=(PRESENT_PRESENT('KDEB_DX','KFIN_DX','FPRE_DX',),
17669 PRESENT_PRESENT('KDEB_DY','KFIN_DY','FPRE_DY',),
17670 PRESENT_PRESENT('KDEB_DZ','KFIN_DZ','FPRE_DZ',),),
17671 KDEB_DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),
17672 fr="Raideur début suivant l'axe local x de l'élément."),
17673 KDEB_DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),
17674 fr="Raideur début suivant l'axe local y de l'élément."),
17675 KDEB_DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),
17676 fr="Raideur début suivant l'axe local z de l'élément."),
17677 KFIN_DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),
17678 fr="Raideur fin l'axe local x de l'élément."),
17679 KFIN_DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),
17680 fr="Raideur fin l'axe local y de l'élément."),
17681 KFIN_DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),
17682 fr="Raideur fin l'axe local z de l'élément."),
17683 FPRE_DX =SIMP(statut='f',typ='R',
17684 fr="Effort de préserrage suivant l'axe local x de l'élément."),
17685 FPRE_DY =SIMP(statut='f',typ='R',
17686 fr="Effort de préserrage suivant l'axe local y de l'élément."),
17687 FPRE_DZ =SIMP(statut='f',typ='R',
17688 fr="Effort de préserrage suivant l'axe local z de l'élément."),
17690 # Discrets non-linéaires : fin
17692 # comportement thermique
17694 THER_NL =FACT(statut='f',
17695 regles=(UN_PARMI('BETA','RHO_CP', ),),
17696 LAMBDA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17697 BETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17698 RHO_CP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17700 THER_HYDR =FACT(statut='f',
17701 LAMBDA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17702 BETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17703 AFFINITE =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17704 CHALHYDR =SIMP(statut='o',typ='R'),
17706 THER =FACT(statut='f',
17707 LAMBDA =SIMP(statut='o',typ='R'),
17708 RHO_CP =SIMP(statut='f',typ='R'),
17710 THER_FO =FACT(statut='f',
17711 LAMBDA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17712 RHO_CP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17714 THER_ORTH =FACT(statut='f',
17715 LAMBDA_L =SIMP(statut='o',typ='R'),
17716 LAMBDA_T =SIMP(statut='o',typ='R'),
17717 LAMBDA_N =SIMP(statut='f',typ='R'),
17718 RHO_CP =SIMP(statut='f',typ='R'),
17720 THER_COQUE =FACT(statut='f',
17721 COND_LMM =SIMP(statut='o',typ='R'),
17722 COND_TMM =SIMP(statut='o',typ='R'),
17723 COND_LMP =SIMP(statut='o',typ='R'),
17724 COND_TMP =SIMP(statut='o',typ='R'),
17725 COND_LPP =SIMP(statut='o',typ='R'),
17726 COND_TPP =SIMP(statut='o',typ='R'),
17727 COND_LSI =SIMP(statut='o',typ='R'),
17728 COND_TSI =SIMP(statut='o',typ='R'),
17729 COND_NMM =SIMP(statut='o',typ='R'),
17730 COND_NMP =SIMP(statut='o',typ='R'),
17731 COND_NPP =SIMP(statut='o',typ='R'),
17732 COND_NSI =SIMP(statut='o',typ='R'),
17733 CMAS_MM =SIMP(statut='f',typ='R'),
17734 CMAS_MP =SIMP(statut='f',typ='R'),
17735 CMAS_PP =SIMP(statut='f',typ='R'),
17736 CMAS_SI =SIMP(statut='f',typ='R'),
17738 THER_COQUE_FO =FACT(statut='f',
17739 COND_LMM =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17740 COND_TMM =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17741 COND_LMP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17742 COND_TMP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17743 COND_LPP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17744 COND_TPP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17745 COND_LSI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17746 COND_TSI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17747 COND_NMM =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17748 COND_NMP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17749 COND_NPP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17750 COND_NSI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17751 CMAS_MM =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17752 CMAS_MP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17753 CMAS_PP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17754 CMAS_SI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17756 SECH_GRANGER =FACT(statut='f',
17757 A =SIMP(statut='o',typ='R'),
17758 B =SIMP(statut='o',typ='R'),
17759 QSR_K =SIMP(statut='o',typ='R'),
17760 TEMP_0_C =SIMP(statut='o',typ='R'),
17762 SECH_MENSI =FACT(statut='f',
17763 A =SIMP(statut='o',typ='R'),
17764 B =SIMP(statut='o',typ='R'),
17766 SECH_BAZANT =FACT(statut='f',
17767 D1 =SIMP(statut='o',typ='R'),
17768 ALPHA_BAZANT =SIMP(statut='o',typ='R'),
17769 N =SIMP(statut='o',typ='R'),
17770 FONC_DESORP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17772 SECH_NAPPE =FACT(statut='f',
17773 FONCTION =SIMP(statut='o',typ=(nappe_sdaster,formule)),
17776 # comportement métallurgique
17778 META_ACIER =FACT(statut='f',
17779 TRC =SIMP(statut='o',typ=(table_sdaster) ),
17780 AR3 =SIMP(statut='o',typ='R'),
17781 ALPHA =SIMP(statut='o',typ='R'),
17782 MS0 =SIMP(statut='o',typ='R'),
17783 AC1 =SIMP(statut='o',typ='R'),
17784 AC3 =SIMP(statut='o',typ='R'),
17785 TAUX_1 =SIMP(statut='o',typ='R'),
17786 TAUX_3 =SIMP(statut='o',typ='R'),
17787 LAMBDA0 =SIMP(statut='f',typ='R'),
17788 QSR_K =SIMP(statut='f',typ='R'),
17789 D10 =SIMP(statut='f',typ='R'),
17790 WSR_K =SIMP(statut='f',typ='R'),
17792 META_ZIRC =FACT(statut='f',
17793 TDEQ =SIMP(statut='o',typ='R'),
17794 N =SIMP(statut='o',typ='R'),
17795 K =SIMP(statut='o',typ='R'),
17796 T1C =SIMP(statut='o',typ='R'),
17797 T2C =SIMP(statut='o',typ='R'),
17798 AC =SIMP(statut='o',typ='R'),
17799 M =SIMP(statut='o',typ='R'),
17800 QSR_K =SIMP(statut='o',typ='R'),
17801 T1R =SIMP(statut='o',typ='R'),
17802 T2R =SIMP(statut='o',typ='R'),
17803 AR =SIMP(statut='o',typ='R'),
17804 BR =SIMP(statut='o',typ='R'),
17806 DURT_META =FACT(statut='f',
17807 F1_DURT =SIMP(statut='o',typ='R'),
17808 F2_DURT =SIMP(statut='o',typ='R'),
17809 F3_DURT =SIMP(statut='o',typ='R'),
17810 F4_DURT =SIMP(statut='o',typ='R'),
17811 C_DURT =SIMP(statut='o',typ='R'),
17813 ELAS_META =FACT(statut='f',
17814 E =SIMP(statut='o',typ='R'),
17815 NU =SIMP(statut='o',typ='R'),
17816 F_ALPHA =SIMP(statut='o',typ='R'),
17817 C_ALPHA =SIMP(statut='o',typ='R'),
17818 PHASE_REFE =SIMP(statut='o',typ='TXM',into=("CHAUD","FROID")),
17819 EPSF_EPSC_TREF =SIMP(statut='o',typ='R'),
17820 PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E+0),
17821 F1_SY =SIMP(statut='f',typ='R'),
17822 F2_SY =SIMP(statut='f',typ='R'),
17823 F3_SY =SIMP(statut='f',typ='R'),
17824 F4_SY =SIMP(statut='f',typ='R'),
17825 C_SY =SIMP(statut='f',typ='R'),
17826 SY_MELANGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17827 F1_S_VP =SIMP(statut='f',typ='R'),
17828 F2_S_VP =SIMP(statut='f',typ='R'),
17829 F3_S_VP =SIMP(statut='f',typ='R'),
17830 F4_S_VP =SIMP(statut='f',typ='R'),
17831 C_S_VP =SIMP(statut='f',typ='R' ),
17832 S_VP_MELANGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17834 ELAS_META_FO =FACT(statut='f',
17836 PRESENT_PRESENT('F_ALPHA','TEMP_DEF_ALPHA'),
17837 PRESENT_PRESENT('C_ALPHA','TEMP_DEF_ALPHA'),
17839 E =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17840 NU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17841 F_ALPHA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17842 C_ALPHA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
17843 PHASE_REFE =SIMP(statut='o',typ='TXM',into=("CHAUD","FROID")),
17844 EPSF_EPSC_TREF =SIMP(statut='o',typ='R'),
17845 TEMP_DEF_ALPHA =SIMP(statut='f',typ='R'),
17846 PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E+0),
17847 F1_SY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17848 F2_SY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17849 F3_SY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17850 F4_SY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17851 C_SY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17852 SY_MELANGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17853 F1_S_VP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17854 F2_S_VP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17855 F3_S_VP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17856 F4_S_VP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17857 C_S_VP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17858 S_VP_MELANGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17860 META_ECRO_LINE =FACT(statut='f',
17861 F1_D_SIGM_EPSI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17862 F2_D_SIGM_EPSI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17863 F3_D_SIGM_EPSI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17864 F4_D_SIGM_EPSI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17865 C_D_SIGM_EPSI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17867 META_TRACTION =FACT(statut='f',
17868 SIGM_F1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17869 SIGM_F2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17870 SIGM_F3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17871 SIGM_F4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17872 SIGM_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17874 META_VISC_FO =FACT(statut='f',
17875 F1_ETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17876 F1_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17877 F1_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17878 F1_M =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17879 F2_ETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17880 F2_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17881 F2_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17882 F2_M =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17883 F3_ETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17884 F3_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17885 F3_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17886 F3_M =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17887 F4_ETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17888 F4_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17889 F4_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17890 F4_M =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17891 C_ETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17892 C_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17893 C_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17894 C_M =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17896 META_PT =FACT(statut='f',
17897 F1_K =SIMP(statut='f',typ='R'),
17898 F2_K =SIMP(statut='f',typ='R'),
17899 F3_K =SIMP(statut='f',typ='R'),
17900 F4_K =SIMP(statut='f',typ='R'),
17901 F1_D_F_META =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17902 F2_D_F_META =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17903 F3_D_F_META =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17904 F4_D_F_META =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
17906 META_RE =FACT(statut='f',
17907 C_F1_THETA =SIMP(statut='f',typ='R'),
17908 C_F2_THETA =SIMP(statut='f',typ='R'),
17909 C_F3_THETA =SIMP(statut='f',typ='R'),
17910 C_F4_THETA =SIMP(statut='f',typ='R'),
17911 F1_C_THETA =SIMP(statut='f',typ='R'),
17912 F2_C_THETA =SIMP(statut='f',typ='R'),
17913 F3_C_THETA =SIMP(statut='f',typ='R'),
17914 F4_C_THETA =SIMP(statut='f',typ='R'),
17917 # comportement fluide
17919 FLUIDE =FACT(statut='f',
17920 regles=(EXCLUS('CELE_C','CELE_R'),),
17921 RHO =SIMP(statut='o',typ='R'),
17922 PESA_Z =SIMP(statut='f',typ='R',min=1,max=1),
17923 CELE_C =SIMP(statut='f',typ='C'),
17924 CELE_R =SIMP(statut='f',typ='R'),
17926 # =================================================================================
17927 # COMPORTEMENT THERMO_HYDRO_MECANIQUE
17928 # LES DONNEES NECESSAIRES A LA DEFINITION DU MATERIAU SONT DEPENDANTES
17929 # DE LA LOI DE COUPLAGE THM DE LA RELATION
17930 # LE COMPORTEMENT DE COUPLAGE COMP_THM N EST VALABLE QUE POUR LES LOIS
17931 # DE COUPLAGE : LIQU_SATU,LIQU_GAZ,GAZ,LIQU_GAZ_ATM,LIQU_VAPE_GAZ,LIQU_VAPE
17932 # ET LIQU_AD_GAZ_VAPE
17933 # LA CORRESPONDANCE AVEC LES VARIABLES CACHEES EST LA SUIVANTE :
17937 # 4 --> LIQU_VAPE_GAZ
17939 # 6 --> LIQU_GAZ_ATM
17940 # 9 --> LIQU_AD_GAZ_VAPE
17941 # 10 --> LIQU_AD_GAZ
17942 # =================================================================================
17943 COMP_THM = SIMP(statut='f', typ='TXM',
17944 into = ( "LIQU_SATU" ,
17950 "LIQU_AD_GAZ_VAPE" ,
17953 # =================================================================================
17954 # --- LOI DE COUPLAGE DE TYPE LIQU_SATU -------------------------------------------
17955 # =================================================================================
17956 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
17957 # --- THM_INIT, THM_DIFFU, THM_LIQU -----------------------------------------------
17958 # =================================================================================
17959 b_liqusatu = BLOC(condition = "COMP_THM == 'LIQU_SATU' ",
17960 fr="Paramètres nécessaires pour une loi de couplage de type LIQU_SATU",
17961 # =================================================================================
17962 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
17963 # =================================================================================
17964 THM_INIT = FACT(statut='o',
17965 # ---------------------------------------------------------------------------------
17966 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
17967 # ---------------------------------------------------------------------------------
17968 PRE1 = SIMP(statut='o',typ='R'),
17969 PORO = SIMP(statut='o',typ='R'),
17970 # ---------------------------------------------------------------------------------
17971 # ------------------- DONNEES NECESSAIRE SI THERMIQUE -------------------------
17972 # ---------------------------------------------------------------------------------
17973 TEMP = SIMP(statut='f',typ='R'),
17974 # ---------------------------------------------------------------------------------
17975 # ------------------- DONNEES INUTILES ----------------------------------------
17976 # ---------------------------------------------------------------------------------
17977 PRE2 = SIMP(statut='f',typ='R'),
17978 PRES_VAPE = SIMP(statut='f',typ='R'),
17979 DEGR_SATU = SIMP(statut='f',typ='R'),
17980 # ---------------------------------------------------------------------------------
17981 # ------------------- DONNEE CACHEE ---------------------------------------------
17982 # ---------------------------------------------------------------------------------
17983 COMP_THM = SIMP(statut='c',typ='R',defaut= 1.0,),
17985 # =================================================================================
17986 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
17987 # =================================================================================
17988 THM_DIFFU = FACT(statut='o',
17989 regles = (EXCLUS('BIOT_COEF','BIOT_N',),
17990 PRESENT_PRESENT('BIOT_N','BIOT_L',),
17991 PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',),
17993 EXCLUS('PERM_IN','PERM_END','PERMIN_L',),
17994 PRESENT_ABSENT('PERMIN_N','PERMIN_T',),
17995 PRESENT_PRESENT('PERMIN_N','PERMIN_L',),
17996 PRESENT_PRESENT('PERMIN_T','PERMIN_L',),
17999 EXCLUS('LAMB_T','LAMB_TL',),
18000 PRESENT_ABSENT('LAMB_TN','LAMB_TT',),
18001 PRESENT_PRESENT('LAMB_TN','LAMB_TL',),
18002 PRESENT_PRESENT('LAMB_TT','LAMB_TL',),
18005 EXCLUS('D_LB_T','D_LB_TL',),
18006 PRESENT_ABSENT('D_LB_TN','D_LB_TT',),
18007 PRESENT_PRESENT('D_LB_TN','D_LB_TL',),
18009 EXCLUS('LAMB_CT','LAMB_C_L',),
18010 PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',),
18011 PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',),
18012 PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',),
18014 EXCLUS('PERMIN_L','BIOT_COEF'),
18015 EXCLUS('PERMIN_L','LAMB_T'),
18016 PRESENT_PRESENT('BIOT_L','PERMIN_L',),
18017 PRESENT_PRESENT('BIOT_T','PERMIN_T',),
18018 PRESENT_PRESENT('LAMB_TN','PERMIN_N',),
18019 PRESENT_PRESENT('LAMB_TL','PERMIN_L',),
18020 PRESENT_PRESENT('LAMB_TT','PERMIN_T',),
18023 # ---------------------------------------------------------------------------------
18024 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
18025 # ---------------------------------------------------------------------------------
18026 RHO = SIMP(statut='o',typ='R'),
18027 BIOT_COEF = SIMP(statut='f',typ='R'),
18028 BIOT_L = SIMP(statut='f',typ='R'),
18029 BIOT_N = SIMP(statut='f',typ='R'),
18030 BIOT_T = SIMP(statut='f',typ='R'),
18031 PESA_X = SIMP(statut='o',typ='R'),
18032 PESA_Y = SIMP(statut='o',typ='R'),
18033 PESA_Z = SIMP(statut='o',typ='R'),
18034 # ---------------------------------------------------------------------------------
18035 # ------------------- DONNEES FACULTATIVES ------------------------------------
18036 # ---------------------------------------------------------------------------------
18037 PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18038 # ---------------------------------------------------------------------------------
18039 # ------------------- DONNEES NECESSAIRE SI THERMIQUE -------------------------
18040 # ---------------------------------------------------------------------------------
18041 CP = SIMP(statut='f',typ='R'),
18042 PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18043 PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18044 PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18045 PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18046 PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18047 LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18048 D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18049 LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18050 LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18051 LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18052 LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18053 D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18054 D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18055 D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18056 D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18057 LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18058 D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18059 LAMB_CT = SIMP(statut='f',typ='R'),
18060 LAMB_C_L = SIMP(statut='f',typ='R'),
18061 LAMB_C_N = SIMP(statut='f',typ='R'),
18062 LAMB_C_T = SIMP(statut='f',typ='R'),
18063 # ---------------------------------------------------------------------------------
18064 # ------------------- DONNEES INUTILES ----------------------------------------
18065 # ---------------------------------------------------------------------------------
18066 R_GAZ = SIMP(statut='f',typ='R'),
18067 EMMAG = SIMP(statut='f',typ='R'),
18068 SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18069 D_SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18070 PERM_LIQU =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18071 D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18072 PERM_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18073 D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18074 D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18075 FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18076 FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18077 FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18078 FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18079 D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18080 D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18081 FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18082 FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18083 FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18084 FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18085 D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18087 # =================================================================================
18088 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
18089 # =================================================================================
18090 THM_LIQU = FACT(statut='o',
18091 # ---------------------------------------------------------------------------------
18092 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
18093 # ---------------------------------------------------------------------------------
18094 RHO = SIMP(statut='o',typ='R'),
18095 UN_SUR_K = SIMP(statut='o',typ='R'),
18096 VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
18097 D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
18098 # ---------------------------------------------------------------------------------
18099 # ------------------- DONNEES NECESSAIRE SI THERMIQUE -------------------------
18100 # ---------------------------------------------------------------------------------
18101 ALPHA = SIMP(statut='f',typ='R'),
18102 CP = SIMP(statut='f',typ='R'),
18104 # =================================================================================
18105 # --- MOT-CLE INUTILE -------------------------------------------------------------
18106 # =================================================================================
18107 THM_GAZ =FACT(statut='f',
18108 MASS_MOL =SIMP(statut='f',typ='R'),
18109 CP =SIMP(statut='f',typ='R'),
18110 VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18111 D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18113 # =================================================================================
18114 # --- MOT-CLE INUTILE -------------------------------------------------------------
18115 # =================================================================================
18116 THM_VAPE_GAZ =FACT(statut='f',
18117 MASS_MOL =SIMP(statut='f',typ='R'),
18118 CP =SIMP(statut='f',typ='R'),
18119 VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18120 D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18123 # =================================================================================
18124 # --- LOI DE COUPLAGE DE TYPE LIQU_GAZ --------------------------------------------
18125 # =================================================================================
18126 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
18127 # --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ --------------------------------------
18128 # =================================================================================
18129 b_liqugaz = BLOC(condition = "COMP_THM == 'LIQU_GAZ' ",
18130 fr="Paramètres nécessaires pour une loi de couplage de type LIQU_GAZ",
18131 # =================================================================================
18132 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
18133 # =================================================================================
18134 THM_INIT = FACT(statut='o',
18135 # ---------------------------------------------------------------------------------
18136 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
18137 # ---------------------------------------------------------------------------------
18138 PRE1 = SIMP(statut='o',typ='R'),
18139 PRE2 = SIMP(statut='o',typ='R'),
18140 PORO = SIMP(statut='o',typ='R'),
18141 # ---------------------------------------------------------------------------------
18142 # ------------------- DONNEES NECESSAIRE SI THERMIQUE -------------------------
18143 # ---------------------------------------------------------------------------------
18144 TEMP = SIMP(statut='f',typ='R'),
18145 # ---------------------------------------------------------------------------------
18146 # ------------------- DONNEES INUTILES ----------------------------------------
18147 # ---------------------------------------------------------------------------------
18148 PRES_VAPE = SIMP(statut='f',typ='R'),
18149 DEGR_SATU = SIMP(statut='f',typ='R'),
18150 # ---------------------------------------------------------------------------------
18151 # ------------------- DONNEE CACHEE ---------------------------------------------
18152 # ---------------------------------------------------------------------------------
18153 COMP_THM = SIMP(statut='c',typ='R',defaut= 5.0,),
18155 # =================================================================================
18156 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
18157 # =================================================================================
18158 THM_DIFFU = FACT(statut='o',
18159 regles = (EXCLUS('BIOT_COEF','BIOT_N',),
18160 PRESENT_PRESENT('BIOT_N','BIOT_L',),
18161 PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',),
18162 EXCLUS('PERM_IN','PERM_END','PERMIN_L',),
18163 PRESENT_ABSENT('PERMIN_N','PERMIN_T',),
18164 PRESENT_PRESENT('PERMIN_N','PERMIN_L',),
18165 PRESENT_PRESENT('PERMIN_T','PERMIN_L',),
18166 EXCLUS('LAMB_T','LAMB_TL',),
18167 PRESENT_ABSENT('LAMB_TN','LAMB_TT',),
18168 PRESENT_PRESENT('LAMB_TN','LAMB_TL',),
18169 PRESENT_PRESENT('LAMB_TT','LAMB_TL',),
18170 EXCLUS('D_LB_T','D_LB_TL',),
18171 PRESENT_ABSENT('D_LB_TN','D_LB_TT',),
18172 PRESENT_PRESENT('D_LB_TN','D_LB_TL',),
18173 PRESENT_PRESENT('D_LB_TT','D_LB_TL',),
18174 EXCLUS('LAMB_CT','LAMB_C_L',),
18175 PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',),
18176 PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',),
18177 PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',),
18179 EXCLUS('PERMIN_L','BIOT_COEF'),
18180 EXCLUS('PERMIN_L','LAMB_T'),
18181 PRESENT_PRESENT('BIOT_L','PERMIN_L',),
18182 PRESENT_PRESENT('BIOT_T','PERMIN_T',),
18183 PRESENT_PRESENT('LAMB_TN','PERMIN_N',),
18184 PRESENT_PRESENT('LAMB_TL','PERMIN_L',),
18185 PRESENT_PRESENT('LAMB_TT','PERMIN_T',),
18186 ENSEMBLE('SATU_PRES','D_SATU_PRES','PERM_LIQU','D_PERM_LIQU_SATU',
18187 'PERM_GAZ','D_PERM_SATU_GAZ','D_PERM_PRES_GAZ',),
18188 ENSEMBLE('VG_N','VG_SR','VG_PR','VG_SMAX','VG_SATUR',),
18189 UN_PARMI('VG_N','SATU_PRES'),
18191 # ---------------------------------------------------------------------------------
18192 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
18193 # ---------------------------------------------------------------------------------
18194 R_GAZ = SIMP(statut='o',typ='R'),
18195 RHO = SIMP(statut='o',typ='R'),
18196 BIOT_COEF = SIMP(statut='f',typ='R'),
18197 BIOT_L = SIMP(statut='f',typ='R'),
18198 BIOT_N = SIMP(statut='f',typ='R'),
18199 BIOT_T = SIMP(statut='f',typ='R'),
18200 PESA_X = SIMP(statut='o',typ='R'),
18201 PESA_Y = SIMP(statut='o',typ='R'),
18202 PESA_Z = SIMP(statut='o',typ='R'),
18203 SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18204 D_SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18205 PERM_LIQU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18206 D_PERM_LIQU_SATU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18207 PERM_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18208 D_PERM_SATU_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18209 D_PERM_PRES_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18210 # ---Van Genhuchten et Muallen-----------------------------------------------------------------------------
18212 VG_N = SIMP(statut='f',typ='R'),
18213 VG_SR = SIMP(statut='f',typ='R'),
18214 VG_PR = SIMP(statut='f',typ='R'),
18215 VG_SMAX = SIMP(statut='f',typ='R'),
18216 VG_SATUR = SIMP(statut='f',typ='R'),
18217 # ---------------------------------------------------------------------------------
18218 # ------------------- DONNEES FACULTATIVES ------------------------------------
18219 # ---------------------------------------------------------------------------------
18220 PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18222 # ---------------------------------------------------------------------------------
18223 # ------------------- DONNEES NECESSAIRE SI THERMIQUE -------------------------
18224 # ---------------------------------------------------------------------------------
18225 CP = SIMP(statut='f',typ='R'),
18226 PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18227 PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18228 PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18229 PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18230 PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18231 LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18232 D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18233 LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18234 LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18235 LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18236 LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18237 D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18238 D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18239 D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18240 D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18241 LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18242 D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18243 LAMB_CT = SIMP(statut='f',typ='R'),
18244 LAMB_C_L = SIMP(statut='f',typ='R'),
18245 LAMB_C_N = SIMP(statut='f',typ='R'),
18246 LAMB_C_T = SIMP(statut='f',typ='R'),
18247 # ---------------------------------------------------------------------------------
18248 # ------------------- DONNEES INUTILES ----------------------------------------
18249 # ---------------------------------------------------------------------------------
18250 EMMAG = SIMP(statut='f',typ='R'),
18251 FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18252 FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18253 FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18254 FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18255 D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18256 D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18257 FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18258 FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18259 FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18260 FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18261 D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18263 # =================================================================================
18264 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
18265 # =================================================================================
18266 THM_LIQU = FACT(statut='o',
18267 # ---------------------------------------------------------------------------------
18268 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
18269 # ---------------------------------------------------------------------------------
18270 RHO = SIMP(statut='o',typ='R'),
18271 UN_SUR_K = SIMP(statut='o',typ='R'),
18272 VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
18273 D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
18274 # ---------------------------------------------------------------------------------
18275 # ------------------- DONNEES NECESSAIRE SI THERMIQUE -------------------------
18276 # ---------------------------------------------------------------------------------
18277 ALPHA = SIMP(statut='f',typ='R'),
18278 CP = SIMP(statut='f',typ='R'),
18280 # =================================================================================
18281 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
18282 # =================================================================================
18283 THM_GAZ = FACT(statut='o',
18284 # ---------------------------------------------------------------------------------
18285 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
18286 # ---------------------------------------------------------------------------------
18287 MASS_MOL = SIMP(statut='o',typ='R'),
18288 VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
18289 D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
18290 # ---------------------------------------------------------------------------------
18291 # ------------------- DONNEES NECESSAIRE SI THERMIQUE -------------------------
18292 # ---------------------------------------------------------------------------------
18293 CP = SIMP(statut='f',typ='R'),
18295 # =================================================================================
18296 # --- MOT-CLE INUTILE -------------------------------------------------------------
18297 # =================================================================================
18298 THM_VAPE_GAZ =FACT(statut='f',
18299 MASS_MOL =SIMP(statut='f',typ='R'),
18300 CP =SIMP(statut='f',typ='R'),
18301 VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18302 D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18305 # =================================================================================
18306 # --- LOI DE COUPLAGE DE TYPE GAZ -------------------------------------------------
18307 # =================================================================================
18308 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
18309 # --- THM_INIT, THM_DIFFU, THM_GAZ ------------------------------------------------
18310 # =================================================================================
18311 b_gaz = BLOC(condition = "COMP_THM == 'GAZ' ",
18312 fr="Paramètres nécessaires pour une loi de couplage de type GAZ",
18313 # =================================================================================
18314 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
18315 # =================================================================================
18316 THM_INIT = FACT(statut='o',
18317 # ---------------------------------------------------------------------------------
18318 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
18319 # ---------------------------------------------------------------------------------
18320 TEMP = SIMP(statut='o',typ='R'),
18321 PRE1 = SIMP(statut='o',typ='R'),
18322 PORO = SIMP(statut='o',typ='R'),
18323 # ---------------------------------------------------------------------------------
18324 # ------------------- DONNEES INUTILES ----------------------------------------
18325 # ---------------------------------------------------------------------------------
18326 PRE2 = SIMP(statut='f',typ='R'),
18327 PRES_VAPE = SIMP(statut='f',typ='R'),
18328 DEGR_SATU = SIMP(statut='f',typ='R'),
18329 # ---------------------------------------------------------------------------------
18330 # ------------------- DONNEE CACHEE ---------------------------------------------
18331 # ---------------------------------------------------------------------------------
18332 COMP_THM = SIMP(statut='c',typ='R',defaut= 2.0,),
18334 # =================================================================================
18335 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
18336 # =================================================================================
18337 THM_DIFFU = FACT(statut='o',
18338 regles = (EXCLUS('BIOT_COEF','BIOT_N',),
18339 PRESENT_PRESENT('BIOT_N','BIOT_L',),
18340 PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',),
18341 EXCLUS('PERM_IN','PERM_END','PERMIN_L',),
18342 PRESENT_ABSENT('PERMIN_N','PERMIN_T',),
18343 PRESENT_PRESENT('PERMIN_N','PERMIN_L',),
18344 PRESENT_PRESENT('PERMIN_T','PERMIN_L',),
18345 EXCLUS('LAMB_T','LAMB_TL',),
18346 PRESENT_ABSENT('LAMB_TN','LAMB_TT',),
18347 PRESENT_PRESENT('LAMB_TN','LAMB_TL',),
18348 PRESENT_PRESENT('LAMB_TT','LAMB_TL',),
18349 EXCLUS('D_LB_T','D_LB_TL',),
18350 PRESENT_ABSENT('D_LB_TN','D_LB_TT',),
18351 PRESENT_PRESENT('D_LB_TN','D_LB_TL',),
18352 PRESENT_PRESENT('D_LB_TT','D_LB_TL',),
18353 EXCLUS('LAMB_CT','LAMB_C_L',),
18354 PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',),
18355 PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',),
18356 PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',),
18357 EXCLUS('PERMIN_L','BIOT_COEF'),
18358 EXCLUS('PERMIN_L','LAMB_T'),
18359 PRESENT_PRESENT('BIOT_L','PERMIN_L',),
18360 PRESENT_PRESENT('BIOT_T','PERMIN_T',),
18361 PRESENT_PRESENT('LAMB_TN','PERMIN_N',),
18362 PRESENT_PRESENT('LAMB_TL','PERMIN_L',),
18363 PRESENT_PRESENT('LAMB_TT','PERMIN_T',),
18365 # ---------------------------------------------------------------------------------
18366 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
18367 # ---------------------------------------------------------------------------------
18368 R_GAZ = SIMP(statut='o',typ='R'),
18369 RHO = SIMP(statut='o',typ='R'),
18370 BIOT_COEF = SIMP(statut='f',typ='R'),
18371 BIOT_L = SIMP(statut='f',typ='R'),
18372 BIOT_N = SIMP(statut='f',typ='R'),
18373 BIOT_T = SIMP(statut='f',typ='R'),
18374 PESA_X = SIMP(statut='o',typ='R'),
18375 PESA_Y = SIMP(statut='o',typ='R'),
18376 PESA_Z = SIMP(statut='o',typ='R'),
18377 # ---------------------------------------------------------------------------------
18378 # ------------------- DONNEES FACULTATIVES ------------------------------------
18379 # ---------------------------------------------------------------------------------
18380 PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18381 # ---------------------------------------------------------------------------------
18382 # ------------------- DONNEES NECESSAIRE SI THERMIQUE -------------------------
18383 # ---------------------------------------------------------------------------------
18384 CP = SIMP(statut='f',typ='R'),
18385 PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18386 PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18387 PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18388 PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18389 PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18390 LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18391 D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18392 LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18393 LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18394 LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18395 LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18396 D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18397 D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18398 D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18399 D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18400 LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18401 D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18402 LAMB_CT = SIMP(statut='f',typ='R'),
18403 LAMB_C_L = SIMP(statut='f',typ='R'),
18404 LAMB_C_N = SIMP(statut='f',typ='R'),
18405 LAMB_C_T = SIMP(statut='f',typ='R'),
18406 # ---------------------------------------------------------------------------------
18407 # ------------------- DONNEES INUTILES ----------------------------------------
18408 # ---------------------------------------------------------------------------------
18409 EMMAG = SIMP(statut='f',typ='R'),
18410 SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18411 D_SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18412 PERM_LIQU =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18413 D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18414 PERM_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18415 D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18416 D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18417 FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18418 FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18419 FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18420 FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18421 D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18422 D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18423 FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18424 FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18425 FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18426 FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18427 D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18429 # =================================================================================
18430 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
18431 # =================================================================================
18432 THM_GAZ = FACT(statut='o',
18433 # ---------------------------------------------------------------------------------
18434 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
18435 # ---------------------------------------------------------------------------------
18436 MASS_MOL = SIMP(statut='o',typ='R'),
18437 VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
18438 D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
18439 # ---------------------------------------------------------------------------------
18440 # ------------------- DONNEES NECESSAIRE SI THERMIQUE -------------------------
18441 # ---------------------------------------------------------------------------------
18442 CP = SIMP(statut='f',typ='R'),
18444 # =================================================================================
18445 # --- MOT-CLE INUTILE -------------------------------------------------------------
18446 # =================================================================================
18447 THM_LIQU =FACT(statut='f',
18448 RHO =SIMP(statut='f',typ='R'),
18449 UN_SUR_K =SIMP(statut='f',typ='R'),
18450 ALPHA =SIMP(statut='f',typ='R'),
18451 CP =SIMP(statut='f',typ='R'),
18452 VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18453 D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18454 COEF_HENRY =SIMP(statut='f',typ='R'),
18456 # =================================================================================
18457 # --- MOT-CLE INUTILE -------------------------------------------------------------
18458 # =================================================================================
18459 THM_VAPE_GAZ =FACT(statut='f',
18460 MASS_MOL =SIMP(statut='f',typ='R'),
18461 CP =SIMP(statut='f',typ='R'),
18462 VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18463 D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18466 # =================================================================================
18467 # --- LOI DE COUPLAGE DE TYPE LIQU_GAZ_ATM ----------------------------------------
18468 # =================================================================================
18469 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
18470 # --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ --------------------------------------
18471 # =================================================================================
18472 b_liqugazatm = BLOC(condition = "COMP_THM == 'LIQU_GAZ_ATM' ",
18473 fr="Paramètres nécessaires pour une loi de couplage de type LIQU_GAZ_ATM",
18474 # =================================================================================
18475 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
18476 # =================================================================================
18477 THM_INIT = FACT(statut='o',
18478 # ---------------------------------------------------------------------------------
18479 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
18480 # ---------------------------------------------------------------------------------
18481 PRE1 = SIMP(statut='o',typ='R'),
18482 PORO = SIMP(statut='o',typ='R'),
18483 # ---------------------------------------------------------------------------------
18484 # ------------------- DONNEES NECESSAIRE SI THERMIQUE -------------------------
18485 # ---------------------------------------------------------------------------------
18486 TEMP = SIMP(statut='f',typ='R'),
18487 # ---------------------------------------------------------------------------------
18488 # ------------------- DONNEES INUTILES ----------------------------------------
18489 # ---------------------------------------------------------------------------------
18490 PRE2 = SIMP(statut='f',typ='R'),
18491 PRES_VAPE = SIMP(statut='f',typ='R'),
18492 DEGR_SATU = SIMP(statut='f',typ='R'),
18493 # ---------------------------------------------------------------------------------
18494 # ------------------- DONNEE CACHEE ---------------------------------------------
18495 # ---------------------------------------------------------------------------------
18496 COMP_THM = SIMP(statut='c',typ='R',defaut= 6.0,),
18498 # =================================================================================
18499 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
18500 # =================================================================================
18501 THM_DIFFU = FACT(statut='o',
18502 regles = (EXCLUS('BIOT_COEF','BIOT_N',),
18503 PRESENT_PRESENT('BIOT_N','BIOT_L',),
18504 PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',),
18505 EXCLUS('PERM_IN','PERM_END','PERMIN_L',),
18506 PRESENT_ABSENT('PERMIN_N','PERMIN_T',),
18507 PRESENT_PRESENT('PERMIN_N','PERMIN_L',),
18508 PRESENT_PRESENT('PERMIN_T','PERMIN_L',),
18509 EXCLUS('LAMB_T','LAMB_TL',),
18510 PRESENT_ABSENT('LAMB_TN','LAMB_TT',),
18511 PRESENT_PRESENT('LAMB_TN','LAMB_TL',),
18512 PRESENT_PRESENT('LAMB_TT','LAMB_TL',),
18513 EXCLUS('D_LB_T','D_LB_TL',),
18514 PRESENT_ABSENT('D_LB_TN','D_LB_TT',),
18515 PRESENT_PRESENT('D_LB_TN','D_LB_TL',),
18516 PRESENT_PRESENT('D_LB_TT','D_LB_TL',),
18517 EXCLUS('LAMB_CT','LAMB_C_L',),
18518 PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',),
18519 PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',),
18520 PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',),
18521 EXCLUS('PERMIN_L','BIOT_COEF'),
18522 EXCLUS('PERMIN_L','LAMB_T'),
18523 PRESENT_PRESENT('BIOT_L','PERMIN_L',),
18524 PRESENT_PRESENT('BIOT_T','PERMIN_T',),
18525 PRESENT_PRESENT('LAMB_TN','PERMIN_N',),
18526 PRESENT_PRESENT('LAMB_TL','PERMIN_L',),
18527 PRESENT_PRESENT('LAMB_TT','PERMIN_T',),
18529 # ---------------------------------------------------------------------------------
18530 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
18531 # ---------------------------------------------------------------------------------
18532 RHO = SIMP(statut='o',typ='R'),
18533 BIOT_COEF = SIMP(statut='f',typ='R'),
18534 BIOT_L = SIMP(statut='f',typ='R'),
18535 BIOT_N = SIMP(statut='f',typ='R'),
18536 BIOT_T = SIMP(statut='f',typ='R'),
18537 PESA_X = SIMP(statut='o',typ='R'),
18538 PESA_Y = SIMP(statut='o',typ='R'),
18539 PESA_Z = SIMP(statut='o',typ='R'),
18540 SATU_PRES = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
18541 D_SATU_PRES = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
18542 PERM_LIQU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
18543 D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
18544 # ---------------------------------------------------------------------------------
18545 # ------------------- DONNEES FACULTATIVES ------------------------------------
18546 # ---------------------------------------------------------------------------------
18547 PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18548 # ---------------------------------------------------------------------------------
18549 # ------------------- DONNEES NECESSAIRE SI THERMIQUE -------------------------
18550 # ---------------------------------------------------------------------------------
18551 CP = SIMP(statut='f',typ='R'),
18552 PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18553 PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18554 PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18555 PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18556 PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18557 LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18558 D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18559 LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18560 LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18561 LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18562 LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18563 D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18564 D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18565 D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18566 D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18567 LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18568 D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18569 LAMB_CT = SIMP(statut='f',typ='R'),
18570 LAMB_C_L = SIMP(statut='f',typ='R'),
18571 LAMB_C_N = SIMP(statut='f',typ='R'),
18572 LAMB_C_T = SIMP(statut='f',typ='R'),
18573 # ---------------------------------------------------------------------------------
18574 # ------------------- DONNEES INUTILES ----------------------------------------
18575 # ---------------------------------------------------------------------------------
18576 EMMAG = SIMP(statut='f',typ='R'),
18577 R_GAZ =SIMP(statut='f',typ='R'),
18578 PERM_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18579 D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18580 D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18581 FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18582 FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18583 FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18584 FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18585 D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18586 D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18587 FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18588 FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18589 FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18590 FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18591 D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18593 # =================================================================================
18594 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
18595 # =================================================================================
18596 THM_LIQU = FACT(statut='o',
18597 # ---------------------------------------------------------------------------------
18598 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
18599 # ---------------------------------------------------------------------------------
18600 RHO = SIMP(statut='o',typ='R'),
18601 UN_SUR_K = SIMP(statut='o',typ='R'),
18602 VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
18603 D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
18604 # ---------------------------------------------------------------------------------
18605 # ------------------- DONNEES NECESSAIRE SI THERMIQUE -------------------------
18606 # ---------------------------------------------------------------------------------
18607 ALPHA = SIMP(statut='f',typ='R'),
18608 CP = SIMP(statut='f',typ='R'),
18610 # =================================================================================
18611 # --- MOT-CLE INUTILE -------------------------------------------------------------
18612 # =================================================================================
18613 THM_GAZ = FACT(statut='f',
18614 MASS_MOL = SIMP(statut='f',typ='R'),
18615 VISC = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18616 D_VISC_TEMP = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18617 CP = SIMP(statut='f',typ='R'),
18619 # =================================================================================
18620 # --- MOT-CLE INUTILE -------------------------------------------------------------
18621 # =================================================================================
18622 THM_VAPE_GAZ =FACT(statut='f',
18623 MASS_MOL =SIMP(statut='f',typ='R'),
18624 CP =SIMP(statut='f',typ='R'),
18625 VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18626 D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18630 # =================================================================================
18631 # --- LOI DE COUPLAGE DE TYPE LIQU_AD_GAZ -------------------------------------
18632 # =================================================================================
18633 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
18634 # --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ, THM_AIR_DISSOUS---------
18635 # =================================================================================
18636 b_liquadgaz = BLOC(condition = "COMP_THM == 'LIQU_AD_GAZ' ",
18637 fr="Paramètres nécessaires pour une loi de couplage de type LIQU_AD_GAZ",
18638 # =================================================================================
18639 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
18640 # =================================================================================
18641 THM_INIT = FACT(statut='o',
18642 # ---------------------------------------------------------------------------------
18643 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
18644 # ---------------------------------------------------------------------------------
18645 PRE1 = SIMP(statut='o',typ='R'),
18646 PRE2 = SIMP(statut='o',typ='R'),
18647 PORO = SIMP(statut='o',typ='R'),
18648 PRES_VAPE = SIMP(statut='f',typ='R'),
18649 # ---------------------------------------------------------------------------------
18650 # ------------------- DONNEES NECESSAIRE SI THERMIQUE -------------------------
18651 # ---------------------------------------------------------------------------------
18652 TEMP = SIMP(statut='f',typ='R'),
18653 # ---------------------------------------------------------------------------------
18654 # ------------------- DONNEES INUTILES ----------------------------------------
18655 # ---------------------------------------------------------------------------------
18656 DEGR_SATU = SIMP(statut='f',typ='R'),
18657 # ---------------------------------------------------------------------------------
18658 # ------------------- DONNEE CACHEE ---------------------------------------------
18659 # ---------------------------------------------------------------------------------
18660 COMP_THM = SIMP(statut='c',typ='R',defaut= 10.0,),
18662 # =================================================================================
18663 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
18664 # =================================================================================
18665 THM_DIFFU = FACT(statut='o',
18666 regles = (EXCLUS('BIOT_COEF','BIOT_N',),
18667 PRESENT_PRESENT('BIOT_N','BIOT_L',),
18668 PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',),
18669 EXCLUS('PERM_IN','PERM_END','PERMIN_L',),
18670 PRESENT_ABSENT('PERMIN_N','PERMIN_T',),
18671 PRESENT_PRESENT('PERMIN_N','PERMIN_L',),
18672 PRESENT_PRESENT('PERMIN_T','PERMIN_L',),
18673 EXCLUS('LAMB_T','LAMB_TL',),
18674 PRESENT_ABSENT('LAMB_TN','LAMB_TT',),
18675 PRESENT_PRESENT('LAMB_TN','LAMB_TL',),
18676 PRESENT_PRESENT('LAMB_TT','LAMB_TL',),
18677 EXCLUS('D_LB_T','D_LB_TL',),
18678 PRESENT_ABSENT('D_LB_TN','D_LB_TT',),
18679 PRESENT_PRESENT('D_LB_TN','D_LB_TL',),
18680 PRESENT_PRESENT('D_LB_TT','D_LB_TL',),
18681 EXCLUS('LAMB_CT','LAMB_C_L',),
18682 PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',),
18683 PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',),
18684 PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',),
18685 EXCLUS('PERMIN_L','BIOT_COEF'),
18686 EXCLUS('PERMIN_L','LAMB_T'),
18687 PRESENT_PRESENT('BIOT_L','PERMIN_L',),
18688 PRESENT_PRESENT('BIOT_T','PERMIN_T',),
18689 PRESENT_PRESENT('LAMB_TN','PERMIN_N',),
18690 PRESENT_PRESENT('LAMB_TL','PERMIN_L',),
18691 PRESENT_PRESENT('LAMB_TT','PERMIN_T',),
18692 ENSEMBLE('SATU_PRES','D_SATU_PRES','PERM_LIQU','D_PERM_LIQU_SATU',
18693 'PERM_GAZ','D_PERM_SATU_GAZ','D_PERM_PRES_GAZ',),
18694 ENSEMBLE('VG_N','VG_SR','VG_PR','VG_SMAX','VG_SATUR',),
18695 UN_PARMI('VG_N','SATU_PRES'),
18697 # ---------------------------------------------------------------------------------
18698 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
18699 # ---------------------------------------------------------------------------------
18700 R_GAZ = SIMP(statut='o',typ='R'),
18701 RHO = SIMP(statut='o',typ='R'),
18702 BIOT_COEF = SIMP(statut='f',typ='R'),
18703 BIOT_L = SIMP(statut='f',typ='R'),
18704 BIOT_N = SIMP(statut='f',typ='R'),
18705 BIOT_T = SIMP(statut='f',typ='R'),
18706 PESA_X = SIMP(statut='o',typ='R'),
18707 PESA_Y = SIMP(statut='o',typ='R'),
18708 PESA_Z = SIMP(statut='o',typ='R'),
18709 SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18710 D_SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18711 PERM_LIQU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18712 D_PERM_LIQU_SATU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18713 PERM_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18714 D_PERM_SATU_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18715 D_PERM_PRES_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18716 # ---Van Genhuchten et Muallen-----------------------------------------------------------------------------
18717 VG_N = SIMP(statut='f',typ='R'),
18718 VG_SR = SIMP(statut='f',typ='R'),
18719 VG_PR = SIMP(statut='f',typ='R'),
18720 VG_SMAX = SIMP(statut='f',typ='R'),
18721 VG_SATUR = SIMP(statut='f',typ='R'),
18723 FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18724 FICKA_T = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
18725 # ---------------------------------------------------------------------------------
18726 # ------------------- DONNEES FACULTATIVES ------------------------------------
18727 # ---------------------------------------------------------------------------------
18728 PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18729 # ---------------------------------------------------------------------------------
18730 # ------------------- DONNEES NECESSAIRE SI THERMIQUE -------------------------
18731 # ---------------------------------------------------------------------------------
18732 CP = SIMP(statut='f',typ='R'),
18733 PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18734 PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18735 PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18736 PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18737 PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18738 LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18739 D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18740 LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18741 LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18742 LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18743 LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18744 D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18745 D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18746 D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18747 D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18748 LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18749 D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18750 LAMB_CT = SIMP(statut='f',typ='R'),
18751 LAMB_C_L = SIMP(statut='f',typ='R'),
18752 LAMB_C_N = SIMP(statut='f',typ='R'),
18753 LAMB_C_T = SIMP(statut='f',typ='R'),
18754 # ---------------------------------------------------------------------------------
18755 # ------------------- DONNEES FACULTATIVES ------------------------------------
18756 # ---------------------------------------------------------------------------------
18757 EMMAG = SIMP(statut='f',typ='R'),
18758 FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18759 FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18760 FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18761 D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18762 D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18764 FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18765 FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18766 FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18767 D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18768 # ---------------------------------------------------------------------------------
18769 # ------------------- DONNEES CACHEES -------------------------------------------
18770 # ---------------------------------------------------------------------------------
18772 # =================================================================================
18773 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
18774 # =================================================================================
18775 THM_LIQU = FACT(statut='o',
18776 # ---------------------------------------------------------------------------------
18777 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
18778 # ---------------------------------------------------------------------------------
18779 RHO = SIMP(statut='o',typ='R'),
18780 UN_SUR_K = SIMP(statut='o',typ='R'),
18781 VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
18782 D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
18783 # ---------------------------------------------------------------------------------
18784 # ------------------- DONNEES NECESSAIRE SI THERMIQUE -------------------------
18785 # ---------------------------------------------------------------------------------
18786 ALPHA = SIMP(statut='f',typ='R'),
18787 CP = SIMP(statut='f',typ='R'),
18788 # ---------------------------------------------------------------------------------
18789 # ------------------- DONNEES CACHEES -------------------------------------------
18790 # ---------------------------------------------------------------------------------
18792 # =================================================================================
18793 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
18794 # =================================================================================
18795 THM_GAZ = FACT(statut='o',
18796 # ---------------------------------------------------------------------------------
18797 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
18798 # ---------------------------------------------------------------------------------
18799 MASS_MOL = SIMP(statut='o',typ='R'),
18800 VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
18801 D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
18802 # ---------------------------------------------------------------------------------
18803 # ------------------- DONNEES NECESSAIRE SI THERMIQUE -------------------------
18804 # ---------------------------------------------------------------------------------
18805 CP = SIMP(statut='f',typ='R'),
18806 # ---------------------------------------------------------------------------------
18807 # ------------------- DONNEES CACHEES -------------------------------------------
18808 # ---------------------------------------------------------------------------------
18810 # =================================================================================
18811 # --- MOT-CLE FACULTATIF ---------------------------------------------------------
18812 # =================================================================================
18813 THM_VAPE_GAZ = FACT(statut='f',
18814 # ---------------------------------------------------------------------------------
18815 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
18816 # ---------------------------------------------------------------------------------
18817 MASS_MOL = SIMP(statut='o',typ='R'),
18818 CP = SIMP(statut='o',typ='R'),
18819 VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
18820 D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
18821 # ---------------------------------------------------------------------------------
18822 # ------------------- DONNEES CACHEES -------------------------------------------
18823 # ---------------------------------------------------------------------------------
18825 # =================================================================================
18826 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
18827 # =================================================================================
18828 THM_AIR_DISS = FACT(statut='o',
18829 # ---------------------------------------------------------------------------------
18830 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
18831 # ---------------------------------------------------------------------------------
18832 CP = SIMP(statut='o',typ='R'),
18833 COEF_HENRY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
18837 # =================================================================================
18838 # --- LOI DE COUPLAGE DE TYPE LIQU_VAPE_GAZ ---------------------------------------
18839 # =================================================================================
18840 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
18841 # --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ, THM_VAPE_GAZ ------------------------
18842 # =================================================================================
18843 b_liquvapegaz = BLOC(condition = "COMP_THM == 'LIQU_VAPE_GAZ' ",
18844 fr="Paramètres nécessaires pour une loi de couplage de type LIQU_VAPE_GAZ",
18845 # =================================================================================
18846 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
18847 # =================================================================================
18848 THM_INIT = FACT(statut='o',
18849 # ---------------------------------------------------------------------------------
18850 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
18851 # ---------------------------------------------------------------------------------
18852 PRE1 = SIMP(statut='o',typ='R'),
18853 PRE2 = SIMP(statut='o',typ='R'),
18854 PORO = SIMP(statut='o',typ='R'),
18855 PRES_VAPE = SIMP(statut='o',typ='R'),
18856 # ---------------------------------------------------------------------------------
18857 # ------------------- DONNEES NECESSAIRE SI THERMIQUE -------------------------
18858 # ---------------------------------------------------------------------------------
18859 TEMP = SIMP(statut='f',typ='R'),
18860 # ---------------------------------------------------------------------------------
18861 # ------------------- DONNEES INUTILES ----------------------------------------
18862 # ---------------------------------------------------------------------------------
18863 DEGR_SATU = SIMP(statut='f',typ='R'),
18864 # ---------------------------------------------------------------------------------
18865 # ------------------- DONNEE CACHEE ---------------------------------------------
18866 # ---------------------------------------------------------------------------------
18867 COMP_THM = SIMP(statut='c',typ='R',defaut= 4.0,),
18869 # =================================================================================
18870 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
18871 # =================================================================================
18872 THM_DIFFU = FACT(statut='o',
18873 # ---------------------------------------------------------------------------------
18874 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
18875 # ---------------------------------------------------------------------------------
18876 R_GAZ = SIMP(statut='o',typ='R'),
18877 RHO = SIMP(statut='o',typ='R'),
18878 BIOT_COEF = SIMP(statut='f',typ='R'),
18879 BIOT_L = SIMP(statut='f',typ='R'),
18880 BIOT_N = SIMP(statut='f',typ='R'),
18881 BIOT_T = SIMP(statut='f',typ='R'),
18882 PESA_X = SIMP(statut='o',typ='R'),
18883 PESA_Y = SIMP(statut='o',typ='R'),
18884 PESA_Z = SIMP(statut='o',typ='R'),
18885 SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18886 D_SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18887 PERM_LIQU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18888 D_PERM_LIQU_SATU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18889 PERM_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18890 D_PERM_SATU_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18891 D_PERM_PRES_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18892 # ---Van Genhuchten et Muallen-----------------------------------------------------------------------------
18894 VG_N = SIMP(statut='f',typ='R'),
18895 VG_SR = SIMP(statut='f',typ='R'),
18896 VG_PR = SIMP(statut='f',typ='R'),
18897 VG_SMAX = SIMP(statut='f',typ='R'),
18898 VG_SATUR = SIMP(statut='f',typ='R'),
18900 FICKV_T = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
18901 # ---------------------------------------------------------------------------------
18902 # ------------------- DONNEES FACULTATIVES ------------------------------------
18903 # ---------------------------------------------------------------------------------
18904 PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18905 # ---------------------------------------------------------------------------------
18906 # ------------------- DONNEES NECESSAIRE SI THERMIQUE -------------------------
18907 # ---------------------------------------------------------------------------------
18908 CP = SIMP(statut='f',typ='R'),
18909 PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18910 PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18911 PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18912 PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18913 PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18914 LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18915 D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18916 LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18917 LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18918 LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18919 LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18920 D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18921 D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18922 D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18923 D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18924 LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18925 D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18926 LAMB_CT = SIMP(statut='f',typ='R'),
18927 LAMB_C_L = SIMP(statut='f',typ='R'),
18928 LAMB_C_N = SIMP(statut='f',typ='R'),
18929 LAMB_C_T = SIMP(statut='f',typ='R'),
18931 regles = (EXCLUS('BIOT_COEF','BIOT_N',),
18932 PRESENT_PRESENT('BIOT_N','BIOT_L',),
18933 PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',),
18934 EXCLUS('PERM_IN','PERM_END','PERMIN_L',),
18935 PRESENT_ABSENT('PERMIN_N','PERMIN_T',),
18936 PRESENT_PRESENT('PERMIN_N','PERMIN_L',),
18937 PRESENT_PRESENT('PERMIN_T','PERMIN_L',),
18938 EXCLUS('LAMB_T','LAMB_TL',),
18939 PRESENT_ABSENT('LAMB_TN','LAMB_TT',),
18940 PRESENT_PRESENT('LAMB_TN','LAMB_TL',),
18941 PRESENT_PRESENT('LAMB_TT','LAMB_TL',),
18942 EXCLUS('D_LB_T','D_LB_TL',),
18943 PRESENT_ABSENT('D_LB_TN','D_LB_TT',),
18944 PRESENT_PRESENT('D_LB_TN','D_LB_TL',),
18945 PRESENT_PRESENT('D_LB_TT','D_LB_TL',),
18946 EXCLUS('LAMB_CT','LAMB_C_L',),
18947 PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',),
18948 PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',),
18949 PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',),
18950 EXCLUS('PERMIN_L','BIOT_COEF'),
18951 EXCLUS('PERMIN_L','LAMB_T'),
18952 PRESENT_PRESENT('BIOT_L','PERMIN_L',),
18953 PRESENT_PRESENT('BIOT_T','PERMIN_T',),
18954 PRESENT_PRESENT('LAMB_TN','PERMIN_N',),
18955 PRESENT_PRESENT('LAMB_TL','PERMIN_L',),
18956 PRESENT_PRESENT('LAMB_TT','PERMIN_T',),
18958 ENSEMBLE('SATU_PRES','D_SATU_PRES','PERM_LIQU','D_PERM_LIQU_SATU',
18959 'PERM_GAZ','D_PERM_SATU_GAZ','D_PERM_PRES_GAZ',),
18960 ENSEMBLE('VG_N','VG_SR','VG_PR','VG_SMAX','VG_SATUR',),
18961 UN_PARMI('VG_N','SATU_PRES'),
18963 # ---------------------------------------------------------------------------------
18964 # ------------------- DONNEES FACULTATIVE ----------------------------------
18965 # ---------------------------------------------------------------------------------
18966 EMMAG = SIMP(statut='f',typ='R'),
18967 FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18968 FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18969 FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18970 D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18971 D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18972 # ---------------------------------------------------------------------------------
18973 # ------------------- DONNEES INUTILES ----------------------------------------
18974 # ---------------------------------------------------------------------------------
18975 FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18976 FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18977 FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18978 FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18979 D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
18981 # =================================================================================
18982 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
18983 # =================================================================================
18984 THM_LIQU = FACT(statut='o',
18985 # ---------------------------------------------------------------------------------
18986 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
18987 # ---------------------------------------------------------------------------------
18988 RHO = SIMP(statut='o',typ='R'),
18989 UN_SUR_K = SIMP(statut='o',typ='R'),
18990 VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
18991 D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
18992 # ---------------------------------------------------------------------------------
18993 # ------------------- DONNEES NECESSAIRE SI THERMIQUE -------------------------
18994 # ---------------------------------------------------------------------------------
18995 ALPHA = SIMP(statut='f',typ='R'),
18996 CP = SIMP(statut='f',typ='R'),
18998 # =================================================================================
18999 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
19000 # =================================================================================
19001 THM_GAZ = FACT(statut='o',
19002 # ---------------------------------------------------------------------------------
19003 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
19004 # ---------------------------------------------------------------------------------
19005 MASS_MOL = SIMP(statut='o',typ='R'),
19006 VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19007 D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19008 # ---------------------------------------------------------------------------------
19009 # ------------------- DONNEES NECESSAIRE SI THERMIQUE -------------------------
19010 # ---------------------------------------------------------------------------------
19011 CP = SIMP(statut='f',typ='R'),
19013 # =================================================================================
19014 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
19015 # =================================================================================
19016 THM_VAPE_GAZ = FACT(statut='o',
19017 # ---------------------------------------------------------------------------------
19018 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
19019 # ---------------------------------------------------------------------------------
19020 MASS_MOL = SIMP(statut='o',typ='R'),
19021 CP = SIMP(statut='o',typ='R'),
19022 VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19023 D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19026 # =================================================================================
19027 # --- LOI DE COUPLAGE DE TYPE LIQU_AD_GAZ_VAPE -------------------------------------
19028 # =================================================================================
19029 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
19030 # --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ, THM_VAPE_GAZ THM_AIR_DISSOUS---------
19031 # =================================================================================
19032 b_liquadvape = BLOC(condition = "COMP_THM == 'LIQU_AD_GAZ_VAPE' ",
19033 fr="Paramètres nécessaires pour une loi de couplage de type LIQU_AD_GAZ_VAPE",
19034 # =================================================================================
19035 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
19036 # =================================================================================
19037 THM_INIT = FACT(statut='o',
19038 # ---------------------------------------------------------------------------------
19039 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
19040 # ---------------------------------------------------------------------------------
19041 PRE1 = SIMP(statut='o',typ='R'),
19042 PRE2 = SIMP(statut='o',typ='R'),
19043 PORO = SIMP(statut='o',typ='R'),
19044 PRES_VAPE = SIMP(statut='o',typ='R'),
19045 # ---------------------------------------------------------------------------------
19046 # ------------------- DONNEES NECESSAIRE SI THERMIQUE -------------------------
19047 # ---------------------------------------------------------------------------------
19048 TEMP = SIMP(statut='f',typ='R'),
19049 # ---------------------------------------------------------------------------------
19050 # ------------------- DONNEES INUTILES ----------------------------------------
19051 # ---------------------------------------------------------------------------------
19052 DEGR_SATU = SIMP(statut='f',typ='R'),
19053 # ---------------------------------------------------------------------------------
19054 # ------------------- DONNEE CACHEE ---------------------------------------------
19055 # ---------------------------------------------------------------------------------
19056 COMP_THM = SIMP(statut='c',typ='R',defaut= 9.0,),
19058 # =================================================================================
19059 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
19060 # =================================================================================
19061 THM_DIFFU = FACT(statut='o',
19062 # ---------------------------------------------------------------------------------
19063 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
19064 # ---------------------------------------------------------------------------------
19065 R_GAZ = SIMP(statut='o',typ='R'),
19066 RHO = SIMP(statut='o',typ='R'),
19067 BIOT_COEF = SIMP(statut='f',typ='R'),
19068 BIOT_L = SIMP(statut='f',typ='R'),
19069 BIOT_N = SIMP(statut='f',typ='R'),
19070 BIOT_T = SIMP(statut='f',typ='R'),
19071 PESA_X = SIMP(statut='o',typ='R'),
19072 PESA_Y = SIMP(statut='o',typ='R'),
19073 PESA_Z = SIMP(statut='o',typ='R'),
19074 SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19075 D_SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19076 PERM_LIQU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19077 D_PERM_LIQU_SATU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19078 PERM_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19079 D_PERM_SATU_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19080 D_PERM_PRES_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19081 # ---Van Genhuchten et Muallen-----------------------------------------------------------------------------
19082 VG_N = SIMP(statut='f',typ='R'),
19083 VG_SR = SIMP(statut='f',typ='R'),
19084 VG_PR = SIMP(statut='f',typ='R'),
19085 VG_SMAX = SIMP(statut='f',typ='R'),
19086 VG_SATUR = SIMP(statut='f',typ='R'),
19088 FICKV_T = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19089 FICKA_T = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19090 # ---------------------------------------------------------------------------------
19091 # ------------------- DONNEES FACULTATIVES ------------------------------------
19092 # ---------------------------------------------------------------------------------
19093 PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19094 # ---------------------------------------------------------------------------------
19095 # ------------------- DONNEES NECESSAIRE SI THERMIQUE -------------------------
19096 # ---------------------------------------------------------------------------------
19097 CP = SIMP(statut='f',typ='R'),
19098 PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19099 PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19100 PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19101 PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19102 PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19103 LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19104 D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19105 LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19106 LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19107 LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19108 LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19109 D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19110 D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19111 D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19112 D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19113 LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19114 D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19115 LAMB_CT = SIMP(statut='f',typ='R'),
19116 LAMB_C_L = SIMP(statut='f',typ='R'),
19117 LAMB_C_N = SIMP(statut='f',typ='R'),
19118 LAMB_C_T = SIMP(statut='f',typ='R'),
19120 regles = (EXCLUS('BIOT_COEF','BIOT_N',),
19121 PRESENT_PRESENT('BIOT_N','BIOT_L',),
19122 PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',),
19123 EXCLUS('PERM_IN','PERM_END','PERMIN_L',),
19124 PRESENT_ABSENT('PERMIN_N','PERMIN_T',),
19125 PRESENT_PRESENT('PERMIN_N','PERMIN_L',),
19126 PRESENT_PRESENT('PERMIN_T','PERMIN_L',),
19127 EXCLUS('LAMB_T','LAMB_TL',),
19128 PRESENT_PRESENT('LAMB_TT','PERMIN_T',),
19129 PRESENT_ABSENT('LAMB_TN','LAMB_TT',),
19130 PRESENT_PRESENT('LAMB_TN','LAMB_TL',),
19131 PRESENT_PRESENT('LAMB_TT','LAMB_TL',),
19132 EXCLUS('D_LB_T','D_LB_TL',),
19133 PRESENT_ABSENT('D_LB_TN','D_LB_TT',),
19134 PRESENT_PRESENT('D_LB_TN','D_LB_TL',),
19135 PRESENT_PRESENT('D_LB_TT','D_LB_TL',),
19136 EXCLUS('LAMB_CT','LAMB_C_L',),
19137 PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',),
19138 PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',),
19139 PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',),
19140 EXCLUS('PERMIN_L','BIOT_COEF'),
19141 EXCLUS('PERMIN_L','LAMB_T'),
19142 PRESENT_PRESENT('BIOT_L','PERMIN_L',),
19143 PRESENT_PRESENT('BIOT_T','PERMIN_T',),
19144 PRESENT_PRESENT('LAMB_TN','PERMIN_N',),
19145 PRESENT_PRESENT('LAMB_TL','PERMIN_L',),
19146 PRESENT_PRESENT('LAMB_TT','PERMIN_T',),
19147 ENSEMBLE('SATU_PRES','D_SATU_PRES','PERM_LIQU','D_PERM_LIQU_SATU',
19148 'PERM_GAZ','D_PERM_SATU_GAZ','D_PERM_PRES_GAZ',),
19149 ENSEMBLE('VG_N','VG_SR','VG_PR','VG_SMAX','VG_SATUR',),
19150 UN_PARMI('VG_N','SATU_PRES'),
19152 # ---------------------------------------------------------------------------------
19153 # ------------------- DONNEES FACULTATIVES ------------------------------------
19154 # ---------------------------------------------------------------------------------
19155 EMMAG = SIMP(statut='f',typ='R'),
19156 FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19157 FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19158 FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19159 D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19160 D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19162 FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19163 FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19164 FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19165 D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19167 # =================================================================================
19168 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
19169 # =================================================================================
19170 THM_LIQU = FACT(statut='o',
19171 # ---------------------------------------------------------------------------------
19172 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
19173 # ---------------------------------------------------------------------------------
19174 RHO = SIMP(statut='o',typ='R'),
19175 UN_SUR_K = SIMP(statut='o',typ='R'),
19176 VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19177 D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19178 # ---------------------------------------------------------------------------------
19179 # ------------------- DONNEES NECESSAIRE SI THERMIQUE -------------------------
19180 # ---------------------------------------------------------------------------------
19181 ALPHA = SIMP(statut='f',typ='R'),
19182 CP = SIMP(statut='f',typ='R'),
19184 # =================================================================================
19185 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
19186 # =================================================================================
19187 THM_GAZ = FACT(statut='o',
19188 # ---------------------------------------------------------------------------------
19189 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
19190 # ---------------------------------------------------------------------------------
19191 MASS_MOL = SIMP(statut='o',typ='R'),
19192 VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19193 D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19194 # ---------------------------------------------------------------------------------
19195 # ------------------- DONNEES NECESSAIRE SI THERMIQUE -------------------------
19196 # ---------------------------------------------------------------------------------
19197 CP = SIMP(statut='f',typ='R'),
19199 # =================================================================================
19200 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
19201 # =================================================================================
19202 THM_VAPE_GAZ = FACT(statut='o',
19203 # ---------------------------------------------------------------------------------
19204 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
19205 # ---------------------------------------------------------------------------------
19206 MASS_MOL = SIMP(statut='o',typ='R'),
19207 CP = SIMP(statut='o',typ='R'),
19208 VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19209 D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19211 # =================================================================================
19212 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
19213 # =================================================================================
19214 THM_AIR_DISS = FACT(statut='o',
19215 # ---------------------------------------------------------------------------------
19216 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
19217 # ---------------------------------------------------------------------------------
19218 CP = SIMP(statut='o',typ='R'),
19219 COEF_HENRY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19222 # =================================================================================
19223 # --- LOI DE COUPLAGE DE TYPE LIQU_VAPE -------------------------------------------
19224 # =================================================================================
19225 # --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
19226 # --- THM_INIT, THM_DIFFU, THM_LIQU, THM_VAPE_GAZ ---------------------------------
19227 # =================================================================================
19228 b_liquvape = BLOC(condition = "COMP_THM == 'LIQU_VAPE' ",
19229 fr="Paramètres nécessaires pour une loi de couplage de type LIQU_VAPE",
19230 # =================================================================================
19231 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
19232 # =================================================================================
19233 THM_INIT = FACT(statut='o',
19234 # ---------------------------------------------------------------------------------
19235 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
19236 # ---------------------------------------------------------------------------------
19237 PRE1 = SIMP(statut='o',typ='R'),
19238 PORO = SIMP(statut='o',typ='R'),
19239 PRES_VAPE = SIMP(statut='o',typ='R'),
19240 # ---------------------------------------------------------------------------------
19241 # ------------------- DONNEES NECESSAIRE SI THERMIQUE -------------------------
19242 # ---------------------------------------------------------------------------------
19243 TEMP = SIMP(statut='f',typ='R'),
19244 # ---------------------------------------------------------------------------------
19245 # ------------------- DONNEES INUTILES ----------------------------------------
19246 # ---------------------------------------------------------------------------------
19247 PRE2 = SIMP(statut='f',typ='R'),
19248 DEGR_SATU = SIMP(statut='f',typ='R'),
19249 # ---------------------------------------------------------------------------------
19250 # ------------------- DONNEE CACHEE ---------------------------------------------
19251 # ---------------------------------------------------------------------------------
19252 COMP_THM = SIMP(statut='c',typ='R',defaut= 3.0,),
19254 # =================================================================================
19255 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
19256 # =================================================================================
19257 THM_DIFFU = FACT(statut='o',
19258 # ---------------------------------------------------------------------------------
19259 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
19260 # ---------------------------------------------------------------------------------
19261 R_GAZ = SIMP(statut='o',typ='R'),
19262 RHO = SIMP(statut='o',typ='R'),
19263 BIOT_COEF = SIMP(statut='f',typ='R'),
19264 BIOT_L = SIMP(statut='f',typ='R'),
19265 BIOT_N = SIMP(statut='f',typ='R'),
19266 BIOT_T = SIMP(statut='f',typ='R'),
19267 PESA_X = SIMP(statut='o',typ='R'),
19268 PESA_Y = SIMP(statut='o',typ='R'),
19269 PESA_Z = SIMP(statut='o',typ='R'),
19270 SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19271 D_SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19272 PERM_LIQU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19273 D_PERM_LIQU_SATU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19274 PERM_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19275 D_PERM_SATU_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19276 D_PERM_PRES_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19277 # ---Van Genhuchten et Muallen-----------------------------------------------------------------------------
19279 VG_N = SIMP(statut='f',typ='R'),
19280 VG_SR = SIMP(statut='f',typ='R'),
19281 VG_PR = SIMP(statut='f',typ='R'),
19282 VG_SMAX = SIMP(statut='f',typ='R'),
19283 VG_SATUR = SIMP(statut='f',typ='R'),
19284 # ---------------------------------------------------------------------------------
19285 # ------------------- DONNEES FACULTATIVES ------------------------------------
19286 # ---------------------------------------------------------------------------------
19287 PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19288 # ---------------------------------------------------------------------------------
19289 # ------------------- DONNEES NECESSAIRE SI THERMIQUE -------------------------
19290 # ---------------------------------------------------------------------------------
19291 CP = SIMP(statut='f',typ='R'),
19292 PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19293 PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19294 PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19295 PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19296 PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19297 LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19298 D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19299 LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19300 LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19301 LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19302 LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19303 D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19304 D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19305 D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19306 D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19307 LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19308 D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19309 LAMB_CT = SIMP(statut='f',typ='R'),
19310 LAMB_C_L = SIMP(statut='f',typ='R'),
19311 LAMB_C_N = SIMP(statut='f',typ='R'),
19312 LAMB_C_T = SIMP(statut='f',typ='R'),
19314 regles = (EXCLUS('BIOT_COEF','BIOT_N',),
19315 PRESENT_PRESENT('BIOT_N','BIOT_L',),
19316 PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',),
19317 EXCLUS('PERM_IN','PERM_END','PERMIN_L',),
19318 PRESENT_ABSENT('PERMIN_N','PERMIN_T',),
19319 PRESENT_PRESENT('PERMIN_N','PERMIN_L',),
19320 PRESENT_PRESENT('PERMIN_T','PERMIN_L',),
19321 EXCLUS('LAMB_T','LAMB_TL',),
19322 PRESENT_ABSENT('LAMB_TN','LAMB_TT',),
19323 PRESENT_PRESENT('LAMB_TN','LAMB_TL',),
19324 PRESENT_PRESENT('LAMB_TT','LAMB_TL',),
19325 EXCLUS('D_LB_T','D_LB_TL',),
19326 PRESENT_ABSENT('D_LB_TN','D_LB_TT',),
19327 PRESENT_PRESENT('D_LB_TN','D_LB_TL',),
19328 PRESENT_PRESENT('D_LB_TT','D_LB_TL',),
19329 EXCLUS('LAMB_CT','LAMB_C_L',),
19330 PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',),
19331 PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',),
19332 PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',),
19333 EXCLUS('PERMIN_L','BIOT_COEF'),
19334 EXCLUS('PERMIN_L','LAMB_T'),
19335 PRESENT_PRESENT('BIOT_L','PERMIN_L',),
19336 PRESENT_PRESENT('BIOT_T','PERMIN_T',),
19337 PRESENT_PRESENT('LAMB_TN','PERMIN_N',),
19338 PRESENT_PRESENT('LAMB_TL','PERMIN_L',),
19339 PRESENT_PRESENT('LAMB_TT','PERMIN_T',),
19341 ENSEMBLE('SATU_PRES','D_SATU_PRES','PERM_LIQU','D_PERM_LIQU_SATU',
19342 'PERM_GAZ','D_PERM_SATU_GAZ','D_PERM_PRES_GAZ',),
19343 ENSEMBLE('VG_N','VG_SR','VG_PR','VG_SMAX','VG_SATUR',),
19344 UN_PARMI('VG_N','SATU_PRES'),
19346 # ---------------------------------------------------------------------------------
19347 # ------------------- DONNEES INUTILES ----------------------------------------
19348 # ---------------------------------------------------------------------------------
19349 EMMAG = SIMP(statut='f',typ='R'),
19350 FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19351 FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19352 FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19353 FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19354 D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19355 D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19356 FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19357 FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19358 FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19359 FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19360 D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19362 # =================================================================================
19363 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
19364 # =================================================================================
19365 THM_LIQU = FACT(statut='o',
19366 # ---------------------------------------------------------------------------------
19367 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
19368 # ---------------------------------------------------------------------------------
19369 RHO = SIMP(statut='o',typ='R'),
19370 UN_SUR_K = SIMP(statut='o',typ='R'),
19371 VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19372 D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19373 # ---------------------------------------------------------------------------------
19374 # ------------------- DONNEES NECESSAIRE SI THERMIQUE -------------------------
19375 # ---------------------------------------------------------------------------------
19376 ALPHA = SIMP(statut='f',typ='R'),
19377 CP = SIMP(statut='f',typ='R'),
19379 # =================================================================================
19380 # --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
19381 # =================================================================================
19382 THM_VAPE_GAZ = FACT(statut='o',
19383 # ---------------------------------------------------------------------------------
19384 # ------------------- DONNEES OBLIGATOIRE -------------------------------------
19385 # ---------------------------------------------------------------------------------
19386 MASS_MOL = SIMP(statut='o',typ='R'),
19387 CP = SIMP(statut='o',typ='R'),
19388 VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19389 D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19391 # =================================================================================
19392 # --- MOT-CLE INUTILE -------------------------------------------------------------
19393 # =================================================================================
19394 THM_GAZ =FACT(statut='f',
19395 MASS_MOL =SIMP(statut='f',typ='R'),
19396 CP =SIMP(statut='f',typ='R'),
19397 VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19398 D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19401 # courbes et coefficients associés à la fatigue et au dommage
19403 FATIGUE =FACT(statut='f',
19404 regles=(PRESENT_ABSENT('WOHLER','A_BASQUIN','BETA_BASQUIN'),
19405 PRESENT_ABSENT('WOHLER','A0','A1','A2','A3','SL'),
19406 PRESENT_ABSENT('A_BASQUIN','A0','A1','A2','A3','SL'),
19407 ENSEMBLE('A_BASQUIN','BETA_BASQUIN'),
19408 ENSEMBLE('A0','A1','A2','A3','SL'),
19409 PRESENT_PRESENT('A0','E_REFE'),
19410 ENSEMBLE('D0','TAU0'),),
19411 WOHLER =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19412 A_BASQUIN =SIMP(statut='f',typ='R'),
19413 BETA_BASQUIN =SIMP(statut='f',typ='R'),
19414 A0 =SIMP(statut='f',typ='R'),
19415 A1 =SIMP(statut='f',typ='R'),
19416 A2 =SIMP(statut='f',typ='R'),
19417 A3 =SIMP(statut='f',typ='R'),
19418 SL =SIMP(statut='f',typ='R'),
19419 MANSON_COFFIN =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19420 E_REFE =SIMP(statut='f',typ='R'),
19421 D0 =SIMP(statut='f',typ='R'),
19422 TAU0 =SIMP(statut='f',typ='R'),
19424 DOMMA_LEMAITRE =FACT(statut='f',
19425 S =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19426 EPSP_SEUIL =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19427 EXP_S =SIMP(statut='f',typ='R',val_min=0.0E0,defaut=1.0),
19429 CISA_PLAN_CRIT =FACT(statut='f',
19430 CRITERE =SIMP(statut='o',typ='TXM',into=("MATAKE_MODI_AC",
19431 "DANG_VAN_MODI_AC",
19432 "DANG_VAN_MODI_AV",
19434 "FATESOCI_MODI_AV",
19437 b_critere_matake =BLOC(condition="CRITERE=='MATAKE_MODI_AC' or CRITERE=='MATAKE_MODI_AV'",
19438 fr="Cisaillement plan critique critère de matake pour les cas amplitude constante et amplitude variable",
19439 MATAKE_A =SIMP(statut='o',typ='R'),
19440 MATAKE_B =SIMP(statut='o',typ='R'),
19441 COEF_FLEX_TORS =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0),
19444 b_critere_dang_van =BLOC(condition="(CRITERE=='DANG_VAN_MODI_AC' or CRITERE=='DANG_VAN_MODI_AV')",
19445 fr="Critère de Dang Van modifié pour les cas amplitude constante et amplitude variable",
19446 D_VAN_A =SIMP(statut='o',typ='R'),
19447 D_VAN_B =SIMP(statut='o',typ='R'),
19448 COEF_CISA_TRAC =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0),
19451 b_critere_fate_soci =BLOC(condition="CRITERE=='FATESOCI_MODI_AV'",
19452 fr="Critère de Fatemi et Socie, en élasticité ou élastoplasticité, pour le cas amplitude variable",
19453 FATSOC_A =SIMP(statut='o',typ='R'),
19454 COEF_CISA_TRAC =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0),
19459 THM_RUPT =FACT(statut='f',
19460 OUV_FICT =SIMP(statut='o',typ='R'),
19461 UN_SUR_N =SIMP(statut='f',typ='R',defaut= 0.),
19464 # autres comportements ...
19466 WEIBULL =FACT(statut='f',
19467 M =SIMP(statut='o',typ='R'),
19468 VOLU_REFE =SIMP(statut='o',typ='R'),
19469 SIGM_REFE =SIMP(statut='o',typ='R'),
19470 SEUIL_EPSP_CUMU =SIMP(statut='f',typ='R',defaut= 1.0E-6),
19472 WEIBULL_FO =FACT(statut='f',
19473 M =SIMP(statut='o',typ='R'),
19474 VOLU_REFE =SIMP(statut='o',typ='R'),
19475 SIGM_CNV =SIMP(statut='o',typ='R'),
19476 SIGM_REFE =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19477 SEUIL_EPSP_CUMU =SIMP(statut='f',typ='R',defaut= 1.0E-6),
19479 NON_LOCAL =FACT(statut='f',
19480 regles=(AU_MOINS_UN('LONG_CARA','C_GONF','C_GRAD_VARI','PENA_LAGR',),),
19481 LONG_CARA =SIMP(statut='f',typ='R'),
19482 C_GRAD_VARI =SIMP(statut='f',typ='R'),
19483 PENA_LAGR =SIMP(statut='f',typ='R',defaut= 1.0E3),
19484 C_GONF =SIMP(statut='f',typ='R'),
19485 COEF_RIGI_MINI =SIMP(statut='f',typ='R'),
19487 RUPT_FRAG =FACT(statut='f',
19488 GC =SIMP(statut='o',typ='R'),
19489 SIGM_C =SIMP(statut='f',typ='R'),
19490 PENA_ADHERENCE =SIMP(statut='f',typ='R',val_min=1.E-12,val_max=1.E+0),
19491 PENA_CONTACT =SIMP(statut='f',typ='R',defaut=1.),
19492 PENA_LAGR =SIMP(statut='f',typ='R',defaut=1.0E2,val_min=1.01E+0),
19493 RIGI_GLIS =SIMP(statut='f',typ='R',defaut=1.0E1),
19494 CINEMATIQUE =SIMP(statut='f',typ='TXM',defaut="UNILATER",into=("UNILATER","GLIS_1D","GLIS_2D")),
19496 RUPT_FRAG_FO =FACT(statut='f',
19497 GC =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
19498 SIGM_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19499 PENA_ADHERENCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19500 PENA_CONTACT =SIMP(statut='f',typ='R',defaut=1.),
19501 CINEMATIQUE =SIMP(statut='f',typ='TXM',defaut="UNILATER",into=("UNILATER","GLIS_1D","GLIS_2D")),
19503 CZM_LAB_MIX =FACT(statut='f',
19504 SIGM_C =SIMP(statut='o',typ='R', val_min=1.E-100),
19505 GLIS_C =SIMP(statut='o',typ='R', val_min=1.E-100),
19506 ALPHA =SIMP(statut='f',typ='R', defaut=0.5, val_min=1.E-3),
19507 BETA =SIMP(statut='f',typ='R', defaut=1., val_min=0.),
19508 PENA_LAGR =SIMP(statut='f',typ='R', defaut=100.,val_min=1.01E+0),
19509 CINEMATIQUE =SIMP(statut='f',typ='TXM',defaut="GLIS_1D",into=("UNILATER","GLIS_1D","GLIS_2D")),
19511 RUPT_DUCT =FACT(statut='f',
19512 GC =SIMP(statut='o',typ='R'),
19513 SIGM_C =SIMP(statut='o',typ='R'),
19514 COEF_EXTR =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=9.99E-1),
19515 COEF_PLAS =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=9.99E-1),
19516 PENA_LAGR =SIMP(statut='f',typ='R',defaut=1.0E2,val_min=1.01E+0),
19517 RIGI_GLIS =SIMP(statut='f',typ='R',defaut=1.0E1),
19519 JOINT_MECA_RUPT =FACT(statut='f',
19520 regles=(EXCLUS('PRES_FLUIDE','PRES_CLAVAGE'),
19521 EXCLUS('PRES_FLUIDE','SCIAGE'),
19522 PRESENT_PRESENT('RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'),
19523 PRESENT_ABSENT('PRES_FLUIDE','RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'),
19524 PRESENT_ABSENT('PRES_CLAVAGE','RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'),
19525 PRESENT_ABSENT('SCIAGE','RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'),
19526 PRESENT_ABSENT('RHO_FLUIDE','PRES_FLUIDE','PRES_CLAVAGE','SCIAGE'),
19527 PRESENT_ABSENT('VISC_FLUIDE','PRES_FLUIDE','PRES_CLAVAGE','SCIAGE'),
19528 PRESENT_ABSENT('OUV_MIN','PRES_FLUIDE','PRES_CLAVAGE','SCIAGE'),
19530 K_N =SIMP(statut='o',typ='R',val_min=1.E-12),
19531 K_T =SIMP(statut='f',typ='R',val_min=1.E-12),
19532 SIGM_MAX =SIMP(statut='o',typ='R',val_min=0.),
19533 ALPHA =SIMP(statut='f',typ='R',defaut=1., val_min=0., val_max=2.),
19534 PENA_RUPTURE =SIMP(statut='f',typ='R',val_min=1.E-12,val_max=10.E+0),
19535 PENA_CONTACT =SIMP(statut='f',typ='R',defaut=1.,val_min=1.E-12),
19536 PRES_FLUIDE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19537 PRES_CLAVAGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19538 SCIAGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19539 RHO_FLUIDE =SIMP(statut='f',typ='R',val_min=0.),
19540 VISC_FLUIDE =SIMP(statut='f',typ='R',val_min=1.E-20),
19541 OUV_MIN =SIMP(statut='f',typ='R',val_min=1.E-15),
19543 JOINT_MECA_FROT =FACT(statut='f',
19545 EXCLUS('PRES_FLUIDE','SCIAGE'),
19546 PRESENT_PRESENT('RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'),
19547 PRESENT_ABSENT('PRES_FLUIDE','RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'),
19548 PRESENT_ABSENT('SCIAGE','RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'),
19549 PRESENT_ABSENT('RHO_FLUIDE','PRES_FLUIDE'),
19550 PRESENT_ABSENT('VISC_FLUIDE','PRES_FLUIDE'),
19551 PRESENT_ABSENT('OUV_MIN','PRES_FLUIDE'),
19553 K_N =SIMP(statut='o',typ='R',val_min=1.E-12),
19554 K_T =SIMP(statut='f',typ='R',val_min=1.E-12),
19555 MU =SIMP(statut='o',typ='R',val_min=1.E-3),
19556 PENA_TANG =SIMP(statut='f',typ='R',val_min=0.),
19557 ADHESION =SIMP(statut='f',typ='R',defaut=0., val_min=0.),
19558 PRES_FLUIDE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19559 SCIAGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19560 RHO_FLUIDE =SIMP(statut='f',typ='R',val_min=0.),
19561 VISC_FLUIDE =SIMP(statut='f',typ='R',val_min=1.E-20),
19562 OUV_MIN =SIMP(statut='f',typ='R',val_min=1.E-15),
19564 RCCM =FACT(statut='f',
19565 regles=(ENSEMBLE('A_AMORC','B_AMORC','D_AMORC','R_AMORC'),),
19566 SY_02 =SIMP(statut='f',typ='R'),
19567 SM =SIMP(statut='f',typ='R'),
19568 SU =SIMP(statut='f',typ='R'),
19569 SC =SIMP(statut='f',typ='R'),
19570 SH =SIMP(statut='f',typ='R'),
19571 N_KE =SIMP(statut='f',typ='R'),
19572 M_KE =SIMP(statut='f',typ='R'),
19573 A_AMORC =SIMP(statut='f',typ='R'),
19574 B_AMORC =SIMP(statut='f',typ='R'),
19575 D_AMORC =SIMP(statut='f',typ='R'),
19576 R_AMORC =SIMP(statut='f',typ='R'),
19578 RCCM_FO =FACT(statut='f',
19579 regles=(ENSEMBLE('A_AMORC','B_AMORC','D_AMORC','R_AMORC'),),
19580 SY_02 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19581 SM =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19582 SU =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19583 S =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19584 N_KE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19585 M_KE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19586 A_AMORC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19587 B_AMORC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19588 D_AMORC =SIMP(statut='f',typ='R'),
19589 R_AMORC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
19591 LAIGLE =FACT(statut='f',
19592 GAMMA_ULT =SIMP(statut='o',typ='R'),
19593 GAMMA_E =SIMP(statut='o',typ='R'),
19594 M_ULT =SIMP(statut='o',typ='R'),
19595 M_E =SIMP(statut='o',typ='R'),
19596 A_E =SIMP(statut='o',typ='R'),
19597 M_PIC =SIMP(statut='o',typ='R'),
19598 A_PIC =SIMP(statut='o',typ='R'),
19599 ETA =SIMP(statut='o',typ='R'),
19600 SIGMA_C =SIMP(statut='o',typ='R'),
19601 GAMMA =SIMP(statut='o',typ='R'),
19602 KSI =SIMP(statut='o',typ='R'),
19603 GAMMA_CJS =SIMP(statut='o',typ='R'),
19604 SIGMA_P1 =SIMP(statut='o',typ='R'),
19605 PA =SIMP(statut='o',typ='R'),
19607 LETK =FACT(statut='f',
19608 PA =SIMP(statut='o',typ='R',fr="pression atmospherique"),
19609 NELAS =SIMP(statut='o',typ='R',fr="exposant de la loi de variation des modules K et G"),
19610 SIGMA_C =SIMP(statut='o',typ='R',fr="résistance en compression simple "),
19611 H0_EXT =SIMP(statut='o',typ='R',fr="parametre pilotant la résistance en extension"),
19612 GAMMA_CJS =SIMP(statut='o',typ='R',fr="parametre de forme du critere ds le plan déviatoire entre 0 et 1."),
19613 XAMS =SIMP(statut='o',typ='R',fr="parametre non nul intervenant dans les lois d'écrouissage pre pic"),
19614 ETA =SIMP(statut='o',typ='R',fr="parametre non nul intervenant dans les lois d'écrouissage post pic"),
19615 A_0 =SIMP(statut='o',typ='R',fr="a de la limite d'élasticité initiale"),
19616 A_E =SIMP(statut='o',typ='R',fr="a de la limite de clivage ou seuil intermédiaire"),
19617 A_PIC =SIMP(statut='o',typ='R',fr="a du seuil de pic"),
19618 S_0 =SIMP(statut='o',typ='R',fr="s de la limite d'élasticité initiale"),
19619 M_0 =SIMP(statut='o',typ='R',fr="m de la limite d'élasticité initiale"),
19620 M_E =SIMP(statut='o',typ='R',fr="m de la limite de clivage ou seuil intermédiaire"),
19621 M_PIC =SIMP(statut='o',typ='R',fr="m du seuil de pic"),
19622 M_ULT =SIMP(statut='o',typ='R',fr="m du seuil residuel"),
19623 XI_ULT =SIMP(statut='o',typ='R',fr="niveau d écrouissage pour atteindre le seuil résiduel"),
19624 XI_E =SIMP(statut='o',typ='R',fr="niveau d écrouissage pour atteindre le seuil de clivage"),
19625 XI_PIC =SIMP(statut='o',typ='R',fr="niveau d écrouissage pour atteindre le seuil de pic"),
19626 MV_MAX =SIMP(statut='o',typ='R',fr="m du seuil viscoplastique maximal"),
19627 XIV_MAX =SIMP(statut='o',typ='R',fr="niveau d écrouissage pour atteindre le seuil viscoplastique maximal"),
19628 A =SIMP(statut='o',typ='R',fr="parametre carcaterisant l amplitude de la vitesse de fluage"),
19629 N =SIMP(statut='o',typ='R',fr="parametre intervenant dans la formule pilotant la cinetique de fluage"),
19630 SIGMA_P1 =SIMP(statut='o',typ='R',fr="SIG min de l intersection du seuil de pic et intermediaire "),
19631 MU0_V =SIMP(statut='o',typ='R',fr="relatif à l angle de dilatance des mecanismes pre pic et viscoplastique"),
19632 XI0_V =SIMP(statut='o',typ='R',fr="relatif à l angle de dilatance des mecanismes pre pic et viscoplastique"),
19633 MU1 =SIMP(statut='o',typ='R',fr="relatif à l angle de dilatance du mecanisme post pic "),
19634 XI1 =SIMP(statut='o',typ='R',fr="relatif à l angle de dilatance du mecanisme post pic "),
19636 DRUCK_PRAGER =FACT(statut='f',
19637 ALPHA =SIMP(statut='o',typ='R'),
19638 SY =SIMP(statut='o',typ='R'),
19639 P_ULTM =SIMP(statut='o',typ='R'),
19640 ECROUISSAGE = SIMP(statut='o',typ='TXM',into=("LINEAIRE","PARABOLIQUE")),
19641 b_lineaire =BLOC(condition="ECROUISSAGE=='LINEAIRE'",
19642 fr="Loi de comportement de type Drucker Prager avec un ecrouissage lineaire",
19643 H =SIMP(statut='o',typ='R'),
19644 TYPE_DP =SIMP(statut='c',typ='R',defaut= 1.0,),
19646 b_parabolique =BLOC(condition="ECROUISSAGE=='PARABOLIQUE'",
19647 fr="Loi de comportement de type Drucker Prager avec un ecrouissage parabolique",
19648 SY_ULTM =SIMP(statut='o',typ='R'),
19649 TYPE_DP =SIMP(statut='c',typ='R',defaut= 2.0,),
19651 DILAT =SIMP(statut='f',typ='R',defaut=0.0),
19654 DRUCK_PRAGER_FO =FACT(statut='f',
19655 ALPHA =SIMP(statut='o',typ=(fonction_sdaster,formule)),
19656 SY =SIMP(statut='o',typ=(fonction_sdaster,formule)),
19657 P_ULTM =SIMP(statut='o',typ=(fonction_sdaster,formule)),
19658 ECROUISSAGE = SIMP(statut='o',typ='TXM',into=("LINEAIRE","PARABOLIQUE")),
19659 b_lineaire =BLOC(condition="ECROUISSAGE=='LINEAIRE'",
19660 fr="Loi de comportement de type Drucker Prager avec un ecrouissage lineaire",
19661 H =SIMP(statut='o',typ=(fonction_sdaster,formule)),
19662 TYPE_DP =SIMP(statut='c',typ='R',defaut= 1.0,),
19664 b_parabolique =BLOC(condition="ECROUISSAGE=='PARABOLIQUE'",
19665 fr="Loi de comportement de type Drucker Prager avec un ecrouissage parabolique",
19666 SY_ULTM =SIMP(statut='o',typ=(fonction_sdaster,formule)),
19667 TYPE_DP =SIMP(statut='c',typ='R',defaut= 2.0,),
19669 DILAT =SIMP(statut='f',typ='R',defaut=0.0),
19672 VISC_DRUC_PRAG =FACT(statut='f',
19673 PREF =SIMP(statut='o',typ='R',fr="pression de reference"),
19674 A =SIMP(statut='o',typ='R',fr="parametre carcaterisant l amplitude de la vitesse de fluage"),
19675 N =SIMP(statut='o',typ='R',fr="parametre intervenant dans la formule pilotant la cinetique de fluage"),
19676 P_PIC =SIMP(statut='o',typ='R',fr="niveau d ecrouissage pour atteindre le seuil de pic"),
19677 P_ULT =SIMP(statut='o',typ='R',fr="niveau d ecrouissage pour atteindre le seuil utime"),
19678 ALPHA_0 =SIMP(statut='o',typ='R',fr="parametre d ecrouissage relatif à la cohesion au seuil d elasticite"),
19679 ALPHA_PIC =SIMP(statut='o',typ='R',fr="parametre d ecrouissage relatif à la cohesion au seuil de pic"),
19680 ALPHA_ULT =SIMP(statut='o',typ='R',fr="parametre d ecrouissage relatif à la cohesion au seuil ultime"),
19681 R_0 =SIMP(statut='o',typ='R',fr="parametre d ecrouissage correspondant au seuil d'elasticite"),
19682 R_PIC =SIMP(statut='o',typ='R',fr="parametre d ecrouissage correspondant au seuil de pic"),
19683 R_ULT =SIMP(statut='o',typ='R',fr="parametre d ecrouissage correspondant au seuil ultime"),
19684 BETA_0 =SIMP(statut='o',typ='R',fr="parametre d ecrouissage relatif à la dilatance au seuil d elasticite"),
19685 BETA_PIC =SIMP(statut='o',typ='R',fr="parametre d ecrouissage relatif à la dilatance au seuil de pic"),
19686 BETA_ULT =SIMP(statut='o',typ='R',fr="parametre d ecrouissage relatif à la dilatance au seuil ultime"),
19688 HOEK_BROWN =FACT(statut='f',
19689 GAMMA_RUP =SIMP(statut='o',typ='R'),
19690 GAMMA_RES =SIMP(statut='o',typ='R'),
19691 S_END =SIMP(statut='o',typ='R'),
19692 S_RUP =SIMP(statut='o',typ='R'),
19693 M_END =SIMP(statut='o',typ='R'),
19694 M_RUP =SIMP(statut='o',typ='R'),
19695 BETA =SIMP(statut='o',typ='R'),
19696 ALPHAHB =SIMP(statut='o',typ='R'),
19697 PHI_RUP =SIMP(statut='o',typ='R'),
19698 PHI_RES =SIMP(statut='o',typ='R'),
19699 PHI_END =SIMP(statut='f',typ='R'),
19701 ELAS_GONF =FACT(statut='f',
19702 BETAM =SIMP(statut='o',typ='R'),
19703 PREF =SIMP(statut='o',typ='R'),
19705 JOINT_BANDIS =FACT(statut='f',
19706 K =SIMP(statut='o',typ='R'),
19707 DMAX =SIMP(statut='o',typ='R'),
19708 GAMMA =SIMP(statut='o',typ='R'),
19709 KT =SIMP(statut='f',typ='R',defaut = 1.E12),
19713 MONO_VISC1 =FACT(statut='f',
19714 TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),),
19715 N =SIMP(statut='o',typ='R'),
19716 K =SIMP(statut='o',typ='R'),
19717 C =SIMP(statut='o',typ='R'),
19719 MONO_VISC2 =FACT(statut='f',
19720 TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),),
19721 N =SIMP(statut='o',typ='R'),
19722 K =SIMP(statut='o',typ='R'),
19723 C =SIMP(statut='o',typ='R'),
19724 D =SIMP(statut='o',typ='R'),
19725 A =SIMP(statut='o',typ='R'),
19727 MONO_ISOT1 =FACT(statut='f',
19728 regles=(UN_PARMI('H','H1'),
19729 PRESENT_PRESENT('H1','H2','H3','H4'),
19730 PRESENT_ABSENT('H','H1','H2','H3','H4','H5','H6'),
19732 TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECRO_ISOT",),),
19733 R_0 =SIMP(statut='o',typ='R'),
19734 Q =SIMP(statut='o',typ='R'),
19735 B =SIMP(statut='o',typ='R'),
19736 H =SIMP(statut='f',typ='R'),
19737 H1 =SIMP(statut='f',typ='R'),
19738 H2 =SIMP(statut='f',typ='R'),
19739 H3 =SIMP(statut='f',typ='R'),
19740 H4 =SIMP(statut='f',typ='R'),
19741 H5 =SIMP(statut='f',typ='R'),
19742 H6 =SIMP(statut='f',typ='R'),
19744 MONO_ISOT2 =FACT(statut='f',
19745 regles=(UN_PARMI('H','H1'),
19746 PRESENT_PRESENT('H1','H2','H3','H4'),
19747 PRESENT_ABSENT('H','H1','H2','H3','H4','H5','H6'),
19749 TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECRO_ISOT",),),
19750 R_0 =SIMP(statut='o',typ='R'),
19751 Q1 =SIMP(statut='o',typ='R'),
19752 B1 =SIMP(statut='o',typ='R'),
19753 H =SIMP(statut='f',typ='R'),
19754 H1 =SIMP(statut='f',typ='R'),
19755 H2 =SIMP(statut='f',typ='R'),
19756 H3 =SIMP(statut='f',typ='R'),
19757 H4 =SIMP(statut='f',typ='R'),
19758 H5 =SIMP(statut='f',typ='R'),
19759 H6 =SIMP(statut='f',typ='R'),
19760 Q2 =SIMP(statut='o',typ='R'),
19761 B2 =SIMP(statut='o',typ='R'),
19763 MONO_CINE1 =FACT(statut='f',
19764 TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECRO_CINE",),),
19765 D =SIMP(statut='o',typ='R'),
19767 MONO_CINE2 =FACT(statut='f',
19768 TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECRO_CINE",),),
19769 D =SIMP(statut='o',typ='R'),
19770 GM =SIMP(statut='o',typ='R'),
19771 PM =SIMP(statut='o',typ='R'),
19772 C =SIMP(statut='o',typ='R'),
19774 MONO_DD_KR =FACT(statut='f',
19775 regles=(UN_PARMI('H','H1'),
19776 PRESENT_PRESENT('H1','H2','H3','H4'),
19777 PRESENT_ABSENT('H','H1','H2','H3','H4','H5','H6'),
19779 # TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),),
19780 K =SIMP(statut='o',typ='R',fr="Constante de Boltzmann, en eV/K"),
19781 TAUR =SIMP(statut='o',typ='R',fr="Contraintes de cisaillement à T=0K, en unite de contraintes"),
19782 TAU0 =SIMP(statut='o',typ='R',fr="Contraintes critique initiale de cisaillement, en unite de contraintes"),
19783 GAMMA0 =SIMP(statut='o',typ='R',fr="Vitesse d ecoulement initiale"),
19784 DELTAG0 =SIMP(statut='o',typ='R',fr="Gain d energie lie au franchissement d obstacle"),
19785 BSD =SIMP(statut='o',typ='R',fr="fonction de la taille du grain B/D"),
19786 GCB =SIMP(statut='o',typ='R',fr="distance critique d'annihilation GC/B"),
19787 KDCS =SIMP(statut='o',typ='R',fr="Parametre relatif à la direction principale de la dislocation"),
19788 P =SIMP(statut='o',typ='R',fr="Parametre materiau dépendant de la forme de l'obstacle"),
19789 Q =SIMP(statut='o',typ='R',fr="Parametre materiau dépendant de la forme de l'obstacle"),
19790 H =SIMP(statut='f',typ='R'),
19791 H1 =SIMP(statut='f',typ='R'),
19792 H2 =SIMP(statut='f',typ='R'),
19793 H3 =SIMP(statut='f',typ='R'),
19794 H4 =SIMP(statut='f',typ='R'),
19795 H5 =SIMP(statut='f',typ='R'),
19796 H6 =SIMP(statut='f',typ='R'),
19798 MONO_DD_CFC =FACT(statut='f',
19799 regles=(UN_PARMI('H','H1'),
19800 PRESENT_PRESENT('H1','H2','H3','H4','H5'),
19801 PRESENT_ABSENT('H','H1','H2','H3','H4','H5'),
19803 #TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),),
19804 GAMMA0 =SIMP(statut='f',typ='R',defaut=0.001,fr="Vitesse d ecoulement initiale en s**-1"),
19805 TAU_F =SIMP(statut='o',typ='R',fr="Contraintes , en unite de contraintes ex 20 MPa"),
19806 A =SIMP(statut='f',typ='R',defaut=0.13,fr="paramètre A, sans unité"),
19807 B =SIMP(statut='f',typ='R',defaut=0.005,fr="paramètre B, sans unité"),
19808 N =SIMP(statut='f',typ='R',defaut=200.,fr="paramètre n, sans unité"),
19809 Y =SIMP(statut='o',typ='R',fr="paramète Y, en unité de longueur ex 2.5 A"),
19810 ALPHA =SIMP(statut='f',typ='R',defaut=0.35,fr="ecrouissage, paramètre alpha"),
19811 BETA =SIMP(statut='o',typ='R',fr="ecrouissage, paramètre b, en unite de longueur"),
19812 RHO_REF =SIMP(statut='o',typ='R',fr="ecrouissage, paramètre rho_ref, en unité de longueur **-2"),
19813 H =SIMP(statut='f',typ='R'),
19814 H1 =SIMP(statut='f',typ='R',defaut=0.124,fr="matrice d'interaction, terme a*",),
19815 H2 =SIMP(statut='f',typ='R',defaut=0.625,fr="matrice d'interaction, terme a_colineaire",),
19816 H3 =SIMP(statut='f',typ='R',defaut=0.137,fr="matrice d'interaction, terme a_glissile",),
19817 H4 =SIMP(statut='f',typ='R',defaut=0.122,fr="matrice d'interaction, terme a_Lomer",),
19818 H5 =SIMP(statut='f',typ='R',defaut=0.07,fr="matrice d'interaction, terme a_Hirth",),
19821 MONO_DD_CFC_IRRA =FACT(statut='f',
19822 regles=(UN_PARMI('H','H1'),
19823 PRESENT_PRESENT('H1','H2','H3','H4','H5'),
19824 PRESENT_ABSENT('H','H1','H2','H3','H4','H5'),
19826 #TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),),
19827 GAMMA0 =SIMP(statut='f',typ='R',defaut=0.001,fr="Vitesse d ecoulement initiale en s**-1"),
19828 TAU_F =SIMP(statut='o',typ='R',fr="Contraintes , en unite de contraintes ex 20 MPa"),
19829 A =SIMP(statut='f',typ='R',defaut=0.13,fr="paramètre A, sans unité"),
19830 B =SIMP(statut='f',typ='R',defaut=0.005,fr="paramètre B, sans unité"),
19831 N =SIMP(statut='f',typ='R',defaut=200.,fr="paramètre n, sans unité"),
19832 Y =SIMP(statut='o',typ='R',fr="paramète Y, en unité de longueur ex 2.5 A"),
19833 ALPHA =SIMP(statut='f',typ='R',defaut=0.35,fr="ecrouissage, paramètre alpha"),
19834 BETA =SIMP(statut='o',typ='R',fr="ecrouissage, paramètre b, en unite de longueur"),
19835 RHO_REF =SIMP(statut='o',typ='R',fr="ecrouissage, paramètre rho_ref, en unité de longueur **-2"),
19836 H =SIMP(statut='f',typ='R'),
19837 H1 =SIMP(statut='f',typ='R',defaut=0.124,fr="matrice d'interaction, terme a*",),
19838 H2 =SIMP(statut='f',typ='R',defaut=0.625,fr="matrice d'interaction, terme a_colineaire",),
19839 H3 =SIMP(statut='f',typ='R',defaut=0.137,fr="matrice d'interaction, terme a_glissile",),
19840 H4 =SIMP(statut='f',typ='R',defaut=0.122,fr="matrice d'interaction, terme a_Lomer",),
19841 H5 =SIMP(statut='f',typ='R',defaut=0.07,fr="matrice d'interaction, terme a_Hirth",),
19843 DZ_IRRA =SIMP(statut='o',typ='R',val_min=0.E+0,fr="Parametre dzeta pour irradiation"),
19844 XI_IRRA =SIMP(statut='o',typ='R',val_min=0.E+0,fr="Parametre xi pour irradiation"),
19845 RHO_VOID =SIMP(statut='o',typ='R',fr="Parametre rho_voids pour irradiation"),
19846 PHI_LOOP =SIMP(statut='o',typ='R',fr="Parametre phi_loops pour irradiation"),
19847 ALP_VOID =SIMP(statut='o',typ='R',fr="Parametre alpha_voids pour irradiation"),
19848 ALP_LOOP =SIMP(statut='o',typ='R',fr="Parametre alpha_loops pour irradiation"),
19849 RHO_SAT =SIMP(statut='o',typ='R',fr="Parametre rho_sat*b*b pour irradiation"),
19850 PHI_SAT =SIMP(statut='o',typ='R',fr="Parametre phi_sat pour irradiation"),
19854 MONO_DD_FAT =FACT(statut='f',
19855 regles=(UN_PARMI('H','H1'),
19856 PRESENT_PRESENT('H1','H2','H3','H4','H5'),
19857 PRESENT_ABSENT('H','H1','H2','H3','H4','H5'),
19859 #TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),),
19860 GAMMA0 =SIMP(statut='o',typ='R',fr="Vitesse d ecoulement initiale en s**-1"),
19861 TAU_F =SIMP(statut='o',typ='R',fr="Contraintes , en unite de contraintes ex 20 MPa"),
19862 BETA =SIMP(statut='o',typ='R',fr="ecrouissage, paramètre b, en unite de longueur"),
19863 N =SIMP(statut='o',typ='R',fr="paramètre n, sans unite"),
19864 UN_SUR_D =SIMP(statut='o',typ='R',fr="paramètre 1/D, en unite de 1/longueur"),
19865 GC0 =SIMP(statut='o',typ='R',fr="paramètre GC0, en unite de longueur"),
19866 K =SIMP(statut='o',typ='R',fr="paramètre K, sans unite"),
19867 H =SIMP(statut='f',typ='R'),
19868 H1 =SIMP(statut='f',typ='R',defaut=0.124,fr="matrice d'interaction, terme a*",),
19869 H2 =SIMP(statut='f',typ='R',defaut=0.625,fr="matrice d'interaction, terme a_colineaire",),
19870 H3 =SIMP(statut='f',typ='R',defaut=0.137,fr="matrice d'interaction, terme a_glissile",),
19871 H4 =SIMP(statut='f',typ='R',defaut=0.122,fr="matrice d'interaction, terme a_Lomer",),
19872 H5 =SIMP(statut='f',typ='R',defaut=0.07,fr="matrice d'interaction, terme a_Hirth",),
19875 MONO_DD_CC =FACT(statut='f',
19876 #TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),),
19877 B =SIMP(statut='o',typ='R',fr="parametre B, en unite de longueur"),
19878 GH =SIMP(statut='o',typ='R',fr="parametre H, en unite de 1/temps"),
19879 DELTAG0 =SIMP(statut='o',typ='R',fr="energie d'activation, en unite d'energie (eV ou J)"),
19880 TAU_0 =SIMP(statut='o',typ='R',fr="contrainte ultime, en unite de contraintes "),
19881 TAU_F =SIMP(statut='o',typ='R',fr="seuil en contrainte , en unite de contraintes"),
19882 GAMMA0 =SIMP(statut='o',typ='R',fr="Vitesse d ecoulement initiale en s**-1"),
19883 N =SIMP(statut='o',typ='R',fr="parametre n, sans unite"),
19884 RHO_MOB =SIMP(statut='o',typ='R',fr="densite de dislocations mobiles, en unite de longueur **-2"),
19885 D =SIMP(statut='o',typ='R',fr="parametre D, en unite de longueur"),
19886 BETA =SIMP(statut='o',typ='R',fr="parametre beta, sans unite"),
19887 D_LAT =SIMP(statut='o',typ='R',fr="parametre D_LAT, en unite de longueur"),
19888 Y_AT =SIMP(statut='o',typ='R',fr="parametre Y_AT, en unite de longueur"),
19889 K_F =SIMP(statut='o',typ='R',fr="Parametre K_F"),
19890 K_SELF =SIMP(statut='o',typ='R',fr="Parametre K_SELF"),
19891 K_BOLTZ =SIMP(statut='o',typ='R',fr="Constante de Boltzmann, en eV/K"),
19892 H1 =SIMP(statut='o',typ='R',fr="Parametre a_self"),
19893 H2 =SIMP(statut='o',typ='R',fr="Parametre a_coli"),
19894 H3 =SIMP(statut='o',typ='R',fr="Parametre a_ncol"),
19895 H4 =SIMP(statut='f',typ='R',defaut=0.),
19896 H5 =SIMP(statut='f',typ='R',defaut=0.),
19897 H6 =SIMP(statut='f',typ='R',defaut=0.),
19898 DELTA1 =SIMP(statut='f',typ='R',defaut=1.,fr="parametre permettant la variation de Y_AT avec tau_eff"),
19899 DELTA2 =SIMP(statut='f',typ='R',defaut=1.,fr="parametre permettant la variation de a_AT avec tau_eff"),
19900 DEPDT =SIMP(statut='f',typ='R',defaut=0.,fr="parametre dEps/dT pour le calcul de DeltaG"),
19903 MONO_DD_CC_IRRA =FACT(statut='f',
19904 #TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),),
19905 B =SIMP(statut='o',typ='R',fr="parametre B, en unite de longueur"),
19906 GH =SIMP(statut='o',typ='R',fr="parametre H, en unite de 1/temps"),
19907 DELTAG0 =SIMP(statut='o',typ='R',fr="Gain d energie lie au franchissement d obstacle"),
19908 TAU_0 =SIMP(statut='o',typ='R',fr="Contraintes , en unite de contraintes ex 20 MPa"),
19909 TAU_F =SIMP(statut='o',typ='R',fr="Contraintes , en unite de contraintes ex 20 MPa"),
19910 GAMMA0 =SIMP(statut='o',typ='R',fr="Vitesse d ecoulement initiale en s**-1"),
19911 N =SIMP(statut='o',typ='R',fr="parametre n, sans unite"),
19912 RHO_MOB =SIMP(statut='o',typ='R',fr="densite de dislocations mobiles, en unite de longueur **-2"),
19913 D =SIMP(statut='o',typ='R',fr="parametre D, en unite de longueur"),
19914 BETA =SIMP(statut='o',typ='R',fr="ecrouissage, parametre beta"),
19915 D_LAT =SIMP(statut='o',typ='R',fr="parametre D_LAT, en unite de longueur"),
19916 Y_AT =SIMP(statut='o',typ='R',fr="parametre Y_AT, en unite de longueur"),
19917 K_F =SIMP(statut='o',typ='R',fr="Parametre K_F"),
19918 K_SELF =SIMP(statut='o',typ='R',fr="Parametre K_SELF"),
19919 K_BOLTZ =SIMP(statut='o',typ='R',fr="Constante de Boltzmann, en eV/K"),
19920 H1 =SIMP(statut='o',typ='R',fr="Parametre a_self"),
19921 H2 =SIMP(statut='o',typ='R',fr="Parametre a_coli"),
19922 H3 =SIMP(statut='o',typ='R',fr="Parametre a_ncol"),
19923 H4 =SIMP(statut='f',typ='R',defaut=0.),
19924 H5 =SIMP(statut='f',typ='R',defaut=0.),
19925 H6 =SIMP(statut='f',typ='R',defaut=0.),
19926 DELTA1 =SIMP(statut='f',typ='R',defaut=1.,fr="parametre permettant la variation de Y_AT avec tau_eff"),
19927 DELTA2 =SIMP(statut='f',typ='R',defaut=1.,fr="parametre permettant la variation de a_AT avec tau_eff"),
19928 DEPDT =SIMP(statut='f',typ='R',defaut=0.,fr="parametre dEps/dT pour le calcul de DeltaG"),
19929 A_IRRA =SIMP(statut='o',typ='R',fr="Parametre a_loops pour irradiation"),
19930 XI_IRRA =SIMP(statut='o',typ='R',fr="Parametre xi pour irradiation"),
19934 #### FIN MONOCRISTAL
19937 UMAT =FACT(statut='f',
19938 NB_VALE =SIMP(statut='f',typ='R'),
19939 C1 =SIMP(statut='f',typ='R'),
19940 C2 =SIMP(statut='f',typ='R'),
19941 C3 =SIMP(statut='f',typ='R'),
19942 C4 =SIMP(statut='f',typ='R'),
19943 C5 =SIMP(statut='f',typ='R'),
19944 C6 =SIMP(statut='f',typ='R'),
19945 C7 =SIMP(statut='f',typ='R'),
19946 C8 =SIMP(statut='f',typ='R'),
19947 C9 =SIMP(statut='f',typ='R'),
19948 C10 =SIMP(statut='f',typ='R'),
19949 C11 =SIMP(statut='f',typ='R'),
19950 C12 =SIMP(statut='f',typ='R'),
19951 C13 =SIMP(statut='f',typ='R'),
19952 C14 =SIMP(statut='f',typ='R'),
19953 C15 =SIMP(statut='f',typ='R'),
19954 C16 =SIMP(statut='f',typ='R'),
19955 C17 =SIMP(statut='f',typ='R'),
19956 C18 =SIMP(statut='f',typ='R'),
19957 C19 =SIMP(statut='f',typ='R'),
19958 C20 =SIMP(statut='f',typ='R'),
19959 C21 =SIMP(statut='f',typ='R'),
19960 C22 =SIMP(statut='f',typ='R'),
19961 C23 =SIMP(statut='f',typ='R'),
19962 C24 =SIMP(statut='f',typ='R'),
19963 C25 =SIMP(statut='f',typ='R'),
19964 C26 =SIMP(statut='f',typ='R'),
19965 C27 =SIMP(statut='f',typ='R'),
19966 C28 =SIMP(statut='f',typ='R'),
19967 C29 =SIMP(statut='f',typ='R'),
19968 C30 =SIMP(statut='f',typ='R'),
19969 C31 =SIMP(statut='f',typ='R'),
19970 C32 =SIMP(statut='f',typ='R'),
19971 C33 =SIMP(statut='f',typ='R'),
19972 C34 =SIMP(statut='f',typ='R'),
19973 C35 =SIMP(statut='f',typ='R'),
19974 C36 =SIMP(statut='f',typ='R'),
19975 C37 =SIMP(statut='f',typ='R'),
19976 C38 =SIMP(statut='f',typ='R'),
19977 C39 =SIMP(statut='f',typ='R'),
19978 C40 =SIMP(statut='f',typ='R'),
19979 C41 =SIMP(statut='f',typ='R'),
19980 C42 =SIMP(statut='f',typ='R'),
19981 C43 =SIMP(statut='f',typ='R'),
19982 C44 =SIMP(statut='f',typ='R'),
19983 C45 =SIMP(statut='f',typ='R'),
19984 C46 =SIMP(statut='f',typ='R'),
19985 C47 =SIMP(statut='f',typ='R'),
19986 C48 =SIMP(statut='f',typ='R'),
19987 C49 =SIMP(statut='f',typ='R'),
19988 C50 =SIMP(statut='f',typ='R'),
19989 C51 =SIMP(statut='f',typ='R'),
19990 C52 =SIMP(statut='f',typ='R'),
19991 C53 =SIMP(statut='f',typ='R'),
19992 C54 =SIMP(statut='f',typ='R'),
19993 C55 =SIMP(statut='f',typ='R'),
19994 C56 =SIMP(statut='f',typ='R'),
19995 C57 =SIMP(statut='f',typ='R'),
19996 C58 =SIMP(statut='f',typ='R'),
19997 C59 =SIMP(statut='f',typ='R'),
19998 C60 =SIMP(statut='f',typ='R'),
19999 C61 =SIMP(statut='f',typ='R'),
20000 C62 =SIMP(statut='f',typ='R'),
20001 C63 =SIMP(statut='f',typ='R'),
20002 C64 =SIMP(statut='f',typ='R'),
20003 C65 =SIMP(statut='f',typ='R'),
20004 C66 =SIMP(statut='f',typ='R'),
20005 C67 =SIMP(statut='f',typ='R'),
20006 C68 =SIMP(statut='f',typ='R'),
20007 C69 =SIMP(statut='f',typ='R'),
20008 C70 =SIMP(statut='f',typ='R'),
20009 C71 =SIMP(statut='f',typ='R'),
20010 C72 =SIMP(statut='f',typ='R'),
20011 C73 =SIMP(statut='f',typ='R'),
20012 C74 =SIMP(statut='f',typ='R'),
20013 C75 =SIMP(statut='f',typ='R'),
20014 C76 =SIMP(statut='f',typ='R'),
20015 C77 =SIMP(statut='f',typ='R'),
20016 C78 =SIMP(statut='f',typ='R'),
20017 C79 =SIMP(statut='f',typ='R'),
20018 C80 =SIMP(statut='f',typ='R'),
20019 C81 =SIMP(statut='f',typ='R'),
20020 C82 =SIMP(statut='f',typ='R'),
20021 C83 =SIMP(statut='f',typ='R'),
20022 C84 =SIMP(statut='f',typ='R'),
20023 C85 =SIMP(statut='f',typ='R'),
20024 C86 =SIMP(statut='f',typ='R'),
20025 C87 =SIMP(statut='f',typ='R'),
20026 C88 =SIMP(statut='f',typ='R'),
20027 C89 =SIMP(statut='f',typ='R'),
20028 C90 =SIMP(statut='f',typ='R'),
20029 C91 =SIMP(statut='f',typ='R'),
20030 C92 =SIMP(statut='f',typ='R'),
20031 C93 =SIMP(statut='f',typ='R'),
20032 C94 =SIMP(statut='f',typ='R'),
20033 C95 =SIMP(statut='f',typ='R'),
20034 C96 =SIMP(statut='f',typ='R'),
20035 C97 =SIMP(statut='f',typ='R'),
20036 C98 =SIMP(statut='f',typ='R'),
20037 C99 =SIMP(statut='f',typ='R'),
20038 C100 =SIMP(statut='f',typ='R'),
20039 C101 =SIMP(statut='f',typ='R'),
20040 C102 =SIMP(statut='f',typ='R'),
20041 C103 =SIMP(statut='f',typ='R'),
20042 C104 =SIMP(statut='f',typ='R'),
20043 C105 =SIMP(statut='f',typ='R'),
20044 C106 =SIMP(statut='f',typ='R'),
20045 C107 =SIMP(statut='f',typ='R'),
20046 C108 =SIMP(statut='f',typ='R'),
20047 C109 =SIMP(statut='f',typ='R'),
20048 C110 =SIMP(statut='f',typ='R'),
20049 C111 =SIMP(statut='f',typ='R'),
20050 C112 =SIMP(statut='f',typ='R'),
20051 C113 =SIMP(statut='f',typ='R'),
20052 C114 =SIMP(statut='f',typ='R'),
20053 C115 =SIMP(statut='f',typ='R'),
20054 C116 =SIMP(statut='f',typ='R'),
20055 C117 =SIMP(statut='f',typ='R'),
20056 C118 =SIMP(statut='f',typ='R'),
20057 C119 =SIMP(statut='f',typ='R'),
20058 C120 =SIMP(statut='f',typ='R'),
20059 C121 =SIMP(statut='f',typ='R'),
20060 C122 =SIMP(statut='f',typ='R'),
20061 C123 =SIMP(statut='f',typ='R'),
20062 C124 =SIMP(statut='f',typ='R'),
20063 C125 =SIMP(statut='f',typ='R'),
20064 C126 =SIMP(statut='f',typ='R'),
20065 C127 =SIMP(statut='f',typ='R'),
20066 C128 =SIMP(statut='f',typ='R'),
20067 C129 =SIMP(statut='f',typ='R'),
20068 C130 =SIMP(statut='f',typ='R'),
20069 C131 =SIMP(statut='f',typ='R'),
20070 C132 =SIMP(statut='f',typ='R'),
20071 C133 =SIMP(statut='f',typ='R'),
20072 C134 =SIMP(statut='f',typ='R'),
20073 C135 =SIMP(statut='f',typ='R'),
20074 C136 =SIMP(statut='f',typ='R'),
20075 C137 =SIMP(statut='f',typ='R'),
20076 C138 =SIMP(statut='f',typ='R'),
20077 C139 =SIMP(statut='f',typ='R'),
20078 C140 =SIMP(statut='f',typ='R'),
20079 C141 =SIMP(statut='f',typ='R'),
20080 C142 =SIMP(statut='f',typ='R'),
20081 C143 =SIMP(statut='f',typ='R'),
20082 C144 =SIMP(statut='f',typ='R'),
20083 C145 =SIMP(statut='f',typ='R'),
20084 C146 =SIMP(statut='f',typ='R'),
20085 C147 =SIMP(statut='f',typ='R'),
20086 C148 =SIMP(statut='f',typ='R'),
20087 C149 =SIMP(statut='f',typ='R'),
20088 C150 =SIMP(statut='f',typ='R'),
20089 C151 =SIMP(statut='f',typ='R'),
20090 C152 =SIMP(statut='f',typ='R'),
20091 C153 =SIMP(statut='f',typ='R'),
20092 C154 =SIMP(statut='f',typ='R'),
20093 C155 =SIMP(statut='f',typ='R'),
20094 C156 =SIMP(statut='f',typ='R'),
20095 C157 =SIMP(statut='f',typ='R'),
20096 C158 =SIMP(statut='f',typ='R'),
20097 C159 =SIMP(statut='f',typ='R'),
20098 C160 =SIMP(statut='f',typ='R'),
20099 C161 =SIMP(statut='f',typ='R'),
20100 C162 =SIMP(statut='f',typ='R'),
20101 C163 =SIMP(statut='f',typ='R'),
20102 C164 =SIMP(statut='f',typ='R'),
20103 C165 =SIMP(statut='f',typ='R'),
20104 C166 =SIMP(statut='f',typ='R'),
20105 C167 =SIMP(statut='f',typ='R'),
20106 C168 =SIMP(statut='f',typ='R'),
20107 C169 =SIMP(statut='f',typ='R'),
20108 C170 =SIMP(statut='f',typ='R'),
20109 C171 =SIMP(statut='f',typ='R'),
20110 C172 =SIMP(statut='f',typ='R'),
20111 C173 =SIMP(statut='f',typ='R'),
20112 C174 =SIMP(statut='f',typ='R'),
20113 C175 =SIMP(statut='f',typ='R'),
20114 C176 =SIMP(statut='f',typ='R'),
20115 C177 =SIMP(statut='f',typ='R'),
20116 C178 =SIMP(statut='f',typ='R'),
20117 C179 =SIMP(statut='f',typ='R'),
20118 C180 =SIMP(statut='f',typ='R'),
20119 C181 =SIMP(statut='f',typ='R'),
20120 C182 =SIMP(statut='f',typ='R'),
20121 C183 =SIMP(statut='f',typ='R'),
20122 C184 =SIMP(statut='f',typ='R'),
20123 C185 =SIMP(statut='f',typ='R'),
20124 C186 =SIMP(statut='f',typ='R'),
20125 C187 =SIMP(statut='f',typ='R'),
20126 C188 =SIMP(statut='f',typ='R'),
20127 C189 =SIMP(statut='f',typ='R'),
20128 C190 =SIMP(statut='f',typ='R'),
20129 C191 =SIMP(statut='f',typ='R'),
20130 C192 =SIMP(statut='f',typ='R'),
20131 C193 =SIMP(statut='f',typ='R'),
20132 C194 =SIMP(statut='f',typ='R'),
20133 C195 =SIMP(statut='f',typ='R'),
20134 C196 =SIMP(statut='f',typ='R'),
20135 C197 =SIMP(statut='f',typ='R'),
20137 UMAT_FO =FACT(statut='f',
20138 NB_VALE =SIMP(statut='f',typ='R'),
20139 C1 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20140 C2 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20141 C3 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20142 C4 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20143 C5 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20144 C6 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20145 C7 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20146 C8 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20147 C9 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20148 C10 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20149 C11 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20150 C12 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20151 C13 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20152 C14 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20153 C15 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20154 C16 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20155 C17 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20156 C18 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20157 C19 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20158 C20 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20159 C21 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20160 C22 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20161 C23 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20162 C24 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20163 C25 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20164 C26 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20165 C27 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20166 C28 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20167 C29 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20168 C30 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20169 C31 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20170 C32 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20171 C33 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20172 C34 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20173 C35 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20174 C36 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20175 C37 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20176 C38 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20177 C39 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20178 C40 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20179 C41 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20180 C42 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20181 C43 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20182 C44 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20183 C45 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20184 C46 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20185 C47 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20186 C48 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20187 C49 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20188 C50 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20189 C51 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20190 C52 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20191 C53 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20192 C54 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20193 C55 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20194 C56 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20195 C57 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20196 C58 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20197 C59 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20198 C60 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20199 C61 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20200 C62 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20201 C63 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20202 C64 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20203 C65 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20204 C66 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20205 C67 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20206 C68 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20207 C69 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20208 C70 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20209 C71 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20210 C72 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20211 C73 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20212 C74 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20213 C75 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20214 C76 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20215 C77 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20216 C78 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20217 C79 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20218 C80 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20219 C81 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20220 C82 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20221 C83 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20222 C84 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20223 C85 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20224 C86 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20225 C87 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20226 C88 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20227 C89 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20228 C90 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20229 C91 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20230 C92 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20231 C93 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20232 C94 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20233 C95 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20234 C96 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20235 C97 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20236 C98 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20237 C99 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20238 C100 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20239 C101 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20240 C102 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20241 C103 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20242 C104 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20243 C105 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20244 C106 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20245 C107 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20246 C108 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20247 C109 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20248 C110 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20249 C111 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20250 C112 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20251 C113 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20252 C114 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20253 C115 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20254 C116 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20255 C117 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20256 C118 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20257 C119 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20258 C120 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20259 C121 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20260 C122 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20261 C123 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20262 C124 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20263 C125 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20264 C126 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20265 C127 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20266 C128 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20267 C129 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20268 C130 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20269 C131 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20270 C132 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20271 C133 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20272 C134 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20273 C135 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20274 C136 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20275 C137 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20276 C138 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20277 C139 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20278 C140 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20279 C141 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20280 C142 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20281 C143 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20282 C144 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20283 C145 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20284 C146 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20285 C147 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20286 C148 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20287 C149 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20288 C150 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20289 C151 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20290 C152 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20291 C153 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20292 C154 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20293 C155 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20294 C156 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20295 C157 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20296 C158 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20297 C159 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20298 C160 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20299 C161 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20300 C162 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20301 C163 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20302 C164 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20303 C165 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20304 C166 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20305 C167 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20306 C168 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20307 C169 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20308 C170 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20309 C171 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20310 C172 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20311 C173 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20312 C174 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20313 C175 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20314 C176 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20315 C177 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20316 C178 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20317 C179 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20318 C180 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20319 C181 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20320 C182 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20321 C183 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20322 C184 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20323 C185 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20324 C186 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20325 C187 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20326 C188 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20327 C189 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20328 C190 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20329 C191 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20330 C192 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20331 C193 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20332 C194 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20333 C195 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20334 C196 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20335 C197 =SIMP(statut='f',typ=(fonction_sdaster,formule)),
20338 ### CRITERE DE RUPTURE
20339 CRIT_RUPT =FACT(statut='f',
20340 SIGM_C =SIMP(statut='o',typ='R',fr="contrainte critique"),
20341 COEF =SIMP(statut='o',typ='R',fr="E=E/COEF,si la contrainte principale max est atteinte dans l'element"),
20345 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
20348 # ======================================================================
20349 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
20350 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20351 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20352 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
20353 # (AT YOUR OPTION) ANY LATER VERSION.
20355 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
20356 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
20357 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
20358 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
20360 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
20361 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
20362 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
20363 # ======================================================================
20364 # person_in_charge: mathieu.corus at edf.fr
20365 DEFI_MODELE_GENE=OPER(nom="DEFI_MODELE_GENE",op= 126,sd_prod=modele_gene,
20367 fr="Créer la structure globale à partir des sous-structures en sous-structuration dynamique",
20368 UIinfo={"groupes":("Matrices et vecteurs",)},
20369 SOUS_STRUC =FACT(statut='o',max='**',
20370 NOM =SIMP(statut='o',typ='TXM' ),
20371 MACR_ELEM_DYNA =SIMP(statut='o',typ=macr_elem_dyna ),
20372 ANGL_NAUT =SIMP(statut='o',typ='R',max=3),
20373 TRANS =SIMP(statut='o',typ='R',max=3),
20375 LIAISON =FACT(statut='o',max='**',
20376 SOUS_STRUC_1 =SIMP(statut='o',typ='TXM' ),
20377 INTERFACE_1 =SIMP(statut='o',typ='TXM' ),
20378 SOUS_STRUC_2 =SIMP(statut='o',typ='TXM' ),
20379 INTERFACE_2 =SIMP(statut='o',typ='TXM' ),
20380 regles=(EXCLUS('GROUP_MA_MAIT_1','GROUP_MA_MAIT_2','MAILLE_MAIT_2'),
20381 EXCLUS('MAILLE_MAIT_1','GROUP_MA_MAIT_2','MAILLE_MAIT_2'),),
20382 GROUP_MA_MAIT_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20383 MAILLE_MAIT_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
20384 GROUP_MA_MAIT_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20385 MAILLE_MAIT_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
20386 OPTION =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("REDUIT","CLASSIQUE") ),
20388 VERIF =FACT(statut='f',max='**',
20389 # dans la doc U stop_erreur est obligatoire
20390 STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
20391 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
20392 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
20394 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
20397 # ======================================================================
20398 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
20399 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20400 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20401 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
20402 # (AT YOUR OPTION) ANY LATER VERSION.
20404 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
20405 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
20406 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
20407 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
20409 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
20410 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
20411 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
20412 # ======================================================================
20413 # person_in_charge: mathieu.courtois at edf.fr
20414 DEFI_NAPPE=OPER(nom="DEFI_NAPPE",op=4,sd_prod=nappe_sdaster,
20415 fr="Définir une fonction réelle de deux variables réelles",
20416 reentrant='n',UIinfo={"groupes":("Fonctions",)},
20417 regles=(UN_PARMI('FONCTION','DEFI_FONCTION'),
20418 EXCLUS('FONCTION','NOM_PARA_FONC',),
20419 ENSEMBLE('NOM_PARA_FONC','DEFI_FONCTION'),),
20420 NOM_PARA =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ),
20421 NOM_RESU =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"),
20422 PARA =SIMP(statut='o',typ='R',max='**'),
20423 FONCTION =SIMP(statut='f',typ=fonction_sdaster, max='**' ),
20424 NOM_PARA_FONC =SIMP(statut='f',typ='TXM',into=C_PARA_FONCTION() ),
20425 DEFI_FONCTION =FACT(statut='f',max='**',
20426 VALE =SIMP(statut='o',typ='R',max='**'),
20427 INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG"),
20428 fr="Type d'interpolation pour les abscisses et les ordonnées de la fonction."),
20429 PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
20430 PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
20432 INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG"),
20433 fr="Type d'interpolation pour le paramètre de la nappe"),
20434 PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
20435 PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
20436 INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1, 2) ),
20437 VERIF =SIMP(statut='f',typ='TXM',into=("CROISSANT",) ),
20438 TITRE =SIMP(statut='f',typ='TXM',max='**'),
20441 # ======================================================================
20442 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
20443 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20444 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20445 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
20446 # (AT YOUR OPTION) ANY LATER VERSION.
20448 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
20449 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
20450 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
20451 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
20453 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
20454 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
20455 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
20456 # ======================================================================
20457 # person_in_charge: marc.kham at edf.fr
20458 DEFI_OBSTACLE=OPER(nom="DEFI_OBSTACLE",op= 73,sd_prod=table_fonction,
20459 fr="Définition d'un obstacle plan perpendiculaire à une structure filaire",
20461 UIinfo={"groupes":("Modélisation",)},
20462 TYPE =SIMP(statut='o',typ='TXM',defaut="CERCLE",
20463 into=("CERCLE","PLAN_Y","PLAN_Z","DISCRET",
20464 "BI_CERCLE","BI_PLAN_Y","BI_PLAN_Z","BI_CERC_INT",
20466 VALE =SIMP(statut='f',typ='R',max='**'),
20467 VERIF =SIMP(statut='f',typ='TXM',defaut="FERME"),
20470 # ======================================================================
20471 # COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG
20472 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20473 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20474 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
20475 # (AT YOUR OPTION) ANY LATER VERSION.
20477 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
20478 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
20479 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
20480 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
20482 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
20483 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
20484 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
20485 # ======================================================================
20486 # person_in_charge: aimery.assire at edf.fr
20488 DEFI_PART_OPS=OPER(nom="DEFI_PART_OPS",op=21,sd_prod=sd_partit,
20489 fr="Creation partitionnement en sous-domaines",
20490 docu="U4.23.05",reentrant='n',
20491 UIinfo={"groupes":("Modélisation",)},
20492 MODELE =SIMP(statut='o',typ=(modele_sdaster) ),
20493 MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster) ),
20494 NOM =SIMP(statut='f',typ='TXM',defaut='SD'),
20495 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2,3,4) ),
20496 DEFI =FACT(statut='f',max='**',
20497 GROUP_MA =SIMP(statut='o',typ=grma),
20498 GROUP_MA_BORD =SIMP(statut='f',typ=grma),
20500 EXCIT =FACT(statut='f',max='**',
20501 CHARGE =SIMP(statut='f',typ=(char_meca,char_cine_meca)),
20505 # ======================================================================
20506 # COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG
20507 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20508 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20509 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
20510 # (AT YOUR OPTION) ANY LATER VERSION.
20512 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
20513 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
20514 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
20515 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
20517 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
20518 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
20519 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
20520 # ======================================================================
20521 # person_in_charge: aimery.assire at edf.fr
20523 DEFI_PART_PA_OPS=PROC(nom="DEFI_PART_PA_OPS",op=29,
20524 fr="Creation partitionnement en sous-domaines",
20526 UIinfo={"groupes":("Modélisation",)},
20527 MAILLAGE =SIMP(statut='o',typ=(maillage_sdaster,squelette) ),
20528 MODELE =SIMP(statut='f',typ=(modele_sdaster)),
20529 NB_PART =SIMP(statut='o',typ='I',),
20531 # Methode de partitionnement
20532 METHODE =SIMP(statut='f',typ='TXM',into=("PMETIS","SCOTCH","KMETIS",), defaut="KMETIS" ),
20534 LOGICIEL =SIMP(statut='f',typ='TXM'),
20536 # Corrige les problemes possibles de non-connexite des sous-domaines
20537 CORRECTION_CONNEX =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON')),
20539 # Permet de grouper des mailles dans un meme sous-doamine
20540 GROUPAGE =FACT(statut='f',max='**',
20541 GROUP_MA =SIMP(statut='o',typ=grma,),
20543 # Permet d'appliquer des poids sur certaines mailles
20544 POIDS_MAILLES =FACT(statut='f',max='**',
20545 GROUP_MA =SIMP(statut='o',typ=grma,),
20546 POIDS =SIMP(statut='f',typ='I'),
20548 # Prefixe pour le nom des group_ma definissant les sous-domaines
20549 NOM_GROUP_MA =SIMP(statut='f',typ='TXM',defaut='SD' ),
20551 # Traiter les mailles de bords (elles sont enlevees du graphe puis reinjectees)
20552 TRAITER_BORDS =SIMP(statut='f',typ='TXM',defaut='OUI',into=('OUI','NON') ),
20554 # Si le mot-clé suivant est renseigné, crée de nouveau group_ma a partir des bords
20555 b_traiter_bords =BLOC(condition="TRAITER_BORDS == 'OUI'", fr="Crée t on des nouveaux group_ma",
20556 NOM_GROUP_MA_BORD =SIMP(statut='f',typ='TXM'),
20559 INFO =SIMP(statut='f',typ='I',into=(1, 2), defaut=1),
20563 # ======================================================================
20564 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
20565 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20566 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20567 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
20568 # (AT YOUR OPTION) ANY LATER VERSION.
20570 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
20571 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
20572 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
20573 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
20575 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
20576 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
20577 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
20578 # ======================================================================
20579 # person_in_charge: aimery.assire at edf.fr
20582 DEFI_PARTITION=MACRO(nom="DEFI_PARTITION",
20583 op=OPS('Macro.defi_partition_ops.defi_partition_ops'),
20585 reentrant='n',UIinfo={"groupes":("Modélisation",)},
20586 fr="Creation partitionnement en sous-domaines",
20587 regles=(UN_PARMI('MAILLAGE','MODELE'),PRESENT_PRESENT('MODELE','EXCIT'),),
20589 NB_PART =SIMP(statut='o',typ='I',val_min=2),
20590 MAILLAGE =SIMP(statut='f',typ=maillage_sdaster),
20591 MODELE =SIMP(statut='f',typ=modele_sdaster),
20592 EXCIT =FACT(statut='f',max='**',
20593 CHARGE =SIMP(statut='f',typ=(char_meca,char_cine_meca)),),
20595 # Methode de partitionnement
20596 METHODE =SIMP(statut='f',typ='TXM',into=("PMETIS","SCOTCH","KMETIS",), defaut="KMETIS" ),
20598 LOGICIEL =SIMP(statut='f',typ='TXM'),
20600 # Corrige les problemes possibles de non-connexite des sous-domaines
20601 CORRECTION_CONNEX =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON')),
20603 # Permet de grouper des mailles dans un meme sous-doamine
20604 GROUPAGE =FACT(statut='f',max='**',
20605 GROUP_MA =SIMP(statut='o',typ=grma,),
20607 # Permet d'appliquer des poids sur certaines mailles
20608 POIDS_MAILLES =FACT(statut='f',max='**',
20609 GROUP_MA =SIMP(statut='o',typ=grma,),
20610 POIDS =SIMP(statut='f',typ='I',val_min=2),
20612 # Prefixe pour le nom des group_ma definissant les sous-domaines
20613 NOM_GROUP_MA =SIMP(statut='f',typ='TXM',defaut='SD' ),
20615 # Traiter les mailles de bords (elles sont enlevees du graphe puis reinjectees)
20616 TRAITER_BORDS =SIMP(statut='f',typ='TXM',defaut='OUI',into=('OUI','NON') ),
20618 # Si le mot-clé suivant est renseigné, crée de nouveau group_ma a partir des bords
20619 b_traiter_bords =BLOC(condition="TRAITER_BORDS == 'OUI'", fr="Crée t on des nouveaux group_ma",
20620 NOM_GROUP_MA_BORD =SIMP(statut='f',typ='TXM'),
20623 INFO =SIMP(statut='f',typ='I',into=(1, 2), defaut=1),
20626 # ======================================================================
20627 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
20628 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20629 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20630 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
20631 # (AT YOUR OPTION) ANY LATER VERSION.
20633 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
20634 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
20635 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
20636 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
20638 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
20639 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
20640 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
20641 # ======================================================================
20642 # person_in_charge: mathieu.courtois at edf.fr
20645 DEFI_SOL_MISS = MACRO(nom="DEFI_SOL_MISS",
20646 op=OPS('Macro.defi_sol_miss_ops.defi_sol_miss_ops'),
20647 sd_prod=table_sdaster,
20648 fr="Définition des données de sol pour Miss",
20650 UIinfo={"groupes":("Modélisation","Outils-métier",)},
20651 MATERIAU = FACT(statut='o', max='**',
20652 fr="Définition des matériaux",
20653 E = SIMP(statut='o', typ='R', fr="Module d'Young"),
20654 NU = SIMP(statut='o', typ='R', fr="Coefficient de Poisson"),
20655 RHO = SIMP(statut='o', typ='R', fr="Masse volumique"),
20656 AMOR_HYST = SIMP(statut='o', typ='R', fr="Coefficient d'amortissement"),
20658 COUCHE = FACT(statut='o', max='**',
20659 fr="Définition des couches",
20660 regles=(AU_MOINS_UN('EPAIS','SUBSTRATUM'),),
20661 SUBSTRATUM= SIMP(statut='f', typ='TXM', into=("OUI","NON"),),
20662 EPAIS = SIMP(statut='f', typ='R', fr="Epaisseur de la couche"),
20663 RECEPTEUR = SIMP(statut='f', typ='TXM', defaut="NON", into=("OUI", "NON"),),
20664 SOURCE = SIMP(statut='f', typ='TXM', defaut="NON", into=("OUI", "NON"),),
20665 NUME_MATE = SIMP(statut='o', typ='I', fr="Numéro du matériau"),
20667 TITRE = SIMP(statut='f', typ='TXM', max='**',
20668 fr="Titre de la table produite"),
20669 INFO = SIMP(statut='f', typ='I', defaut=1, into=(1,2)),
20672 # ======================================================================
20673 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
20674 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20675 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20676 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
20677 # (AT YOUR OPTION) ANY LATER VERSION.
20679 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
20680 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
20681 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
20682 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
20684 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
20685 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
20686 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
20687 # ======================================================================
20688 # person_in_charge: andre.adobes at edf.fr
20689 DEFI_SPEC_TURB=OPER(nom="DEFI_SPEC_TURB",op= 145,sd_prod=spectre_sdaster,
20690 fr="Definition d'un spectre d'excitation turbulente",
20692 UIinfo={"groupes":("Modelisation","Outils-metier",)},
20693 regles=(UN_PARMI('SPEC_LONG_COR_1','SPEC_LONG_COR_2','SPEC_LONG_COR_3',
20694 'SPEC_LONG_COR_4','SPEC_CORR_CONV_1','SPEC_CORR_CONV_2',
20695 'SPEC_CORR_CONV_3','SPEC_FONC_FORME','SPEC_EXCI_POINT'),),
20696 SPEC_LONG_COR_1 =FACT(statut='f',
20697 LONG_COR =SIMP(statut='o',typ='R' ),
20698 PROF_VITE_FLUI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
20699 VISC_CINE =SIMP(statut='o',typ='R' ),
20701 SPEC_LONG_COR_2 =FACT(statut='f',
20702 regles=(ENSEMBLE('FREQ_COUP','PHI0','BETA' ),),
20703 LONG_COR =SIMP(statut='o',typ='R' ),
20704 PROF_VITE_FLUI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
20705 FREQ_COUP =SIMP(statut='f',typ='R',defaut= 0.1 ),
20706 PHI0 =SIMP(statut='f',typ='R',defaut= 1.5E-3 ),
20707 BETA =SIMP(statut='f',typ='R',defaut= 2.7 ),
20709 SPEC_LONG_COR_3 =FACT(statut='f',
20710 regles=(ENSEMBLE('PHI0_1','BETA_1','PHI0_2','BETA_2','FREQ_COUP'),),
20711 LONG_COR =SIMP(statut='o',typ='R' ),
20712 PROF_VITE_FLUI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
20713 FREQ_COUP =SIMP(statut='f',typ='R',defaut= 0.2 ),
20714 PHI0_1 =SIMP(statut='f',typ='R',defaut= 5.E-3 ),
20715 BETA_1 =SIMP(statut='f',typ='R',defaut= 0.5 ),
20716 PHI0_2 =SIMP(statut='f',typ='R',defaut= 4.E-5 ),
20717 BETA_2 =SIMP(statut='f',typ='R',defaut= 3.5 ),
20719 SPEC_LONG_COR_4 =FACT(statut='f',
20720 regles=(ENSEMBLE('BETA','GAMMA'),),
20721 LONG_COR =SIMP(statut='o',typ='R' ),
20722 PROF_VITE_FLUI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
20723 TAUX_VIDE =SIMP(statut='o',typ='R' ),
20724 BETA =SIMP(statut='f',typ='R',defaut= 2. ),
20725 GAMMA =SIMP(statut='f',typ='R',defaut= 4. ),
20727 SPEC_CORR_CONV_1=FACT(statut='f',
20728 LONG_COR_1 =SIMP(statut='o',typ='R' ),
20729 LONG_COR_2 =SIMP(statut='f',typ='R' ),
20730 VITE_FLUI =SIMP(statut='o',typ='R' ),
20731 RHO_FLUI =SIMP(statut='o',typ='R' ),
20732 FREQ_COUP =SIMP(statut='f',typ='R' ),
20733 K =SIMP(statut='f',typ='R',defaut= 5.8E-3 ),
20734 D_FLUI =SIMP(statut='o',typ='R' ),
20735 COEF_VITE_FLUI_A=SIMP(statut='f',typ='R' ),
20736 COEF_VITE_FLUI_O=SIMP(statut='f',typ='R' ),
20737 METHODE =SIMP(statut='f',typ='TXM',defaut="GENERALE",
20738 into=("AU_YANG","GENERALE","CORCOS") ),
20740 SPEC_CORR_CONV_2=FACT(statut='f',
20741 FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
20742 VITE_FLUI =SIMP(statut='o',typ='R' ),
20743 FREQ_COUP =SIMP(statut='f',typ='R' ),
20744 METHODE =SIMP(statut='f',typ='TXM',defaut="GENERALE",
20745 into=("AU_YANG","GENERALE","CORCOS",) ),
20746 COEF_VITE_FLUI_A=SIMP(statut='f',typ='R' ),
20747 COEF_VITE_FLUI_O=SIMP(statut='f',typ='R' ),
20749 SPEC_CORR_CONV_3=FACT(statut='f',
20750 TABLE_FONCTION =SIMP(statut='o',typ=(table_fonction) ),
20752 SPEC_FONC_FORME =FACT(statut='f',
20753 regles=(UN_PARMI('INTE_SPEC','GRAPPE_1'),
20754 ENSEMBLE('INTE_SPEC','FONCTION'),),
20755 INTE_SPEC =SIMP(statut='f',typ=interspectre),
20756 FONCTION =SIMP(statut='f',typ=(table_fonction),max='**'),
20757 GRAPPE_1 =SIMP(statut='f',typ='TXM',into=("DEBIT_180","DEBIT_300",) ),
20758 NOEUD =SIMP(statut='o',typ=no),
20759 CARA_ELEM =SIMP(statut='o',typ=cara_elem ),
20760 MODELE =SIMP(statut='o',typ=modele_sdaster ),
20762 SPEC_EXCI_POINT =FACT(statut='f',
20763 regles=(UN_PARMI('INTE_SPEC','GRAPPE_2'),),
20764 INTE_SPEC =SIMP(statut='f',typ=interspectre),
20765 GRAPPE_2 =SIMP(statut='f',typ='TXM',
20766 into=("ASC_CEN","ASC_EXC","DES_CEN","DES_EXC",) ),
20767 # Quels sont les statuts des mots cles a l interieur des deux blocs qui suivent
20768 b_inte_spec =BLOC(condition = "INTE_SPEC != None",
20769 NATURE =SIMP(statut='o',typ='TXM',max='**',into=("FORCE","MOMENT",) ),
20770 ANGLE =SIMP(statut='o',typ='R',max='**'),
20771 NOEUD =SIMP(statut='o',typ=no,max='**'),
20773 b_grappe_2 =BLOC(condition = "GRAPPE_2 != None",
20774 RHO_FLUI =SIMP(statut='o',typ='R' ),
20775 NOEUD =SIMP(statut='o',typ=no),
20777 CARA_ELEM =SIMP(statut='o',typ=cara_elem ),
20778 MODELE =SIMP(statut='o',typ=modele_sdaster ),
20780 TITRE =SIMP(statut='f',typ='TXM',max='**'),
20783 # ======================================================================
20784 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
20785 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20786 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20787 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
20788 # (AT YOUR OPTION) ANY LATER VERSION.
20790 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
20791 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
20792 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
20793 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
20795 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
20796 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
20797 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
20798 # ======================================================================
20799 # person_in_charge: mathieu.corus at edf.fr
20800 DEFI_SQUELETTE=OPER(nom="DEFI_SQUELETTE",op= 110,sd_prod=squelette,
20801 fr="Définit un maillage pour visualiser les résultats d'une sous-structuration dynamique",
20803 UIinfo={"groupes":("Maillage","Dynamique",)},
20804 regles=(UN_PARMI('CYCLIQUE','MODELE_GENE','MAILLAGE'),
20805 PRESENT_PRESENT('CYCLIQUE','SECTEUR'),
20806 EXCLUS('SOUS_STRUC','SECTEUR'),
20807 PRESENT_PRESENT('NOM_GROUP_MA','MODELE_GENE'),
20808 PRESENT_PRESENT('NOM_GROUP_MA','SOUS_STRUC'),),
20809 CYCLIQUE =FACT(statut='f',max='**',
20810 regles=(UN_PARMI('MODE_CYCL','MAILLAGE'),
20811 PRESENT_PRESENT('NB_SECTEUR','MAILLAGE'),),
20812 MODE_CYCL =SIMP(statut='f',typ=mode_cycl ),
20813 NB_SECTEUR =SIMP(statut='f',typ='I',validators=NoRepeat(),max=1 ),
20814 MAILLAGE =SIMP(statut='f',typ=maillage_sdaster ),
20816 MODELE_GENE =SIMP(statut='f',typ=modele_gene ),
20817 SQUELETTE =SIMP(statut='f',typ=squelette ),
20818 RECO_GLOBAL =FACT(statut='f',max='**',
20819 regles=(EXCLUS('TOUT','GROUP_NO_1'),
20820 PRESENT_PRESENT('GROUP_NO_1','GROUP_NO_2'),
20821 PRESENT_PRESENT('GROUP_NO_1','SOUS_STRUC_1'),
20822 PRESENT_PRESENT('GROUP_NO_2','SOUS_STRUC_2'),
20823 PRESENT_PRESENT('SOUS_STRUC_1','SOUS_STRUC_2'),),
20824 TOUT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",) ),
20825 GROUP_NO_1 =SIMP(statut='f',typ=grno),
20826 SOUS_STRUC_1 =SIMP(statut='f',typ='TXM' ),
20827 GROUP_NO_2 =SIMP(statut='f',typ=grno),
20828 SOUS_STRUC_2 =SIMP(statut='f',typ='TXM' ),
20829 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
20830 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
20831 DIST_REFE =SIMP(statut='f',typ='R' ),
20833 NOM_GROUP_MA =FACT(statut='f',max='**',
20834 NOM =SIMP(statut='o',typ='TXM' ),
20835 SOUS_STRUC =SIMP(statut='o',typ='TXM' ),
20836 GROUP_MA =SIMP(statut='o',typ=grma),
20838 EXCLUSIF =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
20839 MAILLAGE =SIMP(statut='f',typ=maillage_sdaster ),
20840 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
20841 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20842 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20843 TRANS =SIMP(statut='f',typ='R',min=3,max=3),
20844 ANGL_NAUT =SIMP(statut='f',typ='R',min=3,max=3),
20845 SOUS_STRUC =FACT(statut='f',max='**',
20846 regles=(UN_PARMI('TOUT','MAILLE','GROUP_MA'),),
20847 NOM =SIMP(statut='o',typ='TXM' ),
20848 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
20849 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20850 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20852 SECTEUR =FACT(statut='f',max='**',
20853 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
20854 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
20855 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
20857 TITRE =SIMP(statut='f',typ='TXM',max='**'),
20860 # ======================================================================
20861 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
20862 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20863 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20864 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
20865 # (AT YOUR OPTION) ANY LATER VERSION.
20867 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
20868 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
20869 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
20870 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
20872 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
20873 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
20874 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
20875 # ======================================================================
20876 # person_in_charge: renaud.bargellini at edf.fr
20877 DEFI_TRC=OPER(nom="DEFI_TRC",op=94,sd_prod=table_sdaster,reentrant='n',
20878 UIinfo={"groupes":("Modélisation","Thermique",)},
20879 fr="Définir d'un diagramme de transformations en refroidissement continu (TRC) de référence d'un acier"
20880 +" pour les calculs métallurgiques.",
20881 HIST_EXP =FACT(statut='o',max='**',
20882 VALE =SIMP(statut='o',typ='R',max='**'),
20884 TEMP_MS =FACT(statut='o',max='**',
20885 SEUIL =SIMP(statut='o',typ='R'),
20886 AKM =SIMP(statut='o',typ='R'),
20887 BKM =SIMP(statut='o',typ='R'),
20888 TPLM =SIMP(statut='o',typ='R'),
20890 GRAIN_AUST =FACT(statut='f',max='**',
20891 DREF =SIMP(statut='f',typ='R'),
20892 A =SIMP(statut='f',typ='R'),
20896 # ======================================================================
20897 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
20898 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20899 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20900 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
20901 # (AT YOUR OPTION) ANY LATER VERSION.
20903 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
20904 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
20905 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
20906 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
20908 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
20909 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
20910 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
20911 # ======================================================================
20912 # person_in_charge: jacques.pellet at edf.fr
20913 def depl_interne_prod(DEPL_GLOBAL,**args ):
20914 if AsType(DEPL_GLOBAL) == cham_no_sdaster: return cham_no_sdaster
20915 if AsType(DEPL_GLOBAL) == evol_elas : return evol_elas
20916 if AsType(DEPL_GLOBAL) == dyna_trans : return dyna_trans
20917 if AsType(DEPL_GLOBAL) == dyna_harmo : return dyna_harmo
20918 if AsType(DEPL_GLOBAL) == mode_meca : return mode_meca
20919 if AsType(DEPL_GLOBAL) == mode_meca_c : return mode_meca_c
20920 raise AsException("type de concept resultat non prevu")
20922 DEPL_INTERNE=OPER(nom="DEPL_INTERNE",op=89,sd_prod=depl_interne_prod,reentrant='n',
20923 UIinfo={"groupes":("Matrices et vecteurs",)},
20924 fr="Calculer le champ de déplacement à l'intérieur d'une sous-structure statique",
20925 DEPL_GLOBAL =SIMP(statut='o',typ=(cham_no_sdaster,mode_meca,mode_meca_c,evol_elas,dyna_trans,dyna_harmo),),
20926 SUPER_MAILLE =SIMP(statut='o',typ=ma,),
20927 NOM_CAS =SIMP(statut='f',typ='TXM',defaut=" "),
20930 # ======================================================================
20931 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
20932 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20933 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20934 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
20935 # (AT YOUR OPTION) ANY LATER VERSION.
20937 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
20938 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
20939 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
20940 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
20942 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
20943 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
20944 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
20945 # ======================================================================
20946 # person_in_charge: j-pierre.lefebvre at edf.fr
20947 DETRUIRE=MACRO(nom="DETRUIRE",
20948 op=OPS("Cata.ops.DETRUIRE"),
20949 UIinfo={"groupes":("Gestion du travail",)},
20950 fr="Détruit des concepts utilisateurs dans la base GLOBALE ou des objets JEVEUX",
20951 op_init=ops.build_detruire,
20952 regles=(UN_PARMI('CONCEPT', 'OBJET',),),
20954 CONCEPT = FACT(statut='f',max='**',
20955 NOM = SIMP(statut='o',typ=assd,validators=NoRepeat(),max='**'),
20957 OBJET = FACT(statut='f',max='**',
20958 CLASSE = SIMP(statut='f', typ='TXM', into=('G', 'V', 'L'), defaut='G'),
20959 CHAINE = SIMP(statut='o', typ='TXM', validators=NoRepeat(), max='**'),
20960 POSITION = SIMP(statut='f', typ='I', max='**'),
20962 INFO = SIMP(statut='f', typ='I', into=(1, 2), defaut=2, ),
20965 # ======================================================================
20966 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
20967 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
20968 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
20969 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
20970 # (AT YOUR OPTION) ANY LATER VERSION.
20972 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
20973 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
20974 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
20975 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
20977 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
20978 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
20979 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
20980 # ======================================================================
20981 # person_in_charge: irmela.zentner at edf.fr
20982 DYNA_ALEA_MODAL=OPER(nom="DYNA_ALEA_MODAL",op= 131,sd_prod=interspectre,
20983 fr="Calcul de la réponse spectrale d'une structure linéaire sous une excitation connue par sa DSP",
20985 UIinfo={"groupes":("Résolution","Dynamique",)},
20986 BASE_MODALE =FACT(statut='o',
20987 regles=(UN_PARMI('NUME_ORDRE','BANDE'),),
20988 MODE_MECA =SIMP(statut='o',typ=mode_meca ),
20989 BANDE =SIMP(statut='f',typ='R',validators=NoRepeat(),max=2),
20990 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
20991 b_bande =BLOC(condition = "BANDE != None",
20992 AMOR_UNIF =SIMP(statut='o',typ='R' ),
20994 b_nume_ordre =BLOC(condition = "NUME_ORDRE != None",
20995 AMOR_REDUIT =SIMP(statut='o',typ='R',max='**'),
20998 MODE_STAT =SIMP(statut='f',typ=mode_meca),
20999 # MODE_STAT devrait etre dans EXCIT car est utile et obligatoire que si NOM_CMP=depl_r, on pourrait
21000 # ainsi rajouter un bloc du genre b_mod_stat= BLOC(condition = "(GRANDEUR == None) or (GRANDEUR == 'DEPL_R')",
21001 EXCIT =FACT(statut='o',
21002 INTE_SPEC =SIMP(statut='o',typ=interspectre),
21003 NUME_VITE_FLUI =SIMP(statut='f',typ='I' ),
21004 OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG",) ),
21005 MODAL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
21006 b_modal_non = BLOC(condition = "(MODAL == None) or (MODAL == 'NON')",
21007 regles=(UN_PARMI('NOEUD_I','NUME_ORDRE_I'),),
21008 NUME_ORDRE_I =SIMP(statut='f',typ='I',max='**'),
21009 NOEUD_I =SIMP(statut='f',typ=no,max='**'),
21010 b_nume_ordre_i =BLOC(condition = "NUME_ORDRE_I != None",
21011 regles=(EXCLUS('CHAM_NO','NOEUD'),),
21012 # on devrait rajouter EXCLUS('GRANDEUR','CHAM_NO') pour eviter ambiguite car CHAM_NO => GRANDEUR='EFFO'
21013 # cela impliquerait d'enlever la valeur par defaut a GRANDEUR
21014 NUME_ORDRE_J =SIMP(statut='o',typ='I',max='**'),
21015 CHAM_NO =SIMP(statut='f',typ=cham_no_sdaster),
21016 NOEUD =SIMP(statut='f',typ=no,max='**'),
21017 b_noeud =BLOC(condition = "NOEUD != None",
21018 NOM_CMP =SIMP(statut='o',typ='TXM',max='**'),
21020 GRANDEUR =SIMP(statut='f',typ='TXM',defaut="DEPL_R",
21021 into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")),
21022 # que se passe-t-il en cas d'incompatibilite entre GRANDEUR et NOM_CMP
21023 DERIVATION =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ),
21025 b_noeud_i =BLOC(condition = "NOEUD_I != None",
21026 NOEUD_J =SIMP(statut='o',typ=no,max='**'),
21027 NOM_CMP_I =SIMP(statut='o',typ='TXM',max='**'),
21028 NOM_CMP_J =SIMP(statut='o',typ='TXM',max='**'),
21029 NOEUD =SIMP(statut='o',typ=no,max='**'),
21030 NOM_CMP =SIMP(statut='o',typ='TXM',max='**'),
21031 # ne serait-il pas bien que NOEUD et NOM_CMP soient facultatifs, car l'information peut etre contenue dans
21032 # NOEUD_I, NOM_CMP_I ... => modif. du Fortran
21033 GRANDEUR =SIMP(statut='f',typ='TXM',defaut="DEPL_R",
21034 into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")),
21035 # que se passe-t-il en cas d'incompatibilite entre GRANDEUR et NOM_CMP_I
21036 DERIVATION =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ),
21039 b_modal_oui = BLOC(condition = "(MODAL == 'OUI')",
21040 # dans ce cas, y-a-t-il vraiment la possibilite d'une matrice interspectrale avec plusieurs termes
21041 NUME_ORDRE_I =SIMP(statut='o',typ='I',max='**'),
21042 NUME_ORDRE_J =SIMP(statut='o',typ='I',max='**'),
21043 GRANDEUR =SIMP(statut='f',typ='TXM',defaut="DEPL_R",
21044 into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")),
21045 DERIVATION =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ),
21046 # dans le cas MODAL=OUI, GRANDEUR peut-il etre different de EFFO et doit il etre impose a EFFO On devrait
21047 # pouvoir supprimer GRANDEUR et DERIVATION ici
21051 REPONSE =FACT(statut='f',
21052 regles=( ENSEMBLE('FREQ_MIN','FREQ_MAX'),),
21053 DERIVATION =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ,) ),
21054 OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG") ),
21055 FREQ_MIN =SIMP(statut='f',typ='R' ),
21056 FREQ_MAX =SIMP(statut='f',typ='R' ),
21057 PAS =SIMP(statut='f',typ='R' ),
21058 b_defaut_freq =BLOC(condition = "FREQ_MIN == NONE",
21059 FREQ_EXCIT =SIMP(statut='f',typ='TXM',defaut="AVEC",into=("AVEC","SANS") ),
21060 NB_POIN_MODE =SIMP(statut='f',typ='I',defaut= 50 ),
21063 TITRE =SIMP(statut='f',typ='TXM',max='**'),
21064 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
21067 # ======================================================================
21068 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
21069 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21070 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21071 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
21072 # (AT YOUR OPTION) ANY LATER VERSION.
21074 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
21075 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
21076 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
21077 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
21079 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
21080 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
21081 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
21082 # ======================================================================
21083 # person_in_charge: irmela.zentner at edf.fr
21085 def dyna_iss_vari_prod(self, FONC_SIGNAL,**args):
21086 if FONC_SIGNAL !=None :
21089 return interspectre
21090 raise AsException("type de concept resultat non prevu")
21092 DYNA_ISS_VARI=MACRO(nom="DYNA_ISS_VARI",
21093 op=OPS('Macro.dyna_iss_vari_ops.dyna_iss_vari_ops'),
21094 sd_prod=dyna_iss_vari_prod,
21095 fr="Calcul du spectre de réponse ou de la reponse temporelle " \
21096 "sismique incoherente par decomposition spectrale",
21098 UIinfo={"groupes":("Outils métier",)},
21099 regles=(UN_PARMI('FONC_SIGNAL','NB_FREQ'),),
21100 FONC_SIGNAL =SIMP(statut='f',typ=(fonction_sdaster) ),
21101 NB_FREQ =SIMP(statut='f',typ='I' ),
21102 NOM_CMP =SIMP(statut='o',typ='TXM',into=("DX","DY","DZ") ),
21103 PRECISION =SIMP(statut='f',typ='R',defaut=0.999 ),
21104 ISSF =SIMP(statut='f',typ='TXM',into=("OUI","NON",),defaut="NON"),
21105 INTERF =FACT(statut='o',
21106 GROUP_NO_INTERF =SIMP(statut='o',typ=grno,),
21107 MODE_INTERF =SIMP(statut='o',typ='TXM',into=("CORP_RIGI","TOUT","QUELCONQUE")),
21109 MATR_COHE =FACT(statut='o',
21110 TYPE = SIMP(statut='o',typ='TXM' , into=("MITA_LUCO","ABRAHAMSON") ),
21111 b_type_coh = BLOC(condition="TYPE=='MITA_LUCO' ",
21112 VITE_ONDE =SIMP(statut='f',typ='R', defaut=600.),
21113 PARA_ALPHA =SIMP(statut='f',typ='R',defaut=0.5),),
21115 # LIST_FREQ =SIMP(statut='o',typ='liste' ),
21116 UNITE_RESU_FORC = SIMP(statut='f',typ='I',defaut=33),
21117 UNITE_RESU_IMPE = SIMP(statut='f',typ='I',defaut=32),
21118 TYPE = SIMP(statut='f',typ='TXM', into=("BINAIRE","ASCII"), defaut="ASCII"),
21119 # NOM_CHAM =SIMP(statut='f',typ='TXM',into=("DEPL","VITE","ACCE") , validators=NoRepeat(),max=3,defaut="DEPL" ),
21121 MATR_GENE = FACT(statut='o',
21122 MATR_MASS = SIMP(statut='o',typ=(matr_asse_gene_r ) ),
21123 MATR_RIGI = SIMP(statut='o',typ=(matr_asse_gene_r,matr_asse_gene_c ) ),
21124 MATR_AMOR = SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c ) ),
21127 INFO =SIMP(statut='f',typ='I' ,defaut=1,into=( 1 , 2)),
21129 b_type_trans = BLOC(condition="FONC_SIGNAL !=None",
21130 FREQ_MAX =SIMP(statut='f',typ='R' ),
21131 FREQ_PAS =SIMP(statut='f',typ='R' ),
21132 regles=( ENSEMBLE('FREQ_MAX','FREQ_PAS'), )
21136 b_type_spec = BLOC(condition="NB_FREQ != None",
21137 FREQ_INIT =SIMP(statut='o',typ='R' ),
21138 FREQ_PAS =SIMP(statut='o',typ='R' ),
21139 OPTION = SIMP(statut='f',typ='TXM',into=("TOUT","DIAG"),defaut="TOUT"),
21145 # ======================================================================
21146 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
21147 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21148 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21149 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
21150 # (AT YOUR OPTION) ANY LATER VERSION.
21152 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
21153 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
21154 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
21155 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
21157 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
21158 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
21159 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
21160 # ======================================================================
21161 # person_in_charge: harinaivo.andriambololona at edf.fr
21162 def dyna_line_harm_prod(MATR_RIGI,**args):
21163 if (AsType(MATR_RIGI) == matr_asse_depl_r) : return dyna_harmo
21164 elif (AsType(MATR_RIGI) == matr_asse_depl_c) : return dyna_harmo
21165 elif (AsType(MATR_RIGI) == matr_asse_pres_c) : return acou_harmo
21166 elif (AsType(MATR_RIGI) == matr_asse_gene_r) : return harm_gene
21167 elif (AsType(MATR_RIGI) == matr_asse_gene_c) : return harm_gene
21168 raise AsException("type de concept resultat non prevu")
21170 DYNA_LINE_HARM=OPER(nom="DYNA_LINE_HARM",op= 60,sd_prod=dyna_line_harm_prod,
21171 fr="Calcul de la réponse dynamique complexe d'un système à une excitation harmonique",
21173 UIinfo={"groupes":("Résolution","Dynamique",)},
21174 regles=(PRESENT_ABSENT('MATR_AMOR','AMOR_MODAL'),
21175 UN_PARMI('FREQ','LIST_FREQ'),),
21176 CHAM_MATER =SIMP(statut='f',typ=cham_mater ),
21177 CARA_ELEM =SIMP(statut='f',typ=cara_elem ),
21178 MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_pres_c,matr_asse_gene_r ) ),
21179 MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_pres_c
21180 ,matr_asse_gene_r,matr_asse_gene_c ) ),
21181 MATR_AMOR =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_pres_c,matr_asse_gene_r ) ),
21182 AMOR_MODAL =FACT(statut='f', max=1,
21183 regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),),
21184 AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'),
21185 LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ),
21187 MATR_IMPE_PHI =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ),
21188 FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
21189 LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ),
21190 TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",)),
21191 NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,into=("DEPL","VITE","ACCE") ),
21192 b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : RESULTAT obligatoire",
21193 RESULTAT =SIMP(statut='o',typ=(dyna_harmo,harm_gene)),
21195 EXCIT =FACT(statut='o',max='**',
21196 regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE','CHARGE'),
21197 UN_PARMI('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),
21199 VECT_ASSE =SIMP(statut='f',position='global',typ=cham_no_sdaster),
21200 VECT_ASSE_GENE =SIMP(statut='f',position='global',typ=vect_asse_gene),
21201 CHARGE =SIMP(statut='f',position='global', typ=char_meca ),
21202 FONC_MULT_C =SIMP(statut='f',typ=(fonction_c,formule_c) ),
21203 COEF_MULT_C =SIMP(statut='f',typ='C' ),
21204 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
21205 COEF_MULT =SIMP(statut='f',typ='R' ),
21206 PHAS_DEG =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
21207 PUIS_PULS =SIMP(statut='f',typ='I',defaut= 0 ),
21209 b_modele_char =BLOC(condition = " CHARGE != None ",
21210 MODELE =SIMP(statut='o',typ=modele_sdaster ),
21212 b_modele_vect =BLOC(condition = " VECT_ASSE != None ",
21213 MODELE =SIMP(statut='f',typ=modele_sdaster ),
21215 EXCIT_RESU =FACT(statut='f',max='**',
21216 RESULTAT =SIMP(statut='o',typ=(dyna_harmo,harm_gene)),
21217 COEF_MULT_C =SIMP(statut='o',typ='C' ),
21219 #-------------------------------------------------------------------
21220 # Catalogue commun SOLVEUR
21221 b_matr_gene =BLOC(condition = "AsType(MATR_MASS) in (matr_asse_gene_r,)",
21222 fr="Methode de resolution matrice generalisee",
21223 SOLVEUR =C_SOLVEUR('DYNA_LINE_HARM','GENE'),
21226 b_matr_phys =BLOC(condition = "AsType(MATR_MASS) in (matr_asse_depl_r,matr_asse_pres_c,)",
21227 fr="Methode de resolution matrice sur ddl physique",
21228 SOLVEUR =C_SOLVEUR('DYNA_LINE_HARM','PHYS'),
21230 #-------------------------------------------------------------------
21232 TITRE =SIMP(statut='f',typ='TXM',max='**'),
21235 # ======================================================================
21236 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
21237 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21238 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21239 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
21240 # (AT YOUR OPTION) ANY LATER VERSION.
21242 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
21243 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
21244 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
21245 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
21247 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
21248 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
21249 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
21250 # ======================================================================
21251 # person_in_charge: emmanuel.boyere at edf.fr
21252 DYNA_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op= 48,sd_prod=dyna_trans,
21253 fr="Calcul de la réponse dynamique transitoire à une excitation temporelle quelconque",
21255 UIinfo={"groupes":("Résolution","Dynamique",)},
21256 MODELE =SIMP(statut='f',typ=modele_sdaster ),
21257 CHAM_MATER =SIMP(statut='f',typ=cham_mater ),
21258 CARA_ELEM =SIMP(statut='f',typ=cara_elem ),
21259 MATR_MASS =SIMP(statut='o',typ=matr_asse_depl_r ),
21260 MATR_RIGI =SIMP(statut='o',typ=matr_asse_depl_r ),
21261 MATR_AMOR =SIMP(statut='f',typ=matr_asse_depl_r ),
21263 SCHEMA_TEMPS =FACT(statut='d',
21264 SCHEMA =SIMP(statut='f',typ='TXM',defaut="NEWMARK",
21265 into=("NEWMARK","WILSON","DIFF_CENTRE","ADAPT_ORDRE2")),
21266 b_newmark =BLOC(condition="SCHEMA=='NEWMARK'",
21267 BETA =SIMP(statut='f',typ='R',defaut= 0.25 ),
21268 GAMMA =SIMP(statut='f',typ='R',defaut= 0.5 ),
21270 b_wilson =BLOC(condition="SCHEMA=='WILSON'",
21271 THETA =SIMP(statut='f',typ='R',defaut= 1.4 ),
21275 ETAT_INIT =FACT(statut='f',
21276 regles=(AU_MOINS_UN('RESULTAT', 'DEPL', 'VITE', 'ACCE'),
21277 PRESENT_ABSENT('RESULTAT', 'DEPL', 'VITE', 'ACCE'),),
21278 RESULTAT =SIMP(statut='f',typ=dyna_trans ),
21279 b_dyna_trans =BLOC(condition = "RESULTAT != None",
21280 regles=(EXCLUS('NUME_ORDRE','INST_INIT' ),),
21281 NUME_ORDRE =SIMP(statut='f',typ='I' ),
21282 INST_INIT =SIMP(statut='f',typ='R' ),
21283 b_inst_init =BLOC(condition = "INST_INIT != None",
21284 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21285 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
21286 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
21287 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
21288 PRECISION =SIMP(statut='o',typ='R',),),
21291 DEPL =SIMP(statut='f',typ=cham_no_sdaster),
21292 VITE =SIMP(statut='f',typ=cham_no_sdaster),
21293 ACCE =SIMP(statut='f',typ=cham_no_sdaster),
21295 EXCIT =FACT(statut='f',max='**',
21296 regles=(UN_PARMI('CHARGE','VECT_ASSE'),
21297 EXCLUS('CHARGE','COEF_MULT'),
21298 EXCLUS('FONC_MULT','COEF_MULT'),
21299 EXCLUS('ACCE','COEF_MULT'),
21300 PRESENT_ABSENT('ACCE','FONC_MULT'),
21301 PRESENT_PRESENT('ACCE','VITE','DEPL'),
21302 # PRESENT_ABSENT('MULT_APPUI','FONC_MULT'),
21304 VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster),
21305 CHARGE =SIMP(statut='f',typ=char_meca ),
21306 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
21307 COEF_MULT =SIMP(statut='f',typ='R' ),
21308 ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
21309 VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
21310 DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
21311 MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
21312 b_mult_appui =BLOC(condition = "MULT_APPUI == 'OUI'",
21313 regles=(EXCLUS('NOEUD','GROUP_NO'),),
21314 DIRECTION =SIMP(statut='f',typ='R',max='**'),
21315 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
21316 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
21319 MODE_STAT =SIMP(statut='f',typ=mode_meca),
21321 EXCIT_RESU =FACT(statut='f',max='**',
21322 RESULTAT =SIMP(statut='o',typ=dyna_trans ),
21323 COEF_MULT =SIMP(statut='o',typ='R' ),
21325 AMOR_MODAL =FACT(statut='f',
21326 MODE_MECA =SIMP(statut='o',typ=mode_meca ),
21327 AMOR_REDUIT =SIMP(statut='o',typ='R',max='**'),
21328 NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ),
21331 #-------------------------------------------------------------------
21332 # Catalogue commun SOLVEUR
21333 SOLVEUR =C_SOLVEUR('DYNA_LINE_TRAN'),
21334 #-------------------------------------------------------------------
21335 INCREMENT =FACT(statut='o',max='**',
21336 regles=(UN_PARMI('LIST_INST','PAS'),),
21337 LIST_INST =SIMP(statut='f',typ=listr8_sdaster ),
21338 PAS =SIMP(statut='f',typ='R' ),
21339 b_pas =BLOC(condition = "PAS != None",
21340 INST_INIT =SIMP(statut='f',typ='R' ),
21341 INST_FIN =SIMP(statut='o',typ='R' ),
21343 b_list_fonc =BLOC(condition = "LIST_INST != None",
21344 regles=(EXCLUS('INST_FIN','NUME_FIN'),),
21345 NUME_FIN =SIMP(statut='f',typ='I' ),
21346 INST_FIN =SIMP(statut='f',typ='R' ),
21348 VITE_MIN =SIMP(statut='f',typ='TXM',defaut="NORM",into=("MAXI","NORM") ),
21349 COEF_MULT_PAS =SIMP(statut='f',typ='R',defaut= 1.1 ),
21350 COEF_DIVI_PAS =SIMP(statut='f',typ='R',defaut= 1.33334 ),
21351 PAS_LIMI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
21352 NB_POIN_PERIODE =SIMP(statut='f',typ='I',defaut= 50 ),
21353 NMAX_ITER_PAS =SIMP(statut='f',typ='I',defaut= 16 ),
21354 PAS_MINI =SIMP(statut='f',typ='R' ),
21356 ENERGIE =FACT(statut='f',max=1,
21357 CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",),
21359 ARCHIVAGE =FACT(statut='f',max=1,
21360 regles = (EXCLUS('PAS_ARCH','LIST_INST','INST'),),
21361 LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ),
21362 INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
21363 PAS_ARCH = SIMP(statut='f',typ='I' ),
21364 CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21365 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
21366 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
21367 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
21368 PRECISION =SIMP(statut='o',typ='R',),),
21369 CHAM_EXCLU =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","VITE","ACCE") ),
21371 TITRE =SIMP(statut='f',typ='TXM',max='**'),
21372 INFO =SIMP(statut='f',typ='I',into=(1,2) ),
21375 # ======================================================================
21376 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
21377 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21378 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21379 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
21380 # (AT YOUR OPTION) ANY LATER VERSION.
21382 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
21383 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
21384 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
21385 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
21387 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
21388 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
21389 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
21390 # ======================================================================
21391 # person_in_charge: nicolas.greffet at edf.fr
21393 DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
21394 fr="Calcul de l'évolution dynamique d'une structure dont le matériau ou la géométrie ont un comportement non linéaire",
21395 UIinfo={"groupes":("Résolution","Dynamique",)},
21396 MODELE =SIMP(statut='o',typ=modele_sdaster),
21397 CHAM_MATER =SIMP(statut='o',typ=cham_mater),
21398 MODE_STAT =SIMP(statut='f',typ=mode_meca),
21399 CARA_ELEM =SIMP(statut='f',typ=cara_elem),
21400 MASS_DIAG =SIMP(statut='f',typ='TXM',into=("OUI","NON",) ),
21401 EXCIT =FACT(statut='f',max='**',
21402 regles=(PRESENT_ABSENT('FONC_MULT','ACCE'),
21403 PRESENT_PRESENT('ACCE','VITE','DEPL'),
21404 # PRESENT_ABSENT('MULT_APPUI','FONC_MULT'),
21406 TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
21407 into=("FIXE_CSTE","SUIV","DIDI")),
21408 CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
21409 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
21410 DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
21411 ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
21412 VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
21413 MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
21414 DIRECTION =SIMP(statut='f',typ='R',max='**'),
21415 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
21416 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
21418 EXCIT_GENE =FACT(statut='f',max='**',
21419 FONC_MULT =SIMP(statut='f',typ=fonction_sdaster,max='**' ),
21420 VECT_GENE =SIMP(statut='f',typ=vect_asse_gene,max='**' ),
21422 CONTACT =SIMP(statut='f',typ=char_contact),
21423 SOUS_STRUC =FACT(statut='f',min=01,max='**',
21424 regles=(UN_PARMI('TOUT','SUPER_MAILLE'),),
21425 CAS_CHARGE =SIMP(statut='o',typ='TXM' ),
21426 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21427 SUPER_MAILLE=SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',),
21428 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
21430 AMOR_RAYL_RIGI = SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE"),),
21431 AMOR_MODAL =FACT(statut='f',
21432 regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),),
21433 MODE_MECA =SIMP(statut='f',typ=mode_meca),
21434 AMOR_REDUIT =SIMP(statut='f',typ='R',max='**' ),
21435 LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ),
21436 NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ),
21437 REAC_VITE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
21439 PROJ_MODAL =FACT(statut='f',max='**',
21440 MODE_MECA =SIMP(statut='o',typ=mode_meca),
21441 NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ),
21442 regles=(PRESENT_PRESENT('MASS_GENE','RIGI_GENE'),),
21443 MASS_GENE =SIMP(statut='f',typ=matr_asse_gene_r),
21444 RIGI_GENE =SIMP(statut='f',typ=matr_asse_gene_r),
21445 AMOR_GENE =SIMP(statut='f',typ=matr_asse_gene_r),
21446 DEPL_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene),
21447 VITE_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene),
21448 ACCE_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene),
21450 #-------------------------------------------------------------------
21451 COMPORTEMENT =C_COMPORTEMENT('DYNA_NON_LINE'),
21452 #-------------------------------------------------------------------
21453 b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire",
21454 ETAT_INIT =FACT(statut='o',
21455 regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','ACCE','SIGM','VARI',),
21456 # EXCLUS('EVOL_NOLI','DEPL',),
21457 # EXCLUS('EVOL_NOLI','VITE'),
21458 # EXCLUS('EVOL_NOLI','ACCE'),
21459 # EXCLUS('EVOL_NOLI','SIGM',),
21460 # EXCLUS('EVOL_NOLI','VARI',),
21461 EXCLUS('NUME_ORDRE','INST'), ),
21462 DEPL =SIMP(statut='f',typ=cham_no_sdaster),
21463 VITE =SIMP(statut='f',typ=cham_no_sdaster),
21464 ACCE =SIMP(statut='f',typ=cham_no_sdaster),
21465 SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)),
21466 VARI =SIMP(statut='f',typ=cham_elem),
21467 STRX =SIMP(statut='f',typ=cham_elem),
21468 EVOL_NOLI =SIMP(statut='f',typ=evol_noli),
21469 NUME_ORDRE =SIMP(statut='f',typ='I'),
21470 INST =SIMP(statut='f',typ='R'),
21471 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21472 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
21473 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
21474 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
21475 PRECISION =SIMP(statut='o',typ='R',),),
21476 NUME_DIDI =SIMP(statut='f',typ='I'),
21477 INST_ETAT_INIT =SIMP(statut='f',typ='R'),
21479 b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif",
21480 ETAT_INIT =FACT(statut='f',
21481 regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','ACCE','SIGM','VARI',),
21482 # EXCLUS('EVOL_NOLI','DEPL',),
21483 # EXCLUS('EVOL_NOLI','VITE'),
21484 # EXCLUS('EVOL_NOLI','ACCE'),
21485 # EXCLUS('EVOL_NOLI','SIGM',),
21486 # EXCLUS('EVOL_NOLI','VARI',),
21487 EXCLUS('NUME_ORDRE','INST'), ),
21488 DEPL =SIMP(statut='f',typ=cham_no_sdaster),
21489 VITE =SIMP(statut='f',typ=cham_no_sdaster),
21490 ACCE =SIMP(statut='f',typ=cham_no_sdaster),
21491 SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)),
21492 VARI =SIMP(statut='f',typ=cham_elem),
21493 EVOL_NOLI =SIMP(statut='f',typ=evol_noli),
21494 NUME_ORDRE =SIMP(statut='f',typ='I'),
21495 INST =SIMP(statut='f',typ='R'),
21496 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21497 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
21498 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
21499 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
21500 PRECISION =SIMP(statut='o',typ='R',),),
21501 NUME_DIDI =SIMP(statut='f',typ='I'),
21502 INST_ETAT_INIT =SIMP(statut='f',typ='R'),
21504 #-------------------------------------------------------------------
21505 INCREMENT =C_INCREMENT('MECANIQUE'),
21506 #-------------------------------------------------------------------
21507 SCHEMA_TEMPS =FACT(statut='o',
21508 SCHEMA =SIMP(statut='o',min=1,max=1,typ='TXM',
21509 into=("DIFF_CENT","TCHAMWA","NEWMARK","HHT","THETA_METHODE","KRENK"),),
21510 COEF_MASS_SHIFT =SIMP(statut='f',typ='R',defaut= 0.0E+0 ),
21511 b_tchamwa = BLOC(condition="SCHEMA=='TCHAMWA'",
21512 PHI =SIMP(statut='f',typ='R',defaut= 1.05),),
21514 b_newmark = BLOC(condition="SCHEMA=='NEWMARK'",
21515 BETA =SIMP(statut='f',typ='R',defaut= 0.25),
21516 GAMMA =SIMP(statut='f',typ='R',defaut= 0.5),),
21518 b_hht = BLOC(condition="SCHEMA=='HHT'",
21519 ALPHA =SIMP(statut='f',typ='R',defaut= -0.3 ),
21520 MODI_EQUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),),),
21522 b_theta = BLOC(condition="SCHEMA=='THETA_METHODE'",
21523 THETA =SIMP(statut='f',typ='R',defaut= 1.,val_min=0.5,val_max=100. ),),
21525 b_krenk = BLOC(condition="SCHEMA=='KRENK'",
21526 KAPPA =SIMP(statut='f',typ='R',defaut= 1.0,val_min=1.0,val_max=100. ),),
21528 b_explicit= BLOC(condition="SCHEMA=='TCHAMWA'or SCHEMA=='DIFF_CENT'",
21529 STOP_CFL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),),
21530 FORMULATION =SIMP(statut='o',typ='TXM',into=("ACCELERATION",),),),
21532 b_implicit= BLOC(condition="SCHEMA!='TCHAMWA'and SCHEMA!='DIFF_CENT'",
21533 FORMULATION =SIMP(statut='o',max=1,typ='TXM',into=("DEPLACEMENT","VITESSE","ACCELERATION"),),),
21535 #-------------------------------------------------------------------
21536 METHODE =SIMP(statut='d',typ='TXM',defaut="NEWTON",into=("NEWTON","NEWTON_KRYLOV")),
21537 NEWTON =C_NEWTON(),
21538 #-------------------------------------------------------------------
21539 RECH_LINEAIRE =C_RECH_LINEAIRE(),
21540 #-------------------------------------------------------------------
21541 CONVERGENCE =C_CONVERGENCE(),
21542 #-------------------------------------------------------------------
21543 SOLVEUR =C_SOLVEUR('DYNA_NON_LINE'),
21544 #-------------------------------------------------------------------
21545 OBSERVATION =C_OBSERVATION(),
21546 #-------------------------------------------------------------------
21547 ENERGIE =FACT(statut='f',max=1,
21548 CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",),
21550 #-------------------------------------------------------------------
21551 SUIVI_DDL =C_SUIVI_DDL(),
21552 #-------------------------------------------------------------------
21553 AFFICHAGE =C_AFFICHAGE(),
21554 #-------------------------------------------------------------------
21555 ARCHIVAGE =C_ARCHIVAGE(),
21556 #-------------------------------------------------------------------
21557 CRIT_STAB =FACT(statut='f',min=1,max=1,
21558 NB_FREQ =SIMP(statut='f',typ='I',max=1,val_min=1,defaut=3),
21559 COEF_DIM_ESPACE =SIMP(statut='f',typ='I',max=1,val_min=2,defaut=5),
21560 RIGI_GEOM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
21561 MODI_RIGI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
21562 bloc_char_crit=BLOC(condition="(RIGI_GEOM=='OUI')",
21563 CHAR_CRIT =SIMP(statut='f',typ='R',min=2,max=2,
21564 fr="Valeur des deux charges critiques délimitant la bande de recherche en HPP"),),
21565 TYPE =SIMP(statut='f',typ='TXM',defaut="FLAMBEMENT",into=("FLAMBEMENT","STABILITE")),
21566 PREC_INSTAB =SIMP(statut='f',typ='R',defaut=1.E-6,max=1,),
21567 SIGNE =SIMP(statut='f',typ='TXM',defaut=("POSITIF_NEGATIF"),into=("NEGATIF","POSITIF","POSITIF_NEGATIF"),max=1,),
21568 bloc_rigi_geom=BLOC(condition="(RIGI_GEOM=='NON'or MODI_RIGI=='OUI')",
21569 DDL_EXCLUS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=40,
21570 into=('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
21571 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2',
21572 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4',
21573 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6',
21574 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX',
21575 'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z',
21576 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22',
21577 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23',
21578 'PRES31','PRES32','PRES33','VARI','LAG_GV','DAMG','DH')),
21579 bloc_type_stab =BLOC(condition= "TYPE == 'STABILITE' and RIGI_GEOM == 'NON'",
21580 DDL_STAB =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=40,
21581 into=('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
21582 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2',
21583 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4',
21584 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6',
21585 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX',
21586 'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z',
21587 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22',
21588 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23',
21589 'PRES31','PRES32','PRES33','VARI','LAG_GV','DAMG','DH')),),
21591 regles = (EXCLUS('PAS_CALC','LIST_INST','INST'),),
21592 LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ),
21593 INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
21594 PAS_CALC = SIMP(statut='f',typ='I' ),
21595 CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21596 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
21597 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
21598 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
21599 PRECISION =SIMP(statut='o',typ='R',),),
21601 MODE_VIBR =FACT(statut='f',min=1,max=1,
21602 MATR_RIGI =SIMP(statut='f',typ='TXM',defaut="ELASTIQUE",into=("ELASTIQUE","TANGENTE","SECANTE",) ),
21603 NB_FREQ =SIMP(statut='f',typ='I',max=1,val_min=1,defaut=3,
21604 fr="Nombre de fréquences propres à calculer"),
21605 COEF_DIM_ESPACE =SIMP(statut='f',typ='I',max=1,val_min=2,defaut=5),
21606 BANDE =SIMP(statut='f',typ='R',min=2,max=2,
21607 fr="Valeur des deux fréquences délimitant la bande de recherche",),
21608 regles = (EXCLUS('PAS_CALC','LIST_INST','INST'),),
21609 LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ),
21610 INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
21611 PAS_CALC = SIMP(statut='f',typ='I' ),
21612 CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21613 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
21614 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
21615 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
21616 PRECISION =SIMP(statut='o',typ='R',),),
21618 #-------------------------------------------------------------------
21619 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
21620 b_info=BLOC(condition="(INFO==2)",
21621 fr="filtre les messages émis dans le .mess selon le type de message demandé",
21622 INFO_DBG = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(),
21630 TITRE =SIMP(statut='f',typ='TXM',max='**'),
21633 # ======================================================================
21634 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
21635 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21636 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21637 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
21638 # (AT YOUR OPTION) ANY LATER VERSION.
21640 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
21641 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
21642 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
21643 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
21645 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
21646 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
21647 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
21648 # ======================================================================
21649 # person_in_charge: andre.adobes at edf.fr
21650 DYNA_SPEC_MODAL=OPER(nom="DYNA_SPEC_MODAL",op= 147,sd_prod=interspectre,
21651 fr="Calcul de la réponse par recombinaison modale d'une structure linéaire pour une excitation aléatoire",
21653 UIinfo={"groupes":("Résolution","Dynamique",)},
21654 BASE_ELAS_FLUI =SIMP(statut='o',typ=melasflu_sdaster ),
21655 VITE_FLUI =SIMP(statut='o',typ='R'),
21656 PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
21657 EXCIT =FACT(statut='o',
21658 INTE_SPEC_GENE =SIMP(statut='o',typ=interspectre),
21660 OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG") ),
21661 TITRE =SIMP(statut='f',typ='TXM',max='**'),
21664 # ======================================================================
21665 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
21666 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21667 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21668 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
21669 # (AT YOUR OPTION) ANY LATER VERSION.
21671 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
21672 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
21673 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
21674 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
21676 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
21677 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
21678 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
21679 # ======================================================================
21680 # person_in_charge: emmanuel.boyere at edf.fr
21681 DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op= 74,sd_prod=tran_gene,
21682 fr="Calcul de la reponse dynamique transitoire d'un systeme amorti ou non en coordonees generalisees"
21683 +" par superposition modale ou par sous structuration",
21685 UIinfo={"groupes":("Resolution","Dynamique",)},
21686 regles=(EXCLUS('AMOR_MODAL','MATR_AMOR'),
21687 PRESENT_ABSENT('MODE_STAT','MODE_CORR'),),
21688 SCHEMA_TEMPS =FACT(statut='d',
21689 SCHEMA =SIMP(statut='f',typ='TXM',defaut="NEWMARK",
21690 into=("NEWMARK","EULER","DEVOGE","ADAPT_ORDRE1","ADAPT_ORDRE2","ITMI","RUNGE_KUTTA_54","RUNGE_KUTTA_32")),
21691 b_newmark =BLOC(condition="SCHEMA=='NEWMARK'",
21692 BETA =SIMP(statut='f',typ='R',defaut= 0.25 ),
21693 GAMMA =SIMP(statut='f',typ='R',defaut= 0.5 ),
21695 b_runge_kutta =BLOC(condition="SCHEMA=='RUNGE_KUTTA_54' or SCHEMA=='RUNGE_KUTTA_32'",
21696 TOLERANCE =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
21698 b_itmi =BLOC(condition = "SCHEMA=='ITMI'",
21699 regles=(ENSEMBLE('BASE_ELAS_FLUI','NUME_VITE_FLUI'),),
21700 BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster ),
21701 NUME_VITE_FLUI =SIMP(statut='f',typ='I' ),
21702 ETAT_STAT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
21703 PREC_DUREE =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
21704 CHOC_FLUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
21705 NB_MODE =SIMP(statut='f',typ='I' ),
21706 NB_MODE_FLUI =SIMP(statut='f',typ='I' ),
21707 TS_REG_ETAB =SIMP(statut='f',typ='R' ),
21710 MATR_MASS =SIMP(statut='o',typ=matr_asse_gene_r ),
21711 MATR_RIGI =SIMP(statut='o',typ=matr_asse_gene_r ),
21712 MATR_AMOR =SIMP(statut='f',typ=matr_asse_gene_r ),
21713 VITESSE_VARIABLE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
21714 b_variable =BLOC(condition="VITESSE_VARIABLE=='OUI'",
21715 MATR_GYRO =SIMP(statut='o',typ=matr_asse_gene_r ),
21716 VITE_ROTA =SIMP(statut='o',typ=(fonction_sdaster,formule) ),
21717 MATR_RIGY =SIMP(statut='f',typ=matr_asse_gene_r ),
21718 ACCE_ROTA =SIMP(statut='f',typ=(fonction_sdaster,formule) ),
21720 b_constante =BLOC(condition="VITESSE_VARIABLE=='NON'",
21721 VITE_ROTA = SIMP(statut='o',typ='R',defaut=0.E0),
21722 COUPLAGE_EDYOS =FACT(statut='f',max=1,
21723 PAS_TPS_EDYOS = SIMP(statut='o',typ='R' ),
21728 AMOR_MODAL =FACT(statut='f', max=1,
21729 regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),),
21730 AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'),
21731 LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ),
21734 ROTOR_FISS = FACT(statut='f',max='**',
21735 regles=(UN_PARMI('NOEUD_D','GROUP_NO_D'),
21736 EXCLUS('NOEUD_G','GROUP_NO_G'),
21737 PRESENT_PRESENT('NOEUD_D','NOEUD_G'),
21738 PRESENT_PRESENT('GROUP_NO_D','GROUP_NO_G',),),
21739 ANGL_INIT = SIMP(statut='o',typ='R',defaut=0.E0),
21740 ANGL_ROTA = SIMP(statut='f',typ=(fonction_sdaster,formule) ),
21741 NOEUD_G = SIMP(statut='f',typ=no),
21742 NOEUD_D = SIMP(statut='f',typ=no),
21743 GROUP_NO_G = SIMP(statut='f',typ=grno),
21744 GROUP_NO_D = SIMP(statut='f',typ=grno),
21745 K_PHI = SIMP(statut='o',typ=(fonction_sdaster,formule) ),
21746 DK_DPHI = SIMP(statut='o',typ=(fonction_sdaster,formule) ),
21749 PALIER_EDYOS =FACT(statut='f',max='**',
21750 regles=(PRESENT_ABSENT('UNITE','GROUP_NO'),
21751 PRESENT_ABSENT('UNITE','TYPE_EDYOS'),
21752 EXCLUS('GROUP_NO','NOEUD'),),
21753 UNITE = SIMP(statut='f',typ='I',),
21754 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
21755 NOEUD = SIMP(statut='f',typ=no),
21756 TYPE_EDYOS = SIMP(statut='f',typ='TXM',
21757 into=("PAPANL","PAFINL","PACONL","PAHYNL",),),
21760 ETAT_INIT =FACT(statut='f',
21761 regles=(EXCLUS('RESULTAT','DEPL'),
21762 EXCLUS('RESULTAT','VITE'),),
21763 RESULTAT =SIMP(statut='f',typ=tran_gene ),
21764 b_resu =BLOC(condition = "RESULTAT != None",
21765 regles=(EXCLUS('NUME_ORDRE','INST_INIT' ),),
21766 INST_INIT =SIMP(statut='f',typ='R' ),
21767 NUME_ORDRE =SIMP(statut='f',typ='I' ),
21768 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
21769 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
21770 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
21771 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
21772 PRECISION =SIMP(statut='o',typ='R',),),
21774 DEPL =SIMP(statut='f',typ=vect_asse_gene ),
21775 VITE =SIMP(statut='f',typ=vect_asse_gene ),
21777 INCREMENT =FACT(statut='o',max='**',
21778 regles=(UN_PARMI('LIST_INST','PAS'),),
21779 LIST_INST =SIMP(statut='f',typ=listr8_sdaster ),
21780 b_list_inst =BLOC(condition = "LIST_INST != None",
21781 regles=(EXCLUS('NUME_FIN','INST_FIN'),),
21782 NUME_FIN =SIMP(statut='f',typ='I' ),
21783 INST_FIN =SIMP(statut='f',typ='R' ),
21785 PAS =SIMP(statut='f',typ='R' ),
21786 b_pas =BLOC(condition = "PAS != None",
21787 INST_INIT =SIMP(statut='f',typ='R' ),
21788 INST_FIN =SIMP(statut='o',typ='R' ),
21790 VERI_PAS =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
21791 VITE_MIN =SIMP(statut='f',typ='TXM',defaut="NORM",into=("MAXI","NORM") ),
21792 COEF_MULT_PAS =SIMP(statut='f',typ='R',defaut= 1.1 ),
21793 COEF_DIVI_PAS =SIMP(statut='f',typ='R',defaut= 1.3333334 ),
21794 PAS_LIMI_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-6 ),
21795 NB_POIN_PERIODE =SIMP(statut='f',typ='I',defaut= 50 ),
21796 NMAX_ITER_PAS =SIMP(statut='f',typ='I',defaut= 16 ),
21797 PAS_MAXI =SIMP(statut='f',typ='R' ),
21798 PAS_MINI =SIMP(statut='f',typ='R' ),
21800 ARCHIVAGE =FACT(statut='f',max=1,
21801 regles = (EXCLUS('PAS_ARCH','LIST_INST','INST'),),
21802 LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ),
21803 INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
21804 PAS_ARCH = SIMP(statut='f',typ='I' ),
21805 CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
21806 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
21807 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
21808 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
21809 PRECISION =SIMP(statut='o',typ='R',),),
21811 EXCIT =FACT(statut='f',max='**',
21812 regles=(UN_PARMI('FONC_MULT','COEF_MULT','ACCE'),
21813 UN_PARMI('VECT_ASSE_GENE','NUME_ORDRE',),
21814 PRESENT_PRESENT('ACCE','VITE','DEPL'),
21815 # PRESENT_ABSENT('NUME_ORDRE','VECT_ASSE_GENE','COEF_MULT'),
21816 EXCLUS('MULT_APPUI','CORR_STAT'),
21817 PRESENT_PRESENT('MULT_APPUI','ACCE'),),
21818 VECT_ASSE_GENE =SIMP(statut='f',typ=vect_asse_gene ),
21819 NUME_ORDRE =SIMP(statut='f',typ='I' ),
21820 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
21821 COEF_MULT =SIMP(statut='f',typ='R' ),
21822 ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
21823 VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
21824 DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
21825 MULT_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21826 b_mult_appui =BLOC(condition = "MULT_APPUI == 'OUI'",
21827 DIRECTION =SIMP(statut='f',typ='R',max='**'),
21828 regles=(EXCLUS('NOEUD','GROUP_NO'),),
21829 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
21830 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
21832 CORR_STAT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21833 b_corr_stat =BLOC(condition = "CORR_STAT == 'OUI'",
21834 D_FONC_DT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
21835 D_FONC_DT2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
21838 MODE_STAT =SIMP(statut='f',typ=mode_meca ),
21839 MODE_CORR =SIMP(statut='f',typ=(mult_elas,mode_meca),),
21841 EXCIT_RESU =FACT(statut='f',max='**',
21842 RESULTAT =SIMP(statut='o',typ=tran_gene ),
21843 COEF_MULT =SIMP(statut='f',typ='R',defaut=1.0 ),
21846 CHOC =FACT(statut='f',max='**',
21847 regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD_1','GROUP_NO_1' ),
21848 EXCLUS('NOEUD_2','GROUP_NO_2'),
21849 PRESENT_ABSENT('GROUP_MA','NOEUD_2','GROUP_NO_2'),
21850 PRESENT_ABSENT('MAILLE','NOEUD_2','GROUP_NO_2'),),
21851 INTITULE =SIMP(statut='f',typ='TXM' ),
21852 GROUP_MA =SIMP(statut='f',typ=grma,max='**'),
21853 MAILLE =SIMP(statut='f',typ=ma,max='**'),
21854 NOEUD_1 =SIMP(statut='f',typ=no),
21855 NOEUD_2 =SIMP(statut='f',typ=no),
21856 GROUP_NO_1 =SIMP(statut='f',typ=grno),
21857 GROUP_NO_2 =SIMP(statut='f',typ=grno),
21858 OBSTACLE =SIMP(statut='o',typ=table_fonction),
21859 ORIG_OBST =SIMP(statut='f',typ='R',min=3,max=3),
21860 NORM_OBST =SIMP(statut='o',typ='R',min=3,max=3),
21861 ANGL_VRIL =SIMP(statut='f',typ='R' ),
21862 JEU =SIMP(statut='f',typ='R',defaut= 1. ),
21863 DIST_1 =SIMP(statut='f',typ='R',val_min=0.E+0 ),
21864 DIST_2 =SIMP(statut='f',typ='R',val_min=0.E+0 ),
21865 SOUS_STRUC_1 =SIMP(statut='f',typ='TXM' ),
21866 SOUS_STRUC_2 =SIMP(statut='f',typ='TXM' ),
21867 REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL"),
21868 RIGI_NOR =SIMP(statut='f',typ='R' ),
21869 AMOR_NOR =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
21870 RIGI_TAN =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
21871 AMOR_TAN =SIMP(statut='f',typ='R' ),
21872 FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","COULOMB","COULOMB_STAT_DYNA") ),
21873 b_coulomb =BLOC(condition="FROTTEMENT=='COULOMB'",
21874 COULOMB =SIMP(statut='o',typ='R' ),),
21875 b_coulomb_stat_dyna =BLOC(condition="FROTTEMENT=='COULOMB_STAT_DYNA'",
21876 COULOMB_STAT =SIMP(statut='o',typ='R' ),
21877 COULOMB_DYNA =SIMP(statut='o',typ='R' ),),
21879 VERI_CHOC =FACT(statut='f',
21880 STOP_CRITERE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
21881 SEUIL =SIMP(statut='f',typ='R',defaut= 0.5 ),
21883 FLAMBAGE =FACT(statut='f',max='**',
21884 regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'),
21885 EXCLUS('NOEUD_2','GROUP_NO_2'),),
21886 NOEUD_1 =SIMP(statut='f',typ=no),
21887 NOEUD_2 =SIMP(statut='f',typ=no),
21888 GROUP_NO_1 =SIMP(statut='f',typ=grno),
21889 GROUP_NO_2 =SIMP(statut='f',typ=grno),
21890 OBSTACLE =SIMP(statut='o',typ=table_fonction),
21891 ORIG_OBST =SIMP(statut='f',typ='R',max='**'),
21892 NORM_OBST =SIMP(statut='o',typ='R',max='**'),
21893 ANGL_VRIL =SIMP(statut='f',typ='R' ),
21894 JEU =SIMP(statut='f',typ='R',defaut= 1. ),
21895 DIST_1 =SIMP(statut='f',typ='R' ),
21896 DIST_2 =SIMP(statut='f',typ='R' ),
21897 REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL"),
21898 RIGI_NOR =SIMP(statut='f',typ='R' ),
21899 FNOR_CRIT =SIMP(statut='f',typ='R' ),
21900 FNOR_POST_FL =SIMP(statut='f',typ='R' ),
21901 RIGI_NOR_POST_FL=SIMP(statut='f',typ='R' ),
21903 ANTI_SISM =FACT(statut='f',max='**',
21904 regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'),
21905 UN_PARMI('NOEUD_2','GROUP_NO_2'),),
21906 NOEUD_1 =SIMP(statut='f',typ=no),
21907 NOEUD_2 =SIMP(statut='f',typ=no),
21908 GROUP_NO_1 =SIMP(statut='f',typ=grno),
21909 GROUP_NO_2 =SIMP(statut='f',typ=grno),
21910 RIGI_K1 =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
21911 RIGI_K2 =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
21912 SEUIL_FX =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
21913 C =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
21914 PUIS_ALPHA =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
21915 DX_MAX =SIMP(statut='f',typ='R',defaut= 1. ),
21917 RELA_EFFO_DEPL =FACT(statut='f',max='**',
21918 NOEUD =SIMP(statut='o',typ=no),
21919 SOUS_STRUC =SIMP(statut='f',typ='TXM' ),
21920 NOM_CMP =SIMP(statut='f',typ='TXM' ),
21921 RELATION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
21923 RELA_EFFO_VITE =FACT(statut='f',max='**',
21924 NOEUD =SIMP(statut='o',typ=no),
21925 SOUS_STRUC =SIMP(statut='f',typ='TXM' ),
21926 NOM_CMP =SIMP(statut='f',typ='TXM' ),
21927 RELATION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
21929 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
21930 IMPRESSION =FACT(statut='f',
21931 regles=(EXCLUS('TOUT','NIVEAU'),),
21932 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
21933 NIVEAU =SIMP(statut='f',typ='TXM',into=("DEPL_LOC","VITE_LOC","FORC_LOC","TAUX_CHOC") ),
21934 INST_INIT =SIMP(statut='f',typ='R' ),
21935 INST_FIN =SIMP(statut='f',typ='R' ),
21939 #-------------------------------------------------------------------
21940 # Catalogue commun SOLVEUR
21941 SOLVEUR =C_SOLVEUR('DYNA_TRAN_MODAL'),
21942 #-------------------------------------------------------------------
21944 TITRE =SIMP(statut='f',typ='TXM',max='**'),
21947 # ======================================================================
21948 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
21949 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
21950 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
21951 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
21952 # (AT YOUR OPTION) ANY LATER VERSION.
21954 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
21955 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
21956 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
21957 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
21959 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
21960 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
21961 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
21962 # ======================================================================
21963 # person_in_charge: albert.alarcon at edf.fr
21965 #choix de structure de donnees de sortie en fonction de BASE_CALCUL et TYPE_CALCUL
21966 def dyna_vibra_prod(self,BASE_CALCUL,TYPE_CALCUL,MATR_RIGI,**args):
21967 if BASE_CALCUL == 'PHYS':
21968 if TYPE_CALCUL == 'TRAN': return dyna_trans
21970 if (AsType(MATR_RIGI) == matr_asse_pres_c) : return acou_harmo
21971 else: return dyna_harmo
21973 if TYPE_CALCUL == 'TRAN': return tran_gene
21974 else: return harm_gene
21976 #from Macro.dyna_vibra_ops import dyna_vibra_ops
21978 DYNA_VIBRA=MACRO(nom="DYNA_VIBRA",
21979 op=OPS('Macro.dyna_vibra_ops.dyna_vibra_ops'),
21980 # op=dyna_vibra_ops,
21981 sd_prod=dyna_vibra_prod,
21983 fr="Calcul dynamique",
21984 UIinfo={"groupes":("Resolution","Dynamique",)},
21985 BASE_CALCUL =SIMP(statut='o',typ='TXM',position='global',into=("PHYS","GENE") ),
21986 TYPE_CALCUL =SIMP(statut='o',typ='TXM',position='global',into=("HARM","TRAN") ),
21988 #parametres de mise en donnees
21989 b_donnees =BLOC(condition = "TYPE_CALCUL=='HARM'or (TYPE_CALCUL=='TRAN' and BASE_CALCUL=='PHYS')",
21990 MODELE =SIMP(statut='f',typ=modele_sdaster ),
21991 CHAM_MATER =SIMP(statut='f',typ=cham_mater ),
21992 CARA_ELEM =SIMP(statut='f',typ=cara_elem ),
21994 b_matr_tran_phys =BLOC(condition = "TYPE_CALCUL=='TRAN' and BASE_CALCUL=='PHYS'",
21995 MATR_MASS =SIMP(statut='o',typ=matr_asse_depl_r),
21996 MATR_RIGI =SIMP(statut='o',typ=matr_asse_depl_r),
21997 MATR_AMOR =SIMP(statut='f',typ=matr_asse_depl_r),
21999 b_matr_tran_gene =BLOC(condition = "TYPE_CALCUL=='TRAN' and BASE_CALCUL=='GENE'",
22000 MATR_MASS =SIMP(statut='o',typ=matr_asse_gene_r),
22001 MATR_RIGI =SIMP(statut='o',typ=matr_asse_gene_r),
22002 MATR_AMOR =SIMP(statut='f',typ=matr_asse_gene_r),
22003 VITESSE_VARIABLE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
22004 b_variable =BLOC(condition="VITESSE_VARIABLE=='OUI'",
22005 MATR_GYRO =SIMP(statut='o',typ=matr_asse_gene_r ),
22006 VITE_ROTA =SIMP(statut='o',typ=(fonction_sdaster,formule) ),
22007 MATR_RIGY =SIMP(statut='f',typ=matr_asse_gene_r ),
22008 ACCE_ROTA =SIMP(statut='f',typ=(fonction_sdaster,formule) ),
22010 b_constante =BLOC(condition="VITESSE_VARIABLE=='NON'",
22011 VITE_ROTA = SIMP(statut='o',typ='R',defaut=0.E0),
22014 b_reuse_harm =BLOC(condition = "reuse and TYPE_CALCUL == 'HARM'",fr="en mode concept reentrant : RESULTAT obligatoire",
22015 RESULTAT =SIMP(statut='o',typ=(dyna_harmo,harm_gene)),
22017 b_matr_harm =BLOC(condition="TYPE_CALCUL == 'HARM'",
22018 MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_pres_c,matr_asse_gene_r ) ),
22019 MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_pres_c
22020 ,matr_asse_gene_r,matr_asse_gene_c )),
22021 MATR_AMOR =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_pres_c,matr_asse_gene_r) ),
22022 MATR_IMPE_PHI =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ),
22025 AMOR_MODAL =FACT(statut='f',
22026 AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'),
22027 LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ),
22028 b_mode =BLOC(condition = "BASE_CALCUL == 'PHYS' and TYPE_CALCUL == 'TRAN'",
22029 MODE_MECA =SIMP(statut='o',typ=mode_meca ),
22030 NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ),
22033 #introduction parametres du calcul harmonique
22034 b_param_harm =BLOC(condition="TYPE_CALCUL == 'HARM'",
22035 regles=(UN_PARMI('FREQ','LIST_FREQ'),
22036 EXCLUS('NOM_CHAM','TOUT_CHAM')),
22037 FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
22038 LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ),
22039 NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,into=("DEPL","VITE","ACCE") ),
22040 TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",)),
22043 #parametrage des calculs transitoires
22044 b_tran = BLOC(condition = "TYPE_CALCUL == 'TRAN'",
22045 #parametrage des schemas d'integration
22046 SCHEMA_TEMPS =FACT(statut='d',
22047 SCHEMA =SIMP(statut='f',typ='TXM',defaut="NEWMARK",
22048 into=("NEWMARK","WILSON","ADAPT_ORDRE2","DIFF_CENTRE","ADAPT_ORDRE1","DEVOGE","EULER","ITMI","RUNGE_KUTTA_54","RUNGE_KUTTA_32"),),
22049 b_itmi =BLOC(condition = "SCHEMA == 'ITMI'",
22050 regles=(ENSEMBLE('BASE_ELAS_FLUI','NUME_VITE_FLUI'),),
22051 BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster ),
22052 NUME_VITE_FLUI =SIMP(statut='f',typ='I' ),
22053 ETAT_STAT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
22054 PREC_DUREE =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
22055 CHOC_FLUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
22056 NB_MODE =SIMP(statut='f',typ='I' ),
22057 NB_MODE_FLUI =SIMP(statut='f',typ='I' ),
22058 TS_REG_ETAB =SIMP(statut='f',typ='R' ),
22060 b_newmark =BLOC(condition = "SCHEMA == 'NEWMARK'",
22061 BETA =SIMP(statut='f',typ='R',defaut= 0.25 ),
22062 GAMMA =SIMP(statut='f',typ='R',defaut= 0.5 ),
22064 b_wilson =BLOC(condition = "SCHEMA == 'WILSON'",
22065 THETA =SIMP(statut='f',typ='R',defaut= 1.4 ),
22067 b_runge_kutta =BLOC(condition="SCHEMA=='RUNGE_KUTTA_54' or SCHEMA=='RUNGE_KUTTA_32'",
22068 TOLERANCE =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
22072 INCREMENT =FACT(statut='o',
22073 regles=(UN_PARMI('LIST_INST','PAS'),),
22074 LIST_INST =SIMP(statut='f',typ=listr8_sdaster ),
22075 PAS =SIMP(statut='f',typ='R' ),
22076 b_pas =BLOC(condition = "PAS != None",
22077 INST_INIT =SIMP(statut='f',typ='R' ),
22078 INST_FIN =SIMP(statut='o',typ='R' ),
22080 b_list =BLOC(condition = "LIST_INST != None",
22081 regles=(EXCLUS('INST_FIN','NUME_FIN'),),
22082 NUME_FIN =SIMP(statut='f',typ='I' ),
22083 INST_FIN =SIMP(statut='f',typ='R' ),
22085 b_veri_pas = BLOC(condition="BASE_CALCUL == 'GENE'",
22086 VERI_PAS =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
22087 PAS_MAXI =SIMP(statut='f',typ='R' ),
22089 VITE_MIN =SIMP(statut='f',typ='TXM',defaut="NORM",into=("MAXI","NORM") ),
22090 COEF_MULT_PAS =SIMP(statut='f',typ='R',defaut= 1.1 ),
22091 COEF_DIVI_PAS =SIMP(statut='f',typ='R',defaut= 1.3333334 ),
22092 PAS_LIMI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
22093 NB_POIN_PERIODE =SIMP(statut='f',typ='I',defaut= 50 ),
22094 NMAX_ITER_PAS =SIMP(statut='f',typ='I',defaut= 16 ),
22095 PAS_MINI =SIMP(statut='f',typ='R' ),
22098 #declaration de l'etat initial
22099 b_init_gene =BLOC(condition="BASE_CALCUL == 'GENE'",
22100 ETAT_INIT =FACT(statut='f',
22101 regles=(EXCLUS('RESULTAT','DEPL'),
22102 EXCLUS('RESULTAT','VITE'),),
22103 RESULTAT =SIMP(statut='f',typ=tran_gene),
22104 b_resu =BLOC(condition = "RESULTAT != NONE",
22105 regles=( EXCLUS('NUME_ORDRE','INST_INIT' ),),
22106 NUME_ORDRE =SIMP(statut='f',typ='I' ),
22107 INST_INIT =SIMP(statut='f',typ='R' ),
22108 b_inst_init =BLOC(condition = "INST_INIT != None",
22109 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
22110 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
22111 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),
22113 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
22114 PRECISION =SIMP(statut='o',typ='R',),
22118 DEPL =SIMP(statut='f',typ=vect_asse_gene),
22119 VITE =SIMP(statut='f',typ=vect_asse_gene),
22122 b_init_phys =BLOC(condition="BASE_CALCUL == 'PHYS'",
22123 ETAT_INIT =FACT(statut='f',
22124 regles=(AU_MOINS_UN('RESULTAT', 'DEPL', 'VITE', 'ACCE'),
22125 PRESENT_ABSENT('RESULTAT', 'DEPL', 'VITE', 'ACCE'),),
22126 RESULTAT =SIMP(statut='f',typ=dyna_trans),
22127 b_resu =BLOC(condition = "RESULTAT != NONE",
22128 regles=( EXCLUS('NUME_ORDRE','INST_INIT' ),),
22129 NUME_ORDRE =SIMP(statut='f',typ='I' ),
22130 INST_INIT =SIMP(statut='f',typ='R' ),
22131 b_inst_init =BLOC(condition = "INST_INIT != None",
22132 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
22133 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
22134 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),
22136 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
22137 PRECISION =SIMP(statut='o',typ='R',),
22141 DEPL =SIMP(statut='f',typ=cham_no_sdaster),
22142 VITE =SIMP(statut='f',typ=cham_no_sdaster),
22143 ACCE =SIMP(statut='f',typ=cham_no_sdaster),
22146 #parametres d'archivage
22147 bloc_archi =BLOC(condition="TYPE_CALCUL == 'TRAN'",
22148 ARCHIVAGE =FACT(statut='f',max=1,
22149 regles=(EXCLUS('LIST_INST','PAS_ARCH','INST'),),
22150 LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ),
22151 INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
22152 PAS_ARCH = SIMP(statut='f',typ='I' ),
22153 CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
22154 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
22155 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
22156 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
22157 PRECISION =SIMP(statut='o',typ='R',),),
22159 b_cham_exclu =BLOC(condition="BASE_CALCUL == 'PHYS'",
22160 CHAM_EXCLU =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","VITE","ACCE") ),
22164 #calcul des energies
22165 bloc_ener =BLOC(condition="TYPE_CALCUL == 'TRAN' and BASE_CALCUL == 'PHYS'",
22166 ENERGIE =FACT(statut='f',max=1,
22167 CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",),
22171 #definition du chargement
22172 b_excit_harm =BLOC(condition="TYPE_CALCUL == 'HARM'",
22173 EXCIT =FACT(statut='o',max='**',
22174 regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE','CHARGE'),
22175 UN_PARMI('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),
22177 VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster),
22178 VECT_ASSE_GENE =SIMP(statut='f',typ=vect_asse_gene),
22179 CHARGE =SIMP(statut='f', typ=char_meca ),
22180 FONC_MULT_C =SIMP(statut='f',typ=(fonction_c,formule_c) ),
22181 COEF_MULT_C =SIMP(statut='f',typ='C' ),
22182 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22183 COEF_MULT =SIMP(statut='f',typ='R' ),
22184 PHAS_DEG =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
22185 PUIS_PULS =SIMP(statut='f',typ='I',defaut= 0 ),
22188 EXCIT_RESU =FACT(statut='f',max='**',
22189 RESULTAT =SIMP(statut='o',typ=(dyna_harmo,harm_gene) ),
22190 COEF_MULT_C =SIMP(statut='o',typ='C' ),),
22193 b_excit_tran_mod=BLOC(condition="TYPE_CALCUL == 'TRAN' and BASE_CALCUL == 'GENE'",
22194 regles=(PRESENT_ABSENT('MODE_STAT','MODE_CORR'),),
22195 EXCIT =FACT(statut='f',max='**',
22196 regles=(UN_PARMI('FONC_MULT','COEF_MULT','ACCE'),
22197 UN_PARMI('VECT_ASSE_GENE','NUME_ORDRE',),
22198 PRESENT_PRESENT('ACCE','VITE','DEPL'),
22199 EXCLUS('MULT_APPUI','CORR_STAT'),
22200 PRESENT_PRESENT('MULT_APPUI','ACCE'),
22202 VECT_ASSE_GENE =SIMP(statut='f',typ=vect_asse_gene ),
22203 NUME_ORDRE =SIMP(statut='f',typ='I' ),
22204 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22205 COEF_MULT =SIMP(statut='f',typ='R' ),
22206 ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22207 VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22208 DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22209 MULT_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ),
22210 b_mult_appui =BLOC(condition = "MULT_APPUI == 'OUI'",
22211 regles=(EXCLUS('NOEUD','GROUP_NO'),),
22212 DIRECTION =SIMP(statut='f',typ='R',max='**'),
22213 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
22214 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
22216 CORR_STAT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
22217 b_corr_stat =BLOC(condition = "CORR_STAT == 'OUI'",
22218 D_FONC_DT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22219 D_FONC_DT2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22222 MODE_STAT =SIMP(statut='f',typ=mode_meca ),
22223 MODE_CORR =SIMP(statut='f',typ=(mult_elas,mode_meca),),
22225 EXCIT_RESU =FACT(statut='f',max='**',
22226 RESULTAT =SIMP(statut='o',typ=tran_gene ),
22227 COEF_MULT =SIMP(statut='f',typ='R',defaut=1.0 ),
22231 b_excit_line_tran =BLOC(condition="TYPE_CALCUL == 'TRAN' and BASE_CALCUL == 'PHYS'",
22232 EXCIT =FACT(statut='f',max='**',
22233 regles=(UN_PARMI('CHARGE','VECT_ASSE'),
22234 EXCLUS('CHARGE','COEF_MULT'),
22235 EXCLUS('FONC_MULT','COEF_MULT'),
22236 EXCLUS('ACCE','COEF_MULT'),
22237 PRESENT_ABSENT('ACCE','FONC_MULT'),
22238 PRESENT_PRESENT('ACCE','VITE','DEPL'),
22240 VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster),
22241 CHARGE =SIMP(statut='f',typ=char_meca ),
22242 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22243 COEF_MULT =SIMP(statut='f',typ='R' ),
22244 ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22245 VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22246 DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22247 MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
22248 b_mult_appui =BLOC(condition = "MULT_APPUI == 'OUI'",
22249 regles=(EXCLUS('NOEUD','GROUP_NO'),),
22250 DIRECTION =SIMP(statut='f',typ='R',max='**'),
22251 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
22252 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
22255 MODE_STAT =SIMP(statut='f',typ=mode_meca ),
22256 EXCIT_RESU =FACT(statut='f',
22257 RESULTAT =SIMP(statut='o',typ=dyna_trans ),
22258 COEF_MULT =SIMP(statut='o',typ='R' ),
22262 #definition des chocs
22263 b_non_line_loca =BLOC(condition="TYPE_CALCUL == 'TRAN' and BASE_CALCUL=='GENE'",
22264 CHOC =FACT(statut='f',max='**',
22265 regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD_1','GROUP_NO_1' ),
22266 EXCLUS('NOEUD_2','GROUP_NO_2'),
22267 PRESENT_ABSENT('GROUP_MA','NOEUD_2','GROUP_NO_2'),
22268 PRESENT_ABSENT('MAILLE','NOEUD_2','GROUP_NO_2'),),
22269 INTITULE =SIMP(statut='f',typ='TXM' ),
22270 GROUP_MA =SIMP(statut='f',typ=grma,max='**'),
22271 MAILLE =SIMP(statut='f',typ=ma,max='**'),
22272 NOEUD_1 =SIMP(statut='f',typ=no),
22273 NOEUD_2 =SIMP(statut='f',typ=no),
22274 GROUP_NO_1 =SIMP(statut='f',typ=grno),
22275 GROUP_NO_2 =SIMP(statut='f',typ=grno),
22276 OBSTACLE =SIMP(statut='o',typ=table_fonction),
22277 ORIG_OBST =SIMP(statut='f',typ='R',min=3,max=3),
22278 NORM_OBST =SIMP(statut='o',typ='R',min=3,max=3),
22279 ANGL_VRIL =SIMP(statut='f',typ='R' ),
22280 JEU =SIMP(statut='f',typ='R',defaut= 1. ),
22281 DIST_1 =SIMP(statut='f',typ='R',val_min=0.E+0 ),
22282 DIST_2 =SIMP(statut='f',typ='R',val_min=0.E+0 ),
22283 SOUS_STRUC_1 =SIMP(statut='f',typ='TXM' ),
22284 SOUS_STRUC_2 =SIMP(statut='f',typ='TXM' ),
22285 REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL"),
22286 RIGI_NOR =SIMP(statut='f',typ='R' ),
22287 AMOR_NOR =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
22288 RIGI_TAN =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
22289 AMOR_TAN =SIMP(statut='f',typ='R' ),
22290 FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","COULOMB","COULOMB_STAT_DYNA") ),
22291 b_coulomb =BLOC(condition="FROTTEMENT=='COULOMB'",
22292 COULOMB =SIMP(statut='o',typ='R' ),),
22293 b_coulomb_stat_dyna =BLOC(condition="FROTTEMENT=='COULOMB_STAT_DYNA'",
22294 COULOMB_STAT =SIMP(statut='o',typ='R' ),
22295 COULOMB_DYNA =SIMP(statut='o',typ='R' ),),
22297 VERI_CHOC =FACT(statut='f',
22298 STOP_CRITERE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
22299 SEUIL =SIMP(statut='f',typ='R',defaut= 0.5 ),
22302 ROTOR_FISS = FACT(statut='f',max='**',
22303 regles=(UN_PARMI('NOEUD_D','GROUP_NO_D'),
22304 EXCLUS('NOEUD_G','GROUP_NO_G'),
22305 PRESENT_PRESENT('NOEUD_D','NOEUD_G'),
22306 PRESENT_PRESENT('GROUP_NO_D','GROUP_NO_G',),),
22307 ANGL_INIT = SIMP(statut='o',typ='R',defaut=0.E0),
22308 ANGL_ROTA = SIMP(statut='f',typ=(fonction_sdaster,formule) ),
22309 NOEUD_G = SIMP(statut='f',typ=no),
22310 NOEUD_D = SIMP(statut='f',typ=no),
22311 GROUP_NO_G = SIMP(statut='f',typ=grno),
22312 GROUP_NO_D = SIMP(statut='f',typ=grno),
22313 K_PHI = SIMP(statut='o',typ=(fonction_sdaster,formule) ),
22314 DK_DPHI = SIMP(statut='o',typ=(fonction_sdaster,formule) ),
22317 #parametres flambage
22318 FLAMBAGE =FACT(statut='f',max='**',
22319 regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'),
22320 EXCLUS('NOEUD_2','GROUP_NO_2'),),
22321 NOEUD_1 =SIMP(statut='f',typ=no),
22322 NOEUD_2 =SIMP(statut='f',typ=no),
22323 GROUP_NO_1 =SIMP(statut='f',typ=grno),
22324 GROUP_NO_2 =SIMP(statut='f',typ=grno),
22325 OBSTACLE =SIMP(statut='o',typ=table_fonction),
22326 ORIG_OBST =SIMP(statut='f',typ='R',max='**'),
22327 NORM_OBST =SIMP(statut='o',typ='R',max='**'),
22328 ANGL_VRIL =SIMP(statut='f',typ='R' ),
22329 JEU =SIMP(statut='f',typ='R',defaut= 1. ),
22330 DIST_1 =SIMP(statut='f',typ='R' ),
22331 DIST_2 =SIMP(statut='f',typ='R' ),
22332 REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL"),
22333 RIGI_NOR =SIMP(statut='f',typ='R' ),
22334 FNOR_CRIT =SIMP(statut='f',typ='R' ),
22335 FNOR_POST_FL =SIMP(statut='f',typ='R' ),
22336 RIGI_NOR_POST_FL=SIMP(statut='f',typ='R' ),
22339 #non-linearite si dispositif anti-sismique
22340 ANTI_SISM =FACT(statut='f',max='**',
22341 regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'),
22342 UN_PARMI('NOEUD_2','GROUP_NO_2'),),
22343 NOEUD_1 =SIMP(statut='f',typ=no),
22344 NOEUD_2 =SIMP(statut='f',typ=no),
22345 GROUP_NO_1 =SIMP(statut='f',typ=grno),
22346 GROUP_NO_2 =SIMP(statut='f',typ=grno),
22347 RIGI_K1 =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
22348 RIGI_K2 =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
22349 SEUIL_FX =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
22350 C =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
22351 PUIS_ALPHA =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
22352 DX_MAX =SIMP(statut='f',typ='R',defaut= 1. ),
22354 #non-linearite effort-deplacement
22355 RELA_EFFO_DEPL =FACT(statut='f',max='**',
22356 NOEUD =SIMP(statut='o',typ=no),
22357 SOUS_STRUC =SIMP(statut='f',typ='TXM' ),
22358 NOM_CMP =SIMP(statut='f',typ='TXM' ),
22359 RELATION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22361 #non-linearite effort-vitesse
22362 RELA_EFFO_VITE =FACT(statut='f',max='**',
22363 NOEUD =SIMP(statut='o',typ=no),
22364 SOUS_STRUC =SIMP(statut='f',typ='TXM' ),
22365 NOM_CMP =SIMP(statut='f',typ='TXM' ),
22366 RELATION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ),
22369 #-------------------------------------------------------------------
22370 # Catalogue commun SOLVEUR
22371 b_solv_harm_gene =BLOC(condition = "BASE_CALCUL=='GENE' and TYPE_CALCUL=='HARM'",
22372 fr="Methode de resolution matrice generalisee",
22373 SOLVEUR =C_SOLVEUR('DYNA_LINE_HARM','GENE'),
22375 b_solv_harm_phys =BLOC(condition = "BASE_CALCUL=='PHYS' and TYPE_CALCUL=='HARM'",
22376 fr="Methode de resolution matrice sur ddl physique",
22377 SOLVEUR =C_SOLVEUR('DYNA_LINE_HARM','PHYS'),
22379 b_solv_line_tran =BLOC(condition = "BASE_CALCUL=='PHYS' and TYPE_CALCUL=='TRAN'",
22380 SOLVEUR =C_SOLVEUR('DYNA_LINE_TRAN'),
22382 b_solv_tran_gene =BLOC(condition = "BASE_CALCUL=='GENE' and TYPE_CALCUL=='TRAN'",
22383 SOLVEUR =C_SOLVEUR('DYNA_TRAN_MODAL'),
22385 #-------------------------------------------------------------------
22386 TITRE =SIMP(statut='f',typ='TXM',max='**'),
22387 INFO =SIMP(statut='f',typ='I',into=(1,2) ),
22388 b_impression = BLOC(condition = "BASE_CALCUL=='GENE' and TYPE_CALCUL=='TRAN'",
22389 IMPRESSION =FACT(statut='f',
22390 regles=(EXCLUS('TOUT','NIVEAU'),),
22391 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
22392 NIVEAU =SIMP(statut='f',typ='TXM',into=("DEPL_LOC","VITE_LOC","FORC_LOC","TAUX_CHOC") ),
22393 INST_INIT =SIMP(statut='f',typ='R' ),
22394 INST_FIN =SIMP(statut='f',typ='R' ),
22399 # ======================================================================
22400 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
22401 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
22402 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
22403 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
22404 # (AT YOUR OPTION) ANY LATER VERSION.
22406 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
22407 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
22408 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
22409 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
22411 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
22412 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
22413 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
22414 # ======================================================================
22415 # person_in_charge: jacques.pellet at edf.fr
22417 def elim_lagr_prod(MATR_RIGI,**args):
22418 if AsType(MATR_RIGI) == matr_asse_depl_r : return matr_asse_depl_r
22419 raise AsException("type de concept resultat non prevu")
22421 ELIM_LAGR=OPER(nom="ELIM_LAGR",op=69,sd_prod=elim_lagr_prod,
22422 fr="Créer une matrice en ayant éliminé les condition cinématiques dualisées.",
22423 reentrant='f', UIinfo={"groupes":("Résolution",)},
22425 # Matrice de "rigidité" (celle qui contient les équations dualisées) :
22426 MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,) ),
22428 # Matrice à réduire (si ce n'est pas la matrice de rigidité) :
22429 MATR_ASSE =SIMP(statut='f',typ=(matr_asse_depl_r,) ),
22432 INFO =SIMP(statut='f',typ='I',into=(1,2) ),
22435 # ======================================================================
22436 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
22437 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
22438 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
22439 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
22440 # (AT YOUR OPTION) ANY LATER VERSION.
22442 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
22443 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
22444 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
22445 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
22447 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
22448 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
22449 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
22450 # ======================================================================
22451 # person_in_charge: jacques.pellet at edf.fr
22452 ENGENDRE_TEST=PROC(nom="ENGENDRE_TEST",op=178,
22453 UIinfo={"groupes":("Impression","Utilitaires",)},
22454 fr="Engendre des tests pour la non régression du code (pour développeurs)",
22455 UNITE =SIMP(statut='f',typ='I',defaut=8),
22456 FORMAT =SIMP(statut='f',typ='TXM',into=("OBJET",) ),
22457 FORMAT_R =SIMP(statut='f',typ='TXM',defaut="1PE20.13"),
22458 PREC_R =SIMP(statut='f',typ='TXM',defaut="1.E-10"),
22459 #============================================================================
22460 b_aster =BLOC( condition = "FORMAT==None",
22461 CO =SIMP(statut='o',typ=(cham_gd_sdaster,resultat_sdaster,table_sdaster),
22462 validators=NoRepeat(),max='**'),
22463 TYPE_TEST =SIMP(statut='f',typ='TXM',defaut="SOMM_ABS",into=("SOMME","SOMM_ABS","MAX","MIN") ),
22465 #============================================================================
22466 b_objet =BLOC( condition = "FORMAT=='OBJET'",
22467 regles=(UN_PARMI('TOUT','CO'),),
22468 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
22469 CO =SIMP(statut='f',typ=assd,validators=NoRepeat(),max='**'),
22470 TYPE_TEST =SIMP(statut='f',typ='TXM',defaut="SOMME",into=("SOMME",) ),
22474 # ======================================================================
22475 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
22476 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
22477 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
22478 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
22479 # (AT YOUR OPTION) ANY LATER VERSION.
22481 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
22482 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
22483 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
22484 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
22486 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
22487 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
22488 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
22489 # ======================================================================
22490 # person_in_charge: nicolas.greffet at edf.fr
22492 # ENVOI DES CHAMPS CINEMATIQUES VIA YACS POUR COUPLAGE IFS
22494 ENV_CINE_YACS=PROC(nom = "ENV_CINE_YACS",
22496 UIinfo = {"groupes":("Résultats et champs",)},
22497 fr = "Envoi des champs de deplacement et vitesse via YACS pour Couplage de Code_Aster et Saturne",
22498 regles = (EXCLUS('ETAT_INIT','RESULTAT',),),
22499 MATR_PROJECTION = SIMP(statut='o', typ=corresp_2_mailla,),
22500 VIS_A_VIS = FACT(statut='o', max='**',
22501 GROUP_MA_1=SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
22502 GROUP_NO_2=SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),),
22503 RESULTAT = FACT(statut='f',
22504 NUME_ORDRE=SIMP(statut='o', typ='I', validators=NoRepeat()),
22505 RESU =SIMP(statut='o', typ=resultat_sdaster, validators=NoRepeat()),),
22506 ETAT_INIT = FACT(statut='f',
22507 DEPL=SIMP(statut='f', typ=cham_no_sdaster, validators=NoRepeat()),
22508 VITE=SIMP(statut='f', typ=cham_no_sdaster, validators=NoRepeat()),
22509 ACCE=SIMP(statut='f', typ=cham_no_sdaster, validators=NoRepeat()),),
22510 INST = SIMP(statut='o',typ='R', ),
22511 PAS = SIMP(statut='o',typ='R', ),
22512 NUME_ORDRE_YACS = SIMP(statut='o', typ='I',),
22513 INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
22516 # ======================================================================
22517 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
22518 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
22519 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
22520 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
22521 # (AT YOUR OPTION) ANY LATER VERSION.
22523 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
22524 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
22525 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
22526 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
22528 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
22529 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
22530 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
22531 # ======================================================================
22532 # person_in_charge: j-pierre.lefebvre at edf.fr
22534 def exec_logiciel_prod(self, MAILLAGE, **args):
22535 if MAILLAGE != None:
22537 self.type_sdprod(mcf['MAILLAGE'], maillage_sdaster)
22540 EXEC_LOGICIEL = MACRO(nom="EXEC_LOGICIEL",
22541 op=OPS('Macro.exec_logiciel_ops.exec_logiciel_ops'),
22542 sd_prod=exec_logiciel_prod,
22543 fr="Exécute un logiciel ou une commande système depuis Aster",
22544 UIinfo={"groupes":("Gestion du travail","Outils-métier",)},
22546 regles = ( AU_MOINS_UN('LOGICIEL', 'MAILLAGE', 'SALOME'),
22547 EXCLUS('MACHINE_DISTANTE','MAILLAGE'),
22548 EXCLUS('MAILLAGE','SALOME'),
22551 LOGICIEL = SIMP(statut='f', typ='TXM'),
22552 ARGUMENT = SIMP(statut='f', max='**', typ='TXM'),
22555 MACHINE_DISTANTE = FACT(statut='f',
22556 SSH_ADRESSE = SIMP(statut='o', typ='TXM', val_min=1, val_max=255,
22557 fr="Adresse IP ou nom de la machine sur laquelle le logiciel/script sera exécuté via SSH"),
22558 SSH_LOGIN = SIMP(statut='f', typ='TXM', val_min=1, val_max=255,
22559 fr="Nom d'utilisateur sur la machine distante"),
22560 SSH_PORT = SIMP(statut='f', typ='I', val_min=1, val_max=65535, defaut=22,
22561 fr="Port SSH de la machien distante"),
22565 MAILLAGE = FACT(statut='f',
22566 FORMAT = SIMP(statut='o', typ='TXM', into=("GMSH", "GIBI", "SALOME")),
22567 UNITE_GEOM = SIMP(statut='f', typ='I', val_min=10, val_max=90, defaut=16,
22568 fr="Unité logique définissant le fichier (fort.N) contenant les données géométriques (datg)"),
22569 UNITE = SIMP(statut='f', typ='I', val_min=10, val_max=90, defaut=19,
22570 fr="Unité logique définissant le fichier (fort.N) produit par le mailleur"),
22571 MAILLAGE = SIMP(statut='o', typ=CO),
22575 SALOME = FACT(statut='f',
22576 regles=(UN_PARMI('CHEMIN_SCRIPT', 'UNITE_SCRIPT'),
22577 PRESENT_PRESENT('NOM_PARA','VALE'),),
22578 CHEMIN_SCRIPT = SIMP(statut='f', typ='TXM',
22579 fr="Chemin du script Salome"),
22580 UNITE_SCRIPT = SIMP(statut='f', typ='I', val_min=80, val_max=99,
22581 fr="Unité logique du script Salome"),
22582 SALOME_HOST = SIMP(statut='f', typ='TXM', defaut='localhost',
22583 fr="Machine sur laquelle tourne Salome"),
22584 SALOME_PORT = SIMP(statut='f', typ='I', val_min=2800, val_max=2900, defaut=2810,
22585 fr="Port de l'instance Salome (2810 ou supérieur)"),
22586 SALOME_RUNAPPLI = SIMP(statut='f', typ='TXM',
22587 fr="Chemin vers le script de lancement runAppli de Salome"),
22588 FICHIERS_ENTREE = SIMP(statut='f', typ='TXM', validators=NoRepeat(),max='**',
22589 fr="Liste des fichiers d'entrée du script Salome"),
22590 FICHIERS_SORTIE = SIMP(statut='f', typ='TXM', validators=NoRepeat(),max='**',
22591 fr="Liste des fichiers générés par le script Salome"),
22592 NOM_PARA = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(),
22593 fr="Liste des noms des paramètres à modifier dans le script Salome"),
22594 VALE = SIMP(statut='f',typ='TXM',max='**',
22595 fr="Valeur des paramètres à) modifier dans le script Salome"),
22598 CODE_RETOUR_MAXI = SIMP(statut='f', typ='I', defaut=0, val_min=-1,
22599 fr="Valeur maximale du code retour toléré (-1 pour l'ignorer)"),
22601 INFO = SIMP(statut='f', typ='I', defaut=2, into=(1,2),),
22604 # ======================================================================
22605 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
22606 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
22607 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
22608 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
22609 # (AT YOUR OPTION) ANY LATER VERSION.
22611 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
22612 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
22613 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
22614 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
22616 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
22617 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
22618 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
22619 # ======================================================================
22620 # person_in_charge: nicolas.brie at edf.fr
22622 def extr_mode_prod(FILTRE_MODE,**args):
22623 vale=FILTRE_MODE[0]['MODE']
22624 if AsType(vale) == mode_meca : return mode_meca
22625 if AsType(vale) == mode_meca_c : return mode_meca_c
22626 if AsType(vale) == mode_gene : return mode_gene
22627 raise AsException("type de concept resultat non prevu")
22629 EXTR_MODE=OPER(nom="EXTR_MODE",op= 168,sd_prod=extr_mode_prod,
22630 reentrant='n',fr="Extraire séléctivement des modes des structures de données modales",
22631 UIinfo={"groupes":("Résolution","Dynamique",)},
22632 FILTRE_MODE =FACT(statut='o',max='**',
22633 regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','NUME_MODE','NUME_MODE_EXCLU','FREQ_MIN','CRIT_EXTR',),),
22634 MODE =SIMP(statut='o',typ=(mode_meca,mode_meca_c,mode_gene ) ),
22635 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
22636 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
22637 NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
22638 NUME_MODE_EXCLU =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
22639 FREQ_MIN =SIMP(statut='f',typ='R' ),
22640 CRIT_EXTR =SIMP(statut='f',typ='TXM',into=("MASS_EFFE_UN","MASS_GENE") ),
22641 b_freq_min =BLOC(condition = "FREQ_MIN != None",
22642 FREQ_MAX =SIMP(statut='o',typ='R' ),
22643 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
22645 b_crit_extr =BLOC(condition = "CRIT_EXTR != None",
22646 regles=(AU_MOINS_UN('SEUIL','SEUIL_X','SEUIL_Y','SEUIL_Z'),),
22647 SEUIL =SIMP(statut='f',typ='R'),
22648 SEUIL_X =SIMP(statut='f',typ='R'),
22649 SEUIL_Y =SIMP(statut='f',typ='R'),
22650 SEUIL_Z =SIMP(statut='f',typ='R'),
22653 TITRE =SIMP(statut='f',typ='TXM',max='**'),
22654 IMPRESSION =FACT(statut='f',
22655 CUMUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
22656 CRIT_EXTR =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",into=("MASS_EFFE_UN","MASS_GENE") ),
22660 # ======================================================================
22661 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
22662 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
22663 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
22664 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
22665 # (AT YOUR OPTION) ANY LATER VERSION.
22667 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
22668 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
22669 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
22670 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
22672 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
22673 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
22674 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
22675 # ======================================================================
22676 # person_in_charge: j-pierre.lefebvre at edf.fr
22678 def extr_resu_prod(RESULTAT,**args):
22679 if AsType(RESULTAT) == evol_elas : return evol_elas
22680 if AsType(RESULTAT) == evol_noli : return evol_noli
22681 if AsType(RESULTAT) == evol_ther : return evol_ther
22682 if AsType(RESULTAT) == evol_varc : return evol_varc
22683 if AsType(RESULTAT) == dyna_trans : return dyna_trans
22684 if AsType(RESULTAT) == dyna_harmo : return dyna_harmo
22685 if AsType(RESULTAT) == acou_harmo : return acou_harmo
22686 if AsType(RESULTAT) == mode_meca : return mode_meca
22687 if AsType(RESULTAT) == mode_acou : return mode_acou
22688 if AsType(RESULTAT) == mult_elas : return mult_elas
22689 if AsType(RESULTAT) == fourier_elas : return fourier_elas
22691 raise AsException("type de concept resultat non prevu")
22693 EXTR_RESU=OPER(nom="EXTR_RESU",op=176,sd_prod=extr_resu_prod,reentrant='f',
22694 UIinfo={"groupes":("Résultats et champs",)},
22695 fr="Extraire des champs au sein d'une SD Résultat",
22696 RESULTAT =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,acou_harmo,mode_meca,
22697 mode_acou,evol_ther,evol_noli,evol_varc,
22698 mult_elas,fourier_elas,fourier_ther ) ),
22701 ARCHIVAGE =FACT(statut='f',
22702 regles=( UN_PARMI('NUME_ORDRE', 'INST', 'FREQ', 'NUME_MODE',
22703 'NOEUD_CMP', 'LIST_INST', 'LIST_FREQ', 'LIST_ORDRE',
22704 'NOM_CAS', 'LIST_ARCH', 'PAS_ARCH' ),
22705 EXCLUS( 'CHAM_EXCLU','NOM_CHAM' ), ),
22706 CHAM_EXCLU =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
22707 NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO()),
22708 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
22709 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
22710 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
22711 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
22712 PRECISION =SIMP(statut='o',typ='R',),),
22713 LIST_ARCH =SIMP(statut='f',typ=listis_sdaster),
22714 PAS_ARCH =SIMP(statut='f',typ='I'),
22715 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
22716 LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster),
22717 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
22718 LIST_INST =SIMP(statut='f',typ=listr8_sdaster),
22719 FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
22720 LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster),
22721 NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
22722 NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
22723 NOM_CAS =SIMP(statut='f',typ='TXM'),
22726 RESTREINT =FACT(statut='f', max=1,
22727 fr="Pour réduire une ou plusieurs sd_resultat sur un maillage ou un modèle réduit",
22728 regles=(UN_PARMI('MAILLAGE','MODELE'),),
22729 MAILLAGE =SIMP(statut='f',typ=maillage_sdaster),
22730 MODELE =SIMP(statut='f',typ=modele_sdaster),
22733 TITRE =SIMP(statut='f',typ='TXM',max='**' ),
22736 # ======================================================================
22737 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
22738 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
22739 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
22740 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
22741 # (AT YOUR OPTION) ANY LATER VERSION.
22743 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
22744 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
22745 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
22746 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
22748 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
22749 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
22750 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
22751 # ======================================================================
22752 # person_in_charge: mathieu.courtois at edf.fr
22754 def extr_table_prod(TYPE_RESU,**args):
22756 typ = TYPE_RESU.lower()
22757 if defs.get(typ) is not None:
22759 raise AsException("type de concept resultat non prevu")
22761 EXTR_TABLE=OPER(nom="EXTR_TABLE",
22763 sd_prod=extr_table_prod,
22765 UIinfo={"groupes":("Résultats et champs","Tables")},
22766 fr="Extraire d'une table des concepts Code_Aster",
22767 TYPE_RESU =SIMP(statut='o',typ='TXM',
22768 into=('MATR_ASSE_GENE_R', 'MATR_ELEM_DEPL_R',
22769 'VECT_ELEM_DEPL_R',
22770 'CHAM_GD_SDASTER', 'CHAM_NO_SDASTER',
22771 'CARTE_SDASTER', 'CHAM_ELEM',
22772 'MODE_MECA','TABLE_SDASTER',
22773 'FONCTION_SDASTER', 'FONCTION_C', 'NAPPE_SDASTER',
22774 'ENTIER', 'REEL'),),
22776 TABLE =SIMP(statut='o',typ=(table_sdaster,table_container)),
22778 NOM_PARA =SIMP(statut='o',typ='TXM'),
22780 FILTRE =FACT(statut='f',min=1,max='**',
22781 NOM_PARA =SIMP(statut='o',typ='TXM'),
22782 CRIT_COMP =SIMP(statut='f',typ='TXM',defaut="EQ",
22783 into=("EQ","LT","GT","NE","LE","GE","VIDE",
22784 "NON_VIDE","MAXI","MAXI_ABS","MINI","MINI_ABS") ),
22785 b_vale =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
22786 regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
22787 VALE =SIMP(statut='f',typ='R'),
22788 VALE_I =SIMP(statut='f',typ='I'),
22789 VALE_C =SIMP(statut='f',typ='C'),
22790 VALE_K =SIMP(statut='f',typ='TXM'),),
22792 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
22793 PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
22796 TITRE =SIMP(statut='f',typ='TXM',max='**' ),
22799 # ======================================================================
22800 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
22801 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
22802 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
22803 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
22804 # (AT YOUR OPTION) ANY LATER VERSION.
22806 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
22807 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
22808 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
22809 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
22811 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
22812 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
22813 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
22814 # ======================================================================
22815 # person_in_charge: jacques.pellet at edf.fr
22817 def factoriser_prod(MATR_ASSE,**args):
22818 if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_depl_r
22819 if AsType(MATR_ASSE) == matr_asse_depl_c : return matr_asse_depl_c
22820 if AsType(MATR_ASSE) == matr_asse_temp_r : return matr_asse_temp_r
22821 if AsType(MATR_ASSE) == matr_asse_temp_c : return matr_asse_temp_c
22822 if AsType(MATR_ASSE) == matr_asse_pres_r : return matr_asse_pres_r
22823 if AsType(MATR_ASSE) == matr_asse_pres_c : return matr_asse_pres_c
22824 raise AsException("type de concept resultat non prevu")
22826 FACTORISER=OPER(nom="FACTORISER",op=14,sd_prod=factoriser_prod,
22827 fr="Factoriser une matrice assemblée en un produit de deux matrices triangulaires"+
22828 "ou construire une matrice de préconditionnement pour une résolution par gradient conjugué",
22829 reentrant='f', UIinfo={"groupes":("Résolution",)},
22830 regles=(EXCLUS('BLOC_DEBUT','DDL_DEBUT'),
22831 EXCLUS('BLOC_FIN','DDL_FIN'),),
22832 MATR_ASSE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,
22833 matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ),
22835 # mots clés pour solveur LDLT et MULT_FRONT et MUMPS:
22836 STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
22837 NPREC =SIMP(statut='f',typ='I',defaut=8),
22839 # mots clés pour solveur LDLT :
22840 BLOC_DEBUT =SIMP(statut='f',typ='I',val_min=1,),
22841 DDL_DEBUT =SIMP(statut='f',typ='I',val_min=1,),
22842 BLOC_FIN =SIMP(statut='f',typ='I',val_min=1,),
22843 DDL_FIN =SIMP(statut='f',typ='I',val_min=1,),
22845 # mots clés pour solveur MUMPS :
22846 TYPE_RESOL =SIMP(statut='f',typ='TXM',defaut='AUTO',into=('NONSYM','SYMGEN','SYMDEF','AUTO')),
22847 PRETRAITEMENTS =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("SANS","AUTO")),
22848 PCENT_PIVOT =SIMP(statut='f',typ='I',defaut=20,),
22849 ELIM_LAGR =SIMP(statut='f',typ='TXM',defaut="LAGR2",into=("LAGR2","NON")),
22850 GESTION_MEMOIRE =SIMP(statut='f',typ='TXM',defaut="IN_CORE",into=("IN_CORE","OUT_OF_CORE","EVAL")),
22852 # mots clés pour solveur GCPC et PETSc :
22853 PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC","JACOBI","SOR","LDLT_SP"),defaut="LDLT_INC" ),
22854 b_ldlt_inc =BLOC(condition = "PRE_COND == 'LDLT_INC' ",
22855 NIVE_REMPLISSAGE = SIMP(statut='f',typ='I',defaut= 0 ),
22856 REMPLISSAGE = SIMP(statut='f',typ='R',defaut= 1.0),
22858 b_ldlt_sp =BLOC(condition = "PRE_COND == 'LDLT_SP' ", fr="Paramètres de la factorisation simple précision",
22859 REAC_PRECOND =SIMP(statut='f',typ='I',defaut=30, ),
22861 b_jacobi_sor =BLOC(condition = "PRE_COND == 'JACOBI' or PRE_COND == 'SOR'",
22862 fr="Paramètres des préconditionneurs JACOBI et SOR",
22863 RENUM =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","RCMK") ),
22866 TITRE =SIMP(statut='f',typ='TXM',max='**'),
22867 INFO =SIMP(statut='f',typ='I',into=(1,2) ),
22870 # ======================================================================
22871 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
22872 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
22873 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
22874 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
22875 # (AT YOUR OPTION) ANY LATER VERSION.
22877 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
22878 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
22879 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
22880 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
22882 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
22883 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
22884 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
22885 # ======================================================================
22886 # person_in_charge: j-pierre.lefebvre at edf.fr
22887 FIN=PROC(nom="FIN",op=9999,repetable='n',fr="Fin d'une étude, fin du travail engagé par une des commandes DEBUT ou POURSUITE",
22888 UIinfo={"groupes":("Gestion du travail",)},
22890 # FIN est appelé prématurément en cas d'exception ("SIGUSR1", ArretCPUError,
22891 # NonConvergenceError..., erreurs <S> ou erreurs <F> récupérées).
22892 # En cas d'ArretCPUError, on limite au maximum le travail à faire dans FIN.
22893 # Pour cela, on force certains mots-clés dans Execution/E_JDC.py.
22895 FORMAT_HDF =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f',
22896 typ='TXM',defaut="NON",into=("OUI","NON",) ),
22897 RETASSAGE =SIMP(fr="provoque le retassage de la base GLOBALE",
22898 statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
22899 INFO_RESU =SIMP(fr="provoque l'impression des informations sur les structures de données",
22900 statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ),
22901 UNITE =SIMP(statut='f',typ='I',defaut=6),
22904 # ======================================================================
22905 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
22906 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
22907 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
22908 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
22909 # (AT YOUR OPTION) ANY LATER VERSION.
22911 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
22912 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
22913 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
22914 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
22916 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
22917 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
22918 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
22919 # ======================================================================
22920 # person_in_charge: andre.adobes at edf.fr
22921 FONC_FLUI_STRU=OPER(nom="FONC_FLUI_STRU",op= 169,sd_prod=fonction_sdaster,
22922 reentrant='n',fr="Crée une fonction constante paramétrée par l'abscisse curviligne",
22923 UIinfo={"groupes":("Fonctions",)},
22924 TYPE_FLUI_STRU =SIMP(statut='o',typ=(type_flui_stru) ),
22927 # ======================================================================
22928 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
22929 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
22930 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
22931 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
22932 # (AT YOUR OPTION) ANY LATER VERSION.
22934 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
22935 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
22936 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
22937 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
22939 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
22940 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
22941 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
22942 # ======================================================================
22943 # person_in_charge: mathieu.courtois at edf.fr
22944 def formule_prod(self, VALE, VALE_C, **args):
22947 elif VALE_C != None:
22950 FORMULE=FORM(nom="FORMULE",
22951 op_init=ops.build_formule,
22953 sd_prod=formule_prod,
22954 UIinfo={"groupes":("Fonctions",)},
22955 fr="Définit une formule réelle ou complexe à partir de son expression mathématique",
22956 regles = (UN_PARMI('VALE', 'VALE_C',),),
22957 VALE = SIMP(statut='f', typ='TXM'),
22958 VALE_C = SIMP(statut='f', typ='TXM'),
22959 NOM_PARA = SIMP(statut='o', typ='TXM', max='**'),
22962 # ======================================================================
22963 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
22964 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
22965 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
22966 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
22967 # (AT YOUR OPTION) ANY LATER VERSION.
22969 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
22970 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
22971 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
22972 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
22974 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
22975 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
22976 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
22977 # ======================================================================
22978 # person_in_charge: irmela.zentner at edf.fr
22979 GENE_ACCE_SEISME=MACRO(nom="GENE_ACCE_SEISME",
22980 op=OPS('Macro.gene_acce_seisme_ops.gene_acce_seisme_ops'),
22981 sd_prod=table_fonction,
22982 fr="Generation d'accelerogrammes sismiques ",
22984 UIinfo={"groupes":("Fonctions","Dynamique",)},
22986 INIT_ALEA =SIMP(statut='f',typ='I'),
22987 TITRE =SIMP(statut='f',typ='TXM',max='**'),
22988 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
22989 PAS_INST =SIMP(statut='o',typ='R' ),
22990 NB_POIN =SIMP(statut='f',typ='I',fr="nombre de points" ),
22991 PESANTEUR =SIMP(statut='o', typ='R', fr="constante de normalisation de ACCE_MAX, ECART_TYPE et INTE_ARIAS (g) ou le spectre" ),
22992 DUREE_PHASE_FORTE =SIMP(statut='o',typ='R',fr="durée phase forte du signal" ),
22993 NB_TIRAGE =SIMP(statut='f',typ='I',defaut= 1,fr="nombre accelerogrammes" ),
22994 FREQ_FILTRE =SIMP(statut='f',typ='R',fr="frequence du filtre: corner frequency"),
22996 DSP = FACT(statut='f',max=1,
22997 AMOR_REDUIT =SIMP(statut='o',typ='R'),
22998 FREQ_FOND =SIMP(statut='o',typ='R', fr="frequence centrale"),
22999 FREQ_PENTE =SIMP(statut='f',typ='R', fr="pente pour l'evolution de la frequence centrale"),
23001 SPEC_MEDIANE = FACT(statut='f',max=1,
23002 regles=(ENSEMBLE('ERRE_ZPA','ERRE_MAX','ERRE_RMS'),EXCLUS('FREQ_PAS','LIST_FREQ'),),
23003 SPEC_OSCI =SIMP(statut='o',typ=(fonction_sdaster),),
23004 AMOR_REDUIT =SIMP(statut='o', typ='R', val_min=0., val_max=1.),
23005 FREQ_PAS =SIMP(statut='f',typ='R' , fr="pas"),
23006 LIST_FREQ =SIMP(statut='f', typ=listr8_sdaster ),
23007 NB_ITER =SIMP(statut='f',typ='I' ,defaut=0, val_min=0,fr="nombre d'iterations pour fitter le spectre" ,),
23008 ERRE_ZPA =SIMP(statut='f',typ='R' ,defaut=(1.,0.2), min=1,max=2, fr="coef et erreur maxi ZPA",),
23009 ERRE_MAX =SIMP(statut='f',typ='R' ,defaut=(0.5,0.2), min=1,max=2, fr="coef et erreur maxi global",),
23010 ERRE_RMS =SIMP(statut='f',typ='R' ,defaut=(0.5,0.2), min=1,max=2, fr="coef et erreur maxi rms",),
23011 FREQ_PENTE =SIMP(statut='f',typ='R', fr="pente pour l'evolution de la frequence centrale"),
23012 METHODE =SIMP(statut='f',typ='TXM',defaut="HARMO",into=("NIGAM","HARMO") ),
23014 SPEC_UNIQUE = FACT(statut='f',max=1,
23015 regles=(ENSEMBLE('ERRE_ZPA','ERRE_MAX','ERRE_RMS'),EXCLUS('FREQ_PAS','LIST_FREQ'),),
23016 ERRE_ZPA =SIMP(statut='f',typ='R' ,defaut=(1.,0.2), min=1,max=2, fr="coef et erreur maxi ZPA",),
23017 ERRE_MAX =SIMP(statut='f',typ='R' ,defaut=(0.5,0.2), min=1,max=2, fr="coef et erreur maxi global",),
23018 ERRE_RMS =SIMP(statut='f',typ='R' ,defaut=(0.5,0.2), min=1,max=2, fr="coef et erreur maxi rms",),
23019 SPEC_OSCI =SIMP(statut='o',typ=(fonction_sdaster),),
23020 AMOR_REDUIT =SIMP(statut='o', typ='R', val_min=0., val_max=1.),
23021 FREQ_PAS =SIMP(statut='f',typ='R' , fr="pas"),
23022 LIST_FREQ =SIMP(statut='f', typ=listr8_sdaster ),
23023 NB_ITER =SIMP(statut='f',typ='I' ,defaut=0, val_min=0,fr="nombre d'iterations pour fitter le spectre" ,),
23024 METHODE =SIMP(statut='f',typ='TXM',defaut="HARMO",into=("NIGAM","HARMO") ),
23027 SPEC_FRACTILE = FACT(statut='f',max=1,
23028 regles=(ENSEMBLE('ERRE_ZPA','ERRE_MAX','ERRE_RMS'), EXCLUS('FREQ_PAS','LIST_FREQ'),),
23029 SPEC_OSCI =SIMP(statut='o',typ=(fonction_sdaster),),
23030 SPEC_1_SIGMA =SIMP(statut='o',typ=(fonction_sdaster),),
23031 AMOR_REDUIT =SIMP(statut='o', typ='R', val_min=0., val_max=1.),
23032 FREQ_PAS =SIMP(statut='f',typ='R' , fr="pas"),
23033 LIST_FREQ =SIMP(statut='f', typ=listr8_sdaster ),
23034 FREQ_PENTE =SIMP(statut='f',typ='R', fr="pente pour l'evolution de la frequence centrale"),
23038 regles=(UN_PARMI('DSP','SPEC_MEDIANE','SPEC_UNIQUE','SPEC_FRACTILE'),),
23039 MODULATION = FACT(statut='o',max=1,
23040 regles=(EXCLUS('ACCE_MAX','INTE_ARIAS','ECART_TYPE'),),
23041 TYPE = SIMP(statut='o',typ='TXM' , into=("GAMMA","JENNINGS_HOUSNER","CONSTANT")),
23042 ACCE_MAX = SIMP(statut='f',typ='R',fr="PGA: acceleration max au sol (g)" ),
23043 ECART_TYPE = SIMP(statut='f',typ='R',fr="ecart-type" ),
23044 INTE_ARIAS = SIMP(statut='f',typ='R',fr="intensite d'Arias" ),
23045 c_type_mod = BLOC(condition="TYPE=='GAMMA' ",
23046 INST_INI = SIMP(statut='o',typ='R',fr="instant debut phase forte" ),
23052 # ======================================================================
23053 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
23054 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
23055 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
23056 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
23057 # (AT YOUR OPTION) ANY LATER VERSION.
23059 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
23060 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
23061 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
23062 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
23064 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
23065 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
23066 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
23067 # ======================================================================
23068 # person_in_charge: irmela.zentner at edf.fr
23069 GENE_FONC_ALEA=OPER(nom="GENE_FONC_ALEA",op= 118,sd_prod=table_fonction,
23070 fr="Génération de la fonction temporelle à partir d une matrice interspectrale",
23072 UIinfo={"groupes":("Fonctions",)},
23073 INTE_SPEC =SIMP(statut='o',typ=interspectre),
23074 NUME_VITE_FLUI =SIMP(statut='f',typ='I' ),
23075 INTERPOL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("NON","OUI") ),
23076 b_interpol_oui =BLOC(condition = "INTERPOL == 'OUI' ",fr="Parametres cas interpolation autorisee",
23077 DUREE_TIRAGE =SIMP(statut='f',typ='R' ),
23078 FREQ_INIT =SIMP(statut='f',typ='R' ),
23079 FREQ_FIN =SIMP(statut='f',typ='R' ),
23081 NB_POIN =SIMP(statut='f',typ='I'),
23082 NB_TIRAGE =SIMP(statut='f',typ='I',defaut= 1 ),
23083 INIT_ALEA =SIMP(statut='f',typ='I'),
23084 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
23085 TITRE =SIMP(statut='f',typ='TXM',max='**'),
23088 # ======================================================================
23089 # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
23090 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
23091 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
23092 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
23093 # (AT YOUR OPTION) ANY LATER VERSION.
23095 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
23096 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
23097 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
23098 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
23100 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
23101 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
23102 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
23103 # ======================================================================
23104 # person_in_charge: irmela.zentner at edf.fr
23105 def gene_matr_alea_prod(MATR_MOYEN,**args ):
23106 if (AsType(MATR_MOYEN) == matr_asse_gene_r ) : return matr_asse_gene_r
23107 if (AsType(MATR_MOYEN) == macr_elem_dyna) : return macr_elem_dyna
23108 raise AsException("type de concept resultat non prevu")
23110 GENE_MATR_ALEA=OPER(nom="GENE_MATR_ALEA",op= 27,
23111 #sd_prod=matr_asse_gene_r,
23112 sd_prod=gene_matr_alea_prod,
23113 fr="Générer une réalisation d'une matrice aléatoire réelle sym. déf. positive ou d'un macro élément dynamique",
23115 UIinfo={"groupes":("Matrices et vecteurs",)},
23116 MATR_MOYEN = SIMP(statut='o', typ=(matr_asse_gene_r,macr_elem_dyna)),
23118 # cas matrice generalisee
23119 b_matr =BLOC( condition = "AsType(MATR_MOYEN) in (matr_asse_gene_r,)",
23120 COEF_VAR = SIMP(statut='f', typ='R', defaut=0.1, val_min=0.E+0 ,
23121 fr="coefficient de variation de la matrice a generer" ),
23123 # cas macr_elem_dyna
23124 b_macr =BLOC( condition = "AsType(MATR_MOYEN) in (macr_elem_dyna,)",
23125 fr="cas macr_elem_dyna (sous-structuratio)",
23126 COEF_VAR_RIGI = SIMP(statut='f', typ='R', defaut=0.1, val_min=0.E+0 ,
23127 fr="coefficient de variation de la matrice de raideur" ),
23128 COEF_VAR_MASS = SIMP(statut='f', typ='R', defaut=0., val_min=0.E+0 ,
23129 fr="coefficient de variation de la matrice de masse" ),
23130 COEF_VAR_AMOR = SIMP(statut='f', typ='R', defaut=0., val_min=0.E+0 ,
23131 fr="coefficient de variation de la matrice d'amortissement" ),),
23133 INIT_ALEA =SIMP(statut='f',typ='I'),
23136 # ======================================================================
23137 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
23138 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
23139 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
23140 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
23141 # (AT YOUR OPTION) ANY LATER VERSION.
23143 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
23144 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
23145 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
23146 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
23148 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
23149 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
23150 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
23151 # ======================================================================
23152 # person_in_charge: irmela.zentner at edf.fr
23154 GENE_VARI_ALEA=MACRO(nom="GENE_VARI_ALEA",
23155 op_init=ops.build_gene_vari_alea,
23159 fr="Générer une réalisation d'une variable aléatoire réelle " \
23160 "de loi de probabilité donnée (Gamma ou Exponentielle)",
23161 UIinfo={"groupes":("Fonctions",)},
23162 TYPE = SIMP(statut='f', typ='TXM', into=("EXP_TRONQUEE", "EXPONENTIELLE", "GAMMA"), defaut="GAMMA"),
23163 b_gamma =BLOC(condition = "TYPE == 'GAMMA' ",fr="Parametres loi gamma",
23164 VALE_MOY = SIMP(statut='f', typ='R', defaut=1.),
23165 BORNE_INF = SIMP(statut='f', typ='R', defaut=0.),
23166 COEF_VAR = SIMP(statut='f', typ='R', defaut=0.1),
23168 b_expo =BLOC(condition = "TYPE == 'EXPONENTIELLE' ",fr="Parametres loi exponentielle",
23169 VALE_MOY = SIMP(statut='f', typ='R', defaut=0.),
23170 BORNE_INF = SIMP(statut='f', typ='R', defaut=-1.),
23172 b_expo_tronq =BLOC(condition = "TYPE == 'EXP_TRONQUEE' ",fr="Parametres loi exponentielle tronquee",
23173 VALE_MOY = SIMP(statut='f', typ='R', defaut=0.),
23174 BORNE_INF = SIMP(statut='f', typ='R', defaut=-1.),
23175 BORNE_SUP = SIMP(statut='f', typ='R', defaut=1.),
23177 INIT_ALEA =SIMP(statut='f',typ='I'),
23180 # ======================================================================
23181 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
23182 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
23183 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
23184 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
23185 # (AT YOUR OPTION) ANY LATER VERSION.
23187 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
23188 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
23189 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
23190 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
23192 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
23193 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
23194 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
23195 # ======================================================================
23196 # person_in_charge: j-pierre.lefebvre at edf.fr
23197 IMPR_CO=PROC(nom="IMPR_CO",op=17,
23198 UIinfo={"groupes":("Impression","Utilitaires",)},
23199 fr="Imprimer tous les objets JEVEUX qui constituent un concept utilisateur existant (pour les développeurs)",
23200 regles=(UN_PARMI('CONCEPT','CHAINE','TOUT' ),),
23202 UNITE =SIMP(statut='f',typ='I',defaut=8),
23203 NIVEAU =SIMP(statut='f',typ='I',defaut=2,into=(-1,0,1,2) ),
23204 ATTRIBUT =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","OUI") ),
23205 CONTENU =SIMP(statut='f',typ='TXM',defaut="OUI",into=("NON","OUI") ),
23206 BASE =SIMP(statut='f',typ='TXM',defaut="G",into=(" ","G","V","L") ),
23207 CONCEPT =FACT(statut='f',max='**',
23208 NOM =SIMP(statut='o',typ=assd,validators=NoRepeat(),max='**'),),
23209 CHAINE =SIMP(statut='f',typ='TXM'),
23210 POSITION =SIMP(statut='f',typ='I',defaut=1),
23211 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
23214 # ======================================================================
23215 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
23216 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
23217 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
23218 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
23219 # (AT YOUR OPTION) ANY LATER VERSION.
23221 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
23222 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
23223 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
23224 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
23226 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
23227 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
23228 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
23229 # ======================================================================
23233 IMPR_DIAG_CAMPBELL=MACRO(nom="IMPR_DIAG_CAMPBELL",
23234 op=OPS('Macro.impr_diag_campbell_ops.impr_diag_campbell_ops'),
23235 fr="Tracé du Diagramme de Campbell",
23236 UIinfo={"groupes":("Impression","Outils-métier",)},
23237 MAILLAGE =SIMP(statut='o',typ=maillage_sdaster),
23238 MODES =SIMP(statut='o',typ=table_container),
23239 NFREQ_CAMP =SIMP(statut='o',typ='I' ),
23240 TYP_PREC =SIMP(statut='f',typ='I',defaut= 1, into=(1,2) ),
23241 TYP_TRI =SIMP(statut='f',typ='I',defaut= 2, into=(0,1,2) ),
23242 UNIT_FLE =SIMP(statut='o',typ='I' ,val_min=1),
23243 UNIT_TOR =SIMP(statut='o',typ='I' ,val_min=1),
23244 UNIT_LON =SIMP(statut='o',typ='I' ,val_min=1),
23245 UNIT_TOT =SIMP(statut='o',typ='I' ,val_min=1),
23246 UNIT_INT =SIMP(statut='o',typ='I' ,val_min=1),
23247 L_S =SIMP(statut='f',typ='R', defaut= 1., max='**'),
23250 # ======================================================================
23251 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
23252 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
23253 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
23254 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
23255 # (AT YOUR OPTION) ANY LATER VERSION.
23257 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
23258 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
23259 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
23260 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
23262 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
23263 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
23264 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
23265 # ======================================================================
23266 # person_in_charge: mathieu.courtois at edf.fr
23268 IMPR_FONCTION=MACRO(nom="IMPR_FONCTION",
23269 op=OPS('Macro.impr_fonction_ops.impr_fonction_ops'),
23271 fr="Imprime le contenu d'objets de type fonction ou liste de " \
23272 "réels dans un fichier destiné à un traceur de courbe",
23273 UIinfo={"groupes":("Impression","Fonctions",)},
23274 FORMAT =SIMP(statut='o',typ='TXM',position='global',defaut='TABLEAU',
23275 into=("TABLEAU","AGRAF","XMGRACE",),),
23276 b_pilote = BLOC(condition = "FORMAT == 'XMGRACE'",
23277 fr="Mots-clés propres à XMGRACE",
23278 PILOTE =SIMP(statut='f',typ='TXM',defaut='',
23279 into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'),
23280 fr="Pilote de sortie, PNG/JPEG/PDF ne sont pas disponibles sur toutes les installations de xmgrace"),
23281 UNITE =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29,
23282 fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
23284 b_agraf = BLOC(condition = "FORMAT == 'AGRAF'",
23285 fr="Mots-clés propres à AGRAF",
23286 UNITE =SIMP(statut='o',typ='I',defaut=25,
23287 fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
23288 UNITE_DIGR =SIMP(statut='o',typ='I',defaut=26,
23289 fr="Unité logique définissant le fichier dans lequel on écrit les directives Agraf"),
23291 # unite pour TABLEAU dans le bloc de mise en forme spécifique
23293 COURBE =FACT(statut='o',max='**',fr="Définition de la fonction à tracer",
23294 regles=(UN_PARMI('FONCTION','LIST_RESU','FONC_X','ABSCISSE'),),
23295 FONCTION =SIMP(statut='f',typ=(fonction_sdaster, formule, fonction_c, nappe_sdaster),
23296 fr="Fonction réelle ou complexe", ),
23297 LIST_RESU =SIMP(statut='f',typ=listr8_sdaster,
23298 fr="Liste des ordonnees d'une fonction réelle définie par deux listes", ),
23299 FONC_X =SIMP(statut='f',typ=(fonction_sdaster,formule),
23300 fr="Fonction abscisses d'une fonction paramétrique",),
23301 ABSCISSE =SIMP(statut='f',typ='R',max='**',
23302 fr="Valeurs des abscisses", ),
23303 b_fonction =BLOC(condition = "FONCTION != None",
23304 LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ),
23306 b_fonction_c =BLOC(condition = "AsType(FONCTION) in (fonction_c, formule_c)",
23307 fr="Fonction complexe définie par le mot-clé fonction",
23308 PARTIE =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ),
23310 b_list_resu =BLOC(condition = "LIST_RESU != None",
23311 LIST_PARA =SIMP(statut='o',typ=listr8_sdaster ),
23313 b_fonc_x =BLOC(condition = "FONC_X != None",
23314 FONC_Y =SIMP(statut='o',typ=(fonction_sdaster,formule),fr="Fonction ordonnées d une fonction paramétrique" ),
23315 LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ),
23317 b_vale_resu =BLOC(condition = "ABSCISSE != None",
23318 ORDONNEE =SIMP(statut='o',typ='R',max='**',
23319 fr="Valeurs des ordonnées"),
23322 # mots-clés utilisant uniquement aux formats autres que TABLEAU
23323 # mais ce serait trop pénible de devoir les supprimer quand on change de format
23324 # donc on ne les met pas dans un bloc
23325 # "pseudo" bloc mise en forme :
23326 LEGENDE =SIMP(statut='f',typ='TXM',
23327 fr="Légende associée à la fonction" ),
23328 STYLE =SIMP(statut='f',typ='I',val_min=0,
23329 fr="Style de la ligne représentant la fonction",),
23330 COULEUR =SIMP(statut='f',typ='I',val_min=0,
23331 fr="Couleur associée à la fonction",),
23332 MARQUEUR =SIMP(statut='f',typ='I',val_min=0,
23333 fr="Type du marqueur associé à la fonction",),
23334 FREQ_MARQUEUR =SIMP(statut='f',typ='I',defaut=0,
23335 fr="Fréquence d impression du marqueur associé à la fonction", ),
23336 # fin bloc mise en forme
23338 TRI =SIMP(statut='f',typ='TXM',defaut="N",
23339 fr="Choix du tri effectué sur les abscisses ou sur les ordonnées",
23340 into=("N","X","Y","XY","YX") ),
23342 # Mise en page du tableau ou du graphique
23343 b_tableau = BLOC(condition = "FORMAT == 'TABLEAU'",
23344 fr="Mots-clés propres au format Tableau",
23345 UNITE =SIMP(statut='o',typ='I',defaut=8,
23346 fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
23347 TITRE =SIMP(statut='f',typ='TXM',
23348 fr="Titre associé au graphique" ),
23349 SOUS_TITRE =SIMP(statut='f',typ='TXM',
23350 fr="Sous-titre du graphique" ),
23351 SEPARATEUR =SIMP(statut='f',typ='TXM',defaut=' ',
23352 fr="Séparateur des colonnes du tableau (ex : ' ', ';'...)"),
23353 COMMENTAIRE =SIMP(statut='f',typ='TXM',defaut='#',
23354 fr="Caractère indiquant au traceur de fonction que la ligne peut etre ignorée"),
23355 COMM_PARA =SIMP(statut='f',typ='TXM',defaut='',
23356 fr="Caractère utilisé pour commentariser la ligne des labels de colonnes"),
23357 DEBUT_LIGNE =SIMP(statut='f',typ='TXM',defaut='',
23358 fr="Caractère de debut de ligne"),
23359 FIN_LIGNE =SIMP(statut='f',typ='TXM',defaut='\n',
23360 fr="Caractère de fin de ligne"),
23362 b_graphique = BLOC(condition = "FORMAT != 'TABLEAU'",
23363 fr="Mise en page du graphique",
23364 TITRE =SIMP(statut='f',typ='TXM',
23365 fr="Titre associé au graphique" ),
23366 SOUS_TITRE =SIMP(statut='f',typ='TXM',
23367 fr="Sous-titre du graphique" ),
23368 BORNE_X =SIMP(statut='f',typ='R',min=2,max=2,
23369 fr="Intervalles de variation des abscisses"),
23370 BORNE_Y =SIMP(statut='f',typ='R',min=2,max=2,
23371 fr="Intervalles de variation des ordonnées"),
23372 ECHELLE_X =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),
23373 fr="Type d'échelle pour les abscisses" ),
23374 ECHELLE_Y =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),
23375 fr="Type d'échelle pour les ordonnées" ),
23376 GRILLE_X =SIMP(statut='f',typ='R',max=1,val_min=0.,
23377 fr="Pas du quadrillage vertical" ),
23378 GRILLE_Y =SIMP(statut='f',typ='R',max=1,val_min=0.,
23379 fr="Pas du quadrillage horizontal" ),
23380 LEGENDE_X =SIMP(statut='f',typ='TXM',
23381 fr="Légende associée à l'axe des abscisses" ),
23382 LEGENDE_Y =SIMP(statut='f',typ='TXM',
23383 fr="Légende associée à l'axe des ordonnées" ),
23385 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
23388 # ======================================================================
23389 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
23390 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
23391 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
23392 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
23393 # (AT YOUR OPTION) ANY LATER VERSION.
23395 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
23396 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
23397 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
23398 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
23400 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
23401 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
23402 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
23403 # ======================================================================
23404 # person_in_charge: emmanuel.boyere at edf.fr
23405 IMPR_GENE=PROC(nom="IMPR_GENE",op= 157,
23406 fr="Imprimer le résultat d'un calcul dynamique en variables généralisées au format RESULTAT",
23407 UIinfo={"groupes":("Impression","Dynamique",)},
23408 FORMAT =SIMP(statut='f',typ='TXM',defaut="RESULTAT",into=("RESULTAT",) ),
23409 UNITE =SIMP(statut='f',typ='I',defaut=8),
23410 GENE =FACT(statut='o',max='**',
23411 regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
23412 'LIST_INST','LIST_FREQ','TOUT_MODE','TOUT_INST','LIST_ORDRE'),
23413 EXCLUS('TOUT_MODE','NUME_ORDRE','INST','FREQ','NUME_MODE',
23414 'LIST_INST','LIST_FREQ','TOUT_ORDRE','TOUT_INST','LIST_ORDRE'),
23415 EXCLUS('TOUT_INST','NUME_ORDRE','INST','FREQ','NUME_MODE',
23416 'LIST_INST','LIST_FREQ','TOUT_ORDRE','LIST_ORDRE'),
23417 EXCLUS('TOUT_CMP_GENE','NUME_CMP_GENE'),
23418 EXCLUS('TOUT_CHAM','NOM_CHAM'),
23419 EXCLUS('TOUT_PARA','NOM_PARA'),),
23420 # faut-il faire des blocs selon le type de RESU_GENE
23421 RESU_GENE =SIMP(statut='o',typ=(vect_asse_gene, tran_gene, mode_gene, harm_gene)),
23422 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
23423 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
23424 LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster ),
23425 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
23426 LIST_INST =SIMP(statut='f',typ=listr8_sdaster ),
23427 TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ),
23428 FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
23429 LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ),
23430 TOUT_MODE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
23431 NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
23432 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
23433 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
23434 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
23435 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
23436 PRECISION =SIMP(statut='o',typ='R',),),
23437 TOUT_CMP_GENE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
23438 NUME_CMP_GENE =SIMP(statut='f',typ='I',max='**'),
23439 TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
23440 NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO(),),
23441 TOUT_PARA =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
23442 NOM_PARA =SIMP(statut='f',typ='TXM',max='**'),
23443 SOUS_TITRE =SIMP(statut='f',typ='TXM',max='**'),
23444 INFO_CMP_GENE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
23445 INFO_GENE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
23449 # ======================================================================
23450 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
23451 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
23452 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
23453 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
23454 # (AT YOUR OPTION) ANY LATER VERSION.
23456 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
23457 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
23458 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
23459 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
23461 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
23462 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
23463 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
23464 # ======================================================================
23465 # person_in_charge: j-pierre.lefebvre at edf.fr
23466 IMPR_JEVEUX=PROC(nom="IMPR_JEVEUX",op=16,
23467 UIinfo={"groupes":("Impression","Utilitaires",)},
23468 fr="Imprimer le contenu des objets créés par JEVEUX (pour développeur)",
23469 ENTITE =SIMP(fr="choix de l'observation",statut='o',typ='TXM',
23470 into=("DISQUE","MEMOIRE","REPERTOIRE",
23471 "OBJET","ATTRIBUT","SYSTEME","ENREGISTREMENT") ),
23472 b_objet =BLOC(condition = "(ENTITE=='OBJET')",
23473 NOMOBJ =SIMP(fr="nom d'objet",statut='f',typ='TXM' ),
23474 NUMOC =SIMP(fr="numéro d objet de collection",statut='f',typ='I' ),
23475 NOMOC =SIMP(fr="nom d'objet de collection",statut='f',typ='TXM' ),
23477 b_attribut =BLOC(condition = "(ENTITE=='ATTRIBUT')",
23478 NOMOBJ =SIMP(fr="nom de collection",statut='f',typ='TXM' ),
23479 NOMATR =SIMP(fr="nom d attribut de collection",statut='f',typ='TXM',
23480 into=('$$DESO','$$IADD','$$IADM','$$NOM','$$LONG',
23481 '$$LONO','$$LUTI','$$NUM') ),
23483 b_systeme =BLOC(condition = "(ENTITE=='SYSTEME')",
23484 CLASSE =SIMP(statut='o',typ='TXM',into=('G','V') ),
23485 NOMATR =SIMP(fr="nom d attribut systeme",statut='f',typ='TXM',
23486 into=('$$CARA','$$IADD','$$GENR','$$TYPE','$$MARQ',
23487 '$$DOCU','$$ORIG','$$RNOM','$$LTYP','$$LONG',
23488 '$$LONO','$$DATE','$$LUTI','$$HCOD','$$INDX',
23489 '$$TLEC','$$TECR','$$IADM','$$ACCE','$$USADI') ),
23491 b_repertoire =BLOC(condition = "(ENTITE=='REPERTOIRE')",
23492 CLASSE =SIMP(statut='f',typ='TXM',into=('G','V',' '),defaut=' '),
23494 b_disque =BLOC(condition = "(ENTITE=='DISQUE')",
23495 CLASSE =SIMP(statut='f',typ='TXM' ,into=('G','V',' '),defaut=' '),
23497 b_enregist =BLOC(condition = "(ENTITE=='ENREGISTREMENT')",
23498 CLASSE =SIMP(statut='f',typ='TXM' ,into=('G','V'),defaut='G'),
23499 NUMERO =SIMP(statut='o',typ='I',val_min=1),
23500 INFO =SIMP(statut='f',typ='I',into=(1,2),defaut=1),
23502 IMPRESSION =FACT(statut='f',
23503 NOM =SIMP(statut='f',typ='TXM' ),
23504 UNITE =SIMP(statut='f',typ='I'),
23506 COMMENTAIRE =SIMP(statut='f',typ='TXM' ),
23509 # ======================================================================
23510 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
23511 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
23512 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
23513 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
23514 # (AT YOUR OPTION) ANY LATER VERSION.
23516 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
23517 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
23518 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
23519 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
23521 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
23522 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
23523 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
23524 # ======================================================================
23525 # person_in_charge: mathieu.corus at edf.fr
23527 IMPR_MACR_ELEM=PROC(nom="IMPR_MACR_ELEM",op= 160,
23528 UIinfo={"groupes":("Impression","Outils-métier",)},
23529 fr="Impression d'une structure de données MACR_ELEM_DYNA au format IDEAS MISS3D",
23530 MACR_ELEM_DYNA =SIMP(statut='o',typ=macr_elem_dyna ),
23531 FORMAT =SIMP(statut='f',typ='TXM',defaut="IDEAS",
23532 into=("MISS_3D","IDEAS") ),
23534 b_ideas =BLOC(condition = "FORMAT == 'IDEAS'",
23535 UNITE =SIMP(statut='f',typ='I',defaut=30),
23536 VERSION =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ),
23539 b_miss_3d =BLOC(condition = "FORMAT == 'MISS_3D'",
23540 regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),),
23541 UNITE =SIMP(statut='f',typ='I',defaut= 26 ),
23542 SOUS_TITRE =SIMP(statut='f',typ='TXM',max='**'),
23543 AMOR_REDUIT =SIMP(statut='f',typ='R' ,max='**'),
23544 LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ),
23545 GROUP_MA_INTERF =SIMP(statut='o',typ=grma ,max='**'),
23546 GROUP_MA_FLU_STR=SIMP(statut='f',typ=grma,max='**'),
23547 GROUP_MA_FLU_SOL=SIMP(statut='f',typ=grma,max='**'),
23548 GROUP_MA_SOL_SOL=SIMP(statut='f',typ=grma,max='**'),
23549 GROUP_MA_CONTROL=SIMP(statut='f',typ=grma,max='**'),
23550 FORMAT_R =SIMP(statut='f',typ='TXM',defaut="1PE12.5",into=("1PE12.5","1PE16.9") ),
23551 IMPR_MODE_MECA =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
23552 IMPR_MODE_STAT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
23558 # ======================================================================
23559 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
23560 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
23561 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
23562 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
23563 # (AT YOUR OPTION) ANY LATER VERSION.
23565 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
23566 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
23567 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
23568 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
23570 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
23571 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
23572 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
23573 # ======================================================================
23574 # person_in_charge: nicolas.greffet at edf.fr
23576 # RECUPERATION DES MAILLAGES IFS VENANT DE SATURNE VIA YACS
23578 IMPR_MAIL_YACS=PROC(nom="IMPR_MAIL_YACS",op=43,
23579 UIinfo={"groupes":("Maillage",)},
23580 fr="Lecture d'un maillage via YACS lors du Couplage de Code_Aster et Saturne",
23581 UNITE_MAILLAGE = SIMP(statut='f',typ='I',defaut=30),
23582 TYPE_MAILLAGE = SIMP(statut='o',typ='TXM',into=("SOMMET","MILIEU")),
23583 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
23586 # ======================================================================
23587 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
23588 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
23589 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
23590 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
23591 # (AT YOUR OPTION) ANY LATER VERSION.
23593 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
23594 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
23595 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
23596 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
23598 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
23599 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
23600 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
23601 # ======================================================================
23602 # person_in_charge: isabelle.fournier at edf.fr
23604 IMPR_OAR =MACRO(nom="IMPR_OAR",
23605 op=OPS('Macro.impr_oar_ops.impr_oar_ops'),
23607 fr="Impression au format OAR",
23608 UIinfo={"groupes":("Impression","Outils-métier",)},
23609 TYPE_CALC = SIMP(statut='o', typ='TXM',into=('COMPOSANT', 'MEF', 'TUYAUTERIE')),
23610 b_composant =BLOC(condition = "TYPE_CALC == 'COMPOSANT' ",
23611 regles = (AU_MOINS_UN('RESU_MECA','RESU_THER')),
23612 DIAMETRE = SIMP(statut='o', typ='R'),
23613 ORIGINE = SIMP(statut='o', typ='TXM', defaut='INTERNE', into=('INTERNE', 'EXTERNE')),
23614 COEF_U = SIMP(statut='f', typ='R', defaut=1.0),
23615 ANGLE_C = SIMP(statut='o', typ='R', defaut=0.0),
23616 REVET = SIMP(statut='f', typ='TXM', defaut='NON', into=('OUI', 'NON')),
23617 RESU_MECA = FACT(statut='f', max='**',
23618 NUM_CHAR = SIMP(statut='o', typ='I'),
23619 TYPE = SIMP(statut='o', typ='TXM', defaut='FX', into=('FX', 'FY', 'FZ', 'MX', 'MY', 'MZ', 'PRE')),
23620 TABLE = SIMP(statut='o', typ=table_sdaster),
23621 TABLE_S = SIMP(statut='f', typ=table_sdaster)),
23622 RESU_THER = FACT(statut='f', max='**',
23623 NUM_TRAN = SIMP(statut='o', typ='I'),
23624 TABLE_T = SIMP(statut='o', typ=table_sdaster),
23625 TABLE_TEMP= SIMP(statut='o', typ=table_sdaster),
23626 TABLE_S = SIMP(statut='f', typ=table_sdaster),
23627 TABLE_ST = SIMP(statut='f', typ=table_sdaster)),
23629 b_mef = BLOC(condition = "TYPE_CALC == 'MEF' ",
23630 regles = (AU_MOINS_UN('RESU_MECA','RESU_THER')),
23631 DIAMETRE = SIMP(statut='o', typ='R'),
23632 ORIGINE = SIMP(statut='o', typ='TXM', defaut='INTERNE', into=('INTERNE', 'EXTERNE')),
23633 COEF_U = SIMP(statut='f', typ='R', defaut=1.0),
23634 RESU_MECA = FACT(statut='f', max='**',
23635 AZI = SIMP(statut='o', typ='R'),
23636 TABLE_T = SIMP(statut='o', typ=table_sdaster),
23637 TABLE_F = SIMP(statut='o', typ=table_sdaster),
23638 TABLE_P = SIMP(statut='o', typ=table_sdaster),
23639 TABLE_CA = SIMP(statut='o', typ=table_sdaster)),
23640 RESU_THER=FACT(statut='f', max='**',
23641 AZI = SIMP(statut='o', typ='R'),
23642 NUM_CHAR = SIMP(statut='o', typ='I'),
23643 TABLE_T = SIMP(statut='o', typ=table_sdaster),
23644 TABLE_TI = SIMP(statut='o', typ=table_sdaster)),
23646 b_tuyauterie = BLOC(condition = "TYPE_CALC == 'TUYAUTERIE' ",
23647 RESU_MECA = FACT(statut='o', max='**',
23648 NUM_CHAR = SIMP(statut='o', typ='I'),
23649 TABLE = SIMP(statut='o', typ=table_sdaster),
23650 MAILLAGE = SIMP(statut='o', typ=maillage_sdaster)),
23652 UNITE = SIMP(statut='f',typ='I',defaut=38),
23653 AJOUT = SIMP(statut='f', typ='TXM', defaut='NON', into=('OUI', 'NON')),
23656 # ======================================================================
23657 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
23658 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
23659 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
23660 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
23661 # (AT YOUR OPTION) ANY LATER VERSION.
23663 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
23664 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
23665 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
23666 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
23668 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
23669 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
23670 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
23671 # ======================================================================
23672 # person_in_charge: nicolas.sellenet at edf.fr
23673 IMPR_RESU=PROC(nom="IMPR_RESU",op=39,
23674 UIinfo={"groupes":("Impression","Résultats et champs",)},
23675 fr="Imprimer un maillage et/ou les résultats d'un calcul (différents formats)",
23677 FORMAT =SIMP(statut='f',typ='TXM',position='global',defaut="RESULTAT",
23678 into=("RESULTAT","IDEAS","ASTER","CASTEM","MED","GMSH") ),
23680 b_modele =BLOC(condition="FORMAT!='MED'",fr="Modèle",
23681 MODELE =SIMP(statut='f',typ=modele_sdaster),
23684 b_format_resultat =BLOC(condition="FORMAT=='RESULTAT'",fr="unité logique d'impression au format RESULTAT",
23685 UNITE =SIMP(statut='f',typ='I',defaut=8),
23688 b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="unité logique d'impression et version IDEAS",
23689 UNITE =SIMP(statut='f',typ='I',defaut=30),
23690 VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
23693 b_format_aster =BLOC(condition="FORMAT=='ASTER'",fr="unité logique d'impression au format ASTER",
23694 UNITE =SIMP(statut='f',typ='I',defaut=26),
23697 b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="unité logique d'impression et version CASTEM",
23698 UNITE =SIMP(statut='f',typ='I',defaut=37),
23699 NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
23702 b_format_med =BLOC(condition="FORMAT=='MED'",fr="unité logique d'impression au format MED",
23703 UNITE =SIMP(statut='f',typ='I',defaut=80),
23706 b_format_gmsh =BLOC(condition="FORMAT=='GMSH'",fr="unité logique d'impression et version GMSH",
23707 UNITE =SIMP(statut='f',typ='I',defaut=37),
23708 VERSION =SIMP(statut='f',typ='R',defaut=1.2,into=(1.0,1.2)),
23711 regles=(AU_MOINS_UN('CONCEPT','RESU',),),
23713 b_restreint =BLOC(condition="FORMAT=='MED'",fr="Seulement pour les fichiers MED",
23714 RESTREINT =FACT(statut='f', max=1,
23715 fr="Pour réduire une ou plusieurs sd_resultat sur un ensemble de mailles",
23716 regles=(AU_MOINS_UN('GROUP_MA','MAILLE',),),
23717 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
23718 MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
23719 TOUT_GROUP_MA =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON'),),
23720 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
23721 TOUT_GROUP_NO =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON'),),
23725 CONCEPT =FACT(statut='f',max='**',
23726 fr='Pour imprimer les champs de "données" à des fins de visualisation (controle des affectations).',
23727 # (valide pour les format RESULTAT et MED)
23728 regles=(UN_PARMI('CHAM_MATER','CARA_ELEM','CHARGE'),),
23729 CHAM_MATER =SIMP(statut='f',typ=cham_mater),
23730 CARA_ELEM =SIMP(statut='f',typ=cara_elem),
23731 CHARGE =SIMP(statut='f',typ=char_meca),
23733 b_cara_elem =BLOC(condition="CARA_ELEM != None", fr="impression des reperes locaux.",
23734 REPERE_LOCAL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
23735 b_reploc =BLOC(condition="REPERE_LOCAL == 'OUI'", fr="impression des reperes locaux.",
23736 MODELE =SIMP(statut='o',typ=modele_sdaster),
23741 RESU =FACT(statut='f',max='**',
23743 regles=(AU_MOINS_UN('CHAM_GD','RESULTAT','MAILLAGE',),
23744 EXCLUS('CHAM_GD','RESULTAT'),),
23745 MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster,squelette)),
23746 CARA_ELEM =SIMP(statut='f',typ=cara_elem),
23747 CHAM_GD =SIMP(statut='f',typ=cham_gd_sdaster),
23748 RESULTAT =SIMP(statut='f',typ=resultat_sdaster),
23750 b_info_med =BLOC(condition="FORMAT=='MED'",
23751 INFO_MAILLAGE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
23755 b_partie =BLOC(condition="""(AsType(RESULTAT) in (dyna_harmo, acou_harmo) or
23756 AsType(CHAM_GD) != carte_sdaster) and FORMAT in ('CASTEM', 'GMSH', 'MED')""",
23757 PARTIE =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ),
23760 b_vari_el =BLOC(condition="FORMAT==('MED')",
23761 IMPR_NOM_VARI=SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON",),
23764 b_extrac =BLOC(condition="RESULTAT != None",
23765 fr="extraction d un champ de grandeur",
23766 regles=(EXCLUS('TOUT_CHAM','NOM_CHAM'),
23767 EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP',
23768 'LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS','ANGLE'),),
23769 TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
23770 NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO()),
23772 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
23773 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
23774 NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
23775 LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster),
23776 NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
23777 NOM_CAS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
23778 ANGLE =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
23779 FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
23780 LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster),
23781 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
23782 LIST_INST =SIMP(statut='f',typ=listr8_sdaster),
23784 b_acce_reel =BLOC(condition="(ANGLE != None)or(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)",
23785 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
23786 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
23787 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
23788 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
23789 PRECISION =SIMP(statut='o',typ='R',),),
23793 b_parametres =BLOC(condition="""(RESULTAT != None)and(FORMAT == 'RESULTAT')""",
23794 regles=(EXCLUS('TOUT_PARA','NOM_PARA'),),
23795 TOUT_PARA =SIMP(statut='f',typ='TXM',into=("OUI","NON",) ),
23796 NOM_PARA =SIMP(statut='f',typ='TXM',max='**'),
23797 FORM_TABL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON","EXCEL") ),
23800 b_cmp=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and\
23801 ((FORMAT == 'CASTEM')or(FORMAT == 'RESULTAT')or(FORMAT == 'IDEAS')or(FORMAT == 'MED'))""",
23802 fr="sélection des composantes",
23803 regles=(EXCLUS('TOUT_CMP','NOM_CMP'),),
23804 TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",) ),
23805 NOM_CMP =SIMP(statut='f',typ='TXM',max='**'),
23808 b_med=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and(FORMAT == 'MED')""",
23809 fr="renommage du champ",
23810 regles=(EXCLUS('NOM_CHAM_MED','NOM_RESU_MED'),),
23811 NOM_CHAM_MED =SIMP(statut='f',typ='TXM',
23812 validators=AndVal((LongStr(1,64), NoRepeat())), max='**'),
23813 NOM_RESU_MED =SIMP(statut='f',typ='TXM'),
23816 b_gmsh=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and((FORMAT == 'GMSH'))""",
23817 fr="sélection des composantes et des entités toplogiques",
23818 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
23819 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
23820 TYPE_CHAM =SIMP(statut='f',typ='TXM',defaut="SCALAIRE",
23821 into=("VECT_2D","VECT_3D","SCALAIRE","TENS_2D","TENS_3D"),),
23822 b_scal =BLOC(condition = "TYPE_CHAM=='SCALAIRE'",
23823 NOM_CMP =SIMP(statut='f',typ='TXM',max='**' ),),
23824 b_vect_2d =BLOC(condition = "TYPE_CHAM=='VECT_2D'",
23825 NOM_CMP =SIMP(statut='o',typ='TXM',min=2,max=2 ),),
23826 b_vect_3d =BLOC(condition = "TYPE_CHAM=='VECT_3D'",
23827 NOM_CMP =SIMP(statut='o',typ='TXM',min=3,max=3 ),),
23828 b_tens_2d =BLOC(condition = "TYPE_CHAM=='TENS_2D'",
23829 NOM_CMP =SIMP(statut='o',typ='TXM',min=4,max=4 ),),
23830 b_tens_3d =BLOC(condition = "TYPE_CHAM=='TENS_3D'",
23831 NOM_CMP =SIMP(statut='o',typ='TXM',min=6,max=6 ),),
23834 b_topologie=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and\
23835 ((FORMAT == 'RESULTAT')or(FORMAT == 'IDEAS')or(FORMAT == 'MED'))""",
23836 fr="sélection des entités topologiques",
23837 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
23838 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
23839 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
23840 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
23841 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
23844 b_valeurs=BLOC(condition="(FORMAT == 'RESULTAT')",
23845 fr="sélection sur les valeurs",
23846 VALE_MAX =SIMP(statut='f',typ='TXM',into=("OUI",) ),
23847 VALE_MIN =SIMP(statut='f',typ='TXM',into=("OUI",) ),
23848 BORNE_SUP =SIMP(statut='f',typ='R'),
23849 BORNE_INF =SIMP(statut='f',typ='R'),
23850 IMPR_COOR =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
23853 b_format_r=BLOC(condition="""((FORMAT == 'RESULTAT')or(FORMAT == 'ASTER'))""",
23854 fr="Format des nombres réels",
23855 FORMAT_R =SIMP(statut='f',typ='TXM',defaut="1PE21.14"),
23858 SOUS_TITRE =SIMP(statut='f',typ='TXM',max='**'),
23860 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
23863 # ======================================================================
23864 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
23865 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
23866 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
23867 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
23868 # (AT YOUR OPTION) ANY LATER VERSION.
23870 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
23871 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
23872 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
23873 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
23875 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
23876 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
23877 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
23878 # ======================================================================
23879 # person_in_charge: mathieu.courtois at edf.fr
23881 IMPR_TABLE=MACRO(nom="IMPR_TABLE",
23882 op=OPS('Macro.impr_table_ops.impr_table_ops'),
23884 UIinfo={"groupes":("Impression","Tables",)},
23885 fr="Impression du contenu d'une table dans un fichier",
23886 TABLE =SIMP(statut='o',typ=table_sdaster),
23887 FORMAT =SIMP(statut='f',typ='TXM',defaut="TABLEAU",
23888 into=("TABLEAU","ASTER","TABLEAU_CROISE","AGRAF","XMGRACE",),),
23889 b_pilote =BLOC(condition = "FORMAT == 'XMGRACE'",
23890 fr="Mots-clés propres à XMGRACE",
23891 PILOTE =SIMP(statut='f',typ='TXM',defaut='',
23892 into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'),
23893 fr="Pilote de sortie, PNG/JPEG/PDF ne sont pas disponibles sur toutes les installations de xmgrace"),
23894 UNITE =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29,
23895 fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
23897 b_unite =BLOC(condition = "FORMAT != 'XMGRACE'",
23898 UNITE =SIMP(statut='f',typ='I',defaut=8,
23899 fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
23901 FILTRE =FACT(statut='f',max='**',
23902 NOM_PARA =SIMP(statut='o',typ='TXM'),
23903 CRIT_COMP =SIMP(statut='f',typ='TXM',defaut="EQ",
23904 into=("EQ","LT","GT","NE","LE","GE","VIDE",
23905 "NON_VIDE","MAXI","MAXI_ABS","MINI","MINI_ABS"),),
23906 b_vale =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
23907 regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
23908 VALE =SIMP(statut='f',typ='R',max='**'),
23909 VALE_I =SIMP(statut='f',typ='I',max='**'),
23910 VALE_C =SIMP(statut='f',typ='C',max='**'),
23911 VALE_K =SIMP(statut='f',typ='TXM',max='**'),
23913 b_crit =BLOC(condition = "CRIT_COMP in ('EQ','NE')",
23914 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
23915 PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
23918 TRI =FACT(statut='f',
23919 NOM_PARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),
23920 ORDRE =SIMP(statut='f',typ='TXM',defaut="CROISSANT", # max='**',
23921 into=("CROISSANT","DECROISSANT") ),
23923 PAGINATION =SIMP(statut='f',typ='TXM',max='**'),
23924 FORMAT_R =SIMP(statut='f',typ='TXM',defaut="E12.5"),
23925 NOM_PARA =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
23926 IMPR_FONCTION =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
23928 # Mise en page du tableau ou du graphique
23929 b_tableau = BLOC(condition = "FORMAT == 'TABLEAU'",
23930 fr="Mots-clés propres au format Tableau",
23931 SEPARATEUR =SIMP(statut='f',typ='TXM',defaut=' ',
23932 fr="Séparateur des colonnes du tableau (ex : ' ', ';'...)"),
23933 COMMENTAIRE =SIMP(statut='f',typ='TXM',defaut='#',
23934 fr="Caractère indiquant au traceur de fonction que la ligne peut etre ignorée"),
23935 COMM_PARA =SIMP(statut='f',typ='TXM',defaut='',
23936 fr="Caractère utilisé pour commentariser la ligne des labels de colonnes"),
23937 DEBUT_LIGNE =SIMP(statut='f',typ='TXM',defaut='',
23938 fr="Caractère de debut de ligne"),
23939 FIN_LIGNE =SIMP(statut='f',typ='TXM',defaut='\n',
23940 fr="Caractère de fin de ligne"),
23943 # mise en forme pour les formats qui passent par Graph
23944 b_forme =BLOC(condition = "FORMAT == 'XMGRACE'",
23945 fr="Données de mise en forme du graphique",
23947 LEGENDE =SIMP(statut='f',typ='TXM',
23948 fr="Légende associée à la fonction" ),
23949 STYLE =SIMP(statut='f',typ='I',val_min=0,
23950 fr="Style de la ligne représentant la fonction",),
23951 COULEUR =SIMP(statut='f',typ='I',val_min=0,
23952 fr="Couleur associée à la fonction",),
23953 MARQUEUR =SIMP(statut='f',typ='I',val_min=0,
23954 fr="Type du marqueur associé à la fonction",),
23955 FREQ_MARQUEUR =SIMP(statut='f',typ='I',defaut=0,
23956 fr="Fréquence d impression du marqueur associé à la fonction", ),
23957 # format du graphique
23958 BORNE_X =SIMP(statut='f',typ='R',min=2,max=2,
23959 fr="Intervalles de variation des abscisses"),
23960 BORNE_Y =SIMP(statut='f',typ='R',min=2,max=2,
23961 fr="Intervalles de variation des ordonnées"),
23962 ECHELLE_X =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),
23963 fr="Type d'échelle pour les abscisses" ),
23964 ECHELLE_Y =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),
23965 fr="Type d'échelle pour les ordonnées" ),
23966 GRILLE_X =SIMP(statut='f',typ='R',max=1,val_min=0.,
23967 fr="Pas du quadrillage vertical" ),
23968 GRILLE_Y =SIMP(statut='f',typ='R',max=1,val_min=0.,
23969 fr="Pas du quadrillage horizontal" ),
23970 LEGENDE_X =SIMP(statut='f',typ='TXM',
23971 fr="Légende associée à l'axe des abscisses" ),
23972 LEGENDE_Y =SIMP(statut='f',typ='TXM',
23973 fr="Légende associée à l'axe des ordonnées" ),
23976 TITRE =SIMP(statut='f',typ='TXM',max='**'),
23977 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
23980 # ======================================================================
23981 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
23982 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
23983 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
23984 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
23985 # (AT YOUR OPTION) ANY LATER VERSION.
23987 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
23988 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
23989 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
23990 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
23992 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
23993 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
23994 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
23995 # ======================================================================
23996 # person_in_charge: mathieu.courtois at edf.fr
23998 INCLUDE=MACRO(nom="INCLUDE",
23999 op=OPS("Cata.ops.build_include"),
24000 UIinfo={"groupes":("Gestion du travail",)},
24001 fr="Débranchement vers un fichier de commandes secondaires",
24002 sd_prod=ops.INCLUDE,
24003 op_init=ops.INCLUDE_context,
24005 regles=(UN_PARMI('UNITE', 'DONNEE')),
24006 UNITE = SIMP(statut='f', typ='I',
24007 fr="Unité logique à inclure"),
24008 DONNEE = SIMP(statut='f', typ='Fichier',
24009 fr="Nom du fichier de données à inclure"),
24010 INFO = SIMP(statut='f', typ='I', defaut=1, into=(1, 2)),
24013 # ======================================================================
24014 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
24015 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
24016 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
24017 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
24018 # (AT YOUR OPTION) ANY LATER VERSION.
24020 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
24021 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
24022 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
24023 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
24025 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
24026 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
24027 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
24028 # ======================================================================
24029 # person_in_charge: mathieu.courtois at edf.fr
24031 INCLUDE_MATERIAU = MACRO(nom="INCLUDE_MATERIAU",
24032 op=OPS("Macro.include_materiau_ops.include_materiau_ops"),
24033 sd_prod=mater_sdaster,
24034 UIinfo={"groupes":("Modélisation", "Gestion du travail", )},
24035 fr="Récupérer les caractéristiques d'un matériau dans le Catalogue Materiaux d'Aster ",
24037 NOM_AFNOR = SIMP(statut='o', typ='TXM',),
24038 TYPE_MODELE = SIMP(statut='o', typ='TXM', into=("REF", "PAR"),),
24039 VARIANTE = SIMP(statut='o', typ='TXM',
24040 into=("A", "B", "C", "D", "E", "F", "G", "H", "I", "J",
24041 "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T",
24042 "U", "V", "W", "X", "Y", "Z",),),
24043 TYPE_VALE = SIMP(statut='o', typ='TXM', into=("NOMI", "MINI", "MAXI"),),
24044 #NOM_MATER = SIMP(statut='o', typ='TXM',),
24045 #UNITE = SIMP(statut='f', typ='I', defaut= 32,),
24046 EXTRACTION = FACT(statut='f',
24047 COMPOR = SIMP(statut='o', typ='TXM', max='**',),
24048 TEMP_EVAL = SIMP(statut='o', typ='R',),
24050 UNITE_LONGUEUR = SIMP(statut='f', typ='TXM', into=("M", "MM"), defaut="M",),
24051 INFO = SIMP(statut='f', typ='I', defaut= 1, into=(1, 2),),
24054 # ======================================================================
24055 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
24056 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
24057 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
24058 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
24059 # (AT YOUR OPTION) ANY LATER VERSION.
24061 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
24062 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
24063 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
24064 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
24066 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
24067 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
24068 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
24069 # ======================================================================
24070 # person_in_charge: j-pierre.lefebvre at edf.fr
24071 INFO_EXEC_ASTER=OPER(nom="INFO_EXEC_ASTER",op=35,sd_prod=table_sdaster,
24072 fr="Récupère différentes informations propres à l'exécution en cours",
24074 UIinfo={"groupes":("Gestion du travail",)},
24077 LISTE_INFO =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=3,
24078 into=("CPU_RESTANT","UNITE_LIBRE","ETAT_UNITE"),),
24079 b_etat_unite =BLOC(condition = "au_moins_un(LISTE_INFO, 'ETAT_UNITE')",
24080 regles=(UN_PARMI('UNITE','FICHIER'),),
24081 UNITE =SIMP(statut='f',typ='I',val_min=1,val_max=99,max=1,
24082 fr="Unité logique dont on veut obtenir l'état",),
24083 FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,255),
24084 fr="Nom du fichier dont on veut obtenir l'état",),
24086 TITRE =SIMP(statut='f',typ='TXM',max='**'),
24087 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
24090 # ======================================================================
24091 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
24092 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
24093 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
24094 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
24095 # (AT YOUR OPTION) ANY LATER VERSION.
24097 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
24098 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
24099 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
24100 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
24102 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
24103 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
24104 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
24105 # ======================================================================
24106 # person_in_charge: mathieu.courtois at edf.fr
24108 def info_fonction_prod(self,ECART_TYPE,RMS,NOCI_SEISME,MAX,NORME, **args):
24109 if (RMS != None): return table_sdaster
24110 if (MAX != None): return table_sdaster
24111 if (NOCI_SEISME != None): return table_sdaster
24112 if (ECART_TYPE != None): return table_sdaster
24113 if (NORME != None): return table_sdaster
24114 raise AsException("type de concept resultat non prevu")
24116 INFO_FONCTION=MACRO(nom="INFO_FONCTION",
24117 op=OPS('Macro.info_fonction_ops.info_fonction_ops'),
24118 sd_prod=info_fonction_prod,
24119 fr="Opérations mathématiques sur des concepts de type fonction, " \
24120 "fonction_c ou nappe",
24122 UIinfo={"groupes":("Fonctions",)},
24123 regles=(UN_PARMI('MAX','RMS','NOCI_SEISME','NORME','ECART_TYPE',),),
24124 RMS =FACT(statut='f',fr="Valeur RMS d'une fonction",max='**',
24125 METHODE =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ),
24126 FONCTION =SIMP(statut='o',typ=fonction_sdaster ),
24127 INST_INIT =SIMP(statut='f',typ='R',fr="Instant initial définissant le début du signal" ),
24128 INST_FIN =SIMP(statut='f',typ='R',fr="Instant final définissant la fin du signal" ),
24129 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
24130 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
24131 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0),),
24132 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
24133 PRECISION =SIMP(statut='o',typ='R'),),
24135 NOCI_SEISME =FACT(statut='f',
24136 regles=(UN_PARMI('FONCTION','SPEC_OSCI',),),
24137 FONCTION =SIMP(statut='f',typ=fonction_sdaster ),
24138 SPEC_OSCI =SIMP(statut='f',typ=nappe_sdaster ),
24139 b_option_f =BLOC(condition="""FONCTION != None""",
24140 OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",validators=NoRepeat(),
24141 into=("INTE_ARIAS","POUV_DEST","INTE_SPEC","VITE_ABSO_CUMU",
24142 "DUREE_PHAS_FORT","MAXI","ACCE_SUR_VITE","TOUT",), ),
24143 b_amor_red =BLOC(condition="""au_moins_un(OPTION, ("TOUT", "INTE_SPEC")) """,
24144 AMOR_REDUIT =SIMP(statut='o',typ='R'),),
24145 b_pesanteur =BLOC(condition="""au_moins_un(OPTION, ("TOUT", "INTE_ARIAS", "POUV_DEST", "DUREE_PHAS_FORT")) """,
24146 PESANTEUR =SIMP(statut='o',typ='R'),),
24148 b_option_n =BLOC(condition="""SPEC_OSCI !=None""",
24149 OPTION =SIMP(statut='f',typ='TXM',defaut="INTE_SPEC",into=("INTE_SPEC",), ),
24150 NATURE =SIMP(statut='o',typ='TXM',into=("DEPL","VITE","ACCE") ),
24151 AMOR_REDUIT =SIMP(statut='o',typ='R'), ),
24152 INST_INIT =SIMP(statut='f',typ='R'),
24153 INST_FIN =SIMP(statut='f',typ='R'),
24154 COEF =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
24155 FREQ_INIT =SIMP(statut='f',typ='R',defaut= 4.E-1 ),
24156 FREQ_FIN =SIMP(statut='f',typ='R',defaut= 10.E+0 ),
24157 LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ),
24158 FREQ =SIMP(statut='f',typ='R',max='**'),
24159 NORME =SIMP(statut='f',typ='R',defaut= 1.E+0 ),
24160 BORNE_INF =SIMP(statut='f',typ='R',defaut= 0.05E+0 ),
24161 BORNE_SUP =SIMP(statut='f',typ='R',defaut= 0.95E+0 ),
24162 b_acce_reel =BLOC(condition="(INST_INIT != None)or(INST_FIN != None)or(FREQ_INIT != None)or(FREQ_FIN != None)",
24163 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
24164 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
24165 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0),),
24166 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
24167 PRECISION =SIMP(statut='o',typ='R'),),
24170 MAX =FACT(statut='f',fr="Extrémas locaux d'une fonction",
24171 FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster),max='**' ),
24172 INTERVALLE =SIMP(statut='f',typ='R',min=2,max='**',
24173 fr ="définition des bornes des intervalles sous forme de couples (xi_i1,xs_i1,xi_i2,xs_i2)"),
24175 NORME =FACT(statut='f',fr="Norme L2 d'une fonction",
24176 FONCTION =SIMP(statut='o', typ=nappe_sdaster),
24178 ECART_TYPE =FACT(statut='f',fr="Ecart-type d'une fonction",
24179 METHODE =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ),
24180 FONCTION =SIMP(statut='o',typ=fonction_sdaster),
24181 INST_INIT =SIMP(statut='f',typ='R',fr="Instant initial définissant le début du signal" ),
24182 INST_FIN =SIMP(statut='f',typ='R',fr="Instant final définissant la fin du signal" ),
24183 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
24184 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
24185 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0),),
24186 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
24187 PRECISION =SIMP(statut='o',typ='R'),),
24189 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
24192 # ======================================================================
24193 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
24194 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
24195 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
24196 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
24197 # (AT YOUR OPTION) ANY LATER VERSION.
24199 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
24200 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
24201 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
24202 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
24204 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
24205 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
24206 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
24207 # ======================================================================
24208 # person_in_charge: olivier.boiteau at edf.fr
24209 INFO_MODE=OPER(nom="INFO_MODE",op=32,sd_prod=table_sdaster,
24210 fr="Calculer, imprimer, et sauvegarder le nombre de valeurs propres dans un contour donné",
24211 UIinfo={"groupes":("Résolution","Dynamique",)},
24213 TYPE_MODE =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE",into=("MODE_COMPLEXE","DYNAMIQUE",
24214 "MODE_FLAMB", "GENERAL"),
24215 fr="Type d analyse" ),
24216 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
24218 b_dynamique =BLOC(condition = "TYPE_MODE == 'DYNAMIQUE'",fr="Recherche du nombre de fréquences propres",
24219 MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r,
24220 matr_asse_depl_c,matr_asse_gene_c) ),
24221 MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r) ),
24222 FREQ =SIMP(statut='o',typ='R',min=2,max='**',
24223 validators=AndVal((OrdList('croissant'), NoRepeat())),
24224 fr="Liste de frequences" ),
24225 COMPTAGE =FACT(statut='d',
24226 METHODE =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AUTO","STURM")),
24227 SEUIL_FREQ =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
24228 PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2 ),
24229 NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0),
24233 b_flambement =BLOC(condition = "TYPE_MODE == 'MODE_FLAMB'",fr="Recherche du nombre de charges critiques",
24234 MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r,
24235 matr_asse_depl_c,matr_asse_gene_c) ),
24236 MATR_RIGI_GEOM =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r) ),
24237 CHAR_CRIT =SIMP(statut='o',typ='R',min=2,max='**',
24238 validators=AndVal((OrdList('croissant'), NoRepeat())),
24239 fr="Liste de charges critiques" ),
24240 COMPTAGE =FACT(statut='d',
24241 METHODE =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AUTO","STURM")),
24242 SEUIL_CHAR_CRIT =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
24243 PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2 ),
24244 NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0),
24248 b_complexe =BLOC(condition = "TYPE_MODE == 'MODE_COMPLEXE'",fr="Recherche du nombre de fréquences propres",
24249 MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r,
24250 matr_asse_depl_c,matr_asse_gene_c) ),
24251 MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r) ),
24252 MATR_AMOR =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r) ),
24253 TYPE_CONTOUR =SIMP(statut='f',typ='TXM',defaut="CERCLE",into=("CERCLE","CERCLE") ),
24254 RAYON_CONTOUR =SIMP(statut='o',typ='R',val_min=1.E-2 ),
24255 CENTRE_CONTOUR =SIMP(statut='f',typ='C',defaut= 0.0+0.0j),
24256 COMPTAGE =FACT(statut='d',
24257 METHODE =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AUTO","APM")),
24258 NBPOINT_CONTOUR =SIMP(statut='f',typ='I',defaut= 40,val_min=10,val_max=1000),
24259 NMAX_ITER_CONTOUR=SIMP(statut='f',typ='I',defaut= 3, val_min=1,val_max=5),
24263 b_general =BLOC(condition = "TYPE_MODE == 'GENERAL'",fr="Recherche du nombre de valeurs propres",
24264 MATR_A =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r,
24265 matr_asse_depl_c,matr_asse_gene_c) ),
24266 MATR_B =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r) ),
24267 MATR_C =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r) ),
24268 CHAR_CRIT =SIMP(statut='f',typ='R',min=2,max='**',
24269 validators=AndVal((OrdList('croissant'), NoRepeat())),
24270 fr="Liste de charges critiques" ),
24271 b_contour =BLOC(condition = "CHAR_CRIT == None",
24272 TYPE_CONTOUR =SIMP(statut='f',typ='TXM',defaut="CERCLE",into=("CERCLE","CERCLE") ),
24273 RAYON_CONTOUR =SIMP(statut='o',typ='R',val_min=1.E-2 ),
24274 CENTRE_CONTOUR =SIMP(statut='f',typ='C',defaut= 0.0+0.0j),),
24275 COMPTAGE =FACT(statut='d',
24276 METHODE =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AUTO","STURM","APM")),
24277 SEUIL_CHAR_CRIT =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
24278 PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2 ),
24279 NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0), ),
24280 NBPOINT_CONTOUR =SIMP(statut='f',typ='I',defaut= 40,val_min=10,val_max=1000),
24281 NMAX_ITER_CONTOUR=SIMP(statut='f',typ='I',defaut= 3, val_min=1,val_max=5),
24284 TITRE =SIMP(statut='f',typ='TXM',max='**'),
24286 #-------------------------------------------------------------------
24287 # Catalogue commun SOLVEUR
24288 SOLVEUR =C_SOLVEUR('INFO_MODE'),
24289 # Mot-cle pour piloter les niveaux de parallelismes de l'operateur (a ne pas confondre avec le mot-cle
24290 # cache PARALLELISME_MACRO)
24291 NIVEAU_PARALLELISME =SIMP(statut='f',typ='TXM',defaut="COMPLET",into=("PARTIEL","COMPLET") ),
24292 #-------------------------------------------------------------------
24293 #-------------------------------------------------------------------
24294 # Mot-cles caches pour activer le parallelisme au sein d'une macro-commande
24295 PARALLELISME_MACRO=FACT(statut='d',min=0,
24296 TYPE_COM =SIMP(statut='c',typ='I',defaut=-999,into=(-999,1,2),fr="Type de communication"),
24298 #-------------------------------------------------------------------
24302 # ======================================================================
24303 # COPYRIGHT (C) 1991 - 2010 EDF R&D WWW.CODE-ASTER.ORG
24304 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
24305 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
24306 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
24307 # (AT YOUR OPTION) ANY LATER VERSION.
24309 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
24310 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
24311 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
24312 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
24314 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
24315 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
24316 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
24317 # ======================================================================
24318 # person_in_charge: nicolas.sellenet at edf.fr
24319 INFO_RESU=PROC(nom="INFO_RESU",op=40,
24320 UIinfo={"groupes":("Impression","Utilitaires",)},
24321 fr="Imprimer tous les champs présents dans une structure de données résultat",
24322 RESULTAT=SIMP(statut='f',typ=resultat_sdaster),
24323 UNITE=SIMP(statut='f',typ='I',defaut=6),
24326 # ======================================================================
24327 # COPYRIGHT (C) 1991 - 2010 EDF R&D WWW.CODE-ASTER.ORG
24328 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
24329 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
24330 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
24331 # (AT YOUR OPTION) ANY LATER VERSION.
24333 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
24334 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
24335 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
24336 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
24338 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
24339 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
24340 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
24341 # ======================================================================
24342 # person_in_charge: nicolas.greffet at edf.fr
24343 INIT_COMPO=PROC(nom="INIT_COMPO",
24345 UIinfo={"groupes":("Gestion du travail",)},
24346 fr="Initialiser adresse component YACS",
24347 COMPO =SIMP(statut='o',typ='I',),
24350 # ======================================================================
24351 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
24352 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
24353 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
24354 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
24355 # (AT YOUR OPTION) ANY LATER VERSION.
24357 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
24358 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
24359 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
24360 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
24362 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
24363 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
24364 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
24365 # ======================================================================
24366 # person_in_charge: xavier.desroches at edf.fr
24367 INTE_MAIL_2D=OPER(nom="INTE_MAIL_2D",op=50,sd_prod=courbe_sdaster,
24368 UIinfo={"groupes":("Post-traitements",)},
24369 fr="Définition d'une courbe dans un maillage 2D",reentrant='n',
24371 MAILLAGE =SIMP(statut='o',typ=(maillage_sdaster) ),
24373 regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
24374 AU_MOINS_UN('DEFI_SEGMENT','DEFI_ARC','DEFI_CHEMIN'),
24375 PRESENT_ABSENT('DEFI_CHEMIN','DEFI_SEGMENT','DEFI_ARC'),
24376 PRESENT_ABSENT('DEFI_SEGMENT','NOEUD_ORIG','GROUP_NO_ORIG'),
24377 PRESENT_ABSENT('DEFI_ARC','NOEUD_ORIG','GROUP_NO_ORIG'),
24378 EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),
24379 EXCLUS('DEFI_CHEMIN','DEFI_SEGMENT'),
24380 EXCLUS('DEFI_CHEMIN','DEFI_ARC'),),
24382 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
24383 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
24384 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
24386 DEFI_SEGMENT =FACT(statut='f',max='**',
24387 regles=(UN_PARMI('ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'),
24388 UN_PARMI('EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'),),
24389 ORIGINE =SIMP(statut='f',typ='R',min=2,max=2),
24390 NOEUD_ORIG =SIMP(statut='f',typ=no,),
24391 GROUP_NO_ORIG =SIMP(statut='f',typ=grno,),
24392 EXTREMITE =SIMP(statut='f',typ='R',min=2,max=2),
24393 NOEUD_EXTR =SIMP(statut='f',typ=no,),
24394 GROUP_NO_EXTR =SIMP(statut='f',typ=grno,),
24397 DEFI_ARC =FACT(statut='f',max='**',
24398 regles=(UN_PARMI('CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE'),
24399 UN_PARMI('RAYON','ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'),
24400 UN_PARMI('RAYON','EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'),
24401 PRESENT_PRESENT('RAYON','SECTEUR'),),
24402 CENTRE =SIMP(statut='f',typ='R',min=2,max=2),
24403 NOEUD_CENTRE =SIMP(statut='f',typ=no,),
24404 GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,),
24405 RAYON =SIMP(statut='f',typ='R',val_min=0.E+0),
24406 SECTEUR =SIMP(statut='f',typ='R',min=2,max=2,
24407 val_min=-180.E+0,val_max=180E+0),
24408 ORIGINE =SIMP(statut='f',typ='R',min=2,max=2),
24409 NOEUD_ORIG =SIMP(statut='f',typ=no,),
24410 GROUP_NO_ORIG =SIMP(statut='f',typ=grno,),
24411 EXTREMITE =SIMP(statut='f',typ='R',min=2,max=2),
24412 NOEUD_EXTR =SIMP(statut='f',typ=no,),
24413 GROUP_NO_EXTR =SIMP(statut='f',typ=grno,),
24414 PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
24415 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",
24416 into=("RELATIF","ABSOLU",) ),
24419 DEFI_CHEMIN =FACT(statut='f',max='**',
24420 regles=(UN_PARMI('MAILLE','GROUP_MA'),),
24421 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
24422 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
24425 NOEUD_ORIG =SIMP(statut='f',typ=no,),
24426 GROUP_NO_ORIG =SIMP(statut='f',typ=grno,),
24427 PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3),
24428 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
24431 # ======================================================================
24432 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
24433 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
24434 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
24435 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
24436 # (AT YOUR OPTION) ANY LATER VERSION.
24438 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
24439 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
24440 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
24441 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
24443 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
24444 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
24445 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
24446 # ======================================================================
24447 # person_in_charge: xavier.desroches at edf.fr
24448 INTE_MAIL_3D=OPER(nom="INTE_MAIL_3D",op=96,sd_prod=surface_sdaster,
24449 UIinfo={"groupes":("Post-traitements",)},
24450 fr="Définir un chemin de type segment de droite dans un maillage 3D",reentrant='n',
24451 MAILLAGE =SIMP(statut='o',typ=maillage_sdaster),
24452 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
24453 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
24454 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
24455 DEFI_SEGMENT =FACT(statut='o',max='**',
24456 regles=(UN_PARMI('ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'),
24457 UN_PARMI('EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'),),
24458 ORIGINE =SIMP(statut='f',typ='R',min=3,max=3),
24459 NOEUD_ORIG =SIMP(statut='f',typ=no,),
24460 GROUP_NO_ORIG =SIMP(statut='f',typ=grno,),
24461 EXTREMITE =SIMP(statut='f',typ='R',min=3,max=3),
24462 NOEUD_EXTR =SIMP(statut='f',typ=no,),
24463 GROUP_NO_EXTR =SIMP(statut='f',typ=grno,),
24465 PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-6),
24466 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
24469 # ======================================================================
24470 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
24471 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
24472 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
24473 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
24474 # (AT YOUR OPTION) ANY LATER VERSION.
24476 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
24477 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
24478 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
24479 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
24481 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
24482 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
24483 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
24484 # ======================================================================
24485 # person_in_charge: nicolas.sellenet at edf.fr
24486 def lire_champ_prod(TYPE_CHAM=None,**args):
24487 # Remarque : si cette liste évolue, il faut penser à mettre à jour son
24488 # homologue dans macr_adap_mail
24489 if TYPE_CHAM[0:5] == "NOEU_" : return cham_no_sdaster
24490 if TYPE_CHAM[0:5] == "CART_" : return carte_sdaster
24491 if TYPE_CHAM[0:2] == "EL" : return cham_elem
24492 raise AsException("type de concept resultat non prevu")
24494 LIRE_CHAMP=OPER(nom="LIRE_CHAMP",op= 192,sd_prod=lire_champ_prod,
24495 UIinfo={"groupes":("Lecture","Résultats et champs",)},
24496 fr="Lire un champ dans un fichier au format MED et le stocker dans un concept.",
24498 MAILLAGE =SIMP(statut='o',typ=maillage_sdaster,),
24499 FORMAT =SIMP(statut='f',typ='TXM',defaut="MED",into=("MED",),),
24500 UNITE =SIMP(statut='f',typ='I',defaut= 81,),
24501 b_format =BLOC(condition = "FORMAT == 'MED'",
24502 regles=( UN_PARMI('NOM_CMP_IDEM','NOM_CMP'),
24503 PRESENT_PRESENT('NOM_CMP','NOM_CMP_MED' ),
24504 EXCLUS('NUME_ORDRE','INST'),
24505 EXCLUS('NUME_PT','INST'),),
24506 NOM_MED =SIMP(statut='o',typ='TXM', ),
24507 NOM_CMP_IDEM =SIMP(statut='f',typ='TXM',into=("OUI",), ),
24508 NOM_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',),
24509 NOM_CMP_MED =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',),
24510 PROL_ZERO =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",),
24511 fr="Affecte des valeurs nulles la ou le champ n'est pas defini (sinon il y a NaN)"),
24512 NUME_PT =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**',),
24513 NUME_ORDRE =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**',
24514 fr="Numero d ordre du champ à lire",ang="Rank of the field to be read" ),
24515 INST =SIMP(statut='f',typ='R',fr="Instant associé",ang="Instant" ),
24517 b_precision =BLOC(condition="(INST != None)",
24518 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),
24519 fr="Critère de précision sur le choix de l'instant associé",
24520 ang="Accuracy criterium over instant choice" ),
24521 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
24522 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,
24523 fr="Précision sur le choix de l'instant associé",ang="Accuracy over instant choice" ),),
24524 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
24525 PRECISION =SIMP(statut='o',typ='R',
24526 fr="Précision sur le choix de l'instant associé",ang="Accuracy over instant choice" ),),),
24528 NOM_MAIL_MED =SIMP(statut='f',typ='TXM',),
24530 # Remarque : si cette liste évolue, il faut penser à mettre à jour son
24531 # homologue dans macr_adap_mail
24532 TYPE_CHAM =SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO()),
24533 b_modele =BLOC(condition = "TYPE_CHAM!=None and (TYPE_CHAM[0:2] == 'EL')",
24534 MODELE =SIMP(statut='o',typ=modele_sdaster, ),
24536 INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
24539 # ======================================================================
24540 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
24541 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
24542 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
24543 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
24544 # (AT YOUR OPTION) ANY LATER VERSION.
24546 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
24547 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
24548 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
24549 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
24551 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
24552 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
24553 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
24554 # ======================================================================
24555 # person_in_charge: mathieu.courtois at edf.fr
24558 def lire_fonction_prod(self,TYPE,**args):
24559 if (TYPE == 'FONCTION') : return fonction_sdaster
24560 elif (TYPE == 'FONCTION_C'): return fonction_c
24561 elif (TYPE == 'NAPPE' ) : return nappe_sdaster
24562 raise AsException("type de concept resultat non prevu")
24564 LIRE_FONCTION=MACRO(nom="LIRE_FONCTION",
24565 op=OPS('Macro.lire_fonction_ops.lire_fonction_ops'),
24566 sd_prod=lire_fonction_prod,
24567 fr="Lit les valeurs réelles dans un fichier de données représentant une " \
24568 "fonction et crée un concept de type fonction ou nappe",
24570 UIinfo={"groupes":("Lecture","Fonctions",)},
24571 FORMAT =SIMP(statut='f',typ='TXM',into=("LIBRE",),defaut="LIBRE" ),
24572 TYPE =SIMP(statut='f',typ='TXM',into=("FONCTION","FONCTION_C","NAPPE"),defaut="FONCTION" ),
24573 SEPAR =SIMP(statut='f',typ='TXM',into=("None",",",";","/"),defaut="None" ),
24574 INDIC_PARA =SIMP(statut='f',typ='I',min=2,max=2,defaut=[1,1]),
24575 b_fonction =BLOC(condition = "TYPE=='FONCTION' ",
24576 INDIC_RESU =SIMP(statut='f',typ='I',min=2,max=2,defaut=[1,2]), ),
24577 b_fonction_c =BLOC(condition = "TYPE=='FONCTION_C' ",
24578 FORMAT_C =SIMP(statut='f',typ='TXM',defaut="REEL_IMAG",into=("REEL_IMAG","MODULE_PHASE") ),
24579 b_reel_imag =BLOC(condition = "FORMAT_C=='REEL_IMAG' ",
24580 INDIC_REEL =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,2]),
24581 INDIC_IMAG =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,3]), ) ,
24582 b_modu_phas =BLOC(condition = "FORMAT_C=='MODULE_PHASE' ",
24583 INDIC_MODU =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,2]),
24584 INDIC_PHAS =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,3]), ), ),
24585 b_nappe =BLOC(condition = "TYPE=='NAPPE' ",
24586 NOM_PARA_FONC =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ),
24587 INDIC_ABSCISSE =SIMP(statut='o',typ='I',min=2,max=2,),
24588 INTERPOL_FONC =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG"),
24589 fr="Type d'interpolation pour les abscisses et les ordonnées de la fonction"),
24590 PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
24591 PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
24592 DEFI_FONCTION =FACT(statut='f',max='**',
24593 INDIC_RESU =SIMP(statut='o',typ='I',min=2,max=2,),), ),
24594 UNITE =SIMP(statut='o',typ='I' ),
24595 NOM_PARA =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ),
24596 NOM_RESU =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"),
24597 INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG"),
24598 fr="Type d'interpolation pour les abscisses et les ordonnées de la " \
24599 "fonction ou bien pour le paramètre de la nappe."),
24600 PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
24601 PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
24602 VERIF =SIMP(statut='f',typ='TXM',defaut="CROISSANT",into=("CROISSANT","NON") ),
24603 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
24604 TITRE =SIMP(statut='f',typ='TXM',max='**'),
24607 # ======================================================================
24608 # COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG
24609 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
24610 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
24611 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
24612 # (AT YOUR OPTION) ANY LATER VERSION.
24614 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
24615 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
24616 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
24617 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
24619 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
24620 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
24621 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
24622 # ======================================================================
24623 # person_in_charge: Georges-cc.devesa at edf.fr
24624 LIRE_FORC_MISS=OPER(nom="LIRE_FORC_MISS",op= 179,sd_prod=vect_asse_gene,
24625 fr="Création d'un vecteur assemblé à partir d'une base modale",
24627 UIinfo={"groupes":("Matrices et vecteurs","Outils-métier",)},
24628 BASE =SIMP(statut='o',typ=mode_meca),
24629 NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ),
24630 FREQ_EXTR =SIMP(statut='o',typ='R',max=1),
24631 NOM_CMP =SIMP(statut='f',typ='TXM',into=("DX","DY","DZ") ),
24632 NOM_CHAM =SIMP(statut='f',typ='TXM',into=("DEPL","VITE","ACCE"),defaut="DEPL"),
24633 NUME_CHAR =SIMP(statut='f',typ='I' ),
24634 ISSF =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","OUI") ),
24635 UNITE_RESU_FORC =SIMP(statut='f',typ='I',defaut=30),
24636 NOM_RESU_FORC =SIMP(statut='f',typ='TXM' ),
24639 # ======================================================================
24640 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
24641 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
24642 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
24643 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
24644 # (AT YOUR OPTION) ANY LATER VERSION.
24646 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
24647 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
24648 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
24649 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
24651 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
24652 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
24653 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
24654 # ======================================================================
24655 # person_in_charge: Georges-cc.devesa at edf.fr
24656 LIRE_IMPE_MISS=OPER(nom="LIRE_IMPE_MISS",op= 164,sd_prod=matr_asse_gene_c,
24657 fr="Création d une matrice assemblée à partir de base modale",
24659 UIinfo={"groupes":("Matrices et vecteurs","Outils-métier",)},
24660 BASE =SIMP(statut='o',typ=mode_meca ),
24661 NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ),
24662 FREQ_EXTR =SIMP(statut='f',typ='R',max=1),
24663 INST_EXTR =SIMP(statut='f',typ='R',max=1),
24664 UNITE_RESU_IMPE =SIMP(statut='f',typ='I',defaut=30),
24665 ISSF =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","OUI") ),
24666 TYPE =SIMP(statut='f',typ='TXM',defaut="ASCII",into=("BINAIRE","ASCII") ),
24667 SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","OUI") ),
24670 # ======================================================================
24671 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
24672 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
24673 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
24674 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
24675 # (AT YOUR OPTION) ANY LATER VERSION.
24677 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
24678 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
24679 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
24680 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
24682 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
24683 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
24684 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
24685 # ======================================================================
24686 # person_in_charge: irmela.zentner at edf.fr
24689 LIRE_INTE_SPEC=MACRO(nom="LIRE_INTE_SPEC",
24690 op=OPS('Macro.lire_inte_spec_ops.lire_inte_spec_ops'),
24691 sd_prod=interspectre,
24692 fr="Lecture sur un fichier externe de fonctions complexes pour " \
24693 "créer une matrice interspectrale",
24695 UIinfo={"groupes":("Lecture","Fonctions",)},
24696 UNITE =SIMP(statut='o',typ='I' ),
24697 FORMAT_C =SIMP(statut='f',typ='TXM',defaut="MODULE_PHASE",into=("REEL_IMAG","MODULE_PHASE") ),
24698 FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","IDEAS") ),
24699 NOM_PARA =SIMP(statut='f',typ='TXM',defaut="FREQ",
24700 into=("DX","DY","DZ","DRX","DRY","DRZ","TEMP",
24701 "INST","X","Y","Z","EPSI","FREQ","PULS","AMOR","ABSC",) ),
24702 NOM_RESU =SIMP(statut='f',typ='TXM',defaut="DSP" ),
24703 INTERPOL =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ),
24704 PROL_DROITE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
24705 PROL_GAUCHE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
24706 TITRE =SIMP(statut='f',typ='TXM',max='**'),
24707 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
24710 # ======================================================================
24711 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
24712 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
24713 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
24714 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
24715 # (AT YOUR OPTION) ANY LATER VERSION.
24717 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
24718 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
24719 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
24720 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
24722 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
24723 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
24724 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
24725 # ======================================================================
24726 # person_in_charge: jacques.pellet at edf.fr
24727 LIRE_MAILLAGE=OPER(nom="LIRE_MAILLAGE",op= 1,sd_prod=maillage_sdaster,
24728 fr="Crée un maillage par lecture d'un fichier au format Aster ou Med",
24729 ang="Readings of a mesh file",
24731 UIinfo={"groupes":("Lecture","Maillage",)},
24733 UNITE =SIMP(statut='f',typ='I',defaut= 20 ),
24735 FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","MED"),
24736 fr="Format du fichier : ASTER ou MED.",
24737 ang="Format of the file : ASTER or MED.",),
24739 ABSC_CURV =FACT(statut='f',min=0,
24740 TOUT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
24743 VERI_MAIL =FACT(statut='d',
24744 VERIF =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
24745 APLAT =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
24748 b_format_med =BLOC( condition = " ( FORMAT == 'MED' ) " ,
24749 fr="Informations complémentaires pour la lecture MED.",
24750 ang="Further information for MED readings.",
24752 # Pour une lecture dans un fichier MED, on peut préciser le nom sous lequel
24753 # le maillage y a été enregistré. Par défaut, on va le chercher sous le nom du concept à créer.
24754 NOM_MED = SIMP(statut='f',typ='TXM',
24755 fr="Nom du maillage dans le fichier MED.",
24756 ang="Name of the mesh into the MED file.",),
24757 INFO_MED = SIMP(statut='f',typ='I',defaut= 1,into=(1,2,3) ),
24759 RENOMME = FACT(statut='f', max='**',
24760 fr="Renommer un nom de groupe MED",
24761 NOM_MED = SIMP(statut='o', typ='TXM', validators=LongStr(1, 64),
24762 fr="Nom du groupe dans le fichier MED"),
24763 NOM = SIMP(statut='o', typ=grma,
24764 fr="Nom du groupe dans le maillage ASTER"),
24768 INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
24771 # ======================================================================
24772 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
24773 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
24774 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
24775 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
24776 # (AT YOUR OPTION) ANY LATER VERSION.
24778 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
24779 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
24780 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
24781 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
24783 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
24784 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
24785 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
24786 # ======================================================================
24787 # person_in_charge: serguei.potapov at edf.fr
24789 LIRE_PLEXUS=OPER(nom="LIRE_PLEXUS",op= 184,sd_prod=evol_char,
24790 fr="Lire le fichier de résultats au format IDEAS produit par le logiciel EUROPLEXUS",
24792 UIinfo={"groupes":("Lecture","Outils-métier",)},
24793 regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),),
24794 UNITE =SIMP(statut='f',typ='I',defaut= 19 ),
24795 FORMAT =SIMP(statut='f',typ='TXM',defaut="IDEAS",into=("IDEAS",)),
24796 MAIL_PLEXUS =SIMP(statut='o',typ=maillage_sdaster ),
24797 MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ),
24798 MODELE =SIMP(statut='o',typ=modele_sdaster ),
24799 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
24800 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
24801 LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster ),
24802 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
24803 LIST_INST =SIMP(statut='f',typ=listr8_sdaster ),
24804 b_prec_crit =BLOC(condition = "LIST_INST != None or INST != None",
24805 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
24806 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
24807 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
24808 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
24809 PRECISION =SIMP(statut='o',typ='R',),),),
24810 TITRE =SIMP(statut='f',typ='TXM',max='**'),
24813 # ======================================================================
24814 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
24815 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
24816 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
24817 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
24818 # (AT YOUR OPTION) ANY LATER VERSION.
24820 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
24821 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
24822 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
24823 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
24825 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
24826 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
24827 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
24828 # ======================================================================
24829 # person_in_charge: j-pierre.lefebvre at edf.fr
24831 def lire_resu_prod(TYPE_RESU,**args):
24832 if TYPE_RESU == "EVOL_CHAR" : return evol_char
24833 if TYPE_RESU == "EVOL_THER" : return evol_ther
24834 if TYPE_RESU == "EVOL_ELAS" : return evol_elas
24835 if TYPE_RESU == "EVOL_NOLI" : return evol_noli
24836 if TYPE_RESU == "DYNA_TRANS" : return dyna_trans
24837 if TYPE_RESU == "DYNA_HARMO" : return dyna_harmo
24838 if TYPE_RESU == "MODE_MECA" : return mode_meca
24839 if TYPE_RESU == "MODE_MECA_C" : return mode_meca_c
24840 if TYPE_RESU == "EVOL_VARC" : return evol_varc
24841 raise AsException("type de concept resultat non prevu")
24843 # pour éviter d'écrire 3 fois cette liste :
24844 def l_nom_cham_pas_elga() :
24845 return list(set(C_NOM_CHAM_INTO())-set(C_NOM_CHAM_INTO('ELGA',)))
24847 LIRE_RESU=OPER(nom="LIRE_RESU",op=150,sd_prod=lire_resu_prod,reentrant='n',
24848 UIinfo={"groupes":("Lecture","Resultats et champs",)},
24849 fr="Lire dans un fichier, soit format IDEAS, soit au format ENSIGHT soit au format MED,"
24850 +" des champs et les stocker dans une SD résultat",
24853 # 0) mots cles generaux :
24854 #----------------------
24855 TYPE_RESU =SIMP(statut='o',typ='TXM',into=("EVOL_THER","EVOL_ELAS","EVOL_NOLI","MODE_MECA",
24856 "MODE_MECA_C","DYNA_TRANS","DYNA_HARMO",
24857 "EVOL_CHAR","EVOL_VARC") ),
24859 FORMAT =SIMP(statut='o',typ='TXM',into=("IDEAS","IDEAS_DS58","ENSIGHT","MED") ),
24861 INFO =SIMP(statut='f',typ='I',into=(1,2) ),
24862 TITRE =SIMP(statut='f',typ='TXM',max='**'),
24864 regles=(UN_PARMI('MAILLAGE','MODELE'),),
24865 MAILLAGE =SIMP(statut='f',typ=maillage_sdaster),
24866 MODELE =SIMP(statut='f',typ=modele_sdaster),
24867 COMPORTEMENT =C_COMPORTEMENT(),
24868 NB_VARI =SIMP(statut='f',typ='I' ),
24870 CHAM_MATER =SIMP(statut='f',typ=cham_mater,),
24872 CARA_ELEM =SIMP(statut='f',typ=cara_elem,),
24874 b_evol_elas = BLOC(condition="TYPE_RESU=='EVOL_ELAS'",
24875 EXCIT =FACT(statut='f',max='**',
24876 CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
24877 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
24878 TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),),
24881 b_evol_ther = BLOC(condition="TYPE_RESU=='EVOL_THER'",
24882 EXCIT =FACT(statut='f',max='**',
24883 CHARGE =SIMP(statut='o',typ=(char_ther,char_cine_ther)),
24884 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),),
24887 b_evol_noli = BLOC(condition="TYPE_RESU=='EVOL_NOLI'",
24888 EXCIT =FACT(statut='f',max='**',
24889 CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
24890 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
24891 TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
24892 into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")),
24893 DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
24894 ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
24895 VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
24896 MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
24897 DIRECTION =SIMP(statut='f',typ='R',max='**'),
24898 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
24899 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),),
24903 # 1) blocs selon le format choisi :
24904 #---------------------------------
24906 # 1-1 ideas dataset-58 :
24907 # ----------------------
24908 b_dataset_58 = BLOC(condition="FORMAT=='IDEAS_DS58'",
24909 UNITE =SIMP(statut='f',typ='I',defaut= 19 ),
24911 b_dataset_58_b = BLOC(condition="(FORMAT=='IDEAS_DS58') and ((TYPE_RESU=='DYNA_TRANS') or\
24912 (TYPE_RESU=='DYNA_HARMO'))",
24913 NOM_CHAM=SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=("DEPL","VITE","ACCE","EPSI_NOEU","SIEF_NOEU",),max='**'),
24914 REDEFI_ORIENT=FACT(statut='f',max='**',
24915 regles=(PRESENT_PRESENT('CODE_DIR','DIRECTION','NOEUD',),),
24916 CODE_DIR =SIMP(statut='f',typ='I',into=(1,2,3,) ),
24917 DIRECTION=SIMP(statut='f',typ='R',min=3,max=3,),
24918 NOEUD =SIMP(statut='f',typ=no,validators=NoRepeat(),max='**'),),
24923 b_ideas =BLOC(condition="FORMAT=='IDEAS'",
24924 UNITE =SIMP(statut='f',typ='I',defaut= 19 ),
24925 # TEST =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ),
24926 NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=l_nom_cham_pas_elga()),
24927 PROL_ZERO =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",),
24928 fr="Affecte des valeurs nulles la ou le champ n'est pas defini"),
24929 FORMAT_IDEAS =FACT(statut='f',max='**',
24930 regles=(UN_PARMI('POSI_INST','POSI_FREQ'),),
24931 NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=l_nom_cham_pas_elga()),
24932 NUME_DATASET =SIMP(statut='f',typ='I',into=(55,57,2414) ),
24933 RECORD_3 =SIMP(statut='f',typ='I',max=10),
24934 RECORD_6 =SIMP(statut='f',typ='I',max=10),
24935 RECORD_9 =SIMP(statut='f',typ='I',max=10),
24936 POSI_ORDRE =SIMP(statut='o',typ='I',min=2,max=2),
24937 POSI_NUME_MODE =SIMP(statut='f',typ='I',min=2,max=2),
24938 POSI_MASS_GENE =SIMP(statut='f',typ='I',min=2,max=2),
24939 POSI_AMOR_GENE =SIMP(statut='f',typ='I',min=2,max=2),
24940 POSI_INST =SIMP(statut='f',typ='I',min=2,max=2),
24941 POSI_FREQ =SIMP(statut='f',typ='I',min=2,max=2),
24942 NOM_CMP =SIMP(statut='o',typ='TXM',max='**'),),
24947 b_ensight =BLOC(condition="FORMAT=='ENSIGHT'",
24948 NOM_FICHIER =SIMP(statut='f',typ='TXM'),
24949 NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=l_nom_cham_pas_elga()),
24954 b_med =BLOC(condition = "FORMAT == 'MED'",fr="Nom du champ dans le fichier MED",
24955 UNITE =SIMP(statut='f',typ='I',defaut= 81, fr="Le fichier est : fort.n.",),
24956 FORMAT_MED =FACT(statut='o',max='**',
24957 regles=(ENSEMBLE('NOM_CMP','NOM_CMP_MED'),UN_PARMI('NOM_CHAM_MED','NOM_RESU'),),
24958 NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO(),),
24959 NOM_CHAM_MED =SIMP(statut='f',typ='TXM', fr="Nom du champ dans le fichier MED.", ),
24960 NOM_RESU =SIMP(statut='f',typ='TXM', fr="Prefixe du nom de champ dans le fichier MED.", ),
24961 NOM_CMP =SIMP(statut='f',typ='TXM',max='**', fr="Nom des composantes dans ASTER.", ),
24962 NOM_CMP_MED =SIMP(statut='f',typ='TXM',max='**', fr="Nom des composantes dans MED.", ),
24964 PROL_ZERO =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",),
24965 fr="Affecte des valeurs nulles la ou le champ n'est pas defini (sinon il y a NaN)"),
24968 # 2) blocs selon le type du resultat :
24969 #---------------------------------
24970 b_mode_meca =BLOC(condition="(TYPE_RESU=='MODE_MECA')or(TYPE_RESU=='MODE_MECA_C')",
24971 # Ces mots cles sont stockes dans l'objet .REFD des mode_meca
24972 # Ces mots cles sont aussi utilises pour imposer la numerotation des cham_no de DEPL_R
24973 MATR_RIGI =SIMP(statut='f',typ=matr_asse_depl_r,max=1),
24974 MATR_MASS =SIMP(statut='f',typ=matr_asse_depl_r,max=1),
24978 # 3) autres blocs :
24979 #---------------------------------
24980 b_extrac =BLOC(condition="1",fr="acces a un champ dans la structure de donnees resultat",
24981 regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST','FREQ','LIST_FREQ'),),
24982 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
24983 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
24984 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
24985 LIST_INST =SIMP(statut='f',typ=listr8_sdaster),
24986 LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster),
24987 FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
24988 LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster),
24990 b_acce_reel =BLOC(condition="(INST != None)or(LIST_INST != None)or(FREQ != None)or(LIST_FREQ != None)",
24991 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
24992 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
24993 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
24994 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
24995 PRECISION =SIMP(statut='o',typ='R',),),
25000 # ======================================================================
25001 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
25002 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
25003 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
25004 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
25005 # (AT YOUR OPTION) ANY LATER VERSION.
25007 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
25008 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
25009 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
25010 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
25012 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
25013 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
25014 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
25015 # ======================================================================
25016 # person_in_charge: mathieu.courtois at edf.fr
25019 LIRE_TABLE=MACRO(nom="LIRE_TABLE",
25020 op=OPS('Macro.lire_table_ops.lire_table_ops'),
25021 sd_prod=table_sdaster,
25022 fr="Lecture d'un fichier contenant une table",
25023 UIinfo={"groupes":("Lecture","Tables",)},
25024 UNITE = SIMP(statut='o', typ='I' ),
25025 FORMAT = SIMP(statut='f', typ='TXM', into=("ASTER", "LIBRE", "TABLEAU"), defaut="TABLEAU"),
25026 NUME_TABLE = SIMP(statut='f', typ='I', defaut=1),
25027 SEPARATEUR = SIMP(statut='f', typ='TXM', defaut=' '),
25028 RENOMME_PARA = SIMP(statut='f', typ='TXM', into=("UNIQUE",),),
25029 TITRE = SIMP(statut='f', typ='TXM', max='**'),
25030 INFO = SIMP(statut='f', typ='I', into=(1, 2), ),
25033 # ======================================================================
25034 # COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG
25035 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
25036 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
25037 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
25038 # (AT YOUR OPTION) ANY LATER VERSION.
25040 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
25041 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
25042 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
25043 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
25045 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
25046 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
25047 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
25048 # ======================================================================
25049 # person_in_charge: harinaivo.andriambololona at edf.fr
25051 MAC_MODES=OPER(nom="MAC_MODES",op= 141,sd_prod=table_sdaster,
25052 fr="Critere orthogonalite de modes propres",
25054 UIinfo={"groupes":("Résolution","Dynamique",)},
25055 regles=(PRESENT_PRESENT('IERI','MATR_ASSE'),),
25056 BASE_1 =SIMP(statut='o',typ=(mode_meca,mode_meca_c,mode_flamb) ),
25057 BASE_2 =SIMP(statut='o',typ=(mode_meca,mode_meca_c,mode_flamb) ),
25058 MATR_ASSE =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c) ),
25059 IERI =SIMP(statut='f',typ='TXM',into=("OUI",),),
25060 TITRE =SIMP(statut='f',typ='TXM',max='**'),
25061 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
25064 # ======================================================================
25065 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
25066 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
25067 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
25068 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
25069 # (AT YOUR OPTION) ANY LATER VERSION.
25071 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
25072 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
25073 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
25074 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
25076 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
25077 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
25078 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
25079 # ======================================================================
25080 # person_in_charge: gerald.nicolas at edf.fr
25082 def macr_adap_mail_prod(self, MAJ_CHAM, ADD_CHAM, ADAPTATION, **args):
25084 # 0. Typage des structures produites
25087 if ( args.has_key('MAILLAGE_NP1') ) :
25088 if ( args['MAILLAGE_NP1'] is not None ) :
25089 maillage_np1=args['MAILLAGE_NP1']
25090 self.type_sdprod(maillage_np1, maillage_sdaster)
25092 if ( args.has_key('MAILLAGE_NP1_ANNEXE') ) :
25093 if ( args['MAILLAGE_NP1_ANNEXE'] is not None ) :
25094 maillage_np1_annexe=args['MAILLAGE_NP1_ANNEXE']
25095 self.type_sdprod(maillage_np1_annexe, maillage_sdaster)
25097 #print "MAJ_CHAM =", MAJ_CHAM
25098 if MAJ_CHAM is not None :
25099 # Remarque : la liste qui suit doit etre conforme à son homologue de LIRE_CHAMP
25100 for ch in MAJ_CHAM:
25102 if t[0:5] == "NOEU_":self.type_sdprod(ch['CHAM_MAJ'],cham_no_sdaster)
25103 if t[0:2] == "EL": self.type_sdprod(ch['CHAM_MAJ'],cham_elem)
25105 #print "ADD_CHAM =", ADD_CHAM
25106 if ADD_CHAM is not None :
25107 for ch in ADD_CHAM:
25108 self.type_sdprod(ch['CHAM_GD'],carte_sdaster)
25112 MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",
25113 op=OPS('Macro.macr_adap_mail_ops.macr_adap_mail_ops'),
25114 sd_prod=macr_adap_mail_prod,
25115 fr="Adapter un maillage avec le logiciel HOMARD.",
25116 ang="Mesh adaptation with the HOMARD software.",
25117 UIinfo={"groupes":("Maillage",)},
25119 # 1. Le niveau d'information
25121 INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2,3,4)),
25124 # 2.1. Quel que soit le type de traitement, il faut donner le concept du maillage initial (entree)
25126 MAILLAGE_N = SIMP(statut='o',typ=maillage_sdaster,
25127 fr="Maillage avant adaptation",
25128 ang="Mesh before adaptation" ),
25130 # 2.2. Si ce n'est pas une simple lecture :
25132 b_maillage = BLOC( condition = " (ADAPTATION != 'LECTURE') " ,
25133 fr="Lectures de champs aux points de Gauss ou aux noeuds par element.",
25134 ang="Readings of the fields over the Gauss points.",
25136 # 2.2.1. Le concept du maillage final (sortie)
25138 MAILLAGE_NP1 = SIMP(statut='o',typ=CO,
25139 fr="Maillage après adaptation",
25140 ang="Mesh after adaptation" ),
25142 # 2.2.2. Eventuellement, on peut produire un maillage annexe
25143 # Actuellement, c'est le maillage n+1, mais de degré différent.
25145 MAILLAGE_NP1_ANNEXE = SIMP(statut='f',typ=CO,
25146 fr="Maillage annexe après adaptation",
25147 ang="Additional mesh after adaptation" ),
25151 # 3. Le pilotage de l'adaptation, avec les variantes suivantes :
25152 # . Raffinement et deraffinement, selon un champ
25153 # . Raffinement seul, selon un champ
25154 # . Deraffinement seul, selon un champ
25155 # . Raffinement et deraffinement, selon des zones geometriques
25156 # . Raffinement uniforme : toutes les mailles sont divisées
25157 # . Deraffinement uniforme : toutes les mailles sont regroupées
25158 # . Modification : le maillage subit des transformations specifiques
25159 # . Rien : le maillage est le meme a la sortie et a l'entree
25161 ADAPTATION = SIMP(statut='o',typ='TXM',
25162 into=("RAFF_DERA", "RAFFINEMENT", "DERAFFINEMENT", "RAFF_DERA_ZONE", \
25163 "RAFFINEMENT_UNIFORME", "DERAFFINEMENT_UNIFORME", \
25164 "MODIFICATION", "LECTURE", "RIEN"),
25165 fr="Pilotage de l'adaptation : selon un champ ou uniforme.",
25166 ang="Adaptation control: either among an field or uniform" ),
25168 # 4. Pour de l'adaptation libre, il faut un champ d'indicateur
25170 b_champ = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \
25171 (ADAPTATION == 'RAFFINEMENT') or \
25172 (ADAPTATION == 'DERAFFINEMENT') " ,
25173 fr="Pour une adaptation libre, choix du champ définissant la région à raffiner/déraffiner",
25174 ang="For a free adaptation, selection of the field that defines the area for refinment/unrefinement",
25176 regles=(UN_PARMI('CHAM_GD','RESULTAT_N')),
25178 # 4.1. Reperage de la région a raffiner a l'aide d'un champ
25180 # 4.1.1. Sous forme de champ de grandeur
25182 CHAM_GD = SIMP(statut='f',typ=cham_gd_sdaster,
25183 fr="Champ de grandeur Code_Aster pilotant l'adaptation",
25184 ang="Code_Aster 'champ de grandeur' governing the adapatation" ),
25186 # 4.1.2. Sous forme de concept resultat_sdaster
25188 RESULTAT_N = SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther) ,
25189 fr="Concept résultat Code_Aster contenant le champ",
25190 ang="The Code_Aster result with the field" ),
25192 b_champ_adaptation = BLOC(condition="(RESULTAT_N != None)",
25193 NOM_CHAM = SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO(),
25194 fr="Champ dans le résultat",
25195 ang="The field in the result structure" ),
25198 # 4.1.4. La ou les composantes retenues
25200 NOM_CMP = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
25201 fr="Liste des composante(s) retenue(s) pour le champ.",
25202 ang="List of the selected component(s) for the field." ),
25204 # 4.1.5. Le paramètre temporel pour le champ
25206 b_parametre_temporel = BLOC(condition="(RESULTAT_N != None)",
25207 fr="Choix éventuel du paramètre temporel pour le champ",
25208 ang="Time selection for the field (option)",
25210 regles=(EXCLUS('NUME_ORDRE','INST'),),
25212 # 4.1.5.1. Soit le numero d'ordre
25214 NUME_ORDRE = SIMP(statut='f',typ='I',
25215 fr="Numéro d ordre",
25218 # 4.1.5.2. Soit l'instant
25219 # 4.1.5.2.1. Sa valeur
25221 INST = SIMP(statut='f',typ='R',
25222 fr="Instant associé",
25225 # 4.1.5.2.2. La précision du choix de l'instant
25227 b_precision = BLOC(condition="(INST != None)",
25228 fr="Choix de la précision du choix de l'instant",
25229 ang="Precision for the choice of the instant",
25230 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF", "ABSOLU",),
25231 fr="Critère de précision sur le choix de l'instant associé",
25232 ang="Accuracy criterium over the choice of the instant"),
25233 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
25234 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,
25235 fr="Précision relative sur le choix de l'instant associé",
25236 ang="Relative accuracy over the choice of the instant"),),
25237 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
25238 PRECISION =SIMP(statut='o',typ='R',
25239 fr="Précision absolue sur le choix de l'instant associé",
25240 ang="Absolute accuracy over the choice of the instant"),),
25245 # 4.1.6. Usage des composantes : maximum, maximum de la valeur absolue, ou de la norme L2, ou de la norme infinie
25247 USAGE_CMP = SIMP(statut='f',typ='TXM',defaut="NORME_L2",
25248 into=("ABSOLU", "NORME_L2", "NORME_INFINIE", "RELATIF"),
25249 fr="Valeur absolue de la composante, ou norme du champ, ou valeur relative de la composante",
25250 ang="Absolute value of the component, or norm of the field, or relative value of the component" ),
25252 # 4.1.7. Usage du champ : la valeur par maille ou le max du saut entre mailles
25254 USAGE_CHAMP = SIMP(statut='f',typ='TXM',defaut="MAILLE",into=("MAILLE", "SAUT"),
25255 fr="Usage du champ : la valeur par maille ou le saut entre mailles voisines",
25256 ang="Use of the field: value over every mesh or jump between the neighbours" ),
25258 # 4.1.8. Initialisation de l'adaptation : raffinement ou déraffinement
25260 ADAP_INIT = SIMP(statut='f',typ='TXM',defaut="GARDER",into=("GARDER", "DERAFFINER"),
25261 fr="Initialisation de l'adaptation dans les régions sans indicateur : garder ou déraffiner",
25262 ang="Initialization of the adaptation in the areas without indicator: keep or unrefine" ),
25266 # 5. Les criteres pour de l'adaptation libre avec un champ :
25267 # absolu, relatif, en proportion d'entite
25268 # 5.1. Pour le raffinement :
25270 b_critere_de_raffinement = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \
25271 (ADAPTATION == 'RAFFINEMENT') " ,
25272 fr="Critère de raffinement.",
25273 ang="Refinement threshold.",
25275 regles=(UN_PARMI ( 'CRIT_RAFF_ABS', 'CRIT_RAFF_REL', 'CRIT_RAFF_PE', 'CRIT_RAFF_MS' ),),
25277 CRIT_RAFF_ABS = SIMP(statut='f',typ='R',
25278 fr="Critère absolu",
25279 ang="Absolute threshold" ),
25280 CRIT_RAFF_REL = SIMP(statut='f',typ='R',val_min=0.0,val_max=1.0,
25281 fr="Critère relatif : fraction réelle entre 0. et 1.",
25282 ang="Relative threshold : ratio between 0. and 1." ),
25283 CRIT_RAFF_PE = SIMP(statut='f',typ='R',val_min=0.0,val_max=1.0,
25284 fr="Pourcentage de mailles : fraction réelle entre 0. et 1.",
25285 ang="Percentage of meshes: ratio between 0. and 1." ),
25286 CRIT_RAFF_MS = SIMP(statut='f',typ='R',
25287 fr="Critère absolu valant moyenne + n*sigma, n étant > 0",
25288 ang="Absolute threshold: mean + n*sigma, with n > 0" ),
25291 # 5.2. Pour le deraffinement :
25293 b_critere_de_deraffinement = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \
25294 (ADAPTATION == 'DERAFFINEMENT') " ,
25295 fr="Critère de déraffinement.",
25296 ang="Unrefinement threshold.",
25298 regles=(UN_PARMI ( 'CRIT_DERA_ABS', 'CRIT_DERA_REL', 'CRIT_DERA_PE', 'CRIT_DERA_MS' ),),
25300 CRIT_DERA_ABS = SIMP(statut='f',typ='R' ,
25301 fr="Critère absolu",
25302 ang="Absolute threshold" ),
25303 CRIT_DERA_REL = SIMP(statut='f',typ='R',val_min=0.0,val_max=1.0,
25304 fr="Critère relatif : fraction réelle entre 0. et 1.",
25305 ang="Relative threshold: ratio between 0. and 1." ),
25306 CRIT_DERA_PE = SIMP(statut='f',typ='R',val_min=0.0,val_max=1.0,
25307 fr="Pourcentage de mailles : fraction réelle entre 0. et 1.",
25308 ang="Percentage of meshes: ratio between 0. and 1." ),
25309 CRIT_DERA_MS = SIMP(statut='f',typ='R',
25310 fr="Critère absolu valant moyenne - n*sigma, n étant > 0",
25311 ang="Absolute threshold: mean - n*sigma, with n > 0" ),
25314 # 6. Pour de l'adaptation par zone, définitions des zones
25316 b_zone = BLOC( condition = " (ADAPTATION == 'RAFF_DERA_ZONE') " ,
25317 fr="Pour une adaptation selon une zone à raffiner",
25318 ang="For adaptation among a zone",
25320 ZONE = FACT(statut='o',min=1,max='**',
25321 fr="Définition de zones à raffiner.",
25322 ang="Refined zone definition.",
25324 # 6.1. Type de la zone
25326 TYPE = SIMP(statut='o',typ='TXM',into=("RECTANGLE", "BOITE", "DISQUE", "SPHERE", "CYLINDRE", "DISQUE_PERCE", "TUYAU"),
25327 fr="Type de la zone",
25328 ang="Type of the zone" ),
25330 # 6.2. Usage de la zone
25332 USAGE = SIMP(statut='f',typ='TXM',into=("RAFFINEMENT","DERAFFINEMENT"),defaut="RAFFINEMENT",
25333 fr="Zone pour raffiner",
25334 ang="Zone: refinement" ),
25336 # Ne sachant pas exploiter les blocs, je mets des regles
25338 regles=(AU_MOINS_UN('X_MINI','X_CENTRE','HAUTEUR'),
25339 EXCLUS('X_MINI','X_CENTRE','HAUTEUR',),
25340 EXCLUS('Z_MINI','X_CENTRE','HAUTEUR',),
25341 EXCLUS('X_MINI','Z_CENTRE','HAUTEUR',),
25342 EXCLUS('Z_MINI','Z_CENTRE','HAUTEUR',),
25343 EXCLUS('X_MINI','RAYON',),
25344 EXCLUS('Z_MINI','RAYON',),
25345 EXCLUS('RAYON','RAYON_INT',),),
25347 # 6.3. Une boite rectangulaire ou parallelepipedique
25348 # 6.3.1. Incontournables
25350 ##gn b_z_boiteXY = BLOC( condition = " (TYPE == 'RECTANGLE') or (TYPE == 'BOITE') " ,
25351 ##gn fr="X et Y mini/maxi pour un rectangle ou un parallelepipede.",
25352 ##gn ang="X and Y min/max for a rectangle or a parallelepipedic box",
25353 X_MINI = SIMP(statut='f',typ='R',
25354 fr="Abscisse minimum de la boite",
25355 ang="Minimum X for the box"),
25356 X_MAXI = SIMP(statut='f',typ='R',
25357 fr="Abscisse maximum de la boite",
25358 ang="Maximum X for the box"),
25359 Y_MINI = SIMP(statut='f',typ='R',
25360 fr="Ordonnée minimum de la boite",
25361 ang="Minimum Y for the box"),
25362 Y_MAXI = SIMP(statut='f',typ='R',
25363 fr="Abscisse maximum de la boite",
25364 ang="Maximum Y for the box"),
25367 # 6.3.2. Complement pour une boite parallelepipedique
25369 ##gn b_z_boiteZ = BLOC( condition = " (TYPE == 'BOITE') " ,
25370 ##gn fr="Z mini/maxi pour un parallelepipede.",
25371 ##gn ang="Z min/max for a parallelepipedic box",
25372 Z_MINI = SIMP(statut='f',typ='R',
25373 fr="Cote minimum de la boite",
25374 ang="Minimum Z for the box"),
25375 Z_MAXI = SIMP(statut='f',typ='R',
25376 fr="Cote maximum de la boite",
25377 ang="Maximum Z for the box"),
25380 # 6.4. Rayon pour un disque, une sphere ou un cylindre
25382 ##gn b_z_rayon = BLOC( condition = " (TYPE == 'DISQUE') or (TYPE == 'SPHERE') or (TYPE == 'CYLINDRE') " ,
25383 ##gn fr="Le rayon d'un disque, d'une sphere ou d'un cylindre.",
25384 ##gn ang="The radius of a disk or of a sphere or of a cylinder.",
25385 RAYON = SIMP(statut='f',typ='R',
25390 # 6.5. Pour un disque plein ou perce, une sphere
25391 # 6.5.1. Incontournables
25393 ##gn b_z_di_sp_XY = BLOC( condition = " (TYPE == 'DISQUE') or (TYPE == 'SPHERE') or (TYPE == 'DISQUE_PERCE') " ,
25394 ##gn fr="X et Y du centre d'un disque plein ou perce, d'une sphere.",
25395 ##gn ang="X and Y of the centre of a disk or of a sphere.",
25396 X_CENTRE = SIMP(statut='f',typ='R',
25397 fr="Abscisse du centre du disque ou de la sphère",
25398 ang="X for the center of the disk or of the sphere"),
25399 Y_CENTRE = SIMP(statut='f',typ='R',
25400 fr="Ordonnée du centre du disque ou de la sphère",
25401 ang="Y for the center of the disk or of the sphere"),
25404 # 6.5.2. Complement pour une sphere
25406 ##gn b_z_sp_Z = BLOC( condition = " (TYPE == 'SPHERE') " ,
25407 ##gn fr="Cote du centre de la sphere.",
25408 ##gn ang="Z for the center of the sphere.",
25409 Z_CENTRE = SIMP(statut='f',typ='R',
25410 fr="Cote du centre de la sphère",
25411 ang="Z for the center of the sphere"),
25414 # 6.6. Rayons interieur et exterieur pour un disque perce ou un tuyau
25416 ##gn b_z_rayon_int_ext = BLOC( condition = " (TYPE == 'DISQUE_PERCE') or (TYPE == 'TUYAU') " ,
25417 ##gn fr="Le rayon d'un disque perce ou d'un tuyau.",
25418 ##gn ang="The radius of a holed disk or of a pipe.",
25419 RAYON_INT = SIMP(statut='f',typ='R',
25420 fr="Rayon intérieur",
25421 ang="Internal radius"),
25422 RAYON_EXT = SIMP(statut='f',typ='R',
25423 fr="Rayon extérieur",
25424 ang="External radius"),
25427 # 6.7. Un cylindre ou un tuyau
25429 ##gn b_z_cylindre_tuyau = BLOC( condition = " (TYPE == 'CYLINDRE') or (TYPE == 'TUYAU') " ,
25430 ##gn fr="Pour un cylindre ou un tuyau.",
25431 ##gn ang="For a cylinder or a pipe.",
25432 X_AXE = SIMP(statut='f',typ='R',
25433 fr="Abscisse du vecteur directeur de l'axe",
25434 ang="X for the axial vector"),
25435 Y_AXE = SIMP(statut='f',typ='R',
25436 fr="Ordonnée du vecteur directeur de l'axe",
25437 ang="Y for the axial vector"),
25438 Z_AXE = SIMP(statut='f',typ='R',
25439 fr="Cote du vecteur directeur de l'axe",
25440 ang="Z for the axial vector"),
25441 X_BASE = SIMP(statut='f',typ='R',
25442 fr="Abscisse d'un point de la base, sur l'axe",
25443 ang="X for the basis, on the axis"),
25444 Y_BASE = SIMP(statut='f',typ='R',
25445 fr="Ordonnée d'un point de la base, sur l'axe",
25446 ang="Y for the basis, on the axis"),
25447 Z_BASE = SIMP(statut='f',typ='R',
25448 fr="Cote d'un point de la base, sur l'axe",
25449 ang="Z for the basis, on the axis"),
25450 HAUTEUR = SIMP(statut='f',typ='R',
25459 # 7. Les niveaux extremes pour le maillage adapte
25460 # 7.1. Pour le raffinement :
25462 b_niveau_maximum = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \
25463 (ADAPTATION == 'RAFFINEMENT') or \
25464 (ADAPTATION == 'RAFFINEMENT_UNIFORME') or \
25465 (ADAPTATION == 'RAFF_DERA_ZONE') " ,
25466 fr="Profondeur maximale de raffinement",
25467 ang="Maximum depth for the refinement",
25469 NIVE_MAX = SIMP(statut='f',typ='I',
25470 fr="Niveau maximum de profondeur de raffinement",
25471 ang="Maximum level for the refinement"),
25473 DIAM_MIN = SIMP(statut='f',typ='R',
25474 fr="Diamètre minimal des mailles",
25475 ang="Minimal diameter for the meshes" ),
25479 # 7.2. Pour le deraffinement :
25481 b_niveau_minimum = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \
25482 (ADAPTATION == 'DERAFFINEMENT') or \
25483 (ADAPTATION == 'DERAFFINEMENT_UNIFORME') " ,
25484 fr="Niveau minimum de profondeur de déraffinement",
25485 ang="Minimum level for the unrefinement",
25486 NIVE_MIN = SIMP(statut='f',typ='I',
25487 fr="Niveau minimum de profondeur de déraffinement",
25488 ang="Minimum level for the unrefinement"),
25491 # 8. Filtrage de l'adaptation par des groupes
25493 b_filtrage_par_des_groupes = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \
25494 (ADAPTATION == 'RAFFINEMENT') or \
25495 (ADAPTATION == 'RAFFINEMENT_UNIFORME') or \
25496 (ADAPTATION == 'RAFF_DERA_ZONE') or \
25497 (ADAPTATION == 'DERAFFINEMENT') or \
25498 (ADAPTATION == 'DERAFFINEMENT_UNIFORME') " ,
25499 fr="Filtrage de l'adaptation par des groupes.",
25500 ang="Filtering of adaptation by the groups.",
25502 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
25503 fr="Liste des groupes de mailles pour le filtrage de l'adaptation.",
25504 ang="List of the groups of meshes for filtering of the adaptation." ),
25506 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**',
25507 fr="Liste des groupes de noeuds pour le filtrage de l'adaptation.",
25508 ang="List of the groups of nodes for filtering of the adaptation." ),
25511 # 9. Suivi d'une frontière
25513 # 9.1. Definition d'une frontière par un maillage (valable seulement pour des frontières 1D)
25515 MAILLAGE_FRONTIERE = SIMP(statut='f',typ=maillage_sdaster,
25516 fr="Maillage de la frontière discrète à suivre",
25517 ang="Discrete boundary mesh" ),
25519 b_FRONTIERE = BLOC( condition = " MAILLAGE_FRONTIERE != None " ,
25520 fr="Information complémentaire sur la frontière discrète",
25521 ang="Further information about discrete boundary",
25523 GROUP_MA_FRONT = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
25524 fr="Liste des groupes de mailles définissant la frontière discrète",
25525 ang="Mesh groups which define the discrete boundary" ),
25529 # 9.2. Definition analytique d'une frontière
25531 FRONTIERE_ANALYTIQUE = FACT(statut='f',max='**',
25532 fr="Definition analytique de frontières a suivre.",
25533 ang="Analytical definition of a boundary.",
25535 # 9.2.1. Nom de la frontière
25537 NOM = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,
25538 fr="Nom de la frontière analytique",
25539 ang="Name of the analytic boundary" ),
25541 # 9.2.2. Type de la frontière
25543 TYPE = SIMP(statut='o',typ='TXM',into=("SPHERE", "CYLINDRE"),
25544 fr="Type de la frontière analytique",
25545 ang="Type of the analytic boundary" ),
25547 # 9.2.3. Pour une sphere, un cylindre par ses rayons : rayon et centre
25549 b_fr_rayon = BLOC( condition = " (TYPE == 'SPHERE') or (TYPE == 'CYLINDRE') " ,
25550 fr="Le rayon et le centre d'une sphère ou d'un cylindre.",
25551 ang="The radius and the centre of a sphere or of a cylinder.",
25552 RAYON = SIMP(statut='o',typ='R',
25555 X_CENTRE = SIMP(statut='o',typ='R',
25556 fr="Abscisse du centre",
25557 ang="X for the center"),
25558 Y_CENTRE = SIMP(statut='o',typ='R',
25559 fr="Ordonnée du centre",
25560 ang="Y for the center"),
25561 Z_CENTRE = SIMP(statut='o',typ='R',
25562 fr="Cote du centre",
25563 ang="Z for the center"),
25566 # 9.2.4. Pour un cylindre defini par axe et angle : axe
25568 b_fr_cylindre = BLOC( condition = " (TYPE == 'CYLINDRE') " ,
25569 fr="Pour un cylindre.",
25570 ang="For a cylinder.",
25571 X_AXE = SIMP(statut='o',typ='R',
25572 fr="Abscisse du vecteur directeur de l'axe",
25573 ang="X for the axial vector"),
25574 Y_AXE = SIMP(statut='o',typ='R',
25575 fr="Ordonnée du vecteur directeur de l'axe",
25576 ang="Y for the axial vector"),
25577 Z_AXE = SIMP(statut='o',typ='R',
25578 fr="Cote du vecteur directeur de l'axe",
25579 ang="Z for the axial vector"),
25582 # 9.2.7. Groupe(s) lie(s) a la frontière
25584 GROUP_MA = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**',
25585 fr="Liste des groupes de mailles placées sur la frontière",
25586 ang="Groups of meshes which are located on the boundary" ),
25590 # 10. mise à jour de champs sur le nouveau maillage
25592 MAJ_CHAM = FACT(statut='f',max='**',
25593 fr="Mise à jour de champs sur le nouveau maillage.",
25594 ang="Updating of the fields over the new mesh.",
25596 # 10.1. Le nom du champ de grandeur qui contiendra le resultat de la mise a jour
25598 CHAM_MAJ = SIMP(statut='o',typ=CO,
25599 fr="Nom du champ de grandeur qui contiendra le champ mis à jour",
25600 ang="Name of the field for the updated field"),
25602 # 10.2. Le type du champ qui contiendra le resultat de la mise a jour
25604 TYPE_CHAM = SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO( ('NOEU', 'ELEM', 'ELNO', 'ELGA') ),
25605 fr="Type du champ qui contiendra le champ mis à jour",
25606 ang="Type of the field for the updated field" ),
25608 # 10.3. Le champ a interpoler
25610 regles=(UN_PARMI('CHAM_GD','RESULTAT')),
25612 # 10.3.1. Sous forme de champ de grandeur
25614 CHAM_GD = SIMP(statut='f',typ=cham_gd_sdaster,
25615 fr="Champ de grandeur Code_Aster contenant le champ à mettre à jour",
25616 ang="Champ de grandeur with the field to be updated" ),
25618 # 10.3.2. Sous forme de champ dans un resultat
25620 RESULTAT = SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther),
25621 fr="Résultat contenant le champ à mettre à jour",
25622 ang="Result with the field to be updated" ),
25624 b_nom_du_champ = BLOC(condition="(RESULTAT != None)",
25625 fr="Choix éventuel du nom du champ à interpoler",
25626 ang="Selection for the name of the field (option)",
25628 NOM_CHAM = SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO(),
25629 fr="Nom du champ à mettre à jour",
25630 ang="Name of the field to be updated" ),
25634 # 10.4. Les composantes
25636 NOM_CMP = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
25637 fr="Liste des composante(s) retenue(s) pour le champ.",
25638 ang="List of the selected component(s) for the field." ),
25640 # 10.5. Le paramètre temporel pour le champ a interpoler
25642 b_parametre_temporel = BLOC(condition="(RESULTAT != None)",
25643 fr="Choix éventuel du paramètre temporel pour le champ à interpoler",
25644 ang="Time selection for the field (option)",
25646 regles=(EXCLUS('NUME_ORDRE','INST'),),
25648 # 10.5.1. Soit le numero d'ordre
25650 NUME_ORDRE = SIMP(statut='f',typ='I',
25651 fr="Numéro d ordre du champ à mettre à jour",
25652 ang="Rank of the field to be updated" ),
25654 # 10.5.2. Soit l'instant
25655 # 10.5.2.1. Sa valeur
25657 INST = SIMP(statut='f',typ='R',
25658 fr="Instant associé",
25661 # 10.5.2.2. La précision du choix de l'instant
25663 b_precision = BLOC(condition="(INST != None)",
25664 fr="Choix de la précision du choix de l'instant",
25665 ang="Selection for the choice of the instant",
25667 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF", "ABSOLU",),
25668 fr="Critère de précision sur le choix de l'instant associé",
25669 ang="Accuracy criterium over the choice of the instant"),
25670 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
25671 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,
25672 fr="Précision relative sur le choix de l'instant associé",
25673 ang="Relative accuracy over the choice of the instant"),),
25674 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
25675 PRECISION =SIMP(statut='o',typ='R',
25676 fr="Précision absolue sur le choix de l'instant associé",
25677 ang="Absolute accuracy over the choice of the instant"),),
25683 # 10.6. Type d'interpolation
25685 TYPE_MAJ = SIMP(statut='f',typ='TXM',defaut="AUTO",
25686 into=("AUTO", "ISOP2"),
25687 fr="Type de mise à jour : automatique ou iso-P2",
25688 ang="Type of the updating" ),
25691 # 11. Les modifications
25693 b_modifications = BLOC( condition = " (ADAPTATION == 'MODIFICATION') " ,
25694 fr="Modification de maillage.",
25695 ang="Modification of the mesh.",
25697 #regles=(AU_MOINS_UN('DEGRE','JOINT'),),
25699 # 11.1. Changement de degre
25701 DEGRE = SIMP(statut='o',typ='TXM',into=("OUI",),
25702 fr="Changement de degré du maillage",
25703 ang="Modification of the degree of the mesh" ),
25707 # 12. Le modele pour les lectures de champs aux points de Gauss ou aux noeuds par element
25709 b_lectures = BLOC( condition = " (ADAPTATION == 'LECTURE') " ,
25710 fr="Lectures de champs aux points de Gauss.",
25711 ang="Readings of the fields over the Gauss points.",
25713 MODELE = SIMP(statut='o',typ=modele_sdaster,
25719 # 13. Les options d'analyse de maillage ; par defaut, on ne fait que les nombres
25721 b_analyses = BLOC( condition = " (ADAPTATION != 'LECTURE') " ,
25722 fr="Analyse du maillage.",
25723 ang="Analysis of the mesh.",
25725 # 13.1. Nombre de noeuds et mailles
25727 NOMBRE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",),
25728 fr="Nombre de noeuds et de mailles du maillage",
25729 ang="Number of nodes and meshes in the mesh" ),
25731 # 13.2. Determination de la qualité des mailles du maillage
25733 QUALITE = SIMP(statut='f',typ='TXM',into=("OUI",),
25734 fr="Qualité du maillage",
25735 ang="Quality of the mesh" ),
25737 # 13.3. Connexite du maillage
25739 CONNEXITE = SIMP(statut='f',typ='TXM',into=("OUI",),
25740 fr="Connexité du maillage.",
25741 ang="Connexity of the mesh." ),
25743 # 13.4. Taille des sous-domaines du maillage
25745 TAILLE = SIMP(statut='f',typ='TXM',into=("OUI",),
25746 fr="Tailles des sous-domaines du maillage.",
25747 ang="Sizes of mesh sub-domains." ),
25749 # 13.5. Controle de la non-interpenetration des mailles
25751 INTERPENETRATION=SIMP(statut='f',typ='TXM',into=("OUI",),
25752 fr="Controle de la non interpénétration des mailles.",
25753 ang="Overlapping checking." ),
25755 # 13.6. Propriétés du maillage de calcul
25757 PROP_CALCUL = SIMP(statut='f',typ='TXM',into=("OUI",),
25758 fr="Propriétés du maillage de calcul.",
25759 ang="Properties of the calculation mesh." ),
25761 # 13.7. Determination des diametres des mailles du maillage
25763 DIAMETRE = SIMP(statut='f',typ='TXM',into=("OUI",),
25764 fr="Diamètre du maillage",
25765 ang="Diameters of the mesh" ),
25769 # 14. champs supplementaires sur le nouveau maillage
25771 ADD_CHAM = FACT(statut='f',max='**',
25772 fr="Champs supplementaires sur le nouveau maillage.",
25773 ang="Additional fields over the new mesh.",
25775 # 14.1. Le nom du champ de grandeur qui contiendra le nouveau champ
25777 CHAM_GD = SIMP(statut='o',typ=CO,
25778 fr="Nom du champ de grandeur qui contiendra le champ supplementaire",
25779 ang="Name of the field for the additional field"),
25781 # 14.2. La categorie du champ supplementaire
25783 CHAM_CAT = SIMP(statut='o',typ='TXM',into=("NIVEAU", "DIAMETRE"),
25784 fr="Categorie du champ supplementaire : niveau ou diametre",
25785 ang="Category of the additional field: level or diameter" ),
25789 # 15. Les options avancées
25790 # 15.1. Langue des messages issus de HOMARD
25792 LANGUE = SIMP(statut='f',typ='TXM',defaut="FRANCAIS",
25793 into=("FRANCAIS", "FRENCH", "ANGLAIS", "ENGLISH",),
25794 fr="Langue des messages issus de HOMARD.",
25795 ang="Language for HOMARD messages." ),
25797 # 15.2. Gestion des mailles acceptees dans le maillage initial
25798 # "HOMARD" : exclusivement les mailles pouvant etre decoupees (defaut)
25799 # "IGNORE_PYRA" : elles sont ignorées
25801 b_autres_mailles = BLOC( condition = " (ADAPTATION != 'LECTURE') " ,
25802 fr="Gestion des pyramides.",
25805 ELEMENTS_ACCEPTES = SIMP(statut='f',typ='TXM',defaut="HOMARD",into=("HOMARD", "IGNORE_PYRA"),
25806 fr="Acceptation des mailles dans le maillage initial",
25807 ang="Elements in the very first mesh" ),
25811 # 15.3. Version de HOMARD
25813 VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V10_6",
25814 into=("V10_6", "V10_N", "V10_N_PERSO"),
25815 fr="Version de HOMARD",
25816 ang="HOMARD release"),
25818 # 15.4. Exécutable pilotant HOMARD
25820 LOGICIEL = SIMP(statut='f',typ='TXM',
25821 fr="Logiciel pilotant HOMARD",
25822 ang="HOMARD software"),
25824 # 15.5. Unite logique d'un fichier à ajouter a HOMARD.Configuration
25826 b_unite = BLOC( condition = " (VERSION_HOMARD == 'V10_N') or \
25827 (VERSION_HOMARD == 'V10_N_PERSO') " ,
25828 fr="Fichier supplementaire.",
25829 ang="Additional file.",
25831 UNITE = SIMP(statut='f',typ='I',
25832 fr="Unite logique a ajouter a HOMARD.Configuration",
25833 ang="Additional file to HOMARD.Configuration" ),
25839 # ======================================================================
25840 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
25841 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
25842 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
25843 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
25844 # (AT YOUR OPTION) ANY LATER VERSION.
25846 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
25847 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
25848 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
25849 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
25851 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
25852 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
25853 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
25854 # ======================================================================
25855 # person_in_charge: samuel.geniaut at edf.fr
25857 def macr_ascouf_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS,RESU_THER,**args):
25858 self.type_sdprod(MODELE,modele_sdaster)
25859 if CHAM_MATER != None:self.type_sdprod(CHAM_MATER,cham_mater)
25860 if CARA_ELEM != None:self.type_sdprod(CARA_ELEM,cara_elem)
25861 if FOND_FISS != None:self.type_sdprod(FOND_FISS,fond_fiss)
25862 if RESU_THER != None:self.type_sdprod(RESU_THER,evol_ther)
25865 MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC",
25866 op=OPS('Macro.macr_ascouf_calc_ops.macr_ascouf_calc_ops'),
25867 sd_prod=macr_ascouf_calc_prod,
25868 fr="Réalise l'analyse thermomécanique du coude dont le maillage a " \
25869 "été concu par MACR_ASCOUF_MAIL",
25871 UIinfo={"groupes":("Résolution","Outils-métier",)},
25873 TYPE_MAILLAGE =SIMP(statut='o',typ='TXM',
25880 CL_BOL_P2_GV =FACT(statut='f',
25881 ANGLE =SIMP(statut='o',typ='R' ),
25882 AZIMUT =SIMP(statut='f',typ='R',defaut= 90. ),
25885 MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ),
25886 MODELE =SIMP(statut='o',typ=CO,),
25887 CHAM_MATER =SIMP(statut='f',typ=CO,),
25888 CARA_ELEM =SIMP(statut='f',typ=CO,),
25889 FOND_FISS =SIMP(statut='f',typ=CO,),
25890 RESU_THER =SIMP(statut='f',typ=CO,),
25892 AFFE_MATERIAU =FACT(statut='o',max=3,
25893 regles=(UN_PARMI('TOUT','GROUP_MA'),),
25894 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
25895 GROUP_MA =SIMP(statut='f',typ=grma,into=("COUDE","BOL") ),
25896 MATER =SIMP(statut='o',typ=mater_sdaster ),
25897 TEMP_REF =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
25900 PRES_REP =FACT(statut='f',
25901 PRES =SIMP(statut='o',typ='R' ),
25902 EFFE_FOND_P1 =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
25903 PRES_LEVRE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
25904 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
25907 ECHANGE =FACT(statut='f',
25908 COEF_H =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
25909 TEMP_EXT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
25912 TORS_P1 =FACT(statut='f',max=6,
25913 regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
25914 FX =SIMP(statut='f',typ='R' ),
25915 FY =SIMP(statut='f',typ='R' ),
25916 FZ =SIMP(statut='f',typ='R' ),
25917 MX =SIMP(statut='f',typ='R' ),
25918 MY =SIMP(statut='f',typ='R' ),
25919 MZ =SIMP(statut='f',typ='R' ),
25920 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
25924 COMPORTEMENT =C_COMPORTEMENT('MACR_ASCOUF_CALC'),
25926 #-------------------------------------------------------------------
25927 # Catalogue commun SOLVEUR
25928 SOLVEUR =C_SOLVEUR('MACR_ASCOUF_CALC'),
25929 #-------------------------------------------------------------------
25931 CONVERGENCE =C_CONVERGENCE(),
25933 NEWTON =C_NEWTON(),
25935 RECH_LINEAIRE =C_RECH_LINEAIRE(),
25937 INCREMENT =C_INCREMENT('MECANIQUE'),
25939 THETA_3D =FACT(statut='f',max='**',
25940 R_INF =SIMP(statut='o',typ='R' ),
25941 R_SUP =SIMP(statut='o',typ='R' ),
25944 ENERGIE =FACT(statut='f',max=1,
25945 CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",),
25948 IMPR_TABLE =FACT(statut='f',
25949 regles=(UN_PARMI('TOUT_PARA','NOM_PARA', ),
25950 PRESENT_PRESENT('TOUT_PARA','ANGLE', ),
25951 PRESENT_PRESENT('TOUT_PARA','R_CINTR', ),
25952 UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL',),),
25953 NOM_PARA =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=4,
25954 into=("TRESCA_MEMBRANE",
25961 TOUT_PARA =SIMP(statut='f',typ='TXM',into=("OUI",) ),
25962 ANGLE =SIMP(statut='f',typ='R', ),
25963 R_CINTR =SIMP(statut='f',typ='R', ),
25964 POSI_CURV_LONGI =SIMP(statut='f',typ='R', ),
25965 POSI_ANGUL =SIMP(statut='f',typ='R', ),
25966 TRANSFORMEE =SIMP(statut='f',typ='TXM',defaut="COUDE",into=("COUDE","TUBE") ),
25969 IMPRESSION =FACT(statut='f',
25970 FORMAT =SIMP(statut='f',typ='TXM',defaut="RESULTAT",
25971 into=("RESULTAT","ASTER","IDEAS","CASTEM") ),
25973 b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas",
25974 VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
25977 b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem",
25978 NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
25983 TITRE =SIMP(statut='f',typ='TXM' ),
25985 INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
25988 # ======================================================================
25989 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
25990 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
25991 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
25992 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
25993 # (AT YOUR OPTION) ANY LATER VERSION.
25995 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
25996 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
25997 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
25998 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
26000 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
26001 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
26002 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
26003 # ======================================================================
26004 # person_in_charge: samuel.geniaut at edf.fr
26006 MACR_ASCOUF_MAIL=MACRO(nom="MACR_ASCOUF_MAIL",
26007 op=OPS('Macro.macr_ascouf_mail_ops.macr_ascouf_mail_ops'),
26008 sd_prod=maillage_sdaster,
26009 fr="Engendre le maillage d'un coude sain ou comportant une fissure ou une (ou plusieurs) sous-épaisseur(s)",
26010 UIinfo={"groupes":("Maillage","Outils-métier",)},
26013 regles=(EXCLUS('SOUS_EPAIS_COUDE','FISS_COUDE','SOUS_EPAIS_MULTI'),),
26015 EXEC_MAILLAGE =FACT(statut='o',
26016 LOGICIEL =SIMP(statut='o',typ='TXM',defaut="GIBI2000",into=("GIBI98","GIBI2000") ),
26017 UNITE_DATG =SIMP(statut='f',typ='I',defaut=70),
26018 UNITE_MGIB =SIMP(statut='f',typ='I',defaut=19),
26019 NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,4,5,6,7,8,9,10,11)),
26022 TYPE_ELEM =SIMP(statut='f',typ='TXM',defaut="CU20",into=("CU20","CUB8") ),
26024 COUDE =FACT(statut='o',
26025 ANGLE =SIMP(statut='o',typ='R' ),
26026 R_CINTR =SIMP(statut='o',typ='R' ),
26027 L_TUBE_P1 =SIMP(statut='o',typ='R' ),
26028 L_TUBE_P2 =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
26029 NB_ELEM_EPAIS =SIMP(statut='f',typ='I',defaut= 3 ),
26030 SYME =SIMP(statut='f',typ='TXM',defaut="ENTIER",into=("ENTIER","QUART","DEMI") ),
26031 TRANSFORMEE =SIMP(statut='o',typ='TXM',defaut="COUDE",into=("COUDE","TUBE") ),
26032 b_transf_coude =BLOC(condition = "TRANSFORMEE == 'COUDE' ",
26033 DEXT =SIMP(statut='o',typ='R' ),
26034 EPAIS =SIMP(statut='o',typ='R' ),
26035 SUR_EPAIS =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
26036 BOL_P2 =SIMP(statut='f',typ='TXM',into=("ASP_MPP","CUVE","GV") ),
26038 b_transf_tube =BLOC(condition = "TRANSFORMEE == 'TUBE' ",
26039 TRAN_EPAIS =SIMP(statut='o',typ='TXM',defaut="NON",into=("OUI","NON") ),
26040 b_trans_epais_oui =BLOC(condition = "TRAN_EPAIS == 'OUI' ",
26041 regles=(ENSEMBLE('ANGL_TETA2','EPAIS_TI'),
26042 UN_PARMI('ABSC_CURV_TRAN','POSI_ANGU_TRAN'),),
26043 DEXT_T1 =SIMP(statut='o',typ='R' ),
26044 EPAIS_T1 =SIMP(statut='o',typ='R' ),
26045 EPAIS_T2 =SIMP(statut='o',typ='R' ),
26046 EPAIS_TI =SIMP(statut='f',typ='R' ),
26047 ANGL_TETA1 =SIMP(statut='o',typ='R' ),
26048 ANGL_TETA2 =SIMP(statut='f',typ='R' ),
26049 ABSC_CURV_TRAN =SIMP(statut='f',typ='R' ),
26050 POSI_ANGU_TRAN =SIMP(statut='f',typ='R' ),
26052 b_trans_epais_non =BLOC(condition = "TRAN_EPAIS == 'NON' ",
26053 DEXT =SIMP(statut='o',typ='R' ),
26054 EPAIS =SIMP(statut='o',typ='R' ),
26055 SUR_EPAIS =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
26056 BOL_P2 =SIMP(statut='f',typ='TXM',into=("ASP_MPP","CUVE","GV") ),
26061 SOUS_EPAIS_COUDE=FACT(statut='f',
26062 regles=(UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL'),
26063 UN_PARMI('POSI_CURV_CIRC','AZIMUT'),),
26064 TYPE =SIMP(statut='o',typ='TXM',into=("AXIS","ELLI") ),
26065 AXE_CIRC =SIMP(statut='f',typ='R' ),
26066 AXE_LONGI =SIMP(statut='o',typ='R' ),
26067 PROFONDEUR =SIMP(statut='o',typ='R' ),
26068 POSI_CURV_LONGI =SIMP(statut='f',typ='R' ),
26069 POSI_ANGUL =SIMP(statut='f',typ='R' ),
26070 POSI_CURV_CIRC =SIMP(statut='f',typ='R' ),
26071 AZIMUT =SIMP(statut='f',typ='R' ),
26072 SOUS_EPAIS =SIMP(statut='o',typ='TXM',into=("INTERNE","EXTERNE") ),
26073 NB_ELEM_LONGI =SIMP(statut='o',typ='I' ),
26074 NB_ELEM_CIRC =SIMP(statut='o',typ='I' ),
26075 NB_ELEM_RADI =SIMP(statut='f',typ='I',defaut= 3 ),
26076 EMPREINTE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
26079 SOUS_EPAIS_MULTI=FACT(statut='f',max='**',
26080 regles=(UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL'),
26081 UN_PARMI('POSI_CURV_CIRC','AZIMUT'),),
26082 TYPE =SIMP(statut='o',typ='TXM',into=("AXIS","ELLI") ),
26083 AXE_CIRC =SIMP(statut='f',typ='R' ),
26084 AXE_LONGI =SIMP(statut='o',typ='R' ),
26085 PROFONDEUR =SIMP(statut='o',typ='R' ),
26086 POSI_CURV_LONGI =SIMP(statut='f',typ='R' ),
26087 POSI_ANGUL =SIMP(statut='f',typ='R' ),
26088 POSI_CURV_CIRC =SIMP(statut='f',typ='R' ),
26089 AZIMUT =SIMP(statut='f',typ='R' ),
26090 SOUS_EPAIS =SIMP(statut='o',typ='TXM',into=("INTERNE","EXTERNE") ),
26091 NB_ELEM_LONGI =SIMP(statut='o',typ='I' ),
26092 NB_ELEM_CIRC =SIMP(statut='o',typ='I' ),
26093 EMPREINTE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
26096 FISS_COUDE =FACT(statut='f',
26097 regles=(UN_PARMI('ABSC_CURV','POSI_ANGUL'),),
26098 AXIS =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ),
26099 b_axis_non =BLOC(condition = "AXIS == 'NON' ",
26100 LONGUEUR =SIMP(statut='o',typ='R' ),
26102 b_axis_oui =BLOC(condition = "AXIS == 'OUI' ",
26103 LONGUEUR =SIMP(statut='f',typ='R' ),
26105 PROFONDEUR =SIMP(statut='o',typ='R' ),
26106 ABSC_CURV =SIMP(statut='f',typ='R' ),
26107 POSI_ANGUL =SIMP(statut='f',typ='R' ),
26108 FISSURE =SIMP(statut='o',typ='TXM',into=("DEB_INT","DEB_EXT") ),
26109 AZIMUT =SIMP(statut='f',typ='R',defaut= 90. ),
26110 ORIEN =SIMP(statut='o',typ='R',
26111 into=(45.,-45.,90.,0.E+0) ),
26112 NB_TRANCHE =SIMP(statut='o',typ='I' ),
26113 NB_SECTEUR =SIMP(statut='o',typ='I' ),
26114 NB_COURONNE =SIMP(statut='o',typ='I' ),
26115 RAYON_TORE =SIMP(statut='f',typ='R' ),
26116 COEF_MULT_RC2 =SIMP(statut='f',typ='R',defaut= 1. ),
26117 COEF_MULT_RC3 =SIMP(statut='f',typ='R' ),
26118 ANGL_OUVERTURE =SIMP(statut='f',typ='R',defaut= 0.5 ),
26121 IMPRESSION =FACT(statut='f',max='**',
26122 regles=(PRESENT_PRESENT('FICHIER','UNITE'),),
26123 FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER",
26124 into=("ASTER","IDEAS","CASTEM") ),
26125 b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas",
26126 VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
26128 b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem",
26129 NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
26131 FICHIER =SIMP(statut='f',typ='TXM' ),
26132 UNITE =SIMP(statut='f',typ='I' ),
26135 INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
26138 # ======================================================================
26139 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
26140 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
26141 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
26142 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
26143 # (AT YOUR OPTION) ANY LATER VERSION.
26145 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
26146 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
26147 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
26148 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
26150 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
26151 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
26152 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
26153 # ======================================================================
26154 # person_in_charge: samuel.geniaut at edf.fr
26156 def macr_aspic_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS_1,FOND_FISS_2,RESU_THER,**args):
26157 if MODELE != None:self.type_sdprod(MODELE,modele_sdaster)
26158 if CHAM_MATER != None:self.type_sdprod(CHAM_MATER,cham_mater)
26159 if CARA_ELEM != None:self.type_sdprod(CARA_ELEM,cara_elem)
26160 if FOND_FISS_1 != None:self.type_sdprod(FOND_FISS_1,fond_fiss)
26161 if FOND_FISS_2 != None:self.type_sdprod(FOND_FISS_2,fond_fiss)
26162 if RESU_THER != None:self.type_sdprod(RESU_THER,evol_ther)
26165 MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC",
26166 op=OPS('Macro.macr_aspic_calc_ops.macr_aspic_calc_ops'),
26167 sd_prod=macr_aspic_calc_prod,
26168 fr="Réalise un calcul prédéfini de piquages sains ou fissurés " \
26169 "ainsi que les post-traitements associés ",
26170 UIinfo={"groupes":("Résolution","Outils-métier",)},
26173 TYPE_MAILLAGE =SIMP(statut='o',typ='TXM',
26174 into=("SAIN_FIN","SAIN_GROS","FISS_COUR_DEB","FISS_COUR_NONDEB","FISS_LONG_DEB",
26175 "FISS_LONG_NONDEB","FISS_AXIS_DEB","FISS_AXIS_NONDEB") ),
26177 TUBULURE =FACT(statut='o',
26178 TYPE =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2") ),
26180 MAILLAGE =SIMP(statut='o',typ=maillage_sdaster),
26181 MODELE =SIMP(statut='f',typ=CO,),
26182 CHAM_MATER =SIMP(statut='f',typ=CO,),
26183 CARA_ELEM =SIMP(statut='f',typ=CO,),
26184 FOND_FISS_1 =SIMP(statut='f',typ=CO,),
26185 FOND_FISS_2 =SIMP(statut='f',typ=CO,),
26186 RESU_THER =SIMP(statut='f',typ=CO,),
26188 AFFE_MATERIAU =FACT(statut='o',max=3,
26189 regles=(UN_PARMI('TOUT','GROUP_MA'),),
26190 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)),
26191 GROUP_MA =SIMP(statut='f',typ=grma,into=("TUBU","CORP","SOUD","SOUDCORP","SOUDTUBU") ),
26192 MATER =SIMP(statut='o',typ=mater_sdaster),
26193 TEMP_REF =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
26194 RCCM =SIMP(statut='o',typ='TXM',into=("OUI","NON")),
26197 EQUILIBRE =FACT(statut='o',
26198 NOEUD =SIMP(statut='o',typ=no),
26201 PRES_REP =FACT(statut='o',
26202 PRES =SIMP(statut='o',typ='R'),
26203 NOEUD =SIMP(statut='f',typ=no),
26204 EFFE_FOND =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
26205 PRES_LEVRE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
26206 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
26209 ECHANGE =FACT(statut='f',
26210 COEF_H_TUBU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
26211 COEF_H_CORP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
26212 TEMP_EXT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
26215 TORS_CORP =FACT(statut='f',max=6,
26216 regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
26217 NOEUD =SIMP(statut='o',typ=no),
26218 FX =SIMP(statut='f',typ='R'),
26219 FY =SIMP(statut='f',typ='R'),
26220 FZ =SIMP(statut='f',typ='R'),
26221 MX =SIMP(statut='f',typ='R'),
26222 MY =SIMP(statut='f',typ='R'),
26223 MZ =SIMP(statut='f',typ='R'),
26224 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
26227 TORS_TUBU =FACT(statut='f',max=6,
26228 regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),),
26229 FX =SIMP(statut='f',typ='R'),
26230 FY =SIMP(statut='f',typ='R'),
26231 FZ =SIMP(statut='f',typ='R'),
26232 MX =SIMP(statut='f',typ='R'),
26233 MY =SIMP(statut='f',typ='R'),
26234 MZ =SIMP(statut='f',typ='R'),
26235 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
26238 COMPORTEMENT =C_COMPORTEMENT('MACR_ASPIC_CALC'),
26240 THETA_3D =FACT(statut='f',max='**',
26241 R_INF =SIMP(statut='o',typ='R'),
26242 R_SUP =SIMP(statut='o',typ='R'),
26245 OPTION =SIMP(statut='f',typ='TXM',into=("CALC_G_MAX","CALC_G_MAX_LOCAL") ),
26246 BORNES =FACT(statut='f',max='**',
26247 NUME_ORDRE =SIMP(statut='o',typ='I'),
26248 VALE_MIN =SIMP(statut='o',typ='R'),
26249 VALE_MAX =SIMP(statut='o',typ='R'),
26252 #-------------------------------------------------------------------
26253 # Catalogue commun SOLVEUR
26254 SOLVEUR =C_SOLVEUR('MACR_ASPIC_CALC'),
26255 #-------------------------------------------------------------------
26257 CONVERGENCE =C_CONVERGENCE(),
26259 NEWTON =C_NEWTON(),
26261 RECH_LINEAIRE =C_RECH_LINEAIRE(),
26263 INCREMENT =C_INCREMENT('MECANIQUE'),
26265 PAS_AZIMUT =SIMP(statut='f',typ='I',defaut=1),
26267 ENERGIE =FACT(statut='f',max=1,
26268 CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",),
26271 IMPRESSION =FACT(statut='f',
26272 FORMAT =SIMP(statut='f',typ='TXM',defaut="RESULTAT",
26273 into=("RESULTAT","ASTER","CASTEM","IDEAS")),
26275 b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas",
26276 VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
26279 b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem",
26280 NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
26283 b_extrac =BLOC(condition="((FORMAT=='IDEAS')or(FORMAT=='CASTEM'))",
26284 fr="extraction d un champ de grandeur",
26285 regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST'),),
26286 NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,into=("DEPL","SIEQ_ELNO","TEMP")),
26288 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
26289 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
26290 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
26294 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
26296 TITRE =SIMP(statut='f',typ='TXM'),
26299 # ======================================================================
26300 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
26301 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
26302 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
26303 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
26304 # (AT YOUR OPTION) ANY LATER VERSION.
26306 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
26307 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
26308 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
26309 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
26311 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
26312 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
26313 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
26314 # ======================================================================
26315 # person_in_charge: samuel.geniaut at edf.fr
26318 MACR_ASPIC_MAIL=MACRO(nom="MACR_ASPIC_MAIL",
26319 op=OPS('Macro.macr_aspic_mail_ops.macr_aspic_mail_ops'),
26320 sd_prod=maillage_sdaster,
26322 fr="Engendre le maillage d'un piquage sain ou avec fissure (longue ou courte)",
26323 UIinfo={"groupes":("Maillage","Outils-métier",)},
26325 EXEC_MAILLAGE =FACT(statut='o',
26326 LOGICIEL =SIMP(statut='o',typ='TXM',defaut="GIBI2000",into=("GIBI98","GIBI2000")),
26327 UNITE_DATG =SIMP(statut='f',typ='I',defaut=70),
26328 UNITE_MGIB =SIMP(statut='f',typ='I',defaut=19),
26329 NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,4,5,6,7,8,9,10,11)),
26332 TYPE_ELEM =SIMP(statut='f',typ='TXM',defaut="CU20",into=("CU20","CUB8")),
26334 RAFF_MAIL =SIMP(statut='f',typ='TXM',defaut="GROS",into=("GROS","FIN")),
26336 TUBULURE =FACT(statut='o',
26337 E_BASE =SIMP(statut='o',typ='R'),
26338 DEXT_BASE =SIMP(statut='o',typ='R'),
26339 L_BASE =SIMP(statut='o',typ='R'),
26340 L_CHANF =SIMP(statut='o',typ='R'),
26341 E_TUBU =SIMP(statut='o',typ='R'),
26342 DEXT_TUBU =SIMP(statut='o',typ='R'),
26343 Z_MAX =SIMP(statut='o',typ='R'),
26344 TYPE =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2")),
26345 L_PENETR =SIMP(statut='f',typ='R',defaut= 0.0E+0),
26348 SOUDURE =FACT(statut='o',
26349 H_SOUD =SIMP(statut='o',typ='R'),
26350 ANGL_SOUD =SIMP(statut='o',typ='R'),
26351 JEU_SOUD =SIMP(statut='o',typ='R'),
26354 CORPS =FACT(statut='o',
26355 E_CORP =SIMP(statut='o',typ='R'),
26356 DEXT_CORP =SIMP(statut='o',typ='R'),
26357 X_MAX =SIMP(statut='o',typ='R'),
26360 FISS_SOUDURE =FACT(statut='f',
26361 TYPE =SIMP(statut='o',typ='TXM',into=("LONGUE","COURTE")),
26362 AXIS =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
26363 PROFONDEUR =SIMP(statut='o',typ='R'),
26364 LONGUEUR =SIMP(statut='f',typ='R'),
26365 AZIMUT =SIMP(statut='o',typ='R'),
26366 RAYON_TORE =SIMP(statut='f',typ='R'),
26367 POSITION =SIMP(statut='o',typ='TXM',into=("DROIT","INCLINE")),
26368 FISSURE =SIMP(statut='o',typ='TXM',into=("DEB_INT","DEB_EXT","NON_DEB","TRAVERS")),
26369 LIGA_INT =SIMP(statut='f',typ='R'),
26370 ANGL_OUVERTURE =SIMP(statut='f',typ='R',defaut= 0.0E+0),
26371 COEF_MULT_RC1 =SIMP(statut='f',typ='R'),
26372 COEF_MULT_RC2 =SIMP(statut='f',typ='R'),
26373 COEF_MULT_RC3 =SIMP(statut='f',typ='R'),
26374 NB_TRANCHE =SIMP(statut='f',typ='I'),
26375 NB_SECTEUR =SIMP(statut='f',typ='I'),
26376 NB_COURONNE =SIMP(statut='f',typ='I'),
26379 IMPRESSION =FACT(statut='f',max='**',
26380 regles=(PRESENT_PRESENT('FICHIER','UNITE'),),
26381 FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","IDEAS","CASTEM")),
26383 b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas",
26384 VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
26387 b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem",
26388 NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
26390 FICHIER =SIMP(statut='f',typ='TXM'),
26391 UNITE =SIMP(statut='f',typ='I'),
26394 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
26397 # ======================================================================
26398 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
26399 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
26400 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
26401 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
26402 # (AT YOUR OPTION) ANY LATER VERSION.
26404 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
26405 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
26406 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
26407 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
26409 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
26410 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
26411 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
26412 # ======================================================================
26413 # person_in_charge: jean-luc.flejou at edf.fr
26416 MACR_CARA_POUTRE=MACRO(nom="MACR_CARA_POUTRE",
26417 op=OPS('Macro.macr_cara_poutre_ops.macr_cara_poutre_ops'),
26418 sd_prod=table_sdaster,
26420 UIinfo={"groupes":("Modélisation",)},
26421 fr="Calculer les caractéristiques d'une section transversale de " \
26422 "poutre à partir d'un maillage 2D de la section",
26424 EXCLUS('SYME_Y','GROUP_MA_BORD'),
26425 EXCLUS('SYME_Z','GROUP_MA_BORD'),
26428 MAILLAGE =SIMP(statut='f',typ=maillage_sdaster, fr="Nom du concept maillage"),
26430 condition = "MAILLAGE == None",
26431 regles=( PRESENT_PRESENT('FORMAT','UNITE') ),
26432 FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","MED"),
26433 fr="Format du fichier"),
26434 UNITE =SIMP(statut='f',typ='I',defaut= 20,
26435 fr="Unite correspondant au format du fichier maillage"),
26438 ORIG_INER =SIMP(statut='f',typ='R',max=3,defaut=(0.E+0,0.E+0),
26439 fr="Point par rapport auquel sont calculées les inerties"),
26440 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
26442 TABLE_CARA =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON",),
26444 SYME_Y =SIMP(statut='f',typ='TXM',into=("OUI",), fr="demi maillage par rapport a y=0"),
26445 SYME_Z =SIMP(statut='f',typ='TXM',into=("OUI",), fr="demi maillage par rapport a z=0"),
26447 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
26448 fr="Calcul des caractéristiques équivalentes à plusieurs sections disjointes"),
26450 GROUP_MA_BORD =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
26451 fr="Groupe(s) de mailles linéiques, bord(s) de(s) section(s)"),
26454 condition = """(TABLE_CARA == 'OUI') and (GROUP_MA == None)""",
26455 NOM =SIMP(statut='f',typ='TXM',max=1,validators=LongStr(1,8),
26456 fr="Nom de la section, 8 caractères maximum.")
26460 condition = "GROUP_MA_BORD != None",
26461 fr=" calcul des carac. mecaniques",
26462 regles=(UN_PARMI('NOEUD','GROUP_NO')),
26463 NOEUD =SIMP(statut='f',typ=no,max='**',
26464 fr="Simplement pour empecher des pivots nuls le cas echeant. "
26465 "Fournir un noeud quelconque"),
26466 GROUP_NO =SIMP(statut='f',typ=grno,max='**',
26467 fr="Simplement pour empecher des pivots nuls le cas echeant. "
26468 "Fournir un noeud quelconque par GROUP_MA"),
26469 GROUP_MA_INTE =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
26470 fr="groupes de mailles linéiques bordant des trous dans la section"),
26474 condition ="""(GROUP_MA_BORD != None) and (GROUP_MA != None)""",
26475 fr=" calcul des coef de cisaillement équivalents a un reseau de poutres",
26476 regles=(ENSEMBLE('LONGUEUR','LIAISON','MATERIAU') ,),
26477 LONGUEUR =SIMP(statut='f',typ='R',
26478 fr="Longueur du réseau de poutres"),
26479 MATERIAU =SIMP(statut='f',typ=mater_sdaster,
26480 fr="Materiau elastique lineaire du reseau"),
26481 LIAISON =SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT"),
26482 fr="type de conditions aux limites sur le plancher supérieur" ),
26486 # ======================================================================
26487 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
26488 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
26489 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
26490 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
26491 # (AT YOUR OPTION) ANY LATER VERSION.
26493 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
26494 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
26495 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
26496 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
26498 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
26499 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
26500 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
26501 # ======================================================================
26502 # person_in_charge: j-pierre.lefebvre at edf.fr
26505 def macr_ecla_pg_prod(self,RESULTAT,MAILLAGE,RESU_INIT,**args):
26506 self.type_sdprod(RESULTAT,AsType(RESU_INIT))
26507 self.type_sdprod(MAILLAGE,maillage_sdaster)
26511 MACR_ECLA_PG=MACRO(nom="MACR_ECLA_PG",
26512 op=OPS('Macro.macr_ecla_pg_ops.macr_ecla_pg_ops'),
26513 sd_prod=macr_ecla_pg_prod,
26515 UIinfo={"groupes":("Post-traitements","Résultats et champs",)},
26516 fr="Permettre la visualisation des champs aux points de Gauss d'une " \
26517 "SD_RESULTAT sans lissage ni interpolation",
26519 # SD résultat ,modèle et champs à "éclater" :
26520 RESU_INIT =SIMP(statut='o',typ=resultat_sdaster,fr="RESULTAT à éclater",),
26521 MODELE_INIT =SIMP(statut='o',typ=modele_sdaster,fr="MODELE à éclater"),
26522 NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO('ELGA'),),
26524 # paramètres numériques de la commande :
26525 SHRINK =SIMP(statut='f',typ='R',defaut= 0.9, fr="Facteur de réduction" ),
26526 TAILLE_MIN =SIMP(statut='f',typ='R',defaut= 0.0, fr="Taille minimale d'un coté" ),
26528 # concepts produits par la commande :
26529 RESULTAT =SIMP(statut='o',typ=CO,fr="SD_RESULTAT résultat de la commande"),
26530 MAILLAGE =SIMP(statut='o',typ=CO,fr="MAILLAGE associé aux cham_no de la SD_RESULTAT"),
26532 # Sélection éventuelle d'un sous-ensemble des éléments à visualiser :
26533 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
26534 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
26535 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
26537 # Sélection des numéros d'ordre :
26538 regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),),
26539 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
26540 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
26541 LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster),
26542 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
26543 LIST_INST =SIMP(statut='f',typ=listr8_sdaster),
26544 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
26545 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
26546 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
26547 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
26548 PRECISION =SIMP(statut='o',typ='R',),),
26551 # ======================================================================
26552 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
26553 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
26554 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
26555 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
26556 # (AT YOUR OPTION) ANY LATER VERSION.
26558 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
26559 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
26560 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
26561 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
26563 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
26564 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
26565 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
26566 # ======================================================================
26567 # person_in_charge: marina.bottoni at edf.fr
26570 def macr_ecre_calc_prod(self,TABLE,DEBIT,**args):
26572 self.type_sdprod(TABLE,table_sdaster)
26573 self.type_sdprod(DEBIT,table_sdaster)
26576 MACR_ECRE_CALC=MACRO(nom="MACR_ECRE_CALC",
26577 op=OPS('Macro.macr_ecre_calc_ops.macr_ecre_calc_ops'),
26578 sd_prod=macr_ecre_calc_prod,
26580 UIinfo={"groupes":("Résolution","Outils-métier",)},
26581 fr="Procedure de couplage avec Ecrevisse",
26583 regles = (UN_PARMI('LOGICIEL','VERSION'),),
26585 # CONCEPTS SORTANT : 2 TABLES POUR LE POST-TRAITEMENT
26586 # ********************************************
26587 TABLE =SIMP(statut='o',typ=CO),
26588 DEBIT =SIMP(statut='o',typ=CO),
26590 # DONNEES GEOMETRIQUES RELATIVES A LA FISSURE
26591 # *******************************************
26593 FISSURE =FACT(statut='o',min=1,max=1,
26594 LONGUEUR =SIMP(statut='o',typ='R',val_min=0.E+0,fr="Longueur de la fissure [zl]"),
26595 RUGOSITE =SIMP(statut='o',typ='R',fr="Rugosite absolu (metres) [eps]"),
26596 ANGLE =SIMP(statut='o',typ='R',fr="Angle par rapport a l'ascendante verticale (degres)"),
26597 ZETA =SIMP(statut='o',typ='R',fr="Coefficient de la perte de charge singuliere a l'entree [zeta]"),
26598 SECTION =SIMP(statut='o',typ='TXM',into=("ELLIPSE","RECTANGLE"),fr="Type de section [is]"),
26599 b_section_ellipse =BLOC(condition="SECTION=='ELLIPSE'",fr="Fissure a section elliptique",
26600 LISTE_COTES_AH =SIMP(statut='o',typ='R',max='**',
26601 fr="Liste des cotes des points definissant le grand axe de la section",
26602 validators=NoRepeat()),
26603 LISTE_VAL_AH =SIMP(statut='o',typ='R',max='**',
26604 fr="Liste des valeurs des points definissant le grand axe de la section",),
26605 LISTE_COTES_BL =SIMP(statut='o',typ='R',max='**',
26606 fr="Liste des cotes des points definissant le petit axe de la section",
26607 validators=NoRepeat()),
26608 LISTE_VAL_BL =SIMP(statut='o',typ='R',max='**',
26609 fr="Liste des valeurs des points definissant le petit axe de la section",),
26611 b_section_rectangle =BLOC(condition="SECTION=='RECTANGLE'",fr="Fissure a section rectangulaire",
26612 LISTE_COTES_AH =SIMP(statut='o',typ='R',max='**',
26613 fr="Liste des cotes des points definissant la hauteur de la section",
26614 validators=NoRepeat()),
26615 LISTE_VAL_AH =SIMP(statut='o',typ='R',max='**',
26616 fr="Liste des valeurs des points definissant la hauteur de la section",),
26617 LISTE_COTES_BL =SIMP(statut='o',typ='R',max='**',
26618 fr="Liste des cotes des points definissant la largeur de la section",
26619 validators=NoRepeat()),
26620 LISTE_VAL_BL =SIMP(statut='o',typ='R',max='**',
26621 fr="Liste des valeurs des points definissant la largeur de la section",),
26626 # DONNEES RELATIVES A L"ECOULEMENT
26627 # ********************************
26629 ECOULEMENT =FACT(statut='f',min=1,max=1,
26630 PRES_ENTREE =SIMP(statut='o',typ='R',fr="Pression de stagnation a l'entree (Pa) [pe]" ),
26631 PRES_SORTIE =SIMP(statut='o',typ='R',fr="Pression de stagnation a la sortie (Pa) [ps]" ),
26632 FLUIDE_ENTREE =SIMP(statut='o',typ='I',into=(1,2,3,4,5,6),fr="Condition du fluide a l'entree [iflow]" ),
26633 b_condition_1 =BLOC(condition="FLUIDE_ENTREE==1",fr="Eau sous-refroidie ou saturee",
26634 TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ),
26636 b_condition_2 =BLOC(condition="FLUIDE_ENTREE==2",fr="Fluide diphasique",
26637 TITR_MASS =SIMP(statut='o',typ='R',fr="Titre massique eau vap/eau tot a l'entree [xe]" ),
26639 b_condition_3 =BLOC(condition="FLUIDE_ENTREE==3",fr="Vapeur saturee ou surchauffee",
26640 TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ),
26642 b_condition_4 =BLOC(condition="FLUIDE_ENTREE==4",fr="Air + vapeur surchauffee",
26643 TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ),
26644 PRES_PART =SIMP(statut='o',typ='R',fr="Pression partielle air en entree (Pa) [pae]" ),
26646 b_condition_5 =BLOC(condition="FLUIDE_ENTREE==5",fr="Air + vapeur saturee",
26647 TITR_MASS =SIMP(statut='o',typ='R',fr="Titre massique eau vap/eau tot a l'entree [xe]" ),
26648 PRES_PART =SIMP(statut='o',typ='R',fr="Pression partielle air en entree (Pa) [pae]" ),
26650 b_condition_6 =BLOC(condition="FLUIDE_ENTREE==6",fr="Air seul",
26651 TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ),
26656 # DONNEES RELATIVES AU PROFIL DE TEMPERATURE A TRAVERS LA PAROI
26657 # *************************************************************
26659 TEMPERATURE =FACT(statut='f',min=1,max=1,
26660 GRADIENT =SIMP(statut='o',typ='TXM',into=("FOURNI","IMPOSE","CALCULE"),
26661 fr="Modele de calcul du gradient de temperature [imograd]" ),
26662 b_gradient_fourni =BLOC(condition="GRADIENT=='FOURNI'",fr="Distribution de temperature fournie [imograd=-1]",
26663 LISTE_COTES_TEMP =SIMP(statut='o',typ='R',max='**',fr="Liste des cotes pour les temperatures",
26664 validators=NoRepeat() ),
26665 LISTE_VAL_TEMP =SIMP(statut='o',typ='R',max='**',fr="Liste des valeurs de temperature", ),
26667 b_gradient_impose =BLOC(condition="GRADIENT=='IMPOSE'",fr="Distribution imposee de temperature [imograd=0]",
26668 TEMP1 =SIMP(statut='o',typ='R',
26669 fr="Gradient de temperature de la paroi le long de l'ecoulement (degC/m) [tm1]", ),
26670 TEMP2 =SIMP(statut='o',typ='R',fr="Temperature de la paroi a l'entree (degC) [tm2]", ),
26672 b_gradient_calcule =BLOC(condition="GRADIENT=='CALCULE'",fr="Profil de temperature calcule [imograd=1]",
26673 EPAISSEUR_PAROI =SIMP(statut='o',typ='R',fr="Epaisseur de la paroi (m) [epp]", ),
26674 CONVECTION_AMONT =SIMP(statut='o',typ='R',
26675 fr="Coefficient de convection a la surface de la paroi cote amont (W/degC/m2) [alphe]", ),
26676 CONVECTION_AVAL =SIMP(statut='o',typ='R',
26677 fr="Coefficient de convection a la surface de la paroi cote aval (W/degC/m2) [alphs]", ),
26678 LAMBDA =SIMP(statut='o',typ='R',fr="Conduction thermique de la paroi (W/degC/m) [lambd]", ),
26679 TEMP_FLUIDE_AVAL =SIMP(statut='o',typ='R',fr="Temperature du fluide cote aval (degC) [ts]", ),
26684 # CHOIX DES MODELES
26685 # *****************
26687 MODELE_ECRE =FACT(statut='f',min=1,max=1,
26688 IVENAC =SIMP(statut='f', typ='I', into=(0,1), defaut=0,
26689 fr="Calcul ECREVISSE avec prise en compte de la vena contracta"),
26690 ECOULEMENT =SIMP(statut='o',typ='TXM',into=("SATURATION","GELE"),
26691 fr="Type de modele d'ecoulement diphasique [imod]" ),
26692 b_ecou_gele =BLOC(condition="ECOULEMENT=='GELE'",fr="Modele d'ecoulement gele",
26693 PRESS_EBULLITION =SIMP(statut='o',typ='R',fr="Pression d'ebullition [corrp*psat(t)]"),
26695 FROTTEMENT =SIMP(statut='o',typ='I',into=(-4,-3,-2,-1,0,1,2,3,4,11,12,13,14),fr="Correlation de frottement [ifrot]"),
26696 b_frottement =BLOC(condition="FROTTEMENT<0",fr="Modele d'ecoulement gele",
26697 REYNOLDS_LIM =SIMP(statut='o',typ='R',fr="Coefficient de Reynolds limite [relim]"),
26698 FROTTEMENT_LIM =SIMP(statut='o',typ='R',fr="Coefficient de frottement impose [frtlim]"),
26701 TRANSFERT_CHAL =SIMP(statut='o',typ='I',into=(-12,-11,-2,-1,0,1,2,11,12),fr="Transfert de chaleur [ichal]"),
26702 b_transchal =BLOC(condition="TRANSFERT_CHAL<0", fr="Cas diphasique",
26703 XMINCH =SIMP(statut='o',typ='R',fr="Titre massique gazeux min [xminch]"),
26704 XMAXCH =SIMP(statut='o',typ='R',fr="Titre massique gazeux max [xmaxch]"),
26709 # DONNEES RELATIVES A LA CONVERGENCE NUMERIQUE
26710 # ********************************************
26712 CONVERGENCE =FACT(statut='f',min=1,max=1,
26713 KGTEST =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=1.E+0,defaut= 0.5E+0,
26714 fr="Parametre de l'algorithme iteratif [kgtest]" ),
26715 ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 400,
26716 fr="Nombre maximum d'iterations de la methode de Newton [itnmax]" ),
26717 CRIT_CONV_DEBI =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=1.E+0,defaut= 1.E-5,
26718 fr="Critere de convergence en debit [precdb]" ),
26725 COURBES =SIMP(statut='f',typ='TXM',into=("INTERACTIF","POSTSCRIPT","AUCUNE"),defaut="AUCUNE",
26726 fr="Generation eventuelle des courbes" ),
26727 LOGICIEL =SIMP(statut='f',typ='TXM',validators=LongStr(1,255),),
26728 VERSION =SIMP(statut='f',typ='TXM',into = ("3.2.1",) ),
26729 ENTETE =SIMP(statut='f',typ='TXM',max='**',defaut="Titre du calcul Ecrevisse" ),
26730 IMPRESSION =SIMP(statut='f',typ='TXM',defaut='NON',into=( 'OUI','NON') ),
26731 INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
26735 # ======================================================================
26736 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
26737 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
26738 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
26739 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
26740 # (AT YOUR OPTION) ANY LATER VERSION.
26742 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
26743 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
26744 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
26745 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
26747 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
26748 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
26749 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
26750 # ======================================================================
26751 # person_in_charge: marina.bottoni at edf.fr
26754 def macr_ecrevisse_prod(self,TABLE,TEMPER,DEBIT,**args):
26755 # On definit ici les concepts produits
26756 self.type_sdprod(TABLE,table_sdaster)
26757 self.type_sdprod(TEMPER,evol_ther)
26758 self.type_sdprod(DEBIT,table_sdaster)
26763 MACR_ECREVISSE=MACRO(nom="MACR_ECREVISSE",
26764 op=OPS('Macro.macr_ecrevisse_ops.macr_ecrevisse_ops'),
26765 sd_prod=macr_ecrevisse_prod,
26767 UIinfo={"groupes":("Résolution","Outils-métier",)},
26768 fr="Procedure de couplage avec Ecrevisse",
26770 reuse = SIMP(statut='f',typ='evol_noli'),
26771 regles = (EXCLUS('TEMPER','ETAT_INIT'),
26772 UN_PARMI('LOGICIEL','VERSION'),),
26775 # ********************************************
26776 TABLE =SIMP(statut='f',typ=CO),
26777 DEBIT =SIMP(statut='f',typ=CO),
26778 TEMPER =SIMP(statut='f',typ=CO),
26781 # ********************************************
26782 ETAT_INIT =FACT(statut='f',
26783 EVOL_NOLI =SIMP(statut='o',typ=evol_noli),
26784 EVOL_THER =SIMP(statut='o',typ=evol_ther),
26785 NUME_ORDRE =SIMP(statut='o',typ='I'),
26789 # MODELES MECANIQUES
26790 # ********************************************
26791 MODELE_MECA =SIMP(statut='o',typ=modele_sdaster),
26792 MODELE_THER =SIMP(statut='o',typ=modele_sdaster),
26795 # DONNEES GEOMETRIQUES RELATIVES A LA FISSURE
26796 # *******************************************
26797 FISSURE =FACT(statut='o',min=1,max='**',
26798 PREFIXE_FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,8)),
26799 GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),min=2,max=2,
26800 fr="Groupe(s) des noeuds definissant les levres de la fissure"),
26801 GROUP_NO_ORIG =SIMP(statut='o',typ=grno,validators=NoRepeat(),min=2,max=2),
26802 GROUP_NO_EXTR =SIMP(statut='o',typ=grno,validators=NoRepeat(),min=2,max=2),
26803 ZETA =SIMP(statut='o',typ='R',fr="Coefficient de la perte de charge singuliere a l'entree [zeta]" ),
26804 RUGOSITE =SIMP(statut='o',typ='R',fr="Rugosite absolu (metres) [eps]" ),
26805 TORTUOSITE =SIMP(statut='f',typ='R',defaut=1.0, val_min=0., val_max=1.0,
26806 fr="Coefficient de tortuosite de la fissure" ),
26807 OUVERT_REMANENTE =SIMP(statut='o',typ='R',val_min=0.,fr="Ouverture remanente"),
26808 SECTION =SIMP(statut='o',typ='TXM',into=("ELLIPSE","RECTANGLE"),fr="Type de section [is]" ),
26809 b_section_ellipse =BLOC(condition="SECTION=='ELLIPSE'",fr="Fissure a section elliptique",
26810 LISTE_COTES_BL =SIMP(statut='f',typ='R',max='**',
26811 fr="Liste des cotes des points definissant le petit axe de la section",
26812 validators=NoRepeat() ),
26813 LISTE_VAL_BL =SIMP(statut='o',typ='R',max='**',
26814 fr="Liste des valeurs des points definissant le petit axe de la section", ),
26816 b_section_rectangle =BLOC(condition="SECTION=='RECTANGLE'",fr="Fissure a section rectangulaire",
26817 LISTE_COTES_BL =SIMP(statut='f',typ='R',max='**',
26818 fr="Liste des cotes des points definissant la largeur de la section",validators=NoRepeat()),
26819 LISTE_VAL_BL =SIMP(statut='o',typ='R',max='**',
26820 fr="Liste des valeurs des points definissant la largeur de la section", ),
26825 # DONNEES RELATIVES A L"ECOULEMENT
26826 # ********************************
26827 ECOULEMENT =FACT(statut='o',min=1,max=1,
26828 regles=(UN_PARMI('PRES_ENTREE','PRES_ENTREE_FO'),
26829 UN_PARMI('PRES_SORTIE','PRES_SORTIE_FO'),
26831 PRES_ENTREE =SIMP(statut='f',typ='R',fr="Pression de stagnation a l'entree (Pa) [pe]" ),
26832 PRES_ENTREE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),
26833 fr="Evolution de la pression de stagnation a l'entree (Pa) [pe]" ),
26834 PRES_SORTIE =SIMP(statut='f',typ='R',fr="Pression de stagnation a la sortie (Pa) [ps]" ),
26835 PRES_SORTIE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),
26836 fr="Evolution de la pression de stagnation a la sortie (Pa) [ps]" ),
26837 FLUIDE_ENTREE =SIMP(statut='o',typ='I',into=(1,2,3,4,5,6),fr="Condition du fluide a l'entree [iflow]" ),
26838 b_condition_1 =BLOC(condition="FLUIDE_ENTREE==1",
26839 regles=(UN_PARMI('TEMP_ENTREE', 'TEMP_ENTREE_FO')),
26840 fr="Eau sous-refroidie ou saturee",
26841 TEMP_ENTREE =SIMP(statut='f',typ='R',fr="Temperature a l'entree (degres C) [te]" ),
26842 TEMP_ENTREE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),
26843 fr="Evolution de la temperature a l'entree (degres C) [te]" ),
26845 b_condition_2 =BLOC(condition="FLUIDE_ENTREE==2",
26846 regles=(UN_PARMI('TITR_MASS', 'TITR_MASS_FO')),
26847 fr="Fluide diphasique",
26848 TITR_MASS =SIMP(statut='f',typ='R',fr="Titre massique eau vap/eau tot a l'entree [xe]" ),
26849 TITR_MASS_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),
26850 fr="Evolution du titre massique eau vap/eau tot a l'entree [xe]" ),
26852 b_condition_3 =BLOC(condition="FLUIDE_ENTREE==3",
26853 regles=(UN_PARMI('TEMP_ENTREE', 'TEMP_ENTREE_FO')),
26854 fr="Vapeur saturee ou surchauffee",
26855 TEMP_ENTREE =SIMP(statut='f',typ='R',fr="Temperature a l'entree (degres C) [te]" ),
26856 TEMP_ENTREE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),
26857 fr="Evolution de la temperature a l'entree (degres C) [te]" ),
26859 b_condition_4 =BLOC(condition="FLUIDE_ENTREE==4",
26860 regles=(UN_PARMI('TEMP_ENTREE', 'TEMP_ENTREE_FO'),
26861 UN_PARMI('PRES_PART', 'PRES_PART_FO')),
26862 fr="Air + vapeur surchauffee",
26863 TEMP_ENTREE =SIMP(statut='f',typ='R',fr="Temperature a l'entree (degres C) [te]" ),
26864 TEMP_ENTREE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),
26865 fr="Evolution de la temperature a l'entree (degres C) [te]" ),
26866 PRES_PART =SIMP(statut='f',typ='R',fr="Pression partielle air en entree (Pa) [pae]" ),
26867 PRES_PART_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),
26868 fr="Evolution de la pression partielle air en entree (Pa) [pae]" ),
26870 b_condition_5 =BLOC(condition="FLUIDE_ENTREE==5",
26871 regles=(UN_PARMI('TITR_MASS', 'TITR_MASS_FO'),
26872 UN_PARMI('PRES_PART', 'PRES_PART_FO')),
26873 fr="Air + vapeur saturee",
26874 TITR_MASS =SIMP(statut='f',typ='R',fr="Titre massique eau vap/eau tot a l'entree [xe]" ),
26875 TITR_MASS_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),
26876 fr="Evolution du titre massique eau vap/eau tot a l'entree [xe]" ),
26877 PRES_PART =SIMP(statut='f',typ='R',fr="Pression partielle air en entree (Pa) [pae]" ),
26878 PRES_PART_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),
26879 fr="Evolution de la pression partielle air en entree (Pa) [pae]" ),
26881 b_condition_6 =BLOC(condition="FLUIDE_ENTREE==6",
26882 regles=(UN_PARMI('TEMP_ENTREE', 'TEMP_ENTREE_FO')),
26884 TEMP_ENTREE =SIMP(statut='f',typ='R',fr="Temperature a l'entree (degres C) [te]" ),
26885 TEMP_ENTREE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),
26886 fr="Evolution de la temperature a l'entree (degres C) [te]" ),
26890 LIST_INST =SIMP(statut='f',typ=(listr8_sdaster), fr="Liste des instants de calcul imposes" ),
26892 # CHOIX DES MODELES
26893 # *****************
26895 MODELE_ECRE =FACT(statut='o',min=1,max=1,
26896 IVENAC =SIMP(statut='f', typ='I', into=(0,1), defaut=0,
26897 fr="Calcul ECREVISSE avec prise en compte de la vena contracta"),
26898 ECOULEMENT =SIMP(statut='o',typ='TXM',into=("SATURATION","GELE"),
26899 fr="Type de modele d'ecoulement diphasique [imod]" ),
26900 b_ecou_gele =BLOC(condition="ECOULEMENT=='GELE'",fr="Modele d'ecoulement gele",
26901 PRESS_EBULLITION =SIMP(statut='o',typ='R',fr="Pression d'ebullition [corrp*psat(t)]" ),
26903 FROTTEMENT =SIMP(statut='o',typ='I',into=(-4,-3,-2,-1,0,1,2,3,4,11,12,13,14),fr="Correlation de frottement [ifrot]" ),
26904 b_frottement =BLOC(condition="FROTTEMENT<0",fr="Modele d'ecoulement gele",
26905 REYNOLDS_LIM =SIMP(statut='o',typ='R',fr="Coefficient de Reynolds limite [relim]" ),
26906 FROTTEMENT_LIM =SIMP(statut='o',typ='R',fr="Coefficient de frottement impose [frtlim]" ),
26909 TRANSFERT_CHAL =SIMP(statut='o',typ='I',into=(-12,-11,-2,-1,0,1,2,11,12),fr="Transfert de chaleur [ichal]" ),
26910 b_transchal =BLOC(condition="TRANSFERT_CHAL<0", fr="Cas diphasique",
26911 XMINCH =SIMP(statut='o',typ='R',fr="Titre massique gazeux min [xminch]"),
26912 XMAXCH =SIMP(statut='o',typ='R',fr="Titre massique gazeux max [xmaxch]"),
26917 # CRITERE DE CONVERGENCE
26918 # **********************
26920 CONV_CRITERE =FACT(statut='o',min=1,max=1,
26921 TEMP_REF =SIMP(statut='o',typ='R',val_min=1.0E-5,fr="Temperature de reference pour le calcul du critere"),
26922 PRES_REF =SIMP(statut='o',typ='R',val_min=1.0E-5,fr="Pression de reference pour le calcul du critere"),
26923 CRITERE =SIMP(statut='o',typ='TXM',defaut="TEMP_PRESS",into=("TEMP_PRESS","EXPLICITE","TEMP","PRESS"),
26924 fr="La nature du critere pour la convergence"),
26925 b_critere_autre =BLOC(condition="CRITERE=='TEMP_PRESS' or CRITERE=='TEMP' or CRITERE=='PRESS'",
26926 fr="Critere de convergence temp_press, temp, ou press",
26927 SUBD_NIVEAU =SIMP(statut='f',typ='I',val_min=2,defaut=3,
26928 fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
26929 SUBD_PAS_MINI =SIMP(statut='f',typ='R',val_min=0.0, fr="Pas de temps en dessous duquel on ne subdivise plus"),
26930 NUME_ORDRE_MIN =SIMP(statut='f',typ='I',val_min=-1,defaut=-1,
26931 fr="Numero d'ordre a partir duquel le critere est pris en compte"),
26932 PREC_CRIT =SIMP(statut='f',typ='R',val_min=1.0E-2,defaut=1.0,
26933 fr="Valeur du critere pour l'erreur de convergence"),
26938 # DONNEES RELATIVES A LA CONVERGENCE NUMERIQUE
26939 # ********************************************
26941 CONVERGENCE_ECREVISSE =FACT(statut='f',min=1,max=1,
26942 KGTEST =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=1.E+0,defaut= 0.5E+0,
26943 fr="Parametre de l'algorithme iteratif [kgtest]" ),
26944 ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 400,
26945 fr="Nombre maximum d'iterations de la methode de Newton [itnmax]" ),
26946 CRIT_CONV_DEBI =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=1.E+0,defaut= 1.E-5,
26947 fr="Critere de convergence en debit [precdb]" ),
26954 COURBES = SIMP(statut='f',typ='TXM',into=("INTERACTIF","POSTSCRIPT","AUCUNE"),defaut="AUCUNE",
26955 fr="Generation eventuelle des courbes" ),
26956 LOGICIEL = SIMP(statut='f',typ='TXM',validators=LongStr(1,255),),
26957 VERSION = SIMP(statut='f',typ='TXM',into = ("3.2.1",) ),
26958 ENTETE = SIMP(statut='f',typ='TXM',max='**',defaut="Titre du calcul Ecrevisse" ),
26959 IMPRESSION = SIMP(statut='f',typ='TXM',defaut='NON',into=( 'OUI','NON') ),
26960 INFO = SIMP(statut='f',typ='I',defaut="1",into=(1,2) ),
26962 # DONNEES POUR STAT_NON_LINE ET THER_NON_LINE
26963 # *******************************************
26965 # copie de stat_non_line.capy des options des mots cles qui nous interessent
26969 CHAM_MATER =SIMP(statut='o',typ=cham_mater),
26970 CARA_ELEM =SIMP(statut='f',typ=cara_elem),
26972 # donnees specifiques a stat_non_line
26974 EXCIT_MECA =FACT(statut='o',max='**',
26975 CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
26976 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
26977 TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
26978 into=("FIXE_CSTE","SUIV","DIDI")),
26981 CONTACT = SIMP(statut='o',typ=char_contact),
26983 COMPORTEMENT = C_COMPORTEMENT(),
26984 NEWTON = FACT(statut='d',
26985 REAC_INCR =SIMP(statut='f',typ='I',defaut= 1 ),
26986 PREDICTION =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ),
26987 MATRICE =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
26988 PAS_MINI_ELAS =SIMP(statut='f',typ='R',defaut=0.0E+0),
26989 REAC_ITER =SIMP(statut='f',typ='I',defaut=0),
26990 REAC_ITER_ELAS =SIMP(statut='f',typ='I',defaut=0),
26991 EVOL_NOLI =SIMP(statut='f',typ=evol_noli),
26993 CONVERGENCE = FACT(statut='d',regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),),
26994 b_refe_rela =BLOC(condition = "RESI_REFE_RELA != None",
26995 regles=(AU_MOINS_UN('SIGM_REFE','EPSI_REFE','FLUX_THER_REFE',
26996 'FLUX_HYD1_REFE','FLUX_HYD2_REFE','VARI_REFE'),
26998 SIGM_REFE =SIMP(statut='f',typ='R'),
26999 EPSI_REFE =SIMP(statut='f',typ='R'),
27000 FLUX_THER_REFE =SIMP(statut='f',typ='R'),
27001 FLUX_HYD1_REFE =SIMP(statut='f',typ='R'),
27002 FLUX_HYD2_REFE =SIMP(statut='f',typ='R'),
27003 VARI_REFE =SIMP(statut='f',typ='R'),
27005 RESI_REFE_RELA =SIMP(statut='f',typ='R'),
27006 RESI_GLOB_MAXI =SIMP(statut='f',typ='R'),
27007 RESI_GLOB_RELA =SIMP(statut='f',typ='R'),
27008 ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut=10),
27009 ITER_GLOB_ELAS =SIMP(statut='f',typ='I',defaut=25),
27010 ARRET =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
27013 ENERGIE =FACT(statut='f',max=1,
27014 CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",),
27017 # donnees specifiques a ther_lineaire
27019 EXCIT_THER =FACT(statut='o',max='**',
27020 CHARGE =SIMP(statut='o',typ=(char_ther,char_cine_ther)),
27021 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
27023 PARM_THETA =SIMP(statut='f',typ='R',defaut= 0.57),
27027 # ======================================================================
27028 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
27029 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
27030 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
27031 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
27032 # (AT YOUR OPTION) ANY LATER VERSION.
27034 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
27035 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
27036 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
27037 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
27039 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
27040 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
27041 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
27042 # ======================================================================
27043 # person_in_charge: mathieu.corus at edf.fr
27045 MACR_ELEM_DYNA=OPER(nom="MACR_ELEM_DYNA",op= 81,sd_prod=macr_elem_dyna,
27046 fr="Definition d'un macro element pour analyse modale ou harmonique par sous structuration dynamique",
27048 UIinfo={"groupes":("Matrices et vecteurs","Dynamique",)},
27050 # AMOR_REDUIT et MATR_AMOR sont redondants
27051 EXCLUS('MATR_AMOR','AMOR_REDUIT' ),
27053 # Si MODELE_MESURE, on ne rentre pas de donnees pour le calcul
27054 EXCLUS('MODELE_MESURE','MATR_RIGI' ),
27055 EXCLUS('MODELE_MESURE','MATR_MASS' ),
27056 EXCLUS('MODELE_MESURE','MATR_AMOR' ),
27057 EXCLUS('MODELE_MESURE','AMOR_REDUIT' ),
27058 EXCLUS('MODELE_MESURE','MATR_IMPE' ),
27059 EXCLUS('MODELE_MESURE','MATR_IMPE_RIGI' ),
27060 EXCLUS('MODELE_MESURE','MATR_IMPE_MASS' ),
27061 EXCLUS('MODELE_MESURE','MATR_IMPE_AMOR' ),
27063 PRESENT_ABSENT('MATR_IMPE','MATR_IMPE_RIGI'),
27064 PRESENT_ABSENT('MATR_IMPE','MATR_IMPE_MASS'),
27065 PRESENT_ABSENT('MATR_IMPE','MATR_IMPE_AMOR'),
27066 PRESENT_ABSENT('MATR_IMPE','MATR_RIGI','MATR_MASS'),
27067 PRESENT_ABSENT('MATR_IMPE_MASS','MATR_RIGI','MATR_MASS'),
27068 PRESENT_ABSENT('MATR_IMPE_RIGI','MATR_RIGI','MATR_MASS'),
27069 PRESENT_ABSENT('MATR_IMPE_AMOR','MATR_RIGI','MATR_MASS'),),
27070 BASE_MODALE =SIMP(statut='o',typ=mode_meca ),
27071 MATR_RIGI =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c),),
27072 MATR_MASS =SIMP(statut='f',typ=matr_asse_depl_r ),
27073 MATR_AMOR =SIMP(statut='f',typ=matr_asse_depl_r ),
27074 AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'),
27075 SANS_GROUP_NO =SIMP(statut='f',typ=grno ),
27076 MATR_IMPE =SIMP(statut='f',typ=matr_asse_gene_c ),
27077 MATR_IMPE_RIGI =SIMP(statut='f',typ=matr_asse_gene_c ),
27078 MATR_IMPE_MASS =SIMP(statut='f',typ=matr_asse_gene_c ),
27079 MATR_IMPE_AMOR =SIMP(statut='f',typ=matr_asse_gene_c ),
27080 MODELE_MESURE =FACT(statut='f',
27081 FREQ =SIMP(statut='o',typ='R',max='**' ),
27082 MASS_GENE =SIMP(statut='o',typ='R',max='**' ),
27083 AMOR_REDUIT =SIMP(statut='f',typ='R',max='**' ),
27085 b_matr_impe =BLOC(condition = "MATR_IMPE != None",
27086 FREQ_EXTR =SIMP(statut='o',typ='R' ),
27087 AMOR_SOL =SIMP(statut='f',typ='R',defaut=0.E+0 ),
27088 MATR_IMPE_INIT =SIMP(statut='f',typ=matr_asse_gene_c ),
27090 CAS_CHARGE =FACT(statut='f',max='**',
27091 NOM_CAS =SIMP(statut='o',typ='TXM'),
27092 VECT_ASSE_GENE =SIMP(statut='o',typ=vect_asse_gene ),
27096 # ======================================================================
27097 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
27098 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
27099 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
27100 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
27101 # (AT YOUR OPTION) ANY LATER VERSION.
27103 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
27104 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
27105 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
27106 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
27108 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
27109 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
27110 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
27111 # ======================================================================
27112 # person_in_charge: jacques.pellet at edf.fr
27113 MACR_ELEM_STAT=OPER(nom="MACR_ELEM_STAT",op=86,sd_prod=macr_elem_stat,reentrant='f',
27114 UIinfo={"groupes":("Matrices et vecteurs",)},
27115 fr="Définition d'un macro-élément pour l'analyse statique par sous-structuration",
27116 regles=(AU_MOINS_UN('DEFINITION','RIGI_MECA','MASS_MECA','CAS_CHARGE'),
27117 ENSEMBLE('DEFINITION','EXTERIEUR'),),
27118 DEFINITION =FACT(statut='f',
27119 regles=(PRESENT_PRESENT('PROJ_MESU','MODE_MESURE'),),
27120 MODELE =SIMP(statut='o',typ=modele_sdaster),
27121 CHAM_MATER =SIMP(statut='f',typ=cham_mater),
27122 CARA_ELEM =SIMP(statut='f',typ=cara_elem),
27123 CHAR_MACR_ELEM =SIMP(statut='f',typ=char_meca),
27124 INST =SIMP(statut='f',typ='R',defaut=0.0E+0 ),
27125 NMAX_CAS =SIMP(statut='f',typ='I',defaut=10),
27126 NMAX_CHAR =SIMP(statut='f',typ='I',defaut=10),
27127 PROJ_MESU =SIMP(statut='f',typ=(mode_gene,tran_gene,harm_gene),max=1),
27128 # MODE_MESURE =SIMP(statut='f',typ=( mode_meca,base_modale) ),
27129 MODE_MESURE =SIMP(statut='f',typ= mode_meca ),
27131 EXTERIEUR =FACT(statut='f',
27132 regles=(AU_MOINS_UN('NOEUD','GROUP_NO'),),
27133 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
27134 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
27136 RIGI_MECA =FACT(statut='f',
27138 MASS_MECA =FACT(statut='f',
27140 AMOR_MECA =FACT(statut='f',
27142 CAS_CHARGE =FACT(statut='f',max='**',
27143 NOM_CAS =SIMP(statut='o',typ='TXM'),
27144 SUIV =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
27145 CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
27146 INST =SIMP(statut='f',typ='R',defaut=0.E+0),
27151 # ======================================================================
27152 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
27153 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
27154 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
27155 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
27156 # (AT YOUR OPTION) ANY LATER VERSION.
27158 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
27159 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
27160 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
27161 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
27163 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
27164 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
27165 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
27166 # ======================================================================
27167 # person_in_charge: gerald.nicolas at edf.fr
27169 MACR_INFO_MAIL=MACRO(nom="MACR_INFO_MAIL",
27170 op=OPS('Macro.macr_adap_mail_ops.macr_adap_mail_ops'),
27171 docu="U7.03.02",UIinfo={"groupes":("Maillage",)},
27172 fr="Donner des informations sur un maillage.",
27173 ang="To give information about a mesh.",
27175 # 1. Le niveau d'information
27177 INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2,3,4)),
27179 # 2. Le nom du maillage a analyser
27181 MAILLAGE = SIMP(statut='o',typ=maillage_sdaster,
27182 fr="Maillage à analyser.",
27183 ang="Mesh to be checked." ),
27185 # 3. Suivi d'une frontiere
27187 MAILLAGE_FRONTIERE = SIMP(statut='f',typ=maillage_sdaster,
27188 fr="Maillage de la frontiere à suivre",
27189 ang="Boundary mesh" ),
27191 b_frontiere = BLOC( condition = " MAILLAGE_FRONTIERE != None " ,
27192 fr="Information complémentaire sur la frontière",
27193 ang="Further information about boundary",
27195 GROUP_MA_FRONT = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
27196 fr="Groupes de mailles définissant la frontière",
27197 ang="Mesh groups which define the boundary" ),
27201 # 4. Les options ; par defaut, on controle tout, sauf l'interpénétration
27202 # 4.1. Nombre de noeuds et mailles
27204 NOMBRE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",),
27205 fr="Nombre de noeuds et de mailles du maillage",
27206 ang="Number of nodes and meshes in the mesh" ),
27208 # 4.2. Determination de la qualite des mailles du maillage
27210 QUALITE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",),
27211 fr="Qualité du maillage",
27212 ang="Quality of the mesh" ),
27214 # 4.3. Connexite du maillage
27216 CONNEXITE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",),
27217 fr="Connexité du maillage.",
27218 ang="Connexity of the mesh." ),
27220 # 4.4. Taille des sous-domaines du maillage
27222 TAILLE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",),
27223 fr="Tailles des sous-domaines du maillage.",
27224 ang="Sizes of mesh sub-domains." ),
27226 # 4.5. Controle de la non-interpénétration des mailles
27228 INTERPENETRATION=SIMP(statut='f',typ='TXM',into=("OUI",),
27229 fr="Controle de la non interpénétration des mailles.",
27230 ang="Overlapping checking." ),
27232 # 4.6. Propriétés du maillage de calcul
27234 PROP_CALCUL = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",),
27235 fr="Propriétés du maillage de calcul.",
27236 ang="Properties of the calculation mesh." ),
27238 # 4.7. Determination des diametres des mailles du maillage
27240 DIAMETRE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",),
27241 fr="Diamètre du maillage",
27242 ang="Diameters of the mesh" ),
27244 # 5. Les options avancées
27245 # 5.1. Langue des messages issus de HOMARD
27247 LANGUE = SIMP(statut='f',typ='TXM',defaut="FRANCAIS",
27248 into=("FRANCAIS","FRENCH","ANGLAIS","ENGLISH",),
27249 fr="Langue des messages issus de HOMARD.",
27250 ang="Language for HOMARD messages." ),
27252 # 5.2. Gestion des mailles acceptees dans le maillage initial
27253 # "HOMARD" : exclusivement les mailles pouvant etre decoupees (defaut)
27254 # "IGNORE_PYRA" : elles sont ignorées
27256 ELEMENTS_ACCEPTES = SIMP(statut='f',typ='TXM',defaut="HOMARD",into=("HOMARD", "IGNORE_PYRA"),
27257 fr="Acceptation des mailles dans le maillage initial",
27258 ang="Elements in the very first mesh" ),
27260 # 5.3. Version de HOMARD
27262 VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V10_6",
27263 into=("V10_6", "V10_N", "V10_N_PERSO"),
27264 fr="Version de HOMARD",
27265 ang="HOMARD release"),
27267 # 5.4. Exécutable pilotant HOMARD
27269 LOGICIEL = SIMP(statut='f',typ='TXM',
27270 fr="Logiciel pilotant HOMARD",
27271 ang="HOMARD software"),
27273 # 5.5. Unite logique d'un fichier à ajouter a HOMARD.Configuration
27275 b_unite = BLOC( condition = " (VERSION_HOMARD == 'V10_N') or \
27276 (VERSION_HOMARD == 'V10_N_PERSO') " ,
27277 fr="Fichier supplementaire.",
27278 ang="Additional file.",
27280 UNITE = SIMP(statut='f',typ='I',
27281 fr="Unite logique a ajouter a HOMARD.Configuration",
27282 ang="Additional file to HOMARD.Configuration" ),
27288 # ======================================================================
27289 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
27290 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
27291 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
27292 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
27293 # (AT YOUR OPTION) ANY LATER VERSION.
27295 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
27296 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
27297 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
27298 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
27300 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
27301 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
27302 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
27303 # ======================================================================
27304 # person_in_charge: josselin.delmas at edf.fr
27307 MACR_LIGN_COUPE=MACRO(nom="MACR_LIGN_COUPE",
27308 op=OPS('Macro.macr_lign_coupe_ops.macr_lign_coupe_ops'),
27309 sd_prod=table_sdaster,
27311 UIinfo={"groupes":("Post-traitements","Résultats et champs",)},
27312 fr="Extraction des valeurs d'un résultat dans une ou plusieurs tables sur " \
27313 "des lignes de coupe définies par deux points et un intervalle",
27314 regles=(UN_PARMI("RESULTAT","CHAM_GD"),),
27316 RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther,mode_meca) ),
27317 CHAM_GD =SIMP(statut='f',typ=(cham_gd_sdaster)),
27319 b_extrac =BLOC(condition = "RESULTAT != None",fr="extraction des résultats",
27320 regles=(EXCLUS('NUME_ORDRE','NUME_MODE','LIST_ORDRE','INST','LIST_INST',), ),
27321 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
27322 NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
27323 LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster),
27324 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
27325 LIST_INST =SIMP(statut='f',typ=listr8_sdaster),
27326 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
27327 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
27328 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
27329 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
27330 PRECISION =SIMP(statut='o',typ='R',),),
27333 # extraction des résultats
27334 b_meca =BLOC(condition = "AsType(RESULTAT) in (evol_elas,evol_noli,mode_meca)",fr="résultat mécanique",
27335 NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),defaut='SIGM_NOEU',into=C_NOM_CHAM_INTO(),),
27337 b_ther =BLOC(condition = "AsType(RESULTAT) in (evol_ther,)",fr="résultat thermique",
27338 NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),defaut='TEMP',into=("TEMP",
27339 "FLUX_ELGA","FLUX_ELNO","FLUX_NOEU",
27340 "META_ELNO","META_NOEU",
27341 "DURT_ELNO","DURT_NOEU",
27342 "HYDR_ELNO","HYDR_NOEU",
27343 "DETE_ELNO","DETE_NOEU",
27344 "SOUR_ELGA","COMPORTHER",
27345 "ERTH_ELEM","ERTH_ELNO","ERTH_NOEU",),),),
27346 b_cham =BLOC(condition = "CHAM_GD!=None",
27347 NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO(),),),
27349 UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=25),
27350 MODELE =SIMP(statut='f',typ=modele_sdaster ),
27352 VIS_A_VIS =FACT(statut='f',max='**',
27353 regles=(EXCLUS('GROUP_MA_1','MAILLE_1'),),
27354 GROUP_MA_1 =SIMP(statut='f',typ=grma),
27355 MAILLE_1 =SIMP(statut='f',typ=ma,max='**'),),
27357 LIGN_COUPE =FACT(statut='o',max='**',
27358 regles=(EXCLUS("NOM_CMP","INVARIANT","ELEM_PRINCIPAUX","RESULTANTE"),
27359 PRESENT_PRESENT("TRAC_DIR","DIRECTION"),
27360 EXCLUS("TRAC_DIR","TRAC_NOR"),
27361 PRESENT_PRESENT("TRAC_DIR","NOM_CMP"),
27362 PRESENT_PRESENT("TRAC_NOR","NOM_CMP"),),
27364 INTITULE =SIMP(statut='f',typ='TXM',),
27365 TYPE =SIMP(statut='o',typ='TXM',max=1,
27366 into=("GROUP_NO","SEGMENT","ARC","GROUP_MA"),defaut="SEGMENT"),
27367 REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL",
27368 into=("GLOBAL","LOCAL","POLAIRE","UTILISATEUR","CYLINDRIQUE"),),
27369 OPERATION =SIMP(statut='f',typ='TXM',into=("EXTRACTION","MOYENNE",),defaut="EXTRACTION",),
27371 NOM_CMP =SIMP(statut='f',typ='TXM',max='**'),
27372 INVARIANT =SIMP(statut='f',typ='TXM',into=("OUI",),),
27373 ELEM_PRINCIPAUX =SIMP(statut='f',typ='TXM',into=("OUI",),),
27374 RESULTANTE =SIMP(statut='f',typ='TXM',max='**'),
27375 TRAC_NOR =SIMP(statut='f',typ='TXM',into=("OUI",)),
27376 TRAC_DIR =SIMP(statut='f',typ='TXM',into=("OUI",)),
27377 DIRECTION =SIMP(statut='f',typ='R',max='**'),
27380 b_local =BLOC(condition = "REPERE=='LOCAL' ",
27381 VECT_Y =SIMP(statut='f',typ='R',min=2,max=3),),
27383 b_utili =BLOC(condition = "REPERE=='UTILISATEUR'",
27384 ANGL_NAUT =SIMP(statut='o',typ='R',min=3,max=3),),
27386 b_grno =BLOC(condition = "TYPE=='GROUP_NO'",
27387 GROUP_NO =SIMP(statut='o',typ=grno, max=1),),
27389 b_grma =BLOC(condition = "TYPE=='GROUP_MA'",
27390 regles=(EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),
27391 EXCLUS('NOEUD_EXTR','GROUP_NO_EXTR'),),
27392 GROUP_MA =SIMP(statut='o',typ=grma, max=1),
27393 MAILLAGE =SIMP(statut='o',typ=maillage_sdaster),
27394 # si le groupe de mailles forme une ligne ouverte, on peut choisir le sens de parcours en choissant l'origine:
27395 # si le groupe de mailles forme une ligne fermée, il FAUT choisir l'origine et l'extrémité (= origine):
27396 NOEUD_ORIG =SIMP(statut='f',typ=no),
27397 GROUP_NO_ORIG =SIMP(statut='f',typ=grno),
27398 NOEUD_EXTR =SIMP(statut='f',typ=no),
27399 GROUP_NO_EXTR =SIMP(statut='f',typ=grno),
27400 # si le groupe de mailles forme une ligne fermée, on peut choisir le sens de parcours
27401 VECT_ORIE =SIMP(statut='f',typ='R',max=3), # utilisé seulement si NOEUD_ORIG=NOEUD_EXTR
27404 b_segment =BLOC(condition = "TYPE=='SEGMENT'",
27405 NB_POINTS =SIMP(statut='o',typ='I',max=1),
27406 COOR_ORIG =SIMP(statut='o',typ='R',min=2,max=3),
27407 COOR_EXTR =SIMP(statut='o',typ='R',min=2,max=3),),
27409 b_arc =BLOC(condition = "TYPE=='ARC'",
27410 NB_POINTS =SIMP(statut='o',typ='I',max=1),
27411 COOR_ORIG =SIMP(statut='o',typ='R',min=2,max=3),
27412 CENTRE =SIMP(statut='o',typ='R',min=2,max=3),
27413 ANGLE =SIMP(statut='o',typ='R',max=1),
27414 DNOR =SIMP(statut='f',typ='R',min=2,max=3),),
27416 b_cylind =BLOC(condition = ("REPERE=='CYLINDRIQUE' and TYPE!='ARC'"),
27417 ORIGINE =SIMP(statut='f',typ='R',min=2,max=3),
27418 AXE_Z =SIMP(statut='f',typ='R',min=3,max=3),),
27420 DISTANCE_MAX =SIMP(statut='f',typ='R',defaut=0.,
27421 fr="Si la distance entre un noeud de la ligne de coupe et le maillage coupé "
27422 +"est > DISTANCE_MAX, ce noeud sera ignoré."),
27427 # ======================================================================
27428 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
27429 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
27430 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
27431 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
27432 # (AT YOUR OPTION) ANY LATER VERSION.
27434 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
27435 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
27436 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
27437 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
27439 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
27440 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
27441 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
27442 # ======================================================================
27443 # person_in_charge: aimery.assire at edf.fr
27446 def macr_recal_prod(self,**args ):
27447 return listr8_sdaster
27449 MACR_RECAL = MACRO(nom="MACR_RECAL",
27450 op=OPS('Macro.macr_recal_ops.macr_recal_ops'),
27451 sd_prod=macr_recal_prod,
27452 UIinfo={"groupes":("Résolution","Résultats et champs",)},
27453 fr="Réalise le recalage des calculs Aster sur des résultats expérimentaux" \
27454 " ou sur d'autres résultats de calculs",
27455 regles=(UN_PARMI('PARA_OPTI','LIST_PARA'),
27456 PRESENT_PRESENT('PARA_OPTI','COURBE'),
27457 PRESENT_PRESENT('LIST_PARA','RESU_EXP'),
27458 PRESENT_PRESENT('LIST_PARA','RESU_CALC'),
27459 EXCLUS('LIST_POIDS','COURBE'),),
27461 UNITE_ESCL =SIMP(statut='o',typ='I'),
27462 RESU_EXP =SIMP(statut='f',typ=not_checked,max='**'),
27463 COURBE =FACT(statut='f',max='**',
27464 FONC_EXP =SIMP(statut='o',typ=(fonction_sdaster),),
27465 NOM_FONC_CALC =SIMP(statut='o',typ='TXM',),
27466 PARA_X =SIMP(statut='o',typ='TXM',),
27467 PARA_Y =SIMP(statut='o',typ='TXM',),
27468 POIDS =SIMP(statut='f',typ='R',),
27470 RESU_CALC =SIMP(statut='f',typ=not_checked,max='**'),
27471 LIST_PARA =SIMP(statut='f',typ=not_checked,max='**'),
27472 PARA_OPTI =FACT(statut='f',max='**',
27473 NOM_PARA = SIMP(statut='o',typ='TXM'),
27474 VALE_INI = SIMP(statut='o',typ='R'),
27475 VALE_MIN = SIMP(statut='o',typ='R'),
27476 VALE_MAX = SIMP(statut='o',typ='R'),
27478 LIST_POIDS =SIMP(statut='f',typ=not_checked,max='**'),
27480 UNITE_RESU =SIMP(statut='f',typ='I',defaut=91),
27481 PARA_DIFF_FINI =SIMP(statut='f',typ='R',defaut=0.00001),
27483 GRAPHIQUE =FACT(statut='f',
27484 FORMAT =SIMP(statut='f',typ='TXM',defaut='XMGRACE',into=("XMGRACE","GNUPLOT"),),
27485 AFFICHAGE =SIMP(statut='f',typ='TXM',defaut='TOUTE_ITERATION',into=("TOUTE_ITERATION","ITERATION_FINALE"),),
27487 UNITE =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29,
27488 fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
27489 b_pilote = BLOC(condition = "FORMAT == 'XMGRACE'", fr="Mots-clés propres à XMGRACE",
27490 PILOTE =SIMP(statut='f',typ='TXM',defaut='',
27491 into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'),
27492 fr="Pilote de sortie, PNG/JPEG/PDF ne sont pas disponibles sur toutes les installations de xmgrace"),
27497 # Methodes d'optimisation
27498 # -----------------------
27499 METHODE =SIMP(statut='f',typ='TXM',defaut='LEVENBERG',into=("LEVENBERG", "FMIN", "FMINBFGS", "FMINNCG",
27500 "GENETIQUE","HYBRIDE")),
27502 b_genetique_options=BLOC(condition = "METHODE == 'GENETIQUE' or METHODE == 'HYBRIDE'" ,
27503 NB_PARENTS =SIMP(statut='f',typ='I',defaut=10),
27504 NB_FILS =SIMP(statut='f',typ='I',defaut=5),
27505 ECART_TYPE =SIMP(statut='f',typ='R',defaut=1.),
27506 GRAINE =SIMP(statut='f',typ='I'),
27507 ITER_ALGO_GENE =SIMP(statut='f',typ='I',defaut=10),
27508 RESI_ALGO_GENE =SIMP(statut='f',typ='R',defaut=1.E-3),
27512 # Criteres d'arret globaux
27513 # -------------------------
27514 ITER_MAXI =SIMP(statut='f',typ='I',defaut=10, fr="Nombre maximum d'iterations d'optimisation"),
27515 ITER_FONC_MAXI =SIMP(statut='f',typ='I',defaut=1000, fr="Nombre maximum d'evaluations de la focntionnelle"),
27516 RESI_GLOB_RELA =SIMP(statut='f',typ='R',defaut=1.E-3, fr="Critere d'arret sur la valeur du residu"),
27517 TOLE_PARA =SIMP(statut='f',typ='R',defaut=1.E-8, fr="Critere d'arret sur la valeur des parametres"),
27518 TOLE_FONC =SIMP(statut='f',typ='R',defaut=1.E-8, fr="Critere d'arret sur la valeur de la fonctionnelle"),
27521 # Calculs des gradients
27522 # ---------------------
27523 b_gradient =BLOC(condition = "METHODE == 'FMINBFGS' or METHODE == 'FMINNCG'" ,
27524 GRADIENT =SIMP(statut='f',typ='TXM',defaut='NON_CALCULE', into=("NON_CALCULE", "NORMAL", "ADIMENSIONNE" )),
27527 b_gradient_levenberg =BLOC(condition = "METHODE == 'LEVENBERG'" ,
27528 GRADIENT =SIMP(statut='f',typ='TXM',defaut='NORMAL', into=( "NORMAL", "ADIMENSIONNE" )),
27532 # Mode d'evaluation de l'esclave
27533 # ------------------------------
27534 CALCUL_ESCLAVE =FACT(statut='d',
27535 # regles=(PRESENT_PRESENT('MPI_NBNOEUD','MPI_NBCPU'),),
27537 LANCEMENT =SIMP(statut='f', typ='TXM', defaut='INCLUSION',into=("DISTRIBUTION","INCLUSION"),),
27539 b_eval_distrib =BLOC(condition = "LANCEMENT == 'DISTRIBUTION'",
27540 UNITE_SUIVI =SIMP(statut='f', typ='I',val_min=10,val_max=99,defaut=29,
27541 fr="Affichage de l'output et/ou error des jobs esclaves dans ce fichier"),
27542 MODE =SIMP(statut='f', typ='TXM', into=("INTERACTIF","BATCH"),),
27543 MEMOIRE =SIMP(statut='f', typ='I', fr="Memoire demandee pour les calculs esclaves (Mo)"),
27544 TEMPS =SIMP(statut='f', typ='I', fr="Temps demandee pour les calculs esclaves (secondes)"),
27545 MPI_NBCPU =SIMP(statut='f', typ='I', val_min=1, fr="Nombre de cpu pour les calculs MPI"),
27546 MPI_NBNOEUD =SIMP(statut='f', typ='I', fr="Nombre de noeuds pour les calculs MPI"),
27547 CLASSE =SIMP(statut='f', typ='TXM', fr="Classe demandee pour les calculs en batch"),
27548 NMAX_SIMULT =SIMP(statut='f', typ='I',
27549 fr="Nombre de calculs esclaves lances en parallele en mode distribution (non precise = automatique)"),
27553 DYNAMIQUE =FACT(statut='f',
27554 MODE_EXP =SIMP(statut='o',typ='TXM'),
27555 MODE_CALC =SIMP(statut='o',typ='TXM'),
27556 APPARIEMENT_MANUEL =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON")),
27559 INFO =SIMP(statut='f',typ='I',defaut=1, into=( 1, 2 ) ),
27562 # ======================================================================
27563 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
27564 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
27565 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
27566 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
27567 # (AT YOUR OPTION) ANY LATER VERSION.
27569 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
27570 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
27571 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
27572 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
27574 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
27575 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
27576 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
27577 # ======================================================================
27578 # person_in_charge: francois.voldoire at edf.fr
27581 MACR_SPECTRE=MACRO(nom="MACR_SPECTRE",
27582 op=OPS('Macro.macr_spectre_ops.macr_spectre_ops'),
27583 sd_prod=table_sdaster,
27585 UIinfo={"groupes":("Post-traitements","Outils-métier",)},
27586 fr="Calcul de spectre, post-traitement de séisme",
27587 MAILLAGE =SIMP(statut='o',typ=maillage_sdaster,),
27588 PLANCHER =FACT(statut='o',max='**',
27589 regles=(AU_MOINS_UN('NOEUD','GROUP_NO' ),),
27590 NOM =SIMP(statut='o',typ='TXM',),
27591 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
27592 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), ),
27593 NOM_CHAM =SIMP(statut='o',typ='TXM' ,into=('ACCE','DEPL')),
27594 CALCUL =SIMP(statut='o',typ='TXM' ,into=('ABSOLU','RELATIF'),position='global'),
27595 b_acce =BLOC( condition = "NOM_CHAM=='ACCE'",
27596 regles=(UN_PARMI('LIST_FREQ','FREQ'),),
27597 AMOR_SPEC =SIMP(statut='o',typ='R',max='**'),
27598 LIST_INST =SIMP(statut='f',typ=listr8_sdaster ),
27599 LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ),
27600 FREQ =SIMP(statut='f',typ='R',max='**'),
27601 NORME =SIMP(statut='o',typ='R'),
27602 RESU =FACT(statut='o',max='**',
27603 regles=(UN_PARMI('RESU_GENE','RESULTAT','TABLE'),),
27604 TABLE =SIMP(statut='f',typ=table_sdaster),
27605 RESU_GENE =SIMP(statut='f',typ=tran_gene),
27606 RESULTAT =SIMP(statut='f',typ=(dyna_trans,evol_noli)),
27607 b_calc =BLOC( condition = "CALCUL=='RELATIF'",
27608 ACCE_X =SIMP(statut='o',typ=fonction_sdaster),
27609 ACCE_Y =SIMP(statut='o',typ=fonction_sdaster),
27610 ACCE_Z =SIMP(statut='o',typ=fonction_sdaster),), ),
27611 IMPRESSION =FACT(statut='f',
27612 TRI =SIMP(statut='f',typ='TXM',defaut='AMOR_SPEC',into=("AMOR_SPEC","DIRECTION",),),
27613 FORMAT =SIMP(statut='f',typ='TXM',defaut='TABLEAU',into=("TABLEAU","XMGRACE",),),
27614 UNITE =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29,
27615 fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
27616 b_pilote = BLOC(condition = "FORMAT == 'XMGRACE'",
27617 PILOTE =SIMP(statut='f',typ='TXM',defaut='',
27618 into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'),),),
27619 TOUT =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON",),),
27622 b_depl =BLOC( condition = "NOM_CHAM=='DEPL'",
27623 LIST_INST =SIMP(statut='f',typ=listr8_sdaster),
27624 RESU =FACT(statut='o',max=3,
27625 regles=(UN_PARMI('RESU_GENE','RESULTAT','TABLE'),),
27626 TABLE =SIMP(statut='f',typ=table_sdaster),
27627 RESU_GENE =SIMP(statut='f',typ=tran_gene),
27628 RESULTAT =SIMP(statut='f',typ=(dyna_trans,evol_noli)),
27629 b_calc =BLOC( condition = "CALCUL=='ABSOLU'",
27630 DEPL_X =SIMP(statut='o',typ=fonction_sdaster),
27631 DEPL_Y =SIMP(statut='o',typ=fonction_sdaster),
27632 DEPL_Z =SIMP(statut='o',typ=fonction_sdaster),),),
27636 # ======================================================================
27637 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
27638 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
27639 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
27640 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
27641 # (AT YOUR OPTION) ANY LATER VERSION.
27643 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
27644 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
27645 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
27646 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
27648 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
27649 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
27650 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
27651 # ======================================================================
27652 # person_in_charge: xavier.desroches at edf.fr
27655 def macro_elas_mult_prod(self,NUME_DDL,CAS_CHARGE,**args ):
27656 if NUME_DDL is not None and NUME_DDL.is_typco():
27657 self.type_sdprod(NUME_DDL,nume_ddl_sdaster)
27658 if CAS_CHARGE[0]['NOM_CAS'] != None : return mult_elas
27659 if CAS_CHARGE[0]['MODE_FOURIER'] != None : return fourier_elas
27660 raise AsException("type de concept resultat non prevu")
27662 MACRO_ELAS_MULT=MACRO(nom="MACRO_ELAS_MULT",
27663 op=OPS('Macro.macro_elas_mult_ops.macro_elas_mult_ops'),
27664 sd_prod=macro_elas_mult_prod,
27666 UIinfo={"groupes":("Résolution",)},
27667 fr="Calculer les réponses statiques linéaires pour différents cas " \
27668 "de charges ou modes de Fourier",
27669 regles=(UN_PARMI('CHAR_MECA_GLOBAL','LIAISON_DISCRET', ),),
27670 MODELE =SIMP(statut='o',typ=modele_sdaster),
27671 CHAM_MATER =SIMP(statut='f',typ=cham_mater),
27672 CARA_ELEM =SIMP(statut='f',typ=cara_elem),
27673 NUME_DDL =SIMP(statut='f',typ=(nume_ddl_sdaster,CO)),
27674 CHAR_MECA_GLOBAL=SIMP(statut='f',typ=(char_meca),validators=NoRepeat(),max='**'),
27675 LIAISON_DISCRET =SIMP(statut='f',typ='TXM',into=("OUI",)),
27676 CAS_CHARGE =FACT(statut='o',max='**',
27677 regles=(UN_PARMI('NOM_CAS','MODE_FOURIER'),
27678 UN_PARMI('CHAR_MECA','VECT_ASSE'),),
27679 NOM_CAS =SIMP(statut='f',typ='TXM' ),
27680 MODE_FOURIER =SIMP(statut='f',typ='I' ),
27681 TYPE_MODE =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ),
27682 CHAR_MECA =SIMP(statut='f',typ=(char_meca),validators=NoRepeat(),max='**'),
27683 OPTION =SIMP(statut='f',typ='TXM',into=("SIEF_ELGA","SANS"),defaut="SIEF_ELGA",max=1,
27684 fr="Contraintes aux points de Gauss.",),
27685 SOUS_TITRE =SIMP(statut='f',typ='TXM',max='**'),
27686 VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster),
27688 SOLVEUR =FACT(statut='d',
27689 METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT") ),
27690 b_mult_front = BLOC ( condition = "METHODE == 'MULT_FRONT' ",
27691 fr="Paramètres de la méthode multi frontale",
27692 RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
27694 b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
27695 RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
27697 b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
27698 fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
27699 NPREC =SIMP(statut='f',typ='I',defaut= 8 ),
27700 STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
27703 INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2)),
27704 TITRE =SIMP(statut='f',typ='TXM',max='**'),
27707 # ======================================================================
27708 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
27709 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
27710 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
27711 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
27712 # (AT YOUR OPTION) ANY LATER VERSION.
27714 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
27715 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
27716 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
27717 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
27719 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
27720 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
27721 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
27722 # ======================================================================
27723 # person_in_charge: albert.alarcon at edf.fr
27726 def macro_expans_prod(self, MODELE_MESURE, RESU_NX, RESU_EX, RESU_ET, RESU_RD, **args):
27727 RESU_EXP = MODELE_MESURE['MESURE']
27728 self.type_sdprod(RESU_NX, mode_meca)
27729 for res in (RESU_EX, RESU_ET, RESU_RD):
27730 if res is not None and res.is_typco():
27731 if AsType(RESU_EXP) == mode_meca:
27732 self.type_sdprod(res, mode_meca)
27734 self.type_sdprod(res, dyna_harmo)
27737 MACRO_EXPANS=MACRO(nom="MACRO_EXPANS",
27738 op=OPS('Macro.macro_expans_ops.macro_expans_ops'),
27739 sd_prod=macro_expans_prod,
27741 UIinfo={"groupes":("Outils-métier","Dynamique",)},
27742 fr="Outil d'expansion de resultats exprimentaux sur une base definie sur un modele numerique",
27743 MODELE_CALCUL = FACT(statut='o',
27744 MODELE = SIMP(statut='o',typ=(modele_sdaster) ),
27745 BASE = SIMP(statut='o',typ=(mode_meca,) ),
27746 NUME_MODE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**',defaut=0),
27747 NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**',defaut=0),
27750 MODELE_MESURE = FACT(statut='o',
27751 MODELE = SIMP(statut='o',typ=(modele_sdaster) ),
27752 MESURE = SIMP(statut='o',typ=(dyna_trans,dyna_harmo,mode_meca,mode_meca_c,) ),
27753 NOM_CHAM = SIMP(statut='f',typ='TXM',defaut="DEPL",
27754 into=("DEPL","VITE","ACCE","SIEF_NOEU","EPSI_NOEU",) ),
27755 NUME_MODE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**',defaut=0),
27756 NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**',defaut=0),
27759 NUME_DDL = SIMP(statut='f',typ=(nume_ddl_sdaster)),
27760 RESU_NX = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)),
27761 RESU_EX = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)),
27762 RESU_ET = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)),
27763 RESU_RD = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)),
27764 RESOLUTION = FACT(statut='f',
27765 METHODE =SIMP(statut='f',typ='TXM',defaut="LU",into=("LU","SVD",) ),
27766 b_svd =BLOC(condition="METHODE=='SVD'",
27767 EPS=SIMP(statut='f',typ='R',defaut=0. ),
27769 REGUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","NORM_MIN","TIK_RELA",) ),
27770 b_regul =BLOC(condition="REGUL!='NON'",
27771 regles=(PRESENT_ABSENT('COEF_PONDER','COEF_PONDER_F', ),),
27772 COEF_PONDER =SIMP(statut='f',typ='R',defaut=0. ,max='**' ),
27773 COEF_PONDER_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ),
27778 # ======================================================================
27779 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
27780 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
27781 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
27782 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
27783 # (AT YOUR OPTION) ANY LATER VERSION.
27785 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
27786 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
27787 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
27788 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
27790 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
27791 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
27792 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
27793 # ======================================================================
27794 # person_in_charge: nicolas.greffet at edf.fr
27797 def macro_matr_ajou_prod(self,MATR_AMOR_AJOU,MATR_MASS_AJOU,MATR_RIGI_AJOU,FORC_AJOU,**args):
27798 self.type_sdprod(MATR_AMOR_AJOU,matr_asse_gene_r)
27799 self.type_sdprod(MATR_MASS_AJOU,matr_asse_gene_r)
27800 self.type_sdprod(MATR_RIGI_AJOU,matr_asse_gene_r)
27801 if FORC_AJOU != None:
27802 for m in FORC_AJOU:
27803 self.type_sdprod(m['VECTEUR'],vect_asse_gene)
27807 MACRO_MATR_AJOU=MACRO(nom="MACRO_MATR_AJOU",
27808 op=OPS('Macro.macro_matr_ajou_ops.macro_matr_ajou_ops'),
27809 sd_prod=macro_matr_ajou_prod,
27810 UIinfo={"groupes":("Résolution","Matrices et vecteurs",)},
27811 fr="Calculer de facon plus condensée qu'avec CALC_MATR_AJOU des " \
27812 "matrices de masse, d'amortissement ou de rigidité ajoutés",
27813 regles=(AU_MOINS_UN('MODE_MECA','DEPL_IMPO','MODELE_GENE'),
27814 AU_MOINS_UN('MATR_MASS_AJOU','MATR_AMOR_AJOU','MATR_RIGI_AJOU'),
27815 EXCLUS('MODE_MECA','DEPL_IMPO','MODELE_GENE'),
27816 EXCLUS('MONO_APPUI','MODE_STAT',),
27818 MAILLAGE =SIMP(statut='o',typ=maillage_sdaster),
27819 GROUP_MA_FLUIDE =SIMP(statut='o',typ=grma),
27820 GROUP_MA_INTERF =SIMP(statut='o',typ=grma),
27821 MODELISATION =SIMP(statut='o',typ='TXM',into=("PLAN","AXIS","3D")),
27822 FLUIDE =FACT(statut='o',max='**',
27823 RHO =SIMP(statut='o',typ='R'),
27824 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)),
27825 GROUP_MA =SIMP(statut='f',typ=grma),
27826 MAILLE =SIMP(statut='f',typ=ma),
27828 DDL_IMPO =FACT(statut='o',max='**',
27829 regles=(UN_PARMI('NOEUD','GROUP_NO'),
27830 UN_PARMI('PRES_FLUIDE','PRES_SORTIE'),),
27831 NOEUD =SIMP(statut='f',typ=no),
27832 GROUP_NO =SIMP(statut='f',typ=grno),
27833 PRES_FLUIDE =SIMP(statut='f',typ='R'),
27834 PRES_SORTIE =SIMP(statut='f',typ='R'),
27836 ECOULEMENT =FACT(statut='f',
27837 GROUP_MA_1 =SIMP(statut='o',typ=grma),
27838 GROUP_MA_2 =SIMP(statut='o',typ=grma),
27839 VNOR_1 =SIMP(statut='o',typ='R'),
27840 VNOR_2 =SIMP(statut='f',typ='R'),
27841 POTENTIEL =SIMP(statut='f',typ=evol_ther),
27843 MODE_MECA =SIMP(statut='f',typ=mode_meca),
27844 DEPL_IMPO =SIMP(statut='f',typ=cham_no_sdaster),
27845 MODELE_GENE =SIMP(statut='f',typ=modele_gene),
27846 NUME_DDL_GENE =SIMP(statut='f',typ=nume_ddl_gene),
27847 DIST_REFE =SIMP(statut='f',typ='R',defaut= 1.0E-2),
27848 MATR_MASS_AJOU =SIMP(statut='f',typ=CO,),
27849 MATR_RIGI_AJOU =SIMP(statut='f',typ=CO,),
27850 MATR_AMOR_AJOU =SIMP(statut='f',typ=CO,),
27851 MONO_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",),),
27852 MODE_STAT =SIMP(statut='f',typ=mode_meca,),
27853 FORC_AJOU =FACT(statut='f',max='**',
27854 DIRECTION =SIMP(statut='o',typ='R',max=3),
27855 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
27856 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
27857 VECTEUR =SIMP(statut='o',typ=CO),
27859 #-------------------------------------------------------------------
27860 # Catalogue commun SOLVEUR
27861 SOLVEUR =C_SOLVEUR('MACRO_MATR_AJOU'),
27862 #-------------------------------------------------------------------
27863 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
27864 NOEUD_DOUBLE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
27865 AVEC_MODE_STAT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
27868 # ======================================================================
27869 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
27870 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
27871 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
27872 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
27873 # (AT YOUR OPTION) ANY LATER VERSION.
27875 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
27876 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
27877 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
27878 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
27880 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
27881 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
27882 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
27883 # ======================================================================
27884 # person_in_charge: nicolas.brie at edf.fr
27886 def macro_mode_meca_prod( self, MATR_RIGI,MATR_MASS, **args) :
27887 if ( AsType(MATR_RIGI) == matr_asse_gene_r ):
27888 if ( AsType(MATR_MASS) == matr_asse_gene_r ):
27891 raise AsException("Matrices d'entrée de types différents : physique / généralisée.")
27896 MACRO_MODE_MECA=MACRO(nom="MACRO_MODE_MECA",
27897 op=OPS('Macro.macro_mode_meca_ops.macro_mode_meca_ops'),
27898 sd_prod=macro_mode_meca_prod,
27899 reentrant='n',fr="Lancer une succession de calculs de modes propres réels",
27900 UIinfo={"groupes":("Résolution","Dynamique",)},
27901 MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r, matr_asse_gene_r) ),
27902 MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r, matr_asse_gene_r) ),
27903 INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
27904 # ce mot cle ne devrait il pas etre dans calc_freq
27905 METHODE =SIMP(statut='f',typ='TXM',defaut="SORENSEN",
27906 into=("TRI_DIAG","JACOBI","SORENSEN",) ),
27907 b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'",
27908 PREC_ORTHO =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ),
27909 NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
27910 PREC_LANCZOS =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ),
27911 NMAX_ITER_QR =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ),
27913 b_jacobi =BLOC(condition = "METHODE == 'JACOBI'",
27914 PREC_BATHE =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ),
27915 NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ),
27916 PREC_JACOBI =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
27917 NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ),
27919 b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'",
27920 PREC_SOREN =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ),
27921 NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ),
27922 PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717),
27925 OPTION =SIMP(statut='f',typ='TXM',defaut="SANS",into=("MODE_RIGIDE","SANS") ),
27927 CALC_FREQ =FACT(statut='o',
27928 FREQ =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max='**', ),
27929 DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ),
27930 COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ),
27931 NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3 ),
27932 PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2 ),
27933 SEUIL_FREQ =SIMP(statut='f',typ='R' ,defaut= 1.E-2 ),
27934 STOP_BANDE_VIDE =SIMP(statut='f',typ='TXM',defaut="NON" ,into=("OUI","NON") ),
27937 #-------------------------------------------------------------------
27938 # Catalogue commun SOLVEUR
27939 SOLVEUR =C_SOLVEUR('INFO_MODE'),
27940 NIVEAU_PARALLELISME =SIMP(statut='f',typ='TXM',defaut="COMPLET",into=("PARTIEL","COMPLET") ),
27941 #-------------------------------------------------------------------
27943 VERI_MODE =FACT(statut='d',min=0,
27944 STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
27945 SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
27946 PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-3 ),
27947 STURM =SIMP(statut='f',typ='TXM',defaut="GLOBAL",into=("GLOBAL","LOCAL","NON") ),
27950 b_matr_phys =BLOC( condition = "AsType(MATR_RIGI) == matr_asse_depl_r",
27951 NORM_MODE =FACT(statut='d',max='**',
27952 NORME =SIMP(statut='f',typ='TXM',defaut="TRAN_ROTA",
27953 into=("MASS_GENE","RIGI_GENE","EUCL",
27954 "EUCL_TRAN","TRAN","TRAN_ROTA") ),
27955 INFO =SIMP(statut='f',typ='I',defaut= 1 ,into=(1,2) ),
27958 FILTRE_MODE =FACT(statut='f',
27959 CRIT_EXTR =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",
27960 into=("MASS_EFFE_UN","MASS_GENE") ),
27961 SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
27964 IMPRESSION =FACT(statut='d',
27965 TOUT_PARA =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
27966 CUMUL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
27967 CRIT_EXTR =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",
27968 into=("MASS_EFFE_UN","MASS_GENE",) ),
27973 # ======================================================================
27974 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
27975 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
27976 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
27977 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
27978 # (AT YOUR OPTION) ANY LATER VERSION.
27980 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
27981 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
27982 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
27983 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
27985 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
27986 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
27987 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
27988 # ======================================================================
27989 # person_in_charge: j-pierre.lefebvre at edf.fr
27991 MAJ_CATA=PROC(nom="MAJ_CATA",op=20,
27992 UIinfo={"groupes":("Gestion du travail",)},
27993 fr="Compilation des catalogues d'éléments et couverture des calculs élémentaires",
27994 regles=(UN_PARMI('ELEMENT','TYPE_ELEM', ),),
27996 ELEMENT =FACT(statut='f',),
27998 UNITE =SIMP(statut='f',typ='I',defaut=8),
27999 TYPE_ELEM =FACT(statut='f',),
28002 # ======================================================================
28003 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
28004 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
28005 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
28006 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
28007 # (AT YOUR OPTION) ANY LATER VERSION.
28009 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
28010 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
28011 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
28012 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
28014 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
28015 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
28016 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
28017 # ======================================================================
28018 # person_in_charge: jacques.pellet at edf.fr
28019 MECA_STATIQUE=OPER(nom="MECA_STATIQUE",op=46,sd_prod=evol_elas,
28020 fr="Résoudre un problème de mécanique statique linéaire",reentrant='f',
28021 UIinfo={"groupes":("Résolution","Mécanique",)},
28022 regles=(EXCLUS("INST","LIST_INST"),
28023 AU_MOINS_UN('CHAM_MATER','CARA_ELEM',),),
28024 MODELE =SIMP(statut='o',typ=modele_sdaster),
28025 CHAM_MATER =SIMP(statut='f',typ=cham_mater,
28026 fr="le CHAM_MATER est nécessaire, sauf si le modèle ne contient que des éléments discrets (modélisations DIS_XXX)",
28027 ang="CHAM_MATER is compulsory, except if the model contains only discret elements (modelizations DIS_XXX)"),
28028 CARA_ELEM =SIMP(statut='f',typ=cara_elem,
28029 fr="le CARA_ELEM est nécessaire dès que le modèle contient des éléments de structure : coques, poutres, ...",
28030 ang="CARA_ELEM is compulsory as soon as the model contains structural elements : plates, beams, ..."),
28031 TITRE =SIMP(statut='f',typ='TXM',max='**'),
28032 EXCIT =FACT(statut='o',max='**',
28033 CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
28034 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
28035 TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
28037 INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
28038 LIST_INST =SIMP(statut='f',typ=listr8_sdaster),
28039 INST_FIN =SIMP(statut='f',typ='R'),
28040 OPTION =SIMP(statut='f',typ='TXM',into=("SIEF_ELGA","SANS"),defaut="SIEF_ELGA",max=1,
28041 fr="Seule option : contraintes aux points de Gauss. Utilisez CALC_CHAMP pour les autres options.",
28044 #-------------------------------------------------------------------
28045 # Catalogue commun SOLVEUR
28046 SOLVEUR =C_SOLVEUR('MECA_STATIQUE'),
28047 #-------------------------------------------------------------------
28048 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
28051 # ======================================================================
28052 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
28053 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
28054 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
28055 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
28056 # (AT YOUR OPTION) ANY LATER VERSION.
28058 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
28059 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
28060 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
28061 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
28063 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
28064 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
28065 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
28066 # ======================================================================
28067 # person_in_charge: mathieu.corus at edf.fr
28068 MODE_ITER_CYCL=OPER(nom="MODE_ITER_CYCL",op= 80,sd_prod=mode_cycl,
28069 fr="Calcul des modes propres d'une structure à répétitivité cyclique à partir"
28070 +" d'une base de modes propres réels",
28072 UIinfo={"groupes":("Résolution","Dynamique",)},
28073 BASE_MODALE =SIMP(statut='o',typ=mode_meca ),
28074 NB_MODE =SIMP(statut='f',typ='I',defaut= 999 ),
28075 NB_SECTEUR =SIMP(statut='o',typ='I' ),
28076 LIAISON =FACT(statut='o',
28077 DROITE =SIMP(statut='o',typ='TXM' ),
28078 GAUCHE =SIMP(statut='o',typ='TXM' ),
28079 AXE =SIMP(statut='f',typ='TXM' ),
28081 VERI_CYCL =FACT(statut='f',
28082 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
28083 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF",) ),
28084 DIST_REFE =SIMP(statut='f',typ='R' ),
28086 CALCUL =FACT(statut='o',
28087 regles=(UN_PARMI('TOUT_DIAM','NB_DIAM'),),
28088 TOUT_DIAM =SIMP(statut='f',typ='TXM',into=("OUI",) ),
28089 NB_DIAM =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
28090 OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE"
28091 ,into=("PLUS_PETITE","CENTRE","BANDE") ),
28092 b_centre =BLOC(condition = "OPTION == 'CENTRE'",
28093 FREQ =SIMP(statut='o',typ='R',),
28095 b_bande =BLOC(condition = "OPTION == 'BANDE'",
28096 FREQ =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2),
28098 # NMAX_FREQ n a-t-il pas un sens qu avec OPTION CENTRE
28099 NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10 ),
28100 PREC_SEPARE =SIMP(statut='f',typ='R',defaut= 100. ),
28101 PREC_AJUSTE =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
28102 NMAX_ITER =SIMP(statut='f',typ='I',defaut= 50 ),
28104 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
28107 # ======================================================================
28108 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
28109 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
28110 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
28111 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
28112 # (AT YOUR OPTION) ANY LATER VERSION.
28114 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
28115 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
28116 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
28117 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
28119 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
28120 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
28121 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
28122 # ======================================================================
28125 def mode_iter_inv_prod(TYPE_RESU,**args ):
28126 if (TYPE_RESU not in ["DYNAMIQUE","MODE_FLAMB","GENERAL"]):
28127 # on retourne un type fictif pour que le plantage aie lieu dans la lecture du catalogue
28129 if TYPE_RESU == "MODE_FLAMB" : return mode_flamb
28130 if TYPE_RESU == "GENERAL" : return mode_flamb
28131 # sinon on est dans le cas 'DYNAMIQUE' donc **args doit contenir les mots-clés
28132 # MATR_RIGI et (faculativement) MATR_AMOR, et on peut y accéder
28133 vale_rigi = args['MATR_RIGI']
28134 if (vale_rigi== None) : # si MATR_RIGI non renseigné
28135 # on retourne un type fictif pour que le plantage aie lieu dans la lecture du catalogue
28137 vale_amor = args['MATR_AMOR']
28138 if AsType(vale_amor) == matr_asse_depl_r : return mode_meca_c
28139 if AsType(vale_rigi) == matr_asse_depl_r : return mode_meca
28140 if AsType(vale_rigi) == matr_asse_pres_r : return mode_acou
28141 if AsType(vale_rigi) == matr_asse_gene_r : return mode_gene
28142 raise AsException("type de concept resultat non prevu")
28144 MODE_ITER_INV=OPER(nom="MODE_ITER_INV",op= 44,sd_prod=mode_iter_inv_prod
28145 ,fr="Calcul des modes propres par itérations inverses ; valeurs propres et modes réels ou complexes",
28147 UIinfo={"groupes":("Résolution","Dynamique",)},
28149 TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE",
28150 into=("MODE_FLAMB","DYNAMIQUE","GENERAL"),
28151 fr="Type d analyse" ),
28153 b_dynam =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'",
28154 MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
28155 MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
28156 MATR_AMOR =SIMP(statut='f',typ=matr_asse_depl_r ),
28157 CALC_FREQ =FACT(statut='o',fr="Choix des paramètres pour le calcul des valeurs propres",
28159 OPTION =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"),
28160 fr="Choix de l option pour estimer les valeurs propres" ),
28161 FREQ =SIMP(statut='o',typ='R',max='**',
28162 validators=AndVal((OrdList('croissant'), NoRepeat())),),
28163 AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'),
28164 NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 0,val_min=0 ),
28165 NMAX_ITER_SEPARE=SIMP(statut='f',typ='I' ,defaut= 30,val_min=1 ),
28166 PREC_SEPARE =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=1.E-70 ),
28167 NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15,val_min=1 ),
28168 PREC_AJUSTE =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=1.E-70 ),
28170 NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0 ),
28171 PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0, ),
28172 SEUIL_FREQ =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, ),
28175 b_flamb =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'",
28176 MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
28177 MATR_RIGI_GEOM =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
28180 b_general =BLOC(condition = "TYPE_RESU == 'GENERAL'",
28181 MATR_A =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
28182 MATR_B =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
28185 b_flamb_general =BLOC(condition = "(TYPE_RESU == 'MODE_FLAMB') or (TYPE_RESU == 'GENERAL')",
28186 CALC_CHAR_CRIT =FACT(statut='o',fr="Choix des paramètres pour le calcul des valeurs propres",
28188 OPTION =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"),
28189 fr="Choix de l option pour estimer les valeurs propres" ),
28190 CHAR_CRIT =SIMP(statut='o',typ='R',max='**',
28191 validators=AndVal((OrdList('croissant'), NoRepeat())),),
28192 NMAX_CHAR_CRIT =SIMP(statut='f',typ='I',defaut= 0,val_min=0 ),
28193 NMAX_ITER_SEPARE=SIMP(statut='f',typ='I',defaut= 30,val_min=1 ),
28194 PREC_SEPARE =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=1.E-70 ),
28195 NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15,val_min=1 ),
28196 PREC_AJUSTE =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=1.E-70 ),
28198 NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0 ),
28199 PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0, ),
28200 SEUIL_CHAR_CRIT =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, ),
28204 #-------------------------------------------------------------------
28205 # Catalogue commun SOLVEUR
28206 SOLVEUR =C_SOLVEUR('MODE_ITER_INV'),
28207 #-------------------------------------------------------------------
28209 CALC_MODE =FACT(statut='d',min=0,fr="Choix des paramètres pour le calcul des vecteurs propres",
28210 OPTION =SIMP(statut='f',typ='TXM',defaut="DIRECT",into=("DIRECT","RAYLEIGH") ),
28211 PREC =SIMP(statut='f',typ='R',defaut= 1.E-5,val_min=1.E-70,fr="Précision de convergence" ),
28212 NMAX_ITER =SIMP(statut='f',typ='I',defaut= 30,val_min=1 ),
28214 VERI_MODE =FACT(statut='d',min=0,
28215 STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
28216 SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0,
28217 fr="Valeur limite admise pour l ereur a posteriori des modes" ),
28219 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
28220 TITRE =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
28223 # ======================================================================
28224 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
28225 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
28226 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
28227 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
28228 # (AT YOUR OPTION) ANY LATER VERSION.
28230 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
28231 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
28232 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
28233 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
28235 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
28236 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
28237 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
28238 # ======================================================================
28241 def mode_iter_simult_prod(TYPE_RESU,**args ):
28242 if (TYPE_RESU not in ["DYNAMIQUE","MODE_FLAMB","GENERAL"]):
28243 # on retourne un type fictif pour que le plantage aie lieu dans la lecture du catalogue
28245 if TYPE_RESU == "MODE_FLAMB" : return mode_flamb
28246 if TYPE_RESU == "GENERAL" : return mode_flamb
28247 # sinon on est dans le cas 'DYNAMIQUE' donc **args doit contenir les mots-clés
28248 # MATR_RIGI et (faculativement) MATR_AMOR, et on peut y accéder
28249 vale_rigi = args['MATR_RIGI']
28250 if (vale_rigi== None) : # si MATR_RIGI non renseigné
28251 # on retourne un type fictif pour que le plantage aie lieu dans la lecture du catalogue
28253 vale_amor = args['MATR_AMOR']
28254 if (AsType(vale_amor)== matr_asse_depl_r) : return mode_meca_c
28255 if (AsType(vale_rigi)== matr_asse_depl_r) : return mode_meca
28256 if (AsType(vale_rigi)== matr_asse_depl_c) : return mode_meca_c
28257 if (AsType(vale_rigi)== matr_asse_pres_r) : return mode_acou
28258 if (AsType(vale_rigi)== matr_asse_gene_r) : return mode_gene
28259 if (AsType(vale_rigi)== matr_asse_gene_c) : return mode_gene
28261 raise AsException("type de concept resultat non prevu")
28265 MODE_ITER_SIMULT=OPER(nom="MODE_ITER_SIMULT",op= 45, sd_prod= mode_iter_simult_prod,
28266 fr="Calcul des modes propres par itérations simultanées ; valeurs propres et"
28267 +" modes propres réels ou complexes",
28269 UIinfo={"groupes":("Résolution","Dynamique",)},
28270 METHODE =SIMP(statut='f',typ='TXM',defaut="SORENSEN",
28271 into=("TRI_DIAG","JACOBI","SORENSEN","QZ") ),
28272 b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'",
28273 PREC_ORTHO =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ),
28274 NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
28275 PREC_LANCZOS =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ),
28276 NMAX_ITER_QR =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ),
28278 b_jacobi =BLOC(condition = "METHODE == 'JACOBI'",
28279 PREC_BATHE =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ),
28280 NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ),
28281 PREC_JACOBI =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
28282 NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ),
28284 b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'",
28285 PREC_SOREN =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ),
28286 NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ),
28287 PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717),
28289 b_qz =BLOC(condition = "METHODE == 'QZ'",
28290 TYPE_QZ =SIMP(statut='f',typ='TXM',defaut="QZ_SIMPLE",into=("QZ_QR","QZ_SIMPLE","QZ_EQUI") ),
28292 TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE",
28293 into=("DYNAMIQUE","MODE_FLAMB","GENERAL"),
28294 fr="Type d analyse" ),
28295 OPTION =SIMP(statut='f',typ='TXM',defaut="SANS",into=("MODE_RIGIDE","SANS"),
28296 fr="Calcul des modes de corps rigide, uniquement pour la méthode TRI_DIAG" ),
28299 b_dynam =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'",
28300 MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,
28301 matr_asse_gene_r,matr_asse_gene_c,matr_asse_pres_r ) ),
28302 MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
28303 MATR_AMOR =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ),
28304 CALC_FREQ =FACT(statut='d',min=0,
28305 OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","PLUS_GRANDE","BANDE","CENTRE","TOUT"),
28306 fr="Choix de l option et par conséquent du shift du problème modal" ),
28307 b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites fréquences propres",
28308 NMAX_FREQ =SIMP(statut='f',typ='I',defaut=10,val_min=0 ),
28310 b_plus_grande =BLOC(condition = "OPTION == 'PLUS_GRANDE'",fr="Recherche des plus grandes fréquences propres",
28311 NMAX_FREQ =SIMP(statut='f',typ='I',defaut=1,val_min=0 ),
28313 b_centre =BLOC(condition = "OPTION == 'CENTRE'",
28314 fr="Recherche des fréquences propres les plus proches d'une valeur donnée",
28315 FREQ =SIMP(statut='o',typ='R',
28316 fr="Fréquence autour de laquelle on cherche les fréquences propres"),
28317 AMOR_REDUIT =SIMP(statut='f',typ='R',),
28318 NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
28320 b_bande =BLOC(condition = "(OPTION == 'BANDE')",
28321 fr="Recherche des fréquences propres dans une bande donnée",
28322 FREQ =SIMP(statut='o',typ='R',min=2,max=2,
28323 validators=AndVal((OrdList('croissant'), NoRepeat())),
28324 fr="Valeur des deux fréquences délimitant la bande de recherche"),
28325 TABLE_FREQ =SIMP(statut= 'f',typ=table_sdaster),
28327 APPROCHE =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG","COMPLEXE"),
28328 fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ),
28329 regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),),
28330 DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ),
28331 COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ),
28332 NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0 ),
28333 PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ),
28334 SEUIL_FREQ =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
28339 b_general =BLOC(condition = "TYPE_RESU == 'GENERAL'",
28340 MATR_A =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
28341 MATR_B =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
28345 b_flamb =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'",
28346 MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
28347 MATR_RIGI_GEOM =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
28351 b_flamb_general =BLOC(condition = "(TYPE_RESU == 'MODE_FLAMB') or (TYPE_RESU == 'GENERAL')",
28352 CALC_CHAR_CRIT =FACT(statut='d',min=0,
28353 OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE","TOUT"),
28354 fr="Choix de l option et par conséquent du shift du problème modal" ),
28355 b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres",
28356 NMAX_CHAR_CRIT =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
28358 b_centre =BLOC(condition = "OPTION == 'CENTRE'",
28359 fr="Recherche des valeurs propres les plus proches d une valeur donnée",
28360 CHAR_CRIT =SIMP(statut='o',typ='R',
28361 fr="Charge critique autour de laquelle on cherche les charges critiques propres"),
28362 NMAX_CHAR_CRIT =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
28364 b_bande =BLOC(condition = "(OPTION == 'BANDE')",
28365 fr="Recherche des valeurs propres dans une bande donnée",
28366 CHAR_CRIT =SIMP(statut='o',typ='R',min=2,max=2,
28367 validators=AndVal((OrdList('croissant'), NoRepeat())),
28368 fr="Valeur des deux charges critiques délimitant la bande de recherche"),
28369 TABLE_CHAR_CRIT =SIMP(statut= 'f',typ=table_sdaster),
28372 APPROCHE =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG"),
28373 fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ),
28374 regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),),
28375 DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ),
28376 COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ),
28377 NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0 ),
28378 PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ),
28379 SEUIL_CHAR_CRIT =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
28384 #-------------------------------------------------------------------
28385 # Catalogue commun SOLVEUR
28386 SOLVEUR =C_SOLVEUR('MODE_ITER_SIMULT'),
28387 #-------------------------------------------------------------------
28388 #-------------------------------------------------------------------
28389 # Mot-cles caches pour activer le parallelisme au sein d'une macro-commande
28390 PARALLELISME_MACRO=FACT(statut='d',min=0,
28391 TYPE_COM =SIMP(statut='c',typ='I',defaut=-999,into=(-999,1),fr="Type de communication"),
28392 IPARA1_COM =SIMP(statut='c',typ='I',defaut=-999,fr="Parametre entier n 1 de la communication"),
28393 IPARA2_COM =SIMP(statut='c',typ='I',defaut=-999,fr="Parametre entier n 2 de la communication"),
28395 #-------------------------------------------------------------------
28396 VERI_MODE =FACT(statut='d',min=0,
28397 STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
28398 PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-3,val_min=0.E+0 ),
28399 SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0,
28400 fr="Valeur limite admise pour l ereur a posteriori des modes" ),
28401 STURM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
28403 STOP_BANDE_VIDE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
28404 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
28405 TITRE =SIMP(statut='f',typ='TXM',max='**'),
28408 # ======================================================================
28409 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
28410 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
28411 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
28412 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
28413 # (AT YOUR OPTION) ANY LATER VERSION.
28415 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
28416 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
28417 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
28418 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
28420 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
28421 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
28422 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
28423 # ======================================================================
28424 MODE_NON_LINE=OPER(nom="MODE_NON_LINE",op= 61,sd_prod=table_container,
28425 fr="Calcul des modes non-linéaires",
28427 UIinfo={"groupes":("Résolution","Dynamique",)},
28429 reuse =SIMP(statut='f',typ='table_container'),
28431 ETAT_INIT =FACT(statut='o',max=1,
28432 regles=( UN_PARMI('MODE_LINE','MODE_NON_LINE'),),
28433 MODE_LINE = SIMP(statut='f',typ=mode_meca,max = 1),
28434 MODE_NON_LINE = SIMP(statut='f',typ=table_container,max = 1),
28435 NUME_ORDRE = SIMP(statut='o',typ='I' ),
28436 DIR_EVOLUTION = SIMP(statut='f',typ='I',defaut=-1, into=(-1,1)),
28437 COEF_AMPL = SIMP(statut='f',typ='R',defaut=1,),
28440 CHOC = FACT(statut='f',max='**',
28441 regles=( UN_PARMI('NOEUD','GROUP_NO'),),
28442 OBSTACLE = SIMP(statut='f',typ='TXM', into=("PLAN","BI_PLAN","CERCLE",)),
28443 b_cercle = BLOC(condition="OBSTACLE=='CERCLE'",
28444 NOM_CMP = SIMP(statut='o',typ='TXM',min=2,max=2,validators=NoRepeat(),
28445 into=('DX','DY','DZ'),),
28446 ORIG_OBST = SIMP(statut='f',typ='R',defaut=(0.,0.,0.),min=3,max=3),
28448 b_bi_plan = BLOC(condition="OBSTACLE=='BI_PLAN'",
28449 NOM_CMP = SIMP(statut='o',typ='TXM',min=1,max=1,into=('DX','DY','DZ'),),
28451 b_plan = BLOC(condition="OBSTACLE=='PLAN'",
28452 NOM_CMP = SIMP(statut='o',typ='TXM',min=1,max=1,into=('DX','DY','DZ'),),
28454 NOEUD = SIMP(statut='f', typ=no, max=1),
28455 GROUP_NO = SIMP(statut='f', typ=grno, max=1),
28456 JEU = SIMP(statut='o',typ='R',max=1 ),
28457 RIGI_NOR = SIMP(statut='o',typ='R',max=1 ),
28458 PARA_REGUL = SIMP(statut='f',typ='R',defaut=0.005 ),
28461 MATR_RIGI = SIMP(statut='o',typ=(matr_asse_depl_r,) ),
28462 MATR_MASS = SIMP(statut='o',typ=(matr_asse_depl_r,) ),
28464 RESOLUTION = FACT(statut='o',max=1,
28465 METHODE = SIMP(statut='f',typ='TXM',defaut="EHMAN",into=("EHMAN",)),
28466 b_ehman = BLOC(condition="METHODE=='EHMAN'",
28467 NB_HARM_LINE = SIMP(statut='o',typ='I',val_min=1,),
28468 NB_HARM_NONL = SIMP(statut='f',typ='I',defaut=201,val_min=1,),
28469 NB_BRANCHE = SIMP(statut='o',typ='I',val_min=0),
28470 NB_PAS_MAN = SIMP(statut='o',typ='I',val_min=1),
28471 NB_ORDRE_MAN = SIMP(statut='f',typ='I',defaut=20,val_min=2),
28472 PREC_MAN = SIMP(statut='f',typ='R',defaut=1.E-9,val_min=0.E+0),
28473 PREC_NEWTON = SIMP(statut='f',typ='R',defaut=1.E-8,val_min=0.E+0),
28474 ITER_NEWTON_MAXI = SIMP(statut='f',typ='I',defaut=15,val_min=1),
28475 CRIT_ORDR_BIFURCATION = SIMP(statut='f',typ='I',defaut=3,val_min=1),
28476 RESI_RELA_BIFURCATION = SIMP(statut='f',typ='R',defaut=1.E-4,val_min=0.E+0),
28480 SOLVEUR = C_SOLVEUR('MODE_NON_LINE'),
28482 INFO = SIMP(statut='f',typ='I',defaut=1),
28486 # ======================================================================
28487 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
28488 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
28489 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
28490 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
28491 # (AT YOUR OPTION) ANY LATER VERSION.
28493 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
28494 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
28495 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
28496 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
28498 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
28499 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
28500 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
28501 # ======================================================================
28502 # person_in_charge: georges-cc.devesa at edf.fr
28504 MODE_STATIQUE=OPER(nom="MODE_STATIQUE",op= 93,sd_prod=mode_meca,
28505 fr="Calcul de déformées statiques pour un déplacement, une force ou une accélération unitaire imposé",
28507 UIinfo={"groupes":("Résolution","Dynamique",)},
28509 regles=(UN_PARMI('MODE_STAT','FORCE_NODALE','PSEUDO_MODE','MODE_INTERF'),
28510 PRESENT_PRESENT('MODE_INTERF','MATR_MASS'),
28511 PRESENT_PRESENT('PSEUDO_MODE','MATR_MASS'),
28515 MATR_RIGI =SIMP(statut='o',typ=matr_asse_depl_r ),
28516 MATR_MASS =SIMP(statut='f',typ=matr_asse_depl_r ),
28520 MODE_STAT =FACT(statut='f',max='**',
28521 regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'),
28522 UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),),
28523 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ,),
28524 NOEUD =SIMP(statut='f',typ=no ,max='**'),
28525 GROUP_NO =SIMP(statut='f',typ=grno ,max='**'),
28526 TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",) ,),
28527 AVEC_CMP =SIMP(statut='f',typ='TXM',max='**'),
28528 SANS_CMP =SIMP(statut='f',typ='TXM',max='**'),
28530 FORCE_NODALE =FACT(statut='f',max='**',
28531 regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'),
28532 UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),),
28533 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",), ),
28534 NOEUD =SIMP(statut='f',typ=no ,max='**'),
28535 GROUP_NO =SIMP(statut='f',typ=grno ,max='**'),
28536 TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",), ),
28537 AVEC_CMP =SIMP(statut='f',typ='TXM',max='**'),
28538 SANS_CMP =SIMP(statut='f',typ='TXM',max='**'),
28540 PSEUDO_MODE =FACT(statut='f',max='**',
28541 regles=(UN_PARMI('AXE','DIRECTION','TOUT','NOEUD','GROUP_NO' ),),
28542 AXE =SIMP(statut='f',typ='TXM',into=("X","Y","Z"),max=3),
28543 DIRECTION =SIMP(statut='f',typ='R',min=3,max=3),
28544 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)),
28545 NOEUD =SIMP(statut='f',typ=no ,max='**'),
28546 GROUP_NO =SIMP(statut='f',typ=grno ,max='**'),
28547 b_dir =BLOC(condition = "DIRECTION != None",
28548 NOM_DIR =SIMP(statut='f',typ='TXM' ),),
28549 b_cmp =BLOC(condition="TOUT!= None or NOEUD!=None or GROUP_NO!=None",
28550 regles=(UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),),
28551 TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",) ),
28552 AVEC_CMP =SIMP(statut='f',typ='TXM',max='**'),
28553 SANS_CMP =SIMP(statut='f',typ='TXM',max='**'),
28556 MODE_INTERF =FACT(statut='f',max='**',
28557 regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'),
28558 UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),),
28559 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",), ),
28560 NOEUD =SIMP(statut='f',typ=no ,max='**'),
28561 GROUP_NO =SIMP(statut='f',typ=grno ,max='**'),
28562 TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",) ),
28563 AVEC_CMP =SIMP(statut='f',typ='TXM',max='**'),
28564 SANS_CMP =SIMP(statut='f',typ='TXM',max='**'),
28565 NBMOD =SIMP(statut='o',typ='I',defaut= 1),
28566 SHIFT =SIMP(statut='o',typ='R',defaut= 1.0),
28570 #-------------------------------------------------------------------
28571 # Catalogue commun SOLVEUR
28572 SOLVEUR =C_SOLVEUR('MODE_STATIQUE'),
28573 #-------------------------------------------------------------------
28575 TITRE =SIMP(statut='f',typ='TXM',max='**'),
28576 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ,) ),
28579 # ======================================================================
28580 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
28581 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
28582 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
28583 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
28584 # (AT YOUR OPTION) ANY LATER VERSION.
28586 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
28587 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
28588 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
28589 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
28591 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
28592 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
28593 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
28594 # ======================================================================
28595 # person_in_charge: andre.adobes at edf.fr
28596 MODI_BASE_MODALE=OPER(nom="MODI_BASE_MODALE",op= 149,sd_prod=mode_meca,
28598 fr="Définir la base modale d'une structure sous écoulement",
28599 UIinfo={"groupes":("Matrices et vecteurs",)},
28600 # la commande modi_base _modale : reentrant = f ou o
28601 regles=(EXCLUS('AMOR_UNIF','AMOR_REDUIT', ),),
28602 BASE =SIMP(statut='o',typ=mode_meca ),
28603 BASE_ELAS_FLUI =SIMP(statut='o',typ=melasflu_sdaster ),
28604 NUME_VITE_FLUI =SIMP(statut='o',typ='I' ),
28605 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
28606 AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'),
28607 AMOR_UNIF =SIMP(statut='f',typ='R' ),
28608 INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
28609 TITRE =SIMP(statut='f',typ='TXM',max='**'),
28612 # ======================================================================
28613 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
28614 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
28615 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
28616 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
28617 # (AT YOUR OPTION) ANY LATER VERSION.
28619 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
28620 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
28621 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
28622 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
28624 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
28625 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
28626 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
28627 # ======================================================================
28628 # person_in_charge: nicolas.greffet at edf.fr
28630 # RECUPERATION DES EFFORTS VIA YACS POUR COUPLAGE IFS
28632 MODI_CHAR_YACS=OPER(nom = "MODI_CHAR_YACS",
28634 sd_prod = char_meca,
28636 UIinfo = {"groupes":("Résultats et champs",)},
28637 fr = "Reception des forces nodales via YACS lors du couplage de Code_Aster et Saturne",
28638 CHAR_MECA = SIMP(statut ='o', typ = char_meca),
28639 MATR_PROJECTION = SIMP(statut ='o', typ = corresp_2_mailla,),
28640 NOM_CMP_IFS = SIMP(statut ='o', typ = 'TXM',validators = NoRepeat(), max = '**'),
28641 VIS_A_VIS = FACT(statut ='o', max = '**',
28642 GROUP_MA_1 = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
28643 GROUP_NO_2 = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**'),),
28644 INST = SIMP(statut='o',typ='R', ),
28645 PAS = SIMP(statut='o',typ='R', ),
28646 NUME_ORDRE_YACS = SIMP(statut='o', typ='I',),
28647 INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
28650 # ======================================================================
28651 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
28652 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
28653 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
28654 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
28655 # (AT YOUR OPTION) ANY LATER VERSION.
28657 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
28658 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
28659 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
28660 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
28662 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
28663 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
28664 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
28665 # ======================================================================
28666 # person_in_charge: jacques.pellet at edf.fr
28667 MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage_sdaster,
28668 fr="Effectuer des modifications sur un maillage existant: réorienter des mailles servant,"
28669 +" à l'application d'une pression, à la modélisation du contact,...",
28671 UIinfo={"groupes":("Maillage",)},
28672 regles=(AU_MOINS_UN('ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
28673 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',
28674 'TRANSLATION','ROTATION','MODI_BASE','ECHELLE','ORIE_SHB','SYMETRIE',
28676 PRESENT_ABSENT('ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
28677 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',
28679 PRESENT_ABSENT('DEFORME','ORIE_FISSURE','EQUE_PIQUA','ORIE_PEAU_2D',
28680 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',
28682 PRESENT_ABSENT('EQUE_PIQUA','ORIE_FISSURE','DEFORME','ORIE_PEAU_2D',
28683 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',
28685 PRESENT_ABSENT('ORIE_PEAU_2D','ORIE_FISSURE','DEFORME','EQUE_PIQUA',
28686 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',
28688 PRESENT_ABSENT('ORIE_PEAU_3D','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
28689 'PLAQ_TUBE','MODI_MAILLE',),
28690 PRESENT_ABSENT('ORIE_NORM_COQUE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
28691 'PLAQ_TUBE','MODI_MAILLE','ORIE_LIGNE'),
28692 PRESENT_ABSENT('PLAQ_TUBE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
28693 'ORIE_PEAU_3D','ORIE_NORM_COQUE','MODI_MAILLE','ORIE_LIGNE'),
28694 PRESENT_ABSENT('MODI_MAILLE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
28695 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','ORIE_LIGNE'),
28696 EXCLUS('EQUE_PIQUA','PLAQ_TUBE'),
28697 EXCLUS('EQUE_PIQUA','TUBE_COUDE'),
28698 EXCLUS('ROTATION','MODI_BASE'),
28699 EXCLUS('SYMETRIE','ROTATION'),
28700 EXCLUS('SYMETRIE','TRANSLATION'),
28701 EXCLUS('SYMETRIE','MODI_BASE'),
28702 EXCLUS('SYMETRIE','ECHELLE'),
28704 MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ),
28706 ORIE_FISSURE =FACT(statut='f',
28707 GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
28710 DEFORME =FACT(statut='f',
28711 OPTION =SIMP(statut='o',typ='TXM',into=("TRAN","TRAN_APPUI") ),
28712 DEPL =SIMP(statut='o',typ=cham_no_sdaster ),
28713 b_deform =BLOC(condition = "OPTION=='TRAN_APPUI'",
28714 GROUP_NO_APPUI = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**' ),
28715 GROUP_NO_STRU = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**' ),),
28718 EQUE_PIQUA =FACT(statut='f',
28719 GROUP_NO =SIMP(statut='o',typ=grno),
28720 E_BASE =SIMP(statut='o',typ='R' ),
28721 DEXT_BASE =SIMP(statut='o',typ='R' ),
28722 L_BASE =SIMP(statut='o',typ='R' ),
28723 L_CHANF =SIMP(statut='o',typ='R' ),
28724 TYPE =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2")),
28725 H_SOUD =SIMP(statut='o',typ='R' ),
28726 ANGL_SOUD =SIMP(statut='o',typ='R' ),
28727 JEU_SOUD =SIMP(statut='o',typ='R' ),
28728 E_CORP =SIMP(statut='o',typ='R' ),
28729 DEXT_CORP =SIMP(statut='o',typ='R' ),
28730 AZIMUT =SIMP(statut='o',typ='R' ),
28731 RAFF_MAIL =SIMP(statut='o',typ='TXM' ),
28732 X_MAX =SIMP(statut='o',typ='R' ),
28734 ORIE_PEAU_2D =FACT(statut='f',max='**',
28735 GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
28736 GROUP_MA_SURF =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
28738 ORIE_PEAU_3D =FACT(statut='f',max='**',
28739 GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
28740 GROUP_MA_VOLU =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
28742 ORIE_SHB =FACT(statut='f',max=1,
28743 GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
28745 ORIE_NORM_COQUE =FACT(statut='f',max='**',
28746 GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
28747 VECT_NORM =SIMP(statut='f',typ='R',max=3),
28748 b_vect_norm =BLOC(condition = "VECT_NORM != None",
28749 regles=UN_PARMI('NOEUD','GROUP_NO'),
28750 NOEUD =SIMP(statut='f',typ=no),
28751 GROUP_NO =SIMP(statut='f',typ=grno),
28754 ORIE_LIGNE =FACT(statut='f',max='**',
28755 GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
28756 VECT_TANG =SIMP(statut='f',typ='R',max=3),
28757 b_vect_tang =BLOC(condition = "VECT_TANG != None",
28758 regles=UN_PARMI('NOEUD','GROUP_NO'),
28759 NOEUD =SIMP(statut='f',typ=no),
28760 GROUP_NO =SIMP(statut='f',typ=grno),
28763 PLAQ_TUBE =FACT(statut='f',
28764 DEXT =SIMP(statut='o',typ='R' ),
28765 EPAIS =SIMP(statut='o',typ='R' ),
28766 L_TUBE_P1 =SIMP(statut='o',typ='R' ),
28767 AZIMUT =SIMP(statut='f',typ='R',defaut= 90. ),
28768 COUTURE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ),
28770 TUBE_COUDE =FACT(statut='f',
28771 ANGLE =SIMP(statut='o',typ='R' ),
28772 R_CINTR =SIMP(statut='o',typ='R' ),
28773 L_TUBE_P1 =SIMP(statut='o',typ='R' ),
28775 MODI_MAILLE =FACT(statut='f',max=1,
28776 regles=(AU_MOINS_UN('GROUP_MA_FOND','MAILLE_FOND','GROUP_NO_FOND','NOEUD_FOND'),),
28777 OPTION =SIMP(statut='o',typ='TXM',into=("NOEUD_QUART",) ),
28778 GROUP_MA_FOND =SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1),
28779 MAILLE_FOND =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max=1),
28780 GROUP_NO_FOND =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
28781 NOEUD_FOND =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1),
28783 MODI_BASE =FACT(statut='f',
28784 VECT_X =SIMP(statut='o',typ='R',min=2,max=3),
28785 VECT_Y =SIMP(statut='f',typ='R',min=2,max=3),
28787 ECHELLE =SIMP(statut='f',typ='R',),
28788 TRANSLATION =SIMP(statut='f',typ='R',min=2,max=3),
28789 ROTATION =FACT(statut='f',max='**',
28790 POIN_1 =SIMP(statut='o',typ='R',min=2,max=3),
28791 ANGLE =SIMP(statut='o',typ='R',defaut= 0.E+0 ),
28792 regles=(EXCLUS('DIR','POIN_2'),),
28793 POIN_2 =SIMP(statut='f',typ='R',min=2,max=3),
28794 DIR =SIMP(statut='f',typ='R',min=2,max=3),
28796 SYMETRIE =FACT(statut='f',max='**',
28797 fr = "Symétrie du maillage par rapport à un plan en 3D ou à une droite en 2D.",
28798 POINT =SIMP(statut='o',typ='R',min=2,max=3,
28799 fr="Point appartenant à la droite ou au plan."),
28800 AXE_1 =SIMP(statut='o',typ='R',min=2,max=3,
28801 fr="Vecteur directeur de la droite ou 1er vecteur appartenant au plan."),
28802 AXE_2 =SIMP(statut='f',typ='R',min=3,max=3,
28803 fr="2nd vecteur appartenant du plan."),
28805 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
28808 # ======================================================================
28809 # COPYRIGHT (C) 1991 - 2009 EDF R&D WWW.CODE-ASTER.ORG
28810 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
28811 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
28812 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
28813 # (AT YOUR OPTION) ANY LATER VERSION.
28815 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
28816 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
28817 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
28818 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
28820 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
28821 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
28822 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
28823 # ======================================================================
28824 # person_in_charge: jacques.pellet at edf.fr
28826 MODI_MODELE=OPER(nom="MODI_MODELE",op= 103,sd_prod=modele_sdaster,reentrant='o',
28827 UIinfo={"groupes":("Modélisation",)},
28828 fr="Modifier la partition d'un modèle (parallélisme) ",
28830 MODELE =SIMP(statut='o',typ=modele_sdaster,min=1,max=1,),
28832 PARTITION =FACT(statut='d',
28833 PARALLELISME =SIMP(statut='f',typ='TXM',defaut="GROUP_ELEM",
28834 into=("MAIL_CONTIGU","MAIL_DISPERSE","SOUS_DOMAINE","CENTRALISE","GROUP_ELEM")),
28835 b_dist_maille =BLOC(condition = "PARALLELISME in ('MAIL_DISPERSE','MAIL_CONTIGU')",
28836 CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,val_min=0),
28838 b_dist_sd =BLOC(condition = "PARALLELISME == 'SOUS_DOMAINE'",
28839 PARTITION =SIMP(statut='o',typ=sd_partit),
28840 CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,val_min=0),
28845 # ======================================================================
28846 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
28847 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
28848 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
28849 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
28850 # (AT YOUR OPTION) ANY LATER VERSION.
28852 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
28853 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
28854 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
28855 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
28857 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
28858 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
28859 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
28860 # ======================================================================
28861 # person_in_charge: samuel.geniaut at edf.fr
28863 MODI_MODELE_XFEM=OPER(nom="MODI_MODELE_XFEM",op= 113,sd_prod=modele_sdaster,docu="U4.44.12-e",reentrant='f',
28864 UIinfo={"groupes":("Modélisation","Rupture",)},
28865 fr="Engendrer ou enrichir une structure de donnees en affectant les cham_gd associes",
28867 MODELE_IN =SIMP(statut='o',typ=modele_sdaster,min=1,max=1,),
28868 FISSURE =SIMP(statut='o',typ=fiss_xfem,min=1,max='**',),
28869 CRITERE =SIMP(statut='f',typ='R',defaut=1.1E-9),
28870 INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,)),
28872 =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON"),min=1,max=1,),
28875 # ======================================================================
28876 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
28877 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
28878 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
28879 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
28880 # (AT YOUR OPTION) ANY LATER VERSION.
28882 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
28883 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
28884 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
28885 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
28887 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
28888 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
28889 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
28890 # ======================================================================
28891 # person_in_charge: xavier.desroches at edf.fr
28892 def modi_repere_prod(RESULTAT,**args):
28893 if AsType(RESULTAT) != None : return AsType(RESULTAT)
28895 MODI_REPERE=OPER(nom="MODI_REPERE",op=191,sd_prod=modi_repere_prod,reentrant='f',
28896 UIinfo={"groupes":("Post-traitements","Résultats et champs",)},
28897 fr="Calcule des résultats dans le repère cylindrique",
28898 RESULTAT =SIMP(statut='o',typ=resultat_sdaster),
28900 regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
28901 'NOEUD_CMP','LIST_INST','LIST_FREQ','NOM_CAS'),),
28902 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
28903 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
28904 NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
28905 NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
28906 NOM_CAS =SIMP(statut='f',typ='TXM' ),
28908 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
28909 FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
28910 LIST_INST =SIMP(statut='f',typ=listr8_sdaster),
28911 LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster),
28913 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
28914 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
28915 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
28916 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
28917 PRECISION =SIMP(statut='o',typ='R',),),
28919 MODI_CHAM =FACT(statut='o',max='**',
28920 TYPE_CHAM =SIMP(statut='o',typ='TXM',
28921 into=("VECT_2D","VECT_3D","TENS_2D","TENS_3D","COQUE_GENE"),),
28922 NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()),
28923 b_vect_2d =BLOC(condition = "TYPE_CHAM=='VECT_2D'",
28924 NOM_CMP =SIMP(statut='o',typ='TXM',min=2,max=2 ),),
28925 b_vect_3d =BLOC(condition = "TYPE_CHAM=='VECT_3D'",
28926 NOM_CMP =SIMP(statut='o',typ='TXM',min=3,max=3 ),),
28927 b_tens_2d =BLOC(condition = "TYPE_CHAM=='TENS_2D'",
28928 NOM_CMP =SIMP(statut='o',typ='TXM',min=4,max=4 ),),
28929 b_tens_3d =BLOC(condition = "TYPE_CHAM=='TENS_3D'",
28930 NOM_CMP =SIMP(statut='o',typ='TXM',min=6,max=6 ),),
28931 b_coque_gene =BLOC(condition = "TYPE_CHAM=='COQUE_GENE'",
28932 NOM_CMP =SIMP(statut='o',typ='TXM',min=8,max=8 ),),
28934 b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : COQUE_INTR_UTIL ou COQUE_UTIL_INTR autorise",
28935 REPERE =SIMP(statut='o',typ='TXM',position='global',
28936 into=("COQUE_INTR_UTIL","COQUE_UTIL_INTR"),),
28937 AFFE =FACT(statut='o',max='**',
28938 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
28939 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
28943 b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant ",
28944 REPERE =SIMP(statut='f',typ='TXM',defaut="UTILISATEUR",position='global',
28945 into=("UTILISATEUR","CYLINDRIQUE","COQUE",
28946 "COQUE_INTR_UTIL","COQUE_UTIL_INTR"),),
28948 AFFE =FACT(statut='o',max='**',
28949 b_cyl =BLOC(condition = "REPERE == 'CYLINDRIQUE'",
28950 ORIGINE =SIMP(statut='f',typ='R',min=2,max=3),
28951 AXE_Z =SIMP(statut='f',typ='R',min=3,max=3),),
28952 b_uti =BLOC(condition = "REPERE == 'UTILISATEUR'",
28953 regles=(UN_PARMI('ANGL_NAUT','VECT_X'),
28954 ENSEMBLE('VECT_X','VECT_Y')),
28955 ANGL_NAUT =SIMP(statut='f',typ='R',max=3),
28956 VECT_X =SIMP(statut='f',typ='R',min=3,max=3 ),
28957 VECT_Y =SIMP(statut='f',typ='R',min=3,max=3 ),),
28958 b_coq =BLOC(condition = "REPERE == 'COQUE'",
28959 regles=(UN_PARMI('ANGL_REP','VECTEUR'),),
28960 ANGL_REP =SIMP(statut='f',typ='R',min=2,max=2),
28961 VECTEUR =SIMP(statut='f',typ='R',min=3,max=3),),
28962 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
28963 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
28964 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
28965 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
28968 TITRE =SIMP(statut='f',typ='TXM',max='**'),
28969 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
28972 # ======================================================================
28973 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
28974 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
28975 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
28976 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
28977 # (AT YOUR OPTION) ANY LATER VERSION.
28979 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
28980 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
28981 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
28982 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
28984 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
28985 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
28986 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
28987 # ======================================================================
28988 # person_in_charge: nicolas.brie at edf.fr
28990 def norm_mode_prod(MODE,**args ):
28991 if AsType(MODE) == mode_meca : return mode_meca
28992 if AsType(MODE) == mode_meca_c : return mode_meca_c
28993 if AsType(MODE) == mode_flamb : return mode_flamb
28994 raise AsException("type de concept resultat non prevu")
28996 NORM_MODE=OPER(nom="NORM_MODE",op= 37,sd_prod=norm_mode_prod,
28997 fr="Normer des modes propres en fonction d'un critère choisi par l'utilisateur",
28999 UIinfo={"groupes":("Résolution","Dynamique",)},
29000 regles=(UN_PARMI('NORME','GROUP_NO','NOEUD','AVEC_CMP','SANS_CMP'),),
29001 MODE =SIMP(statut='o',typ=(mode_meca,mode_flamb) ),
29002 NORME =SIMP(statut='f',typ='TXM',fr="Norme prédéfinie : masse généralisée, euclidienne,...",
29003 into=("MASS_GENE","RIGI_GENE","EUCL","EUCL_TRAN","TRAN","TRAN_ROTA") ),
29004 NOEUD =SIMP(statut='f',typ=no, fr="Composante donnée d'un noeud spécifié égale à 1"),
29005 GROUP_NO =SIMP(statut='f',typ=grno,fr="Composante donnée d'un groupe contenant un seul noeud spécifié égale à 1"),
29006 b_noeud =BLOC(condition = "NOEUD != None or GROUP_NO != None",
29007 NOM_CMP =SIMP(statut='o',typ='TXM' ),
29009 AVEC_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
29010 SANS_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
29011 MODE_SIGNE =FACT(statut='f',fr="Imposer un signe sur une des composantes des modes",
29012 regles=(UN_PARMI('GROUP_NO','NOEUD'),),
29013 NOEUD =SIMP(statut='f',typ=no,fr="Noeud où sera imposé le signe"),
29014 GROUP_NO =SIMP(statut='f',typ=grno,fr="Groupe d'un seul noeud où sera imposé le signe"),
29015 NOM_CMP =SIMP(statut='o',typ='TXM',fr="Composante du noeud où sera imposé le signe" ),
29016 SIGNE =SIMP(statut='f',typ='TXM',defaut="POSITIF",into=("NEGATIF","POSITIF"),
29017 fr="Choix du signe" ),
29020 MASSE = SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ), ),
29021 RAIDE = SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_gene_r,matr_asse_pres_r ), ),
29022 AMOR = SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ),
29023 TITRE =SIMP(statut='f',typ='TXM',max='**'),
29024 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
29027 # ======================================================================
29028 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
29029 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
29030 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
29031 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
29032 # (AT YOUR OPTION) ANY LATER VERSION.
29034 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
29035 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
29036 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
29037 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
29039 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
29040 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
29041 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
29042 # ======================================================================
29043 # person_in_charge: jacques.pellet at edf.fr
29044 NUME_DDL=OPER(nom="NUME_DDL",op=11,sd_prod=nume_ddl_sdaster,reentrant='n',
29045 UIinfo={"groupes":("Matrices et vecteurs",)},
29046 fr="Etablissement de la numérotation des ddl avec ou sans renumérotation et du stockage de la matrice",
29047 regles=(UN_PARMI('MATR_RIGI','MODELE'),),
29048 MATR_RIGI =SIMP(statut='f',validators=NoRepeat(),max=100,
29049 typ=(matr_elem_depl_r ,matr_elem_depl_c,matr_elem_temp_r ,matr_elem_pres_c) ),
29050 MODELE =SIMP(statut='f',typ=modele_sdaster ),
29051 b_modele =BLOC(condition = "MODELE != None",
29052 CHARGE =SIMP(statut='f',validators=NoRepeat(),max='**',typ=(char_meca,char_ther,char_acou, ),),
29054 METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","PETSC","MUMPS") ),
29055 b_mult_front =BLOC(condition="METHODE=='MULT_FRONT'",fr="paramètres associés à la méthode multifrontale",
29056 RENUM =SIMP(statut='f',typ='TXM',into=("MD","MDA","METIS"),defaut="METIS" ),
29058 b_ldlt =BLOC(condition="METHODE=='LDLT'",fr="paramètres associés à la méthode LDLT",
29059 RENUM =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK" ),
29061 b_mumps =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS",
29062 RENUM =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AMD","AMF","PORD","METIS","QAMD","SCOTCH","AUTO")),
29064 b_gcpc =BLOC(condition="METHODE=='GCPC' or METHODE=='PETSC'",fr="paramètres associés à la GCPC ou PETSc",
29065 RENUM =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK" ),
29067 INFO =SIMP(statut='f',typ='I',into=(1,2)),
29070 # ======================================================================
29071 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
29072 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
29073 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
29074 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
29075 # (AT YOUR OPTION) ANY LATER VERSION.
29077 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
29078 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
29079 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
29080 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
29082 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
29083 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
29084 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
29085 # ======================================================================
29086 # person_in_charge: mathieu.corus at edf.fr
29087 NUME_DDL_GENE=OPER(nom="NUME_DDL_GENE",op= 127,sd_prod=nume_ddl_gene,
29088 fr="Etablissement de la numérotation des ddl d'un modèle etabli en coordonnées généralisees",
29090 UIinfo={"groupes":("Matrices et vecteurs",)},
29091 regles=UN_PARMI('MODELE_GENE','BASE'),
29092 MODELE_GENE =SIMP(statut='f',typ=modele_gene ),
29093 b_modele_gene =BLOC(condition = "MODELE_GENE != None",
29094 STOCKAGE =SIMP(statut='f',typ='TXM',defaut="LIGN_CIEL",into=("LIGN_CIEL","PLEIN") ),
29095 METHODE =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("INITIAL","CLASSIQUE","ELIMINE") ),
29097 BASE =SIMP(statut='f',typ=(mode_meca,mode_gene ) ),
29098 b_base =BLOC(condition = "BASE != None",
29099 STOCKAGE =SIMP(statut='f',typ='TXM',defaut="PLEIN",into=("DIAG","PLEIN") ),
29100 NB_VECT =SIMP(statut='f',typ='I',defaut= 9999 ),
29104 # ======================================================================
29105 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
29106 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
29107 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
29108 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
29109 # (AT YOUR OPTION) ANY LATER VERSION.
29111 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
29112 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
29113 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
29114 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
29116 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
29117 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
29118 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
29119 # ======================================================================
29120 # person_in_charge: harinaivo.andriambololona at edf.fr
29122 def observation_prod(self, RESULTAT, **args):
29123 if AsType(RESULTAT) == mode_meca :
29125 elif AsType(RESULTAT) == evol_elas :
29127 elif AsType(RESULTAT) == dyna_harmo :
29129 elif AsType(RESULTAT) == dyna_trans :
29134 OBSERVATION=MACRO(nom="OBSERVATION",
29135 op=OPS('Macro.observation_ops.observation_ops'),
29136 UIinfo={"groupes":("Matrices et vecteurs",)},
29137 sd_prod=observation_prod,
29138 fr="Calcul de l'observabilite d'un champ aux noeuds ",
29140 MODELE_1 =SIMP(statut='o',typ=modele_sdaster),
29141 MODELE_2 =SIMP(statut='o',typ=modele_sdaster),
29142 RESULTAT =SIMP(statut='o',typ=(mode_meca,evol_elas,dyna_harmo,dyna_trans,) ),
29143 NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO(),),
29145 # ------------------------------------------------------------------
29147 regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','FREQ','LIST_FREQ','NUME_MODE','INST','LIST_INST' ),),
29148 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
29149 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
29150 FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
29151 LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster),
29152 NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
29153 LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster),
29154 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
29155 LIST_INST =SIMP(statut='f',typ=listr8_sdaster),
29156 NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
29158 # ------------------------------------------------------------------
29159 # OPTIONS DE PROJ_CHAMP (SANS MC FACTEUR PARTICULIER)
29160 # ------------------------------------------------------------------
29161 PROJECTION =SIMP(statut='f',max=1,typ='TXM',into=("OUI","NON"),defaut="OUI"),
29162 CAS_FIGURE =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",) ),
29163 DISTANCE_MAX =SIMP(statut='f',typ='R',
29164 fr="Distance maximale entre le noeud et l'élément le plus proche, lorsque le noeud n'est dans aucun élément."),
29165 ALARME =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
29167 TYPE_CHAM =SIMP(statut='f',typ='TXM',into=("NOEU",),
29168 fr="Pour forcer le type des champs projetés. NOEU -> cham_no"),
29170 # PROL_ZERO =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON",
29171 # fr="Si le résultat est un mode_xxx ou une base_xxx, on peut prolonger"
29172 # +" les champs par zéro la ou la projection ne donne pas de valeurs."),
29174 MATR_RIGI =SIMP(statut='f',typ=(matr_asse_depl_r) ),
29175 MATR_MASS =SIMP(statut='f',typ=(matr_asse_depl_r) ),
29176 VIS_A_VIS =FACT(statut='f',max='**',
29177 regles=(AU_MOINS_UN('TOUT_1','GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
29178 AU_MOINS_UN('TOUT_2','GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),),
29179 TOUT_1 =SIMP(statut='f',typ='TXM',into=("OUI",) ),
29180 GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
29181 MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
29182 GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
29183 NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
29184 TOUT_2 =SIMP(statut='f',typ='TXM',into=("OUI",) ),
29185 GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
29186 MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
29187 GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
29188 NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
29189 CAS_FIGURE =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",) ),
29192 # ------------------------------------------------------------------
29194 # ------------------------------------------------------------------
29195 MODI_REPERE =FACT(statut='f',max='**',
29196 regles=(UN_PARMI('REPERE'),
29197 AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
29198 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
29199 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
29200 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
29201 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
29202 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
29204 TYPE_CHAM =SIMP(statut='f',typ='TXM',
29205 into=("VECT_2D","VECT_3D","TENS_2D","TENS_3D"),
29207 b_vect_2d =BLOC(condition = "TYPE_CHAM=='VECT_2D'",
29208 NOM_CMP =SIMP(statut='o',typ='TXM',min=2,max=2 ),),
29209 b_vect_3d =BLOC(condition = "TYPE_CHAM=='VECT_3D'",
29210 NOM_CMP =SIMP(statut='f',typ='TXM',min=3,max=3,defaut=('DX','DY','DZ') ),),
29211 b_tens_2d =BLOC(condition = "TYPE_CHAM=='TENS_2D'",
29212 NOM_CMP =SIMP(statut='f',typ='TXM',min=4,max=4,defaut=('EPXX','EPYY','EPZZ','EPXY',) ),),
29213 b_tens_3d =BLOC(condition = "TYPE_CHAM=='TENS_3D'",
29214 NOM_CMP =SIMP(statut='f',typ='TXM',min=6,max=6,defaut=('EPXX','EPYY','EPZZ','EPXY','EPXZ','EPYZ',),),),
29216 REPERE =SIMP(statut='o',typ='TXM',
29217 into=("UTILISATEUR","CYLINDRIQUE","NORMALE","DIR_JAUGE"),),
29218 b_normale =BLOC(condition = "REPERE=='NORMALE'",
29219 regles=(UN_PARMI('VECT_X','VECT_Y')),
29220 VECT_X =SIMP(statut='f',typ='R',min=3,max=3),
29221 VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), ),
29222 b_utilisateur =BLOC(condition = "REPERE=='UTILISATEUR'",
29223 ANGL_NAUT =SIMP(statut='o',typ='R',max=3)),
29224 b_cylindrique =BLOC(condition = "REPERE=='CYLINDRIQUE'",
29225 ORIGINE =SIMP(statut='o',typ='R',min=2,max=3),
29226 AXE_Z =SIMP(statut='o',typ='R',min=3,max=3)),
29227 b_dir_jauge =BLOC(condition = "REPERE=='DIR_JAUGE'",
29228 VECT_X =SIMP(statut='f',typ='R',min=3,max=3),
29229 VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), ),
29232 # ------------------------------------------------------------------
29234 # ------------------------------------------------------------------
29235 EPSI_MOYENNE =FACT(statut='f',max='**',
29236 regles=(AU_MOINS_UN('GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
29237 NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
29238 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
29239 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
29240 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
29241 SEUIL_VARI =SIMP(statut='f',typ='R',validators=NoRepeat(),defaut=0.1,),
29242 MASQUE =SIMP(statut='f',typ='TXM',max=6),
29245 # ------------------------------------------------------------------
29247 # ------------------------------------------------------------------
29248 FILTRE =FACT(statut='f',max='**',
29249 regles=(UN_PARMI('DDL_ACTIF'),
29251 AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
29252 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
29253 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
29254 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
29255 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
29256 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
29257 NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO(),),
29260 DDL_ACTIF =SIMP(statut='f',typ='TXM',max=6),
29261 # TODO : mettre en place le systeme de masques
29262 # MASQUE =SIMP(statut='f',typ='TXM',max=6),
29264 # ------------------------------------------------------------------
29266 TITRE =SIMP(statut='f',typ='TXM',max='**' ),
29267 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
29270 # ======================================================================
29271 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
29272 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
29273 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
29274 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
29275 # (AT YOUR OPTION) ANY LATER VERSION.
29277 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
29278 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
29279 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
29280 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
29282 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
29283 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
29284 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
29285 # ======================================================================
29286 # person_in_charge: romeo.fernandes at edf.fr
29288 PERM_MAC3COEUR = MACRO(nom="PERM_MAC3COEUR",
29289 op=OPS("Mac3coeur.perm_mac3coeur_ops.perm_mac3coeur_ops"),
29292 TYPE_COEUR = SIMP(statut='o',typ='TXM',into=("MONO","TEST","900","1300","N4","EPR") ),
29293 TABLE_N = SIMP(statut='o',typ=table_sdaster), # TABLE INITIALE DES DAMAC A L INSTANT N
29294 RESU_N = SIMP(statut='o',typ=evol_noli), # RESULTAT A L INSTANT N A PERMUTER
29295 TABLE_NP1 = SIMP(statut='o',typ=table_sdaster), # TABLE INITIALE DES DAMAC A L INSTANT N+1
29296 MAILLAGE_NP1 = SIMP(statut='o',typ=maillage_sdaster),); # MAILLAGE A L INSTANT N+1
29298 # ======================================================================
29299 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
29300 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
29301 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
29302 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
29303 # (AT YOUR OPTION) ANY LATER VERSION.
29305 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
29306 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
29307 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
29308 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
29310 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
29311 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
29312 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
29313 # ======================================================================
29314 # person_in_charge: renaud.bargellini at edf.fr
29316 POST_BORDET =MACRO(nom="POST_BORDET",
29317 op=OPS('Macro.post_bordet_ops.post_bordet_ops'),
29318 sd_prod=table_sdaster,
29319 UIinfo={"groupes":("Outils-métier","Rupture",)},
29321 fr="calcul de la probabilite de clivage via le modele de Bordet",
29322 regles=(UN_PARMI('TOUT','GROUP_MA'),
29323 UN_PARMI('INST','NUME_ORDRE'),
29325 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)),
29326 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
29327 fr="le calcul ne sera effectué que sur ces mailles"),
29328 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),),
29329 PRECISION =SIMP(statut='f',typ='R',validators=NoRepeat(),val_min=0.,val_max=1E-3,defaut=1E-6),
29330 CRITERE =SIMP(statut='f',typ='TXM',defaut="ABSOLU",into=("RELATIF","ABSOLU") ),
29331 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),),
29332 PROBA_NUCL =SIMP(statut='f',typ='TXM',into=("NON","OUI"), defaut="NON",
29333 fr="prise en compte du facteur exponentiel"),
29334 b_nucl =BLOC( condition = "PROBA_NUCL=='OUI'",
29335 PARAM =FACT(statut='o',
29336 M =SIMP(statut='o',typ='R',val_min=0.E+0),
29337 SIGM_REFE =SIMP(statut='o',typ=(fonction_sdaster),val_min=0.E+0),
29338 VOLU_REFE =SIMP(statut='o',typ='R',val_min=0.E+0),
29339 SIG_CRIT =SIMP(statut='o',typ='R',val_min=0.E+0),
29340 SEUIL_REFE =SIMP(statut='o',typ='R',val_min=0.E+0),
29341 SEUIL_CALC =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster)),
29342 DEF_PLAS_REFE =SIMP(statut='o',typ='R'),),),
29344 b_prop =BLOC( condition = "PROBA_NUCL=='NON'",
29345 PARAM =FACT(statut='o',
29346 M =SIMP(statut='o',typ='R',val_min=0.E+0),
29347 SIGM_REFE =SIMP(statut='o',typ=fonction_sdaster,val_min=0.E+0),
29348 VOLU_REFE =SIMP(statut='o',typ='R',val_min=0.E+0),
29349 SIG_CRIT =SIMP(statut='o',typ='R',val_min=0.E+0),
29350 SEUIL_REFE =SIMP(statut='o',typ='R',val_min=0.E+0),
29351 SEUIL_CALC =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster),),
29355 RESULTAT =SIMP(statut='o',typ=resultat_sdaster,
29356 fr="Resultat d'une commande globale STAT_NON_LINE"),
29357 TEMP =SIMP(statut='o',typ=(fonction_sdaster,'R')),
29358 COEF_MULT =SIMP(statut='f',typ='R', defaut=1.),
29361 # ======================================================================
29362 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
29363 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
29364 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
29365 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
29366 # (AT YOUR OPTION) ANY LATER VERSION.
29368 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
29369 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
29370 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
29371 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
29373 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
29374 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
29375 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
29376 # ======================================================================
29377 # person_in_charge: samuel.geniaut at edf.fr
29378 def post_cham_xfem_prod(RESULTAT,**args ):
29380 if AsType(RESULTAT) == evol_noli : return evol_noli
29381 if AsType(RESULTAT) == mode_meca : return mode_meca
29382 if AsType(RESULTAT) == evol_elas : return evol_elas
29383 if AsType(RESULTAT) == evol_ther : return evol_ther
29385 raise AsException("type de concept resultat non prevu")
29387 POST_CHAM_XFEM=OPER(nom="POST_CHAM_XFEM",op= 196,sd_prod=post_cham_xfem_prod,
29388 reentrant='n',UIinfo={"groupes":("Post-traitements","Rupture",)},
29389 fr="Calcul des champs DEPL, SIEF_ELGA et VARI_ELGA sur le maillage de visualisation (fissuré)",
29390 RESULTAT = SIMP(statut='o',typ=resultat_sdaster),
29391 MODELE_VISU = SIMP(statut='o',typ=modele_sdaster,),
29392 INFO = SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ),
29395 # ======================================================================
29396 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
29397 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
29398 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
29399 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
29400 # (AT YOUR OPTION) ANY LATER VERSION.
29402 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
29403 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
29404 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
29405 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
29407 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
29408 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
29409 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
29410 # ======================================================================
29411 # person_in_charge: jacques.pellet at edf.fr
29413 def post_champ_prod(RESULTAT,**args):
29414 if AsType(RESULTAT) != None : return AsType(RESULTAT)
29415 raise AsException("type de concept resultat non prevu")
29418 # liste des options possibles pour les 4 mots clés EXTR_COQUE, EXTR_TUYAY, EXTR_PMF et MIN_MAX_SP :
29419 liste_option_extr=("EPEQ_ELGA","EPEQ_ELNO","EPSI_ELGA","EPSI_ELNO",
29420 "SIEF_ELGA","SIEF_ELNO",
29421 "SIEQ_ELGA","SIEQ_ELNO","SIGM_ELGA","SIGM_ELNO",
29422 "VARI_ELGA","VARI_ELNO",)
29425 POST_CHAMP=OPER(nom="POST_CHAMP",op=155,sd_prod=post_champ_prod, reentrant='n',
29426 UIinfo={"groupes":("Post-traitements","Eléments de structure",)},
29427 fr="extraction de champs sur un sous-point. ",
29429 regles=(UN_PARMI('EXTR_COQUE','EXTR_TUYAU','EXTR_PMF','MIN_MAX_SP','COQU_EXCENT'),
29430 EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP',
29431 'LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS',),
29434 RESULTAT =SIMP(statut='o',typ=resultat_sdaster,
29435 fr="Resultat d'une commande globale"),
29439 # Sélection des numéros d'ordre pour lesquels on fait le calcul :
29441 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
29442 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
29443 NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
29444 LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster),
29445 NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
29446 NOM_CAS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
29447 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
29448 LIST_INST =SIMP(statut='f',typ=listr8_sdaster),
29449 FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
29450 LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster),
29452 b_acce_reel =BLOC(condition="(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)",
29453 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
29454 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
29455 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
29456 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
29457 PRECISION =SIMP(statut='o',typ='R',),),
29462 # Sélection de la zone géométrique:
29464 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
29465 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
29466 MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
29471 # Extraction sur un sous-point d'une coque :
29473 EXTR_COQUE =FACT(statut='f', max=1, fr="extraction sur un sous-point d'une coque",
29474 NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
29475 into=liste_option_extr,),
29476 NUME_COUCHE =SIMP(statut='o',typ='I',val_min=1,
29477 fr="numero de couche dans l'épaisseur de la coque" ),
29478 NIVE_COUCHE =SIMP(statut='o',typ='TXM',into=("SUP","INF","MOY"),
29479 fr="position dans l'épaisseur de la couche" ),
29484 # Extraction sur un sous-point d'un tuyau :
29486 EXTR_TUYAU =FACT(statut='f', max=1, fr="extraction sur un sous-point d'un tuyau",
29487 NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
29488 into=liste_option_extr ,),
29489 NUME_COUCHE =SIMP(statut='o',typ='I',val_min=1,
29490 fr="numero de couche dans l'épaisseur du tuyau" ),
29491 NIVE_COUCHE =SIMP(statut='o',typ='TXM',into=("SUP","INF","MOY"),
29492 fr="position dans l'épaisseur de la couche" ),
29493 ANGLE =SIMP(statut='o',typ='I',val_min=0,val_max=360,
29494 fr="angle de dépouillement pour les tuyaux, en degrés à partir de la génératrice" ),
29499 # Extraction sur un sous-point d'une poutre multifibre :
29501 EXTR_PMF =FACT(statut='f', max=1, fr="extraction sur un sous-point d'une poutre multifibre",
29502 NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
29503 into=liste_option_extr,),
29504 NUME_FIBRE =SIMP(statut='o',typ='I',val_min=1,
29505 fr="numéro de la fibre dans la poutre multifibre" ),
29510 # Extraction des min / max sur les sous-points :
29512 MIN_MAX_SP =FACT(statut='f', max='**', fr="extraction du min/max d'une composante pour un champ",
29513 NOM_CHAM =SIMP(statut='o',typ='TXM',
29514 into=liste_option_extr,),
29515 NOM_CMP =SIMP(statut='o',typ='TXM',fr="nom de la composante", ),
29516 TYPE_MAXI =SIMP(statut='o',typ='TXM',into=("MAXI","MINI","MAXI_ABS","MINI_ABS",) ),
29517 NUME_CHAM_RESU = SIMP(statut='o', typ='I', val_min=1, val_max=20,
29518 fr="Numéro du champ produit. Exemple: 6 produit le champ UT06",),
29523 # Calcul des efforts des coques "excentrées" sur le feuillet moyen de la coque :
29525 COQU_EXCENT =FACT(statut='f', max=2, fr="Calcul des efforts d'une coque 'excentrée' sur le feuillet moyen de la coque",
29526 NOM_CHAM =SIMP(statut='o',typ='TXM',into=("EFGE_ELNO","EFGE_ELGA",),),
29527 MODI_PLAN =SIMP(statut='o',typ='TXM',into=("OUI",),),
29531 # ======================================================================
29532 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
29533 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
29534 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
29535 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
29536 # (AT YOUR OPTION) ANY LATER VERSION.
29538 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
29539 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
29540 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
29541 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
29543 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
29544 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
29545 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
29546 # ======================================================================
29547 # person_in_charge: xavier.desroches at edf.fr
29549 POST_COQUE=MACRO(nom="POST_COQUE",
29550 op=OPS('Macro.post_coque_ops.post_coque_ops'),
29551 sd_prod=table_sdaster,
29553 UIinfo={"groupes":("Post-traitements",)},
29554 fr="Calcul des efforts et déformations en un point et une cote " \
29555 "quelconque de la coque",
29557 regles=(EXCLUS('INST','NUME_ORDRE'),),
29559 # SD résultat et champ à posttraiter :
29560 RESULTAT =SIMP(statut='o',typ=resultat_sdaster,fr="RESULTAT à posttraiter",),
29561 CHAM =SIMP(statut='o',typ='TXM',into=("EFFORT","DEFORMATION",)),
29562 NUME_ORDRE =SIMP(statut='f',typ='I'),
29563 INST =SIMP(statut='f',typ='R'),
29565 # points de post-traitement :
29566 COOR_POINT =FACT(statut='o',max='**',fr="coordonnées et position dans l'épaisseur",
29567 COOR=SIMP(statut='o',typ='R',min=3,max=4),),
29571 # ======================================================================
29572 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
29573 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
29574 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
29575 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
29576 # (AT YOUR OPTION) ANY LATER VERSION.
29578 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
29579 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
29580 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
29581 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
29583 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
29584 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
29585 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
29586 # ======================================================================
29587 # person_in_charge: Georges-cc.devesa at edf.fr
29590 POST_DECOLLEMENT=MACRO(nom="POST_DECOLLEMENT",
29591 op=OPS('Macro.post_decollement_ops.post_decollement_ops'),
29592 sd_prod=table_sdaster,
29593 fr="calcul du rapport de surfaces de contact radier/sol",
29595 UIinfo={"groupes":("Post-traitements",)},
29596 RESULTAT =SIMP(statut='o',typ=(evol_noli) ),
29597 NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),defaut='DEPL',into=C_NOM_CHAM_INTO(),max=1),
29598 NOM_CMP =SIMP(statut='f',typ='TXM',defaut='DZ',max=1),
29599 GROUP_MA =SIMP(statut='o',typ=grma,max=1),
29600 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
29603 # ======================================================================
29604 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
29605 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
29606 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
29607 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
29608 # (AT YOUR OPTION) ANY LATER VERSION.
29610 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
29611 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
29612 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
29613 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
29615 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
29616 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
29617 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
29618 # ======================================================================
29619 # person_in_charge: irmela.zentner at edf.fr
29620 POST_DYNA_ALEA=MACRO(nom="POST_DYNA_ALEA",
29621 op=OPS('Macro.post_dyna_alea_ops.post_dyna_alea_ops'),
29622 sd_prod=table_sdaster,
29623 fr="Traitements statistiques de résultats de type interspectre " \
29624 "et impression sur fichiers",
29626 UIinfo={"groupes":("Post-traitements","Dynamique",)},
29627 regles=(UN_PARMI('FRAGILITE','INTERSPECTRE'),),
29628 FRAGILITE =FACT(statut='f',fr="donnees pour courbe de fragilite",max=1,
29629 TABL_RESU =SIMP(statut='o',typ=table_sdaster),
29630 regles=(UN_PARMI('VALE','LIST_PARA'),),
29631 VALE = SIMP(statut='f',typ='R', min=1,validators=NoRepeat(),max='**' ),
29632 LIST_PARA = SIMP(statut='f',typ=listr8_sdaster),
29633 AM_INI = SIMP(statut='f',typ='R',defaut= 0.4 ),
29634 BETA_INI = SIMP(statut='f',typ='R',defaut= 0.3 ),
29635 FRACTILE = SIMP(statut='f',typ='R', min=1,validators=NoRepeat(),max='**'),
29636 b_inte_spec_f = BLOC(condition="""FRACTILE !=None""",
29637 NB_TIRAGE =SIMP(statut='f',typ='I' ),),
29639 INTERSPECTRE =FACT(statut='f',fr="donnees pour interspectre",max=1,
29640 regles=(UN_PARMI('NOEUD_I','NUME_ORDRE_I','OPTION'),),
29641 INTE_SPEC =SIMP(statut='o',typ=interspectre),
29642 NUME_ORDRE_I =SIMP(statut='f',typ='I',max='**' ),
29643 NOEUD_I =SIMP(statut='f',typ=no,max='**'),
29644 OPTION =SIMP(statut='f',typ='TXM',into=("DIAG","TOUT",) ),
29645 b_nume_ordre_i =BLOC(condition = "NUME_ORDRE_I != None",
29646 NUME_ORDRE_J =SIMP(statut='o',typ='I',max='**' ),
29648 b_noeud_i =BLOC(condition = "NOEUD_I != None",
29649 NOEUD_J =SIMP(statut='o',typ=no,max='**'),
29650 NOM_CMP_I =SIMP(statut='o',typ='TXM',max='**' ),
29651 NOM_CMP_J =SIMP(statut='o',typ='TXM',max='**' ),
29653 MOMENT =SIMP(statut='f',typ='I',max='**',fr="Moments spectraux "\
29654 "en complément des cinq premiers" ),
29655 DUREE =SIMP(statut='f',typ='R',fr="durée de la phase forte "\
29656 "pour facteur de peak" ),
29658 TITRE =SIMP(statut='f',typ='TXM',max='**' ),
29659 INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
29662 # ======================================================================
29663 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
29664 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
29665 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
29666 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
29667 # (AT YOUR OPTION) ANY LATER VERSION.
29669 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
29670 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
29671 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
29672 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
29674 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
29675 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
29676 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
29677 # ======================================================================
29678 # person_in_charge: emmanuel.boyere at edf.fr
29679 POST_DYNA_MODA_T=OPER(nom="POST_DYNA_MODA_T",op= 130,sd_prod=table_sdaster,
29680 fr="Post-traiter les résultats en coordonnées généralisées produit par DYNA_TRAN_MODAL",
29682 UIinfo={"groupes":("Post-traitements","Dynamique",)},
29683 regles=(UN_PARMI('CHOC','RELA_EFFO_DEPL', ),),
29684 RESU_GENE =SIMP(statut='o',typ=tran_gene ),
29685 CHOC =FACT(statut='f',max='**',
29686 fr="Analyse des non linéarités de choc",
29687 INST_INIT =SIMP(statut='f',typ='R',defaut= -1. ),
29688 INST_FIN =SIMP(statut='f',typ='R',defaut= 999. ),
29689 NB_BLOC =SIMP(statut='f',typ='I',defaut= 1 ),
29690 SEUIL_FORCE =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
29691 DUREE_REPOS =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
29692 OPTION =SIMP(statut='f',typ='TXM',defaut="USURE",into=("IMPACT","USURE") ),
29693 NB_CLASSE =SIMP(statut='f',typ='I',defaut= 10 ),
29695 RELA_EFFO_DEPL =FACT(statut='f',
29696 fr="Analyse des relationsnon linéaires effort-déplacement",
29697 NOEUD =SIMP(statut='o',typ=no),
29698 NOM_CMP =SIMP(statut='o',typ='TXM' ),
29700 INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
29701 TITRE =SIMP(statut='f',typ='TXM',max='**' ),
29704 # ======================================================================
29705 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
29706 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
29707 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
29708 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
29709 # (AT YOUR OPTION) ANY LATER VERSION.
29711 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
29712 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
29713 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
29714 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
29716 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
29717 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
29718 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
29719 # ======================================================================
29720 # person_in_charge: josselin.delmas at edf.fr
29722 POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=table_sdaster,reentrant='n',
29723 UIinfo={"groupes":("Post-traitements","Résultats et champs",)},
29724 fr="Calcul de quantités globales (masse, inerties, énergie, ...) sur tout ou partie du modèle",
29726 regles=(UN_PARMI('MASS_INER', 'ENER_POT', 'ENER_CIN','TRAV_EXT','MINMAX',
29727 'WEIBULL', 'RICE_TRACEY', 'CARA_GEOM','CHAR_LIMITE','NORME',
29728 'CARA_POUTRE', 'INDIC_ENER', 'INDIC_SEUIL','VOLUMOGRAMME',
29729 'AIRE_INTERNE','ENER_ELAS','ENER_TOTALE','ENER_DISS','INTEGRALE'),
29732 MASS_INER = FACT(statut='f',max='**',
29733 regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
29734 TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ),
29735 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
29736 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
29737 ORIG_INER = SIMP(statut='f',typ='R',min=3,max=3 ),
29739 b_mass_iner = BLOC(condition = "( MASS_INER != None )",
29740 fr="calcul de la masse, les inerties et le centre de gravité",
29741 regles=(EXCLUS('CHAM_GD','RESULTAT'),
29742 EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
29743 'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),),
29744 MODELE = SIMP(statut='f',typ=modele_sdaster),
29745 CHAM_MATER = SIMP(statut='f',typ=cham_mater),
29746 CARA_ELEM = SIMP(statut='f',typ=cara_elem),
29747 CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca,
29748 char_ther,char_acou),validators=NoRepeat(),max='**' ),
29749 NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1),
29750 NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
29751 MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0),
29752 GEOMETRIE = SIMP(statut='f',typ='TXM',defaut="INITIALE",into=("INITIALE","DEFORMEE")),
29753 CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ),
29754 RESULTAT = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_noli,mult_elas,
29755 fourier_elas,dyna_trans) ),
29756 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
29757 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
29758 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
29759 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
29760 PRECISION =SIMP(statut='o',typ='R',),),
29761 TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ),
29762 NUME_ORDRE = SIMP(statut='f',typ='I',),
29763 LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster),
29764 INST = SIMP(statut='f',typ='R',),
29765 LIST_INST = SIMP(statut='f',typ=listr8_sdaster),
29766 FREQ = SIMP(statut='f',typ='R',),
29767 LIST_FREQ = SIMP(statut='f',typ=listr8_sdaster),
29768 NUME_MODE = SIMP(statut='f',typ='I',),
29769 NOEUD_CMP = SIMP(statut='f',typ='TXM',min=2,validators=NoRepeat(),max=2),
29770 NOM_CAS = SIMP(statut='f',typ='TXM',),
29773 ENER_POT = FACT(statut='f',max='**',
29774 regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
29775 TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ),
29776 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
29777 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
29779 b_ener_pot = BLOC(condition = "( ENER_POT != None )",
29780 fr="calcul de l'énergie potentielle de déformation",
29781 regles=(UN_PARMI('CHAM_GD','RESULTAT'),
29782 EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
29783 'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),),
29784 MODELE = SIMP(statut='f',typ=modele_sdaster),
29785 CHAM_MATER = SIMP(statut='f',typ=cham_mater),
29786 CARA_ELEM = SIMP(statut='f',typ=cara_elem),
29787 CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca,
29788 char_ther,char_acou),validators=NoRepeat(),max='**' ),
29789 NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1),
29790 NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
29791 ANGLE = SIMP(statut='f',typ='I',defaut=0),
29792 MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0),
29793 CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ),
29794 RESULTAT = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_ther,evol_noli,dyna_trans,mult_elas) ),
29795 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
29796 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
29797 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
29798 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
29799 PRECISION =SIMP(statut='o',typ='R',),),
29800 TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ),
29801 NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
29802 LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster),
29803 INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
29804 LIST_INST = SIMP(statut='f',typ=listr8_sdaster),
29805 FREQ = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
29806 LIST_FREQ = SIMP(statut='f',typ=listr8_sdaster),
29807 NUME_MODE = SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'),
29808 NOEUD_CMP = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
29809 NOM_CAS = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
29812 ENER_CIN = FACT(statut='f',max='**',
29813 regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
29814 OPTION = SIMP(statut='f',typ='TXM',validators=NoRepeat(),
29815 into=("MASS_MECA","MASS_MECA_DIAG"),
29816 defaut="MASS_MECA" ),
29817 TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ),
29818 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
29819 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
29821 b_ener_cin = BLOC(condition = "( ENER_CIN != None )",
29822 fr="calcul de l'énergie cinétique",
29823 regles=(UN_PARMI('CHAM_GD','RESULTAT'),
29824 EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
29825 'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),),
29826 MODELE = SIMP(statut='f',typ=modele_sdaster),
29827 CHAM_MATER = SIMP(statut='f',typ=cham_mater),
29828 CARA_ELEM = SIMP(statut='f',typ=cara_elem),
29829 CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca,
29830 char_ther,char_acou),validators=NoRepeat(),max='**' ),
29831 NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1),
29832 NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
29833 ANGLE = SIMP(statut='f',typ='I',defaut=0),
29834 MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0),
29835 CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ),
29836 RESULTAT = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_ther,evol_noli,dyna_trans) ),
29837 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
29838 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
29839 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
29840 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
29841 PRECISION =SIMP(statut='o',typ='R',),),
29842 TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ),
29843 NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
29844 LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster),
29845 INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
29846 LIST_INST = SIMP(statut='f',typ=listr8_sdaster),
29847 FREQ = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
29848 LIST_FREQ = SIMP(statut='f',typ=listr8_sdaster),
29849 NUME_MODE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
29850 NOEUD_CMP = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
29851 NOM_CAS = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
29854 ENER_DISS = FACT(statut='f',max='**',
29855 regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
29856 TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ),
29857 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
29858 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
29860 b_ener_diss = BLOC(condition = "( ENER_DISS != None )",
29861 fr="calcul de l'énergie dissipée",
29862 MODELE = SIMP(statut='f',typ=modele_sdaster),
29863 CHAM_MATER = SIMP(statut='f',typ=cham_mater),
29864 CARA_ELEM = SIMP(statut='f',typ=cara_elem),
29865 CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca,
29866 char_ther,char_acou),validators=NoRepeat(),max='**' ),
29867 NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1),
29868 NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
29869 MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0),
29870 RESULTAT = SIMP(statut='o',typ=(evol_noli) ),
29871 regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
29872 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
29873 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
29874 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
29875 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
29876 PRECISION =SIMP(statut='o',typ='R',),),
29877 TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ),
29878 NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
29879 LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster),
29880 INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
29881 LIST_INST = SIMP(statut='f',typ=listr8_sdaster),
29885 ENER_ELAS = FACT(statut='f',max='**',
29886 regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
29887 TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ),
29888 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
29889 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
29891 b_ener_elas = BLOC(condition = "( ENER_ELAS != None )",
29892 fr="calcul de l'énergie de déformation élastique",
29893 MODELE = SIMP(statut='f',typ=modele_sdaster),
29894 CHAM_MATER = SIMP(statut='f',typ=cham_mater),
29895 CARA_ELEM = SIMP(statut='f',typ=cara_elem),
29896 CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca,
29897 char_ther,char_acou),validators=NoRepeat(),max='**' ),
29898 NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1),
29899 NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
29900 MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0),
29901 RESULTAT = SIMP(statut='o',typ=(evol_noli,evol_elas) ),
29902 regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
29903 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
29904 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
29905 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
29906 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
29907 PRECISION =SIMP(statut='o',typ='R',),),
29908 TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ),
29909 NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
29910 LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster),
29911 INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
29912 LIST_INST = SIMP(statut='f',typ=listr8_sdaster),
29915 ENER_TOTALE = FACT(statut='f',max='**',
29916 regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
29917 TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ),
29918 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
29919 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
29921 b_ener_totale = BLOC(condition = "( ENER_TOTALE != None )",
29922 fr="calcul de l'énergie de déformation totale",
29923 MODELE = SIMP(statut='f',typ=modele_sdaster),
29924 CHAM_MATER = SIMP(statut='f',typ=cham_mater),
29925 CARA_ELEM = SIMP(statut='f',typ=cara_elem),
29926 CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca,
29927 char_ther,char_acou),validators=NoRepeat(),max='**' ),
29928 NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1),
29929 NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
29930 MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0),
29931 RESULTAT = SIMP(statut='o',typ=(evol_noli) ),
29932 regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
29933 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
29934 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
29935 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
29936 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
29937 PRECISION =SIMP(statut='o',typ='R',),),
29938 TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ),
29939 NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
29940 LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster),
29941 INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
29942 LIST_INST = SIMP(statut='f',typ=listr8_sdaster),
29945 INTEGRALE = FACT(statut='f',max='**',
29946 regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
29947 TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ),
29948 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
29949 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
29950 NOM_CHAM = SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()),
29951 NOM_CMP = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),
29952 DEJA_INTEGRE = SIMP(statut='f',typ='TXM',into=("OUI","NON",),),
29954 b_integrale = BLOC(condition = "( INTEGRALE != None )",
29955 fr="calcul de la moyenne d'une composante",
29956 regles=(UN_PARMI('CHAM_GD','RESULTAT'),
29957 EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_ORDRE','LIST_INST'),),
29958 MODELE = SIMP(statut='f',typ=modele_sdaster),
29959 CHAM_MATER = SIMP(statut='f',typ=cham_mater),
29960 RESULTAT = SIMP(statut='f',typ=(evol_noli,evol_ther,evol_elas,evol_char) ),
29961 CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ),
29962 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
29963 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
29964 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
29965 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
29966 PRECISION =SIMP(statut='o',typ='R',),),
29967 TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ),
29968 NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
29969 LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster),
29970 INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
29971 LIST_INST = SIMP(statut='f',typ=listr8_sdaster),
29974 VOLUMOGRAMME = FACT(statut='f',max='**',
29975 regles=(UN_PARMI('TOUT','GROUP_MA'),
29976 UN_PARMI('NB_INTERV','SEUIL'),),
29977 TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ),
29978 GROUP_MA = SIMP(statut='f',typ=grma,max=1),
29979 TYPE_MAILLE = SIMP(statut='f',typ='TXM',into=('2D','3D',)),
29980 NOM_CHAM = SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()),
29981 NOM_CMP = SIMP(statut='o',typ='TXM'),
29982 NB_INTERV = SIMP(statut='f',typ='I'),
29983 SEUIL = SIMP(statut='f',typ='R'),
29984 BORNES = SIMP(statut='f',typ='R',validators=NoRepeat(),min=2,max=2),
29985 NORME = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
29987 b_volumogramme = BLOC(condition = "( VOLUMOGRAMME != None )",
29988 fr="calcul de la distribution du volume d'une structure vis-à-vis d'une composante",
29989 regles=(UN_PARMI('CHAM_GD','RESULTAT'),
29990 EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_ORDRE','LIST_INST'),),
29991 MODELE = SIMP(statut='f',typ=modele_sdaster),
29992 CHAM_MATER = SIMP(statut='f',typ=cham_mater),
29993 RESULTAT = SIMP(statut='f',typ=(evol_noli,evol_ther,evol_elas,evol_char) ),
29994 CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ),
29995 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
29996 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
29997 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
29998 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
29999 PRECISION =SIMP(statut='o',typ='R',),),
30000 TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ),
30001 NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
30002 LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster),
30003 INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
30004 LIST_INST = SIMP(statut='f',typ=listr8_sdaster),
30007 NORME = FACT(statut='f',max=1,
30008 fr="calcul des extrema en espace d'une CMP d'un champ, pour tous les instants spécifiés",
30009 regles=(UN_PARMI('TOUT','GROUP_MA'),
30010 UN_PARMI('CHAM_GD','RESULTAT'),
30011 PRESENT_PRESENT('CHAM_GD','MODELE'),
30012 PRESENT_PRESENT('RESULTAT','NOM_CHAM'),),
30013 TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ),
30014 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
30015 TYPE_MAILLE = SIMP(statut='f',typ='TXM',into=('2D','3D',)),
30016 TYPE_NORM = SIMP(statut='f',typ='TXM',into=('L2','FROBENIUS')),
30017 RESULTAT = SIMP(statut='f',typ=(evol_noli,evol_ther,evol_elas) ),
30018 NOM_CHAM = SIMP(statut='f',typ='TXM',validators=NoRepeat(),
30019 into=("DEPL","TEMP","NEUT_R",
30020 "FLUX_ELGA","FLUX_ELNO","FLUX_NOEU",
30021 "EPSI_ELGA","EPSI_ELNO","EPSI_NOEU",
30022 "SIEF_ELGA","SIEF_ELNO","SIEF_NOEU")),
30023 CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ),
30024 MODELE = SIMP(statut='f',typ=modele_sdaster),
30026 b_norme_GD = BLOC(condition = "( CHAM_GD != None )",
30027 COEF_MULT = SIMP(statut='f',typ='R',max=30),
30030 b_norme = BLOC(condition = "( RESULTAT != None )",
30031 regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
30032 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
30033 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
30034 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
30035 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
30036 PRECISION =SIMP(statut='o',typ='R',),),
30037 TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ),
30038 NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
30039 LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster),
30040 INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
30041 LIST_INST = SIMP(statut='f',typ=listr8_sdaster),
30046 MINMAX = FACT(statut='f',max=1,
30047 fr="calcul des extrema en espace d'une CMP d'un champ, pour tous les instants spécifiés",
30048 regles=(UN_PARMI('CHAM_GD','RESULTAT'),
30049 PRESENT_PRESENT('CHAM_GD','MODELE'),
30050 PRESENT_PRESENT('RESULTAT','NOM_CHAM'),
30051 UN_PARMI('TOUT','GROUP_MA'),),
30052 TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ),
30053 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
30054 RESULTAT = SIMP(statut='f',typ=(evol_noli,evol_ther,evol_elas) ),
30055 NOM_CHAM = SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()),
30056 CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ),
30057 MODELE = SIMP(statut='f',typ=modele_sdaster),
30058 NOM_CMP = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),
30059 b_minmax = BLOC(condition = "( RESULTAT != None )",
30060 regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
30061 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
30062 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
30063 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
30064 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
30065 PRECISION =SIMP(statut='o',typ='R',),),
30066 TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ),
30067 NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
30068 LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster),
30069 INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
30070 LIST_INST = SIMP(statut='f',typ=listr8_sdaster),
30074 WEIBULL = FACT(statut='f',max='**',
30075 regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
30076 TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ),
30077 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
30078 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
30079 OPTION = SIMP(statut='f',typ='TXM',validators=NoRepeat(),
30080 into=("SIGM_ELGA","SIGM_ELMOY"),
30081 defaut="SIGM_ELGA"),
30082 CORR_PLAST = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
30083 COEF_MULT = SIMP(statut='f',typ='R',defaut=1.),
30085 b_weibull = BLOC(condition = "( WEIBULL != None )",
30086 fr="calcul du champ élémentaire de la puissance m-ième de la contrainte de Weibull",
30087 regles=(UN_PARMI('CHAM_GD','RESULTAT'),
30088 EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
30089 MODELE = SIMP(statut='f',typ=modele_sdaster),
30090 CHAM_MATER = SIMP(statut='f',typ=cham_mater),
30091 CARA_ELEM = SIMP(statut='f',typ=cara_elem),
30092 CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca,
30093 char_ther,char_acou),validators=NoRepeat(),max='**' ),
30094 NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1),
30095 NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
30096 MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0),
30097 CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ),
30098 RESULTAT = SIMP(statut='f',typ=(evol_noli) ),
30099 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
30100 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
30101 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
30102 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
30103 PRECISION =SIMP(statut='o',typ='R',),),
30104 TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ),
30105 NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
30106 LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster),
30107 INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
30108 LIST_INST = SIMP(statut='f',typ=listr8_sdaster),
30111 RICE_TRACEY = FACT(statut='f',max='**',
30112 regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
30113 TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ),
30114 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
30115 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
30116 OPTION = SIMP(statut='f',typ='TXM',validators=NoRepeat(),
30117 into=("SIGM_ELGA","SIGM_ELMOY"),
30118 defaut="SIGM_ELGA"),
30119 LOCAL = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
30121 b_rice_tracey = BLOC(condition = "( RICE_TRACEY != None )",
30122 fr="calcul du taux de croissance d'une cavité sphérique par rapport à un domaine",
30123 regles=(UN_PARMI('CHAM_GD','RESULTAT'),
30124 EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
30125 MODELE = SIMP(statut='f',typ=modele_sdaster),
30126 CHAM_MATER = SIMP(statut='f',typ=cham_mater),
30127 CARA_ELEM = SIMP(statut='f',typ=cara_elem),
30128 CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca,
30129 char_ther,char_acou),validators=NoRepeat(),max='**' ),
30130 NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1),
30131 NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
30132 MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0),
30133 CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ),
30134 RESULTAT = SIMP(statut='f',typ=(evol_noli) ),
30135 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
30136 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
30137 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
30138 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
30139 PRECISION =SIMP(statut='o',typ='R',),),
30140 TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ),
30141 NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
30142 LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster),
30143 INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
30144 LIST_INST = SIMP(statut='f',typ=listr8_sdaster),
30147 INDIC_ENER = FACT(statut='f',max='**',
30148 regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
30149 TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ),
30150 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
30151 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
30153 b_indic_ener = BLOC(condition = "( INDIC_ENER != None )",
30154 fr="calcul un indicateur global de perte de proportionnalité du chargement",
30155 MODELE = SIMP(statut='f',typ=modele_sdaster),
30156 CHAM_MATER = SIMP(statut='f',typ=cham_mater),
30157 CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca,
30158 char_ther,char_acou),validators=NoRepeat(),max='**' ),
30159 MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0),
30160 RESULTAT = SIMP(statut='o',typ=(evol_noli) ),
30161 regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
30162 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
30163 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
30164 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
30165 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
30166 PRECISION =SIMP(statut='o',typ='R',),),
30167 TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ),
30168 NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
30169 LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster),
30170 INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
30171 LIST_INST = SIMP(statut='f',typ=listr8_sdaster),
30174 INDIC_SEUIL = FACT(statut='f',max='**',
30175 regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),),
30176 TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ),
30177 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
30178 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
30180 b_indic_seuil = BLOC(condition = "( INDIC_SEUIL != None )",
30181 fr="calcul un indicateur global de perte de proportionnalité du chargement",
30182 MODELE = SIMP(statut='f',typ=modele_sdaster),
30183 CHAM_MATER = SIMP(statut='f',typ=cham_mater),
30184 CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca,
30185 char_ther,char_acou),validators=NoRepeat(),max='**' ),
30186 MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0),
30187 RESULTAT = SIMP(statut='o',typ=(evol_noli) ),
30188 regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
30189 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
30190 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
30191 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
30192 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
30193 PRECISION =SIMP(statut='o',typ='R',),),
30194 TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ),
30195 NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
30196 LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster),
30197 INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
30198 LIST_INST = SIMP(statut='f',typ=listr8_sdaster),
30201 CHAR_LIMITE = FACT(statut='f',min=0,
30202 CHAR_CSTE = SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON")
30204 b_char_limite = BLOC(condition = "( CHAR_LIMITE != None )",
30205 fr="post-traitement du calcul de la charge limite",
30206 MODELE = SIMP(statut='f',typ=modele_sdaster),
30207 CHAM_MATER = SIMP(statut='f',typ=cham_mater),
30208 CARA_ELEM = SIMP(statut='f',typ=cara_elem),
30209 CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca,
30210 char_ther,char_acou),validators=NoRepeat(),max='**' ),
30211 MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0),
30212 RESULTAT = SIMP(statut='o',typ=(evol_noli) ),
30213 regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
30214 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
30215 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
30216 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
30217 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
30218 PRECISION =SIMP(statut='o',typ='R',),),
30219 TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ),
30220 NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
30221 LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster),
30222 INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
30223 LIST_INST = SIMP(statut='f',typ=listr8_sdaster),
30226 CARA_GEOM = FACT(statut='f',max='**',
30227 regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
30228 TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ),
30229 MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
30230 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
30231 SYME_X = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
30232 SYME_Y = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
30233 ORIG_INER = SIMP(statut='f',typ='R',min=2,max=2),
30235 b_cara_geom = BLOC(condition = "( CARA_GEOM != None )",
30236 fr="calcul des caractéristiques géométriques d'un section de poutre",
30237 MODELE = SIMP(statut='f',typ=modele_sdaster),
30238 CHAM_MATER = SIMP(statut='f',typ=cham_mater),
30239 CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca,
30240 char_ther,char_acou),validators=NoRepeat(),max='**' ),
30241 MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0),
30244 CARA_POUTRE = FACT(statut='f',max='**',
30245 regles=(UN_PARMI('TOUT','GROUP_MA'),
30246 ENSEMBLE('LONGUEUR','LIAISON','MATERIAU'),),
30247 TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ),
30248 GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
30249 GROUP_MA_INTE = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
30250 CARA_GEOM = SIMP(statut='o',typ=table_sdaster),
30251 RT = SIMP(statut='f',typ='R'),
30252 LAPL_PHI = SIMP(statut='f',typ=evol_ther),
30253 LAPL_PHI_Y = SIMP(statut='f',typ=evol_ther),
30254 LAPL_PHI_Z = SIMP(statut='f',typ=evol_ther),
30255 LIAISON = SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT")),
30256 LONGUEUR = SIMP(statut='f',typ='R'),
30257 MATERIAU = SIMP(statut='f',typ=mater_sdaster),
30258 OPTION = SIMP(statut='f',typ='TXM',validators=NoRepeat(),
30259 into=("CARA_TORSION","CARA_CISAILLEMENT","CARA_GAUCHI") ),
30261 b_cara_poutre = BLOC(condition = "( CARA_POUTRE != None )",
30262 fr="calcul des caractéristiques mécaniques d'un section de poutre",
30263 MODELE = SIMP(statut='f',typ=modele_sdaster),
30264 CHAM_MATER = SIMP(statut='f',typ=cham_mater),
30265 CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca,
30266 char_ther,char_acou),validators=NoRepeat(),max='**' ),
30267 MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0),
30270 AIRE_INTERNE = FACT(statut='f',max='**',
30271 GROUP_MA_BORD = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
30273 b_aire_interne = BLOC(condition = "( AIRE_INTERNE != None )",
30274 fr="calcul de l'aire d'un trou dans un maillage 2D",
30275 MODELE = SIMP(statut='f',typ=modele_sdaster),
30278 TRAV_EXT = FACT(statut='f',),
30279 b_trav_ext = BLOC(condition = "( TRAV_EXT != None )",
30280 fr="calcul du travail des efforts extérieurs",
30281 RESULTAT = SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans) ),
30282 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
30283 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
30284 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
30285 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
30286 PRECISION =SIMP(statut='o',typ='R',),),
30287 TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ),
30290 TITRE =SIMP(statut='f',typ='TXM',max='**' ),
30291 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
30295 # ======================================================================
30296 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
30297 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
30298 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
30299 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
30300 # (AT YOUR OPTION) ANY LATER VERSION.
30302 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
30303 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
30304 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
30305 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
30307 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
30308 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
30309 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
30310 # ======================================================================
30311 # person_in_charge: marina.bottoni at edf.fr
30313 # ---------------------------------------------------------------------------
30315 # RECHERCHE DU TRAJET DE FISSURATION SUR UN
30316 # CHAMP SCALAIRE 2D
30319 def post_endo_fiss_prod(self,TABLE,**args) :
30320 self.type_sdprod(TABLE,table_sdaster)
30321 return maillage_sdaster
30323 POST_ENDO_FISS=MACRO(nom="POST_ENDO_FISS",
30324 op=OPS('Macro.post_endo_fiss_ops.post_endo_fiss_ops'),
30325 sd_prod=post_endo_fiss_prod,
30327 UIinfo={"groupes":("Post-traitements","Outils-métier",)},
30328 fr="Individuation du trace d'une fissure a partir d'un champ scalaire pertinant",
30330 TABLE = SIMP(statut = 'o', typ = CO,),
30332 regles = (UN_PARMI("RESULTAT","CHAM_GD"),
30334 OUVERTURE = SIMP(statut = 'f', typ = 'TXM', into=('OUI','NON',), defaut = 'NON' ),
30335 b_resultat = BLOC(condition = "RESULTAT != None",
30336 regles = (UN_PARMI('NUME_ORDRE','INST'),),
30337 NUME_ORDRE = SIMP(statut = 'f', typ = 'I', validators = NoRepeat(), ),
30338 INST = SIMP(statut = 'f', typ = 'R', validators = NoRepeat(), ),
30341 #b_champ = BLOC(condition = "CHAM_GD != None",),
30343 CHAM_GD = SIMP(statut = 'f',typ = (cham_gd_sdaster)),
30344 RESULTAT = SIMP(statut = 'f',typ = (evol_noli)),
30345 NOM_CMP = SIMP(statut = 'o',typ='TXM',),
30346 NOM_CHAM = SIMP(statut = 'o', typ = 'TXM',
30347 fr = "nom du champ a post-traiter",),
30349 RECHERCHE = FACT(statut = 'o',min=1,max='**',
30351 PRESENT_ABSENT('TOUT','GROUP_MA',),
30353 LONG_ORTH = SIMP(statut='o', typ='R'),
30354 NB_POINT = SIMP(statut='f', typ='I', defaut = 500),
30355 PAS = SIMP(statut='o', typ='R', ),
30356 LONG_REG = SIMP(statut='o', typ='R'),
30357 BORNE_MIN = SIMP(statut='f', typ='R', defaut=0.5),
30358 ANGL_MAX = SIMP(statut='f', typ='R', defaut=120.),
30359 TOUT = SIMP(statut='f', typ='TXM', into=('OUI',) ),
30360 GROUP_MA = SIMP(statut='f', typ=grma, validators=NoRepeat(), ),
30361 BORNE_MAX = SIMP(statut='f', typ='R'),
30365 # ======================================================================
30366 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
30367 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
30368 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
30369 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
30370 # (AT YOUR OPTION) ANY LATER VERSION.
30372 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
30373 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
30374 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
30375 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
30377 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
30378 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
30379 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
30380 # ======================================================================
30381 # person_in_charge: irmela.zentner at edf.fr
30382 POST_FATI_ALEA=OPER(nom="POST_FATI_ALEA",op=170,sd_prod=table_sdaster,reentrant='n',
30383 UIinfo={"groupes":("Post-traitements","Rupture",)},
30384 fr="Calculer le dommage de fatigue subi par une structure soumise à une sollicitation de type aléatoire",
30385 regles=(ENSEMBLE('MOMENT_SPEC_0','MOMENT_SPEC_2'),
30386 PRESENT_PRESENT( 'MOMENT_SPEC_4','MOMENT_SPEC_0'),
30387 UN_PARMI('TABL_POST_ALEA','MOMENT_SPEC_0'), ),
30388 MOMENT_SPEC_0 =SIMP(statut='f',typ='R'),
30389 MOMENT_SPEC_2 =SIMP(statut='f',typ='R'),
30390 MOMENT_SPEC_4 =SIMP(statut='f',typ='R'),
30391 TABL_POST_ALEA =SIMP(statut='f',typ=table_sdaster),
30392 COMPTAGE =SIMP(statut='o',typ='TXM',into=("PIC","NIVEAU")),
30393 DUREE =SIMP(statut='f',typ='R',defaut= 1.),
30394 CORR_KE =SIMP(statut='f',typ='TXM',into=("RCCM",)),
30395 DOMMAGE =SIMP(statut='o',typ='TXM',into=("WOHLER",)),
30396 MATER =SIMP(statut='o',typ=mater_sdaster),
30397 TITRE =SIMP(statut='f',typ='TXM',max='**'),
30400 # ======================================================================
30401 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
30402 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
30403 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
30404 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
30405 # (AT YOUR OPTION) ANY LATER VERSION.
30407 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
30408 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
30409 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
30410 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
30412 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
30413 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
30414 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
30415 # ======================================================================
30416 # person_in_charge: van-xuan.tran at edf.fr
30417 POST_FATIGUE=OPER(nom="POST_FATIGUE",op=136,sd_prod=table_sdaster,reentrant='n',
30418 UIinfo={"groupes":("Post-traitements","Rupture",)},
30419 fr="Calculer en un point, le dommage de fatigue subi par une structure soumise à une histoire de chargement",
30421 CHARGEMENT = SIMP(statut='o',typ='TXM',into=("UNIAXIAL","MULTIAXIAL","QUELCONQUE")),
30423 b_uniaxial = BLOC( condition = "CHARGEMENT=='UNIAXIAL'",
30424 regles=(PRESENT_PRESENT('CORR_KE','MATER'),
30425 PRESENT_PRESENT('CORR_SIGM_MOYE','MATER'),
30426 PRESENT_PRESENT('DOMMAGE','MATER'),),
30427 HISTOIRE = FACT(statut='o',
30428 regles=(UN_PARMI('SIGM','EPSI'),),
30429 SIGM = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
30430 EPSI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),),
30431 COMPTAGE = SIMP(statut='o',typ='TXM',into=("RAINFLOW","RAINFLOW_MAX","RCCM","NATUREL")),
30432 DELTA_OSCI = SIMP(statut='f',typ='R',defaut= 0.0E+0),
30433 COEF_MULT = FACT(statut='f',
30434 KT = SIMP(statut='o',typ='R'),),
30435 CORR_KE = SIMP(statut='f',typ='TXM',into=("RCCM",)),
30436 DOMMAGE = SIMP(statut='f',typ='TXM',into=("WOHLER","MANSON_COFFIN",
30437 "TAHERI_MANSON","TAHERI_MIXTE")),
30438 MATER = SIMP(statut='f',typ=mater_sdaster),
30439 CORR_SIGM_MOYE = SIMP(statut='f',typ='TXM',into=("GOODMAN","GERBER")),
30440 TAHERI_NAPPE = SIMP(statut='f',typ=(nappe_sdaster,formule)),
30441 TAHERI_FONC = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
30442 CUMUL = SIMP(statut='f',typ='TXM',into=("LINEAIRE",)),
30445 b_multiaxial = BLOC( condition = "CHARGEMENT=='MULTIAXIAL'",
30446 HISTOIRE = FACT(statut='o',
30447 regles=(PRESENT_PRESENT('SIGM_XX','SIGM_YY','SIGM_ZZ','SIGM_XY','SIGM_XZ','SIGM_YZ'),
30448 PRESENT_PRESENT('EPS_XX','EPS_YY','EPS_ZZ','EPS_XY','EPS_XZ','EPS_YZ'),
30449 PRESENT_PRESENT('EPSP_XX','EPSP_YY','EPSP_ZZ','EPSP_XY','EPSP_XZ','EPSP_YZ'),
30450 AU_MOINS_UN('SIGM_XX','SIGM_YY','SIGM_ZZ','SIGM_XY','SIGM_XZ','SIGM_YZ',
30451 'EPS_XX','EPS_YY','EPS_ZZ','EPS_XY','EPS_XZ','EPS_YZ',
30452 'EPSP_XX','EPSP_YY','EPSP_ZZ','EPSP_XY','EPSP_XZ','EPSP_YZ'),
30454 SIGM_XX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
30455 SIGM_YY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
30456 SIGM_ZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
30457 SIGM_XY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
30458 SIGM_XZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
30459 SIGM_YZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
30461 EPS_XX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
30462 EPS_YY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
30463 EPS_ZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
30464 EPS_XY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
30465 EPS_XZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
30466 EPS_YZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
30468 EPSP_XX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
30469 EPSP_YY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
30470 EPSP_ZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
30471 EPSP_XY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
30472 EPSP_XZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
30473 EPSP_YZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
30476 TYPE_CHARGE = SIMP(statut='o',typ='TXM',into=("PERIODIQUE","NON_PERIODIQUE")),
30477 DOMMAGE = SIMP(statut='f',typ='TXM',into=("WOHLER","MANSON_C","FORM_VIE") ),
30479 b_fati_pfvie = BLOC(condition = "(DOMMAGE == 'FORM_VIE')",
30480 FORMULE_VIE =SIMP(statut='o',typ=(fonction_sdaster,formule) ),
30483 MATER = SIMP(statut='f',typ=mater_sdaster),
30484 COEF_CORR = SIMP(statut='f',typ='R'),
30485 COEF_PREECROU =SIMP(statut='f',typ='R',defaut= 1.0E+0),
30488 b_period =BLOC(condition = "TYPE_CHARGE == 'PERIODIQUE'",
30489 CRITERE =SIMP(statut='o',typ='TXM',into=("MATAKE_MODI_AC","DANG_VAN_MODI_AC","CROSSLAND",
30490 "PAPADOPOULOS","FORMULE_CRITERE") ),
30492 METHODE =SIMP(statut='f',typ='TXM',into=("CERCLE_EXACT",) ),
30493 b_fati_pf =BLOC(condition = "(CRITERE == 'FORMULE_CRITERE')",
30494 FORMULE_GRDEQ = SIMP(statut='o',typ=(fonction_sdaster,formule) ),
30495 FORMULE_CRITIQUE = SIMP(statut='f',typ=(fonction_sdaster,formule) ),
30499 b_non_period =BLOC(condition = "TYPE_CHARGE == 'NON_PERIODIQUE'",
30500 CRITERE =SIMP(statut='o',typ='TXM',
30501 into=("MATAKE_MODI_AV","DANG_VAN_MODI_AV","FATESOCI_MODI_AV","FORMULE_CRITERE") ),
30502 PROJECTION =SIMP(statut='o',typ='TXM',into=("UN_AXE", "DEUX_AXES") ),
30503 DELTA_OSCI =SIMP(statut='f',typ='R',defaut= 0.0E+0),
30505 b_fati_npf =BLOC(condition = "(CRITERE == 'FORMULE_CRITERE')",
30506 FORMULE_GRDEQ =SIMP(statut='o',typ=(fonction_sdaster,formule) ),
30512 b_quelconque = BLOC( condition = "CHARGEMENT=='QUELCONQUE'",
30513 HISTOIRE = FACT(statut='o',
30514 SIGM_XX = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
30515 SIGM_YY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
30516 SIGM_ZZ = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
30517 SIGM_XY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
30518 SIGM_XZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
30519 SIGM_YZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
30520 EPSP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
30521 TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),),
30522 DOMMAGE = SIMP(statut='f',typ='TXM',into=("LEMAITRE",),),
30523 MATER = SIMP(statut='o',typ=mater_sdaster),
30524 CUMUL = SIMP(statut='f',typ='TXM',into=("LINEAIRE",)),
30527 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
30528 TITRE =SIMP(statut='f',typ='TXM',max='**'),
30531 # ======================================================================
30532 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
30533 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
30534 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
30535 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
30536 # (AT YOUR OPTION) ANY LATER VERSION.
30538 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
30539 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
30540 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
30541 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
30543 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
30544 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
30545 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
30546 # ======================================================================
30547 # person_in_charge: samuel.geniaut at edf.fr
30549 POST_K1_K2_K3=MACRO(nom="POST_K1_K2_K3",
30550 op=OPS('Macro.post_k1_k2_k3_ops.post_k1_k2_k3_ops'),
30551 sd_prod=table_sdaster,
30552 fr="Calcul des facteurs d'intensité de contraintes en 2D et en 3D par "\
30553 "extrapolation des sauts de déplacements sur les lèvres de la fissure",
30555 UIinfo={"groupes":("Post-traitements","Rupture",)},
30557 regles=(UN_PARMI('FISSURE','FOND_FISS'),),
30559 MODELISATION =SIMP(statut='o',typ='TXM',
30560 into=("3D","AXIS","D_PLAN","C_PLAN"),position='global',
30561 fr="Modélisation cohérente avec celle utilisée pour le calcul des déplacements"),
30562 FOND_FISS =SIMP(statut='f',typ=fond_fiss),
30563 FISSURE =SIMP(statut='f',typ=fiss_xfem),
30564 RESULTAT =SIMP(statut='o',typ=(evol_elas,evol_noli,mode_meca),position='global',
30565 fr="Déplacement des noeuds de la lèvre supérieure et inférieure"),
30566 NB_NOEUD_COUPE=SIMP(statut='f',typ='I',defaut=5,val_min = 3),
30568 # bloc correspondant a la donnee du fond de fissure pour les fissures maillees
30569 b_fond_fiss =BLOC (condition="FOND_FISS!= None",
30571 b_no_mod =BLOC (condition="AsType(RESULTAT)!= mode_meca",
30573 EVOL_THER = SIMP(statut='f',typ=(evol_ther),fr="Température sur le fond de fissure"),
30574 b_ref_3D = BLOC (condition="MODELISATION=='3D' ",
30575 TYPE_MAILLAGE = SIMP(statut='f',typ='TXM',into=("LIBRE","REGLE"),defaut="REGLE"),
30578 b_mod =BLOC (condition="AsType(RESULTAT)== mode_meca and MODELISATION=='3D'",
30579 TYPE_MAILLAGE = SIMP(statut='f',typ='TXM',into=("REGLE",),defaut="REGLE"),
30582 NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
30583 GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
30584 SANS_NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
30585 SANS_GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
30586 TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ),
30587 ABSC_CURV_MAXI=SIMP(statut='f',typ='R',
30588 fr="Distance maximum à partir du fond de fissure à utiliser pour le calcul"),
30591 # bloc correspondant a la donnee de la fissure pour les fissures X-FEM
30592 b_fissure =BLOC (condition="FISSURE!= None",
30593 NB_POINT_FOND = SIMP(statut='f',typ='I' ,),
30594 NUME_FOND = SIMP(statut='f',typ='I',defaut=1),
30595 ABSC_CURV_MAXI=SIMP(statut='f',typ='R',
30596 fr="Distance maximum à partir du fond de fissure à utiliser pour le calcul"),
30599 MATER =SIMP(statut='o',typ=mater_sdaster,
30600 fr="Matériau homogène et isotrope cohérent avec celui utilisé pour le calcul des déplacements"),
30603 PREC_VIS_A_VIS=SIMP(statut='f',typ='R',defaut=0.1),
30605 b_mod_meca =BLOC (condition="AsType(RESULTAT)== mode_meca ",
30606 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
30607 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
30608 LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster),
30609 TOUT_MODE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
30610 NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
30611 LIST_MODE =SIMP(statut='f',typ=listis_sdaster),
30612 FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
30613 LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster),
30614 b_acce_reel =BLOC(condition="(FREQ!=None) or (LIST_FREQ!=None)",
30615 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
30616 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
30617 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
30618 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
30619 PRECISION =SIMP(statut='o',typ='R',),),
30622 b_no_mod_meca =BLOC (condition="AsType(RESULTAT)!= mode_meca ",
30623 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
30624 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
30625 LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster),
30626 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
30627 LIST_INST =SIMP(statut='f',typ=listr8_sdaster),
30628 b_acce_reel =BLOC(condition="(INST != None)or(LIST_INST != None)",
30629 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
30630 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
30631 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
30632 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
30633 PRECISION =SIMP(statut='o',typ='R',),),
30636 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
30637 TITRE =SIMP(statut='f',typ='TXM',max='**'),
30640 # ======================================================================
30641 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
30642 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
30643 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
30644 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
30645 # (AT YOUR OPTION) ANY LATER VERSION.
30647 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
30648 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
30649 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
30650 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
30652 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
30653 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
30654 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
30655 # ======================================================================
30656 # person_in_charge: aurore.parrot at edf.fr
30658 POST_K_BETA=OPER(nom="POST_K_BETA",op=198,sd_prod=table_sdaster,
30659 fr="Calcul des facteurs d'intensité de contraintes par la méthode K_BETA",
30661 UIinfo={"groupes":("Post-traitements","Rupture",)},
30662 MAILLAGE = SIMP(statut='o',typ=maillage_sdaster),
30663 MATER_REV = SIMP(statut='o',typ=mater_sdaster),
30664 EPAIS_REV = SIMP(statut='o',typ='R'),
30665 FISSURE = FACT(statut='o',
30666 DECALAGE = SIMP(statut='f',typ='R',defaut=-2.e-04),
30667 PROFONDEUR = SIMP(statut='o',typ='R'),
30668 LONGUEUR = SIMP(statut='o',typ='R'),
30669 ORIENTATION = SIMP(statut='o',typ='TXM',
30670 into=("CIRC","LONGI"),),
30672 K1D = FACT(statut='o',max='**',
30673 TABL_MECA_REV = SIMP(statut='o',typ=(table_sdaster)),
30674 TABL_MECA_MDB = SIMP(statut='o',typ=(table_sdaster)),
30675 TABL_THER = SIMP(statut='o',typ=(table_sdaster)),
30676 INTITULE = SIMP(statut='o',typ='TXM' ),
30678 TITRE = SIMP(statut='f',typ='TXM',max='**'),
30681 # ======================================================================
30682 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
30683 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
30684 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
30685 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
30686 # (AT YOUR OPTION) ANY LATER VERSION.
30688 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
30689 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
30690 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
30691 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
30693 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
30694 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
30695 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
30696 # ======================================================================
30697 # person_in_charge: samuel.geniaut at edf.fr
30700 POST_K_TRANS=MACRO(nom="POST_K_TRANS",
30701 op=OPS('Macro.post_k_trans_ops.post_k_trans_ops'),
30702 sd_prod=table_sdaster,
30703 fr="Calcul des facteurs d intensite des contrainte par recombinaison modale",
30705 UIinfo={"groupes":("Post-traitements","Rupture",)},
30706 RESU_TRANS =SIMP(statut='o',typ=tran_gene),
30707 K_MODAL =FACT(statut='o',
30708 TABL_K_MODA =SIMP(statut='o',typ=table_sdaster,),
30709 FOND_FISS =SIMP(statut='f',typ=fond_fiss,),
30710 FISSURE =SIMP(statut='f',typ=fiss_xfem,),
30711 regles=( UN_PARMI('FISSURE','FOND_FISS'), ),
30714 regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),),
30715 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
30716 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
30717 LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster),
30718 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
30719 LIST_INST =SIMP(statut='f',typ=listr8_sdaster),
30720 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
30721 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
30722 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6),),
30723 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
30724 PRECISION =SIMP(statut='o',typ='R'),),
30725 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
30726 TITRE =SIMP(statut='f',typ='TXM'),
30729 # ======================================================================
30730 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
30731 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
30732 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
30733 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
30734 # (AT YOUR OPTION) ANY LATER VERSION.
30736 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
30737 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
30738 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
30739 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
30741 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
30742 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
30743 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
30744 # ======================================================================
30745 # person_in_charge: romeo.fernandes at edf.fr
30747 POST_MAC3COEUR = MACRO(nom="POST_MAC3COEUR",
30748 op=OPS("Mac3coeur.post_mac3coeur_ops.post_mac3coeur_ops"),
30750 TYPE_COEUR = SIMP(statut='o',typ='TXM',into=("MONO","TEST","900","1300","N4","EPR") ),
30751 RESULTAT = SIMP(statut='o',typ=evol_noli), # SD_RESULTAT
30752 INST = SIMP(statut='o',typ='R', max=1), # INSTANT
30754 LAME = FACT(statut='f',max='**',
30755 fr="Post-traitement des lames d'eau, par grille ou valeurs min/max",
30756 regles = UN_PARMI('NUME_GRILLE','TYPE_RESU',),
30757 NUME_GRILLE = SIMP(statut='f',typ='I', max=1), # NUMERO DE LA GRILLE A POST-TRAITER
30758 TYPE_RESU = SIMP(statut='f',typ='TXM',into=("MINI","MAXI")), # EXTREMA POUR LE POST
30759 FORMAT = SIMP(statut='o',typ='TXM',into=("GRACE","TABLE")),
30760 UNITE = SIMP(statut='o',typ='I', max=1), # NUMERO DE L'UNITE LOGIQUE POUR LE POST
30763 DEFORMATION = FACT(statut='f',max='**',
30764 fr="Post-traitement des deformations, par grille ou valeurs min/max",
30766 UNITE = SIMP(statut='o',typ='I', max=1),
30767 FORMAT = SIMP(statut='o',typ='TXM',into=("GRACE","TABLE")),
30769 b_def_grace = BLOC(condition = "FORMAT == 'GRACE' ",fr="Paramètres pour le format GRACE",
30770 regles=UN_PARMI('NUME_GRILLE','TYPE_RESU','POSITION'),
30771 TYPE_VISU = SIMP(statut='o',typ='TXM',into=("AMPLITUDE","MODULE","VECTEUR","DEFORME")),
30772 TYPE_RESU = SIMP(statut='f',typ='TXM',into=("MINI","MAXI")),
30773 NUME_GRILLE = SIMP(statut='f',typ='I', max=1), # NUMERO DE LA GRILLE A POST-TRAITER
30774 POSITION = SIMP(statut='f',typ='TXM', max=1),
30775 CONCEPTION = SIMP(statut='f',typ='TXM', max=1),
30778 b_def_table = BLOC(condition = "FORMAT == 'TABLE' ",fr="Paramètres pour le format TABLE",
30779 NOM_CMP = SIMP(statut='o',typ='TXM',into=("DY","DZ","NORME")),
30786 # ======================================================================
30787 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
30788 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
30789 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
30790 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
30791 # (AT YOUR OPTION) ANY LATER VERSION.
30793 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
30794 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
30795 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
30796 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
30798 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
30799 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
30800 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
30801 # ======================================================================
30802 # person_in_charge: samuel.geniaut at edf.fr
30803 POST_MAIL_XFEM=OPER(nom="POST_MAIL_XFEM",op= 187,sd_prod=maillage_sdaster,
30804 reentrant='n',UIinfo={"groupes":("Maillage","Rupture",)},
30805 fr="Crée un maillage se conformant à la fissure pour le post-traitement des éléments XFEM",
30806 MODELE = SIMP(statut='o',typ=modele_sdaster),
30807 PREF_NOEUD_X =SIMP(statut='f',typ='TXM',defaut="NX",validators=LongStr(1,2),),
30808 PREF_NOEUD_M =SIMP(statut='f',typ='TXM',defaut="NM",validators=LongStr(1,2),),
30809 PREF_NOEUD_P =SIMP(statut='f',typ='TXM',defaut="NP",validators=LongStr(1,2),),
30810 PREF_MAILLE_X =SIMP(statut='f',typ='TXM',defaut="MX",validators=LongStr(1,2),),
30811 PREF_GROUP_CO =SIMP(statut='f',typ=grno ,defaut="NFISSU",),
30812 TITRE = SIMP(statut='f',typ='TXM',max='**'),
30813 INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ),
30816 # ======================================================================
30817 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
30818 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
30819 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
30820 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
30821 # (AT YOUR OPTION) ANY LATER VERSION.
30823 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
30824 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
30825 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
30826 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
30828 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
30829 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
30830 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
30831 # ======================================================================
30832 # person_in_charge: samuel.geniaut at edf.fr
30834 POST_RCCM=OPER(nom="POST_RCCM",op= 165,sd_prod=table_sdaster,
30835 fr="Vérification des critères de niveau 0 et certains critères de niveau A du RCC-M-B3200 (Edition 1991)",
30837 UIinfo={"groupes":("Post-traitements","Rupture",)},
30838 TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="VALE_MAX",into=("VALE_MAX","DETAILS") ),
30839 INFO =SIMP(statut='f',typ='I',into=(1,2) ),
30840 TITRE =SIMP(statut='f',typ='TXM',max='**'),
30841 TYPE_RESU_MECA =SIMP(statut='o',typ='TXM',into=("EVOLUTION","UNITAIRE","TUYAUTERIE") ),
30843 # ======================================================================
30844 b_evolution =BLOC(condition="(TYPE_RESU_MECA == 'EVOLUTION')",
30846 OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
30847 into=("PM_PB","SN","FATIGUE_ZH210","AMORCAGE") ),
30848 MATER =SIMP(statut='o',typ=mater_sdaster ),
30849 SY_MAX =SIMP(statut='f',typ='R',
30850 fr="limite élastique utilisée pour le calcul du rochet thermique" ),
30851 TYPE_KE =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"),
30852 fr="Ke meca seul ou partition mecanique + thermique" ),
30854 TRANSITOIRE =FACT(statut='o',max='**',fr="transitoire à dépouiller",
30855 regles=(EXCLUS('TOUT_ORDRE','INST','LIST_INST'),
30856 UN_PARMI('TABL_RESU_MECA','TABL_SIGM_THETA'),),
30857 NB_OCCUR =SIMP(statut='f',typ='I',defaut= 1,
30858 fr="nombre d occurences réelles de ce transitoire" ),
30859 TABL_RESU_MECA =SIMP(statut='f',typ=table_sdaster,
30860 fr="relevé des contraintes sur le chemin"),
30861 TABL_SIGM_THER =SIMP(statut='f',typ=table_sdaster,
30862 fr="résultat sous chargement thermique seul" ),
30863 TABL_RESU_PRES =SIMP(statut='f',typ=table_sdaster,
30864 fr="table relevé des contraintes sous chargement de pression" ),
30865 TABL_SIGM_THETA =SIMP(statut='f',typ=table_sdaster,
30866 fr="table relevé des contraintes a la distance d de la singularité pour chacun des angles THETA" ),
30867 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
30868 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
30869 LIST_INST =SIMP(statut='f',typ=listr8_sdaster ),
30870 b_inst =BLOC(condition = "(INST != None) or (LIST_INST != None)" ,
30871 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
30872 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
30873 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
30874 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
30875 PRECISION =SIMP(statut='o',typ='R',),),),
30879 # ======================================================================
30880 b_unitaire =BLOC(condition="(TYPE_RESU_MECA == 'UNITAIRE')",
30882 OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
30883 into=("PM_PB","SN","FATIGUE") ),
30884 MATER =SIMP(statut='o',typ=mater_sdaster ),
30885 SY_MAX =SIMP(statut='f',typ='R',
30886 fr="limite élastique utilisée pourle calcul du rochet thermique" ),
30887 TYPE_KE =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"),
30888 fr="Ke meca seul ou partition mecanique + thermique" ),
30889 CHAR_MECA =FACT(statut='o',max='**',fr="Chargements mécaniques",
30890 regles=(UN_PARMI('MX','MX_TUBU'),),
30891 NUME_CHAR =SIMP(statut='o',typ='I',fr="numéro du chargement" ),
30892 NOM_CHAR =SIMP(statut='f',typ='TXM',fr="nom du chargement" ),
30893 MX =SIMP(statut='f',typ='R',fr="moment suivant x", ),
30894 MX_TUBU =SIMP(statut='f',typ='R',fr="moment suivant x, tubulure", ),
30895 b_1_tenseur =BLOC( condition = "MX != None",
30896 FX =SIMP(statut='f',typ='R',fr="effort suivant x", ),
30897 FY =SIMP(statut='f',typ='R',fr="effort suivant y", ),
30898 FZ =SIMP(statut='f',typ='R',fr="effort suivant z", ),
30899 MY =SIMP(statut='o',typ='R',fr="moment suivant y", ),
30900 MZ =SIMP(statut='o',typ='R',fr="moment suivant z", ),
30902 b_2_tenseurs =BLOC( condition = "MX_TUBU != None",
30903 FX_TUBU =SIMP(statut='f',typ='R',fr="effort suivant x, tubulure", ),
30904 FY_TUBU =SIMP(statut='f',typ='R',fr="effort suivant y, tubulure", ),
30905 FZ_TUBU =SIMP(statut='f',typ='R',fr="effort suivant z, tubulure", ),
30906 MY_TUBU =SIMP(statut='o',typ='R',fr="moment suivant y, tubulure", ),
30907 MZ_TUBU =SIMP(statut='o',typ='R',fr="moment suivant z, tubulure", ),
30908 FX_CORP =SIMP(statut='f',typ='R',fr="effort suivant x, corps du piquage", ),
30909 FY_CORP =SIMP(statut='f',typ='R',fr="effort suivant y, corps du piquage", ),
30910 FZ_CORP =SIMP(statut='f',typ='R',fr="effort suivant z, corps du piquage", ),
30911 MX_CORP =SIMP(statut='o',typ='R',fr="moment suivant x, corps du piquage", ),
30912 MY_CORP =SIMP(statut='o',typ='R',fr="moment suivant y, corps du piquage", ),
30913 MZ_CORP =SIMP(statut='o',typ='R',fr="moment suivant z, corps du piquage", ),
30917 RESU_MECA_UNIT =FACT(statut='o',fr="resultats mécaniques unitaires",
30918 regles=(UN_PARMI('TABL_MX','TABL_MX_TUBU'),),
30919 TABL_MX =SIMP(statut='f',typ=table_sdaster,
30920 fr="table relevé des contraintes pour chargement unitaire MX"),
30921 TABL_MX_TUBU =SIMP(statut='f',typ=table_sdaster,
30922 fr="table relevé des contraintes pour chargement unitaire MX_TUBU"),
30923 b_1_tenseur =BLOC( condition = "TABL_MX != None",
30924 TABL_FX =SIMP(statut='f',typ=table_sdaster,
30925 fr="table relevé des contraintes pour chargement unitaire FX"),
30926 TABL_FY =SIMP(statut='f',typ=table_sdaster,
30927 fr="table relevé des contraintes pour chargement unitaire FY"),
30928 TABL_FZ =SIMP(statut='f',typ=table_sdaster,
30929 fr="table relevé des contraintes pour chargement unitaire FZ"),
30930 TABL_MY =SIMP(statut='o',typ=table_sdaster,
30931 fr="table relevé des contraintes pour chargement unitaire MY"),
30932 TABL_MZ =SIMP(statut='o',typ=table_sdaster,
30933 fr="table relevé des contraintes pour chargement unitaire MZ"),
30935 b_2_tenseurs =BLOC( condition = "TABL_MX_TUBU != None",
30936 TABL_FX_TUBU =SIMP(statut='f',typ=table_sdaster,
30937 fr="table relevé des contraintes pour chargement unitaire FX_TUBU"),
30938 TABL_FY_TUBU =SIMP(statut='f',typ=table_sdaster,
30939 fr="table relevé des contraintes pour chargement unitaire FY_TUBU"),
30940 TABL_FZ_TUBU =SIMP(statut='f',typ=table_sdaster,
30941 fr="table relevé des contraintes pour chargement unitaire FZ_TUBU"),
30942 TABL_MY_TUBU =SIMP(statut='o',typ=table_sdaster,
30943 fr="table relevé des contraintes pour chargement unitaire MY_TUBU"),
30944 TABL_MZ_TUBU =SIMP(statut='o',typ=table_sdaster,
30945 fr="table relevé des contraintes pour chargement unitaire MZ_TUBU"),
30946 TABL_FX_CORP =SIMP(statut='f',typ=table_sdaster,
30947 fr="table relevé des contraintes pour chargement unitaire FX_CORP"),
30948 TABL_FY_CORP =SIMP(statut='f',typ=table_sdaster,
30949 fr="table relevé des contraintes pour chargement unitaire FY_CORP"),
30950 TABL_FZ_CORP =SIMP(statut='f',typ=table_sdaster,
30951 fr="table relevé des contraintes pour chargement unitaire FZ_CORP"),
30952 TABL_MX_CORP =SIMP(statut='o',typ=table_sdaster,
30953 fr="table relevé des contraintes pour chargement unitaire MX_CORP"),
30954 TABL_MY_CORP =SIMP(statut='o',typ=table_sdaster,
30955 fr="table relevé des contraintes pour chargement unitaire MY_CORP"),
30956 TABL_MZ_CORP =SIMP(statut='o',typ=table_sdaster,
30957 fr="table relevé des contraintes pour chargement unitaire MZ_CORP"),
30959 TABL_PRES =SIMP(statut='o',typ=table_sdaster,
30960 fr="table relevé des contraintes pour chargement unitaire de pression"),
30963 RESU_THER =FACT(statut='f',max='**',fr="resultats thermiques",
30964 NUME_RESU_THER =SIMP(statut='o',typ='I',fr="numéro de la table de résultat thermique" ),
30965 TABL_RESU_THER =SIMP(statut='o',typ=table_sdaster,
30966 fr="table relevé des contraintes sous chargement thermique seul" ),
30968 SEISME =FACT(statut='f',max='**',fr="Situation séisme",ang="situation_ang",
30969 NB_OCCUR =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ),
30970 NB_CYCL_SEISME =SIMP(statut='o',typ='I',fr="nombre de cycles associé au séisme" ),
30971 NUME_SITU =SIMP(statut='o',typ='I',fr="numéro de la situation" ),
30972 NOM_SITU =SIMP(statut='f',typ='TXM',fr="nom de la situation" ),
30973 NUME_GROUPE =SIMP(statut='o',typ='I',fr="numéros du groupe de la situation" ),
30974 CHAR_ETAT =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ),
30976 SITUATION =FACT(statut='o',max='**',fr="Situation",ang="situation_ang",
30977 NB_OCCUR =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ),
30978 NUME_SITU =SIMP(statut='o',typ='I',fr="numéro de la situation" ),
30979 NOM_SITU =SIMP(statut='f',typ='TXM',fr="nom de la situation" ),
30980 COMBINABLE =SIMP(statut='f',typ='TXM',defaut= "OUI",into=("OUI","NON"),fr="non = sous-cycle" ),
30981 NUME_PASSAGE =SIMP(statut='f',typ='I',min=2,max=2,
30982 fr="numéro des situations de passage" ),
30983 NUME_GROUPE =SIMP(statut='o',typ='I',
30984 fr="numéros des groupes de la situation" ),
30985 NUME_RESU_THER =SIMP(statut='f',typ='I',max=1,fr="numeros de transitoires thermiques" ),
30986 CHAR_ETAT_A =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ),
30987 CHAR_ETAT_B =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat B" ),
30988 PRES_A =SIMP(statut='o',typ='R',fr="pression etat A"),
30989 PRES_B =SIMP(statut='o',typ='R',fr="pression etat B"),
30990 TEMP_REF_A =SIMP(statut='f',typ='R',fr="temperature référence etat A"),
30991 TEMP_REF_B =SIMP(statut='f',typ='R',fr="temperature référence etat B"),
30995 # ======================================================================
30996 b_tuyauterie =BLOC(condition="(TYPE_RESU_MECA == 'TUYAUTERIE')",
30998 OPTION =SIMP(statut='o',typ='TXM',into=("FATIGUE",) ),
30999 CHAM_MATER =SIMP(statut='o',typ=cham_mater ),
31000 TYPE_KE =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"),
31001 fr="Ke meca seul ou partition mecanique + thermique" ),
31002 MODELE =SIMP(statut='o',typ=modele_sdaster),
31003 CARA_ELEM =SIMP(statut='o',typ=cara_elem),
31004 ZONE_ANALYSE =FACT(statut='o',fr="liste des mailles ou des noeuds analysés",
31005 regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
31006 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
31007 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
31008 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
31010 RESU_MECA =FACT(statut='o',max='**',fr="Chargements mécaniques",
31011 regles=(UN_PARMI('CHAM_GD','RESULTAT'),),
31012 NUME_CHAR =SIMP(statut='o',typ='I',fr="numéro du chargement" ),
31013 NOM_CHAR =SIMP(statut='f',typ='TXM',fr="nom du chargement" ),
31014 CHAM_GD =SIMP(statut='f',typ=cham_gd_sdaster),
31015 RESULTAT =SIMP(statut='f',typ=resultat_sdaster),
31016 b_extrac =BLOC(condition="RESULTAT != None",
31017 fr="extraction d un champ de grandeur",
31018 regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','INST','NOEUD_CMP'),),
31019 NOM_CHAM =SIMP(statut='o',typ='TXM',into=("EFGE_ELNO","SIEF_ELNO"),),
31020 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
31021 NUME_ORDRE =SIMP(statut='f',typ='I',),
31022 INST =SIMP(statut='f',typ='R',),
31023 NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
31024 b_acce_reel =BLOC(condition="(INST != None)",
31025 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
31026 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
31027 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
31028 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
31029 PRECISION =SIMP(statut='o',typ='R',),),
31033 INDI_SIGM =FACT(statut='o',max='**',fr="indices de contraintes",
31034 regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
31035 C1 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes C1 du RCCM"),
31036 K1 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K1 du RCCM"),
31037 C2 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes C2 du RCCM"),
31038 K2 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K2 du RCCM"),
31039 C3 =SIMP(statut='f',typ='R',defaut=0.5,fr="indice de contraintes C3 du RCCM"),
31040 K3 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K3 du RCCM"),
31041 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",),),
31042 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
31043 fr="groupe(s) de mailles ou sont affectés les indices de contraintes"),
31044 MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',
31045 fr="liste des mailles ou sont affectés les indices de contraintes"),
31046 b_grma =BLOC(condition="(GROUP_MA != None)or(MAILLE != None)",
31047 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
31048 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
31050 TYPE_ELEM_STANDARD =SIMP(statut='f',typ='TXM',into=("DRO","COU","TRN","TEE"),
31051 fr="type d'élément de tuyauterie ou sont affectés les indices de contraintes"),
31053 RESU_THER =FACT(statut='f',max='**',fr="resultats thermiques",
31054 regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
31055 NUME_RESU_THER =SIMP(statut='o',typ='I',fr="numéro de la table de résultat thermique" ),
31056 TABL_RESU_THER =SIMP(statut='o',typ=table_sdaster,
31057 fr="table relevé des températures sur la section"),
31058 TABL_MOYE_THER =SIMP(statut='o',typ=table_sdaster,
31059 fr="table relevé des moyennes sur la section"),
31060 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
31061 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
31062 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
31063 b_grma =BLOC(condition="(GROUP_MA != None)or(MAILLE != None)",
31064 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
31065 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
31068 SEISME =FACT(statut='f',max='**',fr="Situation séisme",ang="situation_ang",
31069 NB_OCCUR =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ),
31070 NB_CYCL_SEISME =SIMP(statut='o',typ='I',fr="nombre de cycles associé au séisme" ),
31071 NUME_SITU =SIMP(statut='o',typ='I',fr="numéro de la situation" ),
31072 NOM_SITU =SIMP(statut='f',typ='TXM',fr="nom de la situation" ),
31073 NUME_GROUPE =SIMP(statut='o',typ='I',fr="numéros du groupe de la situation" ),
31074 CHAR_ETAT =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ),
31075 TEMP_REF =SIMP(statut='f',typ='R',fr="temperature référence"),
31077 SITUATION =FACT(statut='o',max='**',fr="Situation",ang="situation_ang",
31078 NB_OCCUR =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ),
31079 NUME_SITU =SIMP(statut='o',typ='I',fr="numéro de la situation" ),
31080 NOM_SITU =SIMP(statut='f',typ='TXM',fr="nom de la situation" ),
31081 COMBINABLE =SIMP(statut='f',typ='TXM',defaut= "OUI",into=("OUI","NON"),fr="non = sous-cycle" ),
31082 NUME_GROUPE =SIMP(statut='o',typ='I',
31083 fr="numéros des groupes de la situation" ),
31084 NUME_PASSAGE =SIMP(statut='f',typ='I',min=2,max=2,
31085 fr="numéro des situations de passage" ),
31086 NUME_RESU_THER =SIMP(statut='f',typ='I',max='**',fr="numeros de transitoires thermiques" ),
31087 CHAR_ETAT_A =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ),
31088 CHAR_ETAT_B =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat B" ),
31089 PRES_A =SIMP(statut='o',typ='R',fr="pression etat A"),
31090 PRES_B =SIMP(statut='o',typ='R',fr="pression etat B"),
31091 TEMP_REF_A =SIMP(statut='f',typ='R',fr="temperature référence etat A"),
31092 TEMP_REF_B =SIMP(statut='f',typ='R',fr="temperature référence etat B"),
31097 # ======================================================================
31098 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
31099 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
31100 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
31101 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
31102 # (AT YOUR OPTION) ANY LATER VERSION.
31104 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
31105 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
31106 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
31107 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
31109 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
31110 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
31111 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
31112 # ======================================================================
31113 # person_in_charge: xavier.desroches at edf.fr
31114 POST_RELEVE_T=OPER(nom="POST_RELEVE_T",op=51,sd_prod=table_sdaster,reentrant='f',
31115 fr="Extraire des valeurs de composantes de champs de grandeurs pour y effectuer des calculs (moyenne,invariants,..)"
31116 +" ou pour les exprimer dans d'autres repères",
31117 docu="U4.81.21",UIinfo={"groupes":("Post-traitements","Résultats et champs",)},
31119 ACTION =FACT(statut='o',max='**',
31120 regles=(UN_PARMI('RESULTAT','CHAM_GD'),),
31122 OPERATION =SIMP(statut='o',typ='TXM',into=("EXTRACTION","MOYENNE","MOYENNE_ARITH","EXTREMA"),
31123 validators=NoRepeat(), max=2),
31124 INTITULE =SIMP(statut='o',typ='TXM'),
31126 CHAM_GD =SIMP(statut='f',typ=(cham_no_sdaster,
31128 RESULTAT =SIMP(statut='f',typ=resultat_sdaster),
31130 b_extrac =BLOC(condition = "RESULTAT != None",fr="extraction des résultats",
31131 regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','NUME_MODE','LIST_MODE',
31132 'INST','LIST_INST','FREQ','LIST_FREQ','NOEUD_CMP','NOM_CAS'), ),
31133 NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO(),),
31134 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
31135 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
31136 LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster),
31137 NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
31138 LIST_MODE =SIMP(statut='f',typ=listis_sdaster),
31139 NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
31140 NOM_CAS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
31141 FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
31142 LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster),
31143 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
31144 LIST_INST =SIMP(statut='f',typ=listr8_sdaster),
31145 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
31146 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
31147 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
31148 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
31149 PRECISION =SIMP(statut='o',typ='R',),),
31152 b_extrema =BLOC(condition="au_moins_un(OPERATION, 'EXTREMA')",
31153 fr="recherche de MIN MAX",
31154 regles=(EXCLUS('TOUT_CMP','NOM_CMP'),),
31155 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
31156 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
31157 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
31158 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
31159 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
31160 TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",)),
31161 NOM_CMP =SIMP(statut='f',typ='TXM',max='**'),
31164 b_MOYENNE_ARITH =BLOC(condition="au_moins_un(OPERATION, 'MOYENNE_ARITH')",
31165 fr="moyenne sur des groupes",
31166 regles=(EXCLUS('TOUT_CMP','NOM_CMP'),),
31167 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
31168 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
31169 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
31170 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
31171 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
31172 TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",)),
31173 NOM_CMP =SIMP(statut='f',typ='TXM',max='**'),
31176 b_autre =BLOC(condition="aucun(OPERATION, ('EXTREMA', 'MOYENNE_ARITH'))",
31177 fr="extraction et moyenne",
31178 regles=(AU_MOINS_UN('CHEMIN','GROUP_NO','NOEUD'),
31179 EXCLUS('CHEMIN','GROUP_NO'),
31180 EXCLUS('CHEMIN','NOEUD'),
31181 PRESENT_ABSENT('CHEMIN','GROUP_MA','MAILLE'),
31182 UN_PARMI('TOUT_CMP','NOM_CMP','INVARIANT','ELEM_PRINCIPAUX','RESULTANTE'),
31183 PRESENT_PRESENT('TRAC_DIR','DIRECTION'),
31184 ENSEMBLE('MOMENT','POINT'),
31185 PRESENT_PRESENT('MOMENT','RESULTANTE'),
31186 PRESENT_ABSENT('TOUT_CMP','TRAC_DIR','TRAC_NOR'),
31187 EXCLUS('TRAC_DIR','TRAC_NOR'),
31188 PRESENT_PRESENT('ORIGINE','AXE_Z'),),
31190 CHEMIN =SIMP(statut='f',typ=(courbe_sdaster,surface_sdaster) ),
31191 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
31192 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
31193 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
31194 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
31195 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
31197 TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",)),
31198 NOM_CMP =SIMP(statut='f',typ='TXM',max='**'),
31199 INVARIANT =SIMP(statut='f',typ='TXM',into=("OUI",)),
31200 ELEM_PRINCIPAUX =SIMP(statut='f',typ='TXM',into=("OUI",) ),
31201 RESULTANTE =SIMP(statut='f',typ='TXM',max='**'),
31203 MOMENT =SIMP(statut='f',typ='TXM',max='**'),
31204 POINT =SIMP(statut='f',typ='R',max='**'),
31206 REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL",
31207 into=("GLOBAL","LOCAL","POLAIRE","UTILISATEUR","CYLINDRIQUE"),),
31208 ANGL_NAUT =SIMP(statut='f',typ='R',min=3,max=3),
31209 ORIGINE =SIMP(statut='f',typ='R',min=3,max=3),
31210 AXE_Z =SIMP(statut='f',typ='R',min=3,max=3),
31212 TRAC_NOR =SIMP(statut='f',typ='TXM',into=("OUI",)),
31213 TRAC_DIR =SIMP(statut='f',typ='TXM',into=("OUI",)),
31214 DIRECTION =SIMP(statut='f',typ='R',max='**'),
31216 VECT_Y =SIMP(statut='f',typ='R',max='**'),
31217 MOYE_NOEUD =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
31220 FORMAT_C =SIMP(statut='f',typ='TXM',defaut="MODULE",into=("MODULE","REEL","IMAG")),
31223 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
31224 TITRE =SIMP(statut='f',typ='TXM',max='**'),
31227 # ======================================================================
31228 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
31229 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
31230 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
31231 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
31232 # (AT YOUR OPTION) ANY LATER VERSION.
31234 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
31235 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
31236 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
31237 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
31239 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
31240 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
31241 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
31242 # ======================================================================
31243 # person_in_charge: samuel.geniaut at edf.fr
31245 POST_RUPTURE=MACRO(nom="POST_RUPTURE",
31246 op=OPS("Macro.post_rupture_ops.post_rupture_ops"),
31247 sd_prod=table_sdaster,
31248 fr="post-traitements en Rupture",
31250 UIinfo={"groupes":("Résultats et champs","Rupture",)},
31252 TABLE = SIMP(statut='o',typ=table_sdaster,max='**'),
31254 # rq : il est impossible de proposer le bon choix pour OPERATION suivant la valeur de reuse...
31255 OPERATION = SIMP(statut='o',typ='TXM',into=(
31257 'ANGLE_BIFURCATION',
31268 #-----------------------------------------------------------------------------------------------------------------------------------
31270 #-----------------------------------------------------------------------------------------------------------------------------------
31273 b_absc = BLOC(condition="OPERATION == 'ABSC_CURV_NORM'",fr="normalise l'abscisse curviligne",
31275 NOM_PARA = SIMP(statut='f',typ='TXM',max=1,defaut="ABSC_CURV_NORM",fr="Nom de la nouvelle colonne"),
31279 #-----------------------------------------------------------------------------------------------------------------------------------
31280 # 'ANGLE_BIFURCATION'
31281 #-----------------------------------------------------------------------------------------------------------------------------------
31283 b_angle = BLOC(condition="OPERATION == 'ANGLE_BIFURCATION' ",fr="Angle de bifurcation",
31285 NOM_PARA = SIMP(statut='f',typ='TXM',max=1,defaut="BETA",fr="Nom de la nouvelle colonne"),
31286 CRITERE = SIMP(statut='f',typ='TXM',max=1,defaut="SITT_MAX",into=('SITT_MAX','K1_MAX','K2_NUL','PLAN'),),
31289 #-----------------------------------------------------------------------------------------------------------------------------------
31291 #-----------------------------------------------------------------------------------------------------------------------------------
31293 b_Keq = BLOC(condition="OPERATION == 'K_EQ' ",fr="Cumul sur les modes : calcul du K equivalent",
31295 NOM_PARA = SIMP(statut='f',typ='TXM',max=1,defaut="K_EQ",fr="Nom de la nouvelle colonne"),
31296 CUMUL = SIMP(statut='f',typ='TXM',max=1,defaut="CUMUL_G",fr="Formule de cumul des modes",
31297 into=('LINEAIRE','QUADRATIQUE','CUMUL_G','MODE_I'),),
31299 b_mater = BLOC(condition="CUMUL in ('QUADRATIQUE','CUMUL_G')",fr="materiau du fond de fissure",
31300 MATER = SIMP(statut='o',typ=mater_sdaster,),
31304 #-----------------------------------------------------------------------------------------------------------------------------------
31306 #-----------------------------------------------------------------------------------------------------------------------------------
31308 b_DeltaKeq = BLOC(condition="OPERATION == 'DELTA_K_EQ' ",fr="Cumul sur les modes : calcul du DeltaK equivalent",
31310 NOM_PARA = SIMP(statut='f',typ='TXM',max=1,defaut="DELTA_K_EQ",fr="Nom de la nouvelle colonne"),
31311 CUMUL = SIMP(statut='f',typ='TXM',max=1,defaut="CUMUL_G",fr="Formule de cumul des modes",
31312 into=('QUADRATIQUE','CUMUL_G','MODE_I'),),
31314 b_mater = BLOC(condition="CUMUL in ('QUADRATIQUE','CUMUL_G')",fr="materiau du fond de fissure",
31315 MATER = SIMP(statut='o',typ=mater_sdaster,),
31320 #-----------------------------------------------------------------------------------------------------------------------------------
31321 # 'COMPTAGE_CYCLES'
31322 #-----------------------------------------------------------------------------------------------------------------------------------
31324 b_Comptage = BLOC(condition="OPERATION == 'COMPTAGE_CYCLES' ",fr="Comptage des cycles",
31326 NOM_PARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
31327 fr="Nom des quantités sur lesquelles s'effectuent le comptage"),
31328 COMPTAGE = SIMP(statut='o',typ='TXM',into=("RAINFLOW","RCCM","NATUREL","UNITAIRE")),
31329 DELTA_OSCI = SIMP(statut='f',typ='R',defaut= 0.0E+0),
31331 b_Comptage_Unitaire = BLOC(condition="COMPTAGE=='UNITAIRE'",
31332 fr="comptage unitaire pour les amplitudes constantes",
31334 COEF_MULT_MINI = SIMP(statut='o',typ='R',),
31335 COEF_MULT_MAXI = SIMP(statut='o',typ='R',),
31341 #-----------------------------------------------------------------------------------------------------------------------------------
31343 #-----------------------------------------------------------------------------------------------------------------------------------
31345 b_Loi_Propa = BLOC(condition="OPERATION == 'LOI_PROPA' ",fr="calcul de l'incrément d'avancée de fissure par cycle",
31347 NOM_PARA = SIMP(statut='f',typ='TXM',defaut="DELTA_A" ,max=1,fr="Nom de la nouvelle colonne"),
31348 NOM_DELTA_K_EQ = SIMP(statut='f',typ='TXM',defaut="DELTA_K_EQ",max=1,
31349 fr="Nom de la quantité correspondant au Delta_K_eq"),
31350 LOI = SIMP(statut='o',typ='TXM',into=("PARIS",)),
31352 b_paris = BLOC(condition = "LOI=='PARIS'",
31353 C = SIMP(statut='o',typ='R',),
31354 M = SIMP(statut='o',typ='R',),
31359 #-----------------------------------------------------------------------------------------------------------------------------------
31361 #-----------------------------------------------------------------------------------------------------------------------------------
31363 b_cumul = BLOC(condition="OPERATION == 'CUMUL_CYCLES' ",fr="Cumul sur les cycles",
31365 NOM_PARA = SIMP(statut='f',typ='TXM',max=1,defaut="DELTA_A",fr="Nom de la colonne à traiter"),
31366 CUMUL = SIMP(statut='f',typ='TXM',max=1,defaut="LINEAIRE",into=('LINEAIRE',)),
31370 #-----------------------------------------------------------------------------------------------------------------------------------
31372 #-----------------------------------------------------------------------------------------------------------------------------------
31374 b_pilo_propa = BLOC(condition="OPERATION == 'PILO_PROPA' ",fr="Pilotage de la propagation",
31376 regles = UN_PARMI('DELTA_A_MAX','DELTA_N'),
31377 DELTA_A_MAX = SIMP(statut='f',typ='R',max=1,val_min=0.,fr="Pilotage en incrément d'avancée max"),
31378 DELTA_N = SIMP(statut='f',typ='R',max=1,val_min=1 ,fr="Pilotage en incrément de nombre de blocs"),
31382 #-----------------------------------------------------------------------------------------------------------------------------------
31384 #-----------------------------------------------------------------------------------------------------------------------------------
31386 b_k1_neg = BLOC(condition="OPERATION == 'K1_NEGATIF' ",fr="Mise a zero des valeurs negatives de K1",
31388 MODELISATION = SIMP(statut='o',typ='TXM',into=("C_PLAN","D_PLAN","3D","AXIS")),
31389 MATER = SIMP(statut='o',typ=mater_sdaster,),
31393 #-----------------------------------------------------------------------------------------------------------------------------------
31397 # ======================================================================
31398 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
31399 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
31400 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
31401 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
31402 # (AT YOUR OPTION) ANY LATER VERSION.
31404 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
31405 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
31406 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
31407 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
31409 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
31410 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
31411 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
31412 # ======================================================================
31413 # person_in_charge: irmela.zentner at edf.fr
31414 POST_USURE=OPER(nom="POST_USURE",op=153,sd_prod=table_sdaster,reentrant='f',
31415 UIinfo={"groupes":("Post-traitements",)},
31416 fr="Calcul des volumes d'usure et des profondeurs d'usure d'après la puissance d'usure",
31417 regles=(UN_PARMI('TUBE_NEUF','RESU_GENE','PUIS_USURE'),
31418 PRESENT_PRESENT('RESU_GENE','NOEUD','LOI_USURE'),
31419 PRESENT_PRESENT('PUIS_USURE','LOI_USURE'),),
31420 TUBE_NEUF =SIMP(statut='f',typ='TXM',into=("OUI",) ),
31421 ETAT_INIT =FACT(statut='f',
31422 TABL_USURE =SIMP(statut='f',typ=table_sdaster),
31423 INST_INIT =SIMP(statut='f',typ='R'),
31425 RESU_GENE =SIMP(statut='f',typ=tran_gene),
31426 NOEUD =SIMP(statut='f',typ=no,),
31427 INST_INIT =SIMP(statut='f',typ='R',defaut=-1.0E+0),
31428 INST_FIN =SIMP(statut='f',typ='R'),
31429 NB_BLOC =SIMP(statut='f',typ='I',defaut= 1 ),
31430 PUIS_USURE =SIMP(statut='f',typ='R'),
31431 LOI_USURE =SIMP(statut='f',typ='TXM',into=("ARCHARD","KWU_EPRI","EDF_MZ")),
31432 b_archard =BLOC(condition = "LOI_USURE == 'ARCHARD'",
31433 regles=(UN_PARMI('MOBILE','MATER_USURE','SECTEUR'),
31434 EXCLUS('MATER_USURE','OBSTACLE'),
31435 EXCLUS('MOBILE','USURE_OBST'),),
31436 MOBILE =FACT(statut='f',
31437 COEF_USURE =SIMP(statut='o',typ='R'),
31439 OBSTACLE =FACT(statut='f',
31440 COEF_USURE =SIMP(statut='o',typ='R'),
31442 SECTEUR =FACT(statut='f',max='**',
31443 CONTACT =SIMP(statut='f',typ='TXM',into=("TUBE_BAV","TUBE_ALESAGE","TUBE_4_ENCO",
31444 "GRAPPE_ALESAGE","TUBE_3_ENCO","TUBE_TUBE",
31445 "GRAPPE_1_ENCO","GRAPPE_2_ENCO")),
31446 COEF_USUR_MOBILE=SIMP(statut='f',typ='R'),
31447 COEF_USUR_OBST =SIMP(statut='f',typ='R'),
31448 ANGL_INIT =SIMP(statut='f',typ='R'),
31449 ANGL_FIN =SIMP(statut='f',typ='R'),
31451 MATER_USURE =SIMP(statut='f',typ='TXM'),
31452 USURE_OBST =SIMP(statut='f',typ='TXM',into=("OUI",)),
31454 b_kwu_epri =BLOC(condition = "LOI_USURE == 'KWU_EPRI'",
31455 regles=(UN_PARMI('MOBILE','MATER_USURE'),
31456 EXCLUS('MATER_USURE','OBSTACLE'),
31457 EXCLUS('MOBILE','USURE_OBST'),),
31458 MOBILE =FACT(statut='f',
31459 COEF_FNOR =SIMP(statut='f',typ='R'),
31460 COEF_VTAN =SIMP(statut='f',typ='R'),
31461 COEF_USURE =SIMP(statut='f',typ='R'),
31462 COEF_K =SIMP(statut='f',typ='R',defaut=5.0E+0),
31463 COEF_C =SIMP(statut='f',typ='R',defaut=10.0E+0),
31465 OBSTACLE =FACT(statut='f',
31466 COEF_FNOR =SIMP(statut='f',typ='R' ),
31467 COEF_VTAN =SIMP(statut='f',typ='R' ),
31468 COEF_USURE =SIMP(statut='o',typ='R'),
31469 COEF_K =SIMP(statut='f',typ='R',defaut=5.0E+0),
31470 COEF_C =SIMP(statut='f',typ='R',defaut=10.0E+0),
31472 MATER_USURE =SIMP(statut='f',typ='TXM'),
31473 USURE_OBST =SIMP(statut='f',typ='TXM',into=("OUI",)),
31474 FNOR_MAXI =SIMP(statut='f',typ='R' ),
31475 VTAN_MAXI =SIMP(statut='f',typ='R' ),
31477 b_edf_mz =BLOC(condition = "LOI_USURE == 'EDF_MZ'",
31478 regles=(UN_PARMI('MOBILE','MATER_USURE'),
31479 EXCLUS('MATER_USURE','OBSTACLE'),
31480 EXCLUS('MOBILE','USURE_OBST'),),
31481 MOBILE =FACT(statut='f',
31482 COEF_USURE =SIMP(statut='f',typ='R',defaut=1.0E-13),
31483 COEF_B =SIMP(statut='f',typ='R',defaut=1.2E+0),
31484 COEF_N =SIMP(statut='f',typ='R',defaut=2.44E-8),
31485 COEF_S =SIMP(statut='f',typ='R',defaut=1.14E-16),
31487 OBSTACLE =FACT(statut='f',
31488 COEF_USURE =SIMP(statut='o',typ='R',defaut=1.0E-13),
31489 COEF_B =SIMP(statut='f',typ='R',defaut=1.2E+0),
31490 COEF_N =SIMP(statut='f',typ='R',defaut=2.44E-8),
31491 COEF_S =SIMP(statut='f',typ='R',defaut=1.14E-16),
31493 MATER_USURE =SIMP(statut='f',typ='TXM'),
31494 USURE_OBST =SIMP(statut='f',typ='TXM',into=("OUI",)),
31496 b_tube_neuf =BLOC(condition = "TUBE_NEUF == 'OUI'",
31497 TABL_USURE =SIMP(statut='o',typ=table_sdaster),
31499 CONTACT =SIMP(statut='f',typ='TXM',into=("TUBE_BAV","TUBE_ALESAGE","TUBE_4_ENCO",
31500 "GRAPPE_ALESAGE","TUBE_3_ENCO","TUBE_TUBE",
31501 "GRAPPE_1_ENCO","GRAPPE_2_ENCO")),
31502 RAYON_MOBILE =SIMP(statut='f',typ='R'),
31503 RAYON_OBST =SIMP(statut='f',typ='R'),
31504 LARGEUR_OBST =SIMP(statut='f',typ='R'),
31505 ANGL_INCLI =SIMP(statut='f',typ='R'),
31506 ANGL_ISTHME =SIMP(statut='f',typ='R'),
31507 ANGL_IMPACT =SIMP(statut='f',typ='R'),
31508 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
31509 LIST_INST =SIMP(statut='f',typ=listr8_sdaster),
31510 COEF_INST =SIMP(statut='f',typ='R',defaut=1.0E+0),
31511 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
31512 TITRE =SIMP(statut='f',typ='TXM',max='**' ),
31515 # ======================================================================
31516 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
31517 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
31518 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
31519 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
31520 # (AT YOUR OPTION) ANY LATER VERSION.
31522 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
31523 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
31524 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
31525 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
31527 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
31528 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
31529 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
31530 # ======================================================================
31531 # person_in_charge: j-pierre.lefebvre at edf.fr
31533 POURSUITE=MACRO(nom="POURSUITE",
31534 op=OPS("Cata.ops.build_poursuite"),
31536 fr="Poursuite d'une étude à partir de la sauvegarde au format JEVEUX " \
31537 "ou HDF de sa base globale",
31538 sd_prod = ops.POURSUITE,
31539 UIinfo={"groupes":("Gestion du travail",)},
31540 op_init=ops.POURSUITE_context,
31542 FORMAT_HDF =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f',
31543 typ='TXM',defaut="NON",into=("OUI","NON",) ),
31544 PAR_LOT =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM',
31545 into=("OUI","NON"),defaut="OUI"),
31546 IMPR_MACRO =SIMP(fr="affichage des sous-commandes produites par les macros dans le fichier mess",
31547 statut='f',typ='TXM',into=("OUI","NON"),defaut="NON"),
31549 BASE =FACT(fr="définition des paramètres associés aux bases JEVEUX",
31550 statut='f',min=1,max=2,
31551 FICHIER =SIMP(fr="nom de la base",statut='o',typ='TXM'),
31552 TITRE =SIMP(statut='f',typ='TXM'),
31553 CAS =SIMP(statut='f',typ='TXM'),
31554 NMAX_ENRE =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'),
31555 LONG_ENRE =SIMP(fr="longueur des enregistrements",statut='f',typ='I'),
31556 LONG_REPE =SIMP(fr="longueur du répertoire",statut='f',typ='I'),
31559 # Le mot cle CATALOGUE n'est jamais utilise en POURSUITE mais sa presence est necessaire au bon fonctionnement
31560 # de la commande, le code source etant commun aux commandes DEBUT et POURSUITE.
31562 CATALOGUE =FACT(statut='f',min=1,max=10,
31563 FICHIER =SIMP(statut='o',typ='TXM'),
31564 UNITE =SIMP(statut='f',typ='I'),
31567 ERREUR =FACT(fr="comportement en cas d'erreur",statut='f',min=1,max=1,
31568 ERREUR_F =SIMP(statut='f',typ='TXM',into=('ABORT','EXCEPTION'),defaut='ABORT'),
31571 DEBUG =FACT(fr="option de déboggage reservée aux développeurs",
31572 statut='f',min=1,max=1,
31573 JXVERI =SIMP(fr="vérifie l intégrité de la segmentation mémoire",
31574 statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
31575 SDVERI =SIMP(fr="vérifie la conformité des SD produites par les commandes",
31576 statut='f',typ='TXM',into=('OUI','NON')),
31577 JEVEUX =SIMP(fr="force les déchargement sur disque",
31578 statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
31579 ENVIMA =SIMP(fr="imprime les valeurs définies dans ENVIMA",
31580 statut='f',typ='TXM',into=('TEST',)),
31581 HIST_ETAPE = SIMP(fr="permet de conserver toutes les étapes du jeu de commandes",
31582 statut='f', typ='TXM', into=('OUI', 'NON'), defaut='NON'),
31585 MESURE_TEMPS =FACT(fr="Pour choisir les mesures de temps consommé dans les commandes",
31586 statut='d',min=1,max=1,
31587 NIVE_DETAIL =SIMP(fr="niveau de détail des impressions",
31588 statut='f',typ='I',into=(0,1,2,3),defaut=1),
31590 # 1 : impression en fin de commande des mesures principales
31591 # 2 : impression en fin de commande des mesures principales et secondaires
31592 # 3 : impression des mesures principales et secondaires pour chaque pas de temps
31593 MOYENNE =SIMP(fr="affichage des moyennes et écart-types en parallèle",
31594 statut='f',typ='TXM',into=('OUI','NON',),defaut='NON'),
31597 MEMOIRE =FACT(fr="mode de gestion mémoire utilisé",statut='d',min=1,max=1,
31598 TAILLE_BLOC =SIMP(statut='f',typ='R',defaut=800.),
31599 TAILLE_GROUP_ELEM =SIMP(statut='f',typ='I',defaut=1000),
31602 RESERVE_CPU =FACT(fr="reserve de temps pour terminer une execution",statut='d',max=1,
31603 regles=(EXCLUS('VALE','POURCENTAGE'),),
31604 VALE =SIMP(statut='f',typ='I',val_min=0),
31605 # valeur par défaut fixée à 10. dans le FORTRAN si CODE présent
31606 POURCENTAGE =SIMP(statut='f',typ='R',val_min=0.,val_max=1.0),
31607 # valeur par défaut fixée à 10% dans le FORTRAN
31608 BORNE =SIMP(statut='f',typ='I',val_min=0,defaut=900) ),
31609 # valeur en pourcentage du temps maximum bornée à 900 secondes
31611 CODE =SIMP(statut='f',typ='TXM',into=('OUI', 'NON'),defaut='NON',
31612 fr="paramètre réservé aux cas-tests"),
31614 IGNORE_ALARM = SIMP(statut='f', typ='TXM', max='**', fr="Alarmes que l'utilisateur souhaite délibérément ignorer"),
31616 LANG = SIMP(statut='f', typ='TXM',
31617 fr="Permet de choisir la langue utilisée pour les messages (si disponible)",
31618 ang="Allows to choose the language used for messages (if available)"),
31620 INFO = SIMP(statut='f', typ='I', defaut=1, into=(1,2),),
31623 # ======================================================================
31624 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
31625 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
31626 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
31627 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
31628 # (AT YOUR OPTION) ANY LATER VERSION.
31630 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
31631 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
31632 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
31633 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
31635 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
31636 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
31637 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
31638 # ======================================================================
31639 # person_in_charge: mathieu.courtois at edf.fr
31641 PRE_GIBI=PROC(nom="PRE_GIBI",op=49,
31642 UIinfo={"groupes":("Gestion du travail",)},
31643 fr="Conversion d'un fichier de maillage GIBI au format Aster",
31644 UNITE_GIBI =SIMP(statut='f',typ='I',defaut=19),
31645 UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=20),
31648 # ======================================================================
31649 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
31650 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
31651 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
31652 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
31653 # (AT YOUR OPTION) ANY LATER VERSION.
31655 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
31656 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
31657 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
31658 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
31660 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
31661 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
31662 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
31663 # ======================================================================
31664 # person_in_charge: mathieu.courtois at edf.fr
31666 PRE_GMSH=PROC(nom="PRE_GMSH",op=47,
31667 UIinfo={"groupes":("Gestion du travail",)},
31668 fr="Conversion d'un fichier de maillage GMSH au format Aster",
31669 UNITE_GMSH =SIMP(statut='f',typ='I',defaut=19),
31670 UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=20),
31673 # ======================================================================
31674 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
31675 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
31676 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
31677 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
31678 # (AT YOUR OPTION) ANY LATER VERSION.
31680 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
31681 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
31682 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
31683 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
31685 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
31686 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
31687 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
31688 # ======================================================================
31689 # person_in_charge: alexei.mikchevitch at edf.fr
31690 PRE_IDEAS=PROC(nom="PRE_IDEAS",op=47,
31691 UIinfo={"groupes":("Gestion du travail",)},
31692 fr="Conversion d'un fichier universel IDEAS-SUPERTAB au format Aster",
31693 UNITE_IDEAS =SIMP(statut='f',typ='I',defaut=19),
31694 UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=20),
31695 CREA_GROUP_COUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
31698 # ======================================================================
31699 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
31700 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
31701 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
31702 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
31703 # (AT YOUR OPTION) ANY LATER VERSION.
31705 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
31706 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
31707 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
31708 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
31710 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
31711 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
31712 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
31713 # ======================================================================
31714 # person_in_charge: jacques.pellet at edf.fr
31716 PROD_MATR_CHAM=OPER(nom="PROD_MATR_CHAM",op= 156,sd_prod=cham_no_sdaster,
31717 fr="Effectuer le produit d'une matrice par un vecteur",
31719 UIinfo={"groupes":("Post-traitements","Matrices et vecteurs",)},
31720 MATR_ASSE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_pres_c ) ),
31721 CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster),
31722 TITRE =SIMP(statut='f',typ='TXM',max='**'),
31725 # ======================================================================
31726 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
31727 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
31728 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
31729 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
31730 # (AT YOUR OPTION) ANY LATER VERSION.
31732 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
31733 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
31734 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
31735 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
31737 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
31738 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
31739 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
31740 # ======================================================================
31742 # person_in_charge: emmanuel.boyere at edf.fr
31745 def proj_base_prod(self,MATR_ASSE_GENE,VECT_ASSE_GENE,
31746 RESU_GENE, NUME_DDL_GENE,
31748 if NUME_DDL_GENE is not None and NUME_DDL_GENE.is_typco():
31749 self.type_sdprod(NUME_DDL_GENE, nume_ddl_gene)
31750 if MATR_ASSE_GENE != None:
31751 for m in MATR_ASSE_GENE:
31752 self.type_sdprod(m['MATRICE'],matr_asse_gene_r)
31753 if VECT_ASSE_GENE != None:
31754 for v in VECT_ASSE_GENE:
31755 self.type_sdprod(v['VECTEUR'],vect_asse_gene)
31756 if RESU_GENE != None:
31757 for v in RESU_GENE:
31758 self.type_sdprod(v['RESULTAT'],tran_gene)
31761 PROJ_BASE=MACRO(nom="PROJ_BASE",
31762 op=OPS('Macro.proj_base_ops.proj_base_ops'),
31763 regles=(AU_MOINS_UN('MATR_ASSE_GENE','VECT_ASSE_GENE','RESU_GENE')),
31764 UIinfo={"groupes":("Matrices et vecteurs","Dynamique",)},
31765 sd_prod=proj_base_prod,
31766 fr="Projection des matrices et/ou vecteurs assembles sur une base (modale ou de RITZ)",
31767 BASE =SIMP(statut='o',typ=(mode_meca,mode_gene) ),
31768 NB_VECT =SIMP(statut='f',typ='I',defaut= 9999),
31769 STOCKAGE =SIMP(statut='f',typ='TXM',defaut="PLEIN",into=("PLEIN","DIAG") ),
31770 NUME_DDL_GENE =SIMP(statut='f',typ=(nume_ddl_gene,CO),defaut=None),
31771 MATR_ASSE_GENE =FACT(statut='f',max='**',
31772 MATRICE =SIMP(statut='o',typ=CO,),
31773 regles=(UN_PARMI('MATR_ASSE','MATR_ASSE_GENE',),),
31774 MATR_ASSE =SIMP(statut='f',typ=matr_asse_depl_r),
31775 MATR_ASSE_GENE =SIMP(statut='f',typ=matr_asse_gene_r),
31777 VECT_ASSE_GENE =FACT(statut='f',max='**',
31778 VECTEUR =SIMP(statut='o',typ=CO,),
31779 regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE',),),
31780 TYPE_VECT =SIMP(statut='f',typ='TXM',defaut="FORC"),
31781 VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster),
31782 VECT_ASSE_GENE =SIMP(statut='f',typ=vect_asse_gene),
31784 RESU_GENE =FACT(statut='f',max='**',
31785 RESULTAT =SIMP(statut='o',typ=CO,),
31786 TYPE_VECT =SIMP(statut='f',typ='TXM',defaut="FORC"),
31787 RESU =SIMP(statut='o',typ=dyna_trans),
31789 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
31792 # ======================================================================
31793 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
31794 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
31795 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
31796 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
31797 # (AT YOUR OPTION) ANY LATER VERSION.
31799 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
31800 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
31801 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
31802 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
31804 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
31805 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
31806 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
31807 # ======================================================================
31808 # person_in_charge: jacques.pellet at edf.fr
31809 def proj_champ_prod(RESULTAT=None,CHAM_GD=None,METHODE=None,**args ):
31810 if (RESULTAT == None and CHAM_GD == None) : return corresp_2_mailla
31811 if RESULTAT != None : return AsType(RESULTAT)
31812 if CHAM_GD != None and METHODE == 'SOUS_POINT' :
31815 return AsType(CHAM_GD)
31816 raise AsException("type de concept resultat non prevu")
31821 PROJ_CHAMP=OPER(nom="PROJ_CHAMP",op= 166,sd_prod=proj_champ_prod,reentrant='f',
31822 UIinfo={"groupes":("Résultats et champs",)},
31823 fr="Projeter des champs d'un maillage sur un autre",
31825 # faut-il projeter les champs ?
31826 PROJECTION =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",),),
31828 # pour projeter avec une sd_corresp_2_mailla deja calculée :
31829 MATR_PROJECTION =SIMP(statut='f',typ=corresp_2_mailla,),
31833 #-----------------------------------------------------------------------------------------------------------
31834 # 1er cas : on fait tout d'un coup : creation de la sd_corresp_2_mailla + projection des champs
31835 #-----------------------------------------------------------------------------------------------
31836 b_1_et_2 =BLOC(condition= "PROJECTION == 'OUI' and MATR_PROJECTION == None",
31837 regles=(UN_PARMI('RESULTAT','CHAM_GD'),
31838 UN_PARMI('MODELE_1','MAILLAGE_1'),
31839 UN_PARMI('MODELE_2','MAILLAGE_2'),
31841 RESULTAT =SIMP(statut='f',typ=resultat_sdaster),
31842 CHAM_GD =SIMP(statut='f',typ=(cham_no_sdaster,cham_elem)),
31844 METHODE =SIMP(statut='f',typ='TXM',defaut="AUTO",
31845 into=("NUAGE_DEG_0","NUAGE_DEG_1","AUTO","COLLOCATION","ECLA_PG","SOUS_POINT") ),
31848 MODELE_1 =SIMP(statut='f',typ=modele_sdaster),
31849 MAILLAGE_1 =SIMP(statut='f',typ=(maillage_sdaster,squelette)),
31851 MODELE_2 =SIMP(statut='f',typ=modele_sdaster),
31852 MAILLAGE_2 =SIMP(statut='f',typ=maillage_sdaster),
31854 # Cas de la projection NUAGE_DEG_0/1 :
31855 #--------------------------------------------
31856 b_nuage =BLOC(condition="METHODE in ('NUAGE_DEG_0','NUAGE_DEG_1')",
31857 CHAM_NO_REFE =SIMP(statut='o',typ=cham_no_sdaster),
31861 # Cas de la projection COLLOCATION :
31862 #--------------------------------------------
31863 b_elem =BLOC(condition="METHODE in ('COLLOCATION','ECLA_PG','AUTO')",
31864 CAS_FIGURE =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",),
31865 fr="Pour indiquer au programme le type de projection souhaité"),
31866 DISTANCE_MAX =SIMP(statut='f',typ='R',
31867 fr="Distance maximale entre le noeud et l'élément le plus proche, lorsque le noeud n'est dans aucun élément."),
31869 TRANSF_GEOM_1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3,
31870 fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+
31871 " aux noeuds du MODELE_1 avant la projection."),
31872 TRANSF_GEOM_2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3,
31873 fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+
31874 " aux noeuds du MODELE_2 avant la projection."),
31876 ALARME =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
31878 TYPE_CHAM =SIMP(statut='f',typ='TXM',into=("NOEU",),
31879 fr="Pour forcer le type des champs projetés. NOEU -> cham_no"),
31881 PROL_ZERO =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON",
31882 fr="Pour prolonger les champs par zéro là ou la projection ne donne pas de valeurs."),
31885 # Cas de la projection SOUS_POINT :
31886 #--------------------------------------------
31887 b_sous_point =BLOC(condition="METHODE == 'SOUS_POINT'" ,
31888 CARA_ELEM =SIMP(statut='o',typ=cara_elem),
31889 PROL_ZERO =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON",
31890 fr="Pour prolonger les champs par zéro là ou la projection ne donne pas de valeurs."),
31891 TRANSF_GEOM_1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3,
31892 fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+
31893 " aux noeuds du MODELE_1 avant la projection."),
31894 TRANSF_GEOM_2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3,
31895 fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+
31896 " aux noeuds du MODELE_2 avant la projection."),
31900 # Cas de la projection d'une sd_resultat :
31901 #--------------------------------------------
31902 b_resultat =BLOC(condition="RESULTAT != None",
31903 regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','LIST_INST','LIST_FREQ','LIST_ORDRE'),
31904 EXCLUS('TOUT_CHAM','NOM_CHAM',),),
31905 NOM_PARA =SIMP(statut='f',typ='TXM', max='**'),
31906 TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",) ),
31907 NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO(),),
31909 NUME_DDL =SIMP(statut='f',typ=(nume_ddl_sdaster),
31910 fr="Utile en dynamique pour pouvoir imoser la numérotation des cham_no."),
31912 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
31913 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
31914 LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster),
31915 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
31916 LIST_INST =SIMP(statut='f',typ=listr8_sdaster),
31917 FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
31918 LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster),
31919 NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
31920 NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
31922 b_acce_reel =BLOC(condition="(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)",
31923 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
31924 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
31925 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
31926 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
31927 PRECISION =SIMP(statut='o',typ='R',),),
31932 VIS_A_VIS =FACT(statut='f',max='**',
31933 regles=(AU_MOINS_UN('TOUT_1','GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
31934 AU_MOINS_UN('TOUT_2','GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),),
31935 TOUT_1 =SIMP(statut='f',typ='TXM',into=("OUI",) ),
31936 GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
31937 MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
31938 GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
31939 NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
31940 TOUT_2 =SIMP(statut='f',typ='TXM',into=("OUI",) ),
31941 GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
31942 MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
31943 GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
31944 NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
31946 # les mots clés suivants ne sont actifs que si METHODE='COLLOCATION' mais on ne peut pas le vérifier:
31947 CAS_FIGURE =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",) ),
31948 TRANSF_GEOM_1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3,
31949 fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+
31950 " aux noeuds du MODELE_1 avant la projection."),
31951 TRANSF_GEOM_2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3,
31952 fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+
31953 " aux noeuds du MODELE_2 avant la projection."),
31955 ), # fin bloc b_1_et_2
31959 #-----------------------------------------------------------------------------------------------------------
31960 # 2eme cas : on s'arrete apres la creation de la sd_corresp_2_mailla
31961 #-----------------------------------------------------------------------------------------------
31962 b_1 =BLOC(condition="PROJECTION == 'NON'",
31964 METHODE =SIMP(statut='f',typ='TXM',defaut="COLLOCATION",
31965 into=("COLLOCATION","COUPLAGE",) ),
31967 regles=(UN_PARMI('MODELE_1','MAILLAGE_1'),
31968 UN_PARMI('MODELE_2','MAILLAGE_2'),
31970 MODELE_1 =SIMP(statut='f',typ=modele_sdaster),
31971 MAILLAGE_1 =SIMP(statut='f',typ=maillage_sdaster),
31973 MODELE_2 =SIMP(statut='f',typ=modele_sdaster),
31974 MAILLAGE_2 =SIMP(statut='f',typ=maillage_sdaster),
31977 # Cas de la projection COLLOCATION :
31978 #--------------------------------------------
31979 b_elem =BLOC(condition="METHODE in ('COLLOCATION',)",
31980 CAS_FIGURE =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",),
31981 fr="Pour indiquer au programme le type de projection souhaité"),
31982 DISTANCE_MAX =SIMP(statut='f',typ='R',
31983 fr="Distance maximale entre le noeud et l'élément le plus proche, lorsque le noeud n'est dans aucun élément."),
31985 TRANSF_GEOM_1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3,
31986 fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+
31987 " aux noeuds du MODELE_1 avant la projection."),
31988 TRANSF_GEOM_2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3,
31989 fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+
31990 " aux noeuds du MODELE_2 avant la projection."),
31992 ALARME =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
31996 VIS_A_VIS =FACT(statut='f',max='**',
31997 regles=(AU_MOINS_UN('TOUT_1','GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
31998 AU_MOINS_UN('TOUT_2','GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),),
31999 TOUT_1 =SIMP(statut='f',typ='TXM',into=("OUI",) ),
32000 GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
32001 MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
32002 GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
32003 NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
32004 TOUT_2 =SIMP(statut='f',typ='TXM',into=("OUI",) ),
32005 GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
32006 MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
32007 GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
32008 NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
32010 # les mots clés suivants ne sont actifs que si METHODE='COLLOCATION' mais on ne peut pas le vérifier:
32011 CAS_FIGURE =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",) ),
32012 TRANSF_GEOM_1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3,
32013 fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+
32014 " aux noeuds du MODELE_1 avant la projection."),
32015 TRANSF_GEOM_2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3,
32016 fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+
32017 " aux noeuds du MODELE_2 avant la projection."),
32023 #-----------------------------------------------------------------------------------------------------------
32024 # 3eme cas : on projette les champs avec une sd_corresp_2_mailla déjé calculée
32025 #-----------------------------------------------------------------------------------------------
32026 b_2 =BLOC(condition="MATR_PROJECTION != None",
32027 regles=(UN_PARMI('RESULTAT','CHAM_GD'),),
32028 RESULTAT =SIMP(statut='f',typ=resultat_sdaster),
32029 CHAM_GD =SIMP(statut='f',typ=(cham_no_sdaster,cham_elem)),
32031 TYPE_CHAM =SIMP(statut='f',typ='TXM',into=("NOEU",),
32032 fr="Pour forcer le type des champs projetés. NOEU -> cham_no"),
32034 NUME_DDL =SIMP(statut='f',typ=(nume_ddl_sdaster),
32035 fr="Parfois utile en dynamique pour pouvoir imposer la numérotation des cham_no."),
32037 # nécessaire si l'on projette des cham_elem :
32038 MODELE_2 =SIMP(statut='f',typ=modele_sdaster),
32040 PROL_ZERO =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON",
32041 fr="Pour prolonger les champs par zéro là où la projection ne donne pas de valeurs."),
32045 # Cas de la projection d'une sd_resultat :
32046 #--------------------------------------------
32047 b_resultat =BLOC(condition="RESULTAT != None",
32048 regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','LIST_INST','LIST_FREQ','LIST_ORDRE'),
32049 EXCLUS('TOUT_CHAM','NOM_CHAM',),),
32051 NOM_PARA =SIMP(statut='f',typ='TXM', max='**'),
32052 TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",) ),
32053 NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO(),),
32056 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
32057 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
32058 LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster),
32059 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
32060 LIST_INST =SIMP(statut='f',typ=listr8_sdaster),
32061 FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
32062 LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster),
32063 NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
32064 NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
32066 b_acce_reel =BLOC(condition="(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)",
32067 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
32068 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
32069 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
32070 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
32071 PRECISION =SIMP(statut='o',typ='R',),),
32079 TITRE =SIMP(statut='f',typ='TXM',max='**' ),
32080 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
32083 # ======================================================================
32084 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
32085 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
32086 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
32087 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
32088 # (AT YOUR OPTION) ANY LATER VERSION.
32090 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
32091 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
32092 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
32093 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
32095 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
32096 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
32097 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
32098 # ======================================================================
32099 # person_in_charge: emmanuel.boyere at edf.fr
32100 def matr_asse_gene_prod(MATR_ASSE,MATR_ASSE_GENE,**args):
32101 if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_gene_r
32102 if AsType(MATR_ASSE_GENE) == matr_asse_gene_r : return matr_asse_gene_r
32103 if AsType(MATR_ASSE) == matr_asse_depl_c : return matr_asse_gene_c
32104 if AsType(MATR_ASSE_GENE) == matr_asse_gene_c : return matr_asse_gene_c
32105 raise AsException("type de concept resultat non prevu")
32107 PROJ_MATR_BASE=OPER(nom="PROJ_MATR_BASE",op= 71,sd_prod=matr_asse_gene_prod,
32108 fr="Projection d'une matrice assemblée sur une base (modale ou de RITZ)",
32110 UIinfo={"groupes":("Matrices et vecteurs",)},
32111 regles=(UN_PARMI('MATR_ASSE','MATR_ASSE_GENE'),),
32112 BASE =SIMP(statut='o',typ=(mode_meca,mode_gene ) ),
32113 NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ),
32114 MATR_ASSE =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c) ),
32115 MATR_ASSE_GENE =SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c) ),
32118 # ======================================================================
32119 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
32120 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
32121 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
32122 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
32123 # (AT YOUR OPTION) ANY LATER VERSION.
32125 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
32126 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
32127 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
32128 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
32130 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
32131 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
32132 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
32133 # ======================================================================
32134 # person_in_charge: harinaivo.andriambololona at edf.fr
32135 def proj_mesu_modal_prod(MODELE_MESURE,**args):
32136 vale=MODELE_MESURE['MESURE']
32137 if AsType(vale) == dyna_trans : return tran_gene
32138 if AsType(vale) == dyna_harmo : return harm_gene
32139 if AsType(vale) == mode_meca : return mode_gene
32140 if AsType(vale) == mode_meca_c : return mode_gene
32141 # if AsType(vale) == base_modale : return mode_gene
32142 raise AsException("type de concept resultat non prevu")
32144 PROJ_MESU_MODAL=OPER(nom="PROJ_MESU_MODAL",op= 193,
32145 sd_prod=proj_mesu_modal_prod,
32147 UIinfo={"groupes":("Résultats et champs",)},
32148 fr="Calcul des coordonnees généralisees de mesure experimentale relatives a une base de projection",
32150 MODELE_CALCUL =FACT(statut='o',
32151 MODELE =SIMP(statut='o',typ=(modele_sdaster) ),
32152 # BASE =SIMP(statut='o',typ=(mode_meca,base_modale,) ),
32153 BASE =SIMP(statut='o',typ= mode_meca, ),
32155 MODELE_MESURE =FACT(statut='o',
32156 MODELE =SIMP(statut='o',typ=(modele_sdaster) ),
32157 # MESURE =SIMP(statut='o',typ=(dyna_trans,dyna_harmo,base_modale,mode_meca,mode_meca_c,) ),
32158 MESURE =SIMP(statut='o',typ=(dyna_trans,dyna_harmo,mode_meca,mode_meca_c,) ),
32159 NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE","ACCE",
32160 "SIEF_NOEU","EPSI_NOEU",),max='**'),
32162 CORR_MANU =FACT(statut='f',max='**',
32163 regles=(PRESENT_PRESENT('NOEU_CALCUL','NOEU_MESURE'),),
32164 NOEU_CALCUL =SIMP(statut='f',typ=no),
32165 NOEU_MESURE =SIMP(statut='f',typ=no),
32167 NOM_PARA =SIMP(statut='f',typ='TXM',max='**'),
32168 RESOLUTION =FACT(statut='f',
32169 METHODE =SIMP(statut='f',typ='TXM',defaut="LU",into=("LU","SVD",) ),
32170 b_svd =BLOC(condition="METHODE=='SVD'",
32171 EPS=SIMP(statut='f',typ='R',defaut=0. ),
32173 REGUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","NORM_MIN","TIK_RELA",) ),
32174 b_regul =BLOC(condition="REGUL!='NON'",
32175 regles=(PRESENT_ABSENT('COEF_PONDER','COEF_PONDER_F', ),),
32176 COEF_PONDER =SIMP(statut='f',typ='R',defaut=0. ,max='**' ),
32177 COEF_PONDER_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ),
32183 # ======================================================================
32184 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
32185 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
32186 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
32187 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
32188 # (AT YOUR OPTION) ANY LATER VERSION.
32190 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
32191 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
32192 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
32193 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
32195 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
32196 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
32197 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
32198 # ======================================================================
32199 # person_in_charge: albert.alarcon at edf.fr
32201 PROJ_RESU_BASE=OPER(nom="PROJ_RESU_BASE",op= 79,sd_prod=tran_gene,
32202 fr="Projection d'une sd resultat assemblee sur une base (modale ou de RITZ)",
32204 UIinfo={"groupes":("Matrices et vecteurs",)},
32205 BASE =SIMP(statut='o',typ=(mode_meca,mode_gene) ),
32206 NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ),
32207 TYPE_VECT =SIMP(statut='f',typ='TXM',defaut="FORC"),
32208 RESU =SIMP(statut='o',typ=dyna_trans),
32211 # ======================================================================
32212 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
32213 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
32214 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
32215 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
32216 # (AT YOUR OPTION) ANY LATER VERSION.
32218 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
32219 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
32220 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
32221 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
32223 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
32224 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
32225 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
32226 # ======================================================================
32227 # person_in_charge: andre.adobes at edf.fr
32228 PROJ_SPEC_BASE=OPER(nom="PROJ_SPEC_BASE",op= 146,sd_prod=interspectre,reentrant='n',
32229 UIinfo={"groupes":("Matrices et vecteurs",)},
32230 fr="Projecter un ou plusieurs spectres de turbulence sur une (ou plusieurs) base(s) modale(s) ",
32231 regles=(UN_PARMI('BASE_ELAS_FLUI','MODE_MECA','CHAM_NO'),
32232 UN_PARMI('TOUT','GROUP_MA','MAILLE'),
32233 PRESENT_PRESENT('CHAM_NO','MODELE_INTERFACE'),),
32234 SPEC_TURB =SIMP(statut='o',typ=spectre_sdaster,validators=NoRepeat(),max='**' ),
32235 TOUT_CMP =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
32236 BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster ),
32237 b_fluide = BLOC(condition="BASE_ELAS_FLUI !=None",
32238 VITE_FLUI =SIMP(statut='o',typ='R'),
32239 PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
32241 MODE_MECA =SIMP(statut='f',typ=mode_meca ),
32242 CHAM_NO =SIMP(statut='f',typ=cham_no_sdaster),
32243 FREQ_INIT =SIMP(statut='o',typ='R',val_min=0.E+0 ),
32244 FREQ_FIN =SIMP(statut='o',typ='R',val_min=0.E+0 ),
32245 NB_POIN =SIMP(statut='o',typ='I' ),
32246 OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG")),
32247 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",), ),
32248 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
32249 MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
32250 # Quel est le type attendu derriere MODELE_INTERFACE
32251 MODELE_INTERFACE=SIMP(statut='f',typ=modele_sdaster),
32252 VECT_X =SIMP(statut='f',typ='R',min=3,max=3 ),
32253 VECT_Y =SIMP(statut='f',typ='R',min=3,max=3 ),
32254 ORIG_AXE =SIMP(statut='f',typ='R',min=3,max=3 ),
32255 TITRE =SIMP(statut='f',typ='TXM',max='**' ),
32258 # ======================================================================
32259 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
32260 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
32261 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
32262 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
32263 # (AT YOUR OPTION) ANY LATER VERSION.
32265 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
32266 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
32267 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
32268 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
32270 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
32271 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
32272 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
32273 # ======================================================================
32274 # person_in_charge: emmanuel.boyere at edf.fr
32276 PROJ_VECT_BASE=OPER(nom="PROJ_VECT_BASE",op= 72,sd_prod=vect_asse_gene,
32277 fr="Projection d'un vecteur assemblé sur une base (modale ou de RITZ)",
32279 UIinfo={"groupes":("Matrices et vecteurs",)},
32280 regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE'),),
32281 BASE =SIMP(statut='o',typ=(mode_meca,mode_gene) ),
32282 NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ),
32283 TYPE_VECT =SIMP(statut='f',typ='TXM',defaut="FORC"),
32284 VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster),
32285 VECT_ASSE_GENE =SIMP(statut='f',typ=vect_asse_gene ),
32288 # ======================================================================
32289 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
32290 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
32291 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
32292 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
32293 # (AT YOUR OPTION) ANY LATER VERSION.
32295 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
32296 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
32297 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
32298 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
32300 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
32301 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
32302 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
32303 # ======================================================================
32304 # person_in_charge: samuel.geniaut at edf.fr
32307 def propa_fiss_prod(self,**args):
32308 if args.has_key('MAIL_TOTAL') :
32309 MAIL_TOTAL = args['MAIL_TOTAL']
32310 self.type_sdprod(MAIL_TOTAL,maillage_sdaster)
32311 if args.has_key('MAIL_FISS') :
32312 MAIL_FISS = args['MAIL_FISS']
32313 self.type_sdprod(MAIL_FISS,maillage_sdaster)
32314 if args.has_key('FISSURE') :
32315 FISSURE = args['FISSURE']
32316 for numfis in FISSURE :
32317 if (args['METHODE_PROPA']=='MAILLAGE') :
32318 self.type_sdprod(numfis['MAIL_PROPAGE'],maillage_sdaster)
32320 self.type_sdprod(numfis['FISS_PROPAGEE'],fiss_xfem)
32323 PROPA_FISS=MACRO(nom="PROPA_FISS",
32324 op=OPS('Macro.propa_fiss_ops.propa_fiss_ops'),
32325 sd_prod=propa_fiss_prod,
32326 fr="Propagation de fissure avec X-FEM",reentrant='n',
32327 UIinfo={"groupes":("Post-traitements","Rupture",)},
32329 METHODE_PROPA = SIMP(statut='o',typ='TXM',
32330 into=("SIMPLEXE","UPWIND","MAILLAGE","INITIALISATION","GEOMETRIQUE") ),
32332 b_hamilton = BLOC(condition="(METHODE_PROPA=='SIMPLEXE') or (METHODE_PROPA=='UPWIND') or (METHODE_PROPA=='GEOMETRIQUE') ",
32333 MODELE = SIMP(statut='o',typ=modele_sdaster),
32334 TEST_MAIL = SIMP(statut='f',typ='TXM',into=("NON","OUI",),defaut="NON"),
32335 DA_MAX = SIMP(statut='o',typ='R',max=1,val_min=0.0),
32336 RAYON = SIMP(statut='o',typ='R',),
32337 ZONE_MAJ = SIMP(statut='f',typ='TXM',into=("TOUT","TORE"),defaut="TORE"),
32338 b_tore = BLOC(condition = "ZONE_MAJ == 'TORE' ",
32339 RAYON_TORE = SIMP(statut='f',typ='R',max=1,val_min=0.0),
32341 b_propagation = BLOC(condition = "TEST_MAIL == 'NON' ",
32342 FISSURE = FACT(statut='o',min=1,max='**',
32343 FISS_ACTUELLE = SIMP(statut='o',typ=fiss_xfem,max=1),
32344 FISS_PROPAGEE = SIMP(statut='o',typ=CO,max=1),
32345 NB_POINT_FOND = SIMP(statut='f',typ='I',max='**',val_min=2),
32346 TABLE = SIMP(statut='o',typ=table_sdaster,max=1),
32348 LOI_PROPA = FACT(statut='o',max=1,
32349 LOI = SIMP(statut='o',typ='TXM',into=("PARIS",),defaut="PARIS"),
32350 b_paris = BLOC(condition = "LOI=='PARIS'",
32351 C = SIMP(statut='o',typ='R',),
32352 M = SIMP(statut='o',typ='R',),
32354 MATER = SIMP(statut='o',typ=mater_sdaster,),
32356 COMP_LINE = FACT(statut='o',max=1,
32357 COEF_MULT_MINI = SIMP(statut='o',typ='R',),
32358 COEF_MULT_MAXI = SIMP(statut='o',typ='R',),
32360 CRIT_ANGL_BIFURCATION = SIMP(statut='f',typ='TXM',max=1,defaut="SITT_MAX",
32361 into=('SITT_MAX','K1_MAX','K2_NUL','PLAN','ANGLE_IMPO'),),
32364 b_test_const = BLOC(condition = "TEST_MAIL == 'OUI' ",
32365 FISSURE = FACT(statut='o',min=1,max='**',
32366 FISS_ACTUELLE = SIMP(statut='o',typ=fiss_xfem,max=1),
32367 FISS_PROPAGEE = SIMP(statut='o',typ=CO,max=1),
32369 ITERATIONS = SIMP(statut='f',typ='I',max=1,val_min=3,defaut=5),
32370 TOLERANCE = SIMP(statut='f',typ='R',max=1,val_min=0.0,val_max=100.0,defaut=5.0),
32375 b_maillage =BLOC(condition="(METHODE_PROPA=='MAILLAGE')",
32376 MAIL_STRUC = SIMP(statut='o',typ=maillage_sdaster),
32377 ITERATION = SIMP(statut='o',typ='I',max=1),
32378 DA_MAX = SIMP(statut='o',typ='R',max=1),
32379 FISSURE = FACT(statut='o',min=1,max='**',
32380 MAIL_ACTUEL = SIMP(statut='o',typ=maillage_sdaster,max=1),
32381 GROUP_MA_FOND = SIMP(statut='f',typ=grma,defaut="FOND"),
32382 GROUP_MA_FISS = SIMP(statut='f',typ=grma,defaut="FISS"),
32383 FISS_ACTUELLE = SIMP(statut='o',typ=fiss_xfem,max=1),
32384 MAIL_PROPAGE = SIMP(statut='f',typ=CO,max=1),
32385 TABLE = SIMP(statut='o',typ=table_sdaster,max=1),
32387 MAIL_TOTAL = SIMP(statut='o',typ=CO),
32388 LOI_PROPA = FACT(statut='o',max=1,
32389 LOI = SIMP(statut='o',typ='TXM',into=("PARIS",),defaut="PARIS"),
32390 b_paris = BLOC(condition = "LOI=='PARIS'",
32391 C = SIMP(statut='o',typ='R',),
32392 M = SIMP(statut='o',typ='R',),
32394 MATER = SIMP(statut='o',typ=mater_sdaster,),
32396 COMP_LINE = FACT(statut='o',max=1,
32397 COEF_MULT_MINI = SIMP(statut='o',typ='R',),
32398 COEF_MULT_MAXI = SIMP(statut='o',typ='R',),
32400 CRIT_ANGL_BIFURCATION = SIMP(statut='f',typ='TXM',max=1,defaut="SITT_MAX",
32401 into=('SITT_MAX','K1_MAX','K2_NUL','PLAN','ANGLE_IMPO'),),
32404 b_init =BLOC(condition="(METHODE_PROPA=='INITIALISATION')",
32405 MAIL_STRUC = SIMP(statut='o',typ=maillage_sdaster),
32406 FORM_FISS = SIMP(statut='o',typ='TXM', into=("DEMI_DROITE","DEMI_PLAN","ELLIPSE"), ),
32407 GROUP_MA_FOND = SIMP(statut='f',typ=grma,defaut="FOND"),
32408 GROUP_MA_FISS = SIMP(statut='f',typ=grma,defaut="FISS"),
32409 MAIL_TOTAL = SIMP(statut='o',typ=CO),
32410 MAIL_FISS = SIMP(statut='f',typ=CO),
32412 b_droite = BLOC(condition = "FORM_FISS == 'DEMI_DROITE' ",
32413 PFON = SIMP(statut='o',typ='R',max=3),
32414 DTAN = SIMP(statut='o',typ='R',min=3,max=3),
32417 b_plan = BLOC(condition = "FORM_FISS == 'DEMI_PLAN' ",
32418 DTAN = SIMP(statut='o',typ='R',min=3,max=3),
32419 POINT_ORIG = SIMP(statut='o',typ='R',min=3,max=3),
32420 POINT_EXTR = SIMP(statut='o',typ='R',min=3,max=3),
32421 NB_POINT_FOND = SIMP(statut='o',typ='I',),
32424 b_ellipse = BLOC(condition = "FORM_FISS == 'ELLIPSE' ",
32425 CENTRE =SIMP(statut='o',typ='R',min=3,max=3),
32426 DEMI_GRAND_AXE =SIMP(statut='o',typ='R',val_min=0.E+0),
32427 DEMI_PETIT_AXE =SIMP(statut='o',typ='R',val_min=0.E+0),
32428 VECT_X =SIMP(statut='o',typ='R',min=3,max=3),
32429 VECT_Y =SIMP(statut='o',typ='R',min=3,max=3),
32430 ANGLE_ORIG = SIMP(statut='o',typ='R',),
32431 ANGLE_EXTR = SIMP(statut='o',typ='R',),
32432 NB_POINT_FOND = SIMP(statut='o',typ='I',)
32436 INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)),
32439 # ======================================================================
32440 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
32441 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
32442 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
32443 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
32444 # (AT YOUR OPTION) ANY LATER VERSION.
32446 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
32447 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
32448 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
32449 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
32451 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
32452 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
32453 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
32454 # ======================================================================
32455 # person_in_charge: samuel.geniaut at edf.fr
32457 PROPA_XFEM=OPER(nom="PROPA_XFEM",op=10,sd_prod=fiss_xfem,reentrant='n',
32458 UIinfo={"groupes":("Post-traitements","Rupture",)},
32459 fr="Propagation de fissure avec X-FEM",
32461 MODELE =SIMP(statut='o',typ=modele_sdaster),
32463 TEST_MAIL =SIMP(statut='f',typ='TXM',into=("NON","OUI",),defaut="NON"),
32465 DA_MAX =SIMP(statut='o',typ='R'),
32467 FISS_PROP =SIMP(statut='o',typ=fiss_xfem),
32469 ZONE_MAJ =SIMP(statut='f',typ='TXM',into=("TOUT","TORE"),defaut="TORE"),
32471 RAYON_TORE =SIMP(statut='f',typ='R'),
32473 LISTE_FISS =SIMP(statut='o',typ=fiss_xfem,min=1,max='**'),
32475 ANGLE =SIMP(statut='f',typ='R',max='**'),
32476 VITESSE =SIMP(statut='f',typ='R',max='**'),
32477 DA_FISS =SIMP(statut='f',typ='R'),
32478 NB_CYCLES =SIMP(statut='f',typ='R'),
32480 b_test_mail_const =BLOC( condition = "TEST_MAIL == 'OUI' ",
32481 FISS_INITIALE =SIMP(statut='o',typ=fiss_xfem,max=1),
32482 DISTANCE =SIMP(statut='o',typ='R',max=1),
32483 TOLERANCE =SIMP(statut='o',typ='R',max=1),
32486 RAYON =SIMP(statut='o',typ='R',),
32488 METHODE =SIMP(statut='f',typ='TXM',into=("SIMPLEXE","UPWIND","GEOMETRIQUE"),defaut="UPWIND"),
32490 INFO =SIMP(statut='f',typ='I',defaut= 0,into=(0,1,2) ),
32493 # ======================================================================
32494 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
32495 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
32496 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
32497 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
32498 # (AT YOUR OPTION) ANY LATER VERSION.
32500 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
32501 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
32502 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
32503 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
32505 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
32506 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
32507 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
32508 # ======================================================================
32509 # person_in_charge: renaud.bargellini at edf.fr
32511 RAFF_GP =MACRO(nom="RAFF_GP",
32512 op=OPS('Macro.raff_gp_ops.raff_gp_ops'),
32513 sd_prod=maillage_sdaster,
32514 UIinfo={"groupes":("Outils-métier","Rupture",)},
32516 fr="Preparation du maillage pour calcul du Gp en 2D",
32517 MAILLAGE_N = SIMP(statut='o',typ=maillage_sdaster,
32518 fr="Maillage avant adaptation",
32519 ang="Mesh before adaptation" ),
32520 TRANCHE_2D = FACT(statut='0',max = 1,
32521 CENTRE =SIMP(statut='o',typ='R',max=2),
32522 RAYON =SIMP(statut='o',typ='R',max=1),
32523 ANGLE =SIMP(statut='o',typ='R',max=1),
32524 TAILLE =SIMP(statut='o',typ='R',max=1),
32525 NB_ZONE =SIMP(statut='o',typ='I',),
32527 NB_RAFF = SIMP(statut='f',typ='I',defaut=4),
32530 # ======================================================================
32531 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
32532 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
32533 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
32534 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
32535 # (AT YOUR OPTION) ANY LATER VERSION.
32537 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
32538 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
32539 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
32540 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
32542 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
32543 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
32544 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
32545 # ======================================================================
32546 # person_in_charge: samuel.geniaut at edf.fr
32548 # determination du type de sd produite par la commande
32549 def raff_xfem_prod(self,TYPE,**args):
32550 if TYPE == 'DISTANCE' :
32551 return cham_no_sdaster
32552 elif TYPE == 'ZONE' :
32553 return carte_sdaster
32555 raise AsException("type de concept non prevu")
32558 RAFF_XFEM=MACRO(nom="RAFF_XFEM",
32559 op=OPS('Macro.raff_xfem_ops.raff_xfem_ops'),
32560 sd_prod=raff_xfem_prod,
32561 fr="Calcul d'un indicateur pour le raffinement",
32563 UIinfo={"groupes":("Résultats et champs","Rupture",)},
32565 TYPE =SIMP(statut='f',typ='TXM',into=('DISTANCE','ZONE'),defaut='DISTANCE'),
32566 FISSURE=SIMP(statut='o',typ=fiss_xfem,min=1,max='**',),
32568 b_zone =BLOC(condition = "TYPE == 'ZONE' ",fr="Paramètres de la zone",
32569 RAYON =SIMP(statut='o',typ='R',val_min=0.),
32574 # ======================================================================
32575 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
32576 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
32577 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
32578 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
32579 # (AT YOUR OPTION) ANY LATER VERSION.
32581 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
32582 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
32583 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
32584 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
32586 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
32587 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
32588 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
32589 # ======================================================================
32590 # person_in_charge: samuel.geniaut at edf.fr
32592 # commande cachee appelee uniquement par la macro RAFF_XFEM
32594 RAFF_XFEM_ZONE=OPER(nom="RAFF_XFEM_ZONE",
32596 # sd_prod=cham_elem,
32597 sd_prod=carte_sdaster,
32598 fr="Calcul d'un indicateur binaire pour le raffinement",
32600 UIinfo={"groupes":("Résultats et champs","Rupture",)},
32602 FISSURE=SIMP(statut='o',typ=fiss_xfem,min=1,max=1),
32603 RAYON =SIMP(statut='o',typ='R',val_min=0.),
32607 # ======================================================================
32608 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
32609 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
32610 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
32611 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
32612 # (AT YOUR OPTION) ANY LATER VERSION.
32614 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
32615 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
32616 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
32617 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
32619 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
32620 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
32621 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
32622 # ======================================================================
32623 # person_in_charge: aurore.parrot at edf.fr
32624 RECA_WEIBULL=OPER(nom="RECA_WEIBULL",op= 197,sd_prod=table_sdaster,
32625 fr="Recaler les paramètres du modèle de WEIBULL sur des données expérimentales",reentrant='n',
32626 UIinfo={"groupes":("Post-traitements",)},
32627 LIST_PARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2,into=("SIGM_REFE","M",) ),
32628 RESU =FACT(statut='o',max='**',
32629 regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST',),
32630 AU_MOINS_UN('TOUT','GROUP_MA','MAILLE', ),),
32631 EVOL_NOLI =SIMP(statut='o',typ=(evol_noli) ),
32632 MODELE =SIMP(statut='o',typ=(modele_sdaster) ),
32633 CHAM_MATER =SIMP(statut='o',typ=(cham_mater) ),
32634 TEMPE =SIMP(statut='f',typ='R' ),
32635 LIST_INST_RUPT =SIMP(statut='o',typ='R',validators=NoRepeat(),max='**' ),
32636 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
32637 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
32638 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
32639 LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ),
32640 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
32641 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
32642 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
32643 COEF_MULT =SIMP(statut='f',typ='R',defaut= 1.E0 ),
32645 OPTION =SIMP(statut='f',typ='TXM',defaut="SIGM_ELGA",into=("SIGM_ELGA","SIGM_ELMOY",) ),
32646 CORR_PLAST =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
32647 METHODE =SIMP(statut='f',typ='TXM',defaut="MAXI_VRAI",into=("MAXI_VRAI","REGR_LINE",) ),
32648 INCO_GLOB_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
32649 ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 10 ),
32650 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ,) ),
32653 # ======================================================================
32654 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
32655 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
32656 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
32657 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
32658 # (AT YOUR OPTION) ANY LATER VERSION.
32660 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
32661 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
32662 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
32663 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
32665 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
32666 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
32667 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
32668 # ======================================================================
32669 # person_in_charge: mathieu.courtois at edf.fr
32670 def recu_fonction_prod(RESULTAT=None,TABLE=None,RESU_GENE=None,
32671 BASE_ELAS_FLUI=None,CHAM_GD=None,NAPPE=None,
32672 INTE_SPEC=None,NOEUD_J=None,NUME_ORDRE_J=None,
32673 NOM_CMP_J=None,NOM_CMP_I=None,NUME_ORDRE_I=None,NOEUD_I=None,
32674 NOM_PARA_TABL=None,**args):
32675 if AsType(RESULTAT) == dyna_harmo or \
32676 AsType(RESU_GENE) == harm_gene or \
32677 (INTE_SPEC and NUME_ORDRE_J and (NUME_ORDRE_I != NUME_ORDRE_J) ) or \
32678 (INTE_SPEC and NOEUD_J and ((NOEUD_I != NOEUD_J) or (NOM_CMP_I != NOM_CMP_J)) ) or \
32679 (TABLE != None and NOM_PARA_TABL == "FONCTION_C"):
32682 return fonction_sdaster
32684 RECU_FONCTION=OPER(nom="RECU_FONCTION",op=90,sd_prod=recu_fonction_prod,
32685 fr="Extraire sous forme d'une fonction, l'évolution d'une grandeur en fonction d'une autre",
32687 UIinfo={"groupes":("Résultats et champs","Fonctions",)},
32688 regles=(UN_PARMI('CHAM_GD','RESULTAT','RESU_GENE','TABLE','BASE_ELAS_FLUI','NAPPE','INTE_SPEC'),),
32690 CHAM_GD =SIMP(statut='f',typ=(cham_no_sdaster,cham_elem,),),
32691 RESULTAT =SIMP(statut='f',typ=resultat_sdaster),
32692 RESU_GENE =SIMP(statut='f',typ=(tran_gene, mode_gene, harm_gene)),
32693 TABLE =SIMP(statut='f',typ=(table_sdaster,table_fonction)),
32694 BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster),
32695 NAPPE =SIMP(statut='f',typ=nappe_sdaster),
32696 INTE_SPEC =SIMP(statut='f',typ=interspectre),
32698 # ======= ACCES A LA SD RESULTAT =================================================
32699 b_acces = BLOC ( condition = "(RESULTAT != None) or (RESU_GENE != None)",
32700 fr="acces a une SD résultat",
32701 # on ne peut pas mettre de regles, le défaut TOUT_ORDRE est pris en compte dans le fortran
32702 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
32703 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
32704 LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster ),
32705 TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ),
32706 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
32707 LIST_INST =SIMP(statut='f',typ=listr8_sdaster ),
32708 FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
32709 LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ),
32710 NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
32711 b_prec = BLOC ( condition = "(INST != None) or (LIST_INST != None) or (FREQ != None) or (LIST_FREQ != None)",
32712 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
32713 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
32714 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
32715 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
32716 PRECISION =SIMP(statut='o',typ='R',),),
32717 INTERP_NUME =SIMP(statut='f',typ='TXM',into=("NON","LIN") ),
32720 # ======= BASE_ELAS_FLUI =================================================
32721 b_base_elas_flui = BLOC ( condition = "BASE_ELAS_FLUI != None",
32722 fr="Récupération de la fonction à partir d un concept melasflu",
32723 regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE'),),
32724 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
32725 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
32726 NUME_MODE =SIMP(statut='o',typ='I' ),
32727 PARA_X =SIMP(statut='o',typ='TXM',into=("VITE_FLU",) ),
32728 PARA_Y =SIMP(statut='o',typ='TXM',into=("FREQ","AMOR") ),
32731 # ======= INTERSPECTRE =================================================
32732 b_inte_spec = BLOC ( condition = "INTE_SPEC != None",
32733 fr="Récupération de fonction dans un concept interspectre",
32734 regles=(UN_PARMI('NUME_ORDRE_I','NOEUD_I'),),
32735 NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()),
32736 NOEUD_I =SIMP(statut='f',typ=no,max=1),
32737 NUME_ORDRE_I =SIMP(statut='f',typ='I',max=1 ),
32738 b_nume_ordre_i = BLOC (condition = "NUME_ORDRE_I != None",
32739 NUME_ORDRE_J =SIMP(statut='f',typ='I',max=1 ),
32741 b_noeud_i = BLOC (condition = "NOEUD_I != None",
32742 NOEUD_J =SIMP(statut='f',typ=no,max=1),
32743 NOM_CMP_I =SIMP(statut='o',typ='TXM',max=1 ),
32744 NOM_CMP_J =SIMP(statut='f',typ='TXM',max=1 ),
32748 # ======= TABLE =================================================
32749 b_table = BLOC ( condition = "TABLE != None",
32750 fr="Récupération de la fonction à partir d un concept table",
32751 regles=(UN_PARMI('PARA_X','NOM_PARA_TABL'),
32752 PRESENT_PRESENT('PARA_X','PARA_Y'),),
32753 PARA_X = SIMP(statut='f',typ='TXM',
32754 fr="1ère colonne de la table qui définit la fonction à récupérer", ),
32755 PARA_Y = SIMP(statut='f',typ='TXM',
32756 fr="2ème colonne de la table qui définit la fonction à récupérer", ),
32757 #b_tabl_fonc = BLOC(condition = "AsType(TABLE) == table_fonction",
32758 NOM_PARA_TABL = SIMP(statut='f',typ='TXM',into=("FONCTION","FONCTION_C"),
32759 fr="Nom du paramètre de la table contenant la fonction" ),
32762 FILTRE = FACT(statut='f',max='**',
32763 NOM_PARA =SIMP(statut='o',typ='TXM' ),
32764 CRIT_COMP =SIMP(statut='f',typ='TXM',defaut="EQ",
32765 into=("EQ","LT","GT","NE","LE","GE","VIDE",
32766 "NON_VIDE","MAXI","MAXI_ABS","MINI","MINI_ABS") ),
32767 b_vale =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
32768 regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
32769 VALE =SIMP(statut='f',typ='R' ),
32770 VALE_I =SIMP(statut='f',typ='I' ),
32771 VALE_C =SIMP(statut='f',typ='C' ),
32772 VALE_K =SIMP(statut='f',typ='TXM' ),),
32774 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
32775 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
32779 # ======= RESULTAT =================================================
32780 b_resu = BLOC ( condition = "RESULTAT != None", fr="Opérandes en cas de RESULTAT",
32781 regles=(UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),),
32782 NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()),
32783 NOM_PARA_RESU =SIMP(statut='f',typ='TXM' ),
32784 b_cham = BLOC ( condition = "NOM_CHAM != None",
32785 regles=(AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD'),
32786 PRESENT_ABSENT('POINT','NOEUD','GROUP_NO'),
32787 PRESENT_ABSENT('SOUS_POINT','NOEUD','GROUP_NO'),
32788 EXCLUS('GROUP_MA','MAILLE'),
32789 EXCLUS('GROUP_NO','NOEUD'),),
32790 NOM_CMP =SIMP(statut='o',typ='TXM' ),
32791 MAILLE =SIMP(statut='f',typ=ma),
32792 GROUP_MA =SIMP(statut='f',typ=grma),
32793 NOEUD =SIMP(statut='f',typ=no),
32794 GROUP_NO =SIMP(statut='f',typ=grno),
32795 POINT =SIMP(statut='f',typ='I' ),
32796 SOUS_POINT =SIMP(statut='f',typ='I' ),
32800 # ======= RESU_GENE =================================================
32801 b_tran_gene = BLOC ( condition = "AsType(RESU_GENE) == tran_gene",
32802 fr="Récupération d'une fonction à partir d un concept TRAN_GENE",
32803 regles=(UN_PARMI('NOM_CHAM','NOEUD_CHOC','GROUP_NO_CHOC'),),
32804 NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=("DEPL","VITE","ACCE","PTEM") ),
32805 NOEUD_CHOC =SIMP(statut='f',typ=no),
32806 GROUP_NO_CHOC =SIMP(statut='f',typ=grno),
32807 b_cham = BLOC ( condition = "(NOM_CHAM=='DEPL') or (NOM_CHAM=='VITE') or (NOM_CHAM=='ACCE')",
32808 regles=(UN_PARMI('GROUP_NO','NOEUD','NUME_CMP_GENE',),
32809 UN_PARMI('NOM_CMP','NUME_CMP_GENE',),
32810 EXCLUS('MULT_APPUI','CORR_STAT'),),
32811 NOM_CMP =SIMP(statut='f',typ='TXM' ),
32812 NUME_CMP_GENE =SIMP(statut='f',typ='I' ),
32813 NOEUD =SIMP(statut='f',typ=no),
32814 GROUP_NO =SIMP(statut='f',typ=grno),
32815 MULT_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ),
32816 CORR_STAT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
32817 ACCE_MONO_APPUI =SIMP(statut='f',typ=(fonction_sdaster,formule)),
32819 b_choc = BLOC ( condition = "(NOEUD_CHOC != None) or (GROUP_NO_CHOC != None)",
32820 regles=(PRESENT_PRESENT('SOUS_STRUC','INTITULE'),),
32821 PARA_X =SIMP(statut='o',typ='TXM',
32822 into=("INST","FN","FT1","FT2","VN","VT1","VT2","DXLOC","DYLOC","DZLOC") ),
32823 PARA_Y =SIMP(statut='o',typ='TXM',
32824 into=("INST","FN","FT1","FT2","VN","VT1","VT2","DXLOC","DYLOC","DZLOC") ),
32825 LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ),
32826 INTITULE =SIMP(statut='f',typ='TXM' ),
32827 SOUS_STRUC =SIMP(statut='f',typ='TXM' ),
32830 b_harm_gene = BLOC ( condition = "AsType(RESU_GENE)==harm_gene",
32831 fr="Récupération d'une fonction à partir d un concept HARM_GENE",
32832 regles=(UN_PARMI('NOM_CMP','NUME_CMP_GENE'),
32833 UN_PARMI('GROUP_NO','NOEUD','NUME_CMP_GENE',),),
32834 NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=("DEPL","VITE","ACCE") ),
32835 NOM_CMP =SIMP(statut='f',typ='TXM' ),
32836 NUME_CMP_GENE =SIMP(statut='f',typ='I' ),
32837 NOEUD =SIMP(statut='f',typ=no),
32838 GROUP_NO =SIMP(statut='f',typ=grno),
32840 # b_harm_gene = BLOC ( condition = "AsType(RESU_GENE)==harm_gene",
32841 # fr="Récupération d'une fonction à partir d un concept HARM_GENE",
32842 # regles=(UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),),
32843 # NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()),
32844 # NOM_PARA_RESU =SIMP(statut='f',typ='TXM' ),
32845 # b_cham = BLOC ( condition = "NOM_CHAM != None",
32846 # regles=(UN_PARMI('NUME_CMP_GENE','NOM_CMP'),),
32847 # NUME_CMP_GENE =SIMP(statut='f',typ='I' ),
32848 # NOM_CMP =SIMP(statut='f',typ='TXM' ),
32849 # b_cmp = BLOC ( condition = "NOM_CMP != None",
32850 # regles=(UN_PARMI('NOEUD','GROUP_NO'),),
32851 # NOEUD =SIMP(statut='f',typ=no),
32852 # GROUP_NO =SIMP(statut='f',typ=grno),
32856 b_mode_gene = BLOC ( condition = "AsType(RESU_GENE)==mode_gene",
32857 fr="Récupération d'une fonction à partir d un concept MODE_GENE",
32858 regles=(UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),),
32859 NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()),
32860 NOM_PARA_RESU =SIMP(statut='f',typ='TXM' ),
32861 b_cham = BLOC ( condition = "NOM_CHAM != None",
32862 regles=(UN_PARMI('NUME_CMP_GENE','NOM_CMP'),),
32863 NUME_CMP_GENE =SIMP(statut='f',typ='I' ),
32864 NOM_CMP =SIMP(statut='f',typ='TXM' ),
32865 b_cmp = BLOC ( condition = "NOM_CMP != None",
32866 regles=(UN_PARMI('NOEUD','GROUP_NO'),
32867 UN_PARMI('SQUELETTE','SOUS_STRUC'),),
32868 NOEUD =SIMP(statut='f',typ=no),
32869 GROUP_NO =SIMP(statut='f',typ=grno),
32870 SQUELETTE =SIMP(statut='f',typ=squelette ),
32871 SOUS_STRUC =SIMP(statut='f',typ='TXM' ),
32876 # ======= CHAM_GD =================================================
32877 b_cham_gd = BLOC ( condition = "(CHAM_GD != None)", fr="Opérandes en cas de CHAM_GD",
32878 regles=(AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD'),
32879 PRESENT_ABSENT('POINT','NOEUD','GROUP_NO'),
32880 PRESENT_ABSENT('SOUS_POINT','NOEUD','GROUP_NO'),
32881 EXCLUS('GROUP_MA','MAILLE'),
32882 EXCLUS('GROUP_NO','NOEUD'),),
32883 NOM_CMP =SIMP(statut='o',typ='TXM' ),
32884 MAILLE =SIMP(statut='f',typ=ma),
32885 GROUP_MA =SIMP(statut='f',typ=grma),
32886 NOEUD =SIMP(statut='f',typ=no),
32887 GROUP_NO =SIMP(statut='f',typ=grno),
32888 POINT =SIMP(statut='f',typ='I' ),
32889 SOUS_POINT =SIMP(statut='f',typ='I' ),
32892 # ======= NAPPE =================================================
32893 b_nappe = BLOC ( condition = "(NAPPE != None)", fr="Opérandes en cas de NAPPE",
32894 VALE_PARA_FONC =SIMP(statut='o',typ='R' ),
32895 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
32896 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
32899 # ======= SURCHARGE DES ATTRIBUTS =================================================
32900 NOM_PARA =SIMP(statut='f',typ='TXM', into=C_PARA_FONCTION() ),
32901 NOM_RESU =SIMP(statut='f',typ='TXM' ),
32902 INTERPOL =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ),
32903 PROL_DROITE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
32904 PROL_GAUCHE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
32906 TITRE =SIMP(statut='f',typ='TXM',max='**'),
32907 INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
32910 # ======================================================================
32911 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
32912 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
32913 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
32914 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
32915 # (AT YOUR OPTION) ANY LATER VERSION.
32917 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
32918 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
32919 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
32920 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
32922 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
32923 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
32924 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
32925 # ======================================================================
32926 # person_in_charge: emmanuel.boyere at edf.fr
32927 RECU_GENE=OPER(nom="RECU_GENE",op= 76,sd_prod=vect_asse_gene,reentrant='n',
32928 UIinfo={"groupes":("Résultats et champs",)},
32929 fr="Extraire d'un champ de grandeur (déplacements, vitesses ou accélérations) à partir de résultats"
32930 +" en coordonnées généralisées",
32931 regles=(UN_PARMI('FREQ','INST',),),
32932 RESU_GENE =SIMP(statut='o',typ=(tran_gene,harm_gene),),
32933 INST =SIMP(statut='f',typ='R',),
32934 FREQ =SIMP(statut='f',typ='R',),
32935 NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE","ACCE",),),
32936 b_interp_temp=BLOC(condition="INST != None and FREQ == None",
32937 INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN",),),
32938 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
32939 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
32940 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
32941 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
32942 PRECISION =SIMP(statut='o',typ='R',),),),
32945 # ======================================================================
32946 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
32947 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
32948 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
32949 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
32950 # (AT YOUR OPTION) ANY LATER VERSION.
32952 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
32953 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
32954 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
32955 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
32957 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
32958 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
32959 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
32960 # ======================================================================
32961 # person_in_charge: nicolas.greffet at edf.fr
32963 # RECUPERATION DE PARAMETRES DE COUPLAGE VIA YACS
32965 RECU_PARA_YACS=OPER(nom="RECU_PARA_YACS",op=114,sd_prod=listr8_sdaster,
32967 UIinfo={"groupes":("Fonction",)},
32968 fr = "Gestion des scalaires via YACS pour le coupleur IFS",
32969 DONNEES = SIMP(statut='o',typ='TXM',into=("INITIALISATION","CONVERGENCE","FIN","PAS",) ),
32970 b_init = BLOC(condition= "DONNEES=='INITIALISATION'",
32971 PAS = SIMP(statut='o',typ='R', ),),
32972 b_noinit = BLOC(condition= "(DONNEES=='CONVERGENCE')or(DONNEES=='FIN')",
32973 NUME_ORDRE_YACS = SIMP(statut='o', typ='I',),
32974 INST = SIMP(statut='o',typ='R', ),
32975 PAS = SIMP(statut='o',typ='R', ),),
32976 b_pastps = BLOC(condition= "(DONNEES=='PAS')",
32977 NUME_ORDRE_YACS = SIMP(statut='o', typ='I',),
32978 INST = SIMP(statut='o',typ='R', ),
32979 PAS = SIMP(statut='o',typ='R', ),),
32980 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
32981 TITRE =SIMP(statut='f',typ='TXM',max='**'),
32984 # ======================================================================
32985 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
32986 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
32987 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
32988 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
32989 # (AT YOUR OPTION) ANY LATER VERSION.
32991 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
32992 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
32993 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
32994 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
32996 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
32997 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
32998 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
32999 # ======================================================================
33000 # person_in_charge: mathieu.courtois at edf.fr
33001 RECU_TABLE=OPER(nom="RECU_TABLE",op= 174,sd_prod=table_sdaster,
33002 fr="Récupérer dans une table les valeurs d'un paramètre d'une SD Résultat ou d'extraire une table contenue"
33003 +" dans une autre SD pour celles qui le permettent",
33004 UIinfo={"groupes":("Résultats et champs","Tables",)},reentrant='n',
33005 CO =SIMP(statut='o',typ=assd),
33006 regles=(UN_PARMI('NOM_TABLE','NOM_PARA')),
33007 NOM_TABLE =SIMP(statut='f',typ='TXM' ),
33008 NOM_PARA =SIMP(statut='f',typ='TXM',max='**'),
33009 TITRE =SIMP(statut='f',typ='TXM',max='**'),
33012 # ======================================================================
33013 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
33014 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
33015 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
33016 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
33017 # (AT YOUR OPTION) ANY LATER VERSION.
33019 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
33020 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
33021 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
33022 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
33024 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
33025 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
33026 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
33027 # ======================================================================
33028 # person_in_charge: jacques.pellet at edf.fr
33030 RESOUDRE=OPER(nom="RESOUDRE",op=15,sd_prod=cham_no_sdaster,reentrant='f',
33031 fr="Résolution par méthode directe un système d'équations linéaires préalablement factorisé par FACT_LDLT"+
33032 "ou Résolution d'un système linéaire par la méthode du gradient conjugué préconditionné",
33033 UIinfo={"groupes":("Résolution",)},
33034 MATR =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,
33035 matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ),
33036 CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster),
33037 CHAM_CINE =SIMP(statut='f',typ=cham_no_sdaster),
33039 # mot-clé commun aux solveurs MUMPS, GCPC et PETSc:
33040 RESI_RELA =SIMP(statut='f',typ='R',defaut=1.E-6),
33042 # mot-clé pour les posttraitements de la phase de solve de MUMPS
33043 POSTTRAITEMENTS =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("SANS","AUTO","FORCE")),
33045 # mot-clé commun aux solveurs GCPC et PETSc:
33046 NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ),
33047 MATR_PREC =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ),
33049 # mots-clés pour solveur PETSc:
33050 ALGORITHME =SIMP(statut='f',typ='TXM',into=("CG", "CR", "GMRES", "GCR", ),defaut="GMRES" ),
33052 TITRE =SIMP(statut='f',typ='TXM',max='**'),
33053 INFO =SIMP(statut='f',typ='I',into=(1,2) ),
33056 # ======================================================================
33057 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
33058 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
33059 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
33060 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
33061 # (AT YOUR OPTION) ANY LATER VERSION.
33063 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
33064 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
33065 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
33066 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
33068 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
33069 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
33070 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
33071 # ======================================================================
33073 # person_in_charge: Georges-cc.devesa at edf.fr
33074 def rest_cond_tran_prod(RESULTAT,TYPE_RESU,**args ):
33076 if AsType(RESULTAT) == dyna_trans : return dyna_trans
33077 if (AsType(RESULTAT) == evol_noli and TYPE_RESU == "DYNA_TRANS") : return dyna_trans
33078 if (AsType(RESULTAT) == evol_noli and TYPE_RESU == "EVOL_NOLI") : return evol_noli
33080 raise AsException("type de concept resultat non prevu")
33082 REST_COND_TRAN=OPER(nom="REST_COND_TRAN",op= 78,sd_prod=rest_cond_tran_prod,
33083 fr="Restituer dans la base physique des résultats issus d'un calcul"
33084 +"non-lineaire avec projection modale ou d'un calcul transitoire linear"
33085 +"avec condensation dynamique",
33087 UIinfo={"groupes":("Matrices et vecteurs",)},
33089 EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','TOUT_INST'),
33090 EXCLUS('MACR_ELEM_DYNA','BASE_MODALE'),),
33091 RESULTAT =SIMP(statut='f',typ=(evol_noli,dyna_trans) ),
33092 TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="DYNA_TRANS",
33093 into=("DYNA_TRANS","EVOL_NOLI") ),
33094 BASE_MODALE =SIMP(statut='f',typ=mode_meca),
33095 # NUME_DDL =SIMP(statut='f',typ=nume_ddl_sdaster ),
33096 MACR_ELEM_DYNA =SIMP(statut='f',typ=macr_elem_dyna),
33097 TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ),
33098 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
33099 LIST_INST =SIMP(statut='f',typ=listr8_sdaster ),
33100 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
33101 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
33102 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ),
33103 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
33104 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
33105 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
33106 PRECISION =SIMP(statut='o',typ='R',),),
33107 INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ),
33108 TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",) ),
33109 b_nom_cham=BLOC(condition="TOUT_CHAM == None",
33110 NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,defaut="ACCE",into=("DEPL",
33111 "VITE","ACCE",),),),
33112 b_base_moda=BLOC(condition="BASE_MODALE != None",
33113 CHAM_MATER =SIMP(statut='f',typ=cham_mater),
33114 CARA_ELEM =SIMP(statut='f',typ=cara_elem),),
33115 RESU_FINAL =SIMP(statut='f',typ=(evol_noli,dyna_trans) ),
33116 TITRE =SIMP(statut='f',typ='TXM',max='**' ),
33119 # ======================================================================
33120 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
33121 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
33122 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
33123 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
33124 # (AT YOUR OPTION) ANY LATER VERSION.
33126 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
33127 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
33128 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
33129 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
33131 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
33132 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
33133 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
33134 # ======================================================================
33136 # person_in_charge: emmanuel.boyere at edf.fr
33138 def rest_gene_phys_prod(RESU_GENE,**args ):
33139 if AsType(RESU_GENE) == tran_gene : return dyna_trans
33140 if AsType(RESU_GENE) == mode_gene : return mode_meca
33141 if AsType(RESU_GENE) == harm_gene : return dyna_harmo
33143 raise AsException("type de concept resultat non prevu")
33145 REST_GENE_PHYS=OPER(nom="REST_GENE_PHYS",op= 75,sd_prod=rest_gene_phys_prod,
33146 fr="Restituer dans la base physique des résultats en coordonnées généralisées",
33148 UIinfo={"groupes":("Matrices et vecteurs",)},
33150 EXCLUS('INST','LIST_INST','TOUT_INST',
33151 'TOUT_ORDRE','NUME_ORDRE','NUME_MODE',),
33152 EXCLUS('FREQ','LIST_FREQ'),
33153 EXCLUS('MULT_APPUI','CORR_STAT'),
33154 EXCLUS('MULT_APPUI','NOEUD','GROUP_NO'),
33155 EXCLUS('CORR_STAT','NOEUD','GROUP_NO'),
33156 EXCLUS('NOEUD','GROUP_NO'),
33157 EXCLUS('MAILLE','GROUP_MA'),
33158 PRESENT_PRESENT('ACCE_MONO_APPUI','DIRECTION'),),
33159 RESU_GENE =SIMP(statut='f',typ=(tran_gene,mode_gene,harm_gene) ),
33160 MODE_MECA =SIMP(statut='f',typ=mode_meca ),
33161 NUME_DDL =SIMP(statut='f',typ=nume_ddl_sdaster ),
33162 TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ),
33163 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
33164 LIST_INST =SIMP(statut='f',typ=listr8_sdaster ),
33165 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
33166 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
33167 NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
33168 FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
33169 LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ),
33170 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ),
33171 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
33172 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
33173 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
33174 PRECISION =SIMP(statut='o',typ='R',),),
33175 INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ),
33176 MULT_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ),
33177 CORR_STAT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
33178 TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",) ),
33179 b_nom_cham=BLOC(condition="TOUT_CHAM == None",
33180 NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=8,defaut="ACCE",into=("DEPL",
33181 "VITE","ACCE","ACCE_ABSOLU","EFGE_ELNO","SIPO_ELNO","SIGM_ELNO","FORC_NODA",),),),
33182 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
33183 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
33184 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
33185 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
33186 ACCE_MONO_APPUI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
33187 DIRECTION =SIMP(statut='f',typ='R',min=3,max=3 ),
33188 TITRE =SIMP(statut='f',typ='TXM',max='**' ),
33191 # ======================================================================
33192 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
33193 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
33194 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
33195 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
33196 # (AT YOUR OPTION) ANY LATER VERSION.
33198 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
33199 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
33200 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
33201 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
33203 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
33204 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
33205 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
33206 # ======================================================================
33207 def rest_mode_nonl_prod(TYPE_RESU,**args):
33208 if TYPE_RESU == 'DYNA_TRANS' : return dyna_trans
33209 elif TYPE_RESU == 'MODE_MECA' : return mode_meca
33210 raise AsException("type de concept resultat non prevu")
33212 REST_MODE_NONL=OPER(nom="REST_MODE_NONL", op=63,
33213 sd_prod=rest_mode_nonl_prod, reentrant='n',
33214 fr="Post traitement de mode_non_line : \
33215 recuperation resultats ",
33216 UIinfo={"groupes":("Post-traitements",)},
33218 MODE_NON_LINE =SIMP(statut='o',typ=table_container,max=1),
33219 TYPE_RESU =SIMP(statut='o',typ='TXM',into=('MODE_MECA','DYNA_TRANS'),defaut='DYNA_TRANS',max=1),
33220 NUME_ORDRE =SIMP(statut='o',typ='I',max=1),
33221 b_dyna_trans =BLOC(condition="TYPE_RESU=='DYNA_TRANS'",
33222 NB_INST =SIMP(statut='f',typ='I',max=1,defaut=512),),
33223 INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
33229 # ======================================================================
33230 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
33231 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
33232 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
33233 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
33234 # (AT YOUR OPTION) ANY LATER VERSION.
33236 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
33237 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
33238 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
33239 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
33241 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
33242 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
33243 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
33244 # ======================================================================
33246 # person_in_charge: mathieu.corus at edf.fr
33247 def rest_sous_struc_prod(RESU_GENE,RESULTAT,**args ):
33248 if AsType(RESU_GENE) == tran_gene : return dyna_trans
33249 if AsType(RESU_GENE) == mode_gene : return mode_meca
33250 if AsType(RESU_GENE) == mode_cycl : return mode_meca
33251 if AsType(RESU_GENE) == harm_gene : return dyna_harmo
33252 if AsType(RESULTAT) == evol_noli : return evol_noli
33253 if AsType(RESULTAT) == dyna_trans : return dyna_trans
33254 if AsType(RESULTAT) == mode_meca : return mode_meca
33255 raise AsException("type de concept resultat non prevu")
33257 REST_SOUS_STRUC=OPER(nom="REST_SOUS_STRUC",op= 77,sd_prod=rest_sous_struc_prod,
33258 fr="Restituer dans la base physique des résultats obtenus par sous-structuration",
33260 UIinfo={"groupes":("Matrices et vecteurs",)},
33261 regles=(UN_PARMI('RESU_GENE','RESULTAT'),
33262 # ajout d'une regle de Ionel et Nicolas:
33263 # UN_PARMI('NOM_CHAM','TOUT_CHAM'),
33265 EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','TOUT_INST','NUME_MODE',
33266 'FREQ', 'LIST_FREQ'),
33268 EXCLUS('NOEUD','GROUP_NO'),
33269 EXCLUS('MAILLE','GROUP_MA'),
33270 PRESENT_PRESENT('RESULTAT','SQUELETTE'),
33271 UN_PARMI('SQUELETTE','SOUS_STRUC','SECTEUR'),
33274 RESULTAT =SIMP(statut='f',typ=(evol_noli,dyna_trans,
33276 RESU_GENE =SIMP(statut='f',typ=(tran_gene,mode_gene,mode_cycl,harm_gene) ),
33277 NUME_DDL =SIMP(statut='f',typ=nume_ddl_sdaster ),
33278 MODE_MECA =SIMP(statut='f',typ=mode_meca ),
33279 TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ),
33280 NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
33281 NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
33282 TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ),
33283 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
33284 LIST_INST =SIMP(statut='f',typ=listr8_sdaster ),
33285 FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
33286 LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ),
33287 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ),
33288 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
33289 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
33290 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
33291 PRECISION =SIMP(statut='o',typ='R',),),
33292 INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ),
33293 TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",) ),
33294 b_nom_cham=BLOC(condition="TOUT_CHAM == None",
33295 NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=8,defaut="ACCE",into=("DEPL",
33296 "VITE","ACCE","ACCE_ABSOLU","EFGE_ELNO","SIPO_ELNO","SIGM_ELNO","FORC_NODA",) ),),
33297 GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
33298 NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'),
33299 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
33300 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
33301 CYCLIQUE =FACT(statut='f',max='**',
33302 NB_SECTEUR =SIMP(statut='f',typ='I',validators=NoRepeat(),max=1 ),
33303 NUME_DIAMETRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max=1 ),
33304 RESULTAT2 =SIMP(statut='f',typ=(evol_elas,evol_noli,dyna_trans,evol_char,
33308 SQUELETTE =SIMP(statut='f',typ=squelette ),
33309 SOUS_STRUC =SIMP(statut='f',typ='TXM' ),
33310 SECTEUR =SIMP(statut='f',typ='I'),
33311 TITRE =SIMP(statut='f',typ='TXM',max='**' ),
33314 # ======================================================================
33315 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
33316 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
33317 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
33318 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
33319 # (AT YOUR OPTION) ANY LATER VERSION.
33321 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
33322 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
33323 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
33324 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
33326 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
33327 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
33328 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
33329 # ======================================================================
33330 # person_in_charge: andre.adobes at edf.fr
33331 REST_SPEC_PHYS=OPER(nom="REST_SPEC_PHYS",op= 148,sd_prod=interspectre,
33333 fr="Calculer la réponse d'une structure dans la base physique",
33334 UIinfo={"groupes":("Matrices et vecteurs",)},
33335 regles=(AU_MOINS_UN('BASE_ELAS_FLUI','MODE_MECA'),),
33336 BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster ),
33337 b_fluide = BLOC(condition="BASE_ELAS_FLUI !=None",
33338 VITE_FLUI =SIMP(statut='o',typ='R'),
33339 PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
33341 MODE_MECA =SIMP(statut='f',typ=mode_meca,),
33342 BANDE =SIMP(statut='f',typ='R',min=2,validators=NoRepeat(),max=2 ),
33343 NUME_ORDRE =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**' ),
33344 TOUT_ORDRE =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON") ),
33345 INTE_SPEC_GENE =SIMP(statut='o',typ=interspectre),
33346 NOEUD =SIMP(statut='o',typ=no ,max='**'),
33347 MAILLE =SIMP(statut='f',typ=ma ,max='**'),
33348 NOM_CMP =SIMP(statut='o',typ='TXM',max='**'),
33349 NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=7,into=("DEPL",
33350 "VITE","ACCE","EFGE_ELNO","SIPO_ELNO","SIGM_ELNO","FORC_NODA") ),
33351 MODE_STAT =SIMP(statut='f',typ=mode_meca ),
33352 EXCIT =FACT(statut='f',
33353 NOEUD =SIMP(statut='o',typ=no ,max='**'),
33354 NOM_CMP =SIMP(statut='o',typ='TXM',max='**'),
33356 MOUVEMENT =SIMP(statut='f',typ='TXM',defaut="ABSOLU",into=("RELATIF","ABSOLU","DIFFERENTIEL") ),
33357 OPTION =SIMP(statut='f',typ='TXM',defaut="DIAG_DIAG",
33358 into=("DIAG_TOUT","DIAG_DIAG","TOUT_TOUT","TOUT_DIAG") ),
33359 TITRE =SIMP(statut='f',typ='TXM',max='**' ),
33362 # ======================================================================
33363 # COPYRIGHT (C) 1991 - 2008 EDF R&D WWW.CODE-ASTER.ORG
33364 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
33365 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
33366 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
33367 # (AT YOUR OPTION) ANY LATER VERSION.
33369 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
33370 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
33371 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
33372 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
33374 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
33375 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
33376 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
33377 # ======================================================================
33378 # person_in_charge: Georges-cc.devesa at edf.fr
33379 def rest_spec_temp_prod(RESU_GENE,RESULTAT,**args):
33380 if AsType(RESULTAT) == dyna_harmo : return dyna_trans
33381 if AsType(RESU_GENE) == harm_gene : return tran_gene
33382 if AsType(RESULTAT) == dyna_trans : return dyna_harmo
33383 if AsType(RESU_GENE) == tran_gene : return harm_gene
33384 raise AsException("type de concept resultat non prevu")
33387 REST_SPEC_TEMP=OPER(nom="REST_SPEC_TEMP",op=181,sd_prod=rest_spec_temp_prod,
33388 fr="Transformée de Fourier d'un résultat",
33390 UIinfo={"groupes":("Matrices et vecteurs",)},
33391 regles=UN_PARMI('RESU_GENE','RESULTAT'),
33392 RESU_GENE =SIMP(statut='f',typ=(harm_gene,tran_gene,) ),
33393 RESULTAT =SIMP(statut='f',typ=(dyna_harmo,dyna_trans,) ),
33394 METHODE =SIMP(statut='f',typ='TXM',defaut="PROL_ZERO",into=("PROL_ZERO","TRONCATURE") ),
33395 SYMETRIE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
33396 TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",)),
33397 NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,into=("DEPL","VITE","ACCE") ),
33400 # ======================================================================
33401 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
33402 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
33403 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
33404 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
33405 # (AT YOUR OPTION) ANY LATER VERSION.
33407 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
33408 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
33409 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
33410 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
33412 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
33413 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
33414 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
33415 # ======================================================================
33416 # person_in_charge: jean-michel.proix at edf.fr
33419 SIMU_POINT_MAT=MACRO(nom="SIMU_POINT_MAT",
33420 op=OPS('Macro.simu_point_mat_ops.simu_point_mat_ops'),
33421 sd_prod=table_sdaster,
33422 UIinfo={"groupes":("Résolution",)},
33423 fr="Calcul de l'évolution mécanique, en quasi-statique," \
33424 " d'un point matériel en non linéaire",
33425 COMPORTEMENT =C_COMPORTEMENT(),
33426 MATER =SIMP(statut='o',typ=mater_sdaster,max=30),
33428 ## ANGLE : rotation de ANGLE autour de Z uniquement, et seulement pour les déformations imposées.
33429 ANGLE =SIMP(statut='f',typ='R',max=1, defaut=0.),
33430 # --MASSIF : orientation du materiau (monocristal, orthotropie)
33431 MASSIF =FACT(statut='f',max='**',
33432 regles=(UN_PARMI('ANGL_REP','ANGL_EULER'),),
33433 ANGL_REP =SIMP(statut='f',typ='R',min=1,max=3),
33434 ANGL_EULER =SIMP(statut='f',typ='R',min=1,max=3),
33436 INCREMENT =C_INCREMENT('MECANIQUE'),
33437 NEWTON =C_NEWTON(),
33438 CONVERGENCE =C_CONVERGENCE(),
33440 SUPPORT= SIMP(statut='f',typ='TXM',max=1,into=("POINT","ELEMENT",),defaut=("POINT"),),
33442 b_PM = BLOC(condition="SUPPORT == 'POINT'",fr="Simulation sans élément fini",
33443 FORMAT_TABLE =SIMP(statut='f',typ='TXM',max=1,into=("CMP_COLONNE","CMP_LIGNE",),defaut=("CMP_COLONNE"),),
33444 NB_VARI_TABLE =SIMP(statut='f',typ='I',max=1,),
33445 OPER_TANGENT =SIMP(statut='f',typ='TXM',max=1,into=("OUI","NON",),defaut="NON",),
33446 ARCHIVAGE =FACT(statut='f',
33447 LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ),
33448 INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
33449 PAS_ARCH =SIMP(statut='f',typ='I' ),
33450 PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-6),
33452 # on permet certaines variables de commandes scalaires, définies par une fonction du temps
33453 # on permet ici seulementn celles qui sont validees
33454 AFFE_VARC = FACT(statut='f',max='**',
33455 NOM_VARC =SIMP(statut='o',typ='TXM', into=("TEMP","IRRA","SECH")),
33456 VALE_FONC = SIMP(statut='f',typ=(fonction_sdaster,formule) ),
33458 # VALE_REF est nécessaire pour certaines VARC :
33459 B_VALE_REF =BLOC(condition="NOM_VARC in ('TEMP', 'SECH')",
33460 VALE_REF =SIMP(statut='o',typ='R'),
33463 # un mot clé caché qui ne sert qu'à boucler sur les VARC possibles :
33464 LIST_NOM_VARC =SIMP(statut='c',typ='TXM', defaut=("TEMP","IRRA","SECH")),
33467 b_EF = BLOC(condition="SUPPORT == 'ELEMENT'",fr="Simulation sur un élément fini",
33468 MODELISATION =SIMP(statut='f',typ='TXM',max=1,into=("3D","C_PLAN","D_PLAN",)),
33469 RECH_LINEAIRE =C_RECH_LINEAIRE(),
33470 ARCHIVAGE =C_ARCHIVAGE(),
33471 SUIVI_DDL =C_SUIVI_DDL(),
33473 # on permet certaines variables de commandes scalaires, définies par une fonction du temps
33474 # a priori toutes doivent fonctionner
33475 AFFE_VARC = FACT(statut='f',max='**',
33476 NOM_VARC =SIMP(statut='o',typ='TXM', into=("TEMP","CORR","IRRA","HYDR","SECH","M_ACIER","M_ZIRC",
33477 "EPSA","NEUT1","NEUT2")),
33478 VALE_FONC = SIMP(statut='f',typ=(fonction_sdaster,formule) ),
33479 VALE_REF = SIMP(statut='f',typ='R'),
33481 b_ZIRC = BLOC(condition="NOM_VARC=='M_ZIRC'",
33482 V1 = SIMP(statut='o',typ=(fonction_sdaster,formule) ),
33483 V2 = SIMP(statut='o',typ=(fonction_sdaster,formule) ),
33484 V3 = SIMP(statut='o',typ=(fonction_sdaster,formule) ),
33485 V4 = SIMP(statut='o',typ=(fonction_sdaster,formule) ),
33488 b_ACIER = BLOC(condition="NOM_VARC=='M_ACIER'",
33489 V1 = SIMP(statut='o',typ=(fonction_sdaster,formule) ),
33490 V2 = SIMP(statut='o',typ=(fonction_sdaster,formule) ),
33491 V3 = SIMP(statut='o',typ=(fonction_sdaster,formule) ),
33492 V4 = SIMP(statut='o',typ=(fonction_sdaster,formule) ),
33493 V5 = SIMP(statut='o',typ=(fonction_sdaster,formule) ),
33494 V6 = SIMP(statut='o',typ=(fonction_sdaster,formule) ),
33495 V7 = SIMP(statut='o',typ=(fonction_sdaster,formule) ),
33498 # un mot clé caché qui ne sert qu'à boucler sur les VARC possibles :
33499 LIST_NOM_VARC =SIMP(statut='c',typ='TXM', defaut=("TEMP","CORR","IRRA","HYDR","SECH","EPSA",
33500 "M_ACIER","M_ZIRC","NEUT1","NEUT2")),
33502 SIGM_IMPOSE=FACT(statut='f',
33503 SIXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33504 SIYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33505 SIZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33506 SIXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33507 SIXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33508 SIYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33510 EPSI_IMPOSE=FACT(statut='f',
33511 EPXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33512 EPYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33513 EPZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33514 EPXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33515 EPXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33516 EPYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33520 b_COEF = BLOC(condition="SUPPORT == 'POINT'",fr="matrice de coefficients",
33521 regles = (PRESENT_ABSENT('SIGM_IMPOSE','MATR_C1','MATR_C2','VECT_IMPO'),
33522 PRESENT_ABSENT('EPSI_IMPOSE','MATR_C1','MATR_C2','VECT_IMPO'),
33523 PRESENT_ABSENT('MATR_C1','SIGM_IMPOSE','EPSI_IMPOSE'),
33524 PRESENT_ABSENT('MATR_C2','SIGM_IMPOSE','EPSI_IMPOSE'),
33525 PRESENT_ABSENT('VECT_IMPO', 'SIGM_IMPOSE','EPSI_IMPOSE'),
33526 EXCLUS('EPSI_IMPOSE','GRAD_IMPOSE'),
33527 EXCLUS('SIGM_IMPOSE','GRAD_IMPOSE'),
33530 SIGM_IMPOSE=FACT(statut='f',
33531 SIXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33532 SIYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33533 SIZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33534 SIXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33535 SIXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33536 SIYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33538 EPSI_IMPOSE=FACT(statut='f',
33539 EPXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33540 EPYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33541 EPZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33542 EPXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33543 EPXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33544 EPYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33546 GRAD_IMPOSE=FACT(statut='f',
33547 regles = ( ENSEMBLE('F11','F12','F13','F21','F22','F23','F31','F32','F33',),),
33548 F11 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33549 F12 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33550 F13 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33551 F21 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33552 F22 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33553 F23 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33554 F31 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33555 F32 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33556 F33 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
33558 MATR_C1=FACT(statut='f',max='**',
33559 VALE =SIMP(statut='o',typ='R',max=1, ),
33560 NUME_LIGNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=6 ),
33561 NUME_COLONNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=12 ),
33563 MATR_C2=FACT(statut='f',max='**',
33564 VALE =SIMP(statut='o',typ='R',max=1, ),
33565 NUME_LIGNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=6 ),
33566 NUME_COLONNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=12 ),
33568 VECT_IMPO=FACT(statut='f',max='**',
33569 VALE =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max=1, ),
33570 NUME_LIGNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=6 ),
33573 SIGM_INIT=FACT(statut='f',
33574 SIXX = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
33575 SIYY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
33576 SIZZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
33577 SIXY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
33578 SIXZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
33579 SIYZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
33581 EPSI_INIT=FACT(statut='f',
33582 EPXX = SIMP(statut='o',typ='R',max=1),
33583 EPYY = SIMP(statut='o',typ='R',max=1),
33584 EPZZ = SIMP(statut='o',typ='R',max=1),
33585 EPXY = SIMP(statut='o',typ='R',max=1),
33586 EPXZ = SIMP(statut='o',typ='R',max=1),
33587 EPYZ = SIMP(statut='o',typ='R',max=1),
33589 VARI_INIT=FACT(statut='f',
33590 VALE = SIMP(statut='o',typ='R',max='**'),
33593 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
33596 # ======================================================================
33597 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
33598 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
33599 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
33600 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
33601 # (AT YOUR OPTION) ANY LATER VERSION.
33603 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
33604 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
33605 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
33606 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
33608 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
33609 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
33610 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
33611 # ======================================================================
33612 # person_in_charge: aimery.assire at edf.fr
33615 STANLEY=MACRO(nom="STANLEY",
33616 op=OPS('Macro.stanley_ops.stanley_ops'),
33619 UIinfo={"groupes":("Post-traitements",)},
33620 fr="Outil de post-traitement interactif Stanley ",
33621 RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther,mode_meca,dyna_harmo,dyna_trans) ),
33622 MODELE =SIMP(statut='f',typ=modele_sdaster),
33623 CHAM_MATER =SIMP(statut='f',typ=cham_mater),
33624 CARA_ELEM =SIMP(statut='f',typ=cara_elem),
33625 DISPLAY =SIMP(statut='f',typ='TXM'),
33626 UNITE_VALIDATION=SIMP(statut='f',typ='I',val_min=10,val_max=90,
33627 fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit les md5"),
33631 # ======================================================================
33632 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
33633 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
33634 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
33635 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
33636 # (AT YOUR OPTION) ANY LATER VERSION.
33638 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
33639 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
33640 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
33641 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
33643 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
33644 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
33645 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
33646 # ======================================================================
33647 # person_in_charge: mickael.abbas at edf.fr
33649 STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
33650 fr="Calcul de l'évolution mécanique ou thermo-hydro-mécanique couplée, en quasi-statique,"
33651 +" d'une structure en non linéaire",
33653 UIinfo={"groupes":("Résolution","Mécanique",)},
33655 MODELE =SIMP(statut='o',typ=modele_sdaster),
33656 CHAM_MATER =SIMP(statut='o',typ=cham_mater),
33657 CARA_ELEM =SIMP(statut='f',typ=cara_elem),
33658 EXCIT =FACT(statut='o',max='**',
33659 CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
33660 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
33661 TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
33662 into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")),
33664 CONTACT =SIMP(statut='f',typ=char_contact),
33665 SOUS_STRUC =FACT(statut='f',min=01,max='**',
33666 regles=(UN_PARMI('TOUT','SUPER_MAILLE'),),
33667 CAS_CHARGE =SIMP(statut='o',typ='TXM' ),
33668 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
33669 SUPER_MAILLE=SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',),
33670 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
33672 #-------------------------------------------------------------------
33673 COMPORTEMENT =C_COMPORTEMENT('STAT_NON_LINE'),
33674 #-------------------------------------------------------------------
33675 b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire",
33676 ETAT_INIT =FACT(statut='o',
33677 regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI',),
33678 # EXCLUS('EVOL_NOLI','DEPL',),
33679 # EXCLUS('EVOL_NOLI','SIGM',),
33680 # EXCLUS('EVOL_NOLI','VARI',),
33681 EXCLUS('NUME_ORDRE','INST'), ),
33682 DEPL =SIMP(statut='f',typ=cham_no_sdaster),
33683 SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)),
33684 VARI =SIMP(statut='f',typ=cham_elem),
33685 STRX =SIMP(statut='f',typ=cham_elem),
33686 EVOL_NOLI =SIMP(statut='f',typ=evol_noli),
33687 NUME_ORDRE =SIMP(statut='f',typ='I'),
33688 INST =SIMP(statut='f',typ='R'),
33689 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
33690 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
33691 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
33692 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
33693 PRECISION =SIMP(statut='o',typ='R',),),
33694 NUME_DIDI =SIMP(statut='f',typ='I'),
33695 INST_ETAT_INIT =SIMP(statut='f',typ='R'),
33697 b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif",
33698 ETAT_INIT =FACT(statut='f',
33699 regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI',),
33700 # EXCLUS('EVOL_NOLI','DEPL',),
33701 # EXCLUS('EVOL_NOLI','SIGM',),
33702 # EXCLUS('EVOL_NOLI','VARI',),
33703 EXCLUS('NUME_ORDRE','INST'), ),
33704 DEPL =SIMP(statut='f',typ=cham_no_sdaster),
33705 SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)),
33706 VARI =SIMP(statut='f',typ=cham_elem),
33707 STRX =SIMP(statut='f',typ=cham_elem),
33708 EVOL_NOLI =SIMP(statut='f',typ=evol_noli),
33709 NUME_ORDRE =SIMP(statut='f',typ='I'),
33710 INST =SIMP(statut='f',typ='R'),
33711 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
33712 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
33713 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
33714 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
33715 PRECISION =SIMP(statut='o',typ='R',),),
33716 NUME_DIDI =SIMP(statut='f',typ='I'),
33717 INST_ETAT_INIT =SIMP(statut='f',typ='R'),
33719 #-------------------------------------------------------------------
33720 INCREMENT =C_INCREMENT('MECANIQUE'),
33721 #-------------------------------------------------------------------
33722 METHODE =SIMP(statut='d',typ='TXM',defaut="NEWTON",into=("NEWTON","IMPLEX","NEWTON_KRYLOV")),
33723 b_meth_newton = BLOC(condition = "METHODE == 'NEWTON' or METHODE == 'NEWTON_KRYLOV'",
33724 NEWTON = C_NEWTON(),
33726 #-------------------------------------------------------------------
33727 RECH_LINEAIRE =C_RECH_LINEAIRE(),
33728 #-------------------------------------------------------------------
33729 PILOTAGE =C_PILOTAGE(),
33730 #-------------------------------------------------------------------
33731 CONVERGENCE =C_CONVERGENCE(),
33732 #-------------------------------------------------------------------
33733 SOLVEUR =C_SOLVEUR('STAT_NON_LINE'),
33734 #-------------------------------------------------------------------
33735 OBSERVATION =C_OBSERVATION(),
33736 #-------------------------------------------------------------------
33737 SUIVI_DDL =C_SUIVI_DDL(),
33738 #-------------------------------------------------------------------
33739 ARCHIVAGE =C_ARCHIVAGE(),
33740 #-------------------------------------------------------------------
33741 CRIT_QUALITE =FACT(statut='f',max=1,
33742 ERRE_TEMPS_THM =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON",
33743 fr="Adaptation temporelle pour les modélisations HM instationnaires",
33744 ang="Time adaptation for unstationary HM models"),
33746 #-------------------------------------------------------------------
33747 ENERGIE =FACT(statut='f',max=1,
33748 CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",),
33750 #-------------------------------------------------------------------
33751 AFFICHAGE =C_AFFICHAGE(),
33752 #-------------------------------------------------------------------
33753 CRIT_STAB =FACT(statut='f',min=1,max=1,
33754 NB_FREQ =SIMP(statut='f',typ='I',max=1,val_min=1,defaut=3),
33755 COEF_DIM_ESPACE =SIMP(statut='f',typ='I',max=1,val_min=2,defaut=5),
33756 RIGI_GEOM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
33757 MODI_RIGI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
33758 b_char_crit =BLOC(condition="(RIGI_GEOM=='OUI')",
33759 CHAR_CRIT =SIMP(statut='f',typ='R',min=2,max=2,
33760 fr="Valeur des deux charges critiques délimitant la bande de recherche en HPP"),
33762 TYPE =SIMP(statut='f',typ='TXM',defaut="FLAMBEMENT",into=("FLAMBEMENT","STABILITE")),
33763 PREC_INSTAB =SIMP(statut='f',typ='R',defaut=1.E-6,max=1,),
33764 SIGNE =SIMP(statut='f',typ='TXM',defaut=("POSITIF_NEGATIF"),into=("NEGATIF","POSITIF","POSITIF_NEGATIF"),max=1,),
33765 b_rigi_geom =BLOC(condition="(RIGI_GEOM=='NON')",
33766 DDL_EXCLUS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=40,
33767 into=('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
33768 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2',
33769 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4',
33770 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6',
33771 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX',
33772 'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z',
33773 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22',
33774 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23',
33775 'PRES31','PRES32','PRES33','VARI','LAG_GV','DAMG')),),
33776 b_type_stab =BLOC(condition= "TYPE == 'STABILITE' and RIGI_GEOM == 'NON'",
33777 DDL_STAB =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=40,
33778 into=('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
33779 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2',
33780 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4',
33781 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6',
33782 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX',
33783 'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z',
33784 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22',
33785 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23',
33786 'PRES31','PRES32','PRES33','VARI','LAG_GV','DAMG')),),
33787 regles = (EXCLUS('PAS_CALC','LIST_INST','INST'),),
33788 LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ),
33789 INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
33790 PAS_CALC = SIMP(statut='f',typ='I' ),
33791 CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
33792 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
33793 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
33794 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
33795 PRECISION =SIMP(statut='o',typ='R',),),
33797 INFO =SIMP(statut='f',typ='I',into=(1,2) ),
33798 b_info=BLOC(condition="INFO==2",
33799 fr="filtre les messages émis dans le .mess selon le type de message demandé",
33800 INFO_DBG = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(),
33808 TITRE =SIMP(statut='f',typ='TXM',max='**' ),
33811 # ======================================================================
33812 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
33813 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
33814 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
33815 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
33816 # (AT YOUR OPTION) ANY LATER VERSION.
33818 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
33819 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
33820 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
33821 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
33823 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
33824 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
33825 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
33826 # ======================================================================
33827 # person_in_charge: jean-michel.proix at edf.fr
33830 # MACRO "TEST_THERMOPLASTIQUE"
33831 # ----------------------------
33832 # def test_compor_sdprod(self, COMPORTEMENT, **kwargs):
33833 # """Ne produit une table qu'en présence de COMPORTEMENT."""
33835 # return table_sdaster
33839 TEST_COMPOR =MACRO(nom="TEST_COMPOR",
33840 op=OPS('Macro.test_compor_ops.test_compor_ops'),
33841 # sd_prod=test_compor_sdprod,
33842 sd_prod=table_sdaster,
33843 docu="",reentrant='n',
33844 fr="macro de test des comportements incrementaux dependant de la temperature",
33846 OPTION =SIMP(statut='f',typ='TXM',into=("THER","MECA"),defaut="THER"),
33848 COMPORTEMENT =C_COMPORTEMENT('SIMU_POINT_MAT'),
33849 NEWTON =C_NEWTON(),
33850 CONVERGENCE =C_CONVERGENCE(),
33852 b_ther =BLOC(condition = "OPTION == 'THER'",
33853 regles=(EXCLUS('C_PRAG','D_SIGM_EPSI'),),
33854 MATER =SIMP(statut='o',typ=mater_sdaster,max=1,fr="materiau dependant de la temperature"),
33855 ALPHA =SIMP(statut='o',typ=fonction_sdaster,
33856 fr="coefficient de dilatation fonction de la temperature"),
33857 YOUNG =SIMP(statut='o',typ=fonction_sdaster,
33858 fr="module d'Young fonction de la temperature"),
33859 LIST_MATER =SIMP(statut='o',typ=mater_sdaster,max='**',
33860 fr="liste des materiaux constants interpolés à chaque température"),
33861 TEMP_INIT =SIMP(statut='o',typ='R', fr="temperature initiale et de reference"),
33862 TEMP_FIN =SIMP(statut='o',typ='R', fr="temperature finale"),
33863 INST_FIN =SIMP(statut='f',typ='R',defaut=1.,fr="instant final"),
33864 SUPPORT =SIMP(statut='f',typ='TXM',max=1,into=("POINT","ELEMENT",),defaut=("POINT"),),
33865 NB_VARI =SIMP(statut='o',typ='I', fr="nombre de variables internes - 0 en elasticité"),
33866 VARI_TEST =SIMP(statut='f',typ='TXM',max='**',
33867 fr="liste de variables internes à tester - par defaut, toutes"),
33869 # special ecrouissage cinematique
33870 D_SIGM_EPSI =SIMP(statut='f',typ=fonction_sdaster,
33871 fr="module tangent fonction de la temperature- VMIS_CINE_LINE"),
33872 C_PRAG =SIMP(statut='f',typ=fonction_sdaster,
33873 fr="constante de Prager fonction de la temperature- VMIS_ECMI_*"),
33875 b_meca =BLOC(condition = "OPTION == 'MECA'",
33876 LIST_MATER =SIMP(statut='o',typ=mater_sdaster,max=2,min=2,
33877 fr="liste des materiaux en Pa puis MPa "),
33878 YOUNG =SIMP(statut='o',typ='R',fr="module d'Young"),
33879 POISSON =SIMP(statut='o',typ='R',fr="coef de Poisson"),
33880 LIST_NPAS =SIMP(statut='f',typ='I',max='**',
33881 fr="nombre de pas de temps pour chaque discretisation"),
33882 LIST_TOLE =SIMP(statut='f',typ='R',max='**',),
33883 PREC_ZERO =SIMP(statut='f',typ='R',max='**',),
33884 VARI_TEST =SIMP(statut='f',typ='TXM',max='**',defaut=('V1','VMIS','TRACE'),
33885 fr="liste des CMP à tester "),
33886 SUPPORT =SIMP(statut='f',typ='TXM',max=1,into=("POINT","ELEMENT",)),
33887 MODELISATION =SIMP(statut='f',typ='TXM',max=1,into=("3D","C_PLAN"),defaut="3D",),
33888 ANGLE =SIMP(statut='f',typ='R',max=1, defaut=0.,
33889 fr='Rotation de ANGLE autour de Z uniquement, et seulement pour les déformations imposées',),
33890 MASSIF =FACT(statut='f',max='**',fr='orientation du materiau (monocristal, orthotropie)',
33891 regles=(UN_PARMI('ANGL_REP','ANGL_EULER'),),
33892 ANGL_REP =SIMP(statut='f',typ='R',min=1,max=3),
33893 ANGL_EULER =SIMP(statut='f',typ='R',min=1,max=3),
33895 TEST_TANGENTE =SIMP(statut='f',typ='TXM',max=1,into=("OUI","NON"),defaut="OUI",),
33896 VERI_MATR_OPTION =FACT(statut='f',max=1,fr='options pour le test de la matrice tangente',
33897 VALE_PERT_RELA =SIMP(statut='f',typ='R',defaut=1.E-5),
33898 PRECISION =SIMP(statut='f',typ='R',defaut=1.E-4 ),
33899 PREC_ZERO =SIMP(statut='f',typ='R',defaut=1.E-12 ),
33902 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
33905 # ======================================================================
33906 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
33907 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
33908 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
33909 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
33910 # (AT YOUR OPTION) ANY LATER VERSION.
33912 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
33913 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
33914 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
33915 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
33917 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
33918 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
33919 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
33920 # ======================================================================
33921 # person_in_charge: mathieu.courtois at edf.fr
33923 TEST_FICHIER=MACRO(nom="TEST_FICHIER",
33924 op=OPS('Macro.test_fichier_ops.test_fichier_ops'),
33925 UIinfo={"groupes":("Utilitaires",)},
33926 fr="Tester la non régression de fichiers produits par des commandes aster",
33927 FICHIER =SIMP(statut='o',typ='TXM',validators=LongStr(1,255)),
33928 EXPR_IGNORE =SIMP(statut='f',typ='TXM',max='**',
33929 fr="Liste d'expressions régulières permettant d'ignorer certaines lignes"),
33930 NB_VALE =SIMP(statut='o',typ='I',),
33932 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
33933 **C_TEST_REFERENCE('FICHIER', max=1)
33936 # ======================================================================
33937 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
33938 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
33939 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
33940 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
33941 # (AT YOUR OPTION) ANY LATER VERSION.
33943 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
33944 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
33945 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
33946 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
33948 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
33949 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
33950 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
33951 # ======================================================================
33952 # person_in_charge: nicolas.sellenet at edf.fr
33954 TEST_FONCTION=MACRO(nom="TEST_FONCTION",
33955 op=OPS('Macro.test_fonction_ops.test_fonction_ops'),
33957 fr="Extraction d'une valeur numérique ou d'un attribut de fonction pour comparaison à une valeur de référence",
33958 UIinfo={"groupes":("Fonctions","Utilitaires",)},
33959 TEST_NOOK =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
33960 VALEUR =FACT(statut='f',max='**',
33961 fr="Tester la valeur d une fonction ou d une nappe",
33962 regles=(UN_PARMI('VALE_PARA','INTERVALLE'),),
33963 FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster,formule) ),
33964 NOM_PARA =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2),
33965 VALE_PARA =SIMP(statut='f',typ='R' ,validators=NoRepeat(),max=2),
33966 INTERVALLE =SIMP(statut='f',typ='R' ,validators=NoRepeat(),min=2,max=2),
33967 **C_TEST_REFERENCE('FONCTION', max='**')
33969 ATTRIBUT =FACT(statut='f',max='**',
33970 fr="Tester la valeur d un attribut d une fonction ou d''une nappe",
33971 FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster,formule) ),
33972 PARA =SIMP(statut='f',typ='R' ),
33973 CRIT_PARA =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
33974 PREC_PARA =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
33975 ATTR =SIMP(statut='o',typ='TXM',
33976 into=("NOM_PARA","NOM_RESU","PROL_DROITE","PROL_GAUCHE","INTERPOL",
33977 "PROL_GAUCHE_FONC","PROL_DROITE_FONC","INTERPOL_FONC","NOM_PARA_FONC") ),
33978 ATTR_REFE =SIMP(statut='o',typ='TXM' ),
33979 REFERENCE =SIMP(statut='f',typ='TXM',
33980 into=("ANALYTIQUE","SOURCE_EXTERNE","AUTRE_ASTER") ),
33984 # ======================================================================
33985 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
33986 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
33987 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
33988 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
33989 # (AT YOUR OPTION) ANY LATER VERSION.
33991 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
33992 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
33993 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
33994 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
33996 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
33997 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
33998 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
34001 # ======================================================================
34002 # person_in_charge: j-pierre.lefebvre at edf.fr
34003 TEST_RESU=PROC(nom="TEST_RESU",op=23,
34004 UIinfo={"groupes":("Résultats et champs","Utilitaires",)},
34005 fr="Extraction d'une valeur d'une structure de donnée et comparaison à une valeur de référence",
34006 regles=(AU_MOINS_UN('CHAM_NO','CHAM_ELEM','CARTE','RESU','GENE','OBJET','TEST_NAN',)),
34008 CHAM_NO =FACT(statut='f',max='**',
34009 regles=(EXCLUS('NOEUD','GROUP_NO'), # EXCLUS avec 'TYPE_TEST' dans trchno.f
34010 PRESENT_PRESENT('NOEUD','NOM_CMP'),
34011 PRESENT_PRESENT( 'GROUP_NO','NOM_CMP'),),
34012 CHAM_GD =SIMP(statut='o',typ=cham_no_sdaster),
34013 NOEUD =SIMP(statut='f',typ=no ),
34014 GROUP_NO =SIMP(statut='f',typ=grno ),
34015 NOM_CMP =SIMP(statut='f',typ='TXM',max=1),
34016 **C_TEST_REFERENCE('CHAM_NO', max='**')
34019 CARTE =FACT(statut='f',max='**',
34020 CHAM_GD =SIMP(statut='o',typ=carte_sdaster),
34021 MAILLE =SIMP(statut='o',typ=ma),
34022 NOM_CMP =SIMP(statut='o',typ='TXM',max=1),
34023 **C_TEST_REFERENCE('CARTE', max=1)
34026 CHAM_ELEM =FACT(statut='f',max='**',
34027 regles=(#UN_PARMI('MAILLE','TYPE_TEST',) dans trchel.f
34028 EXCLUS('NOEUD','GROUP_NO','POINT'),
34029 PRESENT_PRESENT('NOEUD','NOM_CMP'),
34030 PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
34031 PRESENT_PRESENT('POINT','NOM_CMP'),),
34032 CHAM_GD =SIMP(statut='o',typ=cham_elem),
34033 MAILLE =SIMP(statut='f',typ=ma),
34034 POINT =SIMP(statut='f',typ='I' ),
34035 SOUS_POINT =SIMP(statut='f',typ='I'),
34036 NOEUD =SIMP(statut='f',typ=no),
34037 GROUP_NO =SIMP(statut='f',typ=grno),
34038 NOM_CMP =SIMP(statut='f',typ='TXM',max=1),
34039 **C_TEST_REFERENCE('CHAM_ELEM', max='**')
34042 RESU =FACT(statut='f',max='**',
34043 regles=(UN_PARMI('NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGLE'),
34044 UN_PARMI('NOM_CHAM','PARA'),
34045 PRESENT_ABSENT('PARA','NOEUD','GROUP_NO','POINT','NOM_CMP',),
34046 PRESENT_PRESENT('NOM_CMP','NOM_CHAM'),
34047 EXCLUS('NOEUD','GROUP_NO','POINT'), # EXCLUS avec 'TYPE_TEST' dans trresu.f
34048 PRESENT_PRESENT('NOEUD','NOM_CMP'),
34049 PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
34050 PRESENT_PRESENT('POINT','NOM_CMP'),),
34051 RESULTAT =SIMP(statut='o',typ=resultat_sdaster),
34052 NUME_ORDRE =SIMP(statut='f',typ='I'),
34053 INST =SIMP(statut='f',typ='R'),
34054 FREQ =SIMP(statut='f',typ='R'),
34055 NUME_MODE =SIMP(statut='f',typ='I'),
34056 NOEUD_CMP =SIMP(statut='f',typ='TXM',min=2,max=2),
34057 NOM_CAS =SIMP(statut='f',typ='TXM'),
34058 ANGLE =SIMP(statut='f',typ='R'),
34059 PARA =SIMP(statut='f',typ='TXM'),
34060 NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()),
34061 NOM_CMP =SIMP(statut='f',typ='TXM',max=1),
34062 MAILLE =SIMP(statut='f',typ=ma ,max='**'),
34063 NOEUD =SIMP(statut='f',typ=no ,max='**'),
34064 GROUP_NO =SIMP(statut='f',typ=grno ,max='**'),
34065 POINT =SIMP(statut='f',typ='I'),
34066 SOUS_POINT =SIMP(statut='f',typ='I'),
34067 **C_TEST_REFERENCE('RESU', max='**')
34070 GENE =FACT(statut='f',max='**',
34071 RESU_GENE =SIMP(statut='o',typ=(vect_asse_gene, tran_gene, mode_gene, harm_gene)),
34072 b_vect_asse =BLOC(condition = "AsType(RESU_GENE) == vect_asse_gene",
34073 NUME_CMP_GENE =SIMP(statut='o',typ='I'),
34075 b_mode =BLOC(condition = "AsType(RESU_GENE) == mode_gene",
34076 regles=(UN_PARMI('NUME_ORDRE','FREQ','NUME_MODE'),
34077 UN_PARMI('NOM_CHAM','PARA'),
34078 PRESENT_PRESENT('NOM_CHAM','NUME_CMP_GENE'),),
34079 NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()),
34080 NUME_CMP_GENE =SIMP(statut='f',typ='I'),
34081 PARA =SIMP(statut='f',typ='TXM'),
34082 NUME_ORDRE =SIMP(statut='f',typ='I'),
34083 NUME_MODE =SIMP(statut='f',typ='I'),
34084 FREQ =SIMP(statut='f',typ='R'),
34086 b_harm =BLOC(condition = "AsType(RESU_GENE) == harm_gene",
34087 regles=(UN_PARMI('NUME_ORDRE','FREQ') ,),
34088 NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()),
34089 NUME_CMP_GENE =SIMP(statut='o',typ='I'),
34090 NUME_ORDRE =SIMP(statut='f',typ='I'),
34091 FREQ =SIMP(statut='f',typ='R'),
34093 b_tran =BLOC(condition = "AsType(RESU_GENE) == tran_gene",
34094 regles=(UN_PARMI('NUME_ORDRE','INST') ,),
34095 NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()),
34096 NUME_CMP_GENE =SIMP(statut='o',typ='I'),
34097 NUME_ORDRE =SIMP(statut='f',typ='I'),
34098 INST =SIMP(statut='f',typ='R'),
34100 **C_TEST_REFERENCE('GENE', max='**')
34103 OBJET =FACT(statut='f',max='**',
34104 NOM =SIMP(statut='o',typ='TXM'),
34105 **C_TEST_REFERENCE('OBJET', max=1)
34108 TEST_NAN =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
34111 # ======================================================================
34112 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
34113 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
34114 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
34115 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
34116 # (AT YOUR OPTION) ANY LATER VERSION.
34118 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
34119 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
34120 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
34121 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
34123 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
34124 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
34125 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
34126 # ======================================================================
34127 # person_in_charge: mathieu.courtois at edf.fr
34128 TEST_TABLE=PROC(nom="TEST_TABLE",op= 177,
34129 UIinfo={"groupes":("Tables","Utilitaires",)},
34130 fr="Tester une cellule ou une colonne d'une table",
34131 # concept table_sdaster à tester
34132 TABLE =SIMP(statut='o',typ=table_sdaster),
34133 FILTRE =FACT(statut='f',max='**',
34134 NOM_PARA =SIMP(statut='o',typ='TXM' ),
34135 CRIT_COMP =SIMP(statut='f',typ='TXM',defaut="EQ",
34136 into=("EQ","LT","GT","NE","LE","GE","VIDE",
34137 "NON_VIDE","MAXI","MAXI_ABS","MINI","MINI_ABS") ),
34138 b_vale =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
34139 regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
34140 VALE =SIMP(statut='f',typ='R',),
34141 VALE_I =SIMP(statut='f',typ='I',),
34142 VALE_C =SIMP(statut='f',typ='C',),
34143 VALE_K =SIMP(statut='f',typ='TXM' ),),
34145 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
34146 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
34148 NOM_PARA =SIMP(statut='o',typ='TXM' ),
34149 INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
34150 **C_TEST_REFERENCE('TABLE', max='**')
34153 # ======================================================================
34154 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
34155 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
34156 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
34157 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
34158 # (AT YOUR OPTION) ANY LATER VERSION.
34160 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
34161 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
34162 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
34163 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
34165 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
34166 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
34167 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
34168 # ======================================================================
34169 # person_in_charge: mathieu.courtois at edf.fr
34171 TEST_TEMPS=MACRO(nom="TEST_TEMPS",
34172 op=OPS('Macro.test_temps_ops.test_temps_ops'),
34174 UIinfo={"groupes":("Utilitaires",)},
34175 fr="Permet de vérifier le temps passé dans les commandes",
34178 RESU = FACT(statut='o',max='**',
34179 COMMANDE = SIMP(statut='o', typ='TXM',
34180 fr="Nom de la commande testee"),
34181 NUME_ORDRE = SIMP(statut='f', typ='I', defaut=1, val_min=1,
34182 fr="Numero de l'occurrence de la commande testee"),
34183 MACHINE = SIMP(statut='o', typ='TXM', max='**',
34184 fr="Liste des machines dont on a la référence"),
34185 VALE = SIMP(statut='o', typ='R', max='**',
34186 fr="Temps CPU sur les machines listees en secondes"),
34187 CRITERE = SIMP(statut='f', typ='TXM', defaut='RELATIF', into=('ABSOLU', 'RELATIF')),
34188 PRECISION = SIMP(statut='f', typ='R', defaut=0.01, max='**',
34189 fr="Ecart admissible pour chaque machine"),
34190 TYPE_TEST = SIMP(statut='o', typ='TXM', into=('USER', 'SYSTEM', 'USER+SYS', 'ELAPSED'),
34192 fr="Valeur testee parmi 'USER', 'SYSTEM', 'USER+SYS', 'ELAPSED'"),
34195 INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
34198 # ======================================================================
34199 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
34200 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
34201 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
34202 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
34203 # (AT YOUR OPTION) ANY LATER VERSION.
34205 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
34206 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
34207 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
34208 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
34210 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
34211 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
34212 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
34213 # ======================================================================
34214 # person_in_charge: jessica.haelewyn at edf.fr
34215 THER_LINEAIRE=OPER(nom="THER_LINEAIRE",op=25,sd_prod=evol_ther,reentrant='f',
34216 UIinfo={"groupes":("Résolution","Thermique",)},
34217 fr="Résoudre un problème thermique linéaire stationnaire ou transitoire",
34218 MODELE =SIMP(statut='o',typ=modele_sdaster),
34219 CHAM_MATER =SIMP(statut='o',typ=cham_mater),
34220 CARA_ELEM =SIMP(statut='f',typ=cara_elem),
34221 EXCIT =FACT(statut='o',max='**',
34222 CHARGE =SIMP(statut='o',typ=(char_ther,char_cine_ther)),
34223 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
34225 ETAT_INIT =FACT(statut='f',
34226 regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),),
34227 STATIONNAIRE =SIMP(statut='f',typ='TXM',into=("OUI",)),
34228 EVOL_THER =SIMP(statut='f',typ=evol_ther),
34229 CHAM_NO =SIMP(statut='f',typ=cham_no_sdaster),
34230 VALE =SIMP(statut='f',typ='R'),
34231 NUME_ORDRE =SIMP(statut='f',typ='I'),
34232 INST =SIMP(statut='f',typ='R'),
34233 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
34234 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
34235 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
34236 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
34237 PRECISION =SIMP(statut='o',typ='R',),),
34238 INST_ETAT_INIT =SIMP(statut='f',typ='R'),
34240 #-------------------------------------------------------------------
34241 INCREMENT =C_INCREMENT('THERMIQUE'),
34242 #-------------------------------------------------------------------
34243 # Catalogue commun SOLVEUR
34244 SOLVEUR =C_SOLVEUR('THER_LINEAIRE'),
34245 #-------------------------------------------------------------------
34246 PARM_THETA =SIMP(statut='f',typ='R',defaut= 0.57),
34247 #-------------------------------------------------------------------
34248 ARCHIVAGE =C_ARCHIVAGE(),
34249 #-------------------------------------------------------------------
34250 TITRE =SIMP(statut='f',typ='TXM',max='**'),
34251 INFO =SIMP(statut='f',typ='I',into=(1,2)),
34254 # ======================================================================
34255 # COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG
34256 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
34257 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
34258 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
34259 # (AT YOUR OPTION) ANY LATER VERSION.
34261 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
34262 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
34263 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
34264 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
34266 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
34267 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
34268 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
34269 # ======================================================================
34270 # person_in_charge: jessica.haelewyn at edf.fr
34271 THER_NON_LINE=OPER(nom="THER_NON_LINE",op= 186,sd_prod=evol_ther,reentrant='f',
34272 UIinfo={"groupes":("Résolution","Thermique",)},
34273 fr="Résoudre un problème thermique non linéaire (conditions limites ou comportement matériau)"
34274 +" stationnaire ou transitoire" ,
34275 MODELE =SIMP(statut='o',typ=(modele_sdaster) ),
34276 CHAM_MATER =SIMP(statut='o',typ=(cham_mater) ),
34277 CARA_ELEM =SIMP(statut='c',typ=(cara_elem) ),
34278 COMPORTEMENT =FACT(statut='d',max='**',
34279 RELATION =SIMP(statut='f',typ='TXM',defaut="THER_NL",
34287 regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
34288 TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ),
34289 GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
34290 MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'),
34292 EVOL_THER_SECH =SIMP(statut='f',typ=evol_ther),
34293 EXCIT =FACT(statut='o',max='**',
34294 CHARGE =SIMP(statut='o',typ=char_ther),
34295 FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
34297 #-------------------------------------------------------------------
34298 INCREMENT =C_INCREMENT('THERMIQUE'),
34299 #-------------------------------------------------------------------
34300 ETAT_INIT =FACT(statut='f',
34301 regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),),
34302 STATIONNAIRE =SIMP(statut='f',typ='TXM',into=("OUI",)),
34303 EVOL_THER =SIMP(statut='f',typ=evol_ther),
34304 CHAM_NO =SIMP(statut='f',typ=cham_no_sdaster),
34305 VALE =SIMP(statut='f',typ='R'),
34306 NUME_ORDRE =SIMP(statut='f',typ='I'),
34307 INST =SIMP(statut='f',typ='R'),
34308 CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
34309 b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
34310 PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
34311 b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
34312 PRECISION =SIMP(statut='o',typ='R',),),
34313 INST_ETAT_INIT =SIMP(statut='f',typ='R'),
34315 NEWTON =FACT(statut='d',
34316 REAC_ITER =SIMP(statut='f',typ='I',defaut= 0 ,val_min=0),
34317 RESI_LINE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
34318 ITER_LINE_MAXI =SIMP(statut='f',typ='I',defaut= 0 ),
34320 CONVERGENCE =FACT(statut='d',
34321 RESI_GLOB_MAXI =SIMP(statut='f',typ='R'),
34322 RESI_GLOB_RELA =SIMP(statut='f',typ='R'),
34323 ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 10 ),
34325 #-------------------------------------------------------------------
34326 # Catalogue commun SOLVEUR
34327 SOLVEUR =C_SOLVEUR('THER_NON_LINE'),
34328 #-------------------------------------------------------------------
34329 PARM_THETA =SIMP(statut='f',typ='R',defaut= 0.57 ),
34330 #-------------------------------------------------------------------
34331 ARCHIVAGE =C_ARCHIVAGE(),
34332 #-------------------------------------------------------------------
34333 OBSERVATION =C_OBSERVATION(),
34334 #-------------------------------------------------------------------
34335 TITRE =SIMP(statut='f',typ='TXM',max='**'),
34336 INFO =SIMP(statut='f',typ='I',into=(1,2) ),
34340 # ======================================================================
34341 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
34342 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
34343 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
34344 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
34345 # (AT YOUR OPTION) ANY LATER VERSION.
34347 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
34348 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
34349 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
34350 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
34352 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
34353 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
34354 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
34355 # ======================================================================
34356 # person_in_charge: jessica.haelewyn at edf.fr
34357 THER_NON_LINE_MO=OPER(nom="THER_NON_LINE_MO",op= 171,sd_prod=evol_ther,
34358 fr="Résoudre un problème thermique non linéaire (conditions limites ou comportement matériau)"
34359 +" stationnaire avec chargement mobile",
34361 UIinfo={"groupes":("Résolution","Thermique",)},
34362 MODELE =SIMP(statut='o',typ=modele_sdaster ),
34363 CHAM_MATER =SIMP(statut='o',typ=cham_mater ),
34364 CARA_ELEM =SIMP(statut='c',typ=cara_elem ),
34365 EXCIT =FACT(statut='o',max='**',
34366 CHARGE =SIMP(statut='o',typ=char_ther ),
34367 FONC_MULT =SIMP(statut='c',typ=(fonction_sdaster,nappe_sdaster,formule) ),
34369 ETAT_INIT =FACT(statut='f',
34370 EVOL_THER =SIMP(statut='f',typ=evol_ther ),
34371 NUME_ORDRE =SIMP(statut='f',typ='I',defaut= 0 ),
34373 CONVERGENCE =FACT(statut='d',
34374 CRIT_TEMP_RELA =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
34375 CRIT_ENTH_RELA =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
34376 ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 10 ),
34377 ARRET =SIMP(statut='c',typ='TXM',defaut="OUI",into=("OUI","NON") ),
34379 #-------------------------------------------------------------------
34380 # Catalogue commun SOLVEUR
34381 SOLVEUR =C_SOLVEUR('THER_NON_LINE_MO'),
34382 #-------------------------------------------------------------------
34383 TITRE =SIMP(statut='f',typ='TXM',max='**' ),
34384 INFO =SIMP(statut='f',typ='I',into=(1,2) ),
34387 # ======================================================================
34388 # COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG
34389 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
34390 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
34391 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
34392 # (AT YOUR OPTION) ANY LATER VERSION.
34394 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
34395 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
34396 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
34397 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
34399 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
34400 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
34401 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
34402 # ======================================================================
34403 # person_in_charge: mathieu.courtois at edf.fr
34405 # Vérification des imports et définitions non autorisés dans le catalogue
34406 UNAUTHORIZED = ("numpy", "UTMESS", "Table", "Graph")
34408 for _name in UNAUTHORIZED:
34409 _obj = globals().get(_name, None)
34410 assert _obj is None, "Definition de '%s' interdite dans le catalogue." % _name
34412 assert aster_exists or aster is None