Salome HOME
semaine 37
[tools/eficas.git] / SPECA / SPECA_Cata_V1.py
1 ## -*- coding: utf-8 -*-\r
2 #\r
3 ## --------------------------------------------------\r
4 ## debut entete\r
5 ## --------------------------------------------------\r
6 #\r
7 from Accas import *\r
8 \r
9 \r
10 # rend disponible le type tuple (liste)\r
11 import types\r
12 class Tuple:\r
13   def __init__(self,ntuple):\r
14     self.ntuple=ntuple\r
15 \r
16   def __convert__(self,valeur):\r
17     if type(valeur) == types.StringType:\r
18       return None\r
19     if len(valeur) != self.ntuple:\r
20       return None\r
21     return valeur\r
22 \r
23   def info(self):\r
24     return "Tuple de %s elements" % self.ntuple\r
25 \r
26   __repr__=info\r
27   __str__=info\r
28 \r
29 \r
30 \r
31 #\r
32 #CONTEXT.debug = 1\r
33 \r
34 VERSION_CATALOGUE="2.0.0";\r
35 \r
36 JdC = JDC_CATA ( code = 'SPECA',\r
37                 execmodul = None,\r
38                 regles=(AU_MOINS_UN('SPECIFICATION_ANALYSE',),\r
39                         AU_PLUS_UN('SPECIFICATION_ANALYSE',),\r
40                         ),\r
41                        )# Fin JDC_CATA\r
42 \r
43 ## ----- SPECIFICATION DE L'ETUDE ----- ##\r
44 SPECIFICATION_ANALYSE= MACRO (nom       = 'SPECIFICATION_ANALYSE',\r
45               op        = None,\r
46               UIinfo    = {"groupes":("Machine tournante",)},\r
47               fr        = "Specification des analyses",\r
48               TYPE_ANALYSE     = SIMP(statut='o', typ='TXM',into=('STATIQUE', 'MODALE', 'HARMONIQUE', 'TRANSITOIRE', 'TRANSITOIRE_ACCIDENTEL','SYNTHESE')),\r
49               # pour V1.1 flexion uniquement\r
50               TYPE_COMPORTEMENT = BLOC(condition = "TYPE_ANALYSE in ('MODALE','HARMONIQUE','STATIQUE','TRANSITOIRE','TRANSITOIRE_ACCIDENTEL','SYNTHESE')",\r
51                                         FLEXION = SIMP(statut='o',typ='TXM',into=('OUI',),defaut='OUI',fr="Inclure la flexion ?"),\r
52                                         TORSION = SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='NON',fr="Inclure la torsion ?"),\r
53                                         COMPRESSION = SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='NON',fr="Inclure la compression ?"),\r
54                                       ),\r
55 ### ----- CALCUL STATIQUE ----- ##\r
56               ANALYSE_STATIQUE = BLOC(condition = "TYPE_ANALYSE == 'STATIQUE' ",\r
57               \r
58                       POIDS = SIMP(statut='o',typ='TXM',into=('OUI','NON'),defaut='OUI',fr="Choix d'application d'un poids"),\r
59                       CHARGES = SIMP(statut='o',typ='TXM',into=('DELIGNAGE','FORCE','AUCUNE'),defaut=None,fr="Choix d'application d'une charge"),\r
60                       DELIGNAGE = BLOC(condition = "CHARGES == 'DELIGNAGE' ",fr="Application d'un delignage",\r
61                               PARAM_DELIGNAGE = FACT(statut='o',min=1,max='**',fr="Parametres du delignage",\r
62                                       NOM_PALIER = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,fr="Renseignement du nom d'un palier deligne"),\r
63                                       #VALEURS = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des valeurs du delignage du palier"),\r
64                                       DX = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du DX du delignage du palier"),\r
65                                       DY = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du DY du delignage du palier"),\r
66                               ), # fin PARAM_DELIGNAGE\r
67                       ), # fin DELIGNAGE\r
68                       # min=1,max=2,\r
69                       FORCE = BLOC(condition = "CHARGES == 'FORCE' ",fr="Application d'une force",\r
70                               PARAM_FORCE = FACT(statut='o',min=1,max='**',fr="Parametres de la force",\r
71                                       POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la coordonnee de la force"),\r
72                                       MAGNITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement de la magnitude de la force"),\r
73                                       FONC_APPLI = SIMP(statut='f',typ='R',min=2,max=2,defaut=None,fr="Renseignement de la fonction appliquee"),\r
74                               ), # fin PARAM_FORCE\r
75                       ), # fin FORCE\r
76                       ## fin specification calcul statique\r
77                       \r
78                       ## POST-TRAITEMENTS DU CALCUL STATIQUE\r
79                       POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Choix du type de post-traitement",\r
80                           TYPE = SIMP(statut='o',typ='TXM',into=('DEPL_ABS','DEPL_RELA','EFFORTS_PAL','REAC_NODA','CONTRAINTES'),defaut=None,fr="Choix du type de post-traitement"),\r
81                           DEPL = BLOC(condition="TYPE in ('DEPL_ABS','DEPL_RELA') ",fr="Deplacement",regles=UN_PARMI('POSITION','PALIER'),\r
82                               POSITION = SIMP(statut='f',typ='R',defaut=None,fr="Renseignement de la coordonnee du deplacement"),\r
83                               PALIER = SIMP(statut='f',max='**',typ='TXM',defaut=None,fr="Renseignement du nom du palier"),\r
84                           ), # fin DEPL\r
85                           CONTRAINTES = BLOC(condition="TYPE == 'CONTRAINTES' ",fr="Contraintes",regles=UN_PARMI('POSITION','ZONE','TOUT'),\r
86                               POSITION = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee de la contrainte"),\r
87                               ZONE = SIMP(statut='f',typ='TXM',defaut=None,fr="Renseignement de la zone de la contrainte"),\r
88                               TOUT = SIMP(statut='f',typ='TXM',into=('OUI'),fr="Choix de toutes les containtes"),\r
89                           ), # fin CONTRAINTES\r
90                           #REAC_NODA = BLOC(condition="TYPE == 'REAC_NODA' ", fr="Reaction nodale",regles=UN_PARMI('POSITION','ZONE','TOUT'),\r
91                           #REAC_NODA = BLOC(condition="TYPE == 'REAC_NODA' ", fr="Reaction nodale",regles=UN_PARMI('POSITION','TOUT'),\r
92                           REAC_NODA = BLOC(condition="TYPE == 'REAC_NODA' ", fr="Reaction nodale",regles=UN_PARMI('POSITION','PALIER'),\r
93                               POSITION = SIMP(statut='f',typ='R',max=1,defaut=None,fr="Renseignement de la coordonnee de la reaction"),\r
94                               #ZONE = SIMP(statut='f',typ='TXM',defaut=None,fr="Renseignement de l'etiquette de la zone de la reaction"),\r
95                               PALIER = SIMP(statut='f',max='**',typ='TXM',defaut=None,fr="Renseignement du nom du palier"),\r
96                           ), # fin REAC_NODA\r
97                       ), # fin POST_TRAITEMENT\r
98                       ## fin bloc POST_TRAITEMENTS\r
99                       \r
100               ),# fin ANALYSE_STATIQUE\r
101 \r
102 ### ----- CALCUL MODALE ----- ##\r
103               ANALYSE_MODALE = BLOC(condition = "TYPE_ANALYSE == 'MODALE' ",\r
104                       BASE_CALCUL = SIMP(statut='o',typ="TXM",into=('MODALE','PHYSIQUE'),defaut=None,fr="Choix de la base du calcul modal"),\r
105                       BASE_MODALE = BLOC(condition="BASE_CALCUL=='MODALE'",fr="Calcul sur base modale",\r
106                                          regles=UN_PARMI('NB_MODES','FREQ_MAX'),\r
107                                          NB_MODES=SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de mode"),\r
108                                          FREQ_MAX=SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale"),\r
109                       ), # fin BASE_MODALE\r
110                       AMORTISSEMENT = SIMP(statut='o',typ='TXM',min=1,max=1,into=('OUI','NON'),defaut='OUI',fr="Choix de prise en compte de l'amortissment"),\r
111                       GYROSCOPIE = SIMP(statut='o',typ='TXM',min=1,max=1,into=('OUI','NON'),defaut='OUI',fr="Choix de prise en compte de la gyroscopie"),\r
112                       VITESSE_ROTATION = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement de la liste des vitesses de rotation (tr/min)"),\r
113                       OPTION_CALCUL = SIMP(statut='o',typ='TXM',min=1,max=1,into=('PLUS_PETITE','CENTRE'),defaut=None,fr="Choix de l'option de calcul"),\r
114                       # 20121018 EDF demande de retirer cette option : l'option bande ne fonctionne pas avec MODE_ITER_SIMULT\r
115                       #OPTION_CALCUL = SIMP(statut='o',typ='TXM',min=1,max=1,into=('BANDE','PLUS_PETITE','CENTRE'),defaut=None,fr="Choix de l'option de calcul"),\r
116                       #BANDE = BLOC(condition="OPTION_CALCUL=='BANDE'",fr="Option BANDE",\r
117                         #      FREQ_MIN = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence minimale (Hz)"),\r
118                         #     FREQ_MAX = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale (Hz)"),\r
119                       #), # fin BANDE\r
120                       PLUS_PETITE = BLOC(condition="OPTION_CALCUL=='PLUS_PETITE'",fr="Option PLUS_PETITE",\r
121                               NMAX_FREQ = SIMP(statut='o',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre maximal de frequence"),\r
122                       ), # fin PLUS_PETITE\r
123                       CENTRE = BLOC(condition="OPTION_CALCUL=='CENTRE'",fr="Option CENTRE",\r
124                               FREQ = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence centrale (Hz)"),\r
125                               NMAX_FREQ = SIMP(statut='o',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre maximal de frequence"),\r
126                       ), # fin CENTRE\r
127                       METHODE=SIMP(statut='f',typ='TXM',min=1,max=1,into=('QZ','SORENSEN'),defaut='SORENSEN',fr="Choix de la méthode de résolution"),\r
128                       \r
129                       POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Choix du type de post-traitement",\r
130                               TYPE = SIMP(statut='o',typ='TXM',defaut=None,into=('TABLEAU_PARAM_MODAUX','DIAG_CAMPBELL'),),\r
131                               #TABLEAU_PARAM_MODAUX = SIMP(statut='f',typ='TXM',min=1,max=1,defaut=None,into=('SIMPLE','COMPLET'),fr="Choix du type de tableau"),\r
132                               TABLEAU_PARAM_MODAUX = BLOC(condition = "TYPE == 'TABLEAU_PARAM_MODAUX'",fr="Choix du type de tableau",\r
133                                       TABLEAU = SIMP(statut='o',max=1,typ='TXM',defaut='SIMPLE',into=('SIMPLE','COMPLET'),),\r
134                               ), # fin TABLEAU_PARAM_MODAUX\r
135                               DIAG_CAMPBELL = BLOC(condition = "TYPE == 'DIAG_CAMPBELL'", fr = "Choix des options du diagramme de Campbell",\r
136                                       PRECESSION = SIMP(statut='o',typ='TXM',max=1,defaut=None,into=('SOMME','PLUS_GRANDE_ORBITE'),),\r
137                                       SUIVI = SIMP(statut='o',typ='TXM',max=1,defaut=None,into=('SANS_TRI','TRI_PREC','TRI_FORM_MOD'),),\r
138                                       # 20121018 ajout de NB_MODES a la demande de Ionel Nistor\r
139                                       NB_MODES = SIMP(statut='o',typ='I',max=1,defaut=None,fr="Nombre de modes affiches dans le diagramme, doit etre inferieur au nombre de modes calcules"),\r
140                               ), # fin DIAG_CAMPBELL\r
141                               #DIAG_CAMPBELL = SIMP(statut='f',typ='TXM',min=1,max=1,defaut=None,into=('OUI','NON'),fr="Choix de calcul du diagramme de Campbell (uniquement si plusieurs vitesses de rotation ont ete renseignees)",),\r
142                       ), # fin POST_TRAITEMENTS\r
143                       \r
144                       \r
145               ), # fin ANALYSE_MODALE\r
146 \r
147 ## ----- CALCUL HARMONIQUE ----- ##\r
148               ANALYSE_HARMONIQUE = BLOC(condition = "TYPE_ANALYSE == 'HARMONIQUE' ",fr="Analyse harmonique",\r
149               \r
150                       ## specification calcul harmonique\r
151                       BASE_CALCUL = SIMP(statut='o',typ='TXM',into=('PHYSIQUE','MODALE'),defaut=None,fr="Choix de la base du calcul harmonique"),\r
152                       BASE_MODALE = BLOC(condition = "BASE_CALCUL == 'MODALE' ", fr="Calcul harmonique sur base modale",\r
153                               #MODALE = FACT(statut='o',\r
154                                       regles=UN_PARMI('NB_MODES','FREQ_MAX'),\r
155                                       NB_MODES = SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de mode"),\r
156                                       FREQ_MAX = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale"),\r
157                               #),# fin MODALE\r
158                       ),# fin BASE_MODALE\r
159                       AMORTISSEMENT_P = BLOC(condition = "BASE_CALCUL == 'PHYSIQUE' ",\r
160                               AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('STRUCTUREL'),defaut=None,fr="Choix du type d'amortissement"),\r
161                       ), # fin AMORTISSEMENT_P\r
162                       AMORTISSEMENT_M = BLOC(condition = "BASE_CALCUL == 'MODALE' ",\r
163                               AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('REDUIT','STRUCTUREL'),defaut=None,fr="Choix du type d'amortissement"),\r
164                               # cft modif 20130603\r
165                               #AMOR_REDUIT = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
166                               #        LIST_AMOR = SIMP(statut='o', typ='R', min=1,max='**',defaut=None,fr="Renseignement de la liste des amortissements"),\r
167                               #),# fin AMOR_REDUIT\r
168                               AMOR_MODAL = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
169                                       #AMOR_REDUIT = SIMP(statut='o', typ='R', min=1, max=1,defaut=None,fr="Renseignement de l'amortissement modal reduit (en %)"),\r
170                                       AMOR_REDUIT = SIMP(statut='o', typ='R', min=1, max='**',defaut=None,fr="Renseignement de l'amortissement modal reduit (en %), la taille de la liste doit etre egale au nombre de modes"),\r
171                               ),# fin AMOR_MODALE\r
172                       ), # fin AMORTISSEMENT_M\r
173                       VITESSE_ROTATION = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement de la liste des vitesses de rotation"),\r
174                       # 20121018 retrait de defaut_fn a la demande de EDF\r
175                       #CHARGES = SIMP(statut='o',typ='TXM',into=('BALOURD','HARMONIQUE','DEFAUT_FN','EXTERNE'),defaut=None,min=1,max=1,fr="Choix du type de charge a appliquer"),\r
176                       #CHARGES = SIMP(statut='o',typ='TXM',into=('BALOURD','DELIGNAGE','HARMONIQUE','EXTERNE'),defaut=None,min=1,max=1,fr="Choix du type de charge a appliquer"),\r
177                       CHARGES = SIMP(statut='o',typ='TXM',into=('BALOURD','HARMONIQUE','EXTERNE','AUCUNE'),defaut=None,min=1,max=1,fr="Choix du type de charge a appliquer"),\r
178                       BALOURD = BLOC(condition = "CHARGES == 'BALOURD' ",fr="Charge balourd appliquee",\r
179                               POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee de la charge balourd"),\r
180                               MAGNITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la magnitude de la charge balourd (en kg.m)"),\r
181                               FONC_APPLI = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement de la fonction appliquee de la charge balourd (autant de valeurs que de vitesses de rotation)"),\r
182                               PHASE_DEG = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du decalage de la phase de la charge balourd (en degres)"),\r
183                       ),# fin BALOURD\r
184                       # 20121106 retrait de delgnage a le demande de EDF\r
185                       #DELIGNAGE = BLOC(condition = "CHARGES == 'DELIGNAGE' ",fr="Application d'un delignage",\r
186                               #PARAM_DELIGNAGE = FACT(statut='o',min=1,max='**',fr="Parametres du delignage",\r
187                                       #PALIERS = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,fr="Renseignement du nom d'un palier deligne"),\r
188                                       #VALEURS = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des valeurs du delignage du palier"),\r
189                               #), # fin PARAM_DELIGNAGE\r
190                       #), # fin DELIGNAGE\r
191                       HARMONIQUE = BLOC(condition = "CHARGES == 'HARMONIQUE' ",fr="Charge harmonique appliquee",\r
192                               POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee de la charge harmonique"),\r
193                               PUIS_PULS = SIMP(statut='o',typ='I',min=1,max=1,into=(0,1,2),defaut=None,fr="Renseignement de la puissance de pulsation de la charge harmonique"),\r
194                               PULSATION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la pulsation d'excitation harmonique (en rad/s)"),\r
195                               MAGNITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la magnitude de la charge harmonique, (unite : N.s^i (avec i = PUIS_PULS))"),\r
196                               FONC_APPLI = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement de la fonction appliquee de la charge harmonique (autant de valeurs que de vitesses de rotation)"),\r
197                               PHASE_DEG = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du decalage de la phase de la charge harmonique (en degres)"),\r
198                               TYPE_DDL = SIMP(statut='o',typ='TXM',min=1,max=1,into=('DX','DRX','DY','DRY'),defaut=None,fr="Renseignement du type de DDL excite sur lequel porte la charge"),\r
199                       ), # fin HARMONIQUE\r
200                       # 20121018 retrait de defaut_fn a la demande de EDF\r
201                       #DEFAUT_FN = BLOC(condition = "CHARGES == 'DEFAUT_FN' ",fr="Charge defaut de fibre neutre appliquee",\r
202                               #POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee du defaut de fibre neutre"),\r
203                               #TR_Y = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du vecteur de translation en Y du defaut de fibre neutre"),\r
204                               #TR_Z = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du vecteur de translation en Z du defaut de fibre neutre"),\r
205                               #ROT_Y = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du moment de rotation en Y du defaut de fibre neutre"),\r
206                               #ROT_Z = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du moment de rotation en Z du defaut de fibre neutre"),\r
207                       #), # fin DEFAUT_FN\r
208                       EXTERNE = BLOC(condition = "CHARGES == 'EXTERNE' ",fr="Charge externe appliquee",\r
209                               POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee de la charge externe"),\r
210                               FONC_APPLI = SIMP(typ=('Fichier','Charge Externe (*.csv)'),docu='',min=1,max=1,statut='o',defaut=None,fr="Renseignement de la fonction appliquee à la charge externe (fichier cvs)"),\r
211                       ), # fin EXTERNE\r
212                       ## fin secification calcul harmonique\r
213                       \r
214                       # test cft 20120531\r
215                       ## POST-TRAITEMENTS DU CALCUL HARMONIQUE\r
216                       POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Choix du type de post-traitement",\r
217                           #TYPE = SIMP(statut='o',typ='TXM',into=('DEPL_ABS','DEPL_RELA','EFFORTS_PAL','CONTRAINTES'),defaut=None,fr="Choix du type de post-traitement"),\r
218                           # 2012119 retrait de DEPL_ABS\r
219                           #TYPE = SIMP(statut='o',typ='TXM',into=('DEPL_RELA','EFFORTS_PAL','CONTRAINTES'),defaut=None,fr="Choix du type de post-traitement"),\r
220                           # 20130513 ajout de REAC_NODA\r
221                           TYPE = SIMP(statut='o',typ='TXM',into=('DEPL_RELA','REAC_NODA','EFFORTS_PAL','CONTRAINTES'),defaut=None,fr="Choix du type de post-traitement"),\r
222                           DEPL = BLOC(condition = "TYPE in ('DEPL_ABS','DEPL_RELA') ",fr="Deplacement",regles=UN_PARMI('POSITION','PALIER'),\r
223                               POSITION = SIMP(statut='f',typ='R',defaut=None,fr="Renseignement de la coordonnee du deplacement"),\r
224                               PALIER = SIMP(statut='f',max='**',typ='TXM',defaut=None,fr="Renseignement du nom du palier"),\r
225                           ), # fin DEPL\r
226                           # pas d'options pour EFFORTS_PAL et REAC_NODA\r
227                           #EFFORTS_PAL = BLOC(condition = "TYPE == 'EFFORTS_PAL'", fr = "Efforts paliers",\r
228                                   #PALIER = SIMP(statut='o',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette du palier"),\r
229                           #), # fin EFFORTS_PAL\r
230                           # BASE_CALCUL == 'MODALE'\r
231                           CONTRAINTES = BLOC(condition="TYPE == 'CONTRAINTES' ",fr="Contraintes",regles=UN_PARMI('POSITION','ZONE','TOUT'),\r
232                                   POSITION = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee de la contrainte"),\r
233                                   ZONE = SIMP(statut='f',typ='TXM',min=1,max=1,defaut=None,fr="Renseignement du nom de la zone de la contrainte"),\r
234                                   TOUT = SIMP(statut='f',typ='TXM',into=('OUI'),min=1,max=1,fr="Renseignement de la contrainte"),\r
235                           ), # fin CONTRAINTES\r
236                       ),\r
237                       ## fin bloc POST_TRAITEMENTS\r
238                       \r
239               ),# fin ANALYSE_HARMONIQUE\r
240 \r
241 ### ----- CALCUL TRANSITOIRE ----- ##\r
242               ANALYSE_TRANSISTOIRE = BLOC(condition = "TYPE_ANALYSE == 'TRANSITOIRE' ",fr="Analyse transitoire",\r
243                       POIDS = SIMP(statut='o',typ='TXM',into=('OUI','NON'),defaut='OUI',fr="Choix d'application d'un poids"),\r
244                       VITESSE = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,into=('CONSTANTE','VARIABLE'),fr="Renseignement du type de vitesse de rotation"),\r
245                       BASE_C = BLOC(condition ="VITESSE == 'CONSTANTE'",\r
246                               BASE_CALCUL = SIMP(statut='o',typ='TXM',into=('PHYSIQUE','MODALE'),defaut=None,fr="Choix de la base du calcul transitoire"),\r
247                               BASE_MODALE = BLOC(condition = "BASE_CALCUL == 'MODALE' ", fr="Calcul transitoire sur base modale",\r
248                                                  regles=UN_PARMI('NB_MODES','FREQ_MAX'),\r
249                                       NB_MODES = SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de mode"),\r
250                                       FREQ_MAX = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale"),\r
251                               ),# fin BASE_MODALE\r
252                               AMORTISSEMENT_M = BLOC(condition = "BASE_CALCUL == 'MODALE' ",\r
253                                       AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('REDUIT','STRUCTUREL'),defaut=None,fr="Choix du type d'amortissement"),\r
254                                       # cft modif 20130603\r
255                                       #AMOR_REDUIT = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
256                                       #        LIST_AMOR = SIMP(statut='o', typ='R', min=1,max='**',defaut=None,fr="Renseignement de la liste des amortissements"),\r
257                                       #),# fin AMOR_REDUIT\r
258                                       AMOR_MODAL = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
259                                               AMOR_REDUIT = SIMP(statut='o', typ='R', min=1, max='**',defaut=None,fr="Renseignement de l'amortissement modal reduit (en %), la taille de la liste doit etre egale au nombre de modes"),\r
260                                       ),# fin AMOR_MODALE\r
261                               ), # fin AMORTISSEMENT_M\r
262                       ), # fin BASE_C\r
263                       BASE_V = BLOC(condition ="VITESSE == 'VARIABLE'",\r
264                               BASE_CALCUL = SIMP(statut='o',typ='TXM',into=('MODALE'),defaut='MODALE',fr="Choix de la base du calcul transitoire"),\r
265                               BASE_MODALE = BLOC(condition = "BASE_CALCUL == 'MODALE' ", fr="Calcul transitoire sur base modale",\r
266                                                  regles=UN_PARMI('NB_MODES','FREQ_MAX'),\r
267                                       NB_MODES = SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de mode"),\r
268                                       FREQ_MAX = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale"),\r
269                               ),# fin BASE_MODALE\r
270                               AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('REDUIT','STRUCTUREL'),defaut=None,fr="Choix du type d'amortissement"),\r
271                               # cft modif 20130603\r
272                               #AMOR_REDUIT = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
273                               #        LIST_AMOR = SIMP(statut='o', typ='R', min=1,max='**',defaut=None,fr="Renseignement de la liste des amortissements"),\r
274                               #),# fin AMOR_REDUIT\r
275                               AMOR_MODAL = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
276                                       #AMOR_REDUIT = SIMP(statut='o', typ='R', min=1, max=1,defaut=None,fr="Renseignement de l'amortissement modal reduit (en %)"),\r
277                                       AMOR_REDUIT = SIMP(statut='o', typ='R', min=1, max='**',defaut=None,fr="Renseignement de l'amortissement modal reduit (en %), la taille de la liste doit etre egale au nombre de modes"),\r
278                               ),# fin AMOR_MODALE\r
279                       ), # fin BASE_C\r
280                       #BASE_MODALE = BLOC(condition = "BASE_CALCUL == 'MODALE' ", fr="Calcul transitoire sur base modale",\r
281                       #                   regles=UN_PARMI('NB_MODES','FREQ_MAX'),\r
282                       #        NB_MODES = SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de mode"),\r
283                       #        FREQ_MAX = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale"),\r
284                       #),# fin BASE_MODALE\r
285                       # cft modif 20130603\r
286                       \r
287                       #AMORTISSEMENT_P = BLOC(condition = "BASE_CALCUL == 'PHYSIQUE' ",\r
288                       #        AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('STRUCTUREL'),defaut=None,fr="Choix du type d'amortissement"),\r
289                       #), # fin AMORTISSEMENT_P\r
290                       #AMORTISSEMENT_M = BLOC(condition = "BASE_CALCUL == 'MODALE' ",\r
291                       #        AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('REDUIT','STRUCTUREL'),defaut=None,fr="Choix du type d'amortissement"),\r
292                       #        # cft modif 20130603\r
293                       #        #AMOR_REDUIT = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
294                       #        #        LIST_AMOR = SIMP(statut='o', typ='R', min=1,max='**',defaut=None,fr="Renseignement de la liste des amortissements"),\r
295                       #        #),# fin AMOR_REDUIT\r
296                       #        AMOR_MODAL = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
297                       #                AMOR_REDUIT = SIMP(statut='o', typ='R', min=1, max=1,defaut=None,fr="Renseignement de l'amortissement modal reduit (en %)"),\r
298                       #        ),# fin AMOR_MODALE\r
299                       #), # fin AMORTISSEMENT_M\r
300                       \r
301                       \r
302                       #AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('STRUCTUREL','REDUIT'),defaut=None,fr="Choix du type d'amortissement"),\r
303                       #AMOR_REDUIT = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
304                       #        LIST_AMOR = SIMP(statut='o', typ='R', min=1,max='**',defaut=None,fr="Renseignement de la liste des amortissements"),\r
305                       #),# fin AMOR_REDUIT\r
306                       #AMOR_MODAL = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
307                       #        AMOR_REDUIT = SIMP(statut='o', typ='R', min=1,max=1,defaut=None,fr="Renseignement de l'amortissement modal reduit (en %)"),\r
308                       #),# fin AMOR_MODALE\r
309                       #VITESSE = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,into=('CONSTANTE','VARIABLE'),fr="Renseignement du type de vitesse de rotation"),\r
310                       VITESSE_CONSTANTE = BLOC(condition = "VITESSE == 'CONSTANTE' ", fr="Vitesse de rotation constante",\r
311                               VITESSE_ROTATION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation"),\r
312                       ),# fin VITESSE_CONSTANTE\r
313                       VITESSE_VARIABLE = BLOC(condition = "VITESSE == 'VARIABLE' ", fr="Vitesse de rotation variable", regles=UN_PARMI('LINEAIRE','EXPONENTIELLE','FORMULE'),\r
314                               LINEAIRE = FACT(statut='f',min=1,max=1,fr="Renseignement de la fonction lineaire de la vitesse de rotation",\r
315                                       VITESSE_INITIALE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation initiale (en tr/min)",),\r
316                                       VITESSE_FINALE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation finale (en tr/min)",),\r
317                                       DEPHASAGE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la postion angulaire (en degre)"),\r
318                                       PAS_MAJ = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement du pas (ou liste) de mise a jour des matrices des paliers (en tours)"),\r
319                               ),# fin LINEAIRE\r
320                               EXPONENTIELLE = FACT(statut='f',min=1,max=1,fr="Renseignement de la fonction exponentielle de la vitesse de rotation",\r
321                                       VITESSE_INITIALE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation initiale (en tr/min)",),\r
322                                       VITESSE_FINALE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation finale (en tr/min)",),\r
323                                       DEPHASAGE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la postion angulaire (en degre)"),\r
324                                       LAMBDA = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du parametre de l'exponentielle"),\r
325                                       PAS_MAJ = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement du pas (ou liste) de mise a jour des matrices des paliers (en tours)"),\r
326                               ),# fin VITESSE_EXPONENTIELLE\r
327                               FORMULE = FACT(statut='f',min=1,max=1,fr="Renseignement de la fonction de la vitesse de rotation",\r
328                                       FICHIER = SIMP(statut='o',typ=('Fichier','Formule vitesse rotation (*.*)'),min=1,max=1,defaut=None,fr="Renseignement du fichier contenant les fonctions de la vitesse de rotation"),\r
329                                       OM = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,fr="Renseignement du nom de la formule de position angulaire (max 8 caractere)"),\r
330                                       PHI = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,fr="Renseignement du nom de la formule de vitesse angulaire (max 8 caractere)"),\r
331                                       ACC = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,fr="Renseignement du nom de la formule d'acceleration angulaire (max 8 caractere)"),\r
332                                       PAS_MAJ = SIMP(statut='f',typ='R',min=1,max='**',defaut=None,fr="Renseignement du pas (ou liste) de mise a jour des matrices des paliers (en tours)"),\r
333                               ),# fin VITESSE_EXPONENTIELLE\r
334                       ),# fin VITESSE_VARIABLE\r
335                       #POIDS_PROPRE = SIMP(statut='o',typ='TXM',into=('OUI','NON'),defaut='NON',fr="Choix d'application du poids propre (pesanteur)"),\r
336                       # 20121018 retrait de defaut_fn a la demande de EDF\r
337                       #CHARGES = SIMP(statut='o',typ='TXM',into=('BALOURD','DEFAUT_FN','DELIGNAGE','EXTERNE'),defaut=None,min=1,max=1,fr="Choix du type de charge a appliquer"),\r
338                       # 20121119 retrait de delignage\r
339                       #CHARGES = SIMP(statut='o',typ='TXM',into=('BALOURD','DELIGNAGE','EXTERNE'),defaut=None,min=1,max=1,fr="Choix du type de charge a appliquer"),\r
340                       CHARGES = SIMP(statut='o',typ='TXM',into=('BALOURD','FORCE','HARMONIQUE'),defaut=None,min=1,max=1,fr="Choix du type de charge a appliquer"),\r
341                       BALOURD = BLOC(condition = "CHARGES == 'BALOURD' ",fr="Charge balourd appliquee",\r
342                               POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee de la charge balourd"),\r
343                               MAGNITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la magnitude de la charge balourd (en kg.m)"),\r
344                               FONC_APPLI = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement de la fonction appliquee de la charge balourd (autant de valeurs que de vitesses de rotation)"),\r
345                               PHASE_DEG = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du decalage de la phase de la charge balourd (en degres)"),\r
346                               INST_APPLI= SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseigner l'instant pour déclencher le balourd"),\r
347                               TEMPS_MONTEE=SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseigner le temps pour la montée jusqu'à la valeur finale du balourd"),\r
348                       ),# fin BALOURD\r
349                       FORCE = BLOC(condition = "CHARGES == 'FORCE' ",fr="Application d'une force",\r
350                               PARAM_FORCE = FACT(statut='o',min=1,max='**',fr="Parametres de la force",\r
351                                       POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la coordonnee de la force"),\r
352                                       MAGNITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement de la magnitude de la force"),\r
353                                       FONC_APPLI = SIMP(statut='f',typ='R',min=2,max=2,defaut=None,fr="Renseignement de la fonction appliquee"),\r
354                               ), # fin PARAM_FORCE\r
355                       ), # fin FORCE\r
356                       HARMONIQUE = BLOC(condition = "CHARGES == 'HARMONIQUE' ",fr="Charge harmonique appliquee",\r
357                               POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee de la charge harmonique"),\r
358                               PUIS_PULS = SIMP(statut='o',typ='I',min=1,max=1,into=(0,1,2),defaut=None,fr="Renseignement de la puissance de pulsation de la charge harmonique"),\r
359                               PULSATION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la pulsation d'excitation harmonique (en rad/s)"),\r
360                               MAGNITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la magnitude de la charge harmonique, (unite : N.s^i (avec i = PUIS_PULS)"),\r
361                               FONC_APPLI = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement de la fonction appliquee de la charge harmonique (autant de valeurs que de vitesses de rotation)"),\r
362                               PHASE_DEG = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du decalage de la phase de la charge harmonique (en degres)"),\r
363                               TYPE_DDL = SIMP(statut='o',typ='TXM',min=1,max=1,into=('DX','DRX','DY','DRY'),defaut=None,fr="Renseignement du type de DDL excite sur lequel porte la charge"),\r
364                       ), # fin HARMONIQUE\r
365                       # 20121018 retrait de defaut_fn a la demande de EDF\r
366                       #DEFAUT_FN = BLOC(condition = "CHARGES == 'DEFAUT_FN' ",fr="Charge defaut de fibre neutre appliquee",\r
367                               #POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee du defaut de fibre neutre"),\r
368                               #TR_Y = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du vecteur de translation en Y du defaut de fibre neutre"),\r
369                               #TR_Z = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du vecteur de translation en Z du defaut de fibre neutre"),\r
370                               #ROT_Y = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du moment de rotation en Y du defaut de fibre neutre"),\r
371                               #ROT_Z = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du moment de rotation en Z du defaut de fibre neutre"),\r
372                       #), # fin DEFAUT_FN\r
373                       # 20121119 retrait de delignage\r
374                       #DELIGNAGE = BLOC(condition = "CHARGES == 'DELIGNAGE' ",fr="Application d'un delignage",\r
375                               #PARAM_DELIGNAGE = FACT(statut='o',min=1,max='**',fr="Parametres du delignage",\r
376                                       #PALIERS = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,fr="Renseignement du nom d'un palier deligne"),\r
377                                       #VALEURS = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des valeurs du delignage du palier"),\r
378                               #), # fin PARAM_DELIGNAGE\r
379                       #), # fin DELIGNAGE\r
380                       # retrait force fichier externe\r
381                       #EXTERNE = BLOC(condition = "CHARGES == 'EXTERNE' ",fr="Charge externe appliquee",\r
382                               #POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee de la charge externe"),\r
383                               #FONC_APPLI = SIMP(typ=('Fichier','Charge Externe (*.csv)'),docu='',min=1,max=1,statut='o',defaut=None,fr="Renseignement de la fonction appliquee à la charge externe (fichier cvs)"),\r
384                       #), # fin EXTERNE\r
385                       ETAT_INIT = FACT(statut='o',fr="Renseignement de l'etat initial",\r
386                               #RESULTAT = SIMP(statut='o',typ=('sd_resultat'),max=1,defaut=None,fr="Choix de la structure de donnees resultat de code aster "),\r
387                               RESULTAT = SIMP(statut='f',typ='TXM',max=1,defaut=None,fr="Choix de la structure de donnees resultat de code aster "),\r
388                               INST_INIT = SIMP(statut='f',typ='R',max=1,defaut=0.0,fr="Renseignement de l'instant initial"),\r
389                       ), # fin ETAT_INIT\r
390                       PARAM_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('PAS','LISTE'),defaut=None,fr="Choix du type de parametrage temporel"),\r
391                       #PAS = BLOC(condition = "VITESSE == 'VARIABLE'",fr="Renseignement des parametres des pas",\r
392                       PAS = BLOC(condition = "PARAM_TEMPS == 'PAS'",fr="Renseignement des parametres des pas",\r
393                               TEMPS_PAS = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement du pas de temps (en s)"),\r
394                               INST_INI = SIMP(statut='f',typ='R',max=1,defaut=None,fr="Renseignement de l'instant initial du pas"),\r
395                               INST_FIN = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement de l'instant final du pas"),\r
396                       ), # fin TEMPS_PAS\r
397                       LIST_INST = BLOC(condition = "PARAM_TEMPS == 'LISTE'",fr="Renseignement d'une liste de pas",\r
398                               LISTE = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement d'une liste de pas"),\r
399                       ), # fin LIST_INST\r
400                       PAS_ARCHIVAGE = SIMP(statut='o',typ='I',max=1,defaut=None,fr="Renseignement du pas d'archivage",),\r
401                       SCHEMA_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('NEWMARK','EULER','WILSON','ADAPT_ORDRE1','ADAPT_ORDRE2','DIFF_CENTRE'),defaut='NEWMARK',fr="Choix d'un schema temporel"),\r
402                       NEWMARK = BLOC(condition = "SCHEMA_TEMPS == 'NEWMARK' ",fr="Choix de la methode de NEWMARK",\r
403                               BETA = SIMP(statut='f',typ='R',max=1,defaut=0.25,fr="Renseignement de la valeur beta pour la methode de NEWMARK"),\r
404                               GAMMA = SIMP(statut='f',typ='R',max=1,defaut=0.25,fr="Renseignement de la valeur gamma pour la methode de NEWMARK"),\r
405                       ),# fin NEWMARK\r
406                       WILSON = BLOC(condition = "SCHEMA_TEMPS == 'WILSON' ",fr="Choix de la methode de WILSON",\r
407                               THETA = SIMP(statut='f',typ='R',max=1,defaut=1.4,fr="Renseignement de la valeur theta pour la methode de WILSON"),\r
408                       ), # fin WILSON\r
409                       #Ionel le 19122012, FISSURE n'est pas dans la V1\r
410                       #FISSURE = BLOC(condition = "BASE_CALCUL == 'MODALE' ",fr="Choix de calcul avec fissure",\r
411                       #        EMPLACEMENT = FACT(statut='o',fr="Renseignement de l'emplacement de la fissure",\r
412                       #                           regles=UN_PARMI('POSITION','NOEUD'),\r
413                       #                POSITION = SIMP(statut='f',typ='R',max=1,defaut=None,fr="Renseignement de la coordonnee de la fissure"),\r
414                       #                NOEUD = SIMP(statut='f',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette du noeud de la fissure"),\r
415                       #        ), # fin EMPLACEMENT\r
416                       #        VITE_ROTA = SIMP(statut='f',typ='R',max=1,defaut=None,fr="Renseignement de ?? "),\r
417                       #        ANGL_INIT = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement de ?? "),\r
418                       #        K_PHI = SIMP(statut='o',typ=('Fichier','K.PHI (*.*)'),docu='',min=1,max=1,defaut=None,fr="Renseignement de la loi de comportement en raideur de la fissure"),\r
419                       #        DK_DPHI = SIMP(statut='o',typ=('Fichier','DK.DPHI (*.*)'),docu='',min=1,max=1,defaut=None,fr="Renseignement de la deivee de la loi de comportement en raideur de la fissure"),\r
420                       #), # fin FISSURE\r
421                       \r
422                       ## POST_TRAITEMENTS de l'analyse transitoire\r
423                       POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Choix des post-traitements",\r
424                               TYPE = SIMP(statut='o',typ='TXM',into=('DEPL_ABS','DEPL_RELA','EFFORTS_PAL','CONTRAINTES'),defaut=None,fr="Choix du type de post-traitement"),\r
425                               DEPL = BLOC(condition = "TYPE in ('DEPL_ABS','DEPL_RELA') ",fr="Deplacement",regles=UN_PARMI('POSITION','PALIER'),\r
426                                       #POSITION_DEPL = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee du deplacement"),\r
427                                       POSITION = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee du deplacement"),\r
428                                       PALIER = SIMP(statut='f',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette du palier"),\r
429                               ), # fin DEPL\r
430                               # 20121119 pas de mots-cles specifique pour efforts_paliers\r
431                               #EFFORTS_PAL = BLOC(condition = "TYPE == 'EFFORTS_PAL'", fr = "Efforts paliers",\r
432                                   #PALIER = SIMP(statut='o',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette du palier"),\r
433                               #), # fin EFFORTS_PAL\r
434                               CONTRAINTES = BLOC(condition = "TYPE == 'CONTRAINTES' ",fr="Contraintes",\r
435                                                 regles=UN_PARMI('POSITION','ZONE','TOUT'),\r
436                                       POSITION = SIMP(statut='f',typ='R',max=1,defaut=None,fr="Renseignement de la coordonnee de la contrainte"),\r
437                                       ZONE = SIMP(statut='f',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette de la zone de la contrainte"),\r
438                                       TOUT = SIMP(statut='f',typ='TXM',into=('OUI'),max=1,fr="tout"),\r
439                               ), # fin CONTRAINTES\r
440                       ), # fin POST_TRAITEMENTS\r
441               \r
442               ), # fin ANALYSE_TRANSISTOIRE\r
443               \r
444 \r
445 ### ----- CALCUL COUPLE CODE_ASTER/EYDOS ----- ##\r
446               ANALYSE_TRANSITOIRE_ACCIDENTEL = BLOC(condition = "TYPE_ANALYSE == 'TRANSITOIRE_ACCIDENTEL' ",fr="Analyse transitoire accidentelle",\r
447                       #BASE_MODALE = FACT(statut='o', fr="Choix des parametres de la base modale",                                 \r
448                       POIDS = SIMP(statut='o',typ='TXM',into=('OUI','NON'),defaut='OUI',fr="Choix d'application d'un poids"),\r
449                       BASE_MODALE = BLOC(condition = "True", fr="Choix des parametres de la base modale",\r
450                                          regles=UN_PARMI('NB_MODES','FREQ_MAX'),\r
451                               NB_MODES = SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de mode"),\r
452                               FREQ_MAX = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale"),\r
453                       ),# fin BASE_MODALE      \r
454                       # cft 20131217 suppression amortissement reduit\r
455                       #AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('STRUCTUREL','REDUIT'),defaut=None,fr="Choix du type d'amortissement"),\r
456                       AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('STRUCTUREL'),defaut=None,fr="Choix du type d'amortissement"),\r
457                       AMOR_REDUIT = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
458                               #LIST_AMOR = SIMP(statut='o', typ='R', min=1,max='**',defaut=None,fr="Renseignement de la liste des amortissements"),\r
459                               LIST_AMOR = SIMP(statut='o', typ='R', min=1,max='**',defaut=None,fr="Renseignement de la liste des amortissements modaux reduits (en %), la taille de la liste doit etre egale au nombre de modes"),\r
460                       ),# fin AMOR_REDUIT\r
461                       VITESSE_ROTATION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation"),\r
462                       #POIDS_PROPRE = SIMP(statut='o',typ='TXM',into=('OUI','NON'),defaut='NON',fr="Choix d'application du poids propre (pesanteur)"),\r
463                       # 20121018 retrait de defaut_fn a la demande de EDF\r
464                       #CHARGES = SIMP(statut='o',typ='TXM',into=('BALOURD','DEFAUT_FN','DELIGNAGE','EXTERNE','EFFORTS_PALIERS'),defaut=None,min=1,max=1,fr="Choix du type de charge a appliquer"),\r
465                       #CHARGES = SIMP(statut='o',typ='TXM',into=('BALOURD','DELIGNAGE','EXTERNE','EFFORTS_PALIERS'),defaut=None,min=1,max=1,fr="Choix du type de charge a appliquer"),\r
466                       CHARGES = SIMP(statut='o',typ='TXM',into=('BALOURD','EXTERNE'),defaut=None,min=1,max=1,fr="Choix du type de charge a appliquer"),\r
467                       BALOURD = BLOC(condition = "CHARGES == 'BALOURD' ",fr="Charge balourd appliquee",\r
468                               POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee de la charge balourd"),\r
469                               MAGNITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la magnitude de la charge balourd (en kg.m)"),\r
470                               FONC_APPLI = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement de la fonction appliquee de la charge balourd (autant de valeurs que de vitesses de rotation)"),\r
471                               PHASE_DEG = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du decalage de la phase de la charge balourd (en degres)"),\r
472                               INST_APPLI= SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseigner l'instant pour déclencher le balourd"),\r
473                               TEMPS_MONTEE=SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseigner le temps pour la montée jusqu'à la valeur finale du balourd"),\r
474                       ),# fin BALOURD\r
475                       # a commenter\r
476                       # 20121018 retrait de defaut_fn a la demande de EDF\r
477                       #DEFAUT_FN = BLOC(condition = "CHARGES == 'DEFAUT_FN' ",fr="Charge defaut de fibre neutre appliquee",\r
478                               #POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee du defaut de fibre neutre"),\r
479                               #TR_Y = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du vecteur de translation en Y du defaut de fibre neutre"),\r
480                               #TR_Z = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du vecteur de translation en Z du defaut de fibre neutre"),\r
481                               #ROT_Y = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du moment de rotation en Y du defaut de fibre neutre"),\r
482                               #ROT_Z = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du moment de rotation en Z du defaut de fibre neutre"),\r
483                       #), # fin DEFAUT_FN\r
484                       #DELIGNAGE = BLOC(condition = "CHARGES == 'DELIGNAGE' ",fr="Application d'un delignage",\r
485                               #PARAM_DELIGNAGE = FACT(statut='o',min=1,max='**',fr="Parametres du delignage",\r
486                                       #PALIERS = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,fr="Renseignement du nom d'un palier deligne"),\r
487                                       #VALEURS = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des valeurs du delignage du palier"),\r
488                               #), # fin PARAM_DELIGNAGE\r
489                       #), # fin DELIGNAGE\r
490                       EXTERNE = BLOC(condition = "CHARGES == 'EXTERNE' ",fr="Charge externe appliquee",\r
491                               POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee de la charge externe"),\r
492                               FONC_APPLI = SIMP(typ=('Fichier','Charge Externe (*.csv)'),docu='',min=1,max=1,statut='o',defaut=None,fr="Renseignement de la fonction appliquee à la charge externe (fichier cvs)"),\r
493                       ), # fin EXTERNE\r
494                       #EFFORTS_PALIERS = BLOC(condition = "CHARGES == 'EFFORTS_PALIERS' ",fr="Application d'un effort palier",\r
495                               #PALIER = SIMP(statut='o',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette du palier de l'effort"),\r
496                               #VALEURS = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignment de la valeur de l'effort sur le palier"),\r
497                       #), # fin EFFORTS_PALIERS\r
498                       ETAT_INIT = FACT(statut='o',fr="Renseignement de l'etat initial",\r
499                               #RESULTAT = SIMP(statut='o',typ=('sd_resultat'),max=1,defaut=None,fr="Choix de la structure de donnees resultat de code aster "),\r
500                               # 20121126\r
501                               #RESULTAT = SIMP(statut='o',typ='TXM',max=1,defaut=None,fr="Choix de la structure de donnees resultat de code aster "),\r
502                               INST_INIT = SIMP(statut='f',typ='R',max=1,defaut=None,fr="Renseignement de l'instant initial"),\r
503                       ), # fin ETAT_INIT\r
504                       #PARAM_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('PAS','LIST_INST'),defaut=None,fr="Choix du type de parametrage temporel"),\r
505                       # 20121126\r
506                       PARAM_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('PAS'),defaut="PAS",fr="Choix du type de parametrage temporel",),\r
507                       PAS = BLOC(condition = "PARAM_TEMPS == 'PAS' ",fr="Renseignement des parametres des pas",\r
508                               PAS_ASTER = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement du pas de temps Aster (en s)",),\r
509                               PAS_EDYOS = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement du pas de temps Edyos (en s)",),\r
510                               INST_FIN = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement de l'instant final (en s)",),\r
511                       ), # fin TEMPS_PAS\r
512                       #LIST_INST = BLOC(condition = "PARAM_TEMPS == 'LIST_INST' ",fr="Renseignement d'une liste de pas",\r
513                               #LISTE = SIMP(statut='f',typ='R',min=1,max='**',defaut=None,fr="Renseignement d'une liste de pas"),\r
514                       #), # fin LIST_INST\r
515                       PAS_ARCHIVAGE = SIMP(statut='o',typ='I',max=1,defaut=None,fr="Renseignement du pas d'archivage",),\r
516                       PARA_MEM = SIMP(statut='f',typ='I',max=1,defaut=6400,fr="Renseigner la taille de la memoire en Mo",),\r
517                       PARA_CPU = SIMP(statut='f',typ='I',max=1,defaut=10000,fr="Renseigner le temps CPU max en secondes",),\r
518                       SCHEMA_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('EULER','ADAPT_ORDRE1','ADAPT_ORDRE2'),defaut='ADAPT_ORDRE2',fr="Choix d'un schema temporel"),\r
519                       \r
520                       ## POST_TRAITEMENTS de l'analyse transitoire\r
521                       POST_TRAITEMENTS = FACT(statut='o',fr="Choix des post-traitements",\r
522                               TYPE = SIMP(statut='o',typ='TXM',into=('DEPL_ABS','DEPL_RELA','EFFORTS_PAL','CONTRAINTES'),defaut=None,fr="Choix du type de post-traitement"),\r
523                               DEPL = BLOC(condition = "TYPE in ('DEPL_ABS','DEPL_RELA') ",fr="Deplacement",\r
524                                       POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee du deplacement"),\r
525                                       PALIER = SIMP(statut='f',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette du palier"),\r
526                               ), # fin DEPL\r
527                               # pas d'info à rentrer pour les efforts palier (post-traitement sur tout les paliers)\r
528                               #EFFORTS_PAL = BLOC(condition = "TYPE == 'EFFORTS_PAL'", fr = "Efforts paliers",\r
529                                   #PALIER = SIMP(statut='o',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette du palier"),\r
530                               #), # fin EFFORTS_PAL\r
531                               CONTRAINTES = BLOC(condition = "TYPE == 'CONTRAINTES' ",fr="Contraintes",\r
532                                                 regles=UN_PARMI('POSITION','ZONE','TOUT'),\r
533                                       POSITION = SIMP(statut='f',typ='R',max=1,defaut=None,fr="Renseignement de la coordonnee de la contrainte"),\r
534                                       ZONE = SIMP(statut='f',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette de la zone de la contrainte"),\r
535                                       TOUT = SIMP(statut='f',typ='TXM',into=('OUI'),max=1,fr="tout"),\r
536                               ), # fin CONTRAINTES\r
537                       ), # fin POST_TRAITEMENTS\r
538                       \r
539                       \r
540               ), # fin ANALYSE_TRANSITOIRE_ACCIDENTEL\r
541                  \r
542 )# fin SPECIFICATION_ANALYSE\r