ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/microstructure/src/mstruct_parametres.cpp
Revision: 966
Committed: Thu Sep 6 16:46:34 2018 UTC (6 years, 8 months ago) by couturad
File size: 111402 byte(s)
Log Message:
Ajout de l'histogramme a MAGIC_PLOT
Ajout d'une sortie OK ou FAIL (int) au MAILLEUR afin de gerer certaines exceptions
Ajout d'une phase RSA a la fin du generateur DCR

File Contents

# User Rev Content
1 couturad 919 #include "mstruct_parametres.h"
2     #include "mstruct_generateur_rsa.h"
3 couturad 926 #include "mg_export.h"
4 couturad 919 #include <string.h>
5     #include <fstream>
6     #include <cstdlib>
7    
8    
9 couturad 951 void PARAMETRES::ini_param_generateur_rsa(OT_PARAMETRES* params, int type_inclusion)
10 couturad 919 {
11 couturad 951 params->ajouter("Type_generateur","0",OT_PARAMETRES::DOUBLE,"Type de generateur : RSA [0], DCR [1]");
12 couturad 919 params->ajouter("Nom_mgcg_modele","VES",OT_PARAMETRES::STRING,"Nom du MG_CG_MODELE");
13 couturad 951 params->ajouter("Nom_groupe_inclusion","Particule",OT_PARAMETRES::STRING,"Nom du groupe d'inclusion (Ex: Particule)");
14 couturad 919 params->ajouter("Boite3D_distribution_Xmin","-0.1",OT_PARAMETRES::DOUBLE,"Xmin boite3D de distribution d'inclusion");
15     params->ajouter("Boite3D_distribution_Ymin","-0.1",OT_PARAMETRES::DOUBLE,"Ymin boite3D de distribution d'inclusion");
16     params->ajouter("Boite3D_distribution_Zmin","-0.1",OT_PARAMETRES::DOUBLE,"Zmin boite3D de distribution d'inclusion");
17     params->ajouter("Boite3D_distribution_Xmax","1.1",OT_PARAMETRES::DOUBLE,"Xmax boite3D de distribution d'inclusion");
18     params->ajouter("Boite3D_distribution_Ymax","1.1",OT_PARAMETRES::DOUBLE,"Ymax boite3D de distribution d'inclusion");
19     params->ajouter("Boite3D_distribution_Zmax","1.1",OT_PARAMETRES::DOUBLE,"Zmax boite3D de distribution d'inclusion");
20     params->ajouter("Nb_pas_X","20",OT_PARAMETRES::DOUBLE,"Nombre de pas selon X pout la creation d'un octree");
21     params->ajouter("Nb_pas_Y","20",OT_PARAMETRES::DOUBLE,"Nombre de pas selon Y pout la creation d'un octree");
22     params->ajouter("Nb_pas_Z","20",OT_PARAMETRES::DOUBLE,"Nombre de pas selon Z pout la creation d'un octree");
23 couturad 951 params->ajouter("Fraction_volumique_cible","0.1",OT_PARAMETRES::DOUBLE,"Fraction volumique cible d'inclusion [0.0, 1.0]");
24     params->ajouter("Eps_fraction_volumique","0.001",OT_PARAMETRES::DOUBLE,"Epsilon fraction volumique");
25     params->ajouter("Avec_intersections","1",OT_PARAMETRES::DOUBLE,"Avec ou sans intersections avec le bord du VES : Sans [0] Avec [1]");
26     if(type_inclusion==MSTRUCT_GENERATEUR_RSA::TYPE_INCLUSION::SPHERE)
27 couturad 919 {
28     params->ajouter("Type_inclusion","0",OT_PARAMETRES::DOUBLE,"Type d'inclusion : Sphere [0], Cylindre [1]");
29 couturad 951 params->ajouter("Mu_rayon","0.09",OT_PARAMETRES::DOUBLE,"Moyenne du rayon de la sphere");
30 couturad 919 params->ajouter("Sigma_rayon","0.0",OT_PARAMETRES::DOUBLE,"Ecart type du rayon de la sphere");
31 couturad 951 params->ajouter("Type_distribution_rayon","0",OT_PARAMETRES::DOUBLE,"Type de distribution du rayon : Fixe[0], Uniforme[1], Normale[2]");
32 couturad 919 }
33 couturad 951 if(type_inclusion==MSTRUCT_GENERATEUR_RSA::TYPE_INCLUSION::CYLINDRE)
34 couturad 919 {
35     params->ajouter("Type_inclusion","1",OT_PARAMETRES::DOUBLE,"Type d'inclusion : Sphere [0], Cylindre [1]");
36 couturad 926 params->ajouter("Mu_rayon","0.05",OT_PARAMETRES::DOUBLE,"Moyenne du rayon du cylindre");
37 couturad 919 params->ajouter("Sigma_rayon","0.0",OT_PARAMETRES::DOUBLE,"Ecart type du rayon du cylindre");
38 couturad 951 params->ajouter("Type_distribution_rayon","0",OT_PARAMETRES::DOUBLE,"Type de distribution du rayon : Fixe[0], Uniforme[1], Normale[2]");
39 couturad 926 params->ajouter("Mu_longueur","0.4",OT_PARAMETRES::DOUBLE,"Moyenne de la longueur du cylindre");
40 couturad 919 params->ajouter("Sigma_longueur","0.0",OT_PARAMETRES::DOUBLE,"Ecart type de la longueur du cylindre");
41 couturad 951 params->ajouter("Type_distribution_longueur","0",OT_PARAMETRES::DOUBLE,"Type de distribution de la longueur : Fixe[0], Uniforme[1], Normale[2]");
42 couturad 929 params->ajouter("Mu_theta","0.0",OT_PARAMETRES::DOUBLE,"Moyenne de l'angle theta");
43 couturad 951 params->ajouter("Sigma_theta","1.0",OT_PARAMETRES::DOUBLE,"Ecart type de l'angle theta");
44     params->ajouter("Type_distribution_theta","1",OT_PARAMETRES::DOUBLE,"Type de distribution de l'angle theta : Fixe[0], Uniforme[1], Normale[2]");
45 couturad 929 params->ajouter("Mu_phi","0.0",OT_PARAMETRES::DOUBLE,"Moyenne de l'angle phi");
46 couturad 951 params->ajouter("Sigma_phi","1.0",OT_PARAMETRES::DOUBLE,"Ecart type de l'angle phi");
47     params->ajouter("Type_distribution_phi","1",OT_PARAMETRES::DOUBLE,"Type de distribution de l'angle phi : Fixe[0], Uniforme[1], Normale[2]");
48 couturad 919 }
49     params->ajouter("Porosite","0",OT_PARAMETRES::DOUBLE,"Considerer l'inclusion comme etant une porosite (vide) [1]");
50 couturad 951 params->ajouter("Multicouche","0,(0.01,0.01)",OT_PARAMETRES::DOUBLE,"Generer une inclusion avec une ou plusieurs couches [1,2,3,etc] et d'epaisseurs (0.01,0.02,etc)");
51 couturad 926 params->ajouter("Distance_min_inter_volume","0.04",OT_PARAMETRES::DOUBLE,"Distance minimale qui separe deux inclusions");
52     params->ajouter("Volume_min","0.0008",OT_PARAMETRES::DOUBLE,"Volume minimal admissible de l'inclusion");
53     params->ajouter("Aire_min","0.001963",OT_PARAMETRES::DOUBLE,"Aire minimal admissible d'une face de l'inclusion");
54 couturad 919 params->ajouter("Longueur_min","0.02",OT_PARAMETRES::DOUBLE,"Longueur minimal admissible d'une arete ");
55     params->ajouter("Angle_min","0.7854",OT_PARAMETRES::DOUBLE,"Angle minimal admissible entre deux faces");
56     params->ajouter("Nb_iteration_max","2000",OT_PARAMETRES::DOUBLE,"Nombre maximal d'iteration");
57     }
58    
59 couturad 951 void PARAMETRES::ini_param_generateur_dcr(OT_PARAMETRES* params, int type_inclusion)
60     {
61     params->ajouter("Type_generateur","1",OT_PARAMETRES::DOUBLE,"Type de generateur : RSA [0], DCR [1]");
62     params->ajouter("Nom_mgcg_modele","VES",OT_PARAMETRES::STRING,"Nom du MG_CG_MODELE");
63     params->ajouter("Nom_groupe_inclusion","Particule",OT_PARAMETRES::STRING,"Nom du groupe d'inclusion (Ex: Particule)");
64     params->ajouter("Boite3D_distribution_Xmin","-0.25",OT_PARAMETRES::DOUBLE,"Xmin boite3D de distribution d'inclusion");
65     params->ajouter("Boite3D_distribution_Ymin","-0.25",OT_PARAMETRES::DOUBLE,"Ymin boite3D de distribution d'inclusion");
66     params->ajouter("Boite3D_distribution_Zmin","-0.25",OT_PARAMETRES::DOUBLE,"Zmin boite3D de distribution d'inclusion");
67     params->ajouter("Boite3D_distribution_Xmax","1.25",OT_PARAMETRES::DOUBLE,"Xmax boite3D de distribution d'inclusion");
68     params->ajouter("Boite3D_distribution_Ymax","1.25",OT_PARAMETRES::DOUBLE,"Ymax boite3D de distribution d'inclusion");
69     params->ajouter("Boite3D_distribution_Zmax","1.25",OT_PARAMETRES::DOUBLE,"Zmax boite3D de distribution d'inclusion");
70     params->ajouter("Nb_pas_X","20",OT_PARAMETRES::DOUBLE,"Nombre de pas selon X pout la creation d'un octree");
71     params->ajouter("Nb_pas_Y","20",OT_PARAMETRES::DOUBLE,"Nombre de pas selon Y pout la creation d'un octree");
72     params->ajouter("Nb_pas_Z","20",OT_PARAMETRES::DOUBLE,"Nombre de pas selon Z pout la creation d'un octree");
73     params->ajouter("Fraction_volumique_cible","0.1",OT_PARAMETRES::DOUBLE,"Fraction volumique cible d'inclusion [0.0, 1.0]");
74     params->ajouter("Eps_fraction_volumique","0.001",OT_PARAMETRES::DOUBLE,"Epsilon fraction volumique");
75     params->ajouter("Avec_intersections","1",OT_PARAMETRES::DOUBLE,"Avec ou sans intersections avec le bord du VES : Sans [0] Avec [1]");
76 couturad 960 params->ajouter("Avec_interface_graphique","0",OT_PARAMETRES::DOUBLE,"Avec l'interface graphique : Sans [0] Avec [1]");
77     params->ajouter("Facteur_reduction_vitesse","0.75",OT_PARAMETRES::DOUBLE,"Facteur de reduction de la vitesse des particules");
78     params->ajouter("Eps_vitesse","0.0001",OT_PARAMETRES::DOUBLE,"Eps vitesse");
79     params->ajouter("Friction","0.0",OT_PARAMETRES::DOUBLE,"Friction entre les particules");
80     params->ajouter("Pas_temps_sim","0.01",OT_PARAMETRES::DOUBLE,"Pas de temps pour la simulation");
81 couturad 964 params->ajouter("Temps_max_sim","60.0",OT_PARAMETRES::DOUBLE,"Temps maximal de la simulation");
82 couturad 966 params->ajouter("Avec_post_RSA","0",OT_PARAMETRES::DOUBLE,"Effectuer un RSA pour tenter de remplir les vides au bord du VES : Sans [0] Avec [1]");
83     params->ajouter("Nb_iteration_max","2000",OT_PARAMETRES::DOUBLE,"Nombre maximal d'iteration");
84 couturad 951 if(type_inclusion==MSTRUCT_GENERATEUR_RSA::TYPE_INCLUSION::SPHERE)
85     {
86     params->ajouter("Type_inclusion","0",OT_PARAMETRES::DOUBLE,"Type d'inclusion : Sphere [0], Cylindre [1]");
87     params->ajouter("Mu_rayon","0.09",OT_PARAMETRES::DOUBLE,"Moyenne du rayon de la sphere");
88     params->ajouter("Sigma_rayon","0.0",OT_PARAMETRES::DOUBLE,"Ecart type du rayon de la sphere");
89     params->ajouter("Type_distribution_rayon","0",OT_PARAMETRES::DOUBLE,"Type de distribution du rayon : Fixe[0], Uniforme[1], Normale[2]");
90     }
91     if(type_inclusion==MSTRUCT_GENERATEUR_RSA::TYPE_INCLUSION::CYLINDRE)
92     {
93     params->ajouter("Type_inclusion","1",OT_PARAMETRES::DOUBLE,"Type d'inclusion : Sphere [0], Cylindre [1]");
94     params->ajouter("Mu_rayon","0.05",OT_PARAMETRES::DOUBLE,"Moyenne du rayon du cylindre");
95     params->ajouter("Sigma_rayon","0.0",OT_PARAMETRES::DOUBLE,"Ecart type du rayon du cylindre");
96     params->ajouter("Type_distribution_rayon","0",OT_PARAMETRES::DOUBLE,"Type de distribution du rayon : Fixe[0], Uniforme[1], Normale[2]");
97     params->ajouter("Mu_longueur","0.4",OT_PARAMETRES::DOUBLE,"Moyenne de la longueur du cylindre");
98     params->ajouter("Sigma_longueur","0.0",OT_PARAMETRES::DOUBLE,"Ecart type de la longueur du cylindre");
99     params->ajouter("Type_distribution_longueur","0",OT_PARAMETRES::DOUBLE,"Type de distribution de la longueur : Fixe[0], Uniforme[1], Normale[2]");
100     params->ajouter("Mu_theta","0.0",OT_PARAMETRES::DOUBLE,"Moyenne de l'angle theta");
101     params->ajouter("Sigma_theta","1.0",OT_PARAMETRES::DOUBLE,"Ecart type de l'angle theta");
102     params->ajouter("Type_distribution_theta","1",OT_PARAMETRES::DOUBLE,"Type de distribution de l'angle theta : Fixe[0], Uniforme[1], Normale[2]");
103     params->ajouter("Mu_phi","0.0",OT_PARAMETRES::DOUBLE,"Moyenne de l'angle phi");
104     params->ajouter("Sigma_phi","1.0",OT_PARAMETRES::DOUBLE,"Ecart type de l'angle phi");
105     params->ajouter("Type_distribution_phi","1",OT_PARAMETRES::DOUBLE,"Type de distribution de l'angle phi : Fixe[0], Uniforme[1], Normale[2]");
106     }
107     params->ajouter("Porosite","0",OT_PARAMETRES::DOUBLE,"Considerer l'inclusion comme etant une porosite (vide) [1]");
108     params->ajouter("Multicouche","0,(0.01,0.01)",OT_PARAMETRES::DOUBLE,"Generer une inclusion avec une ou plusieurs couches [1,2,3,etc] et d'epaisseurs (0.01,0.02,etc)");
109     params->ajouter("Distance_min_inter_volume","0.04",OT_PARAMETRES::DOUBLE,"Distance minimale qui separe deux inclusions");
110     params->ajouter("Volume_min","0.0008",OT_PARAMETRES::DOUBLE,"Volume minimal admissible de l'inclusion");
111     params->ajouter("Aire_min","0.001963",OT_PARAMETRES::DOUBLE,"Aire minimal admissible d'une face de l'inclusion");
112     params->ajouter("Longueur_min","0.02",OT_PARAMETRES::DOUBLE,"Longueur minimal admissible d'une arete ");
113     params->ajouter("Angle_min","0.7854",OT_PARAMETRES::DOUBLE,"Angle minimal admissible entre deux faces");
114     }
115    
116    
117 couturad 919 void PARAMETRES::ini_param_materiau(OT_PARAMETRES* params,char* nom_groupe_forme)
118     {
119 couturad 951 params->ajouter("Nom_groupe_forme",nom_groupe_forme,OT_PARAMETRES::STRING,"Nom du groupe de forme (Ex: Particule, Matrice)");
120 couturad 919 params->ajouter("Mu_E","69.0e9",OT_PARAMETRES::DOUBLE,"Moyenne du module d'elasticite");
121     params->ajouter("Sigma_E","0.0",OT_PARAMETRES::DOUBLE,"Ecart type du module d'elasticite");
122     params->ajouter("Mu_nu","0.3",OT_PARAMETRES::DOUBLE,"Moyenne du coefficient de Poisson");
123     params->ajouter("Sigma_nu","0.0",OT_PARAMETRES::DOUBLE,"Ecart type du coefficient de Poisson");
124     }
125    
126     void PARAMETRES::ini_param_carte_taille(OT_PARAMETRES* params)
127     {
128     params->ajouter("Nom_carte","carte",OT_PARAMETRES::STRING,"Nom de la carte de taille");
129 couturad 951 params->ajouter("Ecart_nodal","0.08",OT_PARAMETRES::DOUBLE,"Ecart nodal");
130 couturad 937 params->ajouter("Ecart_nodal_face_particule","0.04",OT_PARAMETRES::DOUBLE,"Ecart nodal des faces des particules");
131 couturad 919 params->ajouter("Fechantillonnage","20",OT_PARAMETRES::DOUBLE,"Nombre d'échantillon par entité");
132 couturad 926 params->ajouter("Nb_cellule_direction","50",OT_PARAMETRES::DOUBLE,"Nombre de cellules de la FEM_SOLUTION dans les directions x,y,z");
133 couturad 919 params->ajouter("Nom_fem_solution","solcarte",OT_PARAMETRES::STRING,"Nom de la FEM_SOLUTION");
134     params->ajouter("Nb_couche_min","2",OT_PARAMETRES::DOUBLE,"Nombre de couches entre chaque solide");
135     params->ajouter("Nb_pas","32",OT_PARAMETRES::DOUBLE,"Nombre de pas de balayage");
136     params->ajouter("Facteur_augmentation","25",OT_PARAMETRES::DOUBLE,"Facteur d'augmentation de l'ecart nodal d'une cellule a l'autre");
137     }
138    
139     void PARAMETRES::ini_param_mailleur(OT_PARAMETRES* params)
140     {
141     params->ajouter("Niveau","3",OT_PARAMETRES::DOUBLE,"Niveau du maillage : 1D [1], 2D [2], 3D [3]");
142     params->ajouter("Niveau_opt_2d","5",OT_PARAMETRES::DOUBLE,"Limite supérieure des mailles à optimiser");
143 couturad 966 params->ajouter("Niveau_opt_3d","2",OT_PARAMETRES::DOUBLE,"Limite supérieure des mailles à optimiser");
144 couturad 919 params->ajouter("Priorite_metrique","0.65",OT_PARAMETRES::DOUBLE,"Valeur de la prise en compte de la métrique versus la qualité");
145     }
146    
147     void PARAMETRES::ini_param_mailleur_fem(OT_PARAMETRES* params)
148     {
149     params->ajouter("Degre","2",OT_PARAMETRES::DOUBLE,"Degre du maillage a creer");
150     params->ajouter("Analyse","0",OT_PARAMETRES::DOUBLE,"Analyse de la qualité du maillage après le maillage : Analyse [1]");
151     params->ajouter("Optimisation_num_noeud","0",OT_PARAMETRES::DOUBLE,"Optimisation de la numerotation des noeuds : Optimisation [1]");
152     }
153    
154     void PARAMETRES::ini_param_etude(OT_PARAMETRES* params, int type_etude)
155     {
156     params->ajouter("Nom_etude","etude_1",OT_PARAMETRES::STRING,"Nom de l'etude");
157     params->ajouter("Fichier_param_aster","param_aster.txt",OT_PARAMETRES::STRING,"Nom du fichier de parametres aster");
158     params->ajouter("Type_etude",type_etude,OT_PARAMETRES::DOUBLE,"Type d'etude : Mecanique [0], Thermique [1]");
159     params->ajouter("Type_calcul","0",OT_PARAMETRES::DOUBLE,"Type de calcul : Elastique [0]");
160     params->ajouter("Code_resu","11111111",OT_PARAMETRES::STRING,"Code de resolution");
161 couturad 926 if(type_etude==MSTRUCT_VES::TYPE_ETUDE::MECANIQUE)
162 couturad 919 {
163     params->ajouter("Type_Chargement","0",OT_PARAMETRES::DOUBLE,"Type de chargement : Spherique [0], Deviatorique [1]");
164     params->ajouter("Type_CL","0",OT_PARAMETRES::DOUBLE,"Type de conditions aux limites : CLDH [0], CLCH[1]");
165     params->ajouter("Valeur_CL","0.0001",OT_PARAMETRES::DOUBLE,"Valeur de la condition aux limites");
166     }
167     }
168    
169     void PARAMETRES::ini_param_homogeneisation(OT_PARAMETRES* params)
170     {
171     params->ajouter("Fraction_volumique_CAD",0,OT_PARAMETRES::DOUBLE,"Calculer la fraction volumique CAD d'un groupe de forme [1]");
172     params->ajouter("Fraction_volumique_mg_maillage",0,OT_PARAMETRES::DOUBLE,"Calculer la fraction volumique du mg_maillage d'un groupe de forme [1]");
173     params->ajouter("Fraction_volumique_fem_maillage",0,OT_PARAMETRES::DOUBLE,"Calculer la fraction volumique du fem_maillage d'un groupe de forme [1]");
174     params->ajouter("Tenseur_orientation",0,OT_PARAMETRES::DOUBLE,"Calculer le tenseur d'orientation d'un groupe de forme [1]");
175     params->ajouter("Comparer_champ_theorie",0,OT_PARAMETRES::DOUBLE,"Comparer un champ par rapport a un champ theorique [1]");
176     params->ajouter("Critere_comparaison",0,OT_PARAMETRES::DOUBLE,"Erreur moyenne absolue [0], Erreur moyenne au carre [2]");
177     params->ajouter("Moyenne_volumique_champ",0,OT_PARAMETRES::DOUBLE,"Calculer la moyenne volumique d'un champ [1]");
178     params->ajouter("Num_solution",0,OT_PARAMETRES::DOUBLE,"Numero de la solution");
179     params->ajouter("Nom_champ","Sigma",OT_PARAMETRES::STRING,"Nom du champ");
180 couturad 926 params->ajouter("Nom_groupe_forme","ALL",OT_PARAMETRES::STRING,"Nom du groupe d'inclusion. Si [ALL] prend le ves au complet");
181 couturad 919 params->ajouter("Boite_analyse",0,OT_PARAMETRES::DOUBLE,"Calculer à partir des elements donc le centre de la boite englobante figure dans la boite d'analyse");
182     params->ajouter("Boite3D_analyse_Xmin","0.1",OT_PARAMETRES::DOUBLE,"Xmin boite3D d'analyse");
183     params->ajouter("Boite3D_analyse_Ymin","0.1",OT_PARAMETRES::DOUBLE,"Ymin boite3D d'analyse");
184     params->ajouter("Boite3D_analyse_Zmin","0.1",OT_PARAMETRES::DOUBLE,"Zmin boite3D d'analyse");
185     params->ajouter("Boite3D_analyse_Xmax","0.9",OT_PARAMETRES::DOUBLE,"Xmax boite3D d'analyse");
186     params->ajouter("Boite3D_analyse_Ymax","0.9",OT_PARAMETRES::DOUBLE,"Ymax boite3D d'analyse");
187     params->ajouter("Boite3D_analyse_Zmax","0.9",OT_PARAMETRES::DOUBLE,"Zmax boite3D d'analyse");
188     params->ajouter("Exporter_liste_resultat","0",OT_PARAMETRES::DOUBLE,"Exporter une liste de resultats");
189     params->ajouter("Fichier_liste_resultat","fichier_liste_resultat.txt",OT_PARAMETRES::STRING,"Exporter une liste de resultats");
190     params->ajouter("Val_champ_theorique_XX","0.0",OT_PARAMETRES::DOUBLE,"Valeur d'un champ theorique XX");
191     params->ajouter("Val_champ_theorique_YY","0.0",OT_PARAMETRES::DOUBLE,"Valeur d'un champ theorique YY");
192     params->ajouter("Val_champ_theorique_ZZ","0.0",OT_PARAMETRES::DOUBLE,"Valeur d'un champ theorique ZZ");
193     params->ajouter("Val_champ_theorique_XY","0.0",OT_PARAMETRES::DOUBLE,"Valeur d'un champ theorique XY");
194     params->ajouter("Val_champ_theorique_XZ","0.0",OT_PARAMETRES::DOUBLE,"Valeur d'un champ theorique XZ");
195     params->ajouter("Val_champ_theorique_YZ","0.0",OT_PARAMETRES::DOUBLE,"Valeur d'un champ theorique YZ");
196     }
197 couturad 930 void PARAMETRES::ini_param_analyse(OT_PARAMETRES* params,int type_analyse,bool erosion)
198 couturad 926 {
199     if(type_analyse==MSTRUCT_ANALYSE::TYPE_ANALYSE::CHAMP)
200     {
201     params->ajouter("Identifiant","Champ_SIGMA",OT_PARAMETRES::STRING,"Identifiant de l'analyse");
202 couturad 951 params->ajouter("Type_analyse",0,OT_PARAMETRES::DOUBLE,"Type d'analyse : Champ [0], Orientation [1], CAO [2], MAILLAGE_MG [3], MAILLAGE_FEM [4], ORIENTATION_PONDEREE [5]");
203 couturad 926 params->ajouter("Num_solution",2,OT_PARAMETRES::DOUBLE,"Numero de la FEM_SOLUTION solution (0,1,2,...)");
204     params->ajouter("Nom_groupe_forme","ALL",OT_PARAMETRES::STRING,"Nom du groupe d'inclusion. Si [ALL] prend le ves au complet");
205 couturad 966 params->ajouter("Largeur_colonne_distribution","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution");
206 couturad 926 }
207     else if(type_analyse==MSTRUCT_ANALYSE::TYPE_ANALYSE::ORIENTATION)
208     {
209 couturad 951 params->ajouter("Identifiant","Orientation_Particule",OT_PARAMETRES::STRING,"Identifiant de l'analyse");
210     params->ajouter("Type_analyse",1,OT_PARAMETRES::DOUBLE,"Type d'analyse : Champ [0], Orientation [1], CAO [2], MAILLAGE_MG [3], MAILLAGE_FEM [4], ORIENTATION_PONDEREE [5]");
211     params->ajouter("Nom_groupe_forme","Particule",OT_PARAMETRES::STRING,"Nom du groupe d'inclusion.");
212 couturad 926 }
213 couturad 938 else if(type_analyse==MSTRUCT_ANALYSE::TYPE_ANALYSE::ORIENTATION_PONDEREE)
214     {
215 couturad 951 params->ajouter("Identifiant","Orientation_Particule_ponderee",OT_PARAMETRES::STRING,"Identifiant de l'analyse");
216     params->ajouter("Type_analyse",5,OT_PARAMETRES::DOUBLE,"Type d'analyse : Champ [0], Orientation [1], CAO [2], MAILLAGE_MG [3], MAILLAGE_FEM [4], ORIENTATION_PONDEREE [5]");
217     params->ajouter("Nom_groupe_forme","Particule",OT_PARAMETRES::STRING,"Nom du groupe d'inclusion.");
218     params->ajouter("Avec_fem_maillage","1",OT_PARAMETRES::DOUBLE,"Analyser le volume des particules avec le FEM_MAILLAGE");
219 couturad 938 }
220 couturad 926 else if(type_analyse==MSTRUCT_ANALYSE::TYPE_ANALYSE::CAO)
221     {
222     params->ajouter("Identifiant","Cao",OT_PARAMETRES::STRING,"Identifiant de l'analyse");
223 couturad 951 params->ajouter("Type_analyse",2,OT_PARAMETRES::DOUBLE,"Type d'analyse : Champ [0], Orientation [1], CAO [2], MAILLAGE_MG [3], MAILLAGE_FEM [4], ORIENTATION_PONDEREE [5]");
224 couturad 926 params->ajouter("Nom_groupe_forme","ALL",OT_PARAMETRES::STRING,"Nom du groupe d'inclusion. Si [NULL] prend le ves au complet");
225     params->ajouter("Largeur_colonne_distribution_nb_volume","1.0",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution");
226     params->ajouter("Largeur_colonne_distribution_nb_forme","1.0",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution");
227 couturad 966 params->ajouter("Largeur_colonne_distribution_volume","0.0001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution");
228     params->ajouter("Largeur_colonne_distribution_fraction_volumique","0.0001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution");
229 couturad 926 params->ajouter("Largeur_colonne_distribution_volume_forme","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution");
230     }
231     else if(type_analyse==MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_MG)
232     {
233     params->ajouter("Identifiant","Maillage_MG",OT_PARAMETRES::STRING,"Identifiant de l'analyse");
234 couturad 951 params->ajouter("Type_analyse",3,OT_PARAMETRES::DOUBLE,"Type d'analyse : Champ [0], Orientation [1], CAO [2], MAILLAGE_MG [3], MAILLAGE_FEM [4], ORIENTATION_PONDEREE [5]");
235 couturad 926 params->ajouter("Nom_groupe_forme","ALL",OT_PARAMETRES::STRING,"Nom du groupe d'inclusion. Si [ALL] prend le ves au complet");
236     params->ajouter("Largeur_colonne_distribution_nb_element_2D","100",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution");
237     params->ajouter("Largeur_colonne_distribution_nb_element_3D","100",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution");
238     params->ajouter("Largeur_colonne_distribution_qualite_2D","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution");
239     params->ajouter("Largeur_colonne_distribution_qualite_3D","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution");
240     params->ajouter("Largeur_colonne_distribution_taille_2D","0.0001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution");
241     params->ajouter("Largeur_colonne_distribution_taille_3D","0.0001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution");
242     }
243     else if(type_analyse==MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_FEM)
244     {
245     params->ajouter("Identifiant","Maillage_FEM",OT_PARAMETRES::STRING,"Identifiant de l'analyse");
246 couturad 951 params->ajouter("Type_analyse",4,OT_PARAMETRES::DOUBLE,"Type d'analyse : Champ [0], Orientation [1], CAO [2], MAILLAGE_MG [3], MAILLAGE_FEM [4], ORIENTATION_PONDEREE [5]");
247 couturad 926 params->ajouter("Nom_groupe_forme","ALL",OT_PARAMETRES::STRING,"Nom du groupe d'inclusion. Si [ALL] prend le ves au complet");
248     params->ajouter("Largeur_colonne_distribution_nb_element_2D","100",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution");
249     params->ajouter("Largeur_colonne_distribution_nb_element_3D","100",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution");
250     params->ajouter("Largeur_colonne_distribution_jacobien_2D_min","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution");
251     params->ajouter("Largeur_colonne_distribution_jacobien_2D_max","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution");
252     params->ajouter("Largeur_colonne_distribution_jacobien_3D_min","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution");
253     params->ajouter("Largeur_colonne_distribution_jacobien_3D_max","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution");
254     params->ajouter("Largeur_colonne_distribution_distortion_2D","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution");
255     params->ajouter("Largeur_colonne_distribution_distortion_3D","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution");
256 couturad 930 }
257     if(erosion)
258     {
259     params->ajouter("Analyse_erosion","1",OT_PARAMETRES::DOUBLE,"Analyse d'erosion [1], sans erosion [0]");
260 couturad 951 params->ajouter("Nb_couche","21",OT_PARAMETRES::DOUBLE,"Nombre de couche d'erosion");
261     params->ajouter("Epaisseur_couche","0.02",OT_PARAMETRES::DOUBLE,"Epaisseur d'une couche d'erosion");
262 couturad 926 }
263 couturad 930 if(!erosion)
264     {
265     params->ajouter("Analyse_erosion","0",OT_PARAMETRES::DOUBLE,"Analyse d'erosion [1], sans erosion [0]");
266     }
267 couturad 951 if(type_analyse!=MSTRUCT_ANALYSE::TYPE_ANALYSE::CAO)
268     {
269     params->ajouter("Boite_analyse",0,OT_PARAMETRES::DOUBLE,"Calculer à partir des elements donc le centre de la boite englobante figure dans la boite d'analyse [1]");
270     params->ajouter("Boite3D_analyse_Xmin","0.1",OT_PARAMETRES::DOUBLE,"Xmin boite3D d'analyse");
271     params->ajouter("Boite3D_analyse_Ymin","0.1",OT_PARAMETRES::DOUBLE,"Ymin boite3D d'analyse");
272     params->ajouter("Boite3D_analyse_Zmin","0.1",OT_PARAMETRES::DOUBLE,"Zmin boite3D d'analyse");
273     params->ajouter("Boite3D_analyse_Xmax","0.9",OT_PARAMETRES::DOUBLE,"Xmax boite3D d'analyse");
274     params->ajouter("Boite3D_analyse_Ymax","0.9",OT_PARAMETRES::DOUBLE,"Ymax boite3D d'analyse");
275     params->ajouter("Boite3D_analyse_Zmax","0.9",OT_PARAMETRES::DOUBLE,"Zmax boite3D d'analyse");
276     }
277 couturad 926 }
278    
279     void PARAMETRES::ini_param_ver(OT_PARAMETRES* params)
280     {
281     params->ajouter("Identifiant_epsilon","Champ_EPSILON",OT_PARAMETRES::STRING,"Identifiant de l'analyse du champ epsilon");
282     params->ajouter("Identifiant_sigma","Champ_SIGMA",OT_PARAMETRES::STRING,"Identifiant de l'analyse du champ sigma");
283 couturad 966 params->ajouter("Largeur_colonne_distribution_module_Kapp","1000000",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution");
284     params->ajouter("Largeur_colonne_distribution_module_Gapp","1000000",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution");
285     params->ajouter("Largeur_colonne_distribution_module_Eapp","1000000",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution");
286     params->ajouter("Largeur_colonne_distribution_module_Nuapp","0.00001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution");
287 couturad 930 params->ajouter("Analyse_erosion","0",OT_PARAMETRES::DOUBLE,"Analyse d'erosion [1], sans erosion [0]");
288 couturad 926 }
289    
290    
291 couturad 964 int PARAMETRES::generer_fichier_parametres(int type_etude,int type_generateur,int type_inclusion,bool fem_maill_lin,bool fem_maill_quad,fonction_affiche *fonc_affiche)
292 couturad 919 {
293     int mkdir_err=0;
294 couturad 933 std::string sys_command = "mkdir parametre";
295 couturad 919 mkdir_err = system(sys_command.c_str());
296     if(mkdir_err !=0)
297     {
298     std::cerr << "*** PARAMETRES::generer_fichier_parametres -> Erreur lors de la creation des dossiers parametres! ***" << std::endl;
299     return FAIL;
300     }
301 couturad 933 sys_command.clear(); sys_command.append("mkdir -p "); sys_command.append("parametre/geometrie");
302 couturad 919 mkdir_err = system(sys_command.c_str());
303     if(mkdir_err !=0)
304     {
305     std::cerr << "*** PARAMETRES::generer_fichier_parametres -> Erreur lors de la creation des dossiers parametres/geometrie ! ***" << std::endl;
306     return FAIL;
307     }
308 couturad 933 sys_command.clear(); sys_command.append("mkdir -p "); sys_command.append("parametre/materiau");
309 couturad 919 mkdir_err = system(sys_command.c_str());
310     if(mkdir_err !=0)
311     {
312     std::cerr << "*** PARAMETRES::generer_fichier_parametres -> Erreur lors de la creation des dossiers parametre/materiau ! ***" << std::endl;
313     return FAIL;
314     }
315 couturad 933 sys_command.clear(); sys_command.append("mkdir -p "); sys_command.append("parametre/carte");
316 couturad 919 mkdir_err = system(sys_command.c_str());
317     if(mkdir_err !=0)
318     {
319     std::cerr << "*** PARAMETRES::generer_fichier_parametres -> Erreur lors de la creation des dossiers parametres/carte ! ***" << std::endl;
320     return FAIL;
321     }
322 couturad 933 sys_command.clear(); sys_command.append("mkdir -p "); sys_command.append("parametre/maillage");
323 couturad 919 mkdir_err = system(sys_command.c_str());
324     if(mkdir_err !=0)
325     {
326     std::cerr << "*** PARAMETRES::generer_fichier_parametres -> Erreur lors de la creation des dossiers parametre/maillage ! ***" << std::endl;
327     return FAIL;
328     }
329 couturad 933 sys_command.clear(); sys_command.append("mkdir -p "); sys_command.append("parametre/fem_maillage");
330 couturad 919 mkdir_err = system(sys_command.c_str());
331     if(mkdir_err !=0)
332     {
333     std::cerr << "*** PARAMETRES::generer_fichier_parametres -> Erreur lors de la creation des dossiers parametre/fem_maillage ! ***" << std::endl;
334     return FAIL;
335     }
336 couturad 933 sys_command.clear(); sys_command.append("mkdir -p "); sys_command.append("parametre/etude");
337 couturad 919 mkdir_err = system(sys_command.c_str());
338     if(mkdir_err !=0)
339     {
340     std::cerr << "*** PARAMETRES::generer_fichier_parametres -> Erreur lors de la creation des dossiers parametre/etude ! ***" << std::endl;
341     return FAIL;
342     }
343 couturad 933 sys_command.clear(); sys_command.append("mkdir -p "); sys_command.append("parametre/analyse");
344 couturad 919 mkdir_err = system(sys_command.c_str());
345     if(mkdir_err !=0)
346     {
347 couturad 926 std::cerr << "*** PARAMETRES::generer_fichier_parametres -> Erreur lors de la creation des dossiers parametre/analyse ! ***" << std::endl;
348 couturad 919 return FAIL;
349     }
350     std::ofstream f;
351 couturad 951
352     if(type_generateur==MSTRUCT_GENERATEUR::TYPE_GENERATEUR::RSA)
353     {
354     OT_PARAMETRES params_geo_1;
355     ini_param_generateur_rsa(&params_geo_1,type_inclusion);
356     sys_command.clear(); sys_command.append("parametre/geometrie/param_geo_particule.txt");
357     params_geo_1.enregistrer((char*)sys_command.c_str());
358 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
359 couturad 951 }
360     else if(type_generateur==MSTRUCT_GENERATEUR::TYPE_GENERATEUR::DCR)
361     {
362     OT_PARAMETRES params_geo_1;
363     ini_param_generateur_dcr(&params_geo_1,type_inclusion);
364     sys_command.clear(); sys_command.append("parametre/geometrie/param_geo_particule.txt");
365     params_geo_1.enregistrer((char*)sys_command.c_str());
366 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
367 couturad 951 }
368 couturad 933 sys_command.clear(); sys_command.append("parametre/geometrie/lstparam_geo.txt");
369 couturad 951 f.open(sys_command.c_str(),std::ios::out);
370 couturad 919 f << "// Fichier de parametres GEOMETRIE" << std::endl;
371     f << "// [Nombre de fichier de parametres]" << std::endl;
372 couturad 926 f << "NB_FICHIER_PARAM 1" << std::endl;
373 couturad 951 f << "param_geo_particule.txt" << std::endl;
374 couturad 919 f.close();
375 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
376 couturad 951
377     OT_PARAMETRES params_mat_particule;
378     ini_param_materiau(&params_mat_particule,(char*)"Particule");
379     params_mat_particule.change_valeur("Mu_E",75.0e9);
380     params_mat_particule.change_valeur("Mu_nu",0.22);
381     sys_command.clear(); sys_command.append("parametre/materiau/param_mat_particule.txt");
382     params_mat_particule.enregistrer((char*)sys_command.c_str());
383 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
384 couturad 919 OT_PARAMETRES params_mat_matrice;
385     ini_param_materiau(&params_mat_matrice,(char*)"Matrice");
386 couturad 926 params_mat_matrice.change_valeur("Mu_E",3.5e9);
387     params_mat_matrice.change_valeur("Mu_nu",0.33);
388 couturad 933 sys_command.clear(); sys_command.append("parametre/materiau/param_mat_matrice.txt");
389 couturad 919 params_mat_matrice.enregistrer((char*)sys_command.c_str());
390 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
391 couturad 919
392 couturad 951 sys_command.clear(); sys_command.append("parametre/materiau/lstparam_mat.txt");
393     f.open(sys_command.c_str(),std::ios::out);
394     f << "// Fichier de parametres MATERIAU" << std::endl;
395     f << "// [Nombre de fichier de parametres]" << std::endl;
396     f << "NB_FICHIER_PARAM 2" << std::endl;
397     f << "param_mat_particule.txt" << std::endl;
398     f << "param_mat_matrice.txt" << std::endl;
399     f.close();
400 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
401 couturad 951
402    
403 couturad 919 OT_PARAMETRES params_carte;
404     ini_param_carte_taille(&params_carte);
405 couturad 933 sys_command.clear(); sys_command.append("parametre/carte/param_carte.txt");
406 couturad 919 params_carte.enregistrer((char*)sys_command.c_str());
407 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
408 couturad 919
409     OT_PARAMETRES params_maill;
410     ini_param_mailleur(&params_maill);
411 couturad 933 sys_command.clear(); sys_command.append("parametre/maillage/param_maill.txt");
412 couturad 919 params_maill.enregistrer((char*)sys_command.c_str());
413 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
414 couturad 951
415     if(fem_maill_lin)
416     {
417     OT_PARAMETRES params_fem_maillage_lin;
418     ini_param_mailleur_fem(&params_fem_maillage_lin);
419     params_fem_maillage_lin.change_valeur("Degre",1);
420     sys_command.clear(); sys_command.append("parametre/fem_maillage/param_fem_maill_lin.txt");
421     params_fem_maillage_lin.enregistrer((char*)sys_command.c_str());
422 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
423 couturad 951
424     OT_PARAMETRES params_etude_CLDH_sph_lin;
425     ini_param_etude(&params_etude_CLDH_sph_lin,type_etude);
426     params_etude_CLDH_sph_lin.change_valeur("Nom_etude","etude_CLDH_sph_lin");
427     params_etude_CLDH_sph_lin.change_valeur("Type_Chargement",0);
428     params_etude_CLDH_sph_lin.change_valeur("Type_CL",0);
429     params_etude_CLDH_sph_lin.change_valeur("Valeur_CL",0.0001);
430     sys_command.clear(); sys_command.append("parametre/etude/param_etude_CLDH_sph_lin.txt");
431     params_etude_CLDH_sph_lin.enregistrer((char*)sys_command.c_str());
432 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
433 couturad 951
434     OT_PARAMETRES params_etude_CLCH_sph_lin;
435     ini_param_etude(&params_etude_CLCH_sph_lin,type_etude);
436     params_etude_CLCH_sph_lin.change_valeur("Nom_etude","etude_CLCH_sph_lin");
437     params_etude_CLCH_sph_lin.change_valeur("Type_Chargement",0);
438     params_etude_CLCH_sph_lin.change_valeur("Type_CL",1);
439     params_etude_CLCH_sph_lin.change_valeur("Valeur_CL",1000);
440     sys_command.clear(); sys_command.append("parametre/etude/param_etude_CLCH_sph_lin.txt");
441     params_etude_CLCH_sph_lin.enregistrer((char*)sys_command.c_str());
442 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
443 couturad 951
444     OT_PARAMETRES params_etude_CLDH_dev_lin;
445     ini_param_etude(&params_etude_CLDH_dev_lin,type_etude);
446     params_etude_CLDH_dev_lin.change_valeur("Nom_etude","etude_CLDH_dev_lin");
447     params_etude_CLDH_dev_lin.change_valeur("Type_Chargement",1);
448     params_etude_CLDH_dev_lin.change_valeur("Type_CL",0);
449     params_etude_CLDH_dev_lin.change_valeur("Valeur_CL",0.0001);
450     sys_command.clear(); sys_command.append("parametre/etude/param_etude_CLDH_dev_lin.txt");
451     params_etude_CLDH_dev_lin.enregistrer((char*)sys_command.c_str());
452 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
453 couturad 951
454     OT_PARAMETRES params_etude_CLCH_dev_lin;
455     ini_param_etude(&params_etude_CLCH_dev_lin,type_etude);
456     params_etude_CLCH_dev_lin.change_valeur("Nom_etude","etude_CLCH_dev_lin");
457     params_etude_CLCH_dev_lin.change_valeur("Type_Chargement",1);
458     params_etude_CLCH_dev_lin.change_valeur("Type_CL",1);
459     params_etude_CLCH_dev_lin.change_valeur("Valeur_CL",1000);
460     sys_command.clear(); sys_command.append("parametre/etude/param_etude_CLCH_dev_lin.txt");
461     params_etude_CLCH_dev_lin.enregistrer((char*)sys_command.c_str());
462 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
463 couturad 951 }
464 couturad 919
465 couturad 951 if(fem_maill_quad)
466     {
467     OT_PARAMETRES params_fem_maillage_quad;
468     ini_param_mailleur_fem(&params_fem_maillage_quad);
469     params_fem_maillage_quad.change_valeur("Degre",2);
470     sys_command.clear(); sys_command.append("parametre/fem_maillage/param_fem_maill_quad.txt");
471     params_fem_maillage_quad.enregistrer((char*)sys_command.c_str());
472 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
473 couturad 951
474     OT_PARAMETRES params_etude_CLDH_sph_quad;
475     ini_param_etude(&params_etude_CLDH_sph_quad,MSTRUCT_VES::TYPE_ETUDE::MECANIQUE);
476     params_etude_CLDH_sph_quad.change_valeur("Nom_etude","etude_CLDH_sph_quad");
477     params_etude_CLDH_sph_quad.change_valeur("Type_Chargement",0);
478     params_etude_CLDH_sph_quad.change_valeur("Type_CL",0);
479     params_etude_CLDH_sph_quad.change_valeur("Valeur_CL",0.0001);
480     sys_command.clear(); sys_command.append("parametre/etude/param_etude_CLDH_sph_quad.txt");
481     params_etude_CLDH_sph_quad.enregistrer((char*)sys_command.c_str());
482 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
483 couturad 951
484     OT_PARAMETRES params_etude_CLCH_sph_quad;
485     ini_param_etude(&params_etude_CLCH_sph_quad,MSTRUCT_VES::TYPE_ETUDE::MECANIQUE);
486     params_etude_CLCH_sph_quad.change_valeur("Nom_etude","etude_CLCH_sph_quad");
487     params_etude_CLCH_sph_quad.change_valeur("Type_Chargement",0);
488     params_etude_CLCH_sph_quad.change_valeur("Type_CL",1);
489     params_etude_CLCH_sph_quad.change_valeur("Valeur_CL",1000);
490     sys_command.clear(); sys_command.append("parametre/etude/param_etude_CLCH_sph_quad.txt");
491 couturad 964 params_etude_CLCH_sph_quad.enregistrer((char*)sys_command.c_str());
492     if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
493 couturad 951
494     OT_PARAMETRES params_etude_CLDH_dev_quad;
495     ini_param_etude(&params_etude_CLDH_dev_quad,MSTRUCT_VES::TYPE_ETUDE::MECANIQUE);
496     params_etude_CLDH_dev_quad.change_valeur("Nom_etude","etude_CLDH_dev_quad");
497     params_etude_CLDH_dev_quad.change_valeur("Type_Chargement",1);
498     params_etude_CLDH_dev_quad.change_valeur("Type_CL",0);
499     params_etude_CLDH_dev_quad.change_valeur("Valeur_CL",0.0001);
500     sys_command.clear(); sys_command.append("parametre/etude/param_etude_CLDH_dev_quad.txt");
501 couturad 964 params_etude_CLDH_dev_quad.enregistrer((char*)sys_command.c_str());
502     if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
503 couturad 951
504     OT_PARAMETRES params_etude_CLCH_dev_quad;
505     ini_param_etude(&params_etude_CLCH_dev_quad,MSTRUCT_VES::TYPE_ETUDE::MECANIQUE);
506     params_etude_CLCH_dev_quad.change_valeur("Nom_etude","etude_CLCH_dev_quad");
507     params_etude_CLCH_dev_quad.change_valeur("Type_Chargement",1);
508     params_etude_CLCH_dev_quad.change_valeur("Type_CL",1);
509     params_etude_CLCH_dev_quad.change_valeur("Valeur_CL",1000);
510     sys_command.clear(); sys_command.append("parametre/etude/param_etude_CLCH_dev_quad.txt");
511 couturad 964 params_etude_CLCH_dev_quad.enregistrer((char*)sys_command.c_str());
512     if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
513 couturad 951 }
514 couturad 919
515 couturad 926 MG_EXPORT exp;
516     OT_PARAMETRES *params_aster=exp.get_param_aster();
517 couturad 964 params_aster->change_valeur("Memoire",1024);
518 couturad 926 params_aster->change_valeur("Temps_max",250000);
519     params_aster->change_valeur("Nb_CPU",8);
520     params_aster->change_valeur("Noeud_ele",2);
521 couturad 929 params_aster->change_valeur("Base_num_mail",36);
522 couturad 933 sys_command.clear(); sys_command.append("parametre/etude/param_aster.txt");
523 couturad 964 params_aster->enregistrer((char*)sys_command.c_str());
524     if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
525 couturad 926
526     OT_PARAMETRES params_analyse_cao_all;
527     ini_param_analyse(&params_analyse_cao_all,MSTRUCT_ANALYSE::TYPE_ANALYSE::CAO);
528     params_analyse_cao_all.change_valeur("Identifiant","Cao_ALL");
529 couturad 933 sys_command.clear(); sys_command.append("parametre/analyse/params_analyse_cao_all.txt");
530 couturad 926 params_analyse_cao_all.enregistrer((char*)sys_command.c_str());
531 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
532 couturad 951 OT_PARAMETRES params_analyse_cao_particule;
533     ini_param_analyse(&params_analyse_cao_particule,MSTRUCT_ANALYSE::TYPE_ANALYSE::CAO);
534     params_analyse_cao_particule.change_valeur("Identifiant","Cao_Particule");
535     params_analyse_cao_particule.change_valeur("Nom_groupe_forme","Particule");
536     sys_command.clear(); sys_command.append("parametre/analyse/params_analyse_cao_particule.txt");
537     params_analyse_cao_particule.enregistrer((char*)sys_command.c_str());
538 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
539 couturad 926 OT_PARAMETRES params_analyse_cao_matrice;
540     ini_param_analyse(&params_analyse_cao_matrice,MSTRUCT_ANALYSE::TYPE_ANALYSE::CAO);
541     params_analyse_cao_matrice.change_valeur("Identifiant","Cao_Matrice");
542     params_analyse_cao_matrice.change_valeur("Nom_groupe_forme","Matrice");
543 couturad 933 sys_command.clear(); sys_command.append("parametre/analyse/params_analyse_cao_matrice.txt");
544 couturad 926 params_analyse_cao_matrice.enregistrer((char*)sys_command.c_str());
545 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
546 couturad 926
547 couturad 951 if(type_inclusion==MSTRUCT_GENERATEUR_RSA::TYPE_INCLUSION::CYLINDRE)
548     {
549     OT_PARAMETRES params_analyse_orientation;
550     ini_param_analyse(&params_analyse_orientation,MSTRUCT_ANALYSE::TYPE_ANALYSE::ORIENTATION);
551     params_analyse_orientation.change_valeur("Identifiant","Orientation_Particule");
552     sys_command.clear(); sys_command.append("parametre/analyse/params_analyse_orientation.txt");
553     params_analyse_orientation.enregistrer((char*)sys_command.c_str());
554 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
555 couturad 951 }
556    
557     sys_command.clear(); sys_command.append("parametre/analyse/lstparam_analyse_geometrie.txt");
558     f.open(sys_command.c_str(),std::ios::out);
559     if(type_inclusion==MSTRUCT_GENERATEUR_RSA::TYPE_INCLUSION::CYLINDRE)
560     {
561     f << "// Fichier de parametres ANALYSE" << std::endl;
562     f << "// Nombre de fichier de parametres" << std::endl;
563     f << "NB_FICHIER_PARAM 4" << std::endl;
564     f << "params_analyse_cao_all.txt" << std::endl;
565     f << "params_analyse_cao_particule.txt" << std::endl;
566     f << "params_analyse_cao_matrice.txt" << std::endl;
567     f << "params_analyse_orientation.txt" << std::endl;
568     }
569     else
570     {
571     f << "// Fichier de parametres ANALYSE" << std::endl;
572     f << "// Nombre de fichier de parametres" << std::endl;
573     f << "NB_FICHIER_PARAM 3" << std::endl;
574     f << "params_analyse_cao_all.txt" << std::endl;
575     f << "params_analyse_cao_particule.txt" << std::endl;
576     f << "params_analyse_cao_matrice.txt" << std::endl;
577     }
578 couturad 964 f.close();
579     if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
580 couturad 951
581 couturad 926 OT_PARAMETRES params_analyse_mg_maillage_all;
582     ini_param_analyse(&params_analyse_mg_maillage_all,MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_MG);
583     params_analyse_mg_maillage_all.change_valeur("Identifiant","MG_maillage_ALL");
584 couturad 933 sys_command.clear(); sys_command.append("parametre/analyse/params_analyse_mg_maillage_all.txt");
585 couturad 964 params_analyse_mg_maillage_all.enregistrer((char*)sys_command.c_str());
586     if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
587 couturad 951 OT_PARAMETRES params_analyse_mg_maillage_particule;
588     ini_param_analyse(&params_analyse_mg_maillage_particule,MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_MG);
589     params_analyse_mg_maillage_particule.change_valeur("Identifiant","MG_maillage_Particule");
590     params_analyse_mg_maillage_particule.change_valeur("Nom_groupe_forme","Particule");
591     sys_command.clear(); sys_command.append("parametre/analyse/params_analyse_mg_maillage_particule.txt");
592 couturad 964 params_analyse_mg_maillage_particule.enregistrer((char*)sys_command.c_str());
593     if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
594 couturad 926 OT_PARAMETRES params_analyse_mg_maillage_matrice;
595     ini_param_analyse(&params_analyse_mg_maillage_matrice,MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_MG);
596     params_analyse_mg_maillage_matrice.change_valeur("Identifiant","MG_maillage_Matrice");
597     params_analyse_mg_maillage_matrice.change_valeur("Nom_groupe_forme","Matrice");
598 couturad 933 sys_command.clear(); sys_command.append("parametre/analyse/params_analyse_mg_maillage_matrice.txt");
599 couturad 926 params_analyse_mg_maillage_matrice.enregistrer((char*)sys_command.c_str());
600 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
601 couturad 926
602 couturad 951 sys_command.clear(); sys_command.append("parametre/analyse/lstparam_analyse_mg_maillage.txt");
603     f.open(sys_command.c_str(),std::ios::out);
604     f << "// Fichier de parametres ANALYSE" << std::endl;
605 couturad 926 f << "// Nombre de fichier de parametres" << std::endl;
606 couturad 930 f << "NB_FICHIER_PARAM 3" << std::endl;
607 couturad 951 f << "params_analyse_mg_maillage_all.txt" << std::endl;
608     f << "params_analyse_mg_maillage_particule.txt" << std::endl;
609     f << "params_analyse_mg_maillage_matrice.txt" << std::endl;
610 couturad 964 f.close();
611     if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
612 couturad 926
613 couturad 951 if(fem_maill_lin)
614     {
615     OT_PARAMETRES params_analyse_fem_maillage_all_erosion_lin;
616     ini_param_analyse(&params_analyse_fem_maillage_all_erosion_lin,MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_FEM,true);
617     params_analyse_fem_maillage_all_erosion_lin.change_valeur("Identifiant","FEM_maillage_ALL_erosion_lin");
618     sys_command.clear(); sys_command.append("parametre/analyse/params_analyse_fem_maillage_all_erosion_lin.txt");
619     params_analyse_fem_maillage_all_erosion_lin.enregistrer((char*)sys_command.c_str());
620 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
621 couturad 951 OT_PARAMETRES params_analyse_fem_maillage_particule_erosion_lin;
622     ini_param_analyse(&params_analyse_fem_maillage_particule_erosion_lin,MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_FEM,true);
623     params_analyse_fem_maillage_particule_erosion_lin.change_valeur("Identifiant","FEM_maillage_Particule_erosion_lin");
624     params_analyse_fem_maillage_particule_erosion_lin.change_valeur("Nom_groupe_forme","Particule");
625     sys_command.clear(); sys_command.append("parametre/analyse/params_analyse_fem_maillage_particule_erosion_lin.txt");
626 couturad 964 params_analyse_fem_maillage_particule_erosion_lin.enregistrer((char*)sys_command.c_str());
627     if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
628 couturad 951 OT_PARAMETRES params_analyse_fem_maillage_matrice_erosion_lin;
629     ini_param_analyse(&params_analyse_fem_maillage_matrice_erosion_lin,MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_FEM,true);
630     params_analyse_fem_maillage_matrice_erosion_lin.change_valeur("Identifiant","FEM_maillage_Matrice_erosion_lin");
631     params_analyse_fem_maillage_matrice_erosion_lin.change_valeur("Nom_groupe_forme","Matrice");
632     sys_command.clear(); sys_command.append("parametre/analyse/params_analyse_fem_maillage_matrice_erosion_lin.txt");
633 couturad 964 params_analyse_fem_maillage_matrice_erosion_lin.enregistrer((char*)sys_command.c_str());
634     if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
635 couturad 951
636     sys_command.clear(); sys_command.append("parametre/analyse/lstparam_analyse_fem_maillage_lin.txt");
637     f.open(sys_command.c_str(),std::ios::out);
638     if(type_inclusion==MSTRUCT_GENERATEUR_RSA::TYPE_INCLUSION::CYLINDRE)
639     {
640     OT_PARAMETRES params_analyse_orientation_ponderee_erosion_lin;
641     ini_param_analyse(&params_analyse_orientation_ponderee_erosion_lin,MSTRUCT_ANALYSE::TYPE_ANALYSE::ORIENTATION_PONDEREE,true);
642     params_analyse_orientation_ponderee_erosion_lin.change_valeur("Identifiant","Orientation_Particule_ponderee_erosion_lin");
643     sys_command.clear(); sys_command.append("parametre/analyse/params_analyse_orientation_ponderee_erosion_lin.txt");
644     params_analyse_orientation_ponderee_erosion_lin.enregistrer((char*)sys_command.c_str());
645    
646     f << "// Fichier de parametres ANALYSE" << std::endl;
647     f << "// Nombre de fichier de parametres" << std::endl;
648     f << "NB_FICHIER_PARAM 4" << std::endl;
649     f << "params_analyse_fem_maillage_all_erosion_lin.txt" << std::endl;
650     f << "params_analyse_fem_maillage_particule_erosion_lin.txt" << std::endl;
651     f << "params_analyse_fem_maillage_matrice_erosion_lin.txt" << std::endl;
652     f << "params_analyse_orientation_ponderee_erosion_lin.txt" << std::endl;
653     }
654     else
655     {
656     f << "// Fichier de parametres ANALYSE" << std::endl;
657     f << "// Nombre de fichier de parametres" << std::endl;
658     f << "NB_FICHIER_PARAM 3" << std::endl;
659     f << "params_analyse_fem_maillage_all_erosion_lin.txt" << std::endl;
660     f << "params_analyse_fem_maillage_particule_erosion_lin.txt" << std::endl;
661     f << "params_analyse_fem_maillage_matrice_erosion_lin.txt" << std::endl;
662     }
663    
664 couturad 964 f.close();
665     if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
666 couturad 951 }
667 couturad 926
668 couturad 951 if(fem_maill_quad)
669     {
670     OT_PARAMETRES params_analyse_fem_maillage_all_erosion_quad;
671     ini_param_analyse(&params_analyse_fem_maillage_all_erosion_quad,MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_FEM,true);
672     params_analyse_fem_maillage_all_erosion_quad.change_valeur("Identifiant","FEM_maillage_ALL_erosion_quad");
673     sys_command.clear(); sys_command.append("parametre/analyse/params_analyse_fem_maillage_all_erosion_quad.txt");
674     params_analyse_fem_maillage_all_erosion_quad.enregistrer((char*)sys_command.c_str());
675 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
676 couturad 951 OT_PARAMETRES params_analyse_fem_maillage_particule_erosion_quad;
677     ini_param_analyse(&params_analyse_fem_maillage_particule_erosion_quad,MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_FEM,true);
678     params_analyse_fem_maillage_particule_erosion_quad.change_valeur("Identifiant","FEM_maillage_Particule_erosion_quad");
679     params_analyse_fem_maillage_particule_erosion_quad.change_valeur("Nom_groupe_forme","Particule");
680     sys_command.clear(); sys_command.append("parametre/analyse/params_analyse_fem_maillage_particule_erosion_quad.txt");
681 couturad 964 params_analyse_fem_maillage_particule_erosion_quad.enregistrer((char*)sys_command.c_str());
682     if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
683 couturad 951 OT_PARAMETRES params_analyse_fem_maillage_matrice_erosion_quad;
684     ini_param_analyse(&params_analyse_fem_maillage_matrice_erosion_quad,MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_FEM,true);
685     params_analyse_fem_maillage_matrice_erosion_quad.change_valeur("Identifiant","FEM_maillage_Matrice_erosion_quad");
686     params_analyse_fem_maillage_matrice_erosion_quad.change_valeur("Nom_groupe_forme","Matrice");
687     sys_command.clear(); sys_command.append("parametre/analyse/params_analyse_fem_maillage_matrice_erosion_quad.txt");
688 couturad 964 params_analyse_fem_maillage_matrice_erosion_quad.enregistrer((char*)sys_command.c_str());
689     if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
690 couturad 951
691     sys_command.clear(); sys_command.append("parametre/analyse/lstparam_analyse_fem_maillage_quad.txt");
692     f.open(sys_command.c_str(),std::ios::out);
693     if(type_inclusion==MSTRUCT_GENERATEUR_RSA::TYPE_INCLUSION::CYLINDRE)
694     {
695     OT_PARAMETRES params_analyse_orientation_ponderee_erosion_quad;
696     ini_param_analyse(&params_analyse_orientation_ponderee_erosion_quad,MSTRUCT_ANALYSE::TYPE_ANALYSE::ORIENTATION_PONDEREE,true);
697     params_analyse_orientation_ponderee_erosion_quad.change_valeur("Identifiant","Orientation_Particule_ponderee_erosion_quad");
698     sys_command.clear(); sys_command.append("parametre/analyse/params_analyse_orientation_ponderee_erosion_quad.txt");
699     params_analyse_orientation_ponderee_erosion_quad.enregistrer((char*)sys_command.c_str());
700     f << "// Fichier de parametres ANALYSE" << std::endl;
701     f << "// Nombre de fichier de parametres" << std::endl;
702     f << "NB_FICHIER_PARAM 4" << std::endl;
703     f << "params_analyse_fem_maillage_all_erosion_quad.txt" << std::endl;
704     f << "params_analyse_fem_maillage_particule_erosion_quad.txt" << std::endl;
705     f << "params_analyse_fem_maillage_matrice_erosion_quad.txt" << std::endl;
706     f << "params_analyse_orientation_ponderee_erosion_quad.txt" << std::endl;
707     }
708     else
709     {
710     f << "// Fichier de parametres ANALYSE" << std::endl;
711     f << "// Nombre de fichier de parametres" << std::endl;
712     f << "NB_FICHIER_PARAM 3" << std::endl;
713     f << "params_analyse_fem_maillage_all_erosion_quad.txt" << std::endl;
714     f << "params_analyse_fem_maillage_particule_erosion_quad.txt" << std::endl;
715     f << "params_analyse_fem_maillage_matrice_erosion_quad.txt" << std::endl;
716     }
717    
718 couturad 964 f.close();
719     if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
720 couturad 951 }
721 couturad 930
722 couturad 951 if(fem_maill_lin)
723     {
724     OT_PARAMETRES params_analyse_champ_sigma_erosion_lin;
725     ini_param_analyse(&params_analyse_champ_sigma_erosion_lin,MSTRUCT_ANALYSE::TYPE_ANALYSE::CHAMP,true);
726     params_analyse_champ_sigma_erosion_lin.change_valeur("Identifiant","Champ_SIGMA_erosion_lin");
727     sys_command.clear(); sys_command.append("parametre/analyse/params_analyse_champ_sigma_erosion_lin.txt");
728 couturad 964 params_analyse_champ_sigma_erosion_lin.enregistrer((char*)sys_command.c_str());
729     if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
730 couturad 951
731     OT_PARAMETRES params_analyse_champ_epsilon_erosion_lin;
732     ini_param_analyse(&params_analyse_champ_epsilon_erosion_lin,MSTRUCT_ANALYSE::TYPE_ANALYSE::CHAMP,true);
733     params_analyse_champ_epsilon_erosion_lin.change_valeur("Identifiant","Champ_EPSILON_erosion_lin");
734     params_analyse_champ_epsilon_erosion_lin.change_valeur("Num_solution",1);
735 couturad 966 params_analyse_champ_epsilon_erosion_lin.change_valeur("Largeur_colonne_distribution","1.0e-12");
736 couturad 951 sys_command.clear(); sys_command.append("parametre/analyse/params_analyse_champ_epsilon_erosion_lin.txt");
737     params_analyse_champ_epsilon_erosion_lin.enregistrer((char*)sys_command.c_str());
738 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
739 couturad 951
740     sys_command.clear(); sys_command.append("parametre/analyse/lstparam_analyse_champ_lin.txt");
741     f.open(sys_command.c_str(),std::ios::out);
742     f << "// Fichier de parametres ANALYSE" << std::endl;
743     f << "// Nombre de fichier de parametres" << std::endl;
744     f << "NB_FICHIER_PARAM 2" << std::endl;
745     f << "params_analyse_champ_sigma_erosion_lin.txt" << std::endl;
746     f << "params_analyse_champ_epsilon_erosion_lin.txt" << std::endl;
747 couturad 964 f.close();
748     if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
749 couturad 951 }
750 couturad 933
751 couturad 951 if(fem_maill_quad)
752     {
753     OT_PARAMETRES params_analyse_champ_sigma_erosion_quad;
754     ini_param_analyse(&params_analyse_champ_sigma_erosion_quad,MSTRUCT_ANALYSE::TYPE_ANALYSE::CHAMP,true);
755     params_analyse_champ_sigma_erosion_quad.change_valeur("Identifiant","Champ_SIGMA_erosion_quad");
756     sys_command.clear(); sys_command.append("parametre/analyse/params_analyse_champ_sigma_erosion_quad.txt");
757 couturad 964 params_analyse_champ_sigma_erosion_quad.enregistrer((char*)sys_command.c_str());
758     if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
759 couturad 951
760     OT_PARAMETRES params_analyse_champ_epsilon_erosion_quad;
761     ini_param_analyse(&params_analyse_champ_epsilon_erosion_quad,MSTRUCT_ANALYSE::TYPE_ANALYSE::CHAMP,true);
762     params_analyse_champ_epsilon_erosion_quad.change_valeur("Identifiant","Champ_EPSILON_erosion_quad");
763     params_analyse_champ_epsilon_erosion_quad.change_valeur("Num_solution",1);
764 couturad 966 params_analyse_champ_epsilon_erosion_quad.change_valeur("Largeur_colonne_distribution","1.0e-12");
765 couturad 951 sys_command.clear(); sys_command.append("parametre/analyse/params_analyse_champ_epsilon_erosion_quad.txt");
766     params_analyse_champ_epsilon_erosion_quad.enregistrer((char*)sys_command.c_str());
767 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
768 couturad 951
769     sys_command.clear(); sys_command.append("parametre/analyse/lstparam_analyse_champ_quad.txt");
770     f.open(sys_command.c_str(),std::ios::out);
771     f << "// Fichier de parametres ANALYSE" << std::endl;
772     f << "// Nombre de fichier de parametres" << std::endl;
773     f << "NB_FICHIER_PARAM 2" << std::endl;
774     f << "params_analyse_champ_sigma_erosion_quad.txt" << std::endl;
775     f << "params_analyse_champ_epsilon_erosion_quad.txt" << std::endl;
776 couturad 964 f.close();
777     if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
778 couturad 951 }
779    
780     if(fem_maill_lin)
781     {
782     OT_PARAMETRES params_ver_erosion_lin;
783     ini_param_ver(&params_ver_erosion_lin);
784     params_ver_erosion_lin.change_valeur("Identifiant_epsilon","Champ_EPSILON_erosion_lin");
785     params_ver_erosion_lin.change_valeur("Identifiant_sigma","Champ_SIGMA_erosion_lin");
786     params_ver_erosion_lin.change_valeur("Analyse_erosion","1");
787     sys_command.clear(); sys_command.append("parametre/analyse/params_ver_erosion_lin.txt");
788     params_ver_erosion_lin.enregistrer((char*)sys_command.c_str());
789 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
790 couturad 951
791     sys_command.clear(); sys_command.append("parametre/analyse/lstparam_ver_lin.txt");
792     f.open(sys_command.c_str(),std::ios::out);
793     f << "// Fichier de parametres ANALYSE" << std::endl;
794     f << "// Nombre de fichier de parametres" << std::endl;
795     f << "NB_FICHIER_PARAM 1" << std::endl;
796     f << "params_ver_erosion_lin.txt" << std::endl;
797     f.close();
798 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
799 couturad 951 }
800    
801     if(fem_maill_quad)
802     {
803     OT_PARAMETRES params_ver_erosion_quad;
804     ini_param_ver(&params_ver_erosion_quad);
805     params_ver_erosion_quad.change_valeur("Identifiant_epsilon","Champ_EPSILON_erosion_quad");
806     params_ver_erosion_quad.change_valeur("Identifiant_sigma","Champ_SIGMA_erosion_quad");
807     params_ver_erosion_quad.change_valeur("Analyse_erosion","1");
808     sys_command.clear(); sys_command.append("parametre/analyse/params_ver_erosion_quad.txt");
809     params_ver_erosion_quad.enregistrer((char*)sys_command.c_str());
810 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
811 couturad 951
812     sys_command.clear(); sys_command.append("parametre/analyse/lstparam_ver_quad.txt");
813     f.open(sys_command.c_str(),std::ios::out);
814     f << "// Fichier de parametres ANALYSE" << std::endl;
815     f << "// Nombre de fichier de parametres" << std::endl;
816     f << "NB_FICHIER_PARAM 1" << std::endl;
817     f << "params_ver_erosion_quad.txt" << std::endl;
818     f.close();
819 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)sys_command.c_str());
820 couturad 951 }
821 couturad 919 return OK;
822     }
823    
824 couturad 964 int PARAMETRES::generer_script_ves(int type_etude,int type_inclusion,bool fem_maill_lin,bool fem_maill_quad,fonction_affiche *fonc_affiche)
825 couturad 929 {
826     if(type_etude==MSTRUCT_VES::TYPE_ETUDE::MECANIQUE)
827     {
828 couturad 951 std::ofstream ofstrm((char*)"generer_nb_ves",std::ios::out|std::ios::trunc);
829 couturad 929 ofstrm.precision(16);
830     ofstrm.setf(std::ios::showpoint);
831     ofstrm << "#!/bin/bash" << std::endl;
832     ofstrm << "INDEX_DEPART=$1" << std::endl;
833     ofstrm << "INDEX_FIN=$2" << std::endl;
834     ofstrm << "DOSSIER_PARAM=$3" << std::endl;
835     ofstrm << "CHEMINCOMPILE=$4" << std::endl;
836     ofstrm << "if [ -z ${INDEX_DEPART// } ]" << std::endl;
837     ofstrm << "then" << std::endl;
838     ofstrm << " echo \"Erreur : Numero du ves de depart manquant\"" << std::endl;
839     ofstrm << " exit" << std::endl;
840     ofstrm << "fi" << std::endl;
841     ofstrm << "if [ -z ${INDEX_FIN// } ]" << std::endl;
842     ofstrm << "then" << std::endl;
843     ofstrm << " echo \"Erreur : Numero du ves de fin manquant\"" << std::endl;
844     ofstrm << " exit" << std::endl;
845     ofstrm << "fi" << std::endl;
846     ofstrm << "if [ -z ${DOSSIER_PARAM// } ]" << std::endl;
847     ofstrm << "then" << std::endl;
848     ofstrm << " echo \"Erreur : Dossier de parametres manquant\"" << std::endl;
849     ofstrm << " exit" << std::endl;
850     ofstrm << "fi" << std::endl;
851     ofstrm << "if [ -z ${CHEMINCOMPILE// } ]" << std::endl;
852     ofstrm << "then" << std::endl;
853 couturad 958 ofstrm << " if [ -z $PATHMAGICEXEAPP ]" << std::endl;
854     ofstrm << " then" << std::endl;
855     ofstrm << " echo \"Erreur : Chemin vers exe/app manquant\"" << std::endl;
856     ofstrm << " exit" << std::endl;
857     ofstrm << " else" << std::endl;
858     ofstrm << " CHEMINCOMPILE=$PATHMAGICEXEAPP" << std::endl;
859     ofstrm << " fi" << std::endl;
860 couturad 929 ofstrm << "fi" << std::endl;
861     ofstrm << "function executer" << std::endl;
862     ofstrm << "{" << std::endl;
863     ofstrm << "OPERATION_REUSSIE=1;" << std::endl;
864     ofstrm << "$*" << std::endl;
865     ofstrm << "VAR=$?" << std::endl;
866     ofstrm << "if (( $VAR )) ; then " << std::endl;
867     ofstrm << " OPERATION_REUSSIE=0; " << std::endl;
868     ofstrm << " STAT=$VAR;" << std::endl;
869     ofstrm << "fi" << std::endl;
870     ofstrm << "}" << std::endl;
871     ofstrm << "" << std::endl;
872     ofstrm << "echo \"*********************************************************\"" << std::endl;
873     ofstrm << "echo \"Generation des microstructures $INDEX_DEPART - $INDEX_FIN\"" << std::endl;
874     ofstrm << "echo \"*********************************************************\"" << std::endl;
875     ofstrm << "STAT=$?" << std::endl;
876     ofstrm << "" << std::endl;
877     ofstrm << "if [ $INDEX_DEPART -eq 1 ]" << std::endl;
878     ofstrm << "then" << std::endl;
879     ofstrm << "mkdir etude" << std::endl;
880     ofstrm << "fi" << std::endl;
881     ofstrm << "cd etude" << std::endl;
882     ofstrm << "for (( k=$INDEX_DEPART; k<=$INDEX_FIN; k++ ))" << std::endl;
883     ofstrm << "do" << std::endl;
884     ofstrm << " echo \"Microstructure #$k\"" << std::endl;
885     ofstrm << " mkdir e$k" << std::endl;
886     ofstrm << " cd e$k" << std::endl;
887     ofstrm << " OPERATION_REUSSIE=0" << std::endl;
888     ofstrm << " until [ $OPERATION_REUSSIE -eq 1 ]; do" << std::endl;
889 couturad 958 ofstrm << " executer ../../ves ../../$DOSSIER_PARAM $CHEMINCOMPILE" << std::endl;
890 couturad 929 ofstrm << " done" << std::endl;
891 couturad 951 ofstrm << " DOSSIER_ACTUEL=$(pwd)" << std::endl;
892     ofstrm << " echo \"$DOSSIER_ACTUEL/ves_geo_analyse.ves\" >> ../../lst_ves_geo_analyse.txt" << std::endl;
893     ofstrm << " echo \"$DOSSIER_ACTUEL/ves_mg_maill_analyse.ves\" >> ../../lst_ves_mg_maill_analyse.txt" << std::endl;
894     if(fem_maill_lin)
895     {
896     ofstrm << " echo \"$DOSSIER_ACTUEL/ves_fem_maill_analyse_lin.ves\" >> ../../lst_ves_fem_maill_analyse_lin.txt" << std::endl;
897     ofstrm << " echo \"$DOSSIER_ACTUEL/ves_calcul_CLDH_sph_analyse_lin.ves\" >> ../../lst_ves_calcul_CLDH_sph_analyse_lin.txt" << std::endl;
898     ofstrm << " echo \"$DOSSIER_ACTUEL/ves_calcul_CLCH_sph_analyse_lin.ves\" >> ../../lst_ves_calcul_CLCH_sph_analyse_lin.txt" << std::endl;
899     ofstrm << " echo \"$DOSSIER_ACTUEL/ves_calcul_CLDH_dev_analyse_lin.ves\" >> ../../lst_ves_calcul_CLDH_dev_analyse_lin.txt" << std::endl;
900     ofstrm << " echo \"$DOSSIER_ACTUEL/ves_calcul_CLCH_dev_analyse_lin.ves\" >> ../../lst_ves_calcul_CLCH_dev_analyse_lin.txt" << std::endl;
901     }
902     if(fem_maill_quad)
903     {
904     ofstrm << " echo \"$DOSSIER_ACTUEL/ves_fem_maill_analyse_quad.ves\" >> ../../lst_ves_fem_maill_analyse_quad.txt" << std::endl;
905     ofstrm << " echo \"$DOSSIER_ACTUEL/ves_calcul_CLDH_sph_analyse_quad.ves\" >> ../../lst_ves_calcul_CLDH_sph_analyse_quad.txt" << std::endl;
906     ofstrm << " echo \"$DOSSIER_ACTUEL/ves_calcul_CLCH_sph_analyse_quad.ves\" >> ../../lst_ves_calcul_CLCH_sph_analyse_quad.txt" << std::endl;
907     ofstrm << " echo \"$DOSSIER_ACTUEL/ves_calcul_CLDH_dev_analyse_quad.ves\" >> ../../lst_ves_calcul_CLDH_dev_analyse_quad.txt" << std::endl;
908     ofstrm << " echo \"$DOSSIER_ACTUEL/ves_calcul_CLCH_dev_analyse_quad.ves\" >> ../../lst_ves_calcul_CLCH_dev_analyse_quad.txt" << std::endl;
909     }
910 couturad 929 ofstrm << " cd .." << std::endl;
911     ofstrm << "done" << std::endl;
912     ofstrm << "cd .." << std::endl;
913     ofstrm << "echo \"**********************\"" << std::endl;
914     ofstrm << "echo \" FIN \"" << std::endl;
915     ofstrm << "echo \"**********************\"" << std::endl;
916     ofstrm << "exit $STAT" << std::endl;
917     ofstrm.close();
918 couturad 964 if(fonc_affiche!=NULL) fonc_affiche((char*)"generer_nb_ves");
919 couturad 929 system((char*)"chmod 744 generer_nb_ves");
920    
921     ofstrm.open((char*)"ves",std::ios::out|std::ios::trunc);
922     ofstrm.precision(16);
923     ofstrm.setf(std::ios::showpoint);
924     ofstrm << "#!/bin/bash" << std::endl;
925     ofstrm << "DOSSIER_PARAM=$1" << std::endl;
926     ofstrm << "CHEMINCOMPILE=$2" << std::endl;
927     ofstrm << "function executer" << std::endl;
928     ofstrm << "{" << std::endl;
929     ofstrm << "$*" << std::endl;
930     ofstrm << "VAR=$?" << std::endl;
931     ofstrm << "if (( $VAR )) ; then " << std::endl;
932     ofstrm << " STATUSTXT=\"ERREUR dans les tests\"; " << std::endl;
933     ofstrm << " STAT=$VAR;" << std::endl;
934     ofstrm << " exit $STAT" << std::endl;
935     ofstrm << "fi" << std::endl;
936     ofstrm << "}" << std::endl;
937     ofstrm << "STATUSTXT=\"Test sans ERREUR\"" << std::endl;
938     ofstrm << "echo \"*******************************\"" << std::endl;
939     ofstrm << "echo \"Generation d'une microstructure\"" << std::endl;
940     ofstrm << "echo \"*******************************\"" << std::endl;
941     ofstrm << "STAT=$?" << std::endl;
942 couturad 951 ofstrm << "" << std::endl;
943     ofstrm << "#Geometrie" << std::endl;
944 couturad 929 ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_geo -ves_out ves_geo.ves -lstparam $DOSSIER_PARAM/geometrie/lstparam_geo.txt" << std::endl;
945 couturad 951 ofstrm << "executer $CHEMINCOMPILE/mgoperation/mgoperation.exe -brep_out -in ves_geo.magic -out ves_brep.brep" << std::endl;
946     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_analyse -ves_in ves_geo.ves -ves_out ves_geo_analyse.ves -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_geometrie.txt" << std::endl;
947     ofstrm << "" << std::endl;
948     ofstrm << "#Materiau" << std::endl;
949 couturad 929 ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_mat -ves_in ves_geo.ves -ves_out ves_mat.ves -lstparam $DOSSIER_PARAM/materiau/lstparam_mat.txt" << std::endl;
950 couturad 951 ofstrm << "" << std::endl;
951     ofstrm << "#Carte" << std::endl;
952 couturad 929 ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_carte -ves_in ves_mat.ves -ves_out ves_carte.ves -param $DOSSIER_PARAM/carte/param_carte.txt" << std::endl;
953     ofstrm << "" << std::endl;
954 couturad 951 ofstrm << "#MG Maillage" << std::endl;
955     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_mg_maill -ves_in ves_carte.ves -ves_out ves_mg_maill.ves -param $DOSSIER_PARAM/maillage/param_maill.txt -carte carte.ctt" << std::endl;
956     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_analyse -ves_in ves_mg_maill.ves -ves_out ves_mg_maill_analyse.ves -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_mg_maillage.txt" << std::endl;
957     ofstrm << "executer $CHEMINCOMPILE/mgoperation/mgoperation.exe -gmsh -in ves_mg_maill.magic" << std::endl;
958 couturad 929 ofstrm << "" << std::endl;
959 couturad 951 ofstrm << "#Fem Maillage" << std::endl;
960     if(fem_maill_lin)
961     {
962     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_fem_maill -ves_in ves_mg_maill.ves -ves_out ves_fem_maill_lin.ves -param $DOSSIER_PARAM/fem_maillage/param_fem_maill_lin.txt" << std::endl;
963     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_analyse -ves_in ves_fem_maill_lin.ves -ves_out ves_fem_maill_analyse_lin.ves -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_fem_maillage_lin.txt" << std::endl;
964     }
965     if(fem_maill_quad)
966     {
967     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_fem_maill -ves_in ves_mg_maill.ves -ves_out ves_fem_maill_quad.ves -param $DOSSIER_PARAM/fem_maillage/param_fem_maill_quad.txt" << std::endl;
968     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_analyse -ves_in ves_fem_maill_quad.ves -ves_out ves_fem_maill_analyse_quad.ves -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_fem_maillage_quad.txt" << std::endl;
969     }
970 couturad 929 ofstrm << "" << std::endl;
971 couturad 951 ofstrm << "#Etude" << std::endl;
972     if(fem_maill_lin)
973     {
974     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_etude -ves_in ves_fem_maill_lin.ves -ves_out ves_etude_CLDH_sph_lin.ves -param $DOSSIER_PARAM/etude/param_etude_CLDH_sph_lin.txt" << std::endl;
975     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_etude -ves_in ves_fem_maill_lin.ves -ves_out ves_etude_CLCH_sph_lin.ves -param $DOSSIER_PARAM/etude/param_etude_CLCH_sph_lin.txt" << std::endl;
976     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_etude -ves_in ves_fem_maill_lin.ves -ves_out ves_etude_CLDH_dev_lin.ves -param $DOSSIER_PARAM/etude/param_etude_CLDH_dev_lin.txt" << std::endl;
977     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_etude -ves_in ves_fem_maill_lin.ves -ves_out ves_etude_CLCH_dev_lin.ves -param $DOSSIER_PARAM/etude/param_etude_CLCH_dev_lin.txt" << std::endl;
978     }
979     if(fem_maill_quad)
980     {
981     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_etude -ves_in ves_fem_maill_quad.ves -ves_out ves_etude_CLDH_sph_quad.ves -param $DOSSIER_PARAM/etude/param_etude_CLDH_sph_quad.txt" << std::endl;
982     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_etude -ves_in ves_fem_maill_quad.ves -ves_out ves_etude_CLCH_sph_quad.ves -param $DOSSIER_PARAM/etude/param_etude_CLCH_sph_quad.txt" << std::endl;
983     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_etude -ves_in ves_fem_maill_quad.ves -ves_out ves_etude_CLDH_dev_quad.ves -param $DOSSIER_PARAM/etude/param_etude_CLDH_dev_quad.txt" << std::endl;
984     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_etude -ves_in ves_fem_maill_quad.ves -ves_out ves_etude_CLCH_dev_quad.ves -param $DOSSIER_PARAM/etude/param_etude_CLCH_dev_quad.txt" << std::endl;
985     }
986 couturad 929 ofstrm << "" << std::endl;
987 couturad 951 ofstrm << "#Calcul" << std::endl;
988     if(fem_maill_lin)
989     {
990     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -calcul -ves_in ves_etude_CLDH_sph_lin.ves -ves_out ves_calcul_CLDH_sph_lin.ves -param $DOSSIER_PARAM/etude/param_etude_CLDH_sph_lin.txt -paramaster $DOSSIER_PARAM/etude/param_aster.txt" << std::endl;
991     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_analyse -ves_in ves_calcul_CLDH_sph_lin.ves -ves_out ves_calcul_CLDH_sph_analyse_lin.ves -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_champ_lin.txt" << std::endl;
992     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -calcul -ves_in ves_etude_CLCH_sph_lin.ves -ves_out ves_calcul_CLCH_sph_lin.ves -param $DOSSIER_PARAM/etude/param_etude_CLCH_sph_lin.txt -paramaster $DOSSIER_PARAM/etude/param_aster.txt" << std::endl;
993     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_analyse -ves_in ves_calcul_CLCH_sph_lin.ves -ves_out ves_calcul_CLCH_sph_analyse_lin.ves -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_champ_lin.txt" << std::endl;
994     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -calcul -ves_in ves_etude_CLDH_dev_lin.ves -ves_out ves_calcul_CLDH_dev_lin.ves -param $DOSSIER_PARAM/etude/param_etude_CLDH_dev_lin.txt -paramaster $DOSSIER_PARAM/etude/param_aster.txt" << std::endl;
995     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_analyse -ves_in ves_calcul_CLDH_dev_lin.ves -ves_out ves_calcul_CLDH_dev_analyse_lin.ves -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_champ_lin.txt" << std::endl;
996     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -calcul -ves_in ves_etude_CLCH_dev_lin.ves -ves_out ves_calcul_CLCH_dev_lin.ves -param $DOSSIER_PARAM/etude/param_etude_CLCH_dev_lin.txt -paramaster $DOSSIER_PARAM/etude/param_aster.txt" << std::endl;
997     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_analyse -ves_in ves_calcul_CLCH_dev_lin.ves -ves_out ves_calcul_CLCH_dev_analyse_lin.ves -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_champ_lin.txt" << std::endl;
998     }
999     if(fem_maill_quad)
1000     {
1001     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -calcul -ves_in ves_etude_CLDH_sph_quad.ves -ves_out ves_calcul_CLDH_sph_quad.ves -param $DOSSIER_PARAM/etude/param_etude_CLDH_sph_quad.txt -paramaster $DOSSIER_PARAM/etude/param_aster.txt" << std::endl;
1002     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_analyse -ves_in ves_calcul_CLDH_sph_quad.ves -ves_out ves_calcul_CLDH_sph_analyse_quad.ves -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_champ_quad.txt" << std::endl;
1003     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -calcul -ves_in ves_etude_CLCH_sph_quad.ves -ves_out ves_calcul_CLCH_sph_quad.ves -param $DOSSIER_PARAM/etude/param_etude_CLCH_sph_quad.txt -paramaster $DOSSIER_PARAM/etude/param_aster.txt" << std::endl;
1004     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_analyse -ves_in ves_calcul_CLCH_sph_quad.ves -ves_out ves_calcul_CLCH_sph_analyse_quad.ves -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_champ_quad.txt" << std::endl;
1005     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -calcul -ves_in ves_etude_CLDH_dev_quad.ves -ves_out ves_calcul_CLDH_dev_quad.ves -param $DOSSIER_PARAM/etude/param_etude_CLDH_dev_quad.txt -paramaster $DOSSIER_PARAM/etude/param_aster.txt" << std::endl;
1006     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_analyse -ves_in ves_calcul_CLDH_dev_quad.ves -ves_out ves_calcul_CLDH_dev_analyse_quad.ves -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_champ_quad.txt" << std::endl;
1007     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -calcul -ves_in ves_etude_CLCH_dev_quad.ves -ves_out ves_calcul_CLCH_dev_quad.ves -param $DOSSIER_PARAM/etude/param_etude_CLCH_dev_quad.txt -paramaster $DOSSIER_PARAM/etude/param_aster.txt" << std::endl;
1008     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_analyse -ves_in ves_calcul_CLCH_dev_quad.ves -ves_out ves_calcul_CLCH_dev_analyse_quad.ves -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_champ_quad.txt" << std::endl;
1009     }
1010     ofstrm << "" << std::endl;
1011     ofstrm << "rm *.msh" << std::endl;
1012     ofstrm << "rm *.sol" << std::endl;
1013     ofstrm << "rm *.resu" << std::endl;
1014     ofstrm << "rm *.comm" << std::endl;
1015     ofstrm << "rm *.mail" << std::endl;
1016     ofstrm << "rm *.retour" << std::endl;
1017     ofstrm << "rm *.export" << std::endl;
1018     ofstrm << "rm *.log" << std::endl;
1019     ofstrm << "rm *.mess" << std::endl;
1020 couturad 929 ofstrm << "cd .." << std::endl;
1021     ofstrm << "echo \"**********************\"" << std::endl;
1022     ofstrm << "echo $STATUSTXT" << std::endl;
1023     ofstrm << "echo \"**********************\"" << std::endl;
1024     ofstrm << "exit $STAT" << std::endl;
1025 couturad 964 ofstrm.close();
1026     if(fonc_affiche!=NULL) fonc_affiche((char*)"ves");
1027 couturad 929 system((char*)"chmod 744 ves");
1028     }
1029     }
1030    
1031 couturad 964 int PARAMETRES::generer_script_post_process(int type_etude,int type_inclusion,bool fem_maill_lin,bool fem_maill_quad,fonction_affiche *fonc_affiche)
1032 couturad 951 {
1033     std::ofstream ofstrm((char*)"post_process",std::ios::out|std::ios::trunc);
1034     ofstrm.precision(16);
1035     ofstrm.setf(std::ios::showpoint);
1036     ofstrm << "#!/bin/bash" << std::endl;
1037     ofstrm << "DOSSIER_PARAM=$1" << std::endl;
1038     ofstrm << "CHEMINCOMPILE=$2" << std::endl;
1039 couturad 958 ofstrm << "if [ -z ${CHEMINCOMPILE// } ]" << std::endl;
1040     ofstrm << "then" << std::endl;
1041     ofstrm << " if [ -z $PATHMAGICEXEAPP ]" << std::endl;
1042     ofstrm << " then" << std::endl;
1043     ofstrm << " echo \"Erreur : Chemin vers exe/app manquant\"" << std::endl;
1044     ofstrm << " exit" << std::endl;
1045     ofstrm << " else" << std::endl;
1046     ofstrm << " CHEMINCOMPILE=$PATHMAGICEXEAPP" << std::endl;
1047     ofstrm << " fi" << std::endl;
1048     ofstrm << "fi" << std::endl;
1049 couturad 951 ofstrm << "function executer" << std::endl;
1050     ofstrm << "{" << std::endl;
1051     ofstrm << "$*" << std::endl;
1052     ofstrm << "VAR=$?" << std::endl;
1053     ofstrm << "if (( $VAR )) ; then " << std::endl;
1054     ofstrm << " STATUSTXT=\"ERREUR dans les tests\"; " << std::endl;
1055     ofstrm << " STAT=$VAR;" << std::endl;
1056     ofstrm << " exit $STAT" << std::endl;
1057     ofstrm << "fi" << std::endl;
1058     ofstrm << "}" << std::endl;
1059     ofstrm << "STATUSTXT=\"Test sans ERREUR\"" << std::endl;
1060     ofstrm << "echo \"*******************************\"" << std::endl;
1061     ofstrm << "echo \"Generation d'une microstructure\"" << std::endl;
1062     ofstrm << "echo \"*******************************\"" << std::endl;
1063     ofstrm << "STAT=$?" << std::endl;
1064     ofstrm << "" << std::endl;
1065     ofstrm << "mkdir resultats" << std::endl;
1066     ofstrm << "" << std::endl;
1067     ofstrm << "#Geometrie" << std::endl;
1068     ofstrm << "mkdir -p resultats/cao" << std::endl;
1069     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -exporter_analyses -lstves lst_ves_geo_analyse.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_geometrie.txt -dossier resultats/cao" << std::endl;
1070     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -cumuler_analyses -lstves lst_ves_geo_analyse.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_geometrie.txt -dossier resultats/cao -avec_histogramme" << std::endl;
1071     ofstrm << "" << std::endl;
1072     ofstrm << "#MG Maillage" << std::endl;
1073     ofstrm << "mkdir -p resultats/maillage_mg" << std::endl;
1074     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -exporter_analyses -lstves lst_ves_mg_maill_analyse.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_mg_maillage.txt -dossier resultats/maillage_mg" << std::endl;
1075     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -cumuler_analyses -lstves lst_ves_mg_maill_analyse.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_mg_maillage.txt -dossier resultats/maillage_mg -avec_histogramme" << std::endl;
1076     ofstrm << "" << std::endl;
1077     ofstrm << "#Fem Maillage" << std::endl;
1078     ofstrm << "mkdir -p resultats/maillage_fem" << std::endl;
1079     if(fem_maill_lin)
1080     {
1081     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -exporter_analyses -lstves lst_ves_fem_maill_analyse_lin.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_fem_maillage_lin.txt -dossier resultats/maillage_fem" << std::endl;
1082     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -cumuler_analyses -lstves lst_ves_fem_maill_analyse_lin.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_fem_maillage_lin.txt -dossier resultats/maillage_fem -avec_histogramme" << std::endl;
1083     }
1084     if(fem_maill_quad)
1085     {
1086     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -exporter_analyses -lstves lst_ves_fem_maill_analyse_quad.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_fem_maillage_quad.txt -dossier resultats/maillage_fem" << std::endl;
1087     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -cumuler_analyses -lstves lst_ves_fem_maill_analyse_quad.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_fem_maillage_quad.txt -dossier resultats/maillage_fem -avec_histogramme" << std::endl;
1088     }
1089     ofstrm << "" << std::endl;
1090     ofstrm << "#Calculs" << std::endl;
1091 couturad 966 ofstrm << "mkdir -p resultats/champ/DH/sph" << std::endl;
1092     ofstrm << "mkdir -p resultats/champ/DH/dev" << std::endl;
1093     ofstrm << "mkdir -p resultats/champ/CH/sph" << std::endl;
1094     ofstrm << "mkdir -p resultats/champ/CH/dev" << std::endl;
1095 couturad 951 if(fem_maill_lin)
1096     {
1097 couturad 966 ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -exporter_analyses -lstves lst_ves_calcul_CLDH_sph_analyse_lin.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_champ_lin.txt -dossier resultats/champ/DH/sph" << std::endl;
1098     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -cumuler_analyses -lstves lst_ves_calcul_CLDH_sph_analyse_lin.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_champ_lin.txt -dossier resultats/champ/DH/sph -avec_histogramme" << std::endl;
1099     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -exporter_analyses -lstves lst_ves_calcul_CLCH_sph_analyse_lin.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_champ_lin.txt -dossier resultats/champ/CH/sph" << std::endl;
1100     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -cumuler_analyses -lstves lst_ves_calcul_CLCH_sph_analyse_lin.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_champ_lin.txt -dossier resultats/champ/CH/sph -avec_histogramme" << std::endl;
1101     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -exporter_analyses -lstves lst_ves_calcul_CLDH_dev_analyse_lin.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_champ_lin.txt -dossier resultats/champ/DH/dev" << std::endl;
1102     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -cumuler_analyses -lstves lst_ves_calcul_CLDH_dev_analyse_lin.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_champ_lin.txt -dossier resultats/champ/DH/dev -avec_histogramme" << std::endl;
1103     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -exporter_analyses -lstves lst_ves_calcul_CLCH_dev_analyse_lin.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_champ_lin.txt -dossier resultats/champ/CH/dev" << std::endl;
1104     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -cumuler_analyses -lstves lst_ves_calcul_CLCH_dev_analyse_lin.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_champ_lin.txt -dossier resultats/champ/CH/dev -avec_histogramme" << std::endl;
1105 couturad 951 }
1106     if(fem_maill_quad)
1107     {
1108 couturad 966 ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -exporter_analyses -lstves lst_ves_calcul_CLDH_sph_analyse_quad.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_champ_quad.txt -dossier resultats/champ/DH/sph" << std::endl;
1109     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -cumuler_analyses -lstves lst_ves_calcul_CLDH_sph_analyse_quad.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_champ_quad.txt -dossier resultats/champ/DH/sph -avec_histogramme" << std::endl;
1110     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -exporter_analyses -lstves lst_ves_calcul_CLCH_sph_analyse_quad.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_champ_quad.txt -dossier resultats/champ/CH/sph" << std::endl;
1111     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -cumuler_analyses -lstves lst_ves_calcul_CLCH_sph_analyse_quad.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_champ_quad.txt -dossier resultats/champ/CH/sph -avec_histogramme" << std::endl;
1112     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -exporter_analyses -lstves lst_ves_calcul_CLDH_dev_analyse_quad.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_champ_quad.txt -dossier resultats/champ/DH/dev" << std::endl;
1113     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -cumuler_analyses -lstves lst_ves_calcul_CLDH_dev_analyse_quad.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_champ_quad.txt -dossier resultats/champ/DH/dev -avec_histogramme" << std::endl;
1114     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -exporter_analyses -lstves lst_ves_calcul_CLCH_dev_analyse_quad.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_champ_quad.txt -dossier resultats/champ/CH/dev" << std::endl;
1115     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -cumuler_analyses -lstves lst_ves_calcul_CLCH_dev_analyse_quad.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse_champ_quad.txt -dossier resultats/champ/CH/dev -avec_histogramme" << std::endl;
1116 couturad 951 }
1117     ofstrm << "" << std::endl;
1118     ofstrm << "#Homogeneisation" << std::endl;
1119     ofstrm << "mkdir -p resultats/modules_mecaniques/DH" << std::endl;
1120     ofstrm << "mkdir -p resultats/modules_mecaniques/CH" << std::endl;
1121     if(fem_maill_lin)
1122     {
1123     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -exporter_modules_meca -lstves_spherique lst_ves_calcul_CLDH_sph_analyse_lin.txt -lstves_deviatorique lst_ves_calcul_CLDH_dev_analyse_lin.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_ver_lin.txt -dossier resultats/modules_mecaniques/DH" << std::endl;
1124     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -cumuler_modules_meca -lstves_spherique lst_ves_calcul_CLDH_sph_analyse_lin.txt -lstves_deviatorique lst_ves_calcul_CLDH_dev_analyse_lin.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_ver_lin.txt -dossier resultats/modules_mecaniques/DH -avec_histogramme" << std::endl;
1125     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -exporter_modules_meca -lstves_spherique lst_ves_calcul_CLCH_sph_analyse_lin.txt -lstves_deviatorique lst_ves_calcul_CLCH_dev_analyse_lin.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_ver_lin.txt -dossier resultats/modules_mecaniques/CH" << std::endl;
1126     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -cumuler_modules_meca -lstves_spherique lst_ves_calcul_CLCH_sph_analyse_lin.txt -lstves_deviatorique lst_ves_calcul_CLCH_dev_analyse_lin.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_ver_lin.txt -dossier resultats/modules_mecaniques/CH -avec_histogramme" << std::endl;
1127     }
1128     if(fem_maill_quad)
1129     {
1130     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -exporter_modules_meca -lstves_spherique lst_ves_calcul_CLDH_sph_analyse_quad.txt -lstves_deviatorique lst_ves_calcul_CLDH_dev_analyse_quad.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_ver_quad.txt -dossier resultats/modules_mecaniques/DH" << std::endl;
1131     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -cumuler_modules_meca -lstves_spherique lst_ves_calcul_CLDH_sph_analyse_quad.txt -lstves_deviatorique lst_ves_calcul_CLDH_dev_analyse_quad.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_ver_quad.txt -dossier resultats/modules_mecaniques/DH -avec_histogramme" << std::endl;
1132     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -exporter_modules_meca -lstves_spherique lst_ves_calcul_CLCH_sph_analyse_quad.txt -lstves_deviatorique lst_ves_calcul_CLCH_dev_analyse_quad.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_ver_quad.txt -dossier resultats/modules_mecaniques/CH" << std::endl;
1133     ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -cumuler_modules_meca -lstves_spherique lst_ves_calcul_CLCH_sph_analyse_quad.txt -lstves_deviatorique lst_ves_calcul_CLCH_dev_analyse_quad.txt -lstparam $DOSSIER_PARAM/analyse/lstparam_ver_quad.txt -dossier resultats/modules_mecaniques/CH -avec_histogramme" << std::endl;
1134     }
1135    
1136     ofstrm << "" << std::endl;
1137     ofstrm << "#Data pour graph" << std::endl;
1138     ofstrm << "PWD=pwd" << std::endl;
1139     ofstrm << "cd resultats" << std::endl;
1140     ofstrm << "mkdir data_graph" << std::endl;
1141     if(type_inclusion==MSTRUCT_GENERATEUR_RSA::TYPE_INCLUSION::CYLINDRE)
1142     {
1143     ofstrm << "#Orientation" << std::endl;
1144     ofstrm << "awk 'NR>=2 {print sqrt(((1.0/3.0)-sqrt($2*$2))*((1.0/3.0)-sqrt($2*$2)))+sqrt(((1.0/3.0)-sqrt($3*$3))*((1.0/3.0)-sqrt($3*$3)))+sqrt(((1.0/3.0)-sqrt($4*$4))*((1.0/3.0)-sqrt($4*$4)))}' cao/cumul_Orientation_Particule.txt > data_graph/cumul_Err_abs_ori" << std::endl;
1145     }
1146     ofstrm << "for i in {0..20}" << std::endl;
1147     ofstrm << "do" << std::endl;
1148     if(type_inclusion==MSTRUCT_GENERATEUR_RSA::TYPE_INCLUSION::CYLINDRE)
1149     {
1150     ofstrm << " awk 'NR>=2 {print sqrt(((1.0/3.0)-sqrt($2*$2))*((1.0/3.0)-sqrt($2*$2)))+sqrt(((1.0/3.0)-sqrt($3*$3))*((1.0/3.0)-sqrt($3*$3)))+sqrt(((1.0/3.0)-sqrt($4*$4))*((1.0/3.0)-sqrt($4*$4)))}' cao/liste_Orientation_Particule.txt > data_graph/Err_abs_ori" << std::endl;
1151     if(fem_maill_lin) ofstrm << " awk 'NR>=2 {print sqrt(((1.0/3.0)-sqrt($2*$2))*((1.0/3.0)-sqrt($2*$2)))+sqrt(((1.0/3.0)-sqrt($3*$3))*((1.0/3.0)-sqrt($3*$3)))+sqrt(((1.0/3.0)-sqrt($4*$4))*((1.0/3.0)-sqrt($4*$4)))}' maillage_fem/c_$i/cumul_Orientation_Particule_ponderee_erosion_lin.txt >> data_graph/Err_abs_ori_ponderee_lin" << std::endl;
1152     if(fem_maill_quad) ofstrm << " awk 'NR>=2 {print sqrt(((1.0/3.0)-sqrt($2*$2))*((1.0/3.0)-sqrt($2*$2)))+sqrt(((1.0/3.0)-sqrt($3*$3))*((1.0/3.0)-sqrt($3*$3)))+sqrt(((1.0/3.0)-sqrt($4*$4))*((1.0/3.0)-sqrt($4*$4)))}' maillage_fem/c_$i/cumul_Orientation_Particule_ponderee_erosion_quad.txt >> data_graph/Err_abs_ori_ponderee_quad" << std::endl;
1153     }
1154     ofstrm << " #Module de Young" << std::endl;
1155     ofstrm << " #Points" << std::endl;
1156     if(fem_maill_lin)
1157     {
1158     ofstrm << " awk 'NR>=2 {print $1,$6}' maillage_fem/c_${i}/liste_FEM_maillage_Particule_erosion_lin.txt > data_graph/tmp_fem_maill_lin_${i}" << std::endl;
1159     if(type_inclusion==MSTRUCT_GENERATEUR_RSA::TYPE_INCLUSION::CYLINDRE)
1160     {
1161     ofstrm << " awk 'NR>=2 {print sqrt(((1.0/3.0)-sqrt($2*$2))*((1.0/3.0)-sqrt($2*$2)))+sqrt(((1.0/3.0)-sqrt($3*$3))*((1.0/3.0)-sqrt($3*$3)))+sqrt(((1.0/3.0)-sqrt($4*$4))*((1.0/3.0)-sqrt($4*$4)))}' maillage_fem/c_$i/liste_Orientation_Particule_ponderee_erosion_lin.txt > data_graph/tmp_Err_abs_ori_ponderee_lin_${i}" << std::endl;
1162     }
1163     ofstrm << " awk 'NR>=2 {print $2}' modules_mecaniques/DH/c_${i}/liste_modules_meca_Champ_EPSILON_erosion_lin_Champ_SIGMA_erosion_lin.txt > data_graph/tmp_eapp_DH_lin_${i}" << std::endl;
1164     ofstrm << " awk 'NR>=2 {print $2}' modules_mecaniques/CH/c_${i}/liste_modules_meca_Champ_EPSILON_erosion_lin_Champ_SIGMA_erosion_lin.txt > data_graph/tmp_eapp_CH_lin_${i}" << std::endl;
1165     if(type_inclusion==MSTRUCT_GENERATEUR_RSA::TYPE_INCLUSION::CYLINDRE)
1166     {
1167     ofstrm << " paste -d \" \" data_graph/tmp_fem_maill_lin_${i} data_graph/Err_abs_ori data_graph/tmp_Err_abs_ori_ponderee_lin_${i} data_graph/tmp_eapp_DH_lin_${i} > data_graph/Eapp_DH_lin_${i}.txt" << std::endl;
1168     ofstrm << " sed -i '1s/^/# f_vol Err_abs_ori Err_abs_ori_ponderee Eapp\\n/' data_graph/Eapp_DH_lin_${i}.txt" << std::endl;
1169     ofstrm << " paste -d \" \" data_graph/tmp_fem_maill_lin_${i} data_graph/Err_abs_ori data_graph/tmp_Err_abs_ori_ponderee_lin_${i} data_graph/tmp_eapp_CH_lin_${i} > data_graph/Eapp_CH_lin_${i}.txt" << std::endl;
1170     ofstrm << " sed -i '1s/^/# f_vol Err_abs_ori Err_abs_ori_ponderee Eapp\\n/' data_graph/Eapp_CH_lin_${i}.txt" << std::endl;
1171     ofstrm << " rm data_graph/tmp_fem_maill_lin_${i} data_graph/tmp_Err_abs_ori_ponderee_lin_${i} data_graph/tmp_eapp_DH_lin_${i} data_graph/tmp_eapp_CH_lin_${i}" << std::endl;
1172     }
1173     else
1174     {
1175     ofstrm << " paste -d \" \" data_graph/tmp_fem_maill_lin_${i} data_graph/tmp_eapp_DH_lin_${i} > data_graph/Eapp_DH_lin_${i}.txt" << std::endl;
1176     ofstrm << " sed -i '1s/^/# f_vol Eapp\\n/' data_graph/Eapp_DH_lin_${i}.txt" << std::endl;
1177     ofstrm << " paste -d \" \" data_graph/tmp_fem_maill_lin_${i} data_graph/tmp_eapp_CH_lin_${i} > data_graph/Eapp_CH_lin_${i}.txt" << std::endl;
1178     ofstrm << " sed -i '1s/^/# f_vol Eapp\\n/' data_graph/Eapp_CH_lin_${i}.txt" << std::endl;
1179     ofstrm << " rm data_graph/tmp_fem_maill_lin_${i} data_graph/tmp_eapp_DH_lin_${i} data_graph/tmp_eapp_CH_lin_${i}" << std::endl;
1180     }
1181     }
1182     ofstrm << "" << std::endl;
1183     if(fem_maill_quad)
1184     {
1185     ofstrm << " awk 'NR>=2 {print $1,$6}' maillage_fem/c_${i}/liste_FEM_maillage_Particule_erosion_quad.txt > data_graph/tmp_fem_maill_quad_${i}" << std::endl;
1186     if(type_inclusion==MSTRUCT_GENERATEUR_RSA::TYPE_INCLUSION::CYLINDRE)
1187     {
1188     ofstrm << " awk 'NR>=2 {print sqrt(((1.0/3.0)-sqrt($2*$2))*((1.0/3.0)-sqrt($2*$2)))+sqrt(((1.0/3.0)-sqrt($3*$3))*((1.0/3.0)-sqrt($3*$3)))+sqrt(((1.0/3.0)-sqrt($4*$4))*((1.0/3.0)-sqrt($4*$4)))}' maillage_fem/c_$i/liste_Orientation_Particule_ponderee_erosion_quad.txt > data_graph/tmp_Err_abs_ori_ponderee_quad_${i}" << std::endl;
1189     }
1190     ofstrm << " awk 'NR>=2 {print $2}' modules_mecaniques/DH/c_${i}/liste_modules_meca_Champ_EPSILON_erosion_quad_Champ_SIGMA_erosion_quad.txt > data_graph/tmp_eapp_DH_quad_${i}" << std::endl;
1191     ofstrm << " awk 'NR>=2 {print $2}' modules_mecaniques/CH/c_${i}/liste_modules_meca_Champ_EPSILON_erosion_quad_Champ_SIGMA_erosion_quad.txt > data_graph/tmp_eapp_CH_quad_${i}" << std::endl;
1192     if(type_inclusion==MSTRUCT_GENERATEUR_RSA::TYPE_INCLUSION::CYLINDRE)
1193     {
1194     ofstrm << " paste -d \" \" data_graph/tmp_fem_maill_quad_${i} data_graph/Err_abs_ori data_graph/tmp_Err_abs_ori_ponderee_quad_${i} data_graph/tmp_eapp_DH_quad_${i} > data_graph/Eapp_DH_quad_${i}.txt" << std::endl;
1195     ofstrm << " sed -i '1s/^/# f_vol Err_abs_ori Err_abs_ori_ponderee Eapp\\n/' data_graph/Eapp_DH_quad_${i}.txt" << std::endl;
1196     ofstrm << " paste -d \" \" data_graph/tmp_fem_maill_quad_${i} data_graph/Err_abs_ori data_graph/tmp_Err_abs_ori_ponderee_quad_${i} data_graph/tmp_eapp_CH_quad_${i} > data_graph/Eapp_CH_quad_${i}.txt" << std::endl;
1197     ofstrm << " sed -i '1s/^/# f_vol Err_abs_ori Err_abs_ori_ponderee Eapp\\n/' data_graph/Eapp_CH_quad_${i}.txt" << std::endl;
1198     ofstrm << " rm data_graph/tmp_fem_maill_quad_${i} data_graph/tmp_Err_abs_ori_ponderee_quad_${i} data_graph/tmp_eapp_DH_quad_${i} data_graph/tmp_eapp_CH_quad_${i}" << std::endl;
1199     }
1200     else
1201     {
1202     ofstrm << " paste -d \" \" data_graph/tmp_fem_maill_quad_${i} data_graph/tmp_eapp_DH_quad_${i} > data_graph/Eapp_DH_quad_${i}.txt" << std::endl;
1203     ofstrm << " sed -i '1s/^/# f_vol Eapp\\n/' data_graph/Eapp_DH_quad_${i}.txt" << std::endl;
1204     ofstrm << " paste -d \" \" data_graph/tmp_fem_maill_quad_${i} data_graph/tmp_eapp_CH_quad_${i} > data_graph/Eapp_CH_quad_${i}.txt" << std::endl;
1205     ofstrm << " sed -i '1s/^/# f_vol Eapp\\n/' data_graph/Eapp_CH_quad_${i}.txt" << std::endl;
1206     ofstrm << " rm data_graph/tmp_fem_maill_quad_${i} data_graph/tmp_eapp_DH_quad_${i} data_graph/tmp_eapp_CH_quad_${i}" << std::endl;
1207     }
1208     }
1209     ofstrm << "" << std::endl;
1210     ofstrm << " #Moyenne" << std::endl;
1211     ofstrm << " echo \"${i}\" >> tmp_couche_nb" << std::endl;
1212     if(fem_maill_lin)
1213     {
1214     ofstrm << " awk 'NR>=2 {print $1,$6,$7}' maillage_fem/c_${i}/cumul_FEM_maillage_Particule_erosion_lin.txt >> data_graph/tmp_fem_maill_lin" << std::endl;
1215     ofstrm << " awk 'NR>=2 {print $2,$3}' modules_mecaniques/DH/c_${i}/cumul_modules_meca_Champ_EPSILON_erosion_lin_Champ_SIGMA_erosion_lin.txt >> data_graph/tmp_eapp_DH_lin" << std::endl;
1216     ofstrm << " awk 'NR>=2 {print $2,$3}' modules_mecaniques/CH/c_${i}/cumul_modules_meca_Champ_EPSILON_erosion_lin_Champ_SIGMA_erosion_lin.txt >> data_graph/tmp_eapp_CH_lin" << std::endl;
1217     }
1218     if(fem_maill_quad)
1219     {
1220     ofstrm << " awk 'NR>=2 {print $1,$6,$7}' maillage_fem/c_${i}/cumul_FEM_maillage_Particule_erosion_quad.txt >> data_graph/tmp_fem_maill_quad" << std::endl;
1221     ofstrm << " awk 'NR>=2 {print $2,$3}' modules_mecaniques/DH/c_${i}/cumul_modules_meca_Champ_EPSILON_erosion_quad_Champ_SIGMA_erosion_quad.txt >> data_graph/tmp_eapp_DH_quad" << std::endl;
1222     ofstrm << " awk 'NR>=2 {print $2,$3}' modules_mecaniques/CH/c_${i}/cumul_modules_meca_Champ_EPSILON_erosion_quad_Champ_SIGMA_erosion_quad.txt >> data_graph/tmp_eapp_CH_quad" << std::endl;
1223     }
1224     ofstrm << "done" << std::endl;
1225     if(fem_maill_lin)
1226     {
1227     ofstrm << "paste -d \" \" tmp_couche_nb data_graph/tmp_fem_maill_lin data_graph/tmp_eapp_DH_lin > data_graph/cumul_erosion_Eapp_DH_lin.txt" << std::endl;
1228     ofstrm << "sed -i '1s/^/couche nb_ves f_vol(moy ±) Eapp(moy ±)\\n/' data_graph/cumul_erosion_Eapp_DH_lin.txt" << std::endl;
1229     ofstrm << "paste -d \" \" tmp_couche_nb data_graph/tmp_fem_maill_lin data_graph/tmp_eapp_CH_lin > data_graph/cumul_erosion_Eapp_CH_lin.txt" << std::endl;
1230     ofstrm << "sed -i '1s/^/couche nb_ves f_vol(moy ±) Eapp(moy ±)\\n/' data_graph/cumul_erosion_Eapp_CH_lin.txt" << std::endl;
1231     ofstrm << "rm data_graph/tmp_fem_maill_lin data_graph/tmp_eapp_DH_lin data_graph/tmp_eapp_CH_lin" << std::endl;
1232     }
1233     if(fem_maill_quad)
1234     {
1235     ofstrm << "paste -d \" \" tmp_couche_nb data_graph/tmp_fem_maill_quad data_graph/tmp_eapp_DH_quad > data_graph/cumul_erosion_Eapp_DH_quad.txt" << std::endl;
1236     ofstrm << "sed -i '1s/^/couche nb_ves f_vol(moy ±) Eapp(moy ±)\\n/' data_graph/cumul_erosion_Eapp_DH_quad.txt" << std::endl;
1237     ofstrm << "paste -d \" \" tmp_couche_nb data_graph/tmp_fem_maill_quad data_graph/tmp_eapp_CH_quad > data_graph/cumul_erosion_Eapp_CH_quad.txt" << std::endl;
1238     ofstrm << "sed -i '1s/^/couche nb_ves f_vol(moy ±) Eapp(moy ±)\\n/' data_graph/cumul_erosion_Eapp_CH_quad.txt" << std::endl;
1239     ofstrm << "rm data_graph/tmp_fem_maill_quad data_graph/tmp_eapp_DH_quad data_graph/tmp_eapp_CH_quad" << std::endl;
1240     }
1241     ofstrm << "rm tmp_couche_nb" << std::endl;
1242     ofstrm << "mkdir graph" << std::endl;
1243     ofstrm << "cd .." << std::endl;
1244     ofstrm << "gnuplot fig_Eapp.gnu" << std::endl;
1245     ofstrm << "" << std::endl;
1246     ofstrm << "echo \"**********************\"" << std::endl;
1247     ofstrm << "echo \" FIN \"" << std::endl;
1248     ofstrm << "echo \"**********************\"" << std::endl;
1249     ofstrm << "exit $STAT" << std::endl;
1250 couturad 964 ofstrm.close();
1251     if(fonc_affiche!=NULL) fonc_affiche((char*)"post_process");
1252     system((char*)"chmod 744 post_process");
1253    
1254 couturad 951
1255     ofstrm.open((char*)"fig_Eapp.gnu",std::ios::out|std::ios::trunc);
1256     ofstrm.precision(16);
1257     ofstrm.setf(std::ios::showpoint);
1258    
1259     ofstrm << "#set ytics 10" << std::endl;
1260     ofstrm << "#set xtics 4" << std::endl;
1261     ofstrm << "#set grid" << std::endl;
1262     ofstrm << "#set bmargin 4" << std::endl;
1263     ofstrm << "" << std::endl;
1264     ofstrm << "set terminal postscript eps size 3.5,2.62 enhanced color font 'Helvetica,14'" << std::endl;
1265     ofstrm << "" << std::endl;
1266     ofstrm << "set output \"resultats/graph/nuage_Eapp.eps\"" << std::endl;
1267 couturad 964 ofstrm << "set xrange [0:50]" << std::endl;
1268     // ofstrm << "set yrange [2:10]" << std::endl;
1269 couturad 951 ofstrm << "set title \"Module de Young (GPa)\"" << std::endl;
1270     ofstrm << "set xlabel \"Fraction volumique (%)\"" << std::endl;
1271     ofstrm << "set ylabel \"Module de Young (GPa)\"" << std::endl;
1272     if(fem_maill_lin && fem_maill_quad)
1273     {
1274     if(type_inclusion==MSTRUCT_GENERATEUR_RSA::TYPE_INCLUSION::CYLINDRE)
1275     {
1276     ofstrm << "plot \"resultats/data_graph/Eapp_DH_lin_0.txt\" u ($2*100):($5/(1000000000)) pt 4 ps 2 lc rgb 'blue' lw 1 title \"DH lin\",\\" << std::endl;
1277     ofstrm << " \"resultats/data_graph/Eapp_CH_lin_0.txt\" u ($2*100):($5/(1000000000)) pt 4 ps 2 lc rgb 'red' lw 1 title \"CH lin\",\\" << std::endl;
1278     ofstrm << " \"resultats/data_graph/Eapp_DH_quad_0.txt\" u ($2*100):($5/(1000000000)) pt 5 ps 2 lc rgb 'blue' lw 1 title \"DH quad\",\\" << std::endl;
1279     ofstrm << " \"resultats/data_graph/Eapp_CH_quad_0.txt\" u ($2*100):($5/(1000000000)) pt 5 ps 2 lc rgb 'red' lw 1 title \"CH quad\",\\" << std::endl;
1280     }
1281     else
1282     {
1283     ofstrm << "plot \"resultats/data_graph/Eapp_DH_lin_0.txt\" u ($2*100):($3/(1000000000)) pt 4 ps 2 lc rgb 'blue' lw 1 title \"DH lin\",\\" << std::endl;
1284     ofstrm << " \"resultats/data_graph/Eapp_CH_lin_0.txt\" u ($2*100):($3/(1000000000)) pt 4 ps 2 lc rgb 'red' lw 1 title \"CH lin\",\\" << std::endl;
1285     ofstrm << " \"resultats/data_graph/Eapp_DH_quad_0.txt\" u ($2*100):($3/(1000000000)) pt 5 ps 2 lc rgb 'blue' lw 1 title \"DH quad\",\\" << std::endl;
1286     ofstrm << " \"resultats/data_graph/Eapp_CH_quad_0.txt\" u ($2*100):($3/(1000000000)) pt 5 ps 2 lc rgb 'red' lw 1 title \"CH quad\",\\" << std::endl;
1287     }
1288     }
1289     else if(fem_maill_lin && !fem_maill_quad)
1290     {
1291     if(type_inclusion==MSTRUCT_GENERATEUR_RSA::TYPE_INCLUSION::CYLINDRE)
1292     {
1293     ofstrm << "plot \"resultats/data_graph/Eapp_DH_lin_0.txt\" u ($2*100):($5/(1000000000)) pt 4 ps 2 lc rgb 'blue' lw 1 title \"DH lin\",\\" << std::endl;
1294     ofstrm << " \"resultats/data_graph/Eapp_CH_lin_0.txt\" u ($2*100):($5/(1000000000)) pt 4 ps 2 lc rgb 'red' lw 1 title \"CH lin\",\\" << std::endl;
1295     }
1296     else
1297     {
1298     ofstrm << "plot \"resultats/data_graph/Eapp_DH_lin_0.txt\" u ($2*100):($3/(1000000000)) pt 4 ps 2 lc rgb 'blue' lw 1 title \"DH lin\",\\" << std::endl;
1299     ofstrm << " \"resultats/data_graph/Eapp_CH_lin_0.txt\" u ($2*100):($3/(1000000000)) pt 4 ps 2 lc rgb 'red' lw 1 title \"CH lin\",\\" << std::endl;
1300     }
1301     }
1302     else if(!fem_maill_lin && fem_maill_quad)
1303     {
1304     if(type_inclusion==MSTRUCT_GENERATEUR_RSA::TYPE_INCLUSION::CYLINDRE)
1305     {
1306     ofstrm << "plot \"resultats/data_graph/Eapp_DH_quad_0.txt\" u ($2*100):($5/(1000000000)) pt 5 ps 2 lc rgb 'blue' lw 1 title \"DH quad\",\\" << std::endl;
1307     ofstrm << " \"resultats/data_graph/Eapp_CH_quad_0.txt\" u ($2*100):($5/(1000000000)) pt 5 ps 2 lc rgb 'red' lw 1 title \"CH quad\",\\" << std::endl;
1308     }
1309     else
1310     {
1311     ofstrm << "plot \"resultats/data_graph/Eapp_DH_quad_0.txt\" u ($2*100):($3/(1000000000)) pt 5 ps 2 lc rgb 'blue' lw 1 title \"DH quad\",\\" << std::endl;
1312     ofstrm << " \"resultats/data_graph/Eapp_CH_quad_0.txt\" u ($2*100):($3/(1000000000)) pt 5 ps 2 lc rgb 'red' lw 1 title \"CH quad\",\\" << std::endl;
1313     }
1314     }
1315     ofstrm << "\"resE.dat\" u($1*100):($2) with line lw 2 lc rgb 'black' lt 2 title \"E_{Reuss}\" ,\\" << std::endl;
1316     ofstrm << "\"resE.dat\" u($1*100):($3) with line lw 2 lc rgb 'grey' lt 2 title \"E_{HS-}\" ,\\" << std::endl;
1317     ofstrm << "\"resE.dat\" u($1*100):($7) with line lw 2 lc rgb 'grey' lt 2 dashtype 2 title \"E_{HS+}\" ,\\" << std::endl;
1318     ofstrm << "\"resE.dat\" u($1*100):($8) with line lw 2 lc rgb 'black' lt 2 dashtype 2 title \"E_{Voigt}\"" << std::endl;
1319     ofstrm << "#pause -1" << std::endl;
1320     ofstrm << "" << std::endl;
1321 couturad 964 ofstrm << "set output \"resultats/graph/cumul_Eapp_full.eps\"" << std::endl;
1322 couturad 951 ofstrm << "set title \"Module de Young (GPa)\"" << std::endl;
1323     ofstrm << "set xlabel \"Fraction volumique (%)\"" << std::endl;
1324     ofstrm << "set ylabel \"Module de Young (GPa)\"" << std::endl;
1325     if(fem_maill_lin && fem_maill_quad)
1326     {
1327     ofstrm << "plot \"<(sed -n 2p resultats/data_graph/cumul_erosion_Eapp_DH_lin.txt)\" u ($3*100):($5/(1000000000)):($4*100):($6/(1000000000)) with xyerrorbars pt 4 ps 2 lc rgb 'blue' lw 1 title \"DH lin\",\\" << std::endl;
1328     ofstrm << " \"<(sed -n 2p resultats/data_graph/cumul_erosion_Eapp_CH_lin.txt)\" u ($3*100):($5/(1000000000)):($4*100):($6/(1000000000)) with xyerrorbars pt 4 ps 2 lc rgb 'red' lw 1 title \"CH lin\",\\" << std::endl;
1329     ofstrm << " \"<(sed -n 2p resultats/data_graph/cumul_erosion_Eapp_DH_quad.txt)\" u ($3*100):($5/(1000000000)):($4*100):($6/(1000000000)) with xyerrorbars pt 5 ps 2 lc rgb 'blue' lw 1 title \"DH quad\",\\" << std::endl;
1330     ofstrm << " \"<(sed -n 2p resultats/data_graph/cumul_erosion_Eapp_CH_quad.txt)\" u ($3*100):($5/(1000000000)):($4*100):($6/(1000000000)) with xyerrorbars pt 5 ps 2 lc rgb 'red' lw 1 title \"CH quad\",\\" << std::endl;
1331     }
1332     else if(fem_maill_lin && !fem_maill_quad)
1333     {
1334     ofstrm << "plot \"<(sed -n 2p resultats/data_graph/cumul_erosion_Eapp_DH_lin.txt)\" u ($3*100):($5/(1000000000)):($4*100):($6/(1000000000)) with xyerrorbars pt 4 ps 2 lc rgb 'blue' lw 1 title \"DH lin\",\\" << std::endl;
1335     ofstrm << " \"<(sed -n 2p resultats/data_graph/cumul_erosion_Eapp_CH_lin.txt)\" u ($3*100):($5/(1000000000)):($4*100):($6/(1000000000)) with xyerrorbars pt 4 ps 2 lc rgb 'red' lw 1 title \"CH lin\",\\" << std::endl;
1336     }
1337     else if(!fem_maill_lin && fem_maill_quad)
1338     {
1339     ofstrm << "plot \"<(sed -n 2p resultats/data_graph/cumul_erosion_Eapp_DH_quad.txt)\" u ($3*100):($5/(1000000000)):($4*100):($6/(1000000000)) with xyerrorbars pt 5 ps 2 lc rgb 'blue' lw 1 title \"DH quad\",\\" << std::endl;
1340     ofstrm << " \"<(sed -n 2p resultats/data_graph/cumul_erosion_Eapp_CH_quad.txt)\" u ($3*100):($5/(1000000000)):($4*100):($6/(1000000000)) with xyerrorbars pt 5 ps 2 lc rgb 'red' lw 1 title \"CH quad\",\\" << std::endl;
1341     }
1342     ofstrm << "\"resE.dat\" u($1*100):($2) with line lw 2 lc rgb 'black' lt 2 title \"E_{Reuss}\" ,\\" << std::endl;
1343     ofstrm << "\"resE.dat\" u($1*100):($3) with line lw 2 lc rgb 'grey' lt 2 title \"E_{HS-}\" ,\\" << std::endl;
1344     ofstrm << "\"resE.dat\" u($1*100):($7) with line lw 2 lc rgb 'grey' lt 2 dashtype 2 title \"E_{HS+}\" ,\\" << std::endl;
1345     ofstrm << "\"resE.dat\" u($1*100):($8) with line lw 2 lc rgb 'black' lt 2 dashtype 2 title \"E_{Voigt}\"" << std::endl;
1346     ofstrm << "#pause -1" << std::endl;
1347     ofstrm << "" << std::endl;
1348 couturad 964
1349     ofstrm << "set output \"resultats/graph/cumul_Eapp_c_10.eps\"" << std::endl;
1350     ofstrm << "set title \"Module de Young (GPa)\"" << std::endl;
1351     ofstrm << "set xlabel \"Fraction volumique (%)\"" << std::endl;
1352     ofstrm << "set ylabel \"Module de Young (GPa)\"" << std::endl;
1353     if(fem_maill_lin && fem_maill_quad)
1354     {
1355     ofstrm << "plot \"<(sed -n 11p resultats/data_graph/cumul_erosion_Eapp_DH_lin.txt)\" u ($3*100):($5/(1000000000)):($4*100):($6/(1000000000)) with xyerrorbars pt 4 ps 2 lc rgb 'blue' lw 1 title \"DH lin\",\\" << std::endl;
1356     ofstrm << " \"<(sed -n 11p resultats/data_graph/cumul_erosion_Eapp_CH_lin.txt)\" u ($3*100):($5/(1000000000)):($4*100):($6/(1000000000)) with xyerrorbars pt 4 ps 2 lc rgb 'red' lw 1 title \"CH lin\",\\" << std::endl;
1357     ofstrm << " \"<(sed -n 11p resultats/data_graph/cumul_erosion_Eapp_DH_quad.txt)\" u ($3*100):($5/(1000000000)):($4*100):($6/(1000000000)) with xyerrorbars pt 5 ps 2 lc rgb 'blue' lw 1 title \"DH quad\",\\" << std::endl;
1358     ofstrm << " \"<(sed -n 11p resultats/data_graph/cumul_erosion_Eapp_CH_quad.txt)\" u ($3*100):($5/(1000000000)):($4*100):($6/(1000000000)) with xyerrorbars pt 5 ps 2 lc rgb 'red' lw 1 title \"CH quad\",\\" << std::endl;
1359     }
1360     else if(fem_maill_lin && !fem_maill_quad)
1361     {
1362     ofstrm << "plot \"<(sed -n 11p resultats/data_graph/cumul_erosion_Eapp_DH_lin.txt)\" u ($3*100):($5/(1000000000)):($4*100):($6/(1000000000)) with xyerrorbars pt 4 ps 2 lc rgb 'blue' lw 1 title \"DH lin\",\\" << std::endl;
1363     ofstrm << " \"<(sed -n 11p resultats/data_graph/cumul_erosion_Eapp_CH_lin.txt)\" u ($3*100):($5/(1000000000)):($4*100):($6/(1000000000)) with xyerrorbars pt 4 ps 2 lc rgb 'red' lw 1 title \"CH lin\",\\" << std::endl;
1364     }
1365     else if(!fem_maill_lin && fem_maill_quad)
1366     {
1367     ofstrm << "plot \"<(sed -n 11p resultats/data_graph/cumul_erosion_Eapp_DH_quad.txt)\" u ($3*100):($5/(1000000000)):($4*100):($6/(1000000000)) with xyerrorbars pt 5 ps 2 lc rgb 'blue' lw 1 title \"DH quad\",\\" << std::endl;
1368     ofstrm << " \"<(sed -n 11p resultats/data_graph/cumul_erosion_Eapp_CH_quad.txt)\" u ($3*100):($5/(1000000000)):($4*100):($6/(1000000000)) with xyerrorbars pt 5 ps 2 lc rgb 'red' lw 1 title \"CH quad\",\\" << std::endl;
1369     }
1370     ofstrm << "\"resE.dat\" u($1*100):($2) with line lw 2 lc rgb 'black' lt 2 title \"E_{Reuss}\" ,\\" << std::endl;
1371     ofstrm << "\"resE.dat\" u($1*100):($3) with line lw 2 lc rgb 'grey' lt 2 title \"E_{HS-}\" ,\\" << std::endl;
1372     ofstrm << "\"resE.dat\" u($1*100):($7) with line lw 2 lc rgb 'grey' lt 2 dashtype 2 title \"E_{HS+}\" ,\\" << std::endl;
1373     ofstrm << "\"resE.dat\" u($1*100):($8) with line lw 2 lc rgb 'black' lt 2 dashtype 2 title \"E_{Voigt}\"" << std::endl;
1374     ofstrm << "#pause -1" << std::endl;
1375     ofstrm << "" << std::endl;
1376    
1377 couturad 951 ofstrm << "set output \"resultats/graph/cumul_erosion_Eapp.eps\"" << std::endl;
1378     ofstrm << "set xrange [0:0.5]" << std::endl;
1379 couturad 964 // ofstrm << "set yrange [0:14]" << std::endl;
1380 couturad 951 ofstrm << "set y2range[0:100]" << std::endl;
1381     ofstrm << "set title \"Module de Young (GPa)\"" << std::endl;
1382     ofstrm << "set xlabel \"Distance d'erosion\"" << std::endl;
1383     ofstrm << "set ylabel \"Module de Young (GPa)\"" << std::endl;
1384     ofstrm << "set y2label \"Fraction volumique (%)\"" << std::endl;
1385     ofstrm << "set ytics nomirror" << std::endl;
1386     ofstrm << "set y2tics" << std::endl;
1387     if(fem_maill_lin && fem_maill_quad)
1388     {
1389     ofstrm << "plot \"resultats/data_graph/cumul_erosion_Eapp_DH_lin.txt\" u ($1*0.02):($5/(1000000000)) with lines lc rgb 'blue' lw 1 title \"DH lin\" axes x1y1 ,\\" << std::endl;
1390     ofstrm << " \"resultats/data_graph/cumul_erosion_Eapp_DH_lin.txt\" u ($1*0.02):($5/(1000000000)):($6/(1000000000)) with yerrorbars pt 4 ps 2 lc rgb 'blue' lw 1 title \"erreur DH lin\" axes x1y1 ,\\" << std::endl;
1391     ofstrm << " \"resultats/data_graph/cumul_erosion_Eapp_CH_lin.txt\" u ($1*0.02):($5/(1000000000)) with lines lc rgb 'red' lw 1 title \"CH lin\" axes x1y1 ,\\" << std::endl;
1392     ofstrm << " \"resultats/data_graph/cumul_erosion_Eapp_CH_lin.txt\" u ($1*0.02):($5/(1000000000)):($6/(1000000000)) with yerrorbars pt 4 ps 2 lc rgb 'red' lw 1 title \"erreur CH lin\" axes x1y1 ,\\" << std::endl;
1393     ofstrm << " \"resultats/data_graph/cumul_erosion_Eapp_CH_lin.txt\" u ($1*0.02):($3*100) with linespoint lc rgb 'grey' lt 0 lw 1 pt 15 ps 1 title \"Frac. Vol.\" axes x1y2 ,\\" << std::endl;
1394     ofstrm << " \"resultats/data_graph/cumul_erosion_Eapp_CH_lin.txt\" u ($1*0.02):($3*100):($4*100) with yerrorbars lc rgb 'grey' pt 15 ps 1 title \"erreur Frac. Vol.\" axes x1y2 ,\\" << std::endl;
1395     ofstrm << " \"resultats/data_graph/cumul_erosion_Eapp_DH_quad.txt\" u ($1*0.02):($5/(1000000000)) with lines lc rgb 'blue' lw 1 title \"DH quad\" axes x1y1 ,\\" << std::endl;
1396     ofstrm << " \"resultats/data_graph/cumul_erosion_Eapp_DH_quad.txt\" u ($1*0.02):($5/(1000000000)):($6/(1000000000)) with yerrorbars pt 5 ps 2 lc rgb 'blue' lw 1 title \"erreur DH quad\" axes x1y1 ,\\" << std::endl;
1397     ofstrm << " \"resultats/data_graph/cumul_erosion_Eapp_CH_quad.txt\" u ($1*0.02):($5/(1000000000)) with lines lc rgb 'red' lw 1 title \"CH quad\" axes x1y1 ,\\" << std::endl;
1398     ofstrm << " \"resultats/data_graph/cumul_erosion_Eapp_CH_quad.txt\" u ($1*0.02):($5/(1000000000)):($6/(1000000000)) with yerrorbars pt 5 ps 2 lc rgb 'red' lw 1 title \"erreur CH quad\" axes x1y1 ,\\" << std::endl;
1399     ofstrm << " \"resultats/data_graph/cumul_erosion_Eapp_CH_quad.txt\" u ($1*0.02):($3*100) with linespoint lc rgb 'black' lt 0 lw 1 pt 15 ps 1 title \"Frac. Vol.\" axes x1y2 ,\\" << std::endl;
1400     ofstrm << " \"resultats/data_graph/cumul_erosion_Eapp_CH_quad.txt\" u ($1*0.02):($3*100):($4*100) with yerrorbars lc rgb 'black' pt 15 ps 1 title \"erreur Frac. Vol.\" axes x1y2" << std::endl;
1401     }
1402     else if(fem_maill_lin && !fem_maill_quad)
1403     {
1404     ofstrm << "plot \"resultats/data_graph/cumul_erosion_Eapp_DH_lin.txt\" u ($1*0.02):($5/(1000000000)) with lines lc rgb 'blue' lw 1 title \"DH lin\" axes x1y1 ,\\" << std::endl;
1405     ofstrm << " \"resultats/data_graph/cumul_erosion_Eapp_DH_lin.txt\" u ($1*0.02):($5/(1000000000)):($6/(1000000000)) with yerrorbars pt 4 ps 2 lc rgb 'blue' lw 1 title \"erreur DH lin\" axes x1y1 ,\\" << std::endl;
1406     ofstrm << " \"resultats/data_graph/cumul_erosion_Eapp_CH_lin.txt\" u ($1*0.02):($5/(1000000000)) with lines lc rgb 'red' lw 1 title \"CH lin\" axes x1y1 ,\\" << std::endl;
1407     ofstrm << " \"resultats/data_graph/cumul_erosion_Eapp_CH_lin.txt\" u ($1*0.02):($5/(1000000000)):($6/(1000000000)) with yerrorbars pt 4 ps 2 lc rgb 'red' lw 1 title \"erreur CH lin\" axes x1y1 ,\\" << std::endl;
1408     ofstrm << " \"resultats/data_graph/cumul_erosion_Eapp_CH_lin.txt\" u ($1*0.02):($3*100) with linespoint lc rgb 'grey' lt 0 lw 1 pt 15 ps 1 title \"Frac. Vol.\" axes x1y2 ,\\" << std::endl;
1409     ofstrm << " \"resultats/data_graph/cumul_erosion_Eapp_CH_lin.txt\" u ($1*0.02):($3*100):($4*100) with yerrorbars lc rgb 'grey' pt 15 ps 1 title \"erreur Frac. Vol.\" axes x1y2" << std::endl;
1410     }
1411     if(!fem_maill_lin && fem_maill_quad)
1412     {
1413     ofstrm << "plot \"resultats/data_graph/cumul_erosion_Eapp_DH_quad.txt\" u ($1*0.02):($5/(1000000000)) with lines lc rgb 'blue' lw 1 title \"DH quad\" axes x1y1 ,\\" << std::endl;
1414     ofstrm << " \"resultats/data_graph/cumul_erosion_Eapp_DH_quad.txt\" u ($1*0.02):($5/(1000000000)):($6/(1000000000)) with yerrorbars pt 5 ps 2 lc rgb 'blue' lw 1 title \"erreur DH quad\" axes x1y1 ,\\" << std::endl;
1415     ofstrm << " \"resultats/data_graph/cumul_erosion_Eapp_CH_quad.txt\" u ($1*0.02):($5/(1000000000)) with lines lc rgb 'red' lw 1 title \"CH quad\" axes x1y1 ,\\" << std::endl;
1416     ofstrm << " \"resultats/data_graph/cumul_erosion_Eapp_CH_quad.txt\" u ($1*0.02):($5/(1000000000)):($6/(1000000000)) with yerrorbars pt 5 ps 2 lc rgb 'red' lw 1 title \"erreur CH quad\" axes x1y1 ,\\" << std::endl;
1417     ofstrm << " \"resultats/data_graph/cumul_erosion_Eapp_CH_quad.txt\" u ($1*0.02):($3*100) with linespoint lc rgb 'black' lt 0 lw 1 pt 15 ps 1 title \"Frac. Vol.\" axes x1y2 ,\\" << std::endl;
1418     ofstrm << " \"resultats/data_graph/cumul_erosion_Eapp_CH_quad.txt\" u ($1*0.02):($3*100):($4*100) with yerrorbars lc rgb 'black' pt 15 ps 1 title \"erreur Frac. Vol.\" axes x1y2" << std::endl;
1419     }
1420     ofstrm << "#pause -1" << std::endl;
1421 couturad 964 ofstrm.close();
1422     if(fonc_affiche!=NULL) fonc_affiche((char*)"fig_Eapp.gnu");
1423 couturad 951 }
1424 couturad 929
1425    
1426 couturad 951
1427 couturad 919 int PARAMETRES::importer_fichier_parametres(char* fichier, OT_PARAMETRES* params)
1428     {
1429 couturad 964 return params->lire(fichier);
1430 couturad 919 }
1431    
1432     int PARAMETRES::importer_fichier_liste_parametres(char* fichier, std::vector< OT_PARAMETRES* >& vector_params)
1433     {
1434     std::string str_fichier = fichier;
1435     std::size_t found = str_fichier.rfind((char*)"/");
1436     std::string chemin;
1437     if(found!=-1)
1438     {
1439     chemin = str_fichier.substr(0,found+1);
1440     }
1441     else chemin = "";
1442     FILE* in=fopen(fichier,"rt");
1443     char ligne[4000];
1444     while(!feof(in))
1445     {
1446     fgets(ligne,4000,in);
1447     char *aide = strstr(ligne,"//");
1448     if(aide==NULL)
1449     {
1450     char message[500];
1451     int nb_fichier_param=0;
1452     sscanf(ligne,"%s %i ",message,&nb_fichier_param);
1453     if(strcmp(message,"NB_FICHIER_PARAM")==0)
1454     {
1455     for(int i=0;i<nb_fichier_param;i++)
1456     {
1457     fgets(ligne,4000,in);
1458     if(feof(in)) std::cerr << "*** PARAMETRES::PARAMETRES::importer_fichier_liste_parametres : Erreur de lecture ! ***" << std::endl;
1459     char sous_fichier[500];
1460     sscanf(ligne,"%s",sous_fichier);
1461     OT_PARAMETRES *param = new OT_PARAMETRES;
1462     std::string str_sous_fichier = chemin;
1463     str_sous_fichier.append(sous_fichier);
1464 couturad 964 if(param->lire((char*)str_sous_fichier.c_str())==FAIL) return FAIL;
1465 couturad 919 vector_params.push_back(param);
1466     }
1467     }
1468     }
1469     }
1470 couturad 964 return OK;
1471 couturad 919 }