ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/app/microstructure/src/main.cpp
Revision: 971
Committed: Thu Sep 20 19:04:41 2018 UTC (6 years, 7 months ago) by couturad
File size: 38069 byte(s)
Log Message:
MG_EXPORT: Changement du facteur de correction dans l'application de la conductivite thermique (corr=1)
MICROSTRUCTURE: 
-> Ajout de l'etude thermique (Calcul de la conductivite thermique apparente)
-> Ajout d'une analyse des proprietes massiques (Centre de masse, moment d'inertie)

File Contents

# User Rev Content
1 francois 756 //------------------------------------------------------------
2     //------------------------------------------------------------
3     // MAGiC
4     // Jean Christophe Cuilli�re et Vincent FRANCOIS
5     // D�partement de G�nie M�canique - UQTR
6     //------------------------------------------------------------
7     // Le projet MAGIC est un projet de recherche du d�partement
8     // de g�nie m�canique de l'Universit� du Qu�bec �
9     // Trois Rivi�res
10     // Les librairies ne peuvent �tre utilis�es sans l'accord
11     // des auteurs (contact : francois@uqtr.ca)
12     //------------------------------------------------------------
13     //------------------------------------------------------------
14     //
15     // main.cpp
16     //
17     //------------------------------------------------------------
18     //------------------------------------------------------------
19     // COPYRIGHT 2000
20     // Version du 02/03/2006 � 11H25
21     //------------------------------------------------------------
22     //------------------------------------------------------------
23    
24    
25    
26    
27     #include "gestionversion.h"
28     #include "magic_application.h"
29 couturad 919 #include "mstruct_ves.h"
30     #include "mstruct_ver.h"
31     #include "mstruct_parametres.h"
32     #include "mg_gestionnaire.h"
33     #include "mg_file.h"
34     #include "fct_taille_fem_solution.h"
35 couturad 926 #include "mstruct_ves_file.h"
36 francois 947 #include "mstruct_generateur_polycristaux.h"
37 couturad 919 #ifdef ALL_OCC
38     #include "occ_import.h"
39     #endif
40 francois 756 //---------------------------------------------------------------------------
41    
42    
43    
44     int main(int argc,char **argv)
45     {
46     std::vector<MAGIC_PARAMETRE_APPLICATION> lst;
47 couturad 919 // p_in(1) -in
48     // p_out(2) -out
49 couturad 968 MAGIC_PARAMETRE_APPLICATION p3(3,(char*)"-ves_in",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier VES d'entree");
50     MAGIC_PARAMETRE_APPLICATION p4(4,(char*)"-ves_out",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier VES de sortie");
51     MAGIC_PARAMETRE_APPLICATION p5(5,(char*)"-carte",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Carte de taille FEM solution");
52     MAGIC_PARAMETRE_APPLICATION p6(6,(char*)"-dossier",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Dossier de resultat");
53     MAGIC_PARAMETRE_APPLICATION p7(7,(char*)"-param",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier de parametres");
54     MAGIC_PARAMETRE_APPLICATION p8(8,(char*)"-lstparam",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier listant plusieurs fichiers de parametres");
55     MAGIC_PARAMETRE_APPLICATION p9(9,(char*)"-paramaster",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier de parametre aster");
56     MAGIC_PARAMETRE_APPLICATION p10(10,(char*)"-type_generateur",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"Type de generateur : [0] RSA, [1] DCR");
57     MAGIC_PARAMETRE_APPLICATION p11(11,(char*)"-type_inclusion",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"Type d'inclusion : [0] Sphere, [1] Cylindre, [2] Ellipsoide, [3] Boite");
58     MAGIC_PARAMETRE_APPLICATION p12(12,(char*)"-type_maillage",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"Type de maillage : [0] lineaire, [1] quadratique, [2] lineaire et quadratique");
59 couturad 971 MAGIC_PARAMETRE_APPLICATION p13(13,(char*)"-type_etude",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"Type d'etude : [0] mecanique, [1] thermique, [2] mecanique et thermique");
60     MAGIC_PARAMETRE_APPLICATION p14(14,(char*)"-nb_couche_erosion",MAGIC_PARAMETRE_APPLICATION::INTEGER,(char*)"Nombre de couche d'erosion (defaut = 0)");
61     MAGIC_PARAMETRE_APPLICATION p15(15,(char*)"-epaisseur_couche_erosion",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"Epaisseur d'une couche d'erosion (defaut = 0.02)");
62 couturad 968 MAGIC_PARAMETRE_APPLICATION p16(16,(char*)"-ves_sph",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier VES chargement spherique");
63     MAGIC_PARAMETRE_APPLICATION p17(17,(char*)"-ves_dev",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier VES chargement deviatorique");
64     MAGIC_PARAMETRE_APPLICATION p18(18,(char*)"-lstves",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Liste de VES");
65     MAGIC_PARAMETRE_APPLICATION p19(19,(char*)"-eps",MAGIC_PARAMETRE_APPLICATION::DOUBLE,(char*)"Distance max entre la triangulation et la géométrie");
66     MAGIC_PARAMETRE_APPLICATION p20(20,(char*)"-creeparam",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Creer une structure de parametres");
67     MAGIC_PARAMETRE_APPLICATION p21(21,(char*)"-gen_geo",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Generer la geometrie");
68     MAGIC_PARAMETRE_APPLICATION p22(22,(char*)"-gen_mat",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Generer les materiaux");
69     MAGIC_PARAMETRE_APPLICATION p23(23,(char*)"-gen_carte",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Generer la carte de taille");
70     MAGIC_PARAMETRE_APPLICATION p24(24,(char*)"-gen_mg_maill",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Generer le MG maillage");
71     MAGIC_PARAMETRE_APPLICATION p25(25,(char*)"-gen_fem_maill",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Generer le FEM maillage");
72     MAGIC_PARAMETRE_APPLICATION p26(26,(char*)"-gen_etude",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Generer l'etude");
73     MAGIC_PARAMETRE_APPLICATION p27(27,(char*)"-gen_calcul",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Lancer la resolution numerique");
74     MAGIC_PARAMETRE_APPLICATION p28(28,(char*)"-gen_post_traitement",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Generer le post-traitement des resultats");
75     MAGIC_PARAMETRE_APPLICATION p29(29,(char*)"-cumuler_post_traitement",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Cumuler les post-traitement d'une liste de VES");
76     MAGIC_PARAMETRE_APPLICATION p30(30,(char*)"-affiche_contenu",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Affiche le contenu d'un fichier VES");
77     MAGIC_PARAMETRE_APPLICATION p31(31,(char*)"-export_tristl",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Exportation de la triangulation STL de la microstructure");
78     MAGIC_PARAMETRE_APPLICATION p32(32,(char*)"-export_maill_abaqus",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"Exportation du maillage au format ABAQUS");
79     MAGIC_PARAMETRE_APPLICATION p33(33,(char*)"-creeparampoly",MAGIC_PARAMETRE_APPLICATION::BOOL,(char*)"Création d'un fichier de paramétres");
80     MAGIC_PARAMETRE_APPLICATION p34(34,(char*)"-polycristaux",MAGIC_PARAMETRE_APPLICATION::ACTION,(char*)"génération d'un polycristal");
81 couturad 971 MAGIC_PARAMETRE_APPLICATION p35(35,(char*)"-ves_lambda_x",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier VES lambda x");
82     MAGIC_PARAMETRE_APPLICATION p36(36,(char*)"-ves_lambda_y",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier VES lambda y");
83     MAGIC_PARAMETRE_APPLICATION p37(37,(char*)"-ves_lambda_z",MAGIC_PARAMETRE_APPLICATION::STRING,(char*)"Fichier VES lambda z");
84 couturad 951
85 couturad 968 p20.ajouter_dependance(10);p20.ajouter_dependance(11);p20.ajouter_dependance(12);p20.ajouter_dependance(13);p20.ajouter_dependance(14);p20.ajouter_dependance(15);
86     p21.ajouter_dependance(4);p21.ajouter_dependance(7);p21.ajouter_dependance(8);
87     p22.ajouter_dependance(3);p22.ajouter_dependance(4);p22.ajouter_dependance(7);p22.ajouter_dependance(8);
88     p23.ajouter_dependance(3);p23.ajouter_dependance(4);p23.ajouter_dependance(7);
89     p24.ajouter_dependance(3);p24.ajouter_dependance(4);p24.ajouter_dependance(7);p24.ajouter_dependance(5);
90     p25.ajouter_dependance(3);p25.ajouter_dependance(4);p25.ajouter_dependance(7);
91     p26.ajouter_dependance(3);p26.ajouter_dependance(4);p26.ajouter_dependance(7);
92     p27.ajouter_dependance(3);p27.ajouter_dependance(4);p27.ajouter_dependance(7);p27.ajouter_dependance(9);
93 couturad 971 p28.ajouter_dependance(3);p28.ajouter_dependance(4);p28.ajouter_dependance(7);p28.ajouter_dependance(8);p28.ajouter_dependance(16);p28.ajouter_dependance(17);p28.ajouter_dependance(35);p28.ajouter_dependance(36);p28.ajouter_dependance(37);
94 couturad 968 p29.ajouter_dependance(7);p29.ajouter_dependance(8);p29.ajouter_dependance(6);
95     p30.ajouter_dependance(3);
96     p31.ajouter_dependance(3);p31.ajouter_dependance(2);p31.ajouter_dependance(19);
97     p32.ajouter_dependance(3);p32.ajouter_dependance(6);
98    
99 couturad 772 lst.push_back(p3);
100 couturad 919 lst.push_back(p4);
101     lst.push_back(p5);
102     lst.push_back(p6);
103     lst.push_back(p7);
104     lst.push_back(p8);
105     lst.push_back(p9);
106     lst.push_back(p10);
107     lst.push_back(p11);
108     lst.push_back(p12);
109     lst.push_back(p13);
110     lst.push_back(p14);
111     lst.push_back(p15);
112     lst.push_back(p16);
113     lst.push_back(p17);
114     lst.push_back(p18);
115     lst.push_back(p19);
116     lst.push_back(p20);
117     lst.push_back(p21);
118 couturad 926 lst.push_back(p22);
119     lst.push_back(p23);
120 couturad 927 lst.push_back(p24);
121     lst.push_back(p25);
122     lst.push_back(p26);
123 couturad 929 lst.push_back(p27);
124 couturad 933 lst.push_back(p28);
125 couturad 934 lst.push_back(p29);
126 francois 947 lst.push_back(p30);
127     lst.push_back(p31);
128 couturad 951 lst.push_back(p32);
129     lst.push_back(p33);
130     lst.push_back(p34);
131 couturad 971 lst.push_back(p35);
132     lst.push_back(p36);
133     lst.push_back(p37);
134 francois 756
135 couturad 919 MAGIC_APPLICATION app((char*)"Homogéinisation d'une microstructure",argc,argv,lst,true,true);
136     if(app.get_erreur()==true) return 0;
137 couturad 968
138     if(app.get_action()==20)
139 couturad 772 {
140 couturad 968 app.affiche((char*)"***********************************************");
141     app.affiche((char*)"*** Creation des fichiers de parametres ***");
142     app.affiche((char*)"***********************************************");
143     int type_generateur;
144     int type_inclusion;
145     int type_maillage;
146     int type_etude;
147     int nb_couche;
148     double epaisseur_couche;
149     app.recupere_parametre_int(10,type_generateur,(char*)"Type de generateur manquant");
150     app.recupere_parametre_int(11,type_inclusion,(char*)"Type d'inclusion manquant");
151     app.recupere_parametre_int(12,type_maillage,(char*)"Type de maillage manquant");
152     app.recupere_parametre_int(13,type_etude,(char*)"Type d'etude manquant");
153 couturad 971 app.recupere_parametre_double_avec_defaut(15,epaisseur_couche,0.02);
154 couturad 968 app.recupere_parametre_int_avec_defaut(14,nb_couche,0);
155     if (app.get_erreur()==true) return 0;
156     bool maillage_lin=false;
157     bool maillage_quad=false;
158     if(type_maillage==0) maillage_lin=true;
159     else if(type_maillage==1) maillage_quad=true;
160     else {maillage_lin=true;maillage_quad=true;}
161 couturad 971 bool etude_mecanique=false;
162     bool etude_thermique=false;
163     if(type_etude==0) etude_mecanique=true;
164     else if(type_etude==1) etude_thermique=true;
165     else if(type_etude==2){etude_mecanique=true;etude_thermique=true;}
166     PARAMETRES::generer_fichier_parametres(etude_mecanique,etude_thermique,type_generateur,type_inclusion,maillage_lin,maillage_quad,nb_couche,epaisseur_couche,app.affiche);
167     PARAMETRES::generer_script_ves(etude_mecanique,etude_thermique,type_inclusion,maillage_lin,maillage_quad,app.affiche);
168     PARAMETRES::generer_script_post_traitement(etude_mecanique,etude_thermique,type_inclusion,maillage_lin,maillage_quad,epaisseur_couche,app.affiche);
169 couturad 968 }
170    
171    
172     if(app.get_action()==21)
173     {
174 couturad 919 app.affiche((char*)"**************************************");
175     app.affiche((char*)"*** Generation de la geometrie ***");
176     app.affiche((char*)"**************************************");
177     char fichier_ves_out[500];
178     char fichier_param[500];
179     char fichier_lstparam[500];
180     app.recupere_parametre_string(4,fichier_ves_out,(char*)"Fichier VES de sortie manquant");
181 couturad 968 app.recupere_parametre_string_avec_defaut(7,fichier_param,(char*)"");
182     app.recupere_parametre_string_avec_defaut(8,fichier_lstparam,(char*)"");
183 couturad 919 if (app.get_erreur()==true) return 0;
184     std::string str_fichier_ves_out = fichier_ves_out;
185     size_t found = str_fichier_ves_out.rfind((char*)".");
186     std::string str_fichier_magic_out = str_fichier_ves_out.substr(0,found);
187     str_fichier_magic_out.append((char*)".magic");
188     if(strlen(fichier_param)>0 && strlen(fichier_lstparam)>0)
189     {
190     app.affiche_erreur((char*)"Une seule valeur pour -param OU -lstparam doit etre fournie");
191     return 0;
192     }
193     if(strlen(fichier_param)>0)
194     {
195     std::vector<OT_PARAMETRES*> vector_param_geometrie;
196 couturad 964 OT_PARAMETRES* param_geometrie = new OT_PARAMETRES;
197     char message[5000];
198     if(PARAMETRES::importer_fichier_parametres(fichier_param,param_geometrie)==FAIL)
199     {
200     std::sprintf(message,"ERREUR lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
201     app.affiche(message);
202     return 1;
203     }
204     std::sprintf(message,"Lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
205     app.affiche(message);
206 couturad 919 vector_param_geometrie.push_back(param_geometrie);
207 couturad 926 MSTRUCT_VES ves;
208 couturad 919 ves.active_affichage(app.affiche);
209 couturad 961 if(ves.generer_geometrie(vector_param_geometrie)==FAIL)
210     {
211     delete param_geometrie;
212     return 1;
213     }
214 couturad 919 ves.enregistrer(fichier_ves_out,(char*)str_fichier_magic_out.c_str());
215     delete param_geometrie;
216     }
217     else if(strlen(fichier_lstparam)>0)
218     {
219     std::vector<OT_PARAMETRES*> vector_param_geometrie;
220 couturad 964 char message[5000];
221     if(PARAMETRES::importer_fichier_liste_parametres(fichier_lstparam,vector_param_geometrie)==FAIL)
222     {
223     std::sprintf(message,"ERREUR lecture du fichier de liste de parametres : \033[38;5;46m%s\033[1;33m",fichier_lstparam);
224     app.affiche(message);
225     return 1;
226     }
227     std::sprintf(message,"Lecture du fichier de liste de parametres : \033[38;5;46m%s\033[1;33m",fichier_lstparam);
228     app.affiche(message);
229 couturad 926 MSTRUCT_VES ves;
230 couturad 919 ves.active_affichage(app.affiche);
231 couturad 961 if(ves.generer_geometrie(vector_param_geometrie)==FAIL)
232     {
233     std::vector<OT_PARAMETRES*>::iterator it_vector;
234     for(it_vector=vector_param_geometrie.begin();it_vector!=vector_param_geometrie.end();it_vector++)
235     {
236     delete *it_vector;
237     }
238     return 1;
239     }
240 couturad 919 ves.enregistrer(fichier_ves_out,(char*)str_fichier_magic_out.c_str());
241     std::vector<OT_PARAMETRES*>::iterator it_vector;
242     for(it_vector=vector_param_geometrie.begin();it_vector!=vector_param_geometrie.end();it_vector++)
243     {
244     delete *it_vector;
245     }
246     }
247 couturad 964 char message[5000];
248     std::sprintf(message,"Fichier VES de sortie : \033[38;5;46m%s\033[1;33m",fichier_ves_out);
249     app.affiche(message);
250     std::sprintf(message,"Fichier MAGIC de sortie : \033[38;5;46m%s\033[1;33m",str_fichier_magic_out.c_str());
251     app.affiche(message);
252 couturad 772 }
253 francois 756
254 couturad 968 if(app.get_action()==22)
255 couturad 772 {
256 couturad 919 app.affiche((char*)"************************************");
257     app.affiche((char*)"*** Generation des materiaux ***");
258     app.affiche((char*)"************************************");
259     char fichier_ves_in[500];
260     char fichier_ves_out[500];
261     char fichier_param[500];
262     char fichier_lstparam[500];
263     app.recupere_parametre_string(3,fichier_ves_in,(char*)"Fichier VES de entrant manquant");
264     app.recupere_parametre_string(4,fichier_ves_out,(char*)"Fichier VES de sortie manquant");
265 couturad 968 app.recupere_parametre_string_avec_defaut(7,fichier_param,(char*)"");
266     app.recupere_parametre_string_avec_defaut(8,fichier_lstparam,(char*)"");
267 couturad 919 if (app.get_erreur()==true) return 0;
268 couturad 964 char message[5000];
269     std::sprintf(message,"Fichier VES d'entree : \033[38;5;46m%s\033[1;33m",fichier_ves_in);
270     app.affiche(message);
271 couturad 919 std::string str_fichier_ves_out = fichier_ves_out;
272     size_t found = str_fichier_ves_out.rfind((char*)".");
273     std::string str_fichier_magic_out = str_fichier_ves_out.substr(0,found);
274     str_fichier_magic_out.append((char*)".magic");
275     if(strlen(fichier_param)>0 && strlen(fichier_lstparam)>0)
276     {
277     app.affiche_erreur((char*)"Une seule valeur pour -param OU -lstparam doit etre fournie");
278     return 0;
279     }
280     if(strlen(fichier_param)>0)
281     {
282     std::vector<OT_PARAMETRES*> vector_param_materiau;
283     OT_PARAMETRES* param_materiau = new OT_PARAMETRES;
284 couturad 964 char message[5000];
285     if(PARAMETRES::importer_fichier_parametres(fichier_param,param_materiau)==FAIL)
286     {
287     std::sprintf(message,"ERREUR lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
288     app.affiche(message);
289     return 1;
290     }
291     std::sprintf(message,"Lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
292     app.affiche(message);
293 couturad 919 vector_param_materiau.push_back(param_materiau);
294 couturad 926 MSTRUCT_VES ves(fichier_ves_in);
295 couturad 919 ves.active_affichage(app.affiche);
296     ves.generer_materiau(vector_param_materiau);
297     ves.enregistrer(fichier_ves_out,(char*)str_fichier_magic_out.c_str());
298     delete param_materiau;
299     }
300     else if(strlen(fichier_lstparam)>0)
301     {
302     std::vector<OT_PARAMETRES*> vector_param_materiau;
303 couturad 964 char message[5000];
304     if(PARAMETRES::importer_fichier_liste_parametres(fichier_lstparam,vector_param_materiau)==FAIL)
305     {
306     std::sprintf(message,"ERREUR lecture du fichier de liste de parametres : \033[38;5;46m%s\033[1;33m",fichier_lstparam);
307     app.affiche(message);
308     return 1;
309     }
310     std::sprintf(message,"Lecture du fichier de liste de parametres : \033[38;5;46m%s\033[1;33m",fichier_lstparam);
311     app.affiche(message);
312 couturad 926 MSTRUCT_VES ves(fichier_ves_in);
313 couturad 919 ves.active_affichage(app.affiche);
314     ves.generer_materiau(vector_param_materiau);
315     ves.enregistrer(fichier_ves_out,(char*)str_fichier_magic_out.c_str());
316     std::vector<OT_PARAMETRES*>::iterator it_vector;
317     for(it_vector=vector_param_materiau.begin();it_vector!=vector_param_materiau.end();it_vector++)
318     {
319     delete *it_vector;
320     }
321     }
322 couturad 964 std::sprintf(message,"Fichier VES de sortie : \033[38;5;46m%s\033[1;33m",fichier_ves_out);
323     app.affiche(message);
324     std::sprintf(message,"Fichier MAGIC de sortie : \033[38;5;46m%s\033[1;33m",str_fichier_magic_out.c_str());
325     app.affiche(message);
326 couturad 772 }
327 couturad 919
328 couturad 968 if(app.get_action()==23)
329 couturad 919 {
330     app.affiche((char*)"********************************************");
331     app.affiche((char*)"*** Generation de la carte de taille ***");
332     app.affiche((char*)"********************************************");
333     char fichier_ves_in[500];
334     char fichier_param[500];
335 couturad 926 char fichier_ves_out[500];
336 couturad 919 app.recupere_parametre_string(3,fichier_ves_in,(char*)"Fichier VES de entrant manquant");
337 couturad 926 app.recupere_parametre_string(4,fichier_ves_out,(char*)"Fichier VES de sortie manquant");
338 couturad 968 app.recupere_parametre_string(7,fichier_param,(char*)"Fichier de parametre manquant");
339 couturad 919 if (app.get_erreur()==true) return 0;
340 couturad 964 char message[5000];
341     std::sprintf(message,"Fichier VES d'entree : \033[38;5;46m%s\033[1;33m",fichier_ves_in);
342     app.affiche(message);
343 couturad 919 OT_PARAMETRES* param_carte = new OT_PARAMETRES;
344 couturad 964 if(PARAMETRES::importer_fichier_parametres(fichier_param,param_carte)==FAIL)
345     {
346     std::sprintf(message,"ERREUR lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
347     app.affiche(message);
348     return 1;
349     }
350     std::sprintf(message,"Lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
351     app.affiche(message);
352 couturad 926 MSTRUCT_VES ves(fichier_ves_in);
353 couturad 919 ves.active_affichage(app.affiche);
354     ves.generer_carte(param_carte);
355 couturad 926 ves.enregistrer(fichier_ves_out);
356 couturad 919 delete param_carte;
357 couturad 964 std::sprintf(message,"Fichier VES de sortie : \033[38;5;46m%s\033[1;33m",fichier_ves_out);
358     app.affiche(message);
359 couturad 919 }
360    
361 couturad 968 if(app.get_action()==24)
362 couturad 919 {
363     app.affiche((char*)"**********************************");
364     app.affiche((char*)"*** Generation du maillage ***");
365     app.affiche((char*)"**********************************");
366     char fichier_ves_in[500];
367     char fichier_ves_out[500];
368     char fichier_param[500];
369     char fichier_carte[500];
370     app.recupere_parametre_string(3,fichier_ves_in,(char*)"Fichier VES de entrant manquant");
371     app.recupere_parametre_string(4,fichier_ves_out,(char*)"Fichier VES de sortie manquant");
372 couturad 968 app.recupere_parametre_string(5,fichier_carte,(char*)"Fichier de carte de taille manquant");
373     app.recupere_parametre_string(7,fichier_param,(char*)"Fichier de parametre manquant");
374 couturad 919 if (app.get_erreur()==true) return 0;
375 couturad 964 char message[5000];
376     std::sprintf(message,"Fichier VES d'entree : \033[38;5;46m%s\033[1;33m",fichier_ves_in);
377     app.affiche(message);
378     std::sprintf(message,"Fichier CARTE d'entree : \033[38;5;46m%s\033[1;33m",fichier_carte);
379     app.affiche(message);
380 couturad 919 std::string str_fichier_ves_out = fichier_ves_out;
381     size_t found = str_fichier_ves_out.rfind((char*)".");
382     std::string str_fichier_magic_out = str_fichier_ves_out.substr(0,found);
383     str_fichier_magic_out.append((char*)".magic");
384     OT_PARAMETRES* param_maillage = new OT_PARAMETRES;
385 couturad 964 if(PARAMETRES::importer_fichier_parametres(fichier_param,param_maillage)==FAIL)
386     {
387     std::sprintf(message,"ERREUR lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
388     app.affiche(message);
389 couturad 966 delete param_maillage;
390 couturad 964 return 1;
391     }
392     std::sprintf(message,"Lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
393     app.affiche(message);
394 couturad 926 MSTRUCT_VES ves(fichier_ves_in);
395 couturad 919 ves.active_affichage(app.affiche);
396     FCT_TAILLE_FEM_SOLUTION *carte=new FCT_TAILLE_FEM_SOLUTION(fichier_carte);
397 couturad 966 if(ves.generer_maillage(param_maillage,carte)==FAIL)
398     {
399     std::sprintf(message,"ERREUR generation du maillage : \033[38;5;46m%s\033[1;33m",fichier_param);
400     app.affiche(message);
401     delete param_maillage;
402     return 1;
403     }
404 couturad 919 ves.enregistrer(fichier_ves_out,(char*)str_fichier_magic_out.c_str());
405     delete param_maillage;
406     delete carte;
407 couturad 964 std::sprintf(message,"Fichier VES de sortie : \033[38;5;46m%s\033[1;33m",fichier_ves_out);
408     app.affiche(message);
409     std::sprintf(message,"Fichier MAGIC de sortie : \033[38;5;46m%s\033[1;33m",str_fichier_magic_out.c_str());
410     app.affiche(message);
411 couturad 919 }
412    
413 couturad 968 if(app.get_action()==25)
414 couturad 919 {
415     app.affiche((char*)"**************************************");
416     app.affiche((char*)"*** Generation du FEM maillage ***");
417     app.affiche((char*)"**************************************");
418     char fichier_ves_in[500];
419     char fichier_ves_out[500];
420     char fichier_param[500];
421     app.recupere_parametre_string(3,fichier_ves_in,(char*)"Fichier VES de entrant manquant");
422     app.recupere_parametre_string(4,fichier_ves_out,(char*)"Fichier VES de sortie manquant");
423 couturad 968 app.recupere_parametre_string(7,fichier_param,(char*)"Fichier de parametre manquant");
424 couturad 919 if (app.get_erreur()==true) return 0;
425 couturad 964 char message[5000];
426     std::sprintf(message,"Fichier VES d'entree : \033[38;5;46m%s\033[1;33m",fichier_ves_in);
427     app.affiche(message);
428 couturad 919 std::string str_fichier_ves_out = fichier_ves_out;
429     size_t found = str_fichier_ves_out.rfind((char*)".");
430     std::string str_fichier_magic_out = str_fichier_ves_out.substr(0,found);
431     str_fichier_magic_out.append((char*)".magic");
432     OT_PARAMETRES* param_maillage = new OT_PARAMETRES;
433 couturad 964 if(PARAMETRES::importer_fichier_parametres(fichier_param,param_maillage)==FAIL)
434     {
435     std::sprintf(message,"ERREUR lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
436     app.affiche(message);
437 couturad 966 delete param_maillage;
438 couturad 964 return 1;
439     }
440     std::sprintf(message,"Lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
441     app.affiche(message);
442 couturad 926 MSTRUCT_VES ves(fichier_ves_in);
443 couturad 919 ves.active_affichage(app.affiche);
444 couturad 966 if(ves.generer_fem_maillage(param_maillage)==FAIL)
445     {
446     std::sprintf(message,"ERREUR generation fem maillage : \033[38;5;46m%s\033[1;33m",fichier_param);
447     app.affiche(message);
448     delete param_maillage;
449     return 1;
450     }
451 couturad 919 ves.enregistrer(fichier_ves_out,(char*)str_fichier_magic_out.c_str());
452 couturad 964 delete param_maillage;
453     std::sprintf(message,"Fichier VES de sortie : \033[38;5;46m%s\033[1;33m",fichier_ves_out);
454     app.affiche(message);
455     std::sprintf(message,"Fichier MAGIC de sortie : \033[38;5;46m%s\033[1;33m",str_fichier_magic_out.c_str());
456     app.affiche(message);
457 couturad 919 }
458    
459 couturad 968 if(app.get_action()==26)
460 couturad 919 {
461     app.affiche((char*)"*********************************");
462     app.affiche((char*)"*** Generation de l'etude ***");
463     app.affiche((char*)"*********************************");
464     char fichier_ves_in[500];
465     char fichier_ves_out[500];
466     char fichier_param[500];
467     app.recupere_parametre_string(3,fichier_ves_in,(char*)"Fichier VES de entrant manquant");
468     app.recupere_parametre_string(4,fichier_ves_out,(char*)"Fichier VES de sortie manquant");
469 couturad 968 app.recupere_parametre_string(7,fichier_param,(char*)"Fichier de parametre manquant");
470 couturad 919 if (app.get_erreur()==true) return 0;
471 couturad 964 char message[5000];
472     std::sprintf(message,"Fichier VES d'entree : \033[38;5;46m%s\033[1;33m",fichier_ves_in);
473     app.affiche(message);
474 couturad 919 std::string str_fichier_ves_out = fichier_ves_out;
475     size_t found = str_fichier_ves_out.rfind((char*)".");
476     std::string str_fichier_magic_out = str_fichier_ves_out.substr(0,found);
477     str_fichier_magic_out.append((char*)".magic");
478     OT_PARAMETRES* param_etude = new OT_PARAMETRES;
479 couturad 964 if(PARAMETRES::importer_fichier_parametres(fichier_param,param_etude)==FAIL)
480     {
481     std::sprintf(message,"ERREUR lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
482     app.affiche(message);
483     return 1;
484     }
485     std::sprintf(message,"Lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
486     app.affiche(message);
487 couturad 926 MSTRUCT_VES ves(fichier_ves_in);
488 couturad 919 ves.active_affichage(app.affiche);
489     ves.generer_etude(param_etude);
490     ves.enregistrer(fichier_ves_out,(char*)str_fichier_magic_out.c_str());
491     delete param_etude;
492 couturad 964 std::sprintf(message,"Fichier VES de sortie : \033[38;5;46m%s\033[1;33m",fichier_ves_out);
493     app.affiche(message);
494     std::sprintf(message,"Fichier MAGIC de sortie : \033[38;5;46m%s\033[1;33m",str_fichier_magic_out.c_str());
495     app.affiche(message);
496 couturad 919 }
497    
498 couturad 968 if(app.get_action()==27)
499 couturad 919 {
500 couturad 968 app.affiche((char*)"********************************");
501     app.affiche((char*)"*** Generation du Calcul ***");
502     app.affiche((char*)"********************************");
503 couturad 919 char fichier_ves_in[500];
504 couturad 926 char fichier_ves_out[500];
505 couturad 919 char fichier_param[500];
506     char fichier_param_aster[500];
507     app.recupere_parametre_string(3,fichier_ves_in,(char*)"Fichier VES de entrant manquant");
508     app.recupere_parametre_string(4,fichier_ves_out,(char*)"Fichier VES de sortie manquant");
509 couturad 968 app.recupere_parametre_string(7,fichier_param,(char*)"Fichier de parametre manquant");
510     app.recupere_parametre_string(9,fichier_param_aster,(char*)"Fichier de parametre aster manquant");
511 couturad 919 if (app.get_erreur()==true) return 0;
512 couturad 964 char message[5000];
513     std::sprintf(message,"Fichier VES d'entree : \033[38;5;46m%s\033[1;33m",fichier_ves_in);
514     app.affiche(message);
515 couturad 919 std::string str_fichier_ves_out = fichier_ves_out;
516     size_t found = str_fichier_ves_out.rfind((char*)".");
517     std::string str_fichier_magic_out = str_fichier_ves_out.substr(0,found);
518 couturad 968 std::string nom_etude = "aster_" + str_fichier_magic_out;
519 couturad 919 str_fichier_magic_out.append((char*)".magic");
520     OT_PARAMETRES* param_etude = new OT_PARAMETRES;
521 couturad 964 if(PARAMETRES::importer_fichier_parametres(fichier_param,param_etude)==FAIL)
522     {
523     std::sprintf(message,"ERREUR lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
524     app.affiche(message);
525     return 1;
526     }
527     std::sprintf(message,"Lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
528     app.affiche(message);
529 couturad 926 MSTRUCT_VES ves(fichier_ves_in);
530 couturad 919 ves.active_affichage(app.affiche);
531 couturad 968 ves.generer_calcul(param_etude,fichier_param_aster,nom_etude);
532 couturad 919 ves.enregistrer(fichier_ves_out,(char*)str_fichier_magic_out.c_str());
533     delete param_etude;
534 couturad 964 std::sprintf(message,"Fichier VES de sortie : \033[38;5;46m%s\033[1;33m",fichier_ves_out);
535     app.affiche(message);
536     std::sprintf(message,"Fichier MAGIC de sortie : \033[38;5;46m%s\033[1;33m",str_fichier_magic_out.c_str());
537     app.affiche(message);
538 couturad 919 }
539    
540 couturad 968 if(app.get_action()==28)
541 couturad 919 {
542 couturad 968 app.affiche((char*)"*******************************************************");
543     app.affiche((char*)"*** Generation du port-traitement des resultats ***");
544     app.affiche((char*)"*******************************************************");
545 couturad 919 char fichier_ves_in[500];
546     char fichier_ves_out[500];
547     char fichier_param[500];
548     char fichier_lstparam[500];
549 couturad 968 char fichier_ves_sph[500];
550     char fichier_ves_dev[500];
551 couturad 971 char fichier_ves_lambda_x[500];
552     char fichier_ves_lambda_y[500];
553     char fichier_ves_lambda_z[500];
554 couturad 968 app.recupere_parametre_string_avec_defaut(3,fichier_ves_in,(char*)"");
555     app.recupere_parametre_string(4,fichier_ves_out,(char*)"Fichier VES de sortie manquant");
556     app.recupere_parametre_string_avec_defaut(7,fichier_param,(char*)"");
557     app.recupere_parametre_string_avec_defaut(8,fichier_lstparam,(char*)"");
558     app.recupere_parametre_string_avec_defaut(16,fichier_ves_sph,(char*)"");
559 couturad 971 app.recupere_parametre_string_avec_defaut(17,fichier_ves_dev,(char*)"");
560     app.recupere_parametre_string_avec_defaut(35,fichier_ves_lambda_x,(char*)"");
561     app.recupere_parametre_string_avec_defaut(36,fichier_ves_lambda_y,(char*)"");
562     app.recupere_parametre_string_avec_defaut(37,fichier_ves_lambda_z,(char*)"");
563 couturad 919 if (app.get_erreur()==true) return 0;
564 couturad 964 char message[5000];
565 couturad 968 std::sprintf(message,"Fichier VES d'entree : \033[38;5;46m%s\033[1;33m",fichier_ves_in);
566 couturad 964 app.affiche(message);
567 couturad 919 if(strlen(fichier_param)>0 && strlen(fichier_lstparam)>0)
568     {
569     app.affiche_erreur((char*)"Une seule valeur pour -param OU -lstparam doit etre fournie");
570     return 0;
571     }
572 couturad 968 if((strlen(fichier_ves_sph)>0 && strlen(fichier_ves_dev)==0) || (strlen(fichier_ves_sph)==0 && strlen(fichier_ves_dev)>0))
573     {
574     app.affiche_erreur((char*)"-ves_sph ET -ves_dev, OU rien");
575     return 0;
576     }
577 couturad 919 if(strlen(fichier_param)>0)
578     {
579 couturad 968 std::vector<OT_PARAMETRES*> vector_param_analyse;
580     OT_PARAMETRES* param_analyse = new OT_PARAMETRES;
581 couturad 964 char message[5000];
582 couturad 968 if(PARAMETRES::importer_fichier_parametres(fichier_param,param_analyse)==FAIL)
583 couturad 964 {
584     std::sprintf(message,"ERREUR lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
585     app.affiche(message);
586     return 1;
587     }
588     std::sprintf(message,"Lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
589     app.affiche(message);
590 couturad 971 vector_param_analyse.push_back(param_analyse);
591     if(strlen(fichier_ves_lambda_x)>0 && strlen(fichier_ves_lambda_y)>0 && strlen(fichier_ves_lambda_z)>0)
592 couturad 968 {
593 couturad 971 MSTRUCT_VES_FILE ves_lambda_x;
594     ves_lambda_x.ouvrir(fichier_ves_lambda_x);
595     MSTRUCT_VES_FILE ves_lambda_y;
596     ves_lambda_y.ouvrir(fichier_ves_lambda_y);
597     MSTRUCT_VES_FILE ves_lambda_z;
598     ves_lambda_z.ouvrir(fichier_ves_lambda_z);
599     MSTRUCT_VES ves;
600     ves.active_affichage(app.affiche);
601     ves.generer_post_traitement(vector_param_analyse,&ves_lambda_x,&ves_lambda_y,&ves_lambda_z);
602     ves.enregistrer(fichier_ves_out);
603     }
604     else if(strlen(fichier_ves_sph)>0 && strlen(fichier_ves_dev)>0)
605     {
606 couturad 968 MSTRUCT_VES_FILE ves_sph;
607     ves_sph.ouvrir(fichier_ves_sph);
608     MSTRUCT_VES_FILE ves_dev;
609     ves_dev.ouvrir(fichier_ves_dev);
610     MSTRUCT_VES ves;
611     ves.active_affichage(app.affiche);
612     ves.generer_post_traitement(vector_param_analyse,&ves_sph,&ves_dev);
613     ves.enregistrer(fichier_ves_out);
614     }
615     else
616     {
617     MSTRUCT_VES ves(fichier_ves_in);
618     ves.active_affichage(app.affiche);
619     ves.generer_post_traitement(vector_param_analyse);
620     ves.enregistrer(fichier_ves_out);
621     }
622     delete param_analyse;
623 couturad 919 }
624     else if(strlen(fichier_lstparam)>0)
625     {
626 couturad 968 std::vector<OT_PARAMETRES*> vector_param_analyse;
627 couturad 964 char message[5000];
628 couturad 968 if(PARAMETRES::importer_fichier_liste_parametres(fichier_lstparam,vector_param_analyse)==FAIL)
629 couturad 964 {
630     std::sprintf(message,"ERREUR lecture du fichier de liste de parametres : \033[38;5;46m%s\033[1;33m",fichier_lstparam);
631     app.affiche(message);
632     return 1;
633     }
634     std::sprintf(message,"Lecture du fichier de liste de parametres : \033[38;5;46m%s\033[1;33m",fichier_lstparam);
635     app.affiche(message);
636 couturad 971 if(strlen(fichier_ves_lambda_x)>0 && strlen(fichier_ves_lambda_y)>0 && strlen(fichier_ves_lambda_z)>0)
637 couturad 968 {
638 couturad 971 MSTRUCT_VES_FILE ves_lambda_x;
639     ves_lambda_x.ouvrir(fichier_ves_lambda_x);
640     MSTRUCT_VES_FILE ves_lambda_y;
641     ves_lambda_y.ouvrir(fichier_ves_lambda_y);
642     MSTRUCT_VES_FILE ves_lambda_z;
643     ves_lambda_z.ouvrir(fichier_ves_lambda_z);
644     MSTRUCT_VES ves;
645     ves.active_affichage(app.affiche);
646     ves.generer_post_traitement(vector_param_analyse,&ves_lambda_x,&ves_lambda_y,&ves_lambda_z);
647     ves.enregistrer(fichier_ves_out);
648     }
649     else if(strlen(fichier_ves_sph)>0 && strlen(fichier_ves_dev)>0)
650     {
651 couturad 968 MSTRUCT_VES_FILE ves_sph;
652     ves_sph.ouvrir(fichier_ves_sph);
653     MSTRUCT_VES_FILE ves_dev;
654     ves_dev.ouvrir(fichier_ves_dev);
655     MSTRUCT_VES ves;
656     ves.active_affichage(app.affiche);
657     ves.generer_post_traitement(vector_param_analyse,&ves_sph,&ves_dev);
658     ves.enregistrer(fichier_ves_out);
659     }
660     else
661     {
662     MSTRUCT_VES ves(fichier_ves_in);
663     ves.active_affichage(app.affiche);
664     ves.generer_post_traitement(vector_param_analyse);
665     ves.enregistrer(fichier_ves_out);
666     }
667 couturad 919 std::vector<OT_PARAMETRES*>::iterator it_vector;
668 couturad 968 for(it_vector=vector_param_analyse.begin();it_vector!=vector_param_analyse.end();it_vector++)
669 couturad 919 {
670     delete *it_vector;
671     }
672     }
673 couturad 968 std::sprintf(message,"Fichier VES de sortie : \033[38;5;46m%s\033[1;33m",fichier_ves_out);
674     app.affiche(message);
675 couturad 919 }
676    
677 couturad 968 if(app.get_action()==29)
678 couturad 919 {
679 couturad 968 app.affiche((char*)"**************************************");
680     app.affiche((char*)"*** Cumule des post-traitement ***");
681     app.affiche((char*)"**************************************");
682 couturad 927 char fichier_param[500];
683     char fichier_lstparam[500];
684 couturad 968 char fichier_lst_ves[500];
685 couturad 927 char dossier_resultat[500];
686 couturad 968 app.recupere_parametre_string_avec_defaut(7,fichier_param,(char*)"");
687     app.recupere_parametre_string_avec_defaut(8,fichier_lstparam,(char*)"");
688     app.recupere_parametre_string(18,fichier_lst_ves,(char*)"Liste de VES");
689     app.recupere_parametre_string_avec_defaut(6,dossier_resultat,(char*)"");
690 couturad 927 if (app.get_erreur()==true) return 0;
691 couturad 964 char message[5000];
692 couturad 968 std::sprintf(message,"Liste de fichier VES : \033[38;5;46m%s\033[1;33m",fichier_lst_ves);
693 couturad 964 app.affiche(message);
694     std::sprintf(message,"Dossier de resultat : \033[38;5;46m%s\033[1;33m",dossier_resultat);
695     app.affiche(message);
696 couturad 927 if(strlen(fichier_param)>0 && strlen(fichier_lstparam)>0)
697     {
698     app.affiche_erreur((char*)"Une seule valeur pour -param OU -lstparam doit etre fournie");
699     return 0;
700     }
701     if(strlen(fichier_param)>0)
702     {
703     std::vector<OT_PARAMETRES*> vector_param;
704     OT_PARAMETRES* param = new OT_PARAMETRES;
705 couturad 964 char message[5000];
706     if(PARAMETRES::importer_fichier_parametres(fichier_param,param)==FAIL)
707     {
708     std::sprintf(message,"ERREUR lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
709     app.affiche(message);
710     return 1;
711     }
712     std::sprintf(message,"Lecture du fichier de parametre : \033[38;5;46m%s\033[1;33m",fichier_param);
713     app.affiche(message);
714 couturad 927 vector_param.push_back(param);
715     MSTRUCT_VER ver;
716     ver.active_affichage(app.affiche);
717 couturad 968 ver.cumuler_post_traitement(fichier_lst_ves,vector_param,dossier_resultat,true);
718 couturad 927 delete param;
719     }
720     else if(strlen(fichier_lstparam)>0)
721     {
722     std::vector<OT_PARAMETRES*> vector_param;
723 couturad 964 char message[5000];
724     if(PARAMETRES::importer_fichier_liste_parametres(fichier_lstparam,vector_param)==FAIL)
725     {
726     std::sprintf(message,"ERREUR lecture du fichier de liste de parametres : \033[38;5;46m%s\033[1;33m",fichier_lstparam);
727     app.affiche(message);
728     return 1;
729     }
730     std::sprintf(message,"Lecture du fichier de liste de parametres : \033[38;5;46m%s\033[1;33m",fichier_lstparam);
731     app.affiche(message);
732 couturad 927 MSTRUCT_VER ver;
733     ver.active_affichage(app.affiche);
734 couturad 968 ver.cumuler_post_traitement(fichier_lst_ves,vector_param,dossier_resultat,true);
735 couturad 927 std::vector<OT_PARAMETRES*>::iterator it_vector;
736     for(it_vector=vector_param.begin();it_vector!=vector_param.end();it_vector++)
737     {
738     delete *it_vector;
739     }
740     }
741     }
742    
743 couturad 933 if(app.get_action()==30)
744     {
745 couturad 968 app.affiche((char*)"***************************");
746     app.affiche((char*)"*** AFFICHE CONTENU ***");
747     app.affiche((char*)"***************************");
748 couturad 933 char fichier_ves_in[500];
749     app.recupere_parametre_string(3,fichier_ves_in,(char*)"Fichier VES de entrant manquant");
750     if (app.get_erreur()==true) return 0;
751 couturad 968 MSTRUCT_VES_FILE ves_file;
752     ves_file.ouvrir(fichier_ves_in);
753     ves_file.affiche_contenu(app.affiche);
754 couturad 933 }
755 couturad 934
756     if(app.get_action()==31)
757     {
758 couturad 968 #ifdef ALL_OCC
759     app.affiche((char*)"********************************************************************");
760     app.affiche((char*)"*** Exportation de la triangulation STL de la microstructure ***");
761     app.affiche((char*)"********************************************************************");
762     char fichier_ves_in[500];
763     char fichier_magic_out[500];
764     double eps;
765     app.recupere_parametre_string(3,fichier_ves_in,(char*)"Fichier VES de entrant manquant");
766     app.recupere_parametre_string(2,fichier_magic_out,(char*)"Fichier MAGIC de sortie manquant");
767     app.recupere_parametre_double_avec_defaut(19,eps,0.001);
768 couturad 934 if (app.get_erreur()==true) return 0;
769 couturad 968 MSTRUCT_VES ves(fichier_ves_in);
770     MG_GESTIONNAIRE* gest = ves.get_mg_gestionnaire();
771     MG_GEOMETRIE* mggeo = ves.get_mg_geometrie();
772     OCC_IMPORT occ_import;
773     MG_MAILLAGE* tristl = occ_import.importer_triangulation_V2017(*gest,mggeo,eps);
774     gest->enregistrer(fichier_magic_out);
775     #endif
776     }
777 francois 947
778     if(app.get_action()==32)
779     {
780     app.affiche((char*)"***********************************************");
781 couturad 968 app.affiche((char*)"*** EXPORT DU MAILLAGE AU FORMAT ABAQUS ***");
782     app.affiche((char*)"***********************************************");
783     char fichier_ves_in[500];
784     char dossier[500];
785     app.recupere_parametre_string(3,fichier_ves_in,(char*)"Fichier VES de entrant manquant");
786     app.recupere_parametre_string(6,dossier,(char*)"Dossier de resultats");
787     if (app.get_erreur()==true) return 0;
788     MSTRUCT_VES ves(fichier_ves_in);
789     ves.exporter_maillage_abaqus(dossier);
790     }
791    
792     if(app.get_action()==33)
793     {
794     app.affiche((char*)"***********************************************");
795 francois 947 app.affiche((char*)"*** GENERATION D'UN POLYCRISTAL ***");
796     app.affiche((char*)"***********************************************");
797     char fichier_magic[1000];
798     char fichier_param[1000];
799 couturad 968 app.recupere_parametre_string(7,fichier_param,(char*)"Fichier de parametre manquant");
800 francois 947 bool creeparam;
801 couturad 968 app.recupere_parametre_bool_avec_defaut(20,creeparam,false);
802 francois 947 if (app.get_erreur()==true) return 0;
803     if (creeparam)
804 couturad 968 {
805     MSTRUCT_GENERATEUR_POLYCRISTAUX gen;
806     gen.active_affichage(app.affiche);
807     gen.cree_param(fichier_param);
808     }
809 francois 947 else
810 couturad 968 {
811 francois 947 app.recupere_parametre_string(2,fichier_magic,(char*)"Fichier de sortie manquant");
812     if (app.get_erreur()==true) return 0;
813     MSTRUCT_GENERATEUR_POLYCRISTAUX gen(fichier_param);
814     gen.active_affichage(app.affiche);
815     gen.genere(fichier_magic);
816 couturad 968 }
817 francois 947 }
818 couturad 934
819 francois 756 app.affiche((char*)"Fin");
820     return 0;
821     }
822    
823    
824    
825     #pragma package(smart_init)