Salome HOME
premiere version
[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 \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 = SIMP(statut='o', typ='TXM',into=('FLEXION'),defaut='FLEXION',fr="Renseignement du type de comportement voulu"),\r
51 \r
52 ### ----- CALCUL STATIQUE ----- ##\r
53               ANALYSE_STATIQUE = BLOC(condition = "TYPE_ANALYSE == 'STATIQUE' ",\r
54               \r
55                       POIDS = SIMP(statut='o',typ='TXM',into=('OUI','NON'),defaut='OUI',fr="Choix d'application d'un poids"),\r
56                       CHARGES = SIMP(statut='o',typ='TXM',into=('DELIGNAGE','FORCE','AUCUNE'),defaut=None,fr="Choix d'application d'une charge"),\r
57                       DELIGNAGE = BLOC(condition = "CHARGES == 'DELIGNAGE' ",fr="Application d'un delignage",\r
58                               PARAM_DELIGNAGE = FACT(statut='o',min=1,max='**',fr="Parametres du delignage",\r
59                                       NOM_PALIER = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,fr="Renseignement du nom d'un palier deligne"),\r
60                                       #VALEURS = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des valeurs du delignage du palier"),\r
61                                       DX = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du DX du delignage du palier"),\r
62                                       DY = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du DY du delignage du palier"),\r
63                               ), # fin PARAM_DELIGNAGE\r
64                       ), # fin DELIGNAGE\r
65                       # min=1,max=2,\r
66                       FORCE = BLOC(condition = "CHARGES == 'FORCE' ",fr="Application d'une force",\r
67                               PARAM_FORCE = FACT(statut='o',min=1,max='**',fr="Parametres de la force",\r
68                                       POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la coordonnee de la force"),\r
69                                       MAGNITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement de la magnitude de la force"),\r
70                                       FONC_APPLI = SIMP(statut='f',typ='R',min=2,max=2,defaut=None,fr="Renseignement de la fonction appliquee"),\r
71                               ), # fin PARAM_FORCE\r
72                       ), # fin FORCE\r
73                       ## fin specification calcul statique\r
74                       \r
75                       ## POST-TRAITEMENTS DU CALCUL STATIQUE\r
76                       POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Choix du type de post-traitement",\r
77                           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
78                           DEPL = BLOC(condition="TYPE in ('DEPL_ABS','DEPL_RELA') ",fr="Deplacement",regles=UN_PARMI('POSITION','PALIER'),\r
79                               POSITION = SIMP(statut='f',typ='R',defaut=None,fr="Renseignement de la coordonnee du deplacement"),\r
80                               PALIER = SIMP(statut='f',max='**',typ='TXM',defaut=None,fr="Renseignement du nom du palier"),\r
81                           ), # fin DEPL\r
82                           CONTRAINTES = BLOC(condition="TYPE == 'CONTRAINTES' ",fr="Contraintes",regles=UN_PARMI('POSITION','ZONE','TOUT'),\r
83                               POSITION = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee de la contrainte"),\r
84                               ZONE = SIMP(statut='f',typ='TXM',defaut=None,fr="Renseignement de la zone de la contrainte"),\r
85                               TOUT = SIMP(statut='f',typ='TXM',into=('OUI'),fr="Choix de toutes les containtes"),\r
86                           ), # fin CONTRAINTES\r
87                           #REAC_NODA = BLOC(condition="TYPE == 'REAC_NODA' ", fr="Reaction nodale",regles=UN_PARMI('POSITION','ZONE','TOUT'),\r
88                           #REAC_NODA = BLOC(condition="TYPE == 'REAC_NODA' ", fr="Reaction nodale",regles=UN_PARMI('POSITION','TOUT'),\r
89                           REAC_NODA = BLOC(condition="TYPE == 'REAC_NODA' ", fr="Reaction nodale",regles=UN_PARMI('POSITION','PALIER'),\r
90                               POSITION = SIMP(statut='f',typ='R',max=1,defaut=None,fr="Renseignement de la coordonnee de la reaction"),\r
91                               #ZONE = SIMP(statut='f',typ='TXM',defaut=None,fr="Renseignement de l'etiquette de la zone de la reaction"),\r
92                               PALIER = SIMP(statut='f',max='**',typ='TXM',defaut=None,fr="Renseignement du nom du palier"),\r
93                           ), # fin REAC_NODA\r
94                       ), # fin POST_TRAITEMENT\r
95                       ## fin bloc POST_TRAITEMENTS\r
96                       \r
97               ),# fin ANALYSE_STATIQUE\r
98 \r
99 ### ----- CALCUL MODALE ----- ##\r
100               ANALYSE_MODALE = BLOC(condition = "TYPE_ANALYSE == 'MODALE' ",\r
101                       BASE_CALCUL = SIMP(statut='o',typ="TXM",into=('MODALE','PHYSIQUE'),defaut=None,fr="Choix de la base du calcul modal"),\r
102                       BASE_MODALE = BLOC(condition="BASE_CALCUL=='MODALE'",fr="Calcul sur base modale",\r
103                                          regles=UN_PARMI('NB_MODES','FREQ_MAX'),\r
104                                          NB_MODES=SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de mode"),\r
105                                          FREQ_MAX=SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale"),\r
106                       ), # fin BASE_MODALE\r
107                       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
108                       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
109                       VITESSE_ROTATION = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement de la liste des vitesses de rotation (tr/min)"),\r
110                       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
111                       # 20121018 EDF demande de retirer cette option : l'option bande ne fonctionne pas avec MODE_ITER_SIMULT\r
112                       #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
113                       #BANDE = BLOC(condition="OPTION_CALCUL=='BANDE'",fr="Option BANDE",\r
114                         #      FREQ_MIN = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence minimale (Hz)"),\r
115                         #     FREQ_MAX = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale (Hz)"),\r
116                       #), # fin BANDE\r
117                       PLUS_PETITE = BLOC(condition="OPTION_CALCUL=='PLUS_PETITE'",fr="Option PLUS_PETITE",\r
118                               NMAX_FREQ = SIMP(statut='o',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre maximal de frequence"),\r
119                       ), # fin PLUS_PETITE\r
120                       CENTRE = BLOC(condition="OPTION_CALCUL=='CENTRE'",fr="Option CENTRE",\r
121                               FREQ = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence centrale (Hz)"),\r
122                               NMAX_FREQ = SIMP(statut='o',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre maximal de frequence"),\r
123                       ), # fin CENTRE\r
124                       \r
125                       POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Choix du type de post-traitement",\r
126                               TYPE = SIMP(statut='o',typ='TXM',defaut=None,into=('TABLEAU_PARAM_MODAUX','DIAG_CAMPBELL'),),\r
127                               #TABLEAU_PARAM_MODAUX = SIMP(statut='f',typ='TXM',min=1,max=1,defaut=None,into=('SIMPLE','COMPLET'),fr="Choix du type de tableau"),\r
128                               TABLEAU_PARAM_MODAUX = BLOC(condition = "TYPE == 'TABLEAU_PARAM_MODAUX'",fr="Choix du type de tableau",\r
129                                       TABLEAU = SIMP(statut='o',max=1,typ='TXM',defaut='SIMPLE',into=('SIMPLE','COMPLET'),),\r
130                               ), # fin TABLEAU_PARAM_MODAUX\r
131                               DIAG_CAMPBELL = BLOC(condition = "TYPE == 'DIAG_CAMPBELL'", fr = "Choix des options du diagramme de Campbell",\r
132                                       PRECESSION = SIMP(statut='o',typ='TXM',max=1,defaut=None,into=('SOMME','PLUS_GRANDE_ORBITE'),),\r
133                                       SUIVI = SIMP(statut='o',typ='TXM',max=1,defaut=None,into=('SANS_TRI','TRI_PREC','TRI_FORM_MOD'),),\r
134                                       # 20121018 ajout de NB_MODES a la demande de Ionel Nistor\r
135                                       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
136                               ), # fin DIAG_CAMPBELL\r
137                               #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
138                       ), # fin POST_TRAITEMENTS\r
139                       \r
140                       \r
141               ), # fin ANALYSE_MODALE\r
142 \r
143 ## ----- CALCUL HARMONIQUE ----- ##\r
144               ANALYSE_HARMONIQUE = BLOC(condition = "TYPE_ANALYSE == 'HARMONIQUE' ",fr="Analyse harmonique",\r
145               \r
146                       ## specification calcul harmonique\r
147                       BASE_CALCUL = SIMP(statut='o',typ='TXM',into=('PHYSIQUE','MODALE'),defaut=None,fr="Choix de la base du calcul harmonique"),\r
148                       BASE_MODALE = BLOC(condition = "BASE_CALCUL == 'MODALE' ", fr="Calcul harmonique sur base modale",\r
149                               #MODALE = FACT(statut='o',\r
150                                       regles=UN_PARMI('NB_MODES','FREQ_MAX'),\r
151                                       NB_MODES = SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de mode"),\r
152                                       FREQ_MAX = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale"),\r
153                               #),# fin MODALE\r
154                       ),# fin BASE_MODALE\r
155                       AMORTISSEMENT_P = BLOC(condition = "BASE_CALCUL == 'PHYSIQUE' ",\r
156                               AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('STRUCTUREL'),defaut=None,fr="Choix du type d'amortissement"),\r
157                       ), # fin AMORTISSEMENT_P\r
158                       AMORTISSEMENT_M = BLOC(condition = "BASE_CALCUL == 'MODALE' ",\r
159                               AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('REDUIT','STRUCTUREL'),defaut=None,fr="Choix du type d'amortissement"),\r
160                               # cft modif 20130603\r
161                               #AMOR_REDUIT = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
162                               #        LIST_AMOR = SIMP(statut='o', typ='R', min=1,max='**',defaut=None,fr="Renseignement de la liste des amortissements"),\r
163                               #),# fin AMOR_REDUIT\r
164                               AMOR_MODAL = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
165                                       #AMOR_REDUIT = SIMP(statut='o', typ='R', min=1, max=1,defaut=None,fr="Renseignement de l'amortissement modal reduit (en %)"),\r
166                                       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
167                               ),# fin AMOR_MODALE\r
168                       ), # fin AMORTISSEMENT_M\r
169                       VITESSE_ROTATION = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement de la liste des vitesses de rotation"),\r
170                       # 20121018 retrait de defaut_fn a la demande de EDF\r
171                       #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
172                       #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
173                       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
174                       BALOURD = BLOC(condition = "CHARGES == 'BALOURD' ",fr="Charge balourd appliquee",\r
175                               POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee de la charge balourd"),\r
176                               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
177                               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
178                               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
179                       ),# fin BALOURD\r
180                       # 20121106 retrait de delgnage a le demande de EDF\r
181                       #DELIGNAGE = BLOC(condition = "CHARGES == 'DELIGNAGE' ",fr="Application d'un delignage",\r
182                               #PARAM_DELIGNAGE = FACT(statut='o',min=1,max='**',fr="Parametres du delignage",\r
183                                       #PALIERS = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,fr="Renseignement du nom d'un palier deligne"),\r
184                                       #VALEURS = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des valeurs du delignage du palier"),\r
185                               #), # fin PARAM_DELIGNAGE\r
186                       #), # fin DELIGNAGE\r
187                       HARMONIQUE = BLOC(condition = "CHARGES == 'HARMONIQUE' ",fr="Charge harmonique appliquee",\r
188                               POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee de la charge harmonique"),\r
189                               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
190                               PULSATION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la pulsation d'excitation harmonique (en rad/s)"),\r
191                               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
192                               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
193                               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
194                               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
195                       ), # fin HARMONIQUE\r
196                       # 20121018 retrait de defaut_fn a la demande de EDF\r
197                       #DEFAUT_FN = BLOC(condition = "CHARGES == 'DEFAUT_FN' ",fr="Charge defaut de fibre neutre appliquee",\r
198                               #POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee du defaut de fibre neutre"),\r
199                               #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
200                               #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
201                               #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
202                               #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
203                       #), # fin DEFAUT_FN\r
204                       EXTERNE = BLOC(condition = "CHARGES == 'EXTERNE' ",fr="Charge externe appliquee",\r
205                               POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee de la charge externe"),\r
206                               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
207                       ), # fin EXTERNE\r
208                       ## fin secification calcul harmonique\r
209                       \r
210                       # test cft 20120531\r
211                       ## POST-TRAITEMENTS DU CALCUL HARMONIQUE\r
212                       POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Choix du type de post-traitement",\r
213                           #TYPE = SIMP(statut='o',typ='TXM',into=('DEPL_ABS','DEPL_RELA','EFFORTS_PAL','CONTRAINTES'),defaut=None,fr="Choix du type de post-traitement"),\r
214                           # 2012119 retrait de DEPL_ABS\r
215                           #TYPE = SIMP(statut='o',typ='TXM',into=('DEPL_RELA','EFFORTS_PAL','CONTRAINTES'),defaut=None,fr="Choix du type de post-traitement"),\r
216                           # 20130513 ajout de REAC_NODA\r
217                           TYPE = SIMP(statut='o',typ='TXM',into=('DEPL_RELA','REAC_NODA','EFFORTS_PAL','CONTRAINTES'),defaut=None,fr="Choix du type de post-traitement"),\r
218                           DEPL = BLOC(condition = "TYPE in ('DEPL_ABS','DEPL_RELA') ",fr="Deplacement",regles=UN_PARMI('POSITION','PALIER'),\r
219                               POSITION = SIMP(statut='f',typ='R',defaut=None,fr="Renseignement de la coordonnee du deplacement"),\r
220                               PALIER = SIMP(statut='f',max='**',typ='TXM',defaut=None,fr="Renseignement du nom du palier"),\r
221                           ), # fin DEPL\r
222                           # pas d'options pour EFFORTS_PAL et REAC_NODA\r
223                           #EFFORTS_PAL = BLOC(condition = "TYPE == 'EFFORTS_PAL'", fr = "Efforts paliers",\r
224                                   #PALIER = SIMP(statut='o',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette du palier"),\r
225                           #), # fin EFFORTS_PAL\r
226                           # BASE_CALCUL == 'MODALE'\r
227                           CONTRAINTES = BLOC(condition="TYPE == 'CONTRAINTES' ",fr="Contraintes",regles=UN_PARMI('POSITION','ZONE','TOUT'),\r
228                                   POSITION = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee de la contrainte"),\r
229                                   ZONE = SIMP(statut='f',typ='TXM',min=1,max=1,defaut=None,fr="Renseignement du nom de la zone de la contrainte"),\r
230                                   TOUT = SIMP(statut='f',typ='TXM',into=('OUI'),min=1,max=1,fr="Renseignement de la contrainte"),\r
231                           ), # fin CONTRAINTES\r
232                       ),\r
233                       ## fin bloc POST_TRAITEMENTS\r
234                       \r
235               ),# fin ANALYSE_HARMONIQUE\r
236 \r
237 ### ----- CALCUL TRANSITOIRE ----- ##\r
238               ANALYSE_TRANSISTOIRE = BLOC(condition = "TYPE_ANALYSE == 'TRANSITOIRE' ",fr="Analyse transitoire",\r
239                       VITESSE = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,into=('CONSTANTE','VARIABLE'),fr="Renseignement du type de vitesse de rotation"),\r
240                       BASE_C = BLOC(condition ="VITESSE == 'CONSTANTE'",\r
241                               BASE_CALCUL = SIMP(statut='o',typ='TXM',into=('PHYSIQUE','MODALE'),defaut=None,fr="Choix de la base du calcul transitoire"),\r
242                               BASE_MODALE = BLOC(condition = "BASE_CALCUL == 'MODALE' ", fr="Calcul transitoire sur base modale",\r
243                                                  regles=UN_PARMI('NB_MODES','FREQ_MAX'),\r
244                                       NB_MODES = SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de mode"),\r
245                                       FREQ_MAX = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale"),\r
246                               ),# fin BASE_MODALE\r
247                               AMORTISSEMENT_M = BLOC(condition = "BASE_CALCUL == 'MODALE' ",\r
248                                       AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('REDUIT','STRUCTUREL'),defaut=None,fr="Choix du type d'amortissement"),\r
249                                       # cft modif 20130603\r
250                                       #AMOR_REDUIT = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
251                                       #        LIST_AMOR = SIMP(statut='o', typ='R', min=1,max='**',defaut=None,fr="Renseignement de la liste des amortissements"),\r
252                                       #),# fin AMOR_REDUIT\r
253                                       AMOR_MODAL = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
254                                               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
255                                       ),# fin AMOR_MODALE\r
256                               ), # fin AMORTISSEMENT_M\r
257                       ), # fin BASE_C\r
258                       BASE_V = BLOC(condition ="VITESSE == 'VARIABLE'",\r
259                               BASE_CALCUL = SIMP(statut='o',typ='TXM',into=('MODALE'),defaut='MODALE',fr="Choix de la base du calcul transitoire"),\r
260                               BASE_MODALE = BLOC(condition = "BASE_CALCUL == 'MODALE' ", fr="Calcul transitoire sur base modale",\r
261                                                  regles=UN_PARMI('NB_MODES','FREQ_MAX'),\r
262                                       NB_MODES = SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de mode"),\r
263                                       FREQ_MAX = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale"),\r
264                               ),# fin BASE_MODALE\r
265                               AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('REDUIT','STRUCTUREL'),defaut=None,fr="Choix du type d'amortissement"),\r
266                               # cft modif 20130603\r
267                               #AMOR_REDUIT = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
268                               #        LIST_AMOR = SIMP(statut='o', typ='R', min=1,max='**',defaut=None,fr="Renseignement de la liste des amortissements"),\r
269                               #),# fin AMOR_REDUIT\r
270                               AMOR_MODAL = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
271                                       #AMOR_REDUIT = SIMP(statut='o', typ='R', min=1, max=1,defaut=None,fr="Renseignement de l'amortissement modal reduit (en %)"),\r
272                                       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
273                               ),# fin AMOR_MODALE\r
274                       ), # fin BASE_C\r
275                       #BASE_MODALE = BLOC(condition = "BASE_CALCUL == 'MODALE' ", fr="Calcul transitoire sur base modale",\r
276                       #                   regles=UN_PARMI('NB_MODES','FREQ_MAX'),\r
277                       #        NB_MODES = SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de mode"),\r
278                       #        FREQ_MAX = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale"),\r
279                       #),# fin BASE_MODALE\r
280                       # cft modif 20130603\r
281                       \r
282                       #AMORTISSEMENT_P = BLOC(condition = "BASE_CALCUL == 'PHYSIQUE' ",\r
283                       #        AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('STRUCTUREL'),defaut=None,fr="Choix du type d'amortissement"),\r
284                       #), # fin AMORTISSEMENT_P\r
285                       #AMORTISSEMENT_M = BLOC(condition = "BASE_CALCUL == 'MODALE' ",\r
286                       #        AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('REDUIT','STRUCTUREL'),defaut=None,fr="Choix du type d'amortissement"),\r
287                       #        # cft modif 20130603\r
288                       #        #AMOR_REDUIT = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
289                       #        #        LIST_AMOR = SIMP(statut='o', typ='R', min=1,max='**',defaut=None,fr="Renseignement de la liste des amortissements"),\r
290                       #        #),# fin AMOR_REDUIT\r
291                       #        AMOR_MODAL = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
292                       #                AMOR_REDUIT = SIMP(statut='o', typ='R', min=1, max=1,defaut=None,fr="Renseignement de l'amortissement modal reduit (en %)"),\r
293                       #        ),# fin AMOR_MODALE\r
294                       #), # fin AMORTISSEMENT_M\r
295                       \r
296                       \r
297                       #AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('STRUCTUREL','REDUIT'),defaut=None,fr="Choix du type d'amortissement"),\r
298                       #AMOR_REDUIT = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
299                       #        LIST_AMOR = SIMP(statut='o', typ='R', min=1,max='**',defaut=None,fr="Renseignement de la liste des amortissements"),\r
300                       #),# fin AMOR_REDUIT\r
301                       #AMOR_MODAL = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
302                       #        AMOR_REDUIT = SIMP(statut='o', typ='R', min=1,max=1,defaut=None,fr="Renseignement de l'amortissement modal reduit (en %)"),\r
303                       #),# fin AMOR_MODALE\r
304                       #VITESSE = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,into=('CONSTANTE','VARIABLE'),fr="Renseignement du type de vitesse de rotation"),\r
305                       VITESSE_CONSTANTE = BLOC(condition = "VITESSE == 'CONSTANTE' ", fr="Vitesse de rotation constante",\r
306                               VITESSE_ROTATION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation"),\r
307                       ),# fin VITESSE_CONSTANTE\r
308                       VITESSE_VARIABLE = BLOC(condition = "VITESSE == 'VARIABLE' ", fr="Vitesse de rotation variable", regles=UN_PARMI('LINEAIRE','EXPONENTIELLE','FORMULE'),\r
309                               LINEAIRE = FACT(statut='f',min=1,max=1,fr="Renseignement de la fonction lineaire de la vitesse de rotation",\r
310                                       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
311                                       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
312                                       DEPHASAGE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la postion angulaire (en degre)"),\r
313                                       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
314                               ),# fin LINEAIRE\r
315                               EXPONENTIELLE = FACT(statut='f',min=1,max=1,fr="Renseignement de la fonction exponentielle de la vitesse de rotation",\r
316                                       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
317                                       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
318                                       DEPHASAGE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la postion angulaire (en degre)"),\r
319                                       LAMBDA = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du parametre de l'exponentielle"),\r
320                                       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
321                               ),# fin VITESSE_EXPONENTIELLE\r
322                               FORMULE = FACT(statut='f',min=1,max=1,fr="Renseignement de la fonction de la vitesse de rotation",\r
323                                       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
324                                       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
325                                       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
326                                       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
327                                       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
328                               ),# fin VITESSE_EXPONENTIELLE\r
329                       ),# fin VITESSE_VARIABLE\r
330                       #POIDS_PROPRE = SIMP(statut='o',typ='TXM',into=('OUI','NON'),defaut='NON',fr="Choix d'application du poids propre (pesanteur)"),\r
331                       # 20121018 retrait de defaut_fn a la demande de EDF\r
332                       #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
333                       # 20121119 retrait de delignage\r
334                       #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
335                       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
336                       BALOURD = BLOC(condition = "CHARGES == 'BALOURD' ",fr="Charge balourd appliquee",\r
337                               POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee de la charge balourd"),\r
338                               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
339                               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
340                               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
341                       ),# fin BALOURD\r
342                       FORCE = BLOC(condition = "CHARGES == 'FORCE' ",fr="Application d'une force",\r
343                               PARAM_FORCE = FACT(statut='o',min=1,max='**',fr="Parametres de la force",\r
344                                       POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la coordonnee de la force"),\r
345                                       MAGNITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement de la magnitude de la force"),\r
346                                       FONC_APPLI = SIMP(statut='f',typ='R',min=2,max=2,defaut=None,fr="Renseignement de la fonction appliquee"),\r
347                               ), # fin PARAM_FORCE\r
348                       ), # fin FORCE\r
349                       HARMONIQUE = BLOC(condition = "CHARGES == 'HARMONIQUE' ",fr="Charge harmonique appliquee",\r
350                               POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee de la charge harmonique"),\r
351                               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
352                               PULSATION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la pulsation d'excitation harmonique (en rad/s)"),\r
353                               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
354                               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
355                               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
356                               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
357                       ), # fin HARMONIQUE\r
358                       # 20121018 retrait de defaut_fn a la demande de EDF\r
359                       #DEFAUT_FN = BLOC(condition = "CHARGES == 'DEFAUT_FN' ",fr="Charge defaut de fibre neutre appliquee",\r
360                               #POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee du defaut de fibre neutre"),\r
361                               #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
362                               #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
363                               #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
364                               #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
365                       #), # fin DEFAUT_FN\r
366                       # 20121119 retrait de delignage\r
367                       #DELIGNAGE = BLOC(condition = "CHARGES == 'DELIGNAGE' ",fr="Application d'un delignage",\r
368                               #PARAM_DELIGNAGE = FACT(statut='o',min=1,max='**',fr="Parametres du delignage",\r
369                                       #PALIERS = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,fr="Renseignement du nom d'un palier deligne"),\r
370                                       #VALEURS = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des valeurs du delignage du palier"),\r
371                               #), # fin PARAM_DELIGNAGE\r
372                       #), # fin DELIGNAGE\r
373                       # retrait force fichier externe\r
374                       #EXTERNE = BLOC(condition = "CHARGES == 'EXTERNE' ",fr="Charge externe appliquee",\r
375                               #POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee de la charge externe"),\r
376                               #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
377                       #), # fin EXTERNE\r
378                       ETAT_INIT = FACT(statut='o',fr="Renseignement de l'etat initial",\r
379                               #RESULTAT = SIMP(statut='o',typ=('sd_resultat'),max=1,defaut=None,fr="Choix de la structure de donnees resultat de code aster "),\r
380                               RESULTAT = SIMP(statut='f',typ='TXM',max=1,defaut=None,fr="Choix de la structure de donnees resultat de code aster "),\r
381                               INST_INIT = SIMP(statut='f',typ='R',max=1,defaut=0.0,fr="Renseignement de l'instant initial"),\r
382                       ), # fin ETAT_INIT\r
383                       PARAM_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('PAS','LISTE'),defaut=None,fr="Choix du type de parametrage temporel"),\r
384                       #PAS = BLOC(condition = "VITESSE == 'VARIABLE'",fr="Renseignement des parametres des pas",\r
385                       PAS = BLOC(condition = "PARAM_TEMPS == 'PAS'",fr="Renseignement des parametres des pas",\r
386                               TEMPS_PAS = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement du pas de temps (en s)"),\r
387                               INST_INI = SIMP(statut='f',typ='R',max=1,defaut=None,fr="Renseignement de l'instant initial du pas"),\r
388                               INST_FIN = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement de l'instant final du pas"),\r
389                       ), # fin TEMPS_PAS\r
390                       LIST_INST = BLOC(condition = "PARAM_TEMPS == 'LISTE'",fr="Renseignement d'une liste de pas",\r
391                               LISTE = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement d'une liste de pas"),\r
392                       ), # fin LIST_INST\r
393                       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
394                       NEWMARK = BLOC(condition = "SCHEMA_TEMPS == 'NEWMARK' ",fr="Choix de la methode de NEWMARK",\r
395                               BETA = SIMP(statut='f',typ='R',max=1,defaut=0.25,fr="Renseignement de la valeur beta pour la methode de NEWMARK"),\r
396                               GAMMA = SIMP(statut='f',typ='R',max=1,defaut=0.25,fr="Renseignement de la valeur gamma pour la methode de NEWMARK"),\r
397                       ),# fin NEWMARK\r
398                       WILSON = BLOC(condition = "SCHEMA_TEMPS == 'WILSON' ",fr="Choix de la methode de WILSON",\r
399                               THETA = SIMP(statut='f',typ='R',max=1,defaut=1.4,fr="Renseignement de la valeur theta pour la methode de WILSON"),\r
400                       ), # fin WILSON\r
401                       #Ionel le 19122012, FISSURE n'est pas dans la V1\r
402                       #FISSURE = BLOC(condition = "BASE_CALCUL == 'MODALE' ",fr="Choix de calcul avec fissure",\r
403                       #        EMPLACEMENT = FACT(statut='o',fr="Renseignement de l'emplacement de la fissure",\r
404                       #                           regles=UN_PARMI('POSITION','NOEUD'),\r
405                       #                POSITION = SIMP(statut='f',typ='R',max=1,defaut=None,fr="Renseignement de la coordonnee de la fissure"),\r
406                       #                NOEUD = SIMP(statut='f',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette du noeud de la fissure"),\r
407                       #        ), # fin EMPLACEMENT\r
408                       #        VITE_ROTA = SIMP(statut='f',typ='R',max=1,defaut=None,fr="Renseignement de ?? "),\r
409                       #        ANGL_INIT = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement de ?? "),\r
410                       #        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
411                       #        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
412                       #), # fin FISSURE\r
413                       \r
414                       ## POST_TRAITEMENTS de l'analyse transitoire\r
415                       POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Choix des post-traitements",\r
416                               TYPE = SIMP(statut='o',typ='TXM',into=('DEPL_ABS','DEPL_RELA','EFFORTS_PAL','CONTRAINTES'),defaut=None,fr="Choix du type de post-traitement"),\r
417                               DEPL = BLOC(condition = "TYPE in ('DEPL_ABS','DEPL_RELA') ",fr="Deplacement",regles=UN_PARMI('POSITION','PALIER'),\r
418                                       #POSITION_DEPL = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee du deplacement"),\r
419                                       POSITION = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee du deplacement"),\r
420                                       PALIER = SIMP(statut='f',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette du palier"),\r
421                               ), # fin DEPL\r
422                               # 20121119 pas de mots-cles specifique pour efforts_paliers\r
423                               #EFFORTS_PAL = BLOC(condition = "TYPE == 'EFFORTS_PAL'", fr = "Efforts paliers",\r
424                                   #PALIER = SIMP(statut='o',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette du palier"),\r
425                               #), # fin EFFORTS_PAL\r
426                               CONTRAINTES = BLOC(condition = "TYPE == 'CONTRAINTES' ",fr="Contraintes",\r
427                                                 regles=UN_PARMI('POSITION','ZONE','TOUT'),\r
428                                       POSITION = SIMP(statut='f',typ='R',max=1,defaut=None,fr="Renseignement de la coordonnee de la contrainte"),\r
429                                       ZONE = SIMP(statut='f',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette de la zone de la contrainte"),\r
430                                       TOUT = SIMP(statut='f',typ='TXM',into=('OUI'),max=1,fr="tout"),\r
431                               ), # fin CONTRAINTES\r
432                       ), # fin POST_TRAITEMENTS\r
433               \r
434               ), # fin ANALYSE_TRANSISTOIRE\r
435               \r
436 \r
437 ### ----- CALCUL COUPLE CODE_ASTER/EYDOS ----- ##\r
438               ANALYSE_TRANSITOIRE_ACCIDENTEL = BLOC(condition = "TYPE_ANALYSE == 'TRANSITOIRE_ACCIDENTEL' ",fr="Analyse transitoire accidentelle",\r
439                       #BASE_MODALE = FACT(statut='o', fr="Choix des parametres de la base modale",                                 \r
440                       BASE_MODALE = BLOC(condition = "True", fr="Choix des parametres de la base modale",\r
441                                          regles=UN_PARMI('NB_MODES','FREQ_MAX'),\r
442                               NB_MODES = SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de mode"),\r
443                               FREQ_MAX = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale"),\r
444                       ),# fin BASE_MODALE      \r
445                       # cft 20131217 suppression amortissement reduit\r
446                       #AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('STRUCTUREL','REDUIT'),defaut=None,fr="Choix du type d'amortissement"),\r
447                       AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('STRUCTUREL'),defaut=None,fr="Choix du type d'amortissement"),\r
448                       AMOR_REDUIT = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
449                               #LIST_AMOR = SIMP(statut='o', typ='R', min=1,max='**',defaut=None,fr="Renseignement de la liste des amortissements"),\r
450                               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
451                       ),# fin AMOR_REDUIT\r
452                       VITESSE_ROTATION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation"),\r
453                       #POIDS_PROPRE = SIMP(statut='o',typ='TXM',into=('OUI','NON'),defaut='NON',fr="Choix d'application du poids propre (pesanteur)"),\r
454                       # 20121018 retrait de defaut_fn a la demande de EDF\r
455                       #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
456                       #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
457                       CHARGES = SIMP(statut='o',typ='TXM',into=('BALOURD','EXTERNE'),defaut=None,min=1,max=1,fr="Choix du type de charge a appliquer"),\r
458                       BALOURD = BLOC(condition = "CHARGES == 'BALOURD' ",fr="Charge balourd appliquee",\r
459                               POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee de la charge balourd"),\r
460                               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
461                               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
462                               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
463                       ),# fin BALOURD\r
464                       # a commenter\r
465                       # 20121018 retrait de defaut_fn a la demande de EDF\r
466                       #DEFAUT_FN = BLOC(condition = "CHARGES == 'DEFAUT_FN' ",fr="Charge defaut de fibre neutre appliquee",\r
467                               #POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee du defaut de fibre neutre"),\r
468                               #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
469                               #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
470                               #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
471                               #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
472                       #), # fin DEFAUT_FN\r
473                       #DELIGNAGE = BLOC(condition = "CHARGES == 'DELIGNAGE' ",fr="Application d'un delignage",\r
474                               #PARAM_DELIGNAGE = FACT(statut='o',min=1,max='**',fr="Parametres du delignage",\r
475                                       #PALIERS = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,fr="Renseignement du nom d'un palier deligne"),\r
476                                       #VALEURS = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des valeurs du delignage du palier"),\r
477                               #), # fin PARAM_DELIGNAGE\r
478                       #), # fin DELIGNAGE\r
479                       EXTERNE = BLOC(condition = "CHARGES == 'EXTERNE' ",fr="Charge externe appliquee",\r
480                               POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee de la charge externe"),\r
481                               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
482                       ), # fin EXTERNE\r
483                       #EFFORTS_PALIERS = BLOC(condition = "CHARGES == 'EFFORTS_PALIERS' ",fr="Application d'un effort palier",\r
484                               #PALIER = SIMP(statut='o',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette du palier de l'effort"),\r
485                               #VALEURS = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignment de la valeur de l'effort sur le palier"),\r
486                       #), # fin EFFORTS_PALIERS\r
487                       ETAT_INIT = FACT(statut='o',fr="Renseignement de l'etat initial",\r
488                               #RESULTAT = SIMP(statut='o',typ=('sd_resultat'),max=1,defaut=None,fr="Choix de la structure de donnees resultat de code aster "),\r
489                               # 20121126\r
490                               #RESULTAT = SIMP(statut='o',typ='TXM',max=1,defaut=None,fr="Choix de la structure de donnees resultat de code aster "),\r
491                               INST_INIT = SIMP(statut='f',typ='R',max=1,defaut=None,fr="Renseignement de l'instant initial"),\r
492                       ), # fin ETAT_INIT\r
493                       #PARAM_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('PAS','LIST_INST'),defaut=None,fr="Choix du type de parametrage temporel"),\r
494                       # 20121126\r
495                       PARAM_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('PAS'),defaut="PAS",fr="Choix du type de parametrage temporel",),\r
496                       PAS = BLOC(condition = "PARAM_TEMPS == 'PAS' ",fr="Renseignement des parametres des pas",\r
497                               PAS_ASTER = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement du pas de temps Aster (en s)",),\r
498                               PAS_EDYOS = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement du pas de temps Edyos (en s)",),\r
499                               INST_FIN = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement de l'instant final (en s)",),\r
500                       ), # fin TEMPS_PAS\r
501                       #LIST_INST = BLOC(condition = "PARAM_TEMPS == 'LIST_INST' ",fr="Renseignement d'une liste de pas",\r
502                               #LISTE = SIMP(statut='f',typ='R',min=1,max='**',defaut=None,fr="Renseignement d'une liste de pas"),\r
503                       #), # fin LIST_INST\r
504                       PAS_ARCHIVAGE = SIMP(statut='o',typ='I',max=1,defaut=None,fr="Renseignement du pas d'archivage",),\r
505                       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
506                       \r
507                       ## POST_TRAITEMENTS de l'analyse transitoire\r
508                       POST_TRAITEMENTS = FACT(statut='o',fr="Choix des post-traitements",\r
509                               TYPE = SIMP(statut='o',typ='TXM',into=('DEPL_ABS','DEPL_RELA','EFFORTS_PAL','CONTRAINTES'),defaut=None,fr="Choix du type de post-traitement"),\r
510                               DEPL = BLOC(condition = "TYPE in ('DEPL_ABS','DEPL_RELA') ",fr="Deplacement",\r
511                                       POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee du deplacement"),\r
512                                       PALIER = SIMP(statut='f',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette du palier"),\r
513                               ), # fin DEPL\r
514                               # pas d'info à rentrer pour les efforts palier (post-traitement sur tout les paliers)\r
515                               #EFFORTS_PAL = BLOC(condition = "TYPE == 'EFFORTS_PAL'", fr = "Efforts paliers",\r
516                                   #PALIER = SIMP(statut='o',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette du palier"),\r
517                               #), # fin EFFORTS_PAL\r
518                               CONTRAINTES = BLOC(condition = "TYPE == 'CONTRAINTES' ",fr="Contraintes",\r
519                                                 regles=UN_PARMI('POSITION','ZONE','TOUT'),\r
520                                       POSITION = SIMP(statut='f',typ='R',max=1,defaut=None,fr="Renseignement de la coordonnee de la contrainte"),\r
521                                       ZONE = SIMP(statut='f',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette de la zone de la contrainte"),\r
522                                       TOUT = SIMP(statut='f',typ='TXM',into=('OUI'),max=1,fr="tout"),\r
523                               ), # fin CONTRAINTES\r
524                       ), # fin POST_TRAITEMENTS\r
525                       \r
526                       \r
527               ), # fin ANALYSE_TRANSITOIRE_ACCIDENTEL\r
528                  \r
529 )# fin SPECIFICATION_ANALYSE\r