Salome HOME
Update version
[tools/eficas.git] / MT / MT_Cata_V2020.py
1 ## -*- coding: utf-8 -*-
2 #
3 ## --------------------------------------------------
4 ## debut entete
5 ## --------------------------------------------------
6 #
7 # 20120510 : suppression de la valeur par defaut de MATERIAU->PARAMETRES_MAT->NU
8 #            changement du nom MATERIAU->PARAMETRES_MAT->MASS_VOL en MATERIAU->PARAMETRES_MAT->RHO
9 #
10 # 20120619 : changement ordre d'affichage des macros -> ordre de création
11 # 20120725 : modification definition (matrices A,K,M) palier et support
12 # 20130411 : ajout elements dans palier generalise (mail tdg + comm tdg)
13 #
14 # todo : supprimer les noeuds -> definir les elements par leur longueur
15 #
16 #
17 #
18 #
19 #
20
21
22
23
24
25
26
27
28 from Accas import *
29 #
30
31 import types
32 class Tuple:
33   def __init__(self,ntuple):
34     self.ntuple=ntuple
35
36   def __convert__(self,valeur):
37     if type(valeur) == bytes:
38       return None
39     if len(valeur) != self.ntuple:
40       return None
41     return valeur
42
43   def info(self):
44     return "Tuple de %s elements" % self.ntuple
45
46   __repr__=info
47   __str__=info
48
49
50 #CONTEXT.debug = 1
51 VERSION_CATALOGUE="2019.0.0";
52 JdC = JDC_CATA(code = 'MT',
53                execmodul = None,
54                regles = (AU_MOINS_UN ( 'LIGNE_ARBRE',),
55                          AU_PLUS_UN ( 'LIGNE_ARBRE',)),
56                ) # Fin JDC_CATA
57
58 class Direction(ASSD): pass
59 class Materiau(ASSD): pass
60 #class Masse(ASSD): pass
61 class Zone(ASSD): pass
62 class Palier(ASSD): pass
63 #class Masse(ASSD): pass
64 #class ConditionsAuxLimites(ASSD): pass
65 class LigneArbre(ASSD): pass
66 class Support(ASSD): pass
67 class Butee(ASSD): pass
68 class PalTor(ASSD):pass
69 #class Noeud(ASSD): pass
70
71 ## def macro_noeuds(self, NOEUD, **args):
72 ##     """
73 ##     """
74 ##     if NOEUD is not None:
75 ##         self.type_sdprod(NOEUD, Noeud)
76 ##         pass
77 ##     else:
78 ##         raise AsException("Impossible de typer les concepts resultats")
79     
80 ##     return Noeuds
81
82 ############################# MATERIAUX ########################################
83 # @todo
84 # introduction manuelle => dans ce cas l'utilisateur definit le
85 # materiau comme ci-dessous
86 # recuperation depuis une bibliothÚque de materiau => sera specife
87 # plus tard
88 MATERIAUX = MACRO(nom = 'MATERIAUX',
89                  op = None,
90                  sd_prod = Materiau,
91                  reentrant = 'n',
92                  UIinfo = {"groupes": ("Machine tournante",)},
93                  fr = "Renseignement des caracteristiques des materiaux",
94                  TYPE_INTRO = SIMP(statut='o', 
95                                    fr = "Mode de description des caracteristiques des materiaux",
96                                    typ='TXM',
97                                    into=('MANUELLE','FICHIER'),
98                                    min=1,
99                                    max=1,
100                                    defaut='MANUELLE',
101                                    ), # end TYPE_INTRO
102                  PARAMETRES_MAT = BLOC(condition = "((TYPE_INTRO == 'MANUELLE') )",
103                                        #MASS_VOL  = SIMP(statut='o', typ='R', min=1, max=1, fr='masse volumique'),
104                                        fr = "Saisie manuelle des caracteristiques du materiau",
105                                        RHO = SIMP(statut='o',
106                                                   typ='R',
107                                                   min=1,
108                                                   max=1,
109                                                   fr='Masse volumique (kg/m**3)',
110                                                   ), # end RHO
111                                        E = SIMP(statut='o',
112                                                 typ='R',
113                                                 min=1,
114                                                 max=1,
115                                                 fr="Module d'Young (Pa)",
116                                                 ), # end E
117                                        NU = SIMP(statut='o', 
118                                                  typ='R',
119                                                  min=1,
120                                                  max=1,
121                                                  val_min=-1.0,
122                                                  val_max=0.5,
123                                                  fr='Coefficient de cisaillement (-1.0 <= NU <= 0.5)',
124                                                  ), # end NU
125                                        ALPHA = SIMP(statut='f', 
126                                                     typ='R',
127                                                     min=1,
128                                                     max=1,
129                                                     fr = "Coefficient permettant de construire une matrice d'amortissement visqueux proportionnel a la rigidite",
130                                                     ), # end ALPHA
131                                        BETA = SIMP(statut='f',
132                                                    typ='R', 
133                                                    min=1, 
134                                                    max=1, 
135                                                    fr = "Coefficient permettant de construire une matrice d'amortissement visqueux proportionnel a la masse",
136                                                    ), # end BETA
137                                        GAMMA = SIMP(statut='f',
138                                                    typ='R',
139                                                    min=1,
140                                                    max=1,
141                                                    fr = "Coefficient d'amortissement hysteretique permettant de definir le module d'Young complexe",
142                                                    ), # end GAMMA
143                                        ), # end PARAMETRES_MAT
144                    FICHIER_MAT = BLOC(condition = "((TYPE_INTRO == 'FICHIER') )",
145                                       MATERIAU_CATALOGUE = SIMP(statut='o',
146                                   fr="Fichier decrivant les caracteristiques materiaux (format decrit dans le Manuel Utilisateur)",
147                                                               min=1, 
148                                   max=1, 
149                                   typ=('Fichier','Fichier materiau (*.*)'), 
150                                   ), # end MATERIAU_CATALOGUE
151                                      ), # end FICHIER_MAT
152                                      #SIMP(typ=('Fichier','JDC Files (*.comm)'),docu='',min=1,max=1,statut='o',defaut=None)
153                  ) # end MATERIAU
154
155
156
157 ############################# ZONES ########################################
158 ZONE = MACRO(nom = 'ZONE',
159              op = None,
160              sd_prod = Zone,
161              reentrant = 'n',
162              UIinfo = {"groupes":("Machine tournante",)},
163              fr = "Description d'une zone (comportant noeuds et elements, et en option masses ponctuelles et fissures)",
164              regles = (AU_MOINS_UN("ELEMENTS")),
165              fenetreIhm='deplie1Niveau',
166              MASSE = FACT(statut='f',
167                           min=0,
168                           max='**',
169               fr = "Description des masses ponctuelles",
170               #POSITION = SIMP(statut='o',
171               NOEUD = SIMP(statut='o', 
172                       typ='TXM', 
173                       defaut=None, 
174                       fr = "Definition de la position axiale de la masse (label du noeud de la ligne d'arbres en vis-a-vis)",
175                       ), # end POSITION
176               TYPE_MASSE = SIMP(statut='o', 
177                         typ='TXM', 
178                         fr = "Renseignement du type de masse consideree",
179                         into=('DISQUE','AILETTE','QUELCONQUE'),
180                         ), # end TYPE_MASSE
181               DISQUE = BLOC(condition = "((TYPE_MASSE == 'DISQUE') )",
182                             TYPE_SAISIE = SIMP(statut='o',
183                                                typ='TXM',
184                                                fr = "Type de saisie des parametres du DISQUE",
185                                                into = ('MECANIQUE','GEOMETRIQUE'),
186                                                defaut = 'MECANIQUE'
187                                                ), # end TYPE_SAISIE
188                             PARAMETRES_MECANIQUE = BLOC(condition = "TYPE_SAISIE == 'MECANIQUE'",
189                                     PARAMETRES = FACT(statut = 'o',
190                                               fr = "Parametres mecaniques pour un DISQUE",
191                                               MASSE = SIMP(statut='o',
192                                                        typ='R',
193                                                    val_min=0,
194                                                    fr = "Masse du DISQUE (kg)",
195                                                    ), # end MASSE_DISQUE
196                                               INERTIEX = SIMP(statut='o', 
197                                                       typ='R',
198                                                       fr = "Inertie du DISQUE en X (kg.m**2)",
199                                                       ), # end INERTIEX
200                                               INERTIEY = SIMP(statut='o', 
201                                                       typ='R',
202                                                       fr = "Inertie du DISQUE en Y (kg.m**2)",
203                                                       ), # end INERTIEY
204                                               INERTIEZ = SIMP(statut='o', 
205                                                       typ='R',
206                                                       fr = "Inertie du DISQUE en Z (axe de rotation de la ligne d'arbres)(kg.m**2)",
207                                                       ), # end INERTIEZ
208                                               ) # end PARAMETRES_DISQUE_M
209                                                             ), # end PARAMETRES_MECANIQUE
210                                 PARAMETRES_GEOMETRIQUE = BLOC(condition = "TYPE_SAISIE == 'GEOMETRIQUE'",
211                                     PARAMETRES = FACT(statut = 'o',
212                                               fr = "Parametres geometriques pour un DISQUE",
213                                               DIAMETRE_EXT = SIMP(statut='o',
214                                                       typ='R',
215                                                       val_min=0,
216                                                       fr = "Diametre exterieur du DISQUE (m)",
217                                                       ), # end MASSE_DISQUE
218                                               DIAMETRE_INT = SIMP(statut='o', 
219                                                           typ='R',
220                                                           fr = "Diametre interieur du DISQUE (m). Verifier le diametre exterieur du rotor avant saisie",
221                                                           ), # end INERTIEX
222                                               EPAISSEUR = SIMP(statut='o', 
223                                                        typ='R',
224                                                        val_min=0,
225                                                        fr = "Epaisseur (dans la direction axiale) du DISQUE (m)",
226                                                        ), # end INERTIEY
227                                               MATERIAU = SIMP(statut='o', 
228                                                       typ=Materiau,
229                                                       fr = "Materiau constituant le DISQUE (doit avoir ete defini via une entree MATERIAUX)",
230                                                       ), # end INERTIEZ
231                                               ) # nd PARAMETRES_DISQUE_G
232                                                             ), # end PARAMETRES_MECANIQUE
233                     ), # end DISQUE
234               AILETTE = BLOC(condition = "((TYPE_MASSE == 'AILETTE') )",
235                      TYPE_SAISIE = SIMP(statut='o',
236                                                 typ='TXM',
237                                                 fr = "Type de saisie des parametres de la rangee d'AILETTES",
238                                                 into = ('MECANIQUE','GEOMETRIQUE'),
239                                                 defaut = 'MECANIQUE'
240                                                 ), # end TYPE_SAISIE
241                              PARAMETRES_MECANIQUE = BLOC(condition = "TYPE_SAISIE == 'MECANIQUE'",
242                                      PARAMETRES = FACT(statut = 'o',
243                                                    fr = "Parametres mecaniques de la rangee d'AILETTES",
244                                                MASSE = SIMP(statut='o',
245                                                             typ='R',
246                                                         val_min=0,
247                                                         fr = "Masse de la rangee d'AILETTES (kg)",
248                                                         ), # end MASSE_AILETTE
249                                                INERTIEX = SIMP(statut='o', 
250                                                        typ='R',
251                                                        fr = "Inertie de la rangee d'AILETTES en X (kg.m**2)",
252                                                        ), # end INERTIEX
253                                                INERTIEY = SIMP(statut='o', 
254                                                            typ='R',
255                                                            fr = "Inertie de la rangee d'AILETTES en Y (kg.m**2)",
256                                                        ), # end INERTIEY
257                                                INERTIEZ = SIMP(statut='o', 
258                                                        typ='R',
259                                                        fr = "Inertie de la rangee d'AILETTES en Z (axe de rotation de la ligne d'arbres) (kg.m**2)",
260                                                        ), # end INERTIEZ
261                                                ) # nd PARAMETRES_AILETTE_M
262                                                               ), # end PARAMETRES_MECANIQUE
263                                    PARAMETRES_GEOMETRIQUE = BLOC(condition = "TYPE_SAISIE == 'GEOMETRIQUE'",
264                                          PARAMETRES = FACT(statut = 'o',
265                                                    fr = "Parametres geometriques d'une AILETTE",
266                                                    MASSE_AILETTE = SIMP(statut='o',
267                                                                         typ='R',
268                                                         val_min=0,
269                                                         fr = "Masse d'une AILETTE (kg)",
270                                                         ), # end MASSE_AILETTE
271                                                RAYON = SIMP(statut='o', 
272                                                     typ='R',
273                                                     val_min=0,
274                                                     fr = "Distance entre le pied de l'AILETTE et le centre de rotation (m). Verifier le diametre exterieur du rotor avant saisie",
275                                                     ), # end RAYON
276                                                HAUTEUR = SIMP(statut='o',
277                                                               typ='R',
278                                                           val_min=0,
279                                                           fr = "Distance entre les deux extremites de l'AILETTE (m)",
280                                                           ), # end HAUTEUR
281                                                BASE = SIMP(statut='o', 
282                                                            typ='R',
283                                                        val_min=0,
284                                                        fr = "Largeur du pied de l'AILETTE (m)",
285                                                        ), # end BASE
286                                                NOMBRE = SIMP(statut='o',
287                                                              typ='I',
288                                                              val_min=1,
289                                                              fr = "Nombre d'AILETTES dans la rangee",
290                                                              ),
291                                                ) # end PARAMETRES_DISQUE
292                                                                  ), # end PARAMETRES_MECANIQUE
293                        ), # end AILETTE
294                 QUELCONQUE = BLOC(condition = "((TYPE_MASSE == 'QUELCONQUE') )",
295                                   #TYPE_SAISIE = SIMP(statut='c',typ='TXM',defaut="MECANIQUE"), # cf 20120622 test : mot-clé caché
296                           PARAMETRES = FACT(statut = 'o',
297                                 fr = "Parametres pour masse de type QUELCONQUE",
298                                 MASSE = SIMP(statut='o', 
299                                          typ='R',
300                                          val_min=0,
301                                          fr = "Masse (m)",
302                                          ), # end MASSE
303                                 INERTIEX = SIMP(statut='o', 
304                                         typ='R',
305                                         fr = "Inertie en X (kg.m**2)",
306                                            ), # end INERTIEX
307                                 INERTIEY = SIMP(statut='o', 
308                                         typ='R',
309                                         fr = "Inertie en Y (kg.m**2)",
310                                            ), # end INERTIEY
311                                 INERTIEZ = SIMP(statut='o', 
312                                         typ='R',
313                                         fr = "Inertie en Z (axe de rotation de la ligne d'arbres) (kg.m**2)",
314                                            ), # end INERTIEZ
315                                 ), # end PARAMETRES_QUELCONQUE
316                           ), # end QUELCONQUE
317              ),  # end MASSE
318              NOEUDS = SIMP(fr = "Definition des noeuds de la zone (2 noeuds minimum)",
319                            fenetreIhm='Tableau',
320                            homo = ('NOM','POSITION_AXIALE'),
321                            statut='o',
322                            min=2, 
323                            max='**',
324                            typ = Tuple(2),
325                            validators=VerifTypeTuple(('TXM','R')),
326                            ), # end NOEUDS                 
327              ELEMENTS = FACT(fr = "Definition des elements poutre de la zone",
328                              statut='o',
329                              min=1,
330                              max='**',
331                              NOM = SIMP(statut='o',
332                                         typ='TXM',
333                                         fr="Label de l'element"
334                                         ), # end NOM
335                              NOEUD_DEBUT = SIMP(statut='o',
336                                           typ='TXM',
337                                           fr= "Noeud de debut de l'element poutre (label d'un noeud)"
338                                           ), # end DEBUT
339                              NOEUD_FIN = SIMP(statut='o',
340                                         typ='TXM',
341                                         fr= "Noeud de fin de l'element poutre (label d'un noeud)"
342                                         ), # end FIN
343                              RAFFINEMENT = SIMP(fr = "Choix de raffiner l'element poutre",
344                                               statut='o',
345                                               typ='TXM',
346                                               into=('OUI','NON'),
347                                               defaut='NON'
348                                               ), # end RAFFINEMENT
349                              PARAM_RAFFINEMENT = BLOC(fr = "Nombre de points supplementaires a ajouter pour le raffinement (nombre elements : 1 -> nb points + 1)",
350                                                     condition = "((RAFFINEMENT == 'OUI') )",
351                                                     NB_POINTS_SUPPL = SIMP(statut='o', 
352                                                                            typ='I'
353                                                                            ), # end NB_POINTS_SUPPL
354                                                     ), # end PARAM_RAFFINEMENT
355                              MATERIAU = SIMP(statut='o',
356                                              typ=Materiau,
357                                              fr= "Materiau constituant l'element poutre (doit avoir ete defini via une entree MATERIAUX)"
358                                              ), # end MATERIAU
359                  SECTION_MASSE = FACT(statut='o',
360                                                   fr = "Section a partir de laquelle est determinee la masse de l'element poutre",
361                                                   TYPE_SECTION = SIMP(statut='o',
362                                                                       fr = "Choix d'une section de dimensions constantes ou variables",
363                                                                       typ='TXM',
364                                                                       into=('CONSTANTE','VARIABLE'),
365                                                                       defaut='CONSTANTE',
366                                                                       ), # end TYPE_SECTION
367                                                   DIAM_EXTERN_DEBUT = SIMP(statut='o',
368                                                                            typ='R',
369                                                                            fr = "Diametre exterieur en debut d'element poutre (m)",
370                                                                            ), # end DIAM_EXTERN_DEBUT
371                                                   DIAM_INTERN_DEBUT = SIMP(statut='o',
372                                                                            typ='R',
373                                                                            fr = "Diametre interieur en debut d'element poutre (m) (different de 0 si element creux)",
374                                                                            ), # end DIAM_INTERN_DEBUT
375                                                   PARAMETRE_SECT_VAR = BLOC(condition = "((TYPE_SECTION == 'VARIABLE') )",
376                                                                             fr = "Renseignement des dimensions de fin d'element (variation lineaire entre le debut et la fin)",
377                                                                             DIAM_EXTERN_SORTIE = SIMP(statut='o',
378                                                                                                       typ='R',
379                                                                                                       fr = "Diametre exterieur en fin d'element (m)",
380                                                                                                       ), # end DIAM_EXTERN_SORTIE
381                                                                             DIAM_INTERN_SORTIE = SIMP(statut='o',
382                                                                                                       typ='R',
383                                                                                                       fr = "Diametre interieur en fin d'element (m)",
384                                                                                                       ), # DIAM_INTERN_SORTIE
385                                                                             ),
386                                                   ), # end SECTION_MASSE
387                              SECTION_RIGIDITE = FACT(statut='f',
388                                                      fr = "Section a partir de laquelle est determinee la rigidite de l'element poutre",
389                                                      TYPE_SECTION = SIMP(statut='o', 
390                                                                          fr = "Choix d'une section de dimensions constantes ou variables",
391                                                                          typ='TXM', 
392                                                                          into=('CONSTANTE','VARIABLE'), 
393                                                                          defaut='CONSTANTE',
394                                                                          ), # end TYPE_SECTION
395                                                      DIAM_EXTERN_DEBUT = SIMP(statut='o',
396                                                                               typ='R',
397                                                                               fr = "Diametre exterieur en debut d'element poutre (m)",
398                                                                               ), # end DIAM_EXTERN_DEBUT
399                                                      DIAM_INTERN_DEBUT = SIMP(statut='o',
400                                                                               typ='R',
401                                                                               fr = "Diametre interieur en debut d'element poutre (m) (different de 0 si element creux)",
402                                                                               ), # end DIAM_INTERN_DEBUT
403                                                      PARAMETRE_SECT_VAR = BLOC(condition = "((TYPE_SECTION == 'VARIABLE') )",
404                                                                                fr = "Renseignement des dimensions de fin d'element (variation lineaire entre le debut et la fin)",
405                                                                                DIAM_EXTERN_SORTIE = SIMP(statut='o',
406                                                                                                          typ='R',
407                                                                                                          fr = "Diametre exterieur en fin d'element (m)",
408                                                                                                          ), # end DIAM_EXTERN_SORTIE
409                                                                                DIAM_INTERN_SORTIE = SIMP(statut='o',
410                                                                                                          typ='R',
411                                                                                                          fr = "Diametre interieur en fin d'element (m)",
412                                                                                                          ), # end DIAM_INTERN_SORTIE
413                                                                                ), # end PARAMETRE_SECT_VAR
414                                                      ), # end SECTION_RIGIDITE
415                              ),  # end ELEMENTS
416                              FISSURE = FACT(statut='f',
417                                             fr="Description d'une fissure sur un noeud de l'arbre (licite uniquement si les elements poutres a gauche et a droite du noeud ont des sections masse et rigidite constantes)",
418                                             MATERIAU = SIMP(statut='o',
419                                                             typ=Materiau,
420                                                             fr="Materiau a la position de la fissure (doit avoir ete defini via une entree MATERIAUX)"
421                                                            ), # end MATERIAU
422                                             NOEUD_FISSURE = SIMP(statut='o',
423                                                                  typ='TXM',
424                                                                  fr="Label du noeud ou est positionnee la fissure",
425                                                                  ), # end POSITION_FISSURE
426                                             ORIENTATION_FISSURE = SIMP(statut='o',
427                                                                        typ='R',
428                                                                        fr="Angle initial du fond de fissure par rapport à sa définition dans la loi de comportement de fissure (0. par defaut)(degres)",
429                                                                        ), # end ORIENTATION_FISSURE
430                                             FICHIER_RAIDEUR = SIMP(statut='o',
431                                                                    typ=('Fichier','Fichier loi de raideur (*.*)'),
432                                                                    fr="Fichier contenant la loi de comportement en raideur de la fissure",
433                                                                    ), # end FICHIER_RAIDEUR
434                                             DIAMETRE = SIMP(statut='o',
435                                                             typ='R',
436                                                             fr="Diametre du rotor a l'emplacement de la fissure (m)",
437                                                             ), # end DIAMETRE
438                                             ), # end FISSURE
439
440             )  # end ZONE
441                 
442 ############################# PALIERS ########################################
443 PALIER = MACRO(nom = 'PALIER',
444                op = None,
445                sd_prod = Palier,
446                reentrant = 'n',
447                UIinfo = {"groupes":("Machine tournante",)},
448                fr = "Description d'un palier radial",
449                POSITION = SIMP(statut='o', 
450                                typ='R', 
451                                defaut=0.0, 
452                                fr = "Position axiale (absolue) du palier radial (m)",
453                                ), # end POSITION
454                NOM_NOEUD = SIMP(statut='f',
455                                 typ='TXM',
456                                 fr="Nom du noeud dans le cas où plusieurs noeuds se trouvent à la même position axiale"),
457                TYPE_PALIER = SIMP(statut='o', 
458                                   fr = "Type de palier radial",
459                                   typ='TXM', 
460                                   into=('PALIER LINEAIRE','PALIER NON-LINEAIRE','LAME FLUIDE'),
461                                   ), # end TYPE_PALIER
462            PALIER_LINEAIRE = BLOC(condition = "((TYPE_PALIER == 'PALIER LINEAIRE') )", 
463                           fr = "Description d'un palier radial lineaire",
464                                       TYPE_SAISIE = SIMP(statut='o', 
465                             fr = "Mode de description des caracteristiques du palier radial lineaire",
466                                                         typ='TXM', 
467                             into=('MANUELLE', 'CATALOGUE'),
468                             ), # end TYPE_SAISIE
469                       MANUELLE = BLOC(condition = "((TYPE_SAISIE == 'MANUELLE') )",
470                                       fr = "Saisie manuelle des caracteristiques du palier radial lineaire",
471                                                       CARAC_PALIER = FACT(statut = 'o',max='**',fr = "Caracteristiques du palier par vitesse de rotation de la ligne d'arbres",
472                                                               VITESSE_ROTATION = SIMP(statut='o',
473                                                                                       typ='R',
474                                                                                       fr= "Vitesse de rotation (tr/min)",
475                                                                                       ), # end VITESSE_ROTATION
476                                   SYME = SIMP(statut = 'o',
477                                       typ = 'TXM',
478                                       max = 1,
479                                       fr = "Symetrie des matrices du palier radial lineaire (KXY=KYX et AXY=AYX)",
480                                       into = ('OUI','NON'),
481                                       defaut = 'OUI',
482                                       ), # end SYME
483                                   RIGIDITE_NS = BLOC(condition="(SYME=='NON')",
484                                           RIGIDITE=FACT(statut='o',fr="Renseignement des caracteristiques non-symetriques de rigidite du palier radial lineaire",
485                                           KXX = SIMP(statut = 'o',
486                                             typ = 'R',
487                                             max = 1,
488                                             fr = "Valeur de KXX dans la matrice de rigidite (N/m)",
489                                             ),# end KXX
490                                           KXY = SIMP(statut = 'o',
491                                             typ = 'R',
492                                             max = 1,
493                                             fr = "Valeur de KXY dans la matrice de rigidite (N/m)",
494                                             ),# end KXY
495                                           KYX = SIMP(statut = 'o',
496                                             typ = 'R',
497                                             max = 1,
498                                             fr = "Valeur de KYX dans la matrice de rigidite (N/m)",
499                                             ),# end KYX
500                                           KYY = SIMP(statut = 'o',
501                                             typ = 'R',
502                                             max = 1,
503                                             fr = "Valeur de KYY dans la matrice de rigidite (N/m)",
504                                             ),# end KYY
505                                                   ), # end RIGIDITE
506                                           ), # end RIGIDITE_S
507                                   RIGIDITE_S = BLOC(condition="(SYME=='OUI')",
508                                           RIGIDITE=FACT(statut='o',fr="Renseignement des caracteristiques symetriques de rigidite du palier radial lineaire",
509                                           KXX = SIMP(statut = 'o',
510                                             typ = 'R',
511                                             max = 1,
512                                             fr = "Valeur de KXX dans la matrice de rigidite (N/m)",
513                                             ),# end KXX
514                                           KXY = SIMP(statut = 'o',
515                                             typ = 'R',
516                                             max = 1,
517                                             fr = "Valeur de KXY dans la matrice de rigidite (N/m)",
518                                             ),# end KXY
519                                           KYY = SIMP(statut = 'o',
520                                             typ = 'R',
521                                             max = 1,
522                                             fr = "Valeur de KYY dans la matrice de rigidite (N/m)",
523                                             ),# end KYY
524                                                   ), # end RIGIDITE
525                                           ), # end RIGIDITE_NS
526                                   AMORTISSEMENT_NS = BLOC(condition="(SYME=='NON')",
527                                           AMORTISSEMENT=FACT(statut='o',fr="Renseignement des caracteristiques non-symetriques d'amortissement du palier radial lineaire",
528                                           AXX = SIMP(statut = 'o',
529                                                   typ = 'R',
530                                                   max = 1,
531                                                   fr = "Valeur de AXX dans la matrice d'amortissement (N.s/m)",
532                                                 ),# end AXX
533                                           AXY = SIMP(statut = 'o',
534                                                   typ = 'R',
535                                                   max = 1,
536                                                   fr = "Valeur de AXY dans la matrice d'amortissement (N.s/m)",
537                                                 ),# end AXY
538                                           AYX = SIMP(statut = 'o',
539                                                   typ = 'R',
540                                                   max = 1,
541                                                   fr = "Valeur de AYX dans la matrice d'amortissement (N.s/m)",
542                                                 ),# end AYX
543                                           AYY = SIMP(statut = 'o',
544                                                   typ = 'R',
545                                                   max = 1,
546                                                   fr = "Valeur de AYY dans la matrice d'amortissement (N.s/m)",
547                                                 ),# end AYY
548                                                       ), # end AMORTISSEMENT
549                                             ), # end AMORTISSEMENT_NS
550                                   AMORTISSEMENT_S = BLOC(condition="(SYME=='OUI')",
551                                           AMORTISSEMENT=FACT(statut='o',fr="Renseignement des caracteristiques symetriques d'amortissement du palier radial lineaire",
552                                           AXX = SIMP(statut = 'o',
553                                                   typ = 'R',
554                                                   max = 1,
555                                                   fr = "Valeur de AXX dans la matrice d'amortissement (N.s/m)",
556                                                 ),# end AXX
557                                           AXY = SIMP(statut = 'o',
558                                                   typ = 'R',
559                                                   max = 1,
560                                                   fr = "Valeur de AXY dans la matrice d'amortissement (N.s/m)",
561                                                 ),# end AXY
562                                           AYY = SIMP(statut = 'o',
563                                                   typ = 'R',
564                                                   max = 1,
565                                                   fr = "Valeur de AYY dans la matrice d'amortissement (N.s/m)",
566                                                 ),# end AYY
567                                                       ), # end AMORTISSEMENT
568                                             ), # end AMORTISSEMENT_S
569                                                           ), # end CARAC_PALIER
570                               ), # end MANUELLE
571                               CATALOGUE = BLOC(condition = "((TYPE_SAISIE == 'CATALOGUE') )",
572                                       fr = "Renseignement des fichiers contenant les caracteristiques du palier radial lineaire",
573                                                                       CATALOGUE_AMORTISSEMENT = SIMP(statut='o',
574                                                   min=1, 
575                                                   max=1, 
576                                                   typ='Fichier', 
577                                                   fr="Fichier decrivant les caracteristiques d'amortissement (N.s/m) du palier radial lineaire (format decrit dans le Manuel Utilisateur)",
578                                                   ), # end CATALOGUE_AMORTISSEMENT
579                                       CATALOGUE_RIGIDITE = SIMP(statut='o',
580                                                   min=1, 
581                                                   max=1, 
582                                                   typ='Fichier', 
583                                                   fr="Fichier decrivant les caracteristiques de rigidite (N/m) du palier radial lineaire (format decrit dans le Manuel Utilisateur)",
584                                                   ), # end CATALOGUE_RIGIDITE
585                                       ), # end CATALOGUE
586                          ), # end PALIER_LINEAIRE
587                   LAME_FLUIDE = BLOC(condition = "((TYPE_PALIER == 'LAME FLUIDE') )",
588                                       fr = "Description d'une lame fluide",
589                                                   TYPE_SAISIE = SIMP(statut='o', 
590                             fr = "Mode de description des caracteristiques de la lame fluide",
591                                                         typ='TXM', 
592                                                         defaut = 'MANUELLE',
593                             #into=('MANUELLE', 'CATALOGUE'), #Fonctionnalite catalogue non encore implementee
594                             into=('MANUELLE',),
595                             ), # end TYPE_SAISIE
596                                   MANUELLE = BLOC(condition = "((TYPE_SAISIE == 'MANUELLE') )",
597                                                 fr = "Saisie manuelle des caracteristiques de la lame fluide",
598                                                                 CARAC_PALIER = FACT(statut = 'o',max='**',fr = "Caracteristiques de la lame fluide par vitesse de rotation de la ligne d'arbres",
599                                       SYME = SIMP(statut = 'o',
600                                         typ = 'TXM',
601                                         max = 1,
602                                         fr = "Symetrie des matrices de la lame fluide  (KXY=KYX et AXY=AYX)",
603                                         into = ('OUI','NON'),
604                                         defaut = 'OUI',
605                                         ), # end SYME
606                                     RIGIDITE_NS = BLOC(condition="(SYME=='NON')",
607                                             RIGIDITE=FACT(statut='o',fr="Renseignement des caracteristiques non-symetriques de rigidite de la lame fluide",
608                                           KXX = SIMP(statut = 'o',
609                                             typ = 'R',
610                                             max = 1,
611                                             fr = "Valeur de KXX dans la matrice de rigidite (N/m)",
612                                             ),# end KXX
613                                           KXY = SIMP(statut = 'o',
614                                             typ = 'R',
615                                             max = 1,
616                                             fr = "Valeur de KXY dans la matrice de rigidite (N/m)",
617                                             ),# end KXY
618                                           KYX = SIMP(statut = 'o',
619                                             typ = 'R',
620                                             max = 1,
621                                             fr = "Valeur de KYX dans la matrice de rigidite (N/m)",
622                                             ),# end KYX
623                                           KYY = SIMP(statut = 'o',
624                                             typ = 'R',
625                                             max = 1,
626                                             fr = "Valeur de KYY dans la matrice de rigidite (N/m)",
627                                             ),# end KYY
628                                             ),# end RIGIDITE
629                                             ), # end RIGIDITE_NS
630                                     RIGIDITE_S = BLOC(condition="(SYME=='OUI')",
631                                             RIGIDITE=FACT(statut='o',fr="Renseignement des caracteristiques symetriques de rigidite de la lame fluide",
632                                           KXX = SIMP(statut = 'o',
633                                             typ = 'R',
634                                             max = 1,
635                                             fr = "Valeur de KXX dans la matrice de rigidite (N/m)",
636                                             ),# end KXX
637                                           KXY = SIMP(statut = 'o',
638                                             typ = 'R',
639                                             max = 1,
640                                             fr = "Valeur de KXY dans la matrice de rigidite (N/m)",
641                                             ),# end KXY
642                                           KYY = SIMP(statut = 'o',
643                                             typ = 'R',
644                                             max = 1,
645                                             fr = "Valeur de KYY dans la matrice de rigidite (N/m)",
646                                             ),# end KYY
647                                                   ), # end RIGIDITE
648                                             ), # end RIGIDITE_S
649                                     AMORTISSEMENT_NS = BLOC(condition="(SYME=='NON')",
650                                             AMORTISSEMENT=FACT(statut='o',fr="Renseignement des caracteristiques non-symetriques d'amortissement de la lame fluide",
651                                           AXX = SIMP(statut = 'o',
652                                                   typ = 'R',
653                                                   max = 1,
654                                                   fr = "Valeur de AXX dans la matrice d'amortissement (N.s/m)",
655                                                 ),# end AXX
656                                           AXY = SIMP(statut = 'o',
657                                                   typ = 'R',
658                                                   max = 1,
659                                                   fr = "Valeur de AXY dans la matrice d'amortissement (N.s/m)",
660                                                 ),# end AXY
661                                           AYX = SIMP(statut = 'o',
662                                                   typ = 'R',
663                                                   max = 1,
664                                                   fr = "Valeur de AYX dans la matrice d'amortissement (N.s/m)",
665                                                 ),# end AYX
666                                           AYY = SIMP(statut = 'o',
667                                                   typ = 'R',
668                                                   max = 1,
669                                                   fr = "Valeur de AYY dans la matrice d'amortissement (N.s/m)",
670                                                 ),# end AYY
671                                                       ), # end AMORTISSEMENT
672                                                 ), # end AMORTISSEMENT
673                                             #), # end AMORTISSEMENT_NS
674                                     AMORTISSEMENT_S = BLOC(condition="(SYME=='OUI')",
675                                             AMORTISSEMENT=FACT(statut='o',fr="Renseignement des caracteristiques symetriques d'amortissement de la lame fluide",
676                                           AXX = SIMP(statut = 'o',
677                                                   typ = 'R',
678                                                   max = 1,
679                                                   fr = "Valeur de AXX dans la matrice d'amortissement (N.s/m)",
680                                                 ),# end AXX
681                                           AXY = SIMP(statut = 'o',
682                                                   typ = 'R',
683                                                   max = 1,
684                                                   fr = "Valeur de AXY dans la matrice d'amortissement (N.s/m)",
685                                                 ),# end AXY
686                                           AYY = SIMP(statut = 'o',
687                                                   typ = 'R',
688                                                   max = 1,
689                                                   fr = "Valeur de AYY dans la matrice d'amortissement (N.s/m)",
690                                                 ),# end AYY
691                                                       ), # end AMORTISSEMENT
692                                                 ), # end AMORTISSEMENT_S
693                                     MASSE_NS = BLOC(condition="(SYME=='NON')",
694                                             MASSE=FACT(statut='o',fr="Renseignement des caracteristiques non symetriques de masse de la lame fluide",
695                                               MXX = SIMP(statut = 'o',
696                                                     typ = 'R',
697                                                     max = 1,
698                                                     fr = "Valeur de MXX dans la matrice de masse (kg)",
699                                                     ),# end MXX
700                                               MXY = SIMP(statut = 'o',
701                                                     typ = 'R',
702                                                     max = 1,
703                                                     fr = "Valeur de MXY dans la matrice de masse (kg)",
704                                                     ),# end MXY
705                                               MYX = SIMP(statut = 'o',
706                                                     typ = 'R',
707                                                     max = 1,
708                                                     fr = "Valeur de MYX dans la matrice de masse (kg)",
709                                                     ),# end MYX
710                                               MYY = SIMP(statut = 'o',
711                                                     typ = 'R',
712                                                     max = 1,
713                                                     fr = "Valeur de MYY dans la matrice de masse (kg)",
714                                                     ),# end MYY
715                                                 ), # end MASSE
716                                             ), # end MASSE_NS
717                                     MASSE_S = BLOC(condition="(SYME=='OUI')",
718                                         MASSE=FACT(statut='o',fr="Renseignement des caracteristiques symetriques de masse de la lame fluide",
719                                               MXX = SIMP(statut = 'o',
720                                                     typ = 'R',
721                                                     max = 1,
722                                                     fr = "Valeur de MXX dans la matrice de masse (kg)",
723                                                     ),# end MXX
724                                               MXY = SIMP(statut = 'o',
725                                                     typ = 'R',
726                                                     max = 1,
727                                                     fr = "Valeur de MXY dans la matrice de masse (kg)",
728                                                     ),# end MXY
729                                               MYY = SIMP(statut = 'o',
730                                                     typ = 'R',
731                                                     max = 1,
732                                                     fr = "Valeur de MYY dans la matrice de masse (kg)",
733                                                     ),# end MYY
734                                                 ), # end MASSE
735                                             ), # end MASSE_S
736                                     VITESSE_ROTATION = SIMP(statut='o',
737                                                 typ='R',
738                                                 fr= "Vitesse de rotation (tr/min)",
739                                                 ), # end VITESSE_ROTATION
740                                                                ), # end CARAC_PALIER
741                               ), # end MANUELLE
742                               #Fonctionnalite non encore implementee
743                                                       CATALOGUE = BLOC(condition = "((TYPE_SAISIE == 'CATALOGUE') )",
744                                     PALIERS_CATALOGUE = SIMP(statut='o',
745                                                 min=1, 
746                                                 max=1, 
747                                                 typ='Fichier', 
748                                                 fr="Format du fichier : CSV.",
749                                                 ), # end PALIERS_CATALOGUE
750                                     ), # end CATALOGUE
751                               
752                         ), # end LAME_FLUIDE
753                         PALIER_NON_LINEAIRE = BLOC(condition = "((TYPE_PALIER == 'PALIER NON-LINEAIRE') )",
754                                                   fr = "Description d'un palier non-lineaire (licite uniquement en cas d'analyse de type 'TRANSITOIRE ACCIDENTEL'",
755                                                                   TYPE = SIMP(statut='o',
756                                                               typ='TXM',
757                                                               into=('PAPANL','PAFINL','PAHYNL','PACONL'),
758                                                               defaut=None,
759                                                               fr="Type de palier non-lineaire parmi ceux proposes dans Edyos",
760                                                               ), # end TYPE
761                                                   REPERTOIRE_EDYOS = SIMP(statut='o',
762                                                                           typ=('Repertoire'),
763                                                                           defaut=None,
764                                                                           fr="Repertoire 'CDC' du palier non-lineaire utilise (les fichiers Geometrie et Donnees doivent exister dans les repertoires parents respectivement de niveau 2 et 1 de CDC)",
765                                                                           ), # end REPERTOIRE_EDYOS
766                                                   ), # end PALIER_NON_LINEAIRE
767                )  # end PALIER
768
769 PALIER_TORSION=MACRO(nom="PALIER_TORSION",
770                      op=None,
771                      sd_prod=PalTor,
772                      reentrant='n',
773                      UIinfo={"groupes":("Machine tournante",)},
774                      fr="Description d'un palier de torsion",
775                      POSITION = SIMP(statut='o',typ='R',defaut=0.0,fr = "Position axiale (absolue) du palier de torsion (m)",), # end POSITION
776                      TYPE_SAISIE = SIMP(statut='o',typ='TXM',into=('MANUELLE',),fr = "Mode de description des caracteristiques du palier de torsion",), # end TYPE_SAISIE
777                                    MANUELLE = BLOC(condition = "((TYPE_SAISIE == 'MANUELLE') )", 
778                                               fr = "Saisie manuelle des caracteristiques du palier de torsion",
779                                                           CARAC_PALIER = FACT(statut = 'o',max=1,fr = "Caracteristiques du palier par vitesse de rotation de l'arbre",
780                                                                 VITESSE_ROTATION = SIMP(statut='o',typ='R',min=1,max='**',fr= "Liste des vitesses de rotation (tr/min)",), # end VITESSE_ROTATION          
781                                                                 KRZ = SIMP(statut = 'o',typ = 'R',min=1,max = '**',fr = "Liste des caracteristiques de rigidite (N/m) du palier de torsion en fonction de la vitesse de rotation",),# end KRZ
782                                                                 ARZ = SIMP(statut = 'o',typ = 'R',min=1,max = '**',fr = "Liste des caracteristiques d'amortissement (N.s/m) du palier de torsion  en fonction de la vitesse de rotation",),# end ARZ
783                                                                 MRZ = SIMP(statut = 'f',typ = 'R',min=1,max = '**',fr = "Liste des caracteristiques de masse ajoutee (kg) du palier de torsion  en fonction de la vitesse de rotation",),# end MRZ                    
784                                                               ),#end CARAC_PALIER
785                                                             ), # end MANUELLE
786                                    #Fonctionnalite pas encore implementee
787                                                            CATALOGUE = BLOC(condition = "((TYPE_SAISIE == 'CATALOGUE') )",
788                                                                             fr = "Renseignement des fichiers contenant les caracteristiques du palier de torsion",
789                                                     CATA_PALIER = SIMP(statut='o',min=1,max=1,typ='Fichier',fr="Format du fichier : CSV.",), # end CATA_PALIER
790                                                    ), # end CATALOGUE
791                  )#end PALIER TORSION
792         
793 BUTEE=MACRO(nom="BUTEE",
794             op=None,
795             sd_prod=Butee,
796             reentrant='n',
797             UIinfo={"groupes":("Machine tournante",)},
798             fr="Description d'une butee",
799             POSITION = SIMP(statut='o',typ='R',defaut=0.0,fr = "Position axiale (absolue) de la butee (m)",), # end POSITION
800             TYPE_BUTEE = SIMP(statut='o',typ='TXM',into=('BUTEE LINEAIRE',),fr = "Type de butee",), # end TYPE_BUTEE, BUTEE NON LINEAIRE reintegrable
801             BUTEE_LINEAIRE=BLOC(condition="TYPE_BUTEE=='BUTEE LINEAIRE'",
802                                 fr = "Description d'une butee lineaire",
803                                 TYPE_SAISIE = SIMP(statut='o',typ='TXM',into=('MANUELLE',),fr = "Mode de description des caracteristiques de la butee lineaire",), # end TYPE_SAISIE; 'CATALOGUE' reintegrable
804                                 MANUELLE=BLOC(condition="TYPE_SAISIE=='MANUELLE'",
805                                               fr = "Saisie manuelle des caracteristiques de la butee lineaire",
806                                               CARAC_BUTEE=FACT(statut='o',max=1,fr="Caracteristiques de la butee en fonction de la vitesse de rotation",
807                                                             VITESSE_ROTATION=SIMP(statut='o',typ='R',min=1,max='**',fr="Liste des vitesses de rotation (tr/min)",),
808                                                             SYMETRIQUE=SIMP(statut='o',typ='TXM',min=1,max=1,into=("OUI","NON"),defaut="OUI",fr="Symetrie des matrices de la butee (KRXRY=KRYRX , ARXRY=ARYRX et MRXRY=MRYRX)",),
809
810                                                             RIGIDITE_NS = BLOC(condition="(SYMETRIQUE=='NON')",
811                                                                             RIGIDITE=FACT(statut='o',max=1,fr="Caracteristiques non-symetriques de rigidite de la butee lineaire en fonction de la vitesse de rotation",
812                                                                           KZZ=SIMP(statut='o',typ='R',min=1,max='**',fr="Rigidite axiale (N/m) de la butee lineaire en fonction de la vitesse de rotation"),
813                                                                           KRXRX=SIMP(statut='f',typ='R',min=1,max='**',fr="Rigidite directe de rotation autour de l'axe X (N/m) de la butee lineaire en fonction de la vitesse de rotation"),
814                                                                           KRXRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Rigidite croisee de rotation autour de l'axe X (N/m) de la butee lineaire en fonction de la vitesse de rotation"),
815                                                                           KRYRX=SIMP(statut='f',typ='R',min=1,max='**',fr="Rigidite croisee de rotation autour de l'axe Y (N/m) de la butee lineaire en fonction de la vitesse de rotation"),
816                                                                           KRYRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Rigidite directe de rotation autour de l'axe Y (N/m) de la butee lineaire en fonction de la vitesse de rotation"),
817                                                                              ), #END RIGIDITE
818                                                             ),#END RIGIDITE_NS
819                                                             RIGIDITE_S = BLOC(condition="(SYMETRIQUE=='OUI')",
820                                                                 RIGIDITE=FACT(statut='o',max=1,fr="Caracteristiques symetriques de rigidite de la butee lineaire en fonction de la vitesse de rotation",
821                                                                           KZZ=SIMP(statut='o',typ='R',min=1,max='**',fr="Rigidite axiale (N/m) de la butee lineaire en fonction de la vitesse de rotation"),
822                                                                           KRXRX=SIMP(statut='f',typ='R',min=1,max='**',fr="Rigidite directe de rotation autour de l'axe X (N/m) de la butee lineaire en fonction de la vitesse de rotation"),
823                                                                           KRXRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Rigidite croisee de rotation autour de l'axe X (N/m) de la butee lineaire en fonction de la vitesse de rotation"),
824                                                                           KRYRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Rigidite directe de rotation autour de l'axe Y (N/m) de la butee lineaire en fonction de la vitesse de rotation"),
825                                                                              ), #END RIGIDITE
826                                                             ),#END RIGIDITE_S
827
828                                                             AMORTISSEMENT_NS = BLOC(condition="(SYMETRIQUE=='NON')",
829                                                                 AMORTISSEMENT=FACT(statut='o',max=1,fr="Caracteristiques non-symetriques d'amortissement de la butee lineaire en fonction de la vitesse de rotation",
830                                                                           AZZ=SIMP(statut='o',typ='R',min=1,max='**',fr="Amortissement axial (N.s/m) de la butee lineaire en fonction de la vitesse de rotation"),
831                                                                           ARXRX=SIMP(statut='f',typ='R',min=1,max='**',fr="Amortissement direct de rotation autour de l'axe X (N.s/m) de la butee lineaire en fonction de la vitesse de rotation"),
832                                                                           ARXRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Amortissement croise de rotation autour de l'axe X (N.s/m) de la butee lineaire en fonction de la vitesse de rotation"),
833                                                                           ARYRX=SIMP(statut='f',typ='R',min=1,max='**',fr="Amortissement croise de rotation autour de l'axe Y (N.s/m) de la butee lineaire en fonction de la vitesse de rotation"),
834                                                                           ARYRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Amortissement croise de rotation autour de l'axe Y (N.s/m) de la butee lineaire en fonction de la vitesse de rotation"),                                       
835                                                                   ),#END AMORTISSEMENT
836                                                             ),#END AMORTISSEMENT_NS
837                                                             AMORTISSEMENT_S = BLOC(condition="(SYMETRIQUE=='OUI')",
838                                                                 AMORTISSEMENT=FACT(statut='o',max=1,fr="Caracteristiques symetriques d'amortissement de la butee lineaire en fonction de la vitesse de rotation",
839                                                                           AZZ=SIMP(statut='o',typ='R',min=1,max='**',fr="Amortissement axial (N.s/m) de la butee lineaire en fonction de la vitesse de rotation"),
840                                                                           ARXRX=SIMP(statut='f',typ='R',min=1,max='**',fr="Amortissement direct de rotation autour de l'axe X (N.s/m) de la butee lineaire en fonction de la vitesse de rotation"),
841                                                                           ARXRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Amortissement croise de rotation autour de l'axe X (N.s/m) de la butee lineaire en fonction de la vitesse de rotation"),
842                                                                           ARYRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Amortissement croise de rotation autour de l'axe Y (N.s/m) de la butee lineaire en fonction de la vitesse de rotation"),                                       
843                                                                   ),#END AMORTISSEMENT
844                                                             ),#END AMORTISSEMENT_S
845
846                                                             INERTIE_NS = BLOC(condition="(SYMETRIQUE=='NON')",
847                                                                 INERTIE=FACT(statut='f',max=1,fr="Caracteristiques non-symetriques de masse ajoutee de la butee lineaire en fonction de la vitesse de rotation",
848                                                                           MZZ=SIMP(statut='f',typ='R',min=1,max='**',fr="Masse ajoutee axiale (kg) de la butee lineaire en fonction de la vitesse de rotation"),
849                                                                           MRXRX=SIMP(statut='f',typ='R',min=1,max='**',fr="Masse ajoutee directe de rotation autour de l'axe X (kg) de la butee lineaire en fonction de la vitesse de rotation"),
850                                                                           MRXRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Masse ajoutee croisee de rotation autour de l'axe X (kg) de la butee lineaire en fonction de la vitesse de rotation"),
851                                                                           MRYRX=SIMP(statut='f',typ='R',min=1,max='**',fr="Masse ajoutee croisee de rotation autour de l'axe Y (kg) de la butee lineaire en fonction de la vitesse de rotation"),
852                                                                           MRYRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Masse ajoutee croisee de rotation autour de l'axe Y (kg) de la butee lineaire en fonction de la vitesse de rotation"),                                       
853                                                                  ),#END INERTIE
854                                                             ),#END INERTIE_NS                                   
855                                                             INERTIE_S = BLOC(condition="(SYMETRIQUE=='OUI')",
856                                                                 INERTIE=FACT(statut='f',max=1,fr="Caracteristiques symetriques de masse ajoutee de la butee lineaire en fonction de la vitesse de rotation",
857                                                                           MZZ=SIMP(statut='f',typ='R',min=1,max='**',fr="Masse ajoutee axiale (kg) de la butee lineaire en fonction de la vitesse de rotation"),
858                                                                           MRXRX=SIMP(statut='f',typ='R',min=1,max='**',fr="Masse ajoutee directe de rotation autour de l'axe X (kg) de la butee lineaire en fonction de la vitesse de rotation"),
859                                                                           MRXRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Masse ajoutee croisee de rotation autour de l'axe X (kg) de la butee lineaire en fonction de la vitesse de rotation"),
860                                                                           MRYRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Masse ajoutee croisee de rotation autour de l'axe Y (kg) de la butee lineaire en fonction de la vitesse de rotation"),                                       
861                                                                  ),#END INERTIE
862                                                             ),#END INERTIE_S
863                                                             
864                                                           ),#END CARA_BUTEE
865                                               ),#end MANUELLE
866                                 CATALOGUE=BLOC(condition="TYPE_SAISIE=='CATALOGUE'",
867                                                fr = "Renseignement des fichiers contenant les caracteristiques de la butee lineaire",
868                                                ),#END CATALOGUE
869                                ),#END BUTEE LINEAIRE
870
871             BUTEE_NON_LINEAIRE=BLOC(condition="TYPE_BUTEE=='BUTEE NON LINEAIRE'",
872                                     fr = "Description d'une butee non-lineaire",
873                                     ),#END BUTEE NON LINEAIRE
874
875     );#END BUTEE
876
877 ############################# SUPPORT ########################################
878 SUPPORT = MACRO(nom = "SUPPORT",
879                 op = None,
880                 sd_prod = Support,
881                 reentrant = 'n',
882                 UIinfo = {"groupes":("Machine tournante",)},
883                 fr = "Description d'un support ",
884                 TYPE_SUPPORT = SIMP(statut='o', 
885                                     fr = "Type de support",
886                                     typ='TXM', 
887                                     defaut="RIGIDE", 
888                                     into=("RIGIDE", "SIMPLIFIE", "GENERALISE", ),
889                                     ), # end TYPE_SUPPORT
890                 SIMPLIFIE = BLOC(condition = "((TYPE_SUPPORT == 'SIMPLIFIE') )",
891                                 fr = "Description d'un support simplifie",
892                                 RIGIDITE = FACT(statut='o', fr = "Renseignement des caracteristiques de rigidite du support simplifie",
893                         KXX = SIMP(statut = 'o',
894                               typ = 'R',
895                               max = 1,
896                               fr = "Valeur de KXX dans la matrice de rigidite (N/m)",
897                               ),# end KXX
898                         KXY = SIMP(statut = 'o',
899                               typ = 'R',
900                               max = 1,
901                               fr = "Valeur de KXY dans la matrice de rigidite (N/m)",
902                               ),# end KXY
903                         KYX = SIMP(statut = 'o',
904                               typ = 'R',
905                               max = 1,
906                               fr = "Valeur de KYX dans la matrice de rigidite (N/m)",
907                               ),# end KYX
908                         KYY = SIMP(statut = 'o',
909                               typ = 'R',
910                               max = 1,
911                               fr = "Valeur de KYY dans la matrice de rigidite (N/m)",
912                               ),# end KYY
913                         ), # end RIGIDITE
914                 AMORTISSEMENT = FACT(statut='o', fr= "Renseignement des caracteristiques d'amortissement du support simplifie",
915                             AXX = SIMP(statut = 'o',
916                                 typ = 'R',
917                                 max = 1,
918                                 fr = "Valeur de AXX dans la matrice d'amortissement (N.s/m)",
919                                   ),# end AXX
920                             AXY = SIMP(statut = 'o',
921                                 typ = 'R',
922                                 max = 1,
923                                 fr = "Valeur de AXY dans la matrice d'amortissement (N.s/m)",
924                                   ),# end AXY
925                             AYX = SIMP(statut = 'o',
926                                 typ = 'R',
927                                 max = 1,
928                                 fr = "Valeur de AYX dans la matrice d'amortissement (N.s/m)",
929                                   ),# end AYX
930                             AYY = SIMP(statut = 'o',
931                                 typ = 'R',
932                                 max = 1,
933                                 fr = "Valeur de AYY dans la matrice d'amortissement (N.s/m)",
934                                   ),# end AYY
935                               ), # end AMORTISSEMENT
936                                 MASSE = FACT(statut='o', fr= "Renseignement des caracteristiques de masse du support simplifie",
937                         MXX = SIMP(statut = 'o',
938                             typ = 'R',
939                             max = 1,
940                             fr = "Valeur de MXX dans la matrice de masse (kg)",
941                               ),# end MXX
942                         MXY = SIMP(statut = 'o',
943                             typ = 'R',
944                             max = 1,
945                             fr = "Valeur de MXY dans la matrice de masse (kg)",
946                               ),# end MXY
947                         MYX = SIMP(statut = 'o',
948                             typ = 'R',
949                             max = 1,
950                             fr = "Valeur de MYX dans la matrice de masse (kg)",
951                               ),# end MYX
952                         MYY = SIMP(statut = 'o',
953                             typ = 'R',
954                             max = 1,
955                             fr = "Valeur de MYY dans la matrice de masse (kg)",
956                               ),# end MYY
957                         ), # end MASSE
958                                  ), # end SIMPLIFIE
959                 GENERALISE = BLOC(condition = "((TYPE_SUPPORT == 'GENERALISE') )",
960                                   fr = "Description d'un support generalise",
961                                   ANGL_NAUT = SIMP(statut='f',
962                                                   fr="Rotation du modele du support generalise a effectuer pour coincider avec le repere de la ligne d'arbres (rotation autour de X, puis Y, puis Z (degres))",
963                                                   typ='R',
964                                                   min=3,max=3,
965                                                   ), # end ANGL_NAUT
966                                   TRANS = SIMP(statut='f',
967                                               fr="Translation du modele du support generalise a effectuer pour que ses noeuds de connexion soient confondus avec ceux de la ligne d'arbres (translation suivant X, Y et Z (m))",
968                                               typ='R',
969                                               min=3,max=3,
970                                               ), # end TRANS
971                                   MAIL_TDG = SIMP(statut='o',
972                                                  fr="Fichier du maillage du support generalise",
973                                                  typ=("Fichier","Fichier maillage TdG (*.*)"),
974                                                  min=1,max=1,
975                                                 ), # end MAIL_TDG
976                                   COMM_TDG = SIMP(statut='o',
977                                                  fr="Fichier de la mise en donnees du support generalise",
978                                                  typ=("Fichier","Fichier commande TdG (*.*)"),
979                                                  min=1,max=1,
980                                                 ), # end COMM_TDG
981                                   NOM_MACRO_ELEMENT_DYNAMIQUE = SIMP(statut='o',
982                                                                      fr="Nom du macro element dynamique cree pour le support generalise",
983                                                                      typ='TXM',
984                                                                      min=1,max=1,
985                                                                     ), # end NOM_MACRO_ELEMENT_DYNAMIQUE
986                                   NOM_INTERFACE = SIMP(statut='o',
987                                                        fr="Nom de l'interface cree pour le support generalise",
988                                                        typ='TXM',
989                                                        min=1,max=1,
990                                                       ), # end NOM_INTERFACE
991                                   NOM_GROUP_MA_MASSIF = SIMP(statut='o',
992                                                              fr="Nom du groupe de maille representant le support generalise",
993                                                              typ='TXM',
994                                                              min=1,max=1,
995                                                             ), # end NOM_GROUP_MA_MASSIF
996                                   REDUIT = SIMP(statut='f',
997                                                 fr="Introduction du mot-cle REDUIT pour le cas ou le nombre d'interfaces n'est pas identique entre le support generalise et la ligne d'arbres",
998                                                 typ='TXM',
999                                                 into=("OUI",),
1000                                                 defaut="OUI",
1001                                                ), # end REDUIT 
1002                                   ), # end GENERALISE
1003                 ) # end SUPPORT
1004
1005 ############################# LIGNE_ARBRE ########################################
1006 LIGNE_ARBRE = MACRO(nom = 'LIGNE_ARBRE',
1007                     op = None,
1008                     sd_prod = LigneArbre,
1009                     reentrant = 'n',
1010                     UIinfo = {"groupes":("Machine tournante",)},
1011                     fr = "Description de la ligne d'arbres",
1012                     ZONES = SIMP(statut='o', 
1013                                  fr = "Zone(s) composant la ligne d'arbres (choisir, en faisant attention a l'ordre, parmi les entrees ZONE creees)",
1014                                  typ=Zone, 
1015                                  min=1, 
1016                                  max='**',
1017                                  ), # end ZONES
1018                     PALIERS = SIMP(statut='o',
1019                                    fr = "Paliers supportant la ligne d'arbres (choisir, en faisant attention a l'ordre, parmi les entrees PALIER creees)",
1020                                    typ=Palier,
1021                                    min=2,
1022                                    max='**',
1023                                    ), # end PALIERS
1024                     BUTEES  = SIMP(statut='f',
1025                                    fr = "Butee(s) guidant axialement la ligne d'arbres (choisir, en faisant attention a l'ordre, parmi les entrees BUTEES creees)",
1026                                    typ=Butee,
1027                                    max='**'
1028                                    ),#end BUTEE
1029                     PALIERS_TORSION=SIMP(statut='f',
1030                                          fr = "Palier(s) de torsion de la ligne d'arbres (choisir, en faisant attention a l'ordre, parmi les entrees PALIERS_TORSION creees)",
1031                                          typ=PalTor,
1032                                          max='**'
1033                                          ),#end PALIERS_TORSION
1034                     SUPPORTS = SIMP(statut='o', 
1035                                     fr = "Supports sous les paliers (choisir, en faisant attention a l'ordre, parmi les entrees SUPPORTS creees)",
1036                                     typ=Support, 
1037                                     min=1, 
1038                                     max='**',
1039                                     ), # end SUPPORTS
1040                     ) # end LIGNE_ARBRE
1041