]> SALOME platform Git repositories - tools/eficas.git/blob - SPECA/SPECA_Cata_V2_00.py
Salome HOME
suite chgt copyright et menage
[tools/eficas.git] / SPECA / SPECA_Cata_V2_00.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 = SIMP(statut='o', typ='TXM',into=('FLEXION'),defaut='FLEXION',fr="Renseignement du type de comportement voulu"),\r
51               TYPE_COMPORTEMENT = BLOC(condition = "TYPE_ANALYSE in ('MODALE','HARMONIQUE','STATIQUE','TRANSITOIRE','TRANSITOIRE_ACCIDENTEL','SYNTHESE')",\r
52                                         FLEXION = SIMP(statut='o',typ='TXM',into=('OUI',),defaut='OUI',fr="Prise en compte la flexion de la ligne d'arbres: obligatoire"),\r
53                                         TORSION = SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='NON',fr="Choix de la prise en compte la torsion de la ligne d'arbres"),\r
54                                         COMPRESSION = SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='NON',fr="Choix de la prise en compte la traction/compression de la ligne d'arbres"),\r
55                                       ),\r
56 \r
57                   SURCHARGE=BLOC(condition = "TYPE_ANALYSE in ('MODALE','HARMONIQUE','STATIQUE','TRANSITOIRE','TRANSITOIRE_ACCIDENTEL','SYNTHESE')",statut="f",\r
58                                                 TEMPLATE=SIMP(  statut="f",\r
59                                                                 typ=("Fichier","Fichier Template (*.tpl)"),\r
60                                                                 min=1,max=1,\r
61                                                                 fr="Utiliser un template d'analyse modifie"\r
62                                                                 ),\r
63                                                 PARAMETRES= FACT(statut='f',min=1,max='**',fr="Definition et renseignement des parametres utilises dans le template surcharge",\r
64                                                                                 CLE=SIMP(statut='o',typ='TXM',defaut=None,fr="Nom du parametre dans le template"),\r
65                                                                                 TYPE=SIMP(statut='o',typ='TXM',into=('ENTIER','REEL','CHAINE','FICHIER','REPERTOIRE'),fr="Nature du parametre a renseigner"),\r
66                                                                                 ENTIER=BLOC(condition="TYPE=='ENTIER'",\r
67                                                                                         VALUE=SIMP(statut='o',typ='I',defaut=0,fr="Renseignement d'un nombre entier"),\r
68                                                                                         ),\r
69                                                                                 REEL=BLOC(condition="TYPE=='REEL'",\r
70                                                                                         VALUE=SIMP(statut='o',typ='R',defaut=0.0,fr="Renseignement d'un nombre reel"),\r
71                                                                                         ),\r
72                                                                                 CHAINE=BLOC(condition="TYPE=='CHAINE'",\r
73                                                                                         VALUE=SIMP(statut='o',typ='TXM',defaut='',fr="Renseignement d'une chaine de caracteres"),\r
74                                                                                         ),\r
75                                                                                 FICHIER=BLOC(condition="TYPE=='FICHIER'",\r
76                                                                                         VALUE=SIMP(statut='o',typ=("Fichier","All files (*.*)"),fr="Renseignement d'un fichier")\r
77                                                                                         ),\r
78                                                                                 REPERTOIRE =BLOC(condition="TYPE=='REPERTOIRE'",\r
79                                                                                         VALUE=SIMP(statut='o',typ="Repertoire",fr="Renseignement d'un repertoire")\r
80                                                                                         ),\r
81 \r
82                                                                         ),\r
83                         ),\r
84 \r
85 \r
86 \r
87 ### ----- CALCUL STATIQUE ----- ##\r
88               ANALYSE_STATIQUE = BLOC(condition = "TYPE_ANALYSE == 'STATIQUE' ",fr="Analyse statique (vitesse de rotation nulle de la ligne d'arbres)"\r
89               \r
90                       CHARGES= FACT(statut='o',min=1,max='**',fr="Definition et renseignement du chargement applique",\r
91                       TYPE = SIMP(statut='o',typ='TXM',into=('POIDS','FORCE','MOMENT','DELIGNAGE'),defaut=None,min=1,max=1,fr="Choix du type de chargement a appliquer"),\r
92                       POIDS = BLOC(condition = "TYPE == 'POIDS' ",fr="Prise en compte du champ de pesanteur",\r
93                                               GRAVITE = SIMP(statut='o',typ='R',defaut=9.81,fr="Renseignement de l'intensite de la gravite (m/s^2)"),\r
94                                               DIRECTION = SIMP(statut='o',typ='R',min=3,max=3,defaut=(1,0,0),fr="Renseignement de la direction de la force de gravite"),\r
95                       ), # fin POIDS\r
96                       FORCE = BLOC(condition = "TYPE == 'FORCE' ",fr="Application d'une force ponctuelle",\r
97                                               POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la position axiale ou s'applique la force (m)"),\r
98                                               MAGNITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des 3 composantes decrivant la force (N)"),\r
99                                               #FONC_APPLI = SIMP(statut='f',typ='R',min=2,max=2,defaut=None,fr="Renseignement de la fonction appliquee"),\r
100                       ), # fin FORCE\r
101                       MOMENT = BLOC(condition = "TYPE == 'MOMENT' ",fr="Application d'un moment ponctuel",\r
102                                               POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la position axiale ou s'applique le moment (m)"),\r
103                                               MAGNITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des 3 composantes decrivant le moment (N/m)"),\r
104                       ), # fin MOMENT\r
105                       DELIGNAGE = BLOC(condition = "TYPE == 'DELIGNAGE' ",fr="Application d'un delignage sur un ou plusieurs paliers",\r
106                               NOM_PALIER = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,fr="Renseignement du nom du palier deligne"),\r
107                               DX = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du delignage suivant X du palier (m)"),\r
108                               DY = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du delignage suivant Y du palier (m)"),\r
109                       ), # fin Delignage\r
110                       ), #fin CHARGES\r
111                      \r
112                       ## POST-TRAITEMENTS DU CALCUL STATIQUE\r
113                       POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Definition et renseignement des post-traitements",\r
114                           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
115                           DEPL = BLOC(condition="TYPE in ('DEPL_ABS','DEPL_RELA') ",fr="Deplacement",regles=UN_PARMI('POSITION','PALIER'),\r
116                               POSITION = SIMP(statut='f',typ='R',defaut=None,fr="Renseignement de la coordonnee du deplacement"),\r
117                               PALIER = SIMP(statut='f',max='**',typ='TXM',defaut=None,fr="Renseignement du nom du palier"),\r
118                           ), # fin DEPL\r
119                           CONTRAINTES = BLOC(condition="TYPE == 'CONTRAINTES' ",fr="Export des contraintes",regles=UN_PARMI('POSITION','ZONE','TOUT'),\r
120                               POSITION = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee de la contrainte"),\r
121                               ZONE = SIMP(statut='f',typ='TXM',defaut=None,fr="Renseignement de la zone de la contrainte"),\r
122                               TOUT = SIMP(statut='f',typ='TXM',into=('OUI'),fr="Export pour tous les noeuds"),\r
123                           ), # fin CONTRAINTES\r
124                           REAC_NODA = BLOC(condition="TYPE == 'REAC_NODA' ", fr="Reaction nodale",regles=UN_PARMI('POSITION','PALIER'),\r
125                               POSITION = SIMP(statut='f',typ='R',max=1,defaut=None,fr="Renseignement de la coordonnee de la reaction"),\r
126                               #ZONE = SIMP(statut='f',typ='TXM',defaut=None,fr="Renseignement de l'etiquette de la zone de la reaction"),\r
127                               PALIER = SIMP(statut='f',max='**',typ='TXM',defaut=None,fr="Renseignement du nom du palier"),\r
128                           ), # fin REAC_NODA\r
129                       ), # fin POST_TRAITEMENT\r
130                       ## fin bloc POST_TRAITEMENTS\r
131                       \r
132               ),# fin ANALYSE_STATIQUE\r
133 \r
134 ### ----- CALCUL MODALE ----- ##\r
135               ANALYSE_MODALE = BLOC(condition = "TYPE_ANALYSE == 'MODALE' ",fr="Analyse modale de la ligne d'arbres"\r
136                       BASE_CALCUL = SIMP(statut='o',typ="TXM",into=('MODALE','PHYSIQUE'),defaut=None,fr="Choix du type de resolution de l'analyse modale (sur base physique ou sur base modale)"),\r
137                       BASE_MODALE = BLOC(condition="BASE_CALCUL=='MODALE'",fr="Resolution sur base modale",\r
138                                          regles=UN_PARMI('NB_MODES','FREQ_MAX'),\r
139                                          NB_MODES=SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de modes constituant la base de projection"),\r
140                                          FREQ_MAX=SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale des modes constituant la base de projection (Hz)"),\r
141                       ), # fin BASE_MODALE\r
142                       AMORTISSEMENT = SIMP(statut='o',typ='TXM',min=1,max=1,into=('OUI','NON'),defaut='OUI',fr="Choix de la prise en compte de l'amortissment"),\r
143                       GYROSCOPIE = SIMP(statut='o',typ='TXM',min=1,max=1,into=('OUI','NON'),defaut='OUI',fr="Choix de la prise en compte de la gyroscopie"),\r
144                       VITESSE_ROTATION = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement de la liste des vitesses de rotation etudiees (tr/min)"),\r
145                       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
146                       PLUS_PETITE = BLOC(condition="OPTION_CALCUL=='PLUS_PETITE'",fr="Option PLUS_PETITE",fr="Calcul des n premieres frequences"\r
147                               NMAX_FREQ = SIMP(statut='o',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre maximal de frequences a calculer"),\r
148                       ), # fin PLUS_PETITE\r
149                       CENTRE = BLOC(condition="OPTION_CALCUL=='CENTRE'",fr="Option CENTRE",fr="Calcul d'un nombre n de frequences autour d'une frequence donnee"\r
150                               FREQ = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence centrale (Hz)"),\r
151                               NMAX_FREQ = SIMP(statut='o',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre maximal de frequences"),\r
152                       ), # fin CENTRE\r
153                       METHODE=SIMP(statut='f',typ='TXM',min=1,max=1,into=('QZ','SORENSEN'),defaut='SORENSEN',fr="Choix de la methode de resolution"),\r
154                       \r
155                       POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Definition et renseignement des post-traitements",\r
156                               TYPE = SIMP(statut='o',typ='TXM',defaut=None,into=('TABLEAU_PARAM_MODAUX','DIAG_CAMPBELL'),fr="Choix du type de post-traitement",),\r
157                               #TABLEAU_PARAM_MODAUX = SIMP(statut='f',typ='TXM',min=1,max=1,defaut=None,into=('SIMPLE','COMPLET'),fr="Choix du type de tableau"),\r
158                               TABLEAU_PARAM_MODAUX = BLOC(condition = "TYPE == 'TABLEAU_PARAM_MODAUX'",fr="Choix du type de tableau",\r
159                                       TABLEAU = SIMP(statut='o',max=1,typ='TXM',defaut='SIMPLE',into=('SIMPLE','COMPLET'),),\r
160                               ), # fin TABLEAU_PARAM_MODAUX\r
161                               DIAG_CAMPBELL = BLOC(condition = "TYPE == 'DIAG_CAMPBELL'", fr = "Choix des options du diagramme de Campbell",\r
162                                       PRECESSION = SIMP(statut='o',typ='TXM',max=1,defaut=None,into=('SOMME','PLUS_GRANDE_ORBITE'),fr="Critere de determination de la precession"),\r
163                                       SUIVI = SIMP(statut='o',typ='TXM',max=1,defaut=None,into=('SANS_TRI','TRI_PREC','TRI_FORM_MOD'),fr="Methode de suivi des modes"),\r
164                                       # 20121018 ajout de NB_MODES a la demande de Ionel Nistor\r
165                                       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 (NMAX_FREQ)"),\r
166                               ), # fin DIAG_CAMPBELL\r
167                               #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
168                       ), # fin POST_TRAITEMENTS\r
169                       \r
170                       \r
171               ), # fin ANALYSE_MODALE\r
172 \r
173 ## ----- CALCUL HARMONIQUE ----- ##\r
174               ANALYSE_HARMONIQUE = BLOC(condition = "TYPE_ANALYSE == 'HARMONIQUE' ",fr="Analyse harmonique de la ligne d'arbres",\r
175               \r
176                       ## specification calcul harmonique\r
177                       BASE_CALCUL = SIMP(statut='o',typ='TXM',into=('PHYSIQUE','MODALE'),defaut=None,fr="Choix du type de resolution de l'analyse modale (sur base physique ou sur base modale)"),\r
178                       BASE_MODALE = BLOC(condition = "BASE_CALCUL == 'MODALE' ", fr="Resolution sur base modale",\r
179                               #MODALE = FACT(statut='o',\r
180                                       regles=UN_PARMI('NB_MODES','FREQ_MAX'),\r
181                                       NB_MODES = SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de modes constituant la base de projection"),\r
182                                       FREQ_MAX = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale des modes constituant la base de projection (Hz)"),\r
183                               #),# fin MODALE\r
184                       ),# fin BASE_MODALE\r
185                       AMORTISSEMENT_P = BLOC(condition = "BASE_CALCUL == 'PHYSIQUE' ",\r
186                               AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('STRUCTUREL'),defaut=None,fr="Choix du type d'amortissement"),\r
187                       ), # fin AMORTISSEMENT_P\r
188                       AMORTISSEMENT_M = BLOC(condition = "BASE_CALCUL == 'MODALE' ",\r
189                               AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('REDUIT','STRUCTUREL'),defaut=None,fr="Choix du type d'amortissement"),\r
190                               AMOR_MODAL = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
191                                       #AMOR_REDUIT = SIMP(statut='o', typ='R', min=1, max=1,defaut=None,fr="Renseignement de l'amortissement modal reduit (en %)"),\r
192                                       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 constituant la base de projection"),\r
193                               ),# fin AMOR_MODALE\r
194                       ), # fin AMORTISSEMENT_M\r
195                       VITESSE_ROTATION = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement de la liste des vitesses de rotation etudiees (tr/min)"),\r
196                       # 20121018 retrait de defaut_fn a la demande de EDF\r
197                       CHARGES= FACT(statut='o',min=1,max='**',fr="Definition et renseignement du chargement applique",\r
198                       TYPE = SIMP(statut='o',typ='TXM',into=('BALOURD','HARMONIQUE'),defaut=None,min=1,max=1,fr="Choix du type de chargement a appliquer"),\r
199                       BALOURD = BLOC(condition = "TYPE == 'BALOURD' ",fr="Chargement de type balourd",\r
200                               POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la position axiale ou s'applique le balourd (m)"),\r
201                               MAGNITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de l'amplitude du balourd (kg.m)"),\r
202                               PHASE_DEG = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du decalage de la phase de la charge balourd (degres)"),\r
203                       ),# fin BALOURD\r
204                       HARMONIQUE = BLOC(condition = "TYPE == 'HARMONIQUE' ",fr="Charge harmonique",\r
205                               POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la position axiale ou s'applique la charge harmonique (m)"),\r
206                               FREQUENCE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence d'excitation harmonique (Hz)"),\r
207                               MAGNITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de l'amplitude de la charge harmonique, (N)"),\r
208                               FONC_APPLI = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement de la liste de coefficients appliques sur la charge harmonique (autant que de vitesses de rotation)"),\r
209                               PHASE_DEG = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du decalage de la phase de la charge harmonique (degres)"),\r
210                               TYPE_DDL = SIMP(statut='o',typ='TXM',min=1,max=1,into=('DX','DRX','DY','DRY','DZ','DRZ'),defaut=None,fr="Renseignement du DDL sur lequel s'applique la charge harmonique"),\r
211                       ), # fin HARMONIQUE\r
212                       ), #FIN CHARGES\r
213                       ## POST-TRAITEMENTS DU CALCUL HARMONIQUE\r
214                       POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Definition et renseignement des post-traitements",\r
215                           TYPE = SIMP(statut='o',typ='TXM',into=('DEPL_RELA','REAC_NODA','EFFORTS_PAL','CONTRAINTES'),defaut=None,fr="Choix du type de post-traitement"),\r
216                           DEPL = BLOC(condition = "TYPE in ('DEPL_ABS','DEPL_RELA') ",fr="Deplacement",regles=UN_PARMI('POSITION','PALIER'),\r
217                               POSITION = SIMP(statut='f',typ='R',defaut=None,fr="Renseignement de la coordonnee du deplacement"),\r
218                               PALIER = SIMP(statut='f',max='**',typ='TXM',defaut=None,fr="Renseignement du nom du palier"),\r
219                           ), # fin DEPL\r
220                           CONTRAINTES = BLOC(condition="TYPE == 'CONTRAINTES' ",fr="Export des contraintes",regles=UN_PARMI('POSITION','ZONE','TOUT'),\r
221                                   POSITION = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee de la contrainte"),\r
222                                   ZONE = SIMP(statut='f',typ='TXM',min=1,max=1,defaut=None,fr="Renseignement du nom de la zone de la contrainte"),\r
223                                   TOUT = SIMP(statut='f',typ='TXM',into=('OUI'),min=1,max=1,fr="Export pour tous les noeuds"),\r
224                           ), # fin CONTRAINTES\r
225                       ),\r
226                       ## fin bloc POST_TRAITEMENTS\r
227                       \r
228               ),# fin ANALYSE_HARMONIQUE\r
229 \r
230 ### ----- CALCUL TRANSITOIRE ----- ##\r
231               ANALYSE_TRANSISTOIRE = BLOC(condition = "TYPE_ANALYSE == 'TRANSITOIRE' ",fr="Analyse transitoire de la ligne d'arbres",\r
232                       \r
233                       VITESSE = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,into=('CONSTANTE','VARIABLE'),fr="Renseignement du type de vitesse de rotation consideree"),\r
234                       BASE_C = BLOC(condition ="VITESSE == 'CONSTANTE'",fr="Analyse transitoire a vitesse constante"\r
235                               BASE_CALCUL = SIMP(statut='o',typ='TXM',into=('PHYSIQUE','MODALE'),defaut=None,fr="Choix du type de resolution de l'analyse transitoire (sur base physique ou sur base modale)"),\r
236                               BASE_MODALE = BLOC(condition = "BASE_CALCUL == 'MODALE' ", fr="Resolution sur base modale",\r
237                                                 regles=UN_PARMI('NB_MODES','FREQ_MAX'),\r
238                                                 NB_MODES = SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de modes constituant la base de projection"),\r
239                                                 FREQ_MAX = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale des modes constituant la base de projection (Hz)"),\r
240                               ),# fin BASE_MODALE\r
241                               AMORTISSEMENT_M = BLOC(condition = "BASE_CALCUL == 'MODALE' ",\r
242                                       AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('REDUIT','STRUCTUREL'),defaut=None,fr="Choix du type d'amortissement"),\r
243                                       AMOR_MODAL = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
244                                               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 constituant la base de projection"),\r
245                                       ),# fin AMOR_MODALE\r
246                               ), # fin AMORTISSEMENT_M\r
247                       ), # fin BASE_C\r
248                       BASE_V = BLOC(condition ="VITESSE == 'VARIABLE'",fr="Analyse transitoire a vitesse variable"\r
249                               BASE_CALCUL = SIMP(statut='o',typ='TXM',into=('MODALE'),defaut='MODALE',fr="Choix du type de resolution de l'analyse transitoire (obligatoirement sur base modale)"),\r
250                               BASE_MODALE = BLOC(condition = "BASE_CALCUL == 'MODALE' ", fr="Resolution sur base modale",\r
251                                                  regles=UN_PARMI('NB_MODES','FREQ_MAX'),\r
252                                       NB_MODES = SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de modes constituant la base de projection"),\r
253                                       FREQ_MAX = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale des modes constituant la base de projection (Hz)"),\r
254                               ),# fin BASE_MODALE\r
255                               AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('REDUIT','STRUCTUREL'),defaut=None,fr="Choix du type d'amortissement"),\r
256                               AMOR_MODAL = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
257                                       #AMOR_REDUIT = SIMP(statut='o', typ='R', min=1, max=1,defaut=None,fr="Renseignement de l'amortissement modal reduit (en %)"),\r
258                                       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 constituant la base de projection"),\r
259                               ),# fin AMOR_MODALE\r
260                       ), # fin BASE_C\r
261                       VITESSE_CONSTANTE = BLOC(condition = "VITESSE == 'CONSTANTE' ", fr="Vitesse de rotation constante",\r
262                               VITESSE_ROTATION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation (tr/min)"),\r
263                       ),# fin VITESSE_CONSTANTE\r
264                       VITESSE_VARIABLE = BLOC(condition = "VITESSE == 'VARIABLE' ", fr="Vitesse de rotation variable", regles=UN_PARMI('LINEAIRE','EXPONENTIELLE','FORMULE'),\r
265                               LINEAIRE = FACT(statut='f',min=1,max=1,fr="Variation lineaire de la vitesse de rotation",\r
266                                       VITESSE_INITIALE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation initiale (tr/min)",),\r
267                                       VITESSE_FINALE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation finale (tr/min)",),\r
268                                       DEPHASAGE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la postion angulaire initiale (degres)"),\r
269                                       PAS_MAJ = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement du pas de mise a jour des matrices des paliers (tr/min)"),\r
270                               ),# fin LINEAIRE\r
271                               EXPONENTIELLE = FACT(statut='f',min=1,max=1,fr="Variation exponentielle de la vitesse de rotation",\r
272                                       VITESSE_INITIALE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation initiale (tr/min)",),\r
273                                       VITESSE_FINALE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation finale (tr/min)",),\r
274                                       DEPHASAGE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la postion angulaire initiale (degres)"),\r
275                                       LAMBDA = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du parametre de la loi exponentielle (Hz)"),\r
276                                       PAS_MAJ = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement du pas de mise a jour des matrices des paliers (tr/min)"),\r
277                               ),# fin EXPONENTIELLE\r
278                               FORMULE = FACT(statut='f',min=1,max=1,fr="Fonction personnalisee decrivant la variation de la vitesse de rotation",\r
279                                       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
280                                       PHI = 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
281                                       OM = 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
282                                       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
283                                       VITE_MOY = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la moyenne des vitesses balayees (tr/min)"),\r
284                                       PAS_MAJ = SIMP(statut='f',typ='R',min=1,max='**',defaut=None,fr="Renseignement du pas de mise a jour des matrices des paliers (tr/min)"),\r
285                               ),# fin FORMULE\r
286                       ),# fin VITESSE_VARIABLE\r
287                       #POIDS = SIMP(statut='o',typ='TXM',into=('OUI','NON'),defaut='OUI',fr="Choix d'application d'un poids"),\r
288 \r
289                       CHARGES= FACT(statut='o',min=1,max='**',fr="Definition et renseignement du chargement applique",\r
290                       TYPE = SIMP(statut='o',typ='TXM',into=('POIDS','BALOURD','FORCE','MOMENT','HARMONIQUE'),defaut=None,min=1,max=1,fr="Choix du type de chargement a appliquer"),\r
291                       BALOURD = BLOC(condition = "TYPE == 'BALOURD' ",fr="Chargement de type balourd",\r
292                               POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la position axiale ou s'applique le balourd (m)"),\r
293                               MAGNITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de l'amplitude du balourd (kg.m)"),\r
294                               PHASE_DEG = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du decalage de la phase de la charge balourd (degres)"),\r
295                               INST_APPLI= SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement de l'instant d'apparition du balourd (s)"),\r
296                               TEMPS_MONTEE=SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement du temps necessaire pour atteindre l'amplitude nominale du balourd (s)"),\r
297                       ),# fin BALOURD\r
298                       POIDS = BLOC(condition = "TYPE == 'POIDS' ",fr="Prise en compte du champ de pesanteur",\r
299                                               GRAVITE = SIMP(statut='o',typ='R',defaut=9.81,fr="Renseignement de l'intensite de la gravite (m/s^2)"),\r
300                                               DIRECTION = SIMP(statut='o',typ='R',min=3,max=3,defaut=(1,0,0),fr="Renseignement de la direction de la force de gravite"),\r
301                       ), # fin POIDS\r
302                       FORCE = BLOC(condition = "TYPE == 'FORCE' ",fr="Application d'une force ponctuelle",\r
303                                               POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la position axiale ou s'applique la force (m)"),\r
304                                               MAGNITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des 3 composantes decrivant la force (N)"),\r
305                                               #FONC_APPLI = SIMP(statut='f',typ='R',min=2,max=2,defaut=None,fr="Renseignement de la fonction appliquee"),\r
306                       ), # fin FORCE\r
307                       MOMENT = BLOC(condition = "TYPE == 'MOMENT' ",fr="Application d'un moment ponctuel",\r
308                                               POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la position axiale ou s'applique le moment (m)"),\r
309                                               MAGNITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des 3 composantes decrivant le moment (N/m)"),\r
310                       ), # fin MOMENT\r
311                       HARMONIQUE = BLOC(condition = "TYPE == 'HARMONIQUE' ",fr="Charge harmonique",\r
312                               POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la position axiale ou s'applique la charge harmonique (m)"),\r
313                               FREQUENCE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence d'excitation harmonique (Hz)"),\r
314                               MAGNITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de l'amplitude de la charge harmonique, (N)"),\r
315                               #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
316                               PHASE_DEG = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du decalage de la phase de la charge harmonique (degres)"),\r
317                               TYPE_DDL = SIMP(statut='o',typ='TXM',min=1,max=1,into=('DX','DRX','DY','DRY','DZ','DRZ'),defaut=None,fr="Renseignement du DDL sur lequel s'applique la charge harmonique"),\r
318                       ), # fin HARMONIQUE\r
319                       ), #fin CHARGES\r
320 \r
321                       ETAT_INIT = FACT(statut='o',fr="Renseignement de l'etat initial du calcul",\r
322                               #RESULTAT = SIMP(statut='o',typ=('sd_resultat'),max=1,defaut=None,fr="Choix de la structure de donnees resultat de code aster "),\r
323                               RESULTAT = SIMP(statut='f',typ='TXM',max=1,defaut=None,fr="Choix de la structure de donnees de type 'resultat' de Code_Aster"),\r
324                               INST_INIT = SIMP(statut='f',typ='R',max=1,defaut=0.0,fr="Renseignement de l'instant de la structure de donnees a partir duquel il faut lancer le calcul (s)"),\r
325                       ), # fin ETAT_INIT\r
326                       PARAM_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('PAS','LISTE'),defaut=None,fr="Choix du type de discretisation temporelle"),\r
327                       #PAS = BLOC(condition = "VITESSE == 'VARIABLE'",fr="Renseignement des parametres des pas",\r
328                       PAS = BLOC(condition = "PARAM_TEMPS == 'PAS'",fr="Renseignement de pas de temps",\r
329                               TEMPS_PAS = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement du pas de temps d'integration(en s)"),\r
330                               INST_INI = SIMP(statut='f',typ='R',max=1,defaut=None,fr="Renseignement de l'instant initial du calcul (s)"),\r
331                               INST_FIN = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement de l'instant final du calcul (s)"),\r
332                       ), # fin TEMPS_PAS\r
333                       LIST_INST = BLOC(condition = "PARAM_TEMPS == 'LISTE'",fr="Renseignement d'une liste d'instants",\r
334                               LISTE = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement d'une liste d'instants auxquels resoudre le calcul (s)"),\r
335                       ), # fin LIST_INST\r
336                       PAS_ARCHIVAGE = SIMP(statut='o',typ='I',max=1,defaut=1,fr="Renseignement du pas d'archivage des resultats (une sauvegarde tous les 'PAS_ARCHIVAGE' instants d'integration)",),\r
337                       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 d'integration temporelle"),\r
338                       NEWMARK = BLOC(condition = "SCHEMA_TEMPS == 'NEWMARK' ",fr="Methode de NEWMARK",\r
339                               BETA = SIMP(statut='f',typ='R',max=1,defaut=0.25,fr="Renseignement de la valeur beta pour la methode de NEWMARK"),\r
340                               GAMMA = SIMP(statut='f',typ='R',max=1,defaut=0.25,fr="Renseignement de la valeur gamma pour la methode de NEWMARK"),\r
341                       ),# fin NEWMARK\r
342                       WILSON = BLOC(condition = "SCHEMA_TEMPS == 'WILSON' ",fr="Methode de WILSON",\r
343                               THETA = SIMP(statut='f',typ='R',max=1,defaut=1.4,fr="Renseignement de la valeur theta pour la methode de WILSON"),\r
344                       ), # fin WILSON\r
345                       \r
346                       ## POST_TRAITEMENTS de l'analyse transitoire\r
347                       POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Definition et renseignement des post-traitements",\r
348                               TYPE = SIMP(statut='o',typ='TXM',into=('DEPL_ABS','DEPL_RELA','EFFORTS_PAL','CONTRAINTES'),defaut=None,fr="Choix du type de post-traitement"),\r
349                               DEPL = BLOC(condition = "TYPE in ('DEPL_ABS','DEPL_RELA') ",fr="Deplacement",regles=UN_PARMI('POSITION','PALIER'),\r
350                                       #POSITION_DEPL = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee du deplacement"),\r
351                                       POSITION = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee du deplacement"),\r
352                                       PALIER = SIMP(statut='f',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette du palier"),\r
353                               ), # fin DEPL\r
354                               CONTRAINTES = BLOC(condition = "TYPE == 'CONTRAINTES' ",fr="Export des contraintes",\r
355                                                 regles=UN_PARMI('POSITION','ZONE','TOUT'),\r
356                                       POSITION = SIMP(statut='f',typ='R',max=1,defaut=None,fr="Renseignement de la coordonnee de la contrainte"),\r
357                                       ZONE = SIMP(statut='f',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette de la zone de la contrainte"),\r
358                                       TOUT = SIMP(statut='f',typ='TXM',into=('OUI'),max=1,fr="Export pour tous les noeuds"),\r
359                               ), # fin CONTRAINTES\r
360                       ), # fin POST_TRAITEMENTS\r
361               \r
362               ), # fin ANALYSE_TRANSISTOIRE\r
363               \r
364 \r
365 ### ----- CALCUL COUPLE CODE_ASTER/EYDOS ----- ##\r
366               ANALYSE_TRANSITOIRE_ACCIDENTEL = BLOC(condition = "TYPE_ANALYSE == 'TRANSITOIRE_ACCIDENTEL' ",fr="Analyse transitoire accidentelle de la ligne d'arbres",\r
367                       #BASE_MODALE = FACT(statut='o', fr="Choix des parametres de la base modale",                                 \r
368                       #POIDS = SIMP(statut='o',typ='TXM',into=('OUI','NON'),defaut='OUI',fr="Choix d'application d'un poids"),\r
369                       BASE_MODALE = BLOC(condition = "True", fr="Resolution sur base modale",\r
370                                          regles=UN_PARMI('NB_MODES','FREQ_MAX'),\r
371                               NB_MODES = SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de modes constituant la base de projection"),\r
372                               FREQ_MAX = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale des modes constituant la base de projection (Hz)"),\r
373                       ),# fin BASE_MODALE      \r
374                       # cft 20131217 suppression amortissement reduit\r
375                       #AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('STRUCTUREL','REDUIT'),defaut=None,fr="Choix du type d'amortissement"),\r
376                       AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('STRUCTUREL'),defaut=None,fr="Choix du type d'amortissement"),\r
377                       AMOR_REDUIT = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
378                               #LIST_AMOR = SIMP(statut='o', typ='R', min=1,max='**',defaut=None,fr="Renseignement de la liste des amortissements"),\r
379                               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 constituant la base de projection"),\r
380                       ),# fin AMOR_REDUIT\r
381                       VITESSE_ROTATION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation (tr/min)"),\r
382 \r
383                       CHARGES= FACT(statut='o',min=1,max='**',fr="Definition et renseignement du chargement applique",\r
384                       TYPE = SIMP(statut='o',typ='TXM',into=('POIDS','BALOURD','FORCE','MOMENT','HARMONIQUE'),defaut=None,min=1,max=1,fr="Choix du type de chargement a appliquer"),\r
385                       BALOURD = BLOC(condition = "TYPE == 'BALOURD' ",fr="Chargement de type balourd",\r
386                               POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la position axiale ou s'applique le balourd (m)"),\r
387                               MAGNITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de l'amplitude du balourd (kg.m)"),\r
388                               PHASE_DEG = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du decalage de la phase de la charge balourd (degres)"),\r
389                               INST_APPLI= SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement de l'instant d'apparition du balourd (s)"),\r
390                               TEMPS_MONTEE=SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement du temps necessaire pour atteindre l'amplitude nominale du balourd (s)"),\r
391                       ),# fin BALOURD\r
392                       POIDS = BLOC(condition = "TYPE == 'POIDS' ",fr="Prise en compte du champ de pesanteur",\r
393                                               GRAVITE = SIMP(statut='o',typ='R',defaut=9.81,fr="Renseignement de l'intensite de la gravite (m/s^2)"),\r
394                                               DIRECTION = SIMP(statut='o',typ='R',min=3,max=3,defaut=(1,0,0),fr="Renseignement de la direction de la force de gravite"),\r
395                       ), # fin POIDS\r
396                       FORCE = BLOC(condition = "TYPE == 'FORCE' ",fr="Application d'une force ponctuelle",\r
397                                               POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la position axiale ou s'applique le moment (m)"),\r
398                                               MAGNITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des 3 composantes decrivant le moment (N/m)"),\r
399                                               #FONC_APPLI = SIMP(statut='f',typ='R',min=2,max=2,defaut=None,fr="Renseignement de la fonction appliquee"),\r
400                       ), # fin FORCE\r
401                       MOMENT = BLOC(condition = "TYPE == 'MOMENT' ",fr="Application d'un moment ponctuel",\r
402                                               POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la position axiale ou s'applique le moment (m)"),\r
403                                               MAGNITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des 3 composantes decrivant le moment (N/m)"),\r
404                       ), # fin MOMENT\r
405                       HARMONIQUE = BLOC(condition = "TYPE == 'HARMONIQUE' ",fr="Charge harmonique",\r
406                               POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la position axiale ou s'applique la charge harmonique (m)"),\r
407                               FREQUENCE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence d'excitation harmonique (Hz)"),\r
408                               MAGNITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de l'amplitude de la charge harmonique, (N)"),\r
409                               #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
410                               PHASE_DEG = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du decalage de la phase de la charge harmonique (degres)"),\r
411                               TYPE_DDL = SIMP(statut='o',typ='TXM',min=1,max=1,into=('DX','DRX','DY','DRY','DZ','DRZ'),defaut=None,fr="Renseignement du DDL sur lequel s'applique la charge harmonique"),\r
412                       ), # fin HARMONIQUE\r
413                       ), #fin CHARGES\r
414                       ETAT_INIT = FACT(statut='o',fr="Renseignement de l'etat initial du calcul",\r
415                               #RESULTAT = SIMP(statut='o',typ=('sd_resultat'),max=1,defaut=None,fr="Choix de la structure de donnees resultat de code aster "),\r
416                               # 20121126\r
417                               #RESULTAT = SIMP(statut='o',typ='TXM',max=1,defaut=None,fr="Choix de la structure de donnees resultat de code aster "),\r
418                               INST_INIT = SIMP(statut='f',typ='R',max=1,defaut=None,fr="Renseignement de l'instant initial a partir duquel il faut lancer le calcul (s)"),\r
419                       ), # fin ETAT_INIT\r
420                       #PARAM_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('PAS','LIST_INST'),defaut=None,fr="Choix du type de parametrage temporel"),\r
421                       # 20121126\r
422                       PARAM_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('PAS'),defaut="PAS",fr="Choix du type de discretisation temporelle",),\r
423                       PAS = BLOC(condition = "PARAM_TEMPS == 'PAS' ",fr="Renseignement de pas de temps",\r
424                               PAS_ASTER = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement du pas de temps d'integration Code_Aster (en s)",),\r
425                               PAS_EDYOS = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement du pas de temps d'integration Edyos (en s)",),\r
426                               INST_FIN = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement de l'instant final du calcul (en s)",),\r
427                       ), # fin TEMPS_PAS\r
428                       #LIST_INST = BLOC(condition = "PARAM_TEMPS == 'LIST_INST' ",fr="Renseignement d'une liste de pas",\r
429                               #LISTE = SIMP(statut='f',typ='R',min=1,max='**',defaut=None,fr="Renseignement d'une liste de pas"),\r
430                       #), # fin LIST_INST\r
431                       PAS_ARCHIVAGE = SIMP(statut='o',typ='I',max=1,defaut=1,fr="Renseignement du pas d'archivage des resultats (une sauvegarde tous les 'PAS_ARCHIVAGE' instants d'integration)",),\r
432                       PARA_MEM = SIMP(statut='f',typ='I',max=1,defaut=6400,fr="Renseigner la taille maximale de la memoire (Mo)",),\r
433                       PARA_CPU = SIMP(statut='f',typ='I',max=1,defaut=10000,fr="Renseigner le temps CPU maximal (s)",),\r
434                       SCHEMA_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('EULER','ADAPT_ORDRE1','ADAPT_ORDRE2'),defaut='ADAPT_ORDRE2',fr="Choix d'un schema d'integration temporelle"),\r
435                       \r
436                       ## POST_TRAITEMENTS de l'analyse transitoire\r
437                       POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Definition et renseignement des post-traitements",\r
438                               TYPE = SIMP(statut='o',typ='TXM',into=('DEPL_ABS','DEPL_RELA','EFFORTS_PAL','CONTRAINTES'),defaut=None,fr="Choix du type de post-traitement"),\r
439                               DEPL = BLOC(condition = "TYPE in ('DEPL_ABS','DEPL_RELA') ",fr="Deplacement",\r
440                                       POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la coordonnee du deplacement"),\r
441                                       PALIER = SIMP(statut='f',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette du palier"),\r
442                               ), # fin DEPL\r
443                               # pas d'info à rentrer pour les efforts palier (post-traitement sur tout les paliers)\r
444                               #EFFORTS_PAL = BLOC(condition = "TYPE == 'EFFORTS_PAL'", fr = "Efforts paliers",\r
445                                   #PALIER = SIMP(statut='o',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette du palier"),\r
446                               #), # fin EFFORTS_PAL\r
447                               CONTRAINTES = BLOC(condition = "TYPE == 'CONTRAINTES' ",fr="Export des contraintes",\r
448                                                 regles=UN_PARMI('POSITION','ZONE','TOUT'),\r
449                                       POSITION = SIMP(statut='f',typ='R',max=1,defaut=None,fr="Renseignement de la coordonnee de la contrainte"),\r
450                                       ZONE = SIMP(statut='f',typ='TXM',max=1,defaut=None,fr="Renseignement de l'etiquette de la zone de la contrainte"),\r
451                                       TOUT = SIMP(statut='f',typ='TXM',into=('OUI'),max=1,fr="Export pour tous les noeuds"),\r
452                               ), # fin CONTRAINTES\r
453                       ), # fin POST_TRAITEMENTS\r
454                       \r
455                       \r
456               ), # fin ANALYSE_TRANSITOIRE_ACCIDENTEL\r
457                  \r
458 )# fin SPECIFICATION_ANALYSE\r