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 |
|
|
using namespace MICROSTRUCTURE; |
9 |
|
|
|
10 |
|
|
void PARAMETRES::ini_param_generateur_rsa(OT_PARAMETRES* params, int type_inclusion,char* nom_groupe_forme) |
11 |
|
|
{ |
12 |
|
|
params->ajouter("Type_generateur","0",OT_PARAMETRES::DOUBLE,"Type de generateur : RSA [1], "); |
13 |
|
|
params->ajouter("Nom_mgcg_modele","VES",OT_PARAMETRES::STRING,"Nom du MG_CG_MODELE"); |
14 |
|
|
params->ajouter("Nom_groupe_inclusion",nom_groupe_forme,OT_PARAMETRES::STRING,"Nom du groupe d'inclusion (Ex: Sphere)"); |
15 |
|
|
params->ajouter("Boite3D_distribution_Xmin","-0.1",OT_PARAMETRES::DOUBLE,"Xmin boite3D de distribution d'inclusion"); |
16 |
|
|
params->ajouter("Boite3D_distribution_Ymin","-0.1",OT_PARAMETRES::DOUBLE,"Ymin boite3D de distribution d'inclusion"); |
17 |
|
|
params->ajouter("Boite3D_distribution_Zmin","-0.1",OT_PARAMETRES::DOUBLE,"Zmin boite3D de distribution d'inclusion"); |
18 |
|
|
params->ajouter("Boite3D_distribution_Xmax","1.1",OT_PARAMETRES::DOUBLE,"Xmax boite3D de distribution d'inclusion"); |
19 |
|
|
params->ajouter("Boite3D_distribution_Ymax","1.1",OT_PARAMETRES::DOUBLE,"Ymax boite3D de distribution d'inclusion"); |
20 |
|
|
params->ajouter("Boite3D_distribution_Zmax","1.1",OT_PARAMETRES::DOUBLE,"Zmax boite3D de distribution d'inclusion"); |
21 |
|
|
params->ajouter("Nb_pas_X","20",OT_PARAMETRES::DOUBLE,"Nombre de pas selon X pout la creation d'un octree"); |
22 |
|
|
params->ajouter("Nb_pas_Y","20",OT_PARAMETRES::DOUBLE,"Nombre de pas selon Y pout la creation d'un octree"); |
23 |
|
|
params->ajouter("Nb_pas_Z","20",OT_PARAMETRES::DOUBLE,"Nombre de pas selon Z pout la creation d'un octree"); |
24 |
couturad |
929 |
params->ajouter("Fraction_volumique_cible","0.05",OT_PARAMETRES::DOUBLE,"Fraction volumique cible d'inclusion [0.0, 1.0]"); |
25 |
|
|
params->ajouter("Eps_fraction_volumique","0.001",OT_PARAMETRES::DOUBLE,"Epsilon fraction volumique"); |
26 |
couturad |
919 |
if(type_inclusion==GENERATEUR_RSA::TYPE_INCLUSION::SPHERE) |
27 |
|
|
{ |
28 |
|
|
params->ajouter("Type_inclusion","0",OT_PARAMETRES::DOUBLE,"Type d'inclusion : Sphere [0], Cylindre [1]"); |
29 |
|
|
params->ajouter("Mu_rayon","0.2",OT_PARAMETRES::DOUBLE,"Moyenne du rayon de la sphere"); |
30 |
|
|
params->ajouter("Sigma_rayon","0.0",OT_PARAMETRES::DOUBLE,"Ecart type du rayon de la sphere"); |
31 |
|
|
} |
32 |
|
|
if(type_inclusion==GENERATEUR_RSA::TYPE_INCLUSION::CYLINDRE) |
33 |
|
|
{ |
34 |
|
|
params->ajouter("Type_inclusion","1",OT_PARAMETRES::DOUBLE,"Type d'inclusion : Sphere [0], Cylindre [1]"); |
35 |
couturad |
926 |
params->ajouter("Mu_rayon","0.05",OT_PARAMETRES::DOUBLE,"Moyenne du rayon du cylindre"); |
36 |
couturad |
919 |
params->ajouter("Sigma_rayon","0.0",OT_PARAMETRES::DOUBLE,"Ecart type du rayon du cylindre"); |
37 |
couturad |
926 |
params->ajouter("Mu_longueur","0.4",OT_PARAMETRES::DOUBLE,"Moyenne de la longueur du cylindre"); |
38 |
couturad |
919 |
params->ajouter("Sigma_longueur","0.0",OT_PARAMETRES::DOUBLE,"Ecart type de la longueur du cylindre"); |
39 |
couturad |
929 |
params->ajouter("Mu_theta","0.0",OT_PARAMETRES::DOUBLE,"Moyenne de l'angle theta"); |
40 |
|
|
params->ajouter("Sigma_theta","0.0",OT_PARAMETRES::DOUBLE,"Ecart type de l'angle theta"); |
41 |
|
|
params->ajouter("Type_distribution_theta","0",OT_PARAMETRES::DOUBLE,"Type de distribution de l'angle theta : Uniforme[0], Normale[1]"); |
42 |
|
|
params->ajouter("Mu_phi","0.0",OT_PARAMETRES::DOUBLE,"Moyenne de l'angle phi"); |
43 |
|
|
params->ajouter("Sigma_phi","0.0",OT_PARAMETRES::DOUBLE,"Ecart type de l'angle phi"); |
44 |
|
|
params->ajouter("Type_distribution_phi","0",OT_PARAMETRES::DOUBLE,"Type de distribution de l'angle phi : Uniforme[0], Normale[1]"); |
45 |
couturad |
919 |
} |
46 |
|
|
params->ajouter("Porosite","0",OT_PARAMETRES::DOUBLE,"Considerer l'inclusion comme etant une porosite (vide) [1]"); |
47 |
couturad |
926 |
params->ajouter("Distance_min_inter_volume","0.04",OT_PARAMETRES::DOUBLE,"Distance minimale qui separe deux inclusions"); |
48 |
|
|
params->ajouter("Volume_min","0.0008",OT_PARAMETRES::DOUBLE,"Volume minimal admissible de l'inclusion"); |
49 |
|
|
params->ajouter("Aire_min","0.001963",OT_PARAMETRES::DOUBLE,"Aire minimal admissible d'une face de l'inclusion"); |
50 |
couturad |
919 |
params->ajouter("Longueur_min","0.02",OT_PARAMETRES::DOUBLE,"Longueur minimal admissible d'une arete "); |
51 |
|
|
params->ajouter("Angle_min","0.7854",OT_PARAMETRES::DOUBLE,"Angle minimal admissible entre deux faces"); |
52 |
|
|
params->ajouter("Nb_volume_max","500",OT_PARAMETRES::DOUBLE,"Nombre maximal d'inclusion"); |
53 |
|
|
params->ajouter("Nb_iteration_max","2000",OT_PARAMETRES::DOUBLE,"Nombre maximal d'iteration"); |
54 |
|
|
} |
55 |
|
|
|
56 |
|
|
void PARAMETRES::ini_param_materiau(OT_PARAMETRES* params,char* nom_groupe_forme) |
57 |
|
|
{ |
58 |
|
|
params->ajouter("Nom_groupe_forme",nom_groupe_forme,OT_PARAMETRES::STRING,"Nom du groupe de forme (Ex: Sphere, Matrice)"); |
59 |
|
|
params->ajouter("Mu_E","69.0e9",OT_PARAMETRES::DOUBLE,"Moyenne du module d'elasticite"); |
60 |
|
|
params->ajouter("Sigma_E","0.0",OT_PARAMETRES::DOUBLE,"Ecart type du module d'elasticite"); |
61 |
|
|
params->ajouter("Mu_nu","0.3",OT_PARAMETRES::DOUBLE,"Moyenne du coefficient de Poisson"); |
62 |
|
|
params->ajouter("Sigma_nu","0.0",OT_PARAMETRES::DOUBLE,"Ecart type du coefficient de Poisson"); |
63 |
|
|
} |
64 |
|
|
|
65 |
|
|
void PARAMETRES::ini_param_carte_taille(OT_PARAMETRES* params) |
66 |
|
|
{ |
67 |
|
|
params->ajouter("Nom_carte","carte",OT_PARAMETRES::STRING,"Nom de la carte de taille"); |
68 |
couturad |
926 |
params->ajouter("Ecart_nodal","0.04",OT_PARAMETRES::DOUBLE,"Ecart nodal"); |
69 |
couturad |
919 |
params->ajouter("Fechantillonnage","20",OT_PARAMETRES::DOUBLE,"Nombre d'échantillon par entité"); |
70 |
couturad |
926 |
params->ajouter("Nb_cellule_direction","50",OT_PARAMETRES::DOUBLE,"Nombre de cellules de la FEM_SOLUTION dans les directions x,y,z"); |
71 |
couturad |
919 |
params->ajouter("Nom_fem_solution","solcarte",OT_PARAMETRES::STRING,"Nom de la FEM_SOLUTION"); |
72 |
|
|
params->ajouter("Nb_couche_min","2",OT_PARAMETRES::DOUBLE,"Nombre de couches entre chaque solide"); |
73 |
|
|
params->ajouter("Nb_pas","32",OT_PARAMETRES::DOUBLE,"Nombre de pas de balayage"); |
74 |
|
|
params->ajouter("Facteur_augmentation","25",OT_PARAMETRES::DOUBLE,"Facteur d'augmentation de l'ecart nodal d'une cellule a l'autre"); |
75 |
|
|
} |
76 |
|
|
|
77 |
|
|
void PARAMETRES::ini_param_mailleur(OT_PARAMETRES* params) |
78 |
|
|
{ |
79 |
|
|
params->ajouter("Niveau","3",OT_PARAMETRES::DOUBLE,"Niveau du maillage : 1D [1], 2D [2], 3D [3]"); |
80 |
|
|
params->ajouter("Niveau_opt_2d","5",OT_PARAMETRES::DOUBLE,"Limite supérieure des mailles à optimiser"); |
81 |
|
|
params->ajouter("Niveau_opt_3d","2",OT_PARAMETRES::DOUBLE,"Limite supérieure des mailles à optimiser"); |
82 |
|
|
params->ajouter("Priorite_metrique","0.65",OT_PARAMETRES::DOUBLE,"Valeur de la prise en compte de la métrique versus la qualité"); |
83 |
|
|
params->ajouter("Analyse","0",OT_PARAMETRES::DOUBLE,"Analyse de la qualité du maillage après le maillage : Analyse [1]"); |
84 |
|
|
} |
85 |
|
|
|
86 |
|
|
void PARAMETRES::ini_param_mailleur_fem(OT_PARAMETRES* params) |
87 |
|
|
{ |
88 |
|
|
params->ajouter("Degre","2",OT_PARAMETRES::DOUBLE,"Degre du maillage a creer"); |
89 |
|
|
params->ajouter("Analyse","0",OT_PARAMETRES::DOUBLE,"Analyse de la qualité du maillage après le maillage : Analyse [1]"); |
90 |
|
|
params->ajouter("Optimisation_num_noeud","0",OT_PARAMETRES::DOUBLE,"Optimisation de la numerotation des noeuds : Optimisation [1]"); |
91 |
|
|
} |
92 |
|
|
|
93 |
|
|
void PARAMETRES::ini_param_etude(OT_PARAMETRES* params, int type_etude) |
94 |
|
|
{ |
95 |
|
|
params->ajouter("Nom_etude","etude_1",OT_PARAMETRES::STRING,"Nom de l'etude"); |
96 |
|
|
params->ajouter("Fichier_param_aster","param_aster.txt",OT_PARAMETRES::STRING,"Nom du fichier de parametres aster"); |
97 |
|
|
params->ajouter("Type_etude",type_etude,OT_PARAMETRES::DOUBLE,"Type d'etude : Mecanique [0], Thermique [1]"); |
98 |
|
|
params->ajouter("Type_calcul","0",OT_PARAMETRES::DOUBLE,"Type de calcul : Elastique [0]"); |
99 |
|
|
params->ajouter("Code_resu","11111111",OT_PARAMETRES::STRING,"Code de resolution"); |
100 |
couturad |
926 |
if(type_etude==MSTRUCT_VES::TYPE_ETUDE::MECANIQUE) |
101 |
couturad |
919 |
{ |
102 |
|
|
params->ajouter("Type_Chargement","0",OT_PARAMETRES::DOUBLE,"Type de chargement : Spherique [0], Deviatorique [1]"); |
103 |
|
|
params->ajouter("Type_CL","0",OT_PARAMETRES::DOUBLE,"Type de conditions aux limites : CLDH [0], CLCH[1]"); |
104 |
|
|
params->ajouter("Valeur_CL","0.0001",OT_PARAMETRES::DOUBLE,"Valeur de la condition aux limites"); |
105 |
|
|
} |
106 |
|
|
} |
107 |
|
|
|
108 |
|
|
void PARAMETRES::ini_param_homogeneisation(OT_PARAMETRES* params) |
109 |
|
|
{ |
110 |
|
|
params->ajouter("Fraction_volumique_CAD",0,OT_PARAMETRES::DOUBLE,"Calculer la fraction volumique CAD d'un groupe de forme [1]"); |
111 |
|
|
params->ajouter("Fraction_volumique_mg_maillage",0,OT_PARAMETRES::DOUBLE,"Calculer la fraction volumique du mg_maillage d'un groupe de forme [1]"); |
112 |
|
|
params->ajouter("Fraction_volumique_fem_maillage",0,OT_PARAMETRES::DOUBLE,"Calculer la fraction volumique du fem_maillage d'un groupe de forme [1]"); |
113 |
|
|
params->ajouter("Tenseur_orientation",0,OT_PARAMETRES::DOUBLE,"Calculer le tenseur d'orientation d'un groupe de forme [1]"); |
114 |
|
|
params->ajouter("Comparer_champ_theorie",0,OT_PARAMETRES::DOUBLE,"Comparer un champ par rapport a un champ theorique [1]"); |
115 |
|
|
params->ajouter("Critere_comparaison",0,OT_PARAMETRES::DOUBLE,"Erreur moyenne absolue [0], Erreur moyenne au carre [2]"); |
116 |
|
|
params->ajouter("Moyenne_volumique_champ",0,OT_PARAMETRES::DOUBLE,"Calculer la moyenne volumique d'un champ [1]"); |
117 |
|
|
params->ajouter("Num_solution",0,OT_PARAMETRES::DOUBLE,"Numero de la solution"); |
118 |
|
|
params->ajouter("Nom_champ","Sigma",OT_PARAMETRES::STRING,"Nom du champ"); |
119 |
couturad |
926 |
params->ajouter("Nom_groupe_forme","ALL",OT_PARAMETRES::STRING,"Nom du groupe d'inclusion. Si [ALL] prend le ves au complet"); |
120 |
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"); |
121 |
|
|
params->ajouter("Boite3D_analyse_Xmin","0.1",OT_PARAMETRES::DOUBLE,"Xmin boite3D d'analyse"); |
122 |
|
|
params->ajouter("Boite3D_analyse_Ymin","0.1",OT_PARAMETRES::DOUBLE,"Ymin boite3D d'analyse"); |
123 |
|
|
params->ajouter("Boite3D_analyse_Zmin","0.1",OT_PARAMETRES::DOUBLE,"Zmin boite3D d'analyse"); |
124 |
|
|
params->ajouter("Boite3D_analyse_Xmax","0.9",OT_PARAMETRES::DOUBLE,"Xmax boite3D d'analyse"); |
125 |
|
|
params->ajouter("Boite3D_analyse_Ymax","0.9",OT_PARAMETRES::DOUBLE,"Ymax boite3D d'analyse"); |
126 |
|
|
params->ajouter("Boite3D_analyse_Zmax","0.9",OT_PARAMETRES::DOUBLE,"Zmax boite3D d'analyse"); |
127 |
|
|
params->ajouter("Exporter_liste_resultat","0",OT_PARAMETRES::DOUBLE,"Exporter une liste de resultats"); |
128 |
|
|
params->ajouter("Fichier_liste_resultat","fichier_liste_resultat.txt",OT_PARAMETRES::STRING,"Exporter une liste de resultats"); |
129 |
|
|
params->ajouter("Val_champ_theorique_XX","0.0",OT_PARAMETRES::DOUBLE,"Valeur d'un champ theorique XX"); |
130 |
|
|
params->ajouter("Val_champ_theorique_YY","0.0",OT_PARAMETRES::DOUBLE,"Valeur d'un champ theorique YY"); |
131 |
|
|
params->ajouter("Val_champ_theorique_ZZ","0.0",OT_PARAMETRES::DOUBLE,"Valeur d'un champ theorique ZZ"); |
132 |
|
|
params->ajouter("Val_champ_theorique_XY","0.0",OT_PARAMETRES::DOUBLE,"Valeur d'un champ theorique XY"); |
133 |
|
|
params->ajouter("Val_champ_theorique_XZ","0.0",OT_PARAMETRES::DOUBLE,"Valeur d'un champ theorique XZ"); |
134 |
|
|
params->ajouter("Val_champ_theorique_YZ","0.0",OT_PARAMETRES::DOUBLE,"Valeur d'un champ theorique YZ"); |
135 |
|
|
} |
136 |
|
|
|
137 |
couturad |
926 |
void PARAMETRES::ini_param_analyse(OT_PARAMETRES* params,int type_analyse) |
138 |
|
|
{ |
139 |
|
|
if(type_analyse==MSTRUCT_ANALYSE::TYPE_ANALYSE::CHAMP) |
140 |
|
|
{ |
141 |
|
|
params->ajouter("Identifiant","Champ_SIGMA",OT_PARAMETRES::STRING,"Identifiant de l'analyse"); |
142 |
|
|
params->ajouter("Type_analyse",0,OT_PARAMETRES::DOUBLE,"Type d'analyse : Champ [0], Orientation [1], CAO [2], MAILLAGE_MG [3], MAILLAGE_FEM [4]"); |
143 |
|
|
params->ajouter("Num_solution",2,OT_PARAMETRES::DOUBLE,"Numero de la FEM_SOLUTION solution (0,1,2,...)"); |
144 |
|
|
params->ajouter("Nom_groupe_forme","ALL",OT_PARAMETRES::STRING,"Nom du groupe d'inclusion. Si [ALL] prend le ves au complet"); |
145 |
|
|
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]"); |
146 |
|
|
params->ajouter("Boite3D_analyse_Xmin","0.1",OT_PARAMETRES::DOUBLE,"Xmin boite3D d'analyse"); |
147 |
|
|
params->ajouter("Boite3D_analyse_Ymin","0.1",OT_PARAMETRES::DOUBLE,"Ymin boite3D d'analyse"); |
148 |
|
|
params->ajouter("Boite3D_analyse_Zmin","0.1",OT_PARAMETRES::DOUBLE,"Zmin boite3D d'analyse"); |
149 |
|
|
params->ajouter("Boite3D_analyse_Xmax","0.9",OT_PARAMETRES::DOUBLE,"Xmax boite3D d'analyse"); |
150 |
|
|
params->ajouter("Boite3D_analyse_Ymax","0.9",OT_PARAMETRES::DOUBLE,"Ymax boite3D d'analyse"); |
151 |
|
|
params->ajouter("Boite3D_analyse_Zmax","0.9",OT_PARAMETRES::DOUBLE,"Zmax boite3D d'analyse"); |
152 |
|
|
params->ajouter("Largeur_colonne_distribution","0.1",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
153 |
|
|
} |
154 |
|
|
else if(type_analyse==MSTRUCT_ANALYSE::TYPE_ANALYSE::ORIENTATION) |
155 |
|
|
{ |
156 |
|
|
params->ajouter("Identifiant","Orientation_Cylindre",OT_PARAMETRES::STRING,"Identifiant de l'analyse"); |
157 |
|
|
params->ajouter("Type_analyse",1,OT_PARAMETRES::DOUBLE,"Type d'analyse : Champ [0], Orientation [1], CAO [2], MAILLAGE_MG [3], MAILLAGE_FEM [4]"); |
158 |
|
|
params->ajouter("Nom_groupe_forme","Cylindre",OT_PARAMETRES::STRING,"Nom du groupe d'inclusion."); |
159 |
|
|
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]"); |
160 |
|
|
params->ajouter("Boite3D_analyse_Xmin","0.1",OT_PARAMETRES::DOUBLE,"Xmin boite3D d'analyse"); |
161 |
|
|
params->ajouter("Boite3D_analyse_Ymin","0.1",OT_PARAMETRES::DOUBLE,"Ymin boite3D d'analyse"); |
162 |
|
|
params->ajouter("Boite3D_analyse_Zmin","0.1",OT_PARAMETRES::DOUBLE,"Zmin boite3D d'analyse"); |
163 |
|
|
params->ajouter("Boite3D_analyse_Xmax","0.9",OT_PARAMETRES::DOUBLE,"Xmax boite3D d'analyse"); |
164 |
|
|
params->ajouter("Boite3D_analyse_Ymax","0.9",OT_PARAMETRES::DOUBLE,"Ymax boite3D d'analyse"); |
165 |
|
|
params->ajouter("Boite3D_analyse_Zmax","0.9",OT_PARAMETRES::DOUBLE,"Zmax boite3D d'analyse"); |
166 |
|
|
} |
167 |
|
|
else if(type_analyse==MSTRUCT_ANALYSE::TYPE_ANALYSE::CAO) |
168 |
|
|
{ |
169 |
|
|
params->ajouter("Identifiant","Cao",OT_PARAMETRES::STRING,"Identifiant de l'analyse"); |
170 |
|
|
params->ajouter("Type_analyse",2,OT_PARAMETRES::DOUBLE,"Type d'analyse : Champ [0], Orientation [1], CAO [2], MAILLAGE_MG [3], MAILLAGE_FEM [4]"); |
171 |
|
|
params->ajouter("Nom_groupe_forme","ALL",OT_PARAMETRES::STRING,"Nom du groupe d'inclusion. Si [NULL] prend le ves au complet"); |
172 |
|
|
params->ajouter("Largeur_colonne_distribution_nb_volume","1.0",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
173 |
|
|
params->ajouter("Largeur_colonne_distribution_nb_forme","1.0",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
174 |
|
|
params->ajouter("Largeur_colonne_distribution_volume","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
175 |
|
|
params->ajouter("Largeur_colonne_distribution_fraction_volumique","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
176 |
|
|
params->ajouter("Largeur_colonne_distribution_volume_forme","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
177 |
|
|
} |
178 |
|
|
else if(type_analyse==MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_MG) |
179 |
|
|
{ |
180 |
|
|
params->ajouter("Identifiant","Maillage_MG",OT_PARAMETRES::STRING,"Identifiant de l'analyse"); |
181 |
|
|
params->ajouter("Type_analyse",3,OT_PARAMETRES::DOUBLE,"Type d'analyse : Champ [0], Orientation [1], CAO [2], MAILLAGE_MG [3], MAILLAGE_FEM [4]"); |
182 |
|
|
params->ajouter("Nom_groupe_forme","ALL",OT_PARAMETRES::STRING,"Nom du groupe d'inclusion. Si [ALL] prend le ves au complet"); |
183 |
|
|
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]"); |
184 |
|
|
params->ajouter("Boite3D_analyse_Xmin","0.1",OT_PARAMETRES::DOUBLE,"Xmin boite3D d'analyse"); |
185 |
|
|
params->ajouter("Boite3D_analyse_Ymin","0.1",OT_PARAMETRES::DOUBLE,"Ymin boite3D d'analyse"); |
186 |
|
|
params->ajouter("Boite3D_analyse_Zmin","0.1",OT_PARAMETRES::DOUBLE,"Zmin boite3D d'analyse"); |
187 |
|
|
params->ajouter("Boite3D_analyse_Xmax","0.9",OT_PARAMETRES::DOUBLE,"Xmax boite3D d'analyse"); |
188 |
|
|
params->ajouter("Boite3D_analyse_Ymax","0.9",OT_PARAMETRES::DOUBLE,"Ymax boite3D d'analyse"); |
189 |
|
|
params->ajouter("Boite3D_analyse_Zmax","0.9",OT_PARAMETRES::DOUBLE,"Zmax boite3D d'analyse"); |
190 |
|
|
params->ajouter("Largeur_colonne_distribution_nb_element_2D","100",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
191 |
|
|
params->ajouter("Largeur_colonne_distribution_nb_element_3D","100",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
192 |
|
|
params->ajouter("Largeur_colonne_distribution_qualite_2D","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
193 |
|
|
params->ajouter("Largeur_colonne_distribution_qualite_3D","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
194 |
|
|
params->ajouter("Largeur_colonne_distribution_taille_2D","0.0001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
195 |
|
|
params->ajouter("Largeur_colonne_distribution_taille_3D","0.0001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
196 |
|
|
} |
197 |
|
|
else if(type_analyse==MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_FEM) |
198 |
|
|
{ |
199 |
|
|
params->ajouter("Identifiant","Maillage_FEM",OT_PARAMETRES::STRING,"Identifiant de l'analyse"); |
200 |
|
|
params->ajouter("Type_analyse",4,OT_PARAMETRES::DOUBLE,"Type d'analyse : Champ [0], Orientation [1], CAO [2], MAILLAGE_MG [3], MAILLAGE_FEM [4]"); |
201 |
|
|
params->ajouter("Nom_groupe_forme","ALL",OT_PARAMETRES::STRING,"Nom du groupe d'inclusion. Si [ALL] prend le ves au complet"); |
202 |
|
|
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]"); |
203 |
|
|
params->ajouter("Boite3D_analyse_Xmin","0.1",OT_PARAMETRES::DOUBLE,"Xmin boite3D d'analyse"); |
204 |
|
|
params->ajouter("Boite3D_analyse_Ymin","0.1",OT_PARAMETRES::DOUBLE,"Ymin boite3D d'analyse"); |
205 |
|
|
params->ajouter("Boite3D_analyse_Zmin","0.1",OT_PARAMETRES::DOUBLE,"Zmin boite3D d'analyse"); |
206 |
|
|
params->ajouter("Boite3D_analyse_Xmax","0.9",OT_PARAMETRES::DOUBLE,"Xmax boite3D d'analyse"); |
207 |
|
|
params->ajouter("Boite3D_analyse_Ymax","0.9",OT_PARAMETRES::DOUBLE,"Ymax boite3D d'analyse"); |
208 |
|
|
params->ajouter("Boite3D_analyse_Zmax","0.9",OT_PARAMETRES::DOUBLE,"Zmax boite3D d'analyse"); |
209 |
|
|
params->ajouter("Largeur_colonne_distribution_nb_element_2D","100",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
210 |
|
|
params->ajouter("Largeur_colonne_distribution_nb_element_3D","100",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
211 |
|
|
params->ajouter("Largeur_colonne_distribution_jacobien_2D_min","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
212 |
|
|
params->ajouter("Largeur_colonne_distribution_jacobien_2D_max","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
213 |
|
|
params->ajouter("Largeur_colonne_distribution_jacobien_3D_min","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
214 |
|
|
params->ajouter("Largeur_colonne_distribution_jacobien_3D_max","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
215 |
|
|
params->ajouter("Largeur_colonne_distribution_distortion_2D","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
216 |
|
|
params->ajouter("Largeur_colonne_distribution_distortion_3D","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
217 |
|
|
} |
218 |
|
|
} |
219 |
|
|
|
220 |
|
|
void PARAMETRES::ini_param_ver(OT_PARAMETRES* params) |
221 |
|
|
{ |
222 |
|
|
params->ajouter("Identifiant_epsilon","Champ_EPSILON",OT_PARAMETRES::STRING,"Identifiant de l'analyse du champ epsilon"); |
223 |
|
|
params->ajouter("Identifiant_sigma","Champ_SIGMA",OT_PARAMETRES::STRING,"Identifiant de l'analyse du champ sigma"); |
224 |
couturad |
927 |
params->ajouter("Largeur_colonne_distribution_module_Kapp","100000",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
225 |
|
|
params->ajouter("Largeur_colonne_distribution_module_Gapp","100000",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
226 |
|
|
params->ajouter("Largeur_colonne_distribution_module_Eapp","100000",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
227 |
|
|
params->ajouter("Largeur_colonne_distribution_module_Nuapp","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
228 |
couturad |
926 |
} |
229 |
|
|
|
230 |
|
|
|
231 |
|
|
|
232 |
|
|
|
233 |
couturad |
919 |
int PARAMETRES::generer_fichier_parametres(char* nom_dossier_param) |
234 |
|
|
{ |
235 |
|
|
int mkdir_err=0; |
236 |
|
|
std::string sys_command = "mkdir "; sys_command.append(nom_dossier_param); |
237 |
|
|
mkdir_err = system(sys_command.c_str()); |
238 |
|
|
if(mkdir_err !=0) |
239 |
|
|
{ |
240 |
|
|
std::cerr << "*** PARAMETRES::generer_fichier_parametres -> Erreur lors de la creation des dossiers parametres! ***" << std::endl; |
241 |
|
|
return FAIL; |
242 |
|
|
} |
243 |
|
|
sys_command.clear(); sys_command.append("mkdir -p ");sys_command.append(nom_dossier_param); sys_command.append("/geometrie"); |
244 |
|
|
mkdir_err = system(sys_command.c_str()); |
245 |
|
|
if(mkdir_err !=0) |
246 |
|
|
{ |
247 |
|
|
std::cerr << "*** PARAMETRES::generer_fichier_parametres -> Erreur lors de la creation des dossiers parametres/geometrie ! ***" << std::endl; |
248 |
|
|
return FAIL; |
249 |
|
|
} |
250 |
|
|
sys_command.clear(); sys_command.append("mkdir -p ");sys_command.append(nom_dossier_param); sys_command.append("/materiau"); |
251 |
|
|
mkdir_err = system(sys_command.c_str()); |
252 |
|
|
if(mkdir_err !=0) |
253 |
|
|
{ |
254 |
|
|
std::cerr << "*** PARAMETRES::generer_fichier_parametres -> Erreur lors de la creation des dossiers parametre/materiau ! ***" << std::endl; |
255 |
|
|
return FAIL; |
256 |
|
|
} |
257 |
|
|
sys_command.clear(); sys_command.append("mkdir -p ");sys_command.append(nom_dossier_param); sys_command.append("/carte"); |
258 |
|
|
mkdir_err = system(sys_command.c_str()); |
259 |
|
|
if(mkdir_err !=0) |
260 |
|
|
{ |
261 |
|
|
std::cerr << "*** PARAMETRES::generer_fichier_parametres -> Erreur lors de la creation des dossiers parametres/carte ! ***" << std::endl; |
262 |
|
|
return FAIL; |
263 |
|
|
} |
264 |
|
|
sys_command.clear(); sys_command.append("mkdir -p ");sys_command.append(nom_dossier_param); sys_command.append("/maillage"); |
265 |
|
|
mkdir_err = system(sys_command.c_str()); |
266 |
|
|
if(mkdir_err !=0) |
267 |
|
|
{ |
268 |
|
|
std::cerr << "*** PARAMETRES::generer_fichier_parametres -> Erreur lors de la creation des dossiers parametre/maillage ! ***" << std::endl; |
269 |
|
|
return FAIL; |
270 |
|
|
} |
271 |
|
|
sys_command.clear(); sys_command.append("mkdir -p ");sys_command.append(nom_dossier_param); sys_command.append("/fem_maillage"); |
272 |
|
|
mkdir_err = system(sys_command.c_str()); |
273 |
|
|
if(mkdir_err !=0) |
274 |
|
|
{ |
275 |
|
|
std::cerr << "*** PARAMETRES::generer_fichier_parametres -> Erreur lors de la creation des dossiers parametre/fem_maillage ! ***" << std::endl; |
276 |
|
|
return FAIL; |
277 |
|
|
} |
278 |
|
|
sys_command.clear(); sys_command.append("mkdir -p ");sys_command.append(nom_dossier_param); sys_command.append("/etude"); |
279 |
|
|
mkdir_err = system(sys_command.c_str()); |
280 |
|
|
if(mkdir_err !=0) |
281 |
|
|
{ |
282 |
|
|
std::cerr << "*** PARAMETRES::generer_fichier_parametres -> Erreur lors de la creation des dossiers parametre/etude ! ***" << std::endl; |
283 |
|
|
return FAIL; |
284 |
|
|
} |
285 |
couturad |
926 |
sys_command.clear(); sys_command.append("mkdir -p ");sys_command.append(nom_dossier_param); sys_command.append("/analyse"); |
286 |
couturad |
919 |
mkdir_err = system(sys_command.c_str()); |
287 |
|
|
if(mkdir_err !=0) |
288 |
|
|
{ |
289 |
couturad |
926 |
std::cerr << "*** PARAMETRES::generer_fichier_parametres -> Erreur lors de la creation des dossiers parametre/analyse ! ***" << std::endl; |
290 |
couturad |
919 |
return FAIL; |
291 |
|
|
} |
292 |
|
|
std::ofstream f; |
293 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/geometrie/lstparam_geo.txt"); |
294 |
|
|
f.open(sys_command.c_str(),ios::out); |
295 |
|
|
f << "// Fichier de parametres GEOMETRIE" << std::endl; |
296 |
|
|
f << "// [Nombre de fichier de parametres]" << std::endl; |
297 |
couturad |
926 |
f << "NB_FICHIER_PARAM 1" << std::endl; |
298 |
couturad |
919 |
f << "param_geo_cylindre.txt" << std::endl; |
299 |
|
|
f.close(); |
300 |
|
|
OT_PARAMETRES params_geo_1; |
301 |
couturad |
926 |
ini_param_generateur_rsa(¶ms_geo_1,GENERATEUR_RSA::TYPE_INCLUSION::CYLINDRE,(char*)"Cylindre"); |
302 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/geometrie/param_geo_cylindre.txt"); |
303 |
couturad |
919 |
params_geo_1.enregistrer((char*)sys_command.c_str()); |
304 |
|
|
|
305 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/materiau/lstparam_mat.txt"); |
306 |
|
|
f.open(sys_command.c_str(),ios::out); |
307 |
|
|
f << "// Fichier de parametres MATERIAU" << std::endl; |
308 |
|
|
f << "// [Nombre de fichier de parametres]" << std::endl; |
309 |
couturad |
926 |
f << "NB_FICHIER_PARAM 2" << std::endl; |
310 |
couturad |
919 |
f << "param_mat_cylindre.txt" << std::endl; |
311 |
|
|
f << "param_mat_matrice.txt" << std::endl; |
312 |
|
|
f.close(); |
313 |
|
|
OT_PARAMETRES params_mat_cylindre; |
314 |
|
|
ini_param_materiau(¶ms_mat_cylindre,(char*)"Cylindre"); |
315 |
couturad |
926 |
params_mat_cylindre.change_valeur("Mu_E",75.0e9); |
316 |
|
|
params_mat_cylindre.change_valeur("Mu_nu",0.22); |
317 |
couturad |
919 |
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/materiau/param_mat_cylindre.txt"); |
318 |
|
|
params_mat_cylindre.enregistrer((char*)sys_command.c_str()); |
319 |
|
|
OT_PARAMETRES params_mat_matrice; |
320 |
|
|
ini_param_materiau(¶ms_mat_matrice,(char*)"Matrice"); |
321 |
couturad |
926 |
params_mat_matrice.change_valeur("Mu_E",3.5e9); |
322 |
|
|
params_mat_matrice.change_valeur("Mu_nu",0.33); |
323 |
couturad |
919 |
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/materiau/param_mat_matrice.txt"); |
324 |
|
|
params_mat_matrice.enregistrer((char*)sys_command.c_str()); |
325 |
|
|
|
326 |
|
|
OT_PARAMETRES params_carte; |
327 |
|
|
ini_param_carte_taille(¶ms_carte); |
328 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/carte/param_carte.txt"); |
329 |
|
|
params_carte.enregistrer((char*)sys_command.c_str()); |
330 |
|
|
|
331 |
|
|
OT_PARAMETRES params_maill; |
332 |
|
|
ini_param_mailleur(¶ms_maill); |
333 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/maillage/param_maill.txt"); |
334 |
|
|
params_maill.enregistrer((char*)sys_command.c_str()); |
335 |
|
|
|
336 |
|
|
OT_PARAMETRES params_fem_maillage; |
337 |
|
|
ini_param_mailleur_fem(¶ms_fem_maillage); |
338 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/fem_maillage/param_fem_maill.txt"); |
339 |
|
|
params_fem_maillage.enregistrer((char*)sys_command.c_str()); |
340 |
|
|
|
341 |
couturad |
926 |
OT_PARAMETRES params_etude_CLDH_sph; |
342 |
|
|
ini_param_etude(¶ms_etude_CLDH_sph,MSTRUCT_VES::TYPE_ETUDE::MECANIQUE); |
343 |
|
|
params_etude_CLDH_sph.change_valeur("Nom_etude","etude_CLDH_sph"); |
344 |
|
|
params_etude_CLDH_sph.change_valeur("Type_Chargement",0); |
345 |
|
|
params_etude_CLDH_sph.change_valeur("Type_CL",0); |
346 |
|
|
params_etude_CLDH_sph.change_valeur("Valeur_CL",0.0001); |
347 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/etude/param_etude_CLDH_sph.txt"); |
348 |
|
|
params_etude_CLDH_sph.enregistrer((char*)sys_command.c_str()); |
349 |
couturad |
919 |
|
350 |
couturad |
926 |
OT_PARAMETRES params_etude_CLCH_sph; |
351 |
|
|
ini_param_etude(¶ms_etude_CLCH_sph,MSTRUCT_VES::TYPE_ETUDE::MECANIQUE); |
352 |
|
|
params_etude_CLCH_sph.change_valeur("Nom_etude","etude_CLCH_sph"); |
353 |
|
|
params_etude_CLCH_sph.change_valeur("Type_Chargement",0); |
354 |
|
|
params_etude_CLCH_sph.change_valeur("Type_CL",1); |
355 |
|
|
params_etude_CLCH_sph.change_valeur("Valeur_CL",1000); |
356 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/etude/param_etude_CLCH_sph.txt"); |
357 |
|
|
params_etude_CLCH_sph.enregistrer((char*)sys_command.c_str()); |
358 |
|
|
|
359 |
|
|
OT_PARAMETRES params_etude_CLDH_dev; |
360 |
|
|
ini_param_etude(¶ms_etude_CLDH_dev,MSTRUCT_VES::TYPE_ETUDE::MECANIQUE); |
361 |
|
|
params_etude_CLDH_dev.change_valeur("Nom_etude","etude_CLDH_dev"); |
362 |
|
|
params_etude_CLDH_dev.change_valeur("Type_Chargement",1); |
363 |
|
|
params_etude_CLDH_dev.change_valeur("Type_CL",0); |
364 |
|
|
params_etude_CLDH_dev.change_valeur("Valeur_CL",0.0001); |
365 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/etude/param_etude_CLDH_dev.txt"); |
366 |
|
|
params_etude_CLDH_dev.enregistrer((char*)sys_command.c_str()); |
367 |
|
|
|
368 |
|
|
OT_PARAMETRES params_etude_CLCH_dev; |
369 |
|
|
ini_param_etude(¶ms_etude_CLCH_dev,MSTRUCT_VES::TYPE_ETUDE::MECANIQUE); |
370 |
|
|
params_etude_CLCH_dev.change_valeur("Nom_etude","etude_CLCH_dev"); |
371 |
|
|
params_etude_CLCH_dev.change_valeur("Type_Chargement",1); |
372 |
|
|
params_etude_CLCH_dev.change_valeur("Type_CL",1); |
373 |
|
|
params_etude_CLCH_dev.change_valeur("Valeur_CL",1000); |
374 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/etude/param_etude_CLCH_dev.txt"); |
375 |
|
|
params_etude_CLCH_dev.enregistrer((char*)sys_command.c_str()); |
376 |
|
|
|
377 |
|
|
MG_EXPORT exp; |
378 |
|
|
OT_PARAMETRES *params_aster=exp.get_param_aster(); |
379 |
|
|
params_aster->change_valeur("Memoire",3072); |
380 |
|
|
params_aster->change_valeur("Temps_max",250000); |
381 |
|
|
params_aster->change_valeur("Nb_CPU",8); |
382 |
|
|
params_aster->change_valeur("Noeud_ele",2); |
383 |
couturad |
929 |
params_aster->change_valeur("Base_num_mail",36); |
384 |
couturad |
926 |
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/etude/param_aster.txt"); |
385 |
|
|
params_aster->enregistrer((char*)sys_command.c_str()); |
386 |
|
|
|
387 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/lstparam_analyse.txt"); |
388 |
couturad |
919 |
f.open(sys_command.c_str(),ios::out); |
389 |
couturad |
926 |
f << "// Fichier de parametres ANALYSE" << std::endl; |
390 |
couturad |
919 |
f << "// Nombre de fichier de parametres" << std::endl; |
391 |
couturad |
926 |
f << "NB_FICHIER_PARAM 16" << std::endl; |
392 |
|
|
f << "params_analyse_champ_sigma.txt" << std::endl; |
393 |
|
|
f << "params_analyse_champ_sigma_boite.txt" << std::endl; |
394 |
|
|
f << "params_analyse_champ_epsilon.txt" << std::endl; |
395 |
|
|
f << "params_analyse_champ_epsilon_boite.txt" << std::endl; |
396 |
|
|
f << "params_analyse_orientation.txt" << std::endl; |
397 |
|
|
f << "params_analyse_orientation_boite.txt" << std::endl; |
398 |
|
|
f << "params_analyse_cao_all.txt" << std::endl; |
399 |
|
|
f << "params_analyse_cao_cylindre.txt" << std::endl; |
400 |
|
|
f << "params_analyse_cao_matrice.txt" << std::endl; |
401 |
|
|
f << "params_analyse_mg_maillage_all.txt" << std::endl; |
402 |
|
|
f << "params_analyse_mg_maillage_cylindre.txt" << std::endl; |
403 |
|
|
f << "params_analyse_mg_maillage_matrice.txt" << std::endl; |
404 |
|
|
f << "params_analyse_fem_maillage_all.txt" << std::endl; |
405 |
|
|
f << "params_analyse_fem_maillage_all_boite.txt" << std::endl; |
406 |
|
|
f << "params_analyse_fem_maillage_cylindre.txt" << std::endl; |
407 |
|
|
f << "params_analyse_fem_maillage_matrice.txt" << std::endl; |
408 |
couturad |
919 |
f.close(); |
409 |
couturad |
926 |
OT_PARAMETRES params_analyse_champ_sigma; |
410 |
|
|
ini_param_analyse(¶ms_analyse_champ_sigma,MSTRUCT_ANALYSE::TYPE_ANALYSE::CHAMP); |
411 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_champ_sigma.txt"); |
412 |
|
|
params_analyse_champ_sigma.change_valeur("Identifiant","Champ_SIGMA"); |
413 |
|
|
params_analyse_champ_sigma.enregistrer((char*)sys_command.c_str()); |
414 |
|
|
OT_PARAMETRES params_analyse_champ_sigma_boite; |
415 |
|
|
ini_param_analyse(¶ms_analyse_champ_sigma_boite,MSTRUCT_ANALYSE::TYPE_ANALYSE::CHAMP); |
416 |
|
|
params_analyse_champ_sigma_boite.change_valeur("Boite_analyse",1); |
417 |
|
|
params_analyse_champ_sigma_boite.change_valeur("Identifiant","Champ_SIGMA_boite"); |
418 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_champ_sigma_boite.txt"); |
419 |
|
|
params_analyse_champ_sigma_boite.enregistrer((char*)sys_command.c_str()); |
420 |
couturad |
919 |
|
421 |
couturad |
926 |
OT_PARAMETRES params_analyse_champ_epsilon; |
422 |
|
|
ini_param_analyse(¶ms_analyse_champ_epsilon,MSTRUCT_ANALYSE::TYPE_ANALYSE::CHAMP); |
423 |
|
|
params_analyse_champ_epsilon.change_valeur("Identifiant","Champ_EPSILON"); |
424 |
|
|
params_analyse_champ_epsilon.change_valeur("Num_solution",1); |
425 |
|
|
params_analyse_champ_epsilon.change_valeur("Largeur_colonne_distribution",0.00000000001); |
426 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_champ_epsilon.txt"); |
427 |
|
|
params_analyse_champ_epsilon.enregistrer((char*)sys_command.c_str()); |
428 |
|
|
OT_PARAMETRES params_analyse_champ_epsilon_boite; |
429 |
|
|
ini_param_analyse(¶ms_analyse_champ_epsilon_boite,MSTRUCT_ANALYSE::TYPE_ANALYSE::CHAMP); |
430 |
|
|
params_analyse_champ_epsilon_boite.change_valeur("Identifiant","Champ_EPSILON_boite"); |
431 |
|
|
params_analyse_champ_epsilon_boite.change_valeur("Num_solution",1); |
432 |
|
|
params_analyse_champ_epsilon_boite.change_valeur("Boite_analyse",1); |
433 |
|
|
params_analyse_champ_epsilon_boite.change_valeur("Largeur_colonne_distribution",0.00000000001); |
434 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_champ_epsilon_boite.txt"); |
435 |
|
|
params_analyse_champ_epsilon_boite.enregistrer((char*)sys_command.c_str()); |
436 |
|
|
|
437 |
|
|
OT_PARAMETRES params_analyse_orientation; |
438 |
|
|
ini_param_analyse(¶ms_analyse_orientation,MSTRUCT_ANALYSE::TYPE_ANALYSE::ORIENTATION); |
439 |
|
|
params_analyse_orientation.change_valeur("Identifiant","Orientation_Cylindre"); |
440 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_orientation.txt"); |
441 |
|
|
params_analyse_orientation.enregistrer((char*)sys_command.c_str()); |
442 |
|
|
OT_PARAMETRES params_analyse_orientation_boite; |
443 |
|
|
ini_param_analyse(¶ms_analyse_orientation_boite,MSTRUCT_ANALYSE::TYPE_ANALYSE::ORIENTATION); |
444 |
|
|
params_analyse_orientation_boite.change_valeur("Identifiant","Orientation_Cylindre_boite"); |
445 |
|
|
params_analyse_orientation_boite.change_valeur("Boite_analyse",1); |
446 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_orientation_boite.txt"); |
447 |
|
|
params_analyse_orientation_boite.enregistrer((char*)sys_command.c_str()); |
448 |
|
|
|
449 |
|
|
|
450 |
|
|
OT_PARAMETRES params_analyse_cao_all; |
451 |
|
|
ini_param_analyse(¶ms_analyse_cao_all,MSTRUCT_ANALYSE::TYPE_ANALYSE::CAO); |
452 |
|
|
params_analyse_cao_all.change_valeur("Identifiant","Cao_ALL"); |
453 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_cao_all.txt"); |
454 |
|
|
params_analyse_cao_all.enregistrer((char*)sys_command.c_str()); |
455 |
|
|
OT_PARAMETRES params_analyse_cao_cylindre; |
456 |
|
|
ini_param_analyse(¶ms_analyse_cao_cylindre,MSTRUCT_ANALYSE::TYPE_ANALYSE::CAO); |
457 |
|
|
params_analyse_cao_cylindre.change_valeur("Identifiant","Cao_Cylindre"); |
458 |
|
|
params_analyse_cao_cylindre.change_valeur("Nom_groupe_forme","Cylindre"); |
459 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_cao_cylindre.txt"); |
460 |
|
|
params_analyse_cao_cylindre.enregistrer((char*)sys_command.c_str()); |
461 |
|
|
OT_PARAMETRES params_analyse_cao_matrice; |
462 |
|
|
ini_param_analyse(¶ms_analyse_cao_matrice,MSTRUCT_ANALYSE::TYPE_ANALYSE::CAO); |
463 |
|
|
params_analyse_cao_matrice.change_valeur("Identifiant","Cao_Matrice"); |
464 |
|
|
params_analyse_cao_matrice.change_valeur("Nom_groupe_forme","Matrice"); |
465 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_cao_matrice.txt"); |
466 |
|
|
params_analyse_cao_matrice.enregistrer((char*)sys_command.c_str()); |
467 |
|
|
|
468 |
|
|
OT_PARAMETRES params_analyse_mg_maillage_all; |
469 |
|
|
ini_param_analyse(¶ms_analyse_mg_maillage_all,MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_MG); |
470 |
|
|
params_analyse_mg_maillage_all.change_valeur("Identifiant","MG_maillage_ALL"); |
471 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_mg_maillage_all.txt"); |
472 |
|
|
params_analyse_mg_maillage_all.enregistrer((char*)sys_command.c_str()); |
473 |
|
|
OT_PARAMETRES params_analyse_mg_maillage_cylindre; |
474 |
|
|
ini_param_analyse(¶ms_analyse_mg_maillage_cylindre,MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_MG); |
475 |
|
|
params_analyse_mg_maillage_cylindre.change_valeur("Identifiant","MG_maillage_Cylindre"); |
476 |
|
|
params_analyse_mg_maillage_cylindre.change_valeur("Nom_groupe_forme","Cylindre"); |
477 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_mg_maillage_cylindre.txt"); |
478 |
|
|
params_analyse_mg_maillage_cylindre.enregistrer((char*)sys_command.c_str()); |
479 |
|
|
OT_PARAMETRES params_analyse_mg_maillage_matrice; |
480 |
|
|
ini_param_analyse(¶ms_analyse_mg_maillage_matrice,MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_MG); |
481 |
|
|
params_analyse_mg_maillage_matrice.change_valeur("Identifiant","MG_maillage_Matrice"); |
482 |
|
|
params_analyse_mg_maillage_matrice.change_valeur("Nom_groupe_forme","Matrice"); |
483 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_mg_maillage_matrice.txt"); |
484 |
|
|
params_analyse_mg_maillage_matrice.enregistrer((char*)sys_command.c_str()); |
485 |
|
|
|
486 |
|
|
OT_PARAMETRES params_analyse_fem_maillage_all; |
487 |
|
|
ini_param_analyse(¶ms_analyse_fem_maillage_all,MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_FEM); |
488 |
|
|
params_analyse_fem_maillage_all.change_valeur("Identifiant","FEM_maillage_ALL"); |
489 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_fem_maillage_all.txt"); |
490 |
|
|
params_analyse_fem_maillage_all.enregistrer((char*)sys_command.c_str()); |
491 |
|
|
OT_PARAMETRES params_analyse_fem_maillage_all_boite; |
492 |
|
|
ini_param_analyse(¶ms_analyse_fem_maillage_all_boite,MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_FEM); |
493 |
|
|
params_analyse_fem_maillage_all_boite.change_valeur("Identifiant","FEM_maillage_ALL_boite"); |
494 |
|
|
params_analyse_fem_maillage_all_boite.change_valeur("Boite_analyse",1); |
495 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_fem_maillage_all_boite.txt"); |
496 |
|
|
params_analyse_fem_maillage_all_boite.enregistrer((char*)sys_command.c_str()); |
497 |
|
|
OT_PARAMETRES params_analyse_fem_maillage_cylindre; |
498 |
|
|
ini_param_analyse(¶ms_analyse_fem_maillage_cylindre,MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_FEM); |
499 |
|
|
params_analyse_fem_maillage_cylindre.change_valeur("Identifiant","FEM_maillage_Cylindre"); |
500 |
|
|
params_analyse_fem_maillage_cylindre.change_valeur("Nom_groupe_forme","Cylindre"); |
501 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_fem_maillage_cylindre.txt"); |
502 |
|
|
params_analyse_fem_maillage_cylindre.enregistrer((char*)sys_command.c_str()); |
503 |
|
|
OT_PARAMETRES params_analyse_fem_maillage_matrice; |
504 |
|
|
ini_param_analyse(¶ms_analyse_fem_maillage_matrice,MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_FEM); |
505 |
|
|
params_analyse_fem_maillage_matrice.change_valeur("Identifiant","FEM_maillage_Matrice"); |
506 |
|
|
params_analyse_fem_maillage_matrice.change_valeur("Nom_groupe_forme","Matrice"); |
507 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_fem_maillage_matrice.txt"); |
508 |
|
|
params_analyse_fem_maillage_matrice.enregistrer((char*)sys_command.c_str()); |
509 |
|
|
|
510 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/lstparam_ver.txt"); |
511 |
|
|
f.open(sys_command.c_str(),ios::out); |
512 |
|
|
f << "// Fichier de parametres VER" << std::endl; |
513 |
|
|
f << "// Nombre de fichier de parametres" << std::endl; |
514 |
|
|
f << "NB_FICHIER_PARAM 2" << std::endl; |
515 |
|
|
f << "params_ver.txt" << std::endl; |
516 |
|
|
f << "params_ver_boite.txt" << std::endl; |
517 |
|
|
f.close(); |
518 |
|
|
|
519 |
|
|
OT_PARAMETRES params_ver; |
520 |
|
|
ini_param_ver(¶ms_ver); |
521 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_ver.txt"); |
522 |
|
|
params_ver.enregistrer((char*)sys_command.c_str()); |
523 |
|
|
|
524 |
|
|
OT_PARAMETRES params_ver_boite; |
525 |
|
|
ini_param_ver(¶ms_ver_boite); |
526 |
|
|
params_ver_boite.change_valeur("Identifiant_epsilon","Champ_EPSILON_boite"); |
527 |
|
|
params_ver_boite.change_valeur("Identifiant_sigma","Champ_SIGMA_boite"); |
528 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_ver_boite.txt"); |
529 |
|
|
params_ver_boite.enregistrer((char*)sys_command.c_str()); |
530 |
couturad |
919 |
return OK; |
531 |
|
|
} |
532 |
|
|
|
533 |
couturad |
929 |
int PARAMETRES::generer_script_ves(int type_etude) |
534 |
|
|
{ |
535 |
|
|
if(type_etude==MSTRUCT_VES::TYPE_ETUDE::MECANIQUE) |
536 |
|
|
{ |
537 |
|
|
ofstream ofstrm((char*)"generer_nb_ves",std::ios::out|std::ios::trunc); |
538 |
|
|
ofstrm.precision(16); |
539 |
|
|
ofstrm.setf(std::ios::showpoint); |
540 |
|
|
ofstrm << "#!/bin/bash" << std::endl; |
541 |
|
|
ofstrm << "INDEX_DEPART=$1" << std::endl; |
542 |
|
|
ofstrm << "INDEX_FIN=$2" << std::endl; |
543 |
|
|
ofstrm << "DOSSIER_PARAM=$3" << std::endl; |
544 |
|
|
ofstrm << "CHEMINCOMPILE=$4" << std::endl; |
545 |
|
|
ofstrm << "if [ -z ${INDEX_DEPART// } ]" << std::endl; |
546 |
|
|
ofstrm << "then" << std::endl; |
547 |
|
|
ofstrm << " echo \"Erreur : Numero du ves de depart manquant\"" << std::endl; |
548 |
|
|
ofstrm << " exit" << std::endl; |
549 |
|
|
ofstrm << "fi" << std::endl; |
550 |
|
|
ofstrm << "if [ -z ${INDEX_FIN// } ]" << std::endl; |
551 |
|
|
ofstrm << "then" << std::endl; |
552 |
|
|
ofstrm << " echo \"Erreur : Numero du ves de fin manquant\"" << std::endl; |
553 |
|
|
ofstrm << " exit" << std::endl; |
554 |
|
|
ofstrm << "fi" << std::endl; |
555 |
|
|
ofstrm << "if [ -z ${DOSSIER_PARAM// } ]" << std::endl; |
556 |
|
|
ofstrm << "then" << std::endl; |
557 |
|
|
ofstrm << " echo \"Erreur : Dossier de parametres manquant\"" << std::endl; |
558 |
|
|
ofstrm << " exit" << std::endl; |
559 |
|
|
ofstrm << "fi" << std::endl; |
560 |
|
|
ofstrm << "if [ -z ${CHEMINCOMPILE// } ]" << std::endl; |
561 |
|
|
ofstrm << "then" << std::endl; |
562 |
|
|
ofstrm << " echo \"Erreur : Chemin vers exe/app manquant\"" << std::endl; |
563 |
|
|
ofstrm << " exit" << std::endl; |
564 |
|
|
ofstrm << "fi" << std::endl; |
565 |
|
|
ofstrm << "function executer" << std::endl; |
566 |
|
|
ofstrm << "{" << std::endl; |
567 |
|
|
ofstrm << "OPERATION_REUSSIE=1;" << std::endl; |
568 |
|
|
ofstrm << "$*" << std::endl; |
569 |
|
|
ofstrm << "VAR=$?" << std::endl; |
570 |
|
|
ofstrm << "if (( $VAR )) ; then " << std::endl; |
571 |
|
|
ofstrm << " OPERATION_REUSSIE=0; " << std::endl; |
572 |
|
|
ofstrm << " STAT=$VAR;" << std::endl; |
573 |
|
|
ofstrm << "fi" << std::endl; |
574 |
|
|
ofstrm << "}" << std::endl; |
575 |
|
|
ofstrm << "" << std::endl; |
576 |
|
|
ofstrm << "echo \"*********************************************************\"" << std::endl; |
577 |
|
|
ofstrm << "echo \"Generation des microstructures $INDEX_DEPART - $INDEX_FIN\"" << std::endl; |
578 |
|
|
ofstrm << "echo \"*********************************************************\"" << std::endl; |
579 |
|
|
ofstrm << "STAT=$?" << std::endl; |
580 |
|
|
ofstrm << "" << std::endl; |
581 |
|
|
ofstrm << "if [ $INDEX_DEPART -eq 1 ]" << std::endl; |
582 |
|
|
ofstrm << "then" << std::endl; |
583 |
|
|
ofstrm << "mkdir etude" << std::endl; |
584 |
|
|
ofstrm << "fi" << std::endl; |
585 |
|
|
ofstrm << "cd etude" << std::endl; |
586 |
|
|
ofstrm << "for (( k=$INDEX_DEPART; k<=$INDEX_FIN; k++ ))" << std::endl; |
587 |
|
|
ofstrm << "do" << std::endl; |
588 |
|
|
ofstrm << " echo \"Microstructure #$k\"" << std::endl; |
589 |
|
|
ofstrm << " mkdir e$k" << std::endl; |
590 |
|
|
ofstrm << " cd e$k" << std::endl; |
591 |
|
|
ofstrm << " OPERATION_REUSSIE=0" << std::endl; |
592 |
|
|
ofstrm << " until [ $OPERATION_REUSSIE -eq 1 ]; do" << std::endl; |
593 |
|
|
ofstrm << " executer ../../ves $DOSSIER_PARAM $CHEMINCOMPILE" << std::endl; |
594 |
|
|
ofstrm << " done" << std::endl; |
595 |
|
|
ofstrm << " DOSSIER_ACTUEL=$(pwd)" << std::endl; |
596 |
|
|
ofstrm << " echo \"$DOSSIER_ACTUEL/ves_analyse_CLDH_sph.ves\" >> ../../lst_ves_analyse_CLDH_sph.txt" << std::endl; |
597 |
|
|
ofstrm << " echo \"$DOSSIER_ACTUEL/ves_analyse_CLCH_sph.ves\" >> ../../lst_ves_analyse_CLCH_sph.txt" << std::endl; |
598 |
|
|
ofstrm << " echo \"$DOSSIER_ACTUEL/ves_analyse_CLDH_dev.ves\" >> ../../lst_ves_analyse_CLDH_dev.txt" << std::endl; |
599 |
|
|
ofstrm << " echo \"$DOSSIER_ACTUEL/ves_analyse_CLCH_dev.ves\" >> ../../lst_ves_analyse_CLCH_dev.txt" << std::endl; |
600 |
|
|
ofstrm << " cd .." << std::endl; |
601 |
|
|
ofstrm << "done" << std::endl; |
602 |
|
|
ofstrm << "cd .." << std::endl; |
603 |
|
|
ofstrm << "echo \"**********************\"" << std::endl; |
604 |
|
|
ofstrm << "echo \" FIN \"" << std::endl; |
605 |
|
|
ofstrm << "echo \"**********************\"" << std::endl; |
606 |
|
|
ofstrm << "exit $STAT" << std::endl; |
607 |
|
|
ofstrm.close(); |
608 |
|
|
system((char*)"chmod 744 generer_nb_ves"); |
609 |
|
|
|
610 |
|
|
ofstrm.open((char*)"ves",std::ios::out|std::ios::trunc); |
611 |
|
|
ofstrm.precision(16); |
612 |
|
|
ofstrm.setf(std::ios::showpoint); |
613 |
|
|
ofstrm << "#!/bin/bash" << std::endl; |
614 |
|
|
ofstrm << "DOSSIER_PARAM=$1" << std::endl; |
615 |
|
|
ofstrm << "CHEMINCOMPILE=$2" << std::endl; |
616 |
|
|
ofstrm << "function executer" << std::endl; |
617 |
|
|
ofstrm << "{" << std::endl; |
618 |
|
|
ofstrm << "$*" << std::endl; |
619 |
|
|
ofstrm << "VAR=$?" << std::endl; |
620 |
|
|
ofstrm << "if (( $VAR )) ; then " << std::endl; |
621 |
|
|
ofstrm << " STATUSTXT=\"ERREUR dans les tests\"; " << std::endl; |
622 |
|
|
ofstrm << " STAT=$VAR;" << std::endl; |
623 |
|
|
ofstrm << " exit $STAT" << std::endl; |
624 |
|
|
ofstrm << "fi" << std::endl; |
625 |
|
|
ofstrm << "}" << std::endl; |
626 |
|
|
ofstrm << "STATUSTXT=\"Test sans ERREUR\"" << std::endl; |
627 |
|
|
ofstrm << "echo \"*******************************\"" << std::endl; |
628 |
|
|
ofstrm << "echo \"Generation d'une microstructure\"" << std::endl; |
629 |
|
|
ofstrm << "echo \"*******************************\"" << std::endl; |
630 |
|
|
ofstrm << "STAT=$?" << std::endl; |
631 |
|
|
ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_geo -ves_out ves_geo.ves -lstparam $DOSSIER_PARAM/geometrie/lstparam_geo.txt" << std::endl; |
632 |
|
|
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; |
633 |
|
|
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; |
634 |
|
|
ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_mg_maill -ves_in ves_carte.ves -ves_out ves_maill.ves -param $DOSSIER_PARAM/maillage/param_maill.txt -carte carte.ctt" << std::endl; |
635 |
|
|
ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_fem_maill -ves_in ves_maill.ves -ves_out ves_fem_maill.ves -param $DOSSIER_PARAM/fem_maillage/param_fem_maill.txt" << std::endl; |
636 |
|
|
ofstrm << "" << std::endl; |
637 |
|
|
ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_etude -ves_in ves_fem_maill.ves -ves_out ves_etude_CLDH_sph.ves -param $DOSSIER_PARAM/etude/param_etude_CLDH_sph.txt" << std::endl; |
638 |
|
|
ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_etude -ves_in ves_fem_maill.ves -ves_out ves_etude_CLCH_sph.ves -param $DOSSIER_PARAM/etude/param_etude_CLCH_sph.txt" << std::endl; |
639 |
|
|
ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_etude -ves_in ves_fem_maill.ves -ves_out ves_etude_CLDH_dev.ves -param $DOSSIER_PARAM/etude/param_etude_CLDH_dev.txt" << std::endl; |
640 |
|
|
ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_etude -ves_in ves_fem_maill.ves -ves_out ves_etude_CLCH_dev.ves -param $DOSSIER_PARAM/etude/param_etude_CLCH_dev.txt" << std::endl; |
641 |
|
|
ofstrm << "" << std::endl; |
642 |
|
|
ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -calcul -ves_in ves_etude_CLDH_sph.ves -ves_out ves_calcul_CLDH_sph.ves -param $DOSSIER_PARAM/etude/param_etude_CLDH_sph.txt -paramaster $DOSSIER_PARAM/etude/param_aster.txt" << std::endl; |
643 |
|
|
ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -calcul -ves_in ves_etude_CLCH_sph.ves -ves_out ves_calcul_CLCH_sph.ves -param $DOSSIER_PARAM/etude/param_etude_CLCH_sph.txt -paramaster $DOSSIER_PARAM/etude/param_aster.txt" << std::endl; |
644 |
|
|
ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -calcul -ves_in ves_etude_CLDH_dev.ves -ves_out ves_calcul_CLDH_dev.ves -param $DOSSIER_PARAM/etude/param_etude_CLDH_dev.txt -paramaster $DOSSIER_PARAM/etude/param_aster.txt" << std::endl; |
645 |
|
|
ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -calcul -ves_in ves_etude_CLCH_dev.ves -ves_out ves_calcul_CLCH_dev.ves -param $DOSSIER_PARAM/etude/param_etude_CLCH_dev.txt -paramaster $DOSSIER_PARAM/etude/param_aster.txt" << std::endl; |
646 |
|
|
ofstrm << "" << std::endl; |
647 |
|
|
ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_analyse -ves_in ves_calcul_CLDH_sph.ves -ves_out ves_analyse_CLDH_sph.ves -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse.txt" << std::endl; |
648 |
|
|
ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_analyse -ves_in ves_calcul_CLCH_sph.ves -ves_out ves_analyse_CLCH_sph.ves -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse.txt" << std::endl; |
649 |
|
|
ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_analyse -ves_in ves_calcul_CLDH_dev.ves -ves_out ves_analyse_CLDH_dev.ves -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse.txt" << std::endl; |
650 |
|
|
ofstrm << "executer $CHEMINCOMPILE/microstructure/microstructure.exe -gen_analyse -ves_in ves_calcul_CLCH_dev.ves -ves_out ves_analyse_CLCH_dev.ves -lstparam $DOSSIER_PARAM/analyse/lstparam_analyse.txt" << std::endl; |
651 |
|
|
ofstrm << "" << std::endl; |
652 |
|
|
ofstrm << "#executer $CHEMINCOMPILE/microstructure/microstructure.exe -affiche_contenu -ves_in ves_analyse_CLDH_sph.ves" << std::endl; |
653 |
|
|
ofstrm << "#executer $CHEMINCOMPILE/microstructure/microstructure.exe -affiche_contenu -ves_in ves_analyse_CLCH_sph.ves" << std::endl; |
654 |
|
|
ofstrm << "#executer $CHEMINCOMPILE/microstructure/microstructure.exe -affiche_contenu -ves_in ves_analyse_CLDH_dev.ves" << std::endl; |
655 |
|
|
ofstrm << "#executer $CHEMINCOMPILE/microstructure/microstructure.exe -affiche_contenu -ves_in ves_analyse_CLCH_dev.ves" << std::endl; |
656 |
|
|
ofstrm << "cd .." << std::endl; |
657 |
|
|
ofstrm << "echo \"**********************\"" << std::endl; |
658 |
|
|
ofstrm << "echo $STATUSTXT" << std::endl; |
659 |
|
|
ofstrm << "echo \"**********************\"" << std::endl; |
660 |
|
|
ofstrm << "exit $STAT" << std::endl; |
661 |
|
|
ofstrm.close(); |
662 |
|
|
system((char*)"chmod 744 ves"); |
663 |
|
|
} |
664 |
|
|
} |
665 |
|
|
|
666 |
|
|
|
667 |
|
|
|
668 |
couturad |
919 |
int PARAMETRES::importer_fichier_parametres(char* fichier, OT_PARAMETRES* params) |
669 |
|
|
{ |
670 |
|
|
params->lire(fichier); |
671 |
|
|
} |
672 |
|
|
|
673 |
|
|
int PARAMETRES::importer_fichier_liste_parametres(char* fichier, std::vector< OT_PARAMETRES* >& vector_params) |
674 |
|
|
{ |
675 |
|
|
std::string str_fichier = fichier; |
676 |
|
|
std::size_t found = str_fichier.rfind((char*)"/"); |
677 |
|
|
std::string chemin; |
678 |
|
|
if(found!=-1) |
679 |
|
|
{ |
680 |
|
|
chemin = str_fichier.substr(0,found+1); |
681 |
|
|
} |
682 |
|
|
else chemin = ""; |
683 |
|
|
FILE* in=fopen(fichier,"rt"); |
684 |
|
|
char ligne[4000]; |
685 |
|
|
while(!feof(in)) |
686 |
|
|
{ |
687 |
|
|
fgets(ligne,4000,in); |
688 |
|
|
char *aide = strstr(ligne,"//"); |
689 |
|
|
if(aide==NULL) |
690 |
|
|
{ |
691 |
|
|
char message[500]; |
692 |
|
|
int nb_fichier_param=0; |
693 |
|
|
sscanf(ligne,"%s %i ",message,&nb_fichier_param); |
694 |
|
|
if(strcmp(message,"NB_FICHIER_PARAM")==0) |
695 |
|
|
{ |
696 |
|
|
for(int i=0;i<nb_fichier_param;i++) |
697 |
|
|
{ |
698 |
|
|
fgets(ligne,4000,in); |
699 |
|
|
if(feof(in)) std::cerr << "*** PARAMETRES::PARAMETRES::importer_fichier_liste_parametres : Erreur de lecture ! ***" << std::endl; |
700 |
|
|
char sous_fichier[500]; |
701 |
|
|
sscanf(ligne,"%s",sous_fichier); |
702 |
|
|
OT_PARAMETRES *param = new OT_PARAMETRES; |
703 |
|
|
std::string str_sous_fichier = chemin; |
704 |
|
|
str_sous_fichier.append(sous_fichier); |
705 |
|
|
param->lire((char*)str_sous_fichier.c_str()); |
706 |
|
|
vector_params.push_back(param); |
707 |
|
|
} |
708 |
|
|
} |
709 |
|
|
} |
710 |
|
|
} |
711 |
|
|
} |