Salome HOME
PN : ajout du ITEM_PARAMETRE pour accepter les parametres de la forme
[tools/eficas.git] / Syrthes / cata_syrthes.py
1 # -*- coding: utf-8 -*-
2 # debut entete
3 import Accas
4 from Accas import *
5 #
6 JdC = JDC_CATA(code='SYRTHES',
7                execmodul=None,
8                niveaux=(NIVEAU(nom='generalites',label='Généralités',valide_vide=0),
9                         NIVEAU(nom='gest_calc',label='Gestion du calcul',valide_vide=0,actif="generalites == 1"),
10                         NIVEAU(nom='gest_sort',label='Gestion des sorties'),
11                         NIVEAU(nom='choix_num',label='Choix numériques',valide_vide=0),\r
12                         NIVEAU(nom='prop_phys',label='Propriétés physiques',valide_vide=0,actif='choix_num==1'),\r
13                         NIVEAU(nom='cond_init',label='Conditions initiales',valide_vide=0,actif='prop_phys==1'),\r
14                         NIVEAU(nom='cond_limi',label='Conditions aux limites',valide_vide=0,actif='cond_init==1'),\r
15                         NIVEAU(nom='flux_volu',label='Flux volumiques',valide_vide=0,actif='cond_limi==1'),\r
16                         NIVEAU(nom='soli_mouv',label='Solides en mouvement'),\r
17                         NIVEAU(nom='couplages',label='Couplages'),\r
18                         NIVEAU(nom='rayonnement',label='Rayonnement',valide_vide=0,actif='flux_volu==1'),\r
19                         NIVEAU(nom='cond_lim_ray',label='Conditions limites rayonnement',valide_vide=0,actif='rayonnement==1'),\r
20                         NIVEAU(nom='in_out_ray',label='Entrées/Sorties rayonnement',valide_vide=0,actif='rayonnement==1'),\r
21                         NIVEAU(nom='fichiers',label='Fichiers pour le calcul'))
22                )
23
24
25 GENERALITES = PROC(nom='GENERALITES',op=10,\r
26                    fr="Définition des principales options du calcul",\r
27                    niveau='generalites',
28                    TYPE_DE_CALCUL=SIMP(typ='TXM',\r
29                                        statut='o',\r
30                                        into=('Syrthes thermique solide seule','Syrthes couplé'),\r
31                                        defaut='Syrthes thermique solide seule',\r
32                                        position='global_jdc'),
33                    TITRE = SIMP(statut='f',typ='TXM'),
34                    DIMENSION = SIMP(statut='o',\r
35                                     typ='I',\r
36                                     into=(2,3),\r
37                                     defaut=2,\r
38                                     position='global_jdc'),
39                    b_axys = BLOC(condition="TYPE_DE_CALCUL=='Syrthes thermique solide seule'",\r
40                                  AXE_SYMETRIE = SIMP(statut='o',\r
41                                                      typ='TXM',\r
42                                                      into=('AUCUN','OX','OY'),\r
43                                                      defaut='AUCUN')));\r
44 \r
45 GESTION_DU_CALCUL = PROC(nom='GESTION_DU_CALCUL',op=10,\r
46                          fr="Gestion des pas de temps et éventuellement du couplage fluide/solide",\r
47                          niveau='gest_calc',\r
48                          CALCUL_SYRTHES_SEUL = BLOC(condition="TYPE_DE_CALCUL == 'Syrthes thermique solide seule'",\r
49                                                     PAS_DE_TEMPS_SOLIDE = SIMP(typ='I',statut='o'),\r
50                                                     NB_PAS_DE_TEMPS = SIMP(typ='I',statut='o'),\r
51                                                     SUITE_DE_CALCUL = SIMP(typ='TXM',statut='o',into=('OUI','NON'),defaut='NON')),\r
52                          CALCUL_SYRTHES_COUPLE = BLOC(condition="TYPE_DE_CALCUL =='Syrthes couplé'",\r
53                                                       CORRESPONDANCE_MAILLAGES_F_S = SIMP(statut='o',\r
54                                                                                           typ='TXM',\r
55                                                                                           into=('calcul','lecture sur fichier','calcul et écriture sur fichier'),\r
56                                                                                           defaut='calcul et écriture sur fichier'),\r
57                                                       PAS_DE_TEMPS_SOLIDE = SIMP(typ='TXM',\r
58                                                                                  statut='o',\r
59                                                                                  into=('fixé indépendamment','égal à celui du fluide'),\r
60                                                                                  defaut='égal à celui du fluide'),\r
61                                                       CHOIX_FREQUENCE_CALCUL_SOLIDE = SIMP(typ='TXM',\r
62                                                                                      statut='o',\r
63                                                                                      into=('calcul solide à chaque pas de temps',\r
64                                                                                            'calcul solide tous les n pas de temps fluide',\r
65                                                                                            'calcul fluide tous les n pas de temps solide'),\r
66                                                                                      defaut='calcul solide à chaque pas de temps'),\r
67                                                       frequence_calcul = BLOC(condition="CHOIX_FREQUENCE_CALCUL_SOLIDE != 'calcul solide à chaque pas de temps'",\r
68                                                                               FREQUENCE = SIMP(statut='o',\r
69                                                                                                typ='I')))\r
70                                                       \r
71                        );\r
72 \r
73 GESTION_DES_SORTIES = PROC(nom="GESTION_DES_SORTIES",op=10,\r
74                            fr="Gestion des résultats du code",\r
75                            niveau='gest_sort',\r
76                            IMPRESSIONS_SOLIDE=SIMP(statut='o',typ='TXM',\r
77                                                    into=('aucune','minimales','normales','détaillées'),\r
78                                                    defaut='normales'),\r
79                            RESULTATS_DOMAINE_SOLIDE=FACT(statut='o',\r
80                                                          FICHIER_CHRONOLOGIQUE=SIMP(typ='TXM',statut='o',\r
81                                                                                     into=('aucune sortie','tous les n pas de temps'),\r
82                                                                                     defaut='aucune sortie'),\r
83                                                          pas_de_temps=BLOC(condition="FICHIER_CHRONOLOGIQUE=='tous les n pas de temps'",\r
84                                                                            PAS_DE_TEMPS=SIMP(statut='o',typ='I')),\r
85                                                          FICHIER_LISTING=SIMP(statut='o',typ='TXM',\r
86                                                                               into=('aucune sortie',),\r
87                                                                               defaut='aucune sortie'),\r
88                                                          HISTORIQUE_SOLIDE=SIMP(statut='o',typ='TXM',\r
89                                                                                 into=('OUI','NON'),\r
90                                                                                 defaut='NON'),\r
91                                                          historique=BLOC(condition="HISTORIQUE_SOLIDE=='OUI'",\r
92                                                                          NOMBRE_CAPTEURS=SIMP(statut='o',typ='I'),\r
93                                                                          FREQUENCE_ECRITURE=SIMP(statut='o',typ='I',defaut=1),\r
94                                                                          LISTE_NOEUDS = FACT(statut='o',max='**',\r
95                                                                                              NOEUDS=SIMP(statut='o',max='**',typ='I'),\r
96                                                                                              COMMENTAIRE=SIMP(statut='o',typ='TXM',defaut=""))),\r
97                                                          ),\r
98                            RESULTATS_DOMAINE_FLUIDE=BLOC(condition="TYPE_DE_CALCUL=='Syrthes couplé'",\r
99                                                          ECRITURE_MAILLAGE_PEAU_FLUIDE=SIMP(statut='o',into=('OUI','NON'),\r
100                                                                                             defaut='NON',typ='TXM'),\r
101                                                          ECRITURE_RESULTATS_PEAU_FLUIDE=SIMP(statut='o',into=('OUI','NON'),\r
102                                                                                              defaut='NON',typ='TXM'),\r
103                                                          ECRITURE_CHRONO_PEAU_FLUIDE=SIMP(statut='o',into=('OUI','NON'),\r
104                                                                                           defaut='NON',typ='TXM'))\r
105                            );\r
106 \r
107 CHOIX_NUMERIQUES=PROC(nom="CHOIX_NUMERIQUES",op=10,\r
108                       fr="Modification des options du solveur",\r
109                       niveau='choix_num',\r
110                       SOLVEUR_SOLIDE = FACT(statut='o',\r
111                                             NOMBRE_ITERATIONS=SIMP(statut='o',typ='I'),\r
112                                             PRECISION=SIMP(statut='o',typ='R'))\r
113                       );\r
114 \r
115 PROPRIETES_PHYSIQUES=PROC(nom="PROPRIETES_PHYSIQUES",op=10,\r
116                           fr="Définition des propriétés physiques des matériaux",\r
117                           niveau='prop_phys',\r
118                           DEFINITION_PAR = SIMP(statut='o',typ='TXM',into=('NOEUD','ELEMENT','NOEUD PAR ELEMENT'),\r
119                                                 defaut='ELEMENT'),\r
120                           ISOTROPIE = SIMP(statut='o', typ='TXM', into=('Matériaux isotropes',\r
121                                                                         'Matériaux anisotropes',\r
122                                                                         'Matériaux orthotropes'),\r
123                                            defaut='Matériaux isotropes'),\r
124                           proprietes_des_materiaux_isotropes = BLOC(condition="ISOTROPIE=='Mat\351riaux isotropes'",                          \r
125                               DEFINITION_MASSE_VOLUMIQUE=FACT(statut='o',max='**',\r
126                                                           MASSE_VOLUMIQUE = SIMP(statut='o',typ='R'),\r
127                                                           REFERENCES = SIMP(statut='o',typ='I',max='**'),\r
128                                                           COMMENTAIRES=SIMP(statut='f',typ='TXM')),\r
129                               DEFINITION_CHALEUR_SPECIFIQUE=FACT(statut='o',max='**',\r
130                                                           CHALEUR_SPECIFIQUE = SIMP(statut='o',typ='R'),\r
131                                                           REFERENCES = SIMP(statut='o',typ='I',max='**'),\r
132                                                           COMMENTAIRES=SIMP(statut='f',typ='TXM')),\r
133                               DEFINITION_CONDUCTIVITE_THERMIQUE=FACT(statut='o',max='**',\r
134                                                           CONDUCTIVITE_THERMIQUE = SIMP(statut='o',typ='R'),\r
135                                                           REFERENCES = SIMP(statut='o',typ='I',max='**'),\r
136                                                           COMMENTAIRES=SIMP(statut='f',typ='TXM'))\r
137                                                                     ),\r
138                           proprietes_des_materiaux_orthotropes_2D = BLOC(condition="ISOTROPIE=='Mat\351riaux orthotropes' and DIMENSION==2",\r
139                               DEFINITION_MASSE_VOLUMIQUE=FACT(statut='o',max='**',\r
140                                                           MASSE_VOLUMIQUE = SIMP(statut='o',typ='R'),\r
141                                                           REFERENCES = SIMP(statut='o',typ='I',max='**'),\r
142                                                           COMMENTAIRES=SIMP(statut='f',typ='TXM')),\r
143                               DEFINITION_CHALEUR_SPECIFIQUE=FACT(statut='o',max='**',\r
144                                                           CHALEUR_SPECIFIQUE = SIMP(statut='o',typ='R'),\r
145                                                           REFERENCES = SIMP(statut='o',typ='I',max='**'),\r
146                                                           COMMENTAIRES=SIMP(statut='f',typ='TXM')),\r
147                               DEFINITION_CONDUCTIVITE_THERMIQUE=FACT(statut='o',max='**',\r
148                                                           CONDUCTIVITE_EN_X = SIMP(statut='o',typ='R'),\r
149                                                           CONDUCTIVITE_EN_Y = SIMP(statut='o',typ='R'),\r
150                                                           REFERENCES = SIMP(statut='o',typ='I',max='**'),\r
151                                                           COMMENTAIRES=SIMP(statut='f',typ='TXM'))\r
152                                                                          ),\r
153                           proprietes_des_materiaux_orthotropes_3D = BLOC(condition="ISOTROPIE=='Mat\351riaux orthotropes' and DIMENSION==3",\r
154                               DEFINITION_MASSE_VOLUMIQUE=FACT(statut='o',max='**',\r
155                                                           MASSE_VOLUMIQUE = SIMP(statut='o',typ='R'),\r
156                                                           REFERENCES = SIMP(statut='o',typ='I',max='**'),\r
157                                                           COMMENTAIRES=SIMP(statut='f',typ='TXM')),\r
158                               DEFINITION_CHALEUR_SPECIFIQUE=FACT(statut='o',max='**',\r
159                                                           CHALEUR_SPECIFIQUE = SIMP(statut='o',typ='R'),\r
160                                                           REFERENCES = SIMP(statut='o',typ='I',max='**'),\r
161                                                           COMMENTAIRES=SIMP(statut='f',typ='TXM')),\r
162                               DEFINITION_CONDUCTIVITE_THERMIQUE=FACT(statut='o',max='**',\r
163                                                           CONDUCTIVITE_EN_X = SIMP(statut='o',typ='R'),\r
164                                                           CONDUCTIVITE_EN_Y = SIMP(statut='o',typ='R'),\r
165                                                           CONDUCTIVITE_EN_Z = SIMP(statut='o',typ='R'),\r
166                                                           REFERENCES = SIMP(statut='o',typ='I',max='**'),\r
167                                                           COMMENTAIRES=SIMP(statut='f',typ='TXM'))\r
168                                                                          ),\r
169                           proprietes_des_materiaux_anisotropes_2D = BLOC(condition="ISOTROPIE=='Mat\351riaux anisotropes' and DIMENSION==2",\r
170                               DEFINITION_MASSE_VOLUMIQUE=FACT(statut='o',max='**',\r
171                                                           MASSE_VOLUMIQUE = SIMP(statut='o',typ='R'),\r
172                                                           REFERENCES = SIMP(statut='o',typ='I',max='**'),\r
173                                                           COMMENTAIRES=SIMP(statut='f',typ='TXM')),\r
174                               DEFINITION_CHALEUR_SPECIFIQUE=FACT(statut='o',max='**',\r
175                                                           CHALEUR_SPECIFIQUE = SIMP(statut='o',typ='R'),\r
176                                                           REFERENCES = SIMP(statut='o',typ='I',max='**'),\r
177                                                           COMMENTAIRES=SIMP(statut='f',typ='TXM')),\r
178                               DEFINITION_CONDUCTIVITE_THERMIQUE=FACT(statut='o',max='**',\r
179                                                           CONDUCTIVITE_EN_X = SIMP(statut='o',typ='R'),\r
180                                                           CONDUCTIVITE_EN_Y = SIMP(statut='o',typ='R'),\r
181                                                           ANGLE_SUIVANT_Z = SIMP(statut='o',typ='R'),\r
182                                                           REFERENCES = SIMP(statut='o',typ='I',max='**'),\r
183                                                           COMMENTAIRES=SIMP(statut='f',typ='TXM'))\r
184                                                                          ),\r
185                           proprietes_des_materiaux_anisotropes_3D = BLOC(condition="ISOTROPIE=='Mat\351riaux anisotropes' and DIMENSION==3",\r
186                               DEFINITION_MASSE_VOLUMIQUE=FACT(statut='o',max='**',\r
187                                                           MASSE_VOLUMIQUE = SIMP(statut='o',typ='R'),\r
188                                                           REFERENCES = SIMP(statut='o',typ='I',max='**'),\r
189                                                           COMMENTAIRES=SIMP(statut='f',typ='TXM')),\r
190                               DEFINITION_CHALEUR_SPECIFIQUE=FACT(statut='o',max='**',\r
191                                                           CHALEUR_SPECIFIQUE = SIMP(statut='o',typ='R'),\r
192                                                           REFERENCES = SIMP(statut='o',typ='I',max='**'),\r
193                                                           COMMENTAIRES=SIMP(statut='f',typ='TXM')),\r
194                               DEFINITION_CONDUCTIVITE_THERMIQUE=FACT(statut='o',max='**',\r
195                                                           CONDUCTIVITE_EN_X = SIMP(statut='o',typ='R'),\r
196                                                           CONDUCTIVITE_EN_Y = SIMP(statut='o',typ='R'),\r
197                                                           CONDUCTIVITE_EN_Z = SIMP(statut='o',typ='R'),\r
198                                                           ANGLE_SUIVANT_X = SIMP(statut='o',typ='R'),\r
199                                                           ANGLE_SUIVANT_Y = SIMP(statut='o',typ='R'),\r
200                                                           ANGLE_SUIVANT_Z = SIMP(statut='o',typ='R'),\r
201                                                           REFERENCES = SIMP(statut='o',typ='I',max='**'),\r
202                                                           COMMENTAIRES=SIMP(statut='f',typ='TXM'))\r
203                                                                          ),\r
204                           );\r
205 \r
206 CONDITIONS_INITIALES=PROC(nom="CONDITIONS_INITIALES",op=10,\r
207                           fr="Définition des conditions initiales",\r
208                           niveau='cond_init',\r
209                           Temperature_initiale = FACT(statut='o',max='**',\r
210                                                       TEMPERATURE = SIMP(typ='R',statut='o',defaut=20),\r
211                                                       REFERENCES = SIMP(statut='o',typ='I',max='**',defaut=-1),\r
212                                                       COMMENTAIRES = SIMP(statut='f',typ='TXM')\r
213                                                       )\r
214                           );\r
215 \r
216 \r
217 CONDITIONS_LIMITES = PROC(nom='CONDITIONS_LIMITES',op=10,\r
218                           niveau='cond_limi',\r
219                           fr="Définition des conditions aux limites",\r
220                           NOEUD_OU_FACE = SIMP(statut='o',typ='TXM',into=('NOEUD','FACE'),defaut='FACE'),\r
221                           FLUX_SURFACIQUE=FACT(max='**',\r
222                                                FLUX=SIMP(statut='o',typ='R',defaut=0),\r
223                                                REFERENCES = SIMP(statut='o',typ='I',max='**'),\r
224                                                COMMENTAIRES = SIMP(statut='f',typ='TXM')\r
225                                                ),\r
226                           DIRICHLET=FACT(max='**',\r
227                                          TEMPERATURE=SIMP(statut='o',typ='R',defaut=20),\r
228                                          REFERENCES = SIMP(statut='o',typ='I',max='**'),\r
229                                          COMMENTAIRES = SIMP(statut='f',typ='TXM')\r
230                                          ),\r
231 \r
232                           COEFFICIENT_ECHANGE=FACT(max='**',\r
233                                                    TEMPERATURE=SIMP(statut='o',typ='R',defaut=20),\r
234                                                    COEFFICIENT = SIMP(statut='o',typ='R',defaut=0),\r
235                                                    REFERENCES = SIMP(statut='o',typ='I',max='**'),\r
236                                                    COMMENTAIRES = SIMP(statut='f',typ='TXM')\r
237                                                   ),\r
238                           RESISTANCE_CONTACT=FACT(max='**',\r
239                                                   RESISTANCE = SIMP(statut='o',typ='R',defaut=0),\r
240                                                   REFERENCES = SIMP(statut='o',typ='I',max='**'),\r
241                                                   COMMENTAIRES = SIMP(statut='f',typ='TXM')\r
242                                                  ),\r
243                          );
244