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 |
926 |
params->ajouter("Fraction_volumique_cible","0.05",OT_PARAMETRES::DOUBLE,"Fraction volumique cible d'inclusion [0.0, 1.0]"); |
25 |
couturad |
919 |
if(type_inclusion==GENERATEUR_RSA::TYPE_INCLUSION::SPHERE) |
26 |
|
|
{ |
27 |
|
|
params->ajouter("Type_inclusion","0",OT_PARAMETRES::DOUBLE,"Type d'inclusion : Sphere [0], Cylindre [1]"); |
28 |
|
|
params->ajouter("Mu_rayon","0.2",OT_PARAMETRES::DOUBLE,"Moyenne du rayon de la sphere"); |
29 |
|
|
params->ajouter("Sigma_rayon","0.0",OT_PARAMETRES::DOUBLE,"Ecart type du rayon de la sphere"); |
30 |
|
|
} |
31 |
|
|
if(type_inclusion==GENERATEUR_RSA::TYPE_INCLUSION::CYLINDRE) |
32 |
|
|
{ |
33 |
|
|
params->ajouter("Type_inclusion","1",OT_PARAMETRES::DOUBLE,"Type d'inclusion : Sphere [0], Cylindre [1]"); |
34 |
couturad |
926 |
params->ajouter("Mu_rayon","0.05",OT_PARAMETRES::DOUBLE,"Moyenne du rayon du cylindre"); |
35 |
couturad |
919 |
params->ajouter("Sigma_rayon","0.0",OT_PARAMETRES::DOUBLE,"Ecart type du rayon du cylindre"); |
36 |
couturad |
926 |
params->ajouter("Mu_longueur","0.4",OT_PARAMETRES::DOUBLE,"Moyenne de la longueur du cylindre"); |
37 |
couturad |
919 |
params->ajouter("Sigma_longueur","0.0",OT_PARAMETRES::DOUBLE,"Ecart type de la longueur du cylindre"); |
38 |
|
|
params->ajouter("Mu_axe_X","0.0",OT_PARAMETRES::DOUBLE,"Moyenne de l'orientation selon l'axe X"); |
39 |
|
|
params->ajouter("Sigma_axe_X","0.0",OT_PARAMETRES::DOUBLE,"Ecart type de l'orientation selon l'axe X"); |
40 |
|
|
params->ajouter("Type_distribution_axe_X","0",OT_PARAMETRES::DOUBLE,"Type de distribution de l'orientation selon l'axe X : Uniforme[0], Normale[1]"); |
41 |
|
|
params->ajouter("Mu_axe_Y","0.0",OT_PARAMETRES::DOUBLE,"Moyenne de l'orientation selon l'axe Y"); |
42 |
|
|
params->ajouter("Sigma_axe_Y","0.0",OT_PARAMETRES::DOUBLE,"Ecart type de l'orientation selon l'axe Y"); |
43 |
|
|
params->ajouter("Type_distribution_axe_Y","0",OT_PARAMETRES::DOUBLE,"Type de distribution de l'orientation selon l'axe Y : Uniforme[0], Normale[1]"); |
44 |
|
|
params->ajouter("Mu_axe_Z","0.0",OT_PARAMETRES::DOUBLE,"Moyenne de l'orientation selon l'axe Z"); |
45 |
|
|
params->ajouter("Sigma_axe_Z","0.0",OT_PARAMETRES::DOUBLE,"Ecart type de l'orientation selon l'axe Z"); |
46 |
|
|
params->ajouter("Type_distribution_axe_Z","0",OT_PARAMETRES::DOUBLE,"Type de distribution de l'orientation selon l'axe Z : Uniforme[0], Normale[1]"); |
47 |
|
|
} |
48 |
|
|
params->ajouter("Porosite","0",OT_PARAMETRES::DOUBLE,"Considerer l'inclusion comme etant une porosite (vide) [1]"); |
49 |
couturad |
926 |
params->ajouter("Distance_min_inter_volume","0.04",OT_PARAMETRES::DOUBLE,"Distance minimale qui separe deux inclusions"); |
50 |
|
|
params->ajouter("Volume_min","0.0008",OT_PARAMETRES::DOUBLE,"Volume minimal admissible de l'inclusion"); |
51 |
|
|
params->ajouter("Aire_min","0.001963",OT_PARAMETRES::DOUBLE,"Aire minimal admissible d'une face de l'inclusion"); |
52 |
couturad |
919 |
params->ajouter("Longueur_min","0.02",OT_PARAMETRES::DOUBLE,"Longueur minimal admissible d'une arete "); |
53 |
|
|
params->ajouter("Angle_min","0.7854",OT_PARAMETRES::DOUBLE,"Angle minimal admissible entre deux faces"); |
54 |
|
|
params->ajouter("Nb_volume_max","500",OT_PARAMETRES::DOUBLE,"Nombre maximal d'inclusion"); |
55 |
|
|
params->ajouter("Nb_iteration_max","2000",OT_PARAMETRES::DOUBLE,"Nombre maximal d'iteration"); |
56 |
|
|
} |
57 |
|
|
|
58 |
|
|
void PARAMETRES::ini_param_materiau(OT_PARAMETRES* params,char* nom_groupe_forme) |
59 |
|
|
{ |
60 |
|
|
params->ajouter("Nom_groupe_forme",nom_groupe_forme,OT_PARAMETRES::STRING,"Nom du groupe de forme (Ex: Sphere, Matrice)"); |
61 |
|
|
params->ajouter("Mu_E","69.0e9",OT_PARAMETRES::DOUBLE,"Moyenne du module d'elasticite"); |
62 |
|
|
params->ajouter("Sigma_E","0.0",OT_PARAMETRES::DOUBLE,"Ecart type du module d'elasticite"); |
63 |
|
|
params->ajouter("Mu_nu","0.3",OT_PARAMETRES::DOUBLE,"Moyenne du coefficient de Poisson"); |
64 |
|
|
params->ajouter("Sigma_nu","0.0",OT_PARAMETRES::DOUBLE,"Ecart type du coefficient de Poisson"); |
65 |
|
|
} |
66 |
|
|
|
67 |
|
|
void PARAMETRES::ini_param_carte_taille(OT_PARAMETRES* params) |
68 |
|
|
{ |
69 |
|
|
params->ajouter("Nom_carte","carte",OT_PARAMETRES::STRING,"Nom de la carte de taille"); |
70 |
couturad |
926 |
params->ajouter("Ecart_nodal","0.04",OT_PARAMETRES::DOUBLE,"Ecart nodal"); |
71 |
couturad |
919 |
params->ajouter("Fechantillonnage","20",OT_PARAMETRES::DOUBLE,"Nombre d'échantillon par entité"); |
72 |
couturad |
926 |
params->ajouter("Nb_cellule_direction","50",OT_PARAMETRES::DOUBLE,"Nombre de cellules de la FEM_SOLUTION dans les directions x,y,z"); |
73 |
couturad |
919 |
params->ajouter("Nom_fem_solution","solcarte",OT_PARAMETRES::STRING,"Nom de la FEM_SOLUTION"); |
74 |
|
|
params->ajouter("Nb_couche_min","2",OT_PARAMETRES::DOUBLE,"Nombre de couches entre chaque solide"); |
75 |
|
|
params->ajouter("Nb_pas","32",OT_PARAMETRES::DOUBLE,"Nombre de pas de balayage"); |
76 |
|
|
params->ajouter("Facteur_augmentation","25",OT_PARAMETRES::DOUBLE,"Facteur d'augmentation de l'ecart nodal d'une cellule a l'autre"); |
77 |
|
|
} |
78 |
|
|
|
79 |
|
|
void PARAMETRES::ini_param_mailleur(OT_PARAMETRES* params) |
80 |
|
|
{ |
81 |
|
|
params->ajouter("Niveau","3",OT_PARAMETRES::DOUBLE,"Niveau du maillage : 1D [1], 2D [2], 3D [3]"); |
82 |
|
|
params->ajouter("Niveau_opt_2d","5",OT_PARAMETRES::DOUBLE,"Limite supérieure des mailles à optimiser"); |
83 |
|
|
params->ajouter("Niveau_opt_3d","2",OT_PARAMETRES::DOUBLE,"Limite supérieure des mailles à optimiser"); |
84 |
|
|
params->ajouter("Priorite_metrique","0.65",OT_PARAMETRES::DOUBLE,"Valeur de la prise en compte de la métrique versus la qualité"); |
85 |
|
|
params->ajouter("Analyse","0",OT_PARAMETRES::DOUBLE,"Analyse de la qualité du maillage après le maillage : Analyse [1]"); |
86 |
|
|
} |
87 |
|
|
|
88 |
|
|
void PARAMETRES::ini_param_mailleur_fem(OT_PARAMETRES* params) |
89 |
|
|
{ |
90 |
|
|
params->ajouter("Degre","2",OT_PARAMETRES::DOUBLE,"Degre du maillage a creer"); |
91 |
|
|
params->ajouter("Analyse","0",OT_PARAMETRES::DOUBLE,"Analyse de la qualité du maillage après le maillage : Analyse [1]"); |
92 |
|
|
params->ajouter("Optimisation_num_noeud","0",OT_PARAMETRES::DOUBLE,"Optimisation de la numerotation des noeuds : Optimisation [1]"); |
93 |
|
|
} |
94 |
|
|
|
95 |
|
|
void PARAMETRES::ini_param_etude(OT_PARAMETRES* params, int type_etude) |
96 |
|
|
{ |
97 |
|
|
params->ajouter("Nom_etude","etude_1",OT_PARAMETRES::STRING,"Nom de l'etude"); |
98 |
|
|
params->ajouter("Fichier_param_aster","param_aster.txt",OT_PARAMETRES::STRING,"Nom du fichier de parametres aster"); |
99 |
|
|
params->ajouter("Type_etude",type_etude,OT_PARAMETRES::DOUBLE,"Type d'etude : Mecanique [0], Thermique [1]"); |
100 |
|
|
params->ajouter("Type_calcul","0",OT_PARAMETRES::DOUBLE,"Type de calcul : Elastique [0]"); |
101 |
|
|
params->ajouter("Code_resu","11111111",OT_PARAMETRES::STRING,"Code de resolution"); |
102 |
couturad |
926 |
if(type_etude==MSTRUCT_VES::TYPE_ETUDE::MECANIQUE) |
103 |
couturad |
919 |
{ |
104 |
|
|
params->ajouter("Type_Chargement","0",OT_PARAMETRES::DOUBLE,"Type de chargement : Spherique [0], Deviatorique [1]"); |
105 |
|
|
params->ajouter("Type_CL","0",OT_PARAMETRES::DOUBLE,"Type de conditions aux limites : CLDH [0], CLCH[1]"); |
106 |
|
|
params->ajouter("Valeur_CL","0.0001",OT_PARAMETRES::DOUBLE,"Valeur de la condition aux limites"); |
107 |
|
|
} |
108 |
|
|
} |
109 |
|
|
|
110 |
|
|
void PARAMETRES::ini_param_homogeneisation(OT_PARAMETRES* params) |
111 |
|
|
{ |
112 |
|
|
params->ajouter("Fraction_volumique_CAD",0,OT_PARAMETRES::DOUBLE,"Calculer la fraction volumique CAD d'un groupe de forme [1]"); |
113 |
|
|
params->ajouter("Fraction_volumique_mg_maillage",0,OT_PARAMETRES::DOUBLE,"Calculer la fraction volumique du mg_maillage d'un groupe de forme [1]"); |
114 |
|
|
params->ajouter("Fraction_volumique_fem_maillage",0,OT_PARAMETRES::DOUBLE,"Calculer la fraction volumique du fem_maillage d'un groupe de forme [1]"); |
115 |
|
|
params->ajouter("Tenseur_orientation",0,OT_PARAMETRES::DOUBLE,"Calculer le tenseur d'orientation d'un groupe de forme [1]"); |
116 |
|
|
params->ajouter("Comparer_champ_theorie",0,OT_PARAMETRES::DOUBLE,"Comparer un champ par rapport a un champ theorique [1]"); |
117 |
|
|
params->ajouter("Critere_comparaison",0,OT_PARAMETRES::DOUBLE,"Erreur moyenne absolue [0], Erreur moyenne au carre [2]"); |
118 |
|
|
params->ajouter("Moyenne_volumique_champ",0,OT_PARAMETRES::DOUBLE,"Calculer la moyenne volumique d'un champ [1]"); |
119 |
|
|
params->ajouter("Num_solution",0,OT_PARAMETRES::DOUBLE,"Numero de la solution"); |
120 |
|
|
params->ajouter("Nom_champ","Sigma",OT_PARAMETRES::STRING,"Nom du champ"); |
121 |
couturad |
926 |
params->ajouter("Nom_groupe_forme","ALL",OT_PARAMETRES::STRING,"Nom du groupe d'inclusion. Si [ALL] prend le ves au complet"); |
122 |
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"); |
123 |
|
|
params->ajouter("Boite3D_analyse_Xmin","0.1",OT_PARAMETRES::DOUBLE,"Xmin boite3D d'analyse"); |
124 |
|
|
params->ajouter("Boite3D_analyse_Ymin","0.1",OT_PARAMETRES::DOUBLE,"Ymin boite3D d'analyse"); |
125 |
|
|
params->ajouter("Boite3D_analyse_Zmin","0.1",OT_PARAMETRES::DOUBLE,"Zmin boite3D d'analyse"); |
126 |
|
|
params->ajouter("Boite3D_analyse_Xmax","0.9",OT_PARAMETRES::DOUBLE,"Xmax boite3D d'analyse"); |
127 |
|
|
params->ajouter("Boite3D_analyse_Ymax","0.9",OT_PARAMETRES::DOUBLE,"Ymax boite3D d'analyse"); |
128 |
|
|
params->ajouter("Boite3D_analyse_Zmax","0.9",OT_PARAMETRES::DOUBLE,"Zmax boite3D d'analyse"); |
129 |
|
|
params->ajouter("Exporter_liste_resultat","0",OT_PARAMETRES::DOUBLE,"Exporter une liste de resultats"); |
130 |
|
|
params->ajouter("Fichier_liste_resultat","fichier_liste_resultat.txt",OT_PARAMETRES::STRING,"Exporter une liste de resultats"); |
131 |
|
|
params->ajouter("Val_champ_theorique_XX","0.0",OT_PARAMETRES::DOUBLE,"Valeur d'un champ theorique XX"); |
132 |
|
|
params->ajouter("Val_champ_theorique_YY","0.0",OT_PARAMETRES::DOUBLE,"Valeur d'un champ theorique YY"); |
133 |
|
|
params->ajouter("Val_champ_theorique_ZZ","0.0",OT_PARAMETRES::DOUBLE,"Valeur d'un champ theorique ZZ"); |
134 |
|
|
params->ajouter("Val_champ_theorique_XY","0.0",OT_PARAMETRES::DOUBLE,"Valeur d'un champ theorique XY"); |
135 |
|
|
params->ajouter("Val_champ_theorique_XZ","0.0",OT_PARAMETRES::DOUBLE,"Valeur d'un champ theorique XZ"); |
136 |
|
|
params->ajouter("Val_champ_theorique_YZ","0.0",OT_PARAMETRES::DOUBLE,"Valeur d'un champ theorique YZ"); |
137 |
|
|
} |
138 |
|
|
|
139 |
couturad |
926 |
void PARAMETRES::ini_param_analyse(OT_PARAMETRES* params,int type_analyse) |
140 |
|
|
{ |
141 |
|
|
if(type_analyse==MSTRUCT_ANALYSE::TYPE_ANALYSE::CHAMP) |
142 |
|
|
{ |
143 |
|
|
params->ajouter("Identifiant","Champ_SIGMA",OT_PARAMETRES::STRING,"Identifiant de l'analyse"); |
144 |
|
|
params->ajouter("Type_analyse",0,OT_PARAMETRES::DOUBLE,"Type d'analyse : Champ [0], Orientation [1], CAO [2], MAILLAGE_MG [3], MAILLAGE_FEM [4]"); |
145 |
|
|
params->ajouter("Num_solution",2,OT_PARAMETRES::DOUBLE,"Numero de la FEM_SOLUTION solution (0,1,2,...)"); |
146 |
|
|
params->ajouter("Nom_groupe_forme","ALL",OT_PARAMETRES::STRING,"Nom du groupe d'inclusion. Si [ALL] prend le ves au complet"); |
147 |
|
|
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]"); |
148 |
|
|
params->ajouter("Boite3D_analyse_Xmin","0.1",OT_PARAMETRES::DOUBLE,"Xmin boite3D d'analyse"); |
149 |
|
|
params->ajouter("Boite3D_analyse_Ymin","0.1",OT_PARAMETRES::DOUBLE,"Ymin boite3D d'analyse"); |
150 |
|
|
params->ajouter("Boite3D_analyse_Zmin","0.1",OT_PARAMETRES::DOUBLE,"Zmin boite3D d'analyse"); |
151 |
|
|
params->ajouter("Boite3D_analyse_Xmax","0.9",OT_PARAMETRES::DOUBLE,"Xmax boite3D d'analyse"); |
152 |
|
|
params->ajouter("Boite3D_analyse_Ymax","0.9",OT_PARAMETRES::DOUBLE,"Ymax boite3D d'analyse"); |
153 |
|
|
params->ajouter("Boite3D_analyse_Zmax","0.9",OT_PARAMETRES::DOUBLE,"Zmax boite3D d'analyse"); |
154 |
|
|
params->ajouter("Largeur_colonne_distribution","0.1",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
155 |
|
|
} |
156 |
|
|
else if(type_analyse==MSTRUCT_ANALYSE::TYPE_ANALYSE::ORIENTATION) |
157 |
|
|
{ |
158 |
|
|
params->ajouter("Identifiant","Orientation_Cylindre",OT_PARAMETRES::STRING,"Identifiant de l'analyse"); |
159 |
|
|
params->ajouter("Type_analyse",1,OT_PARAMETRES::DOUBLE,"Type d'analyse : Champ [0], Orientation [1], CAO [2], MAILLAGE_MG [3], MAILLAGE_FEM [4]"); |
160 |
|
|
params->ajouter("Nom_groupe_forme","Cylindre",OT_PARAMETRES::STRING,"Nom du groupe d'inclusion."); |
161 |
|
|
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]"); |
162 |
|
|
params->ajouter("Boite3D_analyse_Xmin","0.1",OT_PARAMETRES::DOUBLE,"Xmin boite3D d'analyse"); |
163 |
|
|
params->ajouter("Boite3D_analyse_Ymin","0.1",OT_PARAMETRES::DOUBLE,"Ymin boite3D d'analyse"); |
164 |
|
|
params->ajouter("Boite3D_analyse_Zmin","0.1",OT_PARAMETRES::DOUBLE,"Zmin boite3D d'analyse"); |
165 |
|
|
params->ajouter("Boite3D_analyse_Xmax","0.9",OT_PARAMETRES::DOUBLE,"Xmax boite3D d'analyse"); |
166 |
|
|
params->ajouter("Boite3D_analyse_Ymax","0.9",OT_PARAMETRES::DOUBLE,"Ymax boite3D d'analyse"); |
167 |
|
|
params->ajouter("Boite3D_analyse_Zmax","0.9",OT_PARAMETRES::DOUBLE,"Zmax boite3D d'analyse"); |
168 |
|
|
} |
169 |
|
|
else if(type_analyse==MSTRUCT_ANALYSE::TYPE_ANALYSE::CAO) |
170 |
|
|
{ |
171 |
|
|
params->ajouter("Identifiant","Cao",OT_PARAMETRES::STRING,"Identifiant de l'analyse"); |
172 |
|
|
params->ajouter("Type_analyse",2,OT_PARAMETRES::DOUBLE,"Type d'analyse : Champ [0], Orientation [1], CAO [2], MAILLAGE_MG [3], MAILLAGE_FEM [4]"); |
173 |
|
|
params->ajouter("Nom_groupe_forme","ALL",OT_PARAMETRES::STRING,"Nom du groupe d'inclusion. Si [NULL] prend le ves au complet"); |
174 |
|
|
params->ajouter("Largeur_colonne_distribution_nb_volume","1.0",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
175 |
|
|
params->ajouter("Largeur_colonne_distribution_nb_forme","1.0",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
176 |
|
|
params->ajouter("Largeur_colonne_distribution_volume","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
177 |
|
|
params->ajouter("Largeur_colonne_distribution_fraction_volumique","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
178 |
|
|
params->ajouter("Largeur_colonne_distribution_volume_forme","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
179 |
|
|
} |
180 |
|
|
else if(type_analyse==MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_MG) |
181 |
|
|
{ |
182 |
|
|
params->ajouter("Identifiant","Maillage_MG",OT_PARAMETRES::STRING,"Identifiant de l'analyse"); |
183 |
|
|
params->ajouter("Type_analyse",3,OT_PARAMETRES::DOUBLE,"Type d'analyse : Champ [0], Orientation [1], CAO [2], MAILLAGE_MG [3], MAILLAGE_FEM [4]"); |
184 |
|
|
params->ajouter("Nom_groupe_forme","ALL",OT_PARAMETRES::STRING,"Nom du groupe d'inclusion. Si [ALL] prend le ves au complet"); |
185 |
|
|
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]"); |
186 |
|
|
params->ajouter("Boite3D_analyse_Xmin","0.1",OT_PARAMETRES::DOUBLE,"Xmin boite3D d'analyse"); |
187 |
|
|
params->ajouter("Boite3D_analyse_Ymin","0.1",OT_PARAMETRES::DOUBLE,"Ymin boite3D d'analyse"); |
188 |
|
|
params->ajouter("Boite3D_analyse_Zmin","0.1",OT_PARAMETRES::DOUBLE,"Zmin boite3D d'analyse"); |
189 |
|
|
params->ajouter("Boite3D_analyse_Xmax","0.9",OT_PARAMETRES::DOUBLE,"Xmax boite3D d'analyse"); |
190 |
|
|
params->ajouter("Boite3D_analyse_Ymax","0.9",OT_PARAMETRES::DOUBLE,"Ymax boite3D d'analyse"); |
191 |
|
|
params->ajouter("Boite3D_analyse_Zmax","0.9",OT_PARAMETRES::DOUBLE,"Zmax boite3D d'analyse"); |
192 |
|
|
params->ajouter("Largeur_colonne_distribution_nb_element_2D","100",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
193 |
|
|
params->ajouter("Largeur_colonne_distribution_nb_element_3D","100",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
194 |
|
|
params->ajouter("Largeur_colonne_distribution_qualite_2D","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
195 |
|
|
params->ajouter("Largeur_colonne_distribution_qualite_3D","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
196 |
|
|
params->ajouter("Largeur_colonne_distribution_taille_2D","0.0001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
197 |
|
|
params->ajouter("Largeur_colonne_distribution_taille_3D","0.0001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
198 |
|
|
} |
199 |
|
|
else if(type_analyse==MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_FEM) |
200 |
|
|
{ |
201 |
|
|
params->ajouter("Identifiant","Maillage_FEM",OT_PARAMETRES::STRING,"Identifiant de l'analyse"); |
202 |
|
|
params->ajouter("Type_analyse",4,OT_PARAMETRES::DOUBLE,"Type d'analyse : Champ [0], Orientation [1], CAO [2], MAILLAGE_MG [3], MAILLAGE_FEM [4]"); |
203 |
|
|
params->ajouter("Nom_groupe_forme","ALL",OT_PARAMETRES::STRING,"Nom du groupe d'inclusion. Si [ALL] prend le ves au complet"); |
204 |
|
|
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]"); |
205 |
|
|
params->ajouter("Boite3D_analyse_Xmin","0.1",OT_PARAMETRES::DOUBLE,"Xmin boite3D d'analyse"); |
206 |
|
|
params->ajouter("Boite3D_analyse_Ymin","0.1",OT_PARAMETRES::DOUBLE,"Ymin boite3D d'analyse"); |
207 |
|
|
params->ajouter("Boite3D_analyse_Zmin","0.1",OT_PARAMETRES::DOUBLE,"Zmin boite3D d'analyse"); |
208 |
|
|
params->ajouter("Boite3D_analyse_Xmax","0.9",OT_PARAMETRES::DOUBLE,"Xmax boite3D d'analyse"); |
209 |
|
|
params->ajouter("Boite3D_analyse_Ymax","0.9",OT_PARAMETRES::DOUBLE,"Ymax boite3D d'analyse"); |
210 |
|
|
params->ajouter("Boite3D_analyse_Zmax","0.9",OT_PARAMETRES::DOUBLE,"Zmax boite3D d'analyse"); |
211 |
|
|
params->ajouter("Largeur_colonne_distribution_nb_element_2D","100",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
212 |
|
|
params->ajouter("Largeur_colonne_distribution_nb_element_3D","100",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
213 |
|
|
params->ajouter("Largeur_colonne_distribution_jacobien_2D_min","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
214 |
|
|
params->ajouter("Largeur_colonne_distribution_jacobien_2D_max","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
215 |
|
|
params->ajouter("Largeur_colonne_distribution_jacobien_3D_min","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
216 |
|
|
params->ajouter("Largeur_colonne_distribution_jacobien_3D_max","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
217 |
|
|
params->ajouter("Largeur_colonne_distribution_distortion_2D","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
218 |
|
|
params->ajouter("Largeur_colonne_distribution_distortion_3D","0.001",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
219 |
|
|
} |
220 |
|
|
} |
221 |
|
|
|
222 |
|
|
void PARAMETRES::ini_param_ver(OT_PARAMETRES* params) |
223 |
|
|
{ |
224 |
|
|
params->ajouter("Identifiant_epsilon","Champ_EPSILON",OT_PARAMETRES::STRING,"Identifiant de l'analyse du champ epsilon"); |
225 |
|
|
params->ajouter("Identifiant_sigma","Champ_SIGMA",OT_PARAMETRES::STRING,"Identifiant de l'analyse du champ sigma"); |
226 |
|
|
params->ajouter("Largeur_colonne_distribution_module_Young","1000",OT_PARAMETRES::DOUBLE,"Largeur d'une colonne pour graph de distribution"); |
227 |
|
|
} |
228 |
|
|
|
229 |
|
|
|
230 |
|
|
|
231 |
|
|
|
232 |
couturad |
919 |
int PARAMETRES::generer_fichier_parametres(char* nom_dossier_param) |
233 |
|
|
{ |
234 |
|
|
int mkdir_err=0; |
235 |
|
|
std::string sys_command = "mkdir "; sys_command.append(nom_dossier_param); |
236 |
|
|
mkdir_err = system(sys_command.c_str()); |
237 |
|
|
if(mkdir_err !=0) |
238 |
|
|
{ |
239 |
|
|
std::cerr << "*** PARAMETRES::generer_fichier_parametres -> Erreur lors de la creation des dossiers parametres! ***" << std::endl; |
240 |
|
|
return FAIL; |
241 |
|
|
} |
242 |
|
|
sys_command.clear(); sys_command.append("mkdir -p ");sys_command.append(nom_dossier_param); sys_command.append("/geometrie"); |
243 |
|
|
mkdir_err = system(sys_command.c_str()); |
244 |
|
|
if(mkdir_err !=0) |
245 |
|
|
{ |
246 |
|
|
std::cerr << "*** PARAMETRES::generer_fichier_parametres -> Erreur lors de la creation des dossiers parametres/geometrie ! ***" << std::endl; |
247 |
|
|
return FAIL; |
248 |
|
|
} |
249 |
|
|
sys_command.clear(); sys_command.append("mkdir -p ");sys_command.append(nom_dossier_param); sys_command.append("/materiau"); |
250 |
|
|
mkdir_err = system(sys_command.c_str()); |
251 |
|
|
if(mkdir_err !=0) |
252 |
|
|
{ |
253 |
|
|
std::cerr << "*** PARAMETRES::generer_fichier_parametres -> Erreur lors de la creation des dossiers parametre/materiau ! ***" << std::endl; |
254 |
|
|
return FAIL; |
255 |
|
|
} |
256 |
|
|
sys_command.clear(); sys_command.append("mkdir -p ");sys_command.append(nom_dossier_param); sys_command.append("/carte"); |
257 |
|
|
mkdir_err = system(sys_command.c_str()); |
258 |
|
|
if(mkdir_err !=0) |
259 |
|
|
{ |
260 |
|
|
std::cerr << "*** PARAMETRES::generer_fichier_parametres -> Erreur lors de la creation des dossiers parametres/carte ! ***" << std::endl; |
261 |
|
|
return FAIL; |
262 |
|
|
} |
263 |
|
|
sys_command.clear(); sys_command.append("mkdir -p ");sys_command.append(nom_dossier_param); sys_command.append("/maillage"); |
264 |
|
|
mkdir_err = system(sys_command.c_str()); |
265 |
|
|
if(mkdir_err !=0) |
266 |
|
|
{ |
267 |
|
|
std::cerr << "*** PARAMETRES::generer_fichier_parametres -> Erreur lors de la creation des dossiers parametre/maillage ! ***" << std::endl; |
268 |
|
|
return FAIL; |
269 |
|
|
} |
270 |
|
|
sys_command.clear(); sys_command.append("mkdir -p ");sys_command.append(nom_dossier_param); sys_command.append("/fem_maillage"); |
271 |
|
|
mkdir_err = system(sys_command.c_str()); |
272 |
|
|
if(mkdir_err !=0) |
273 |
|
|
{ |
274 |
|
|
std::cerr << "*** PARAMETRES::generer_fichier_parametres -> Erreur lors de la creation des dossiers parametre/fem_maillage ! ***" << std::endl; |
275 |
|
|
return FAIL; |
276 |
|
|
} |
277 |
|
|
sys_command.clear(); sys_command.append("mkdir -p ");sys_command.append(nom_dossier_param); sys_command.append("/etude"); |
278 |
|
|
mkdir_err = system(sys_command.c_str()); |
279 |
|
|
if(mkdir_err !=0) |
280 |
|
|
{ |
281 |
|
|
std::cerr << "*** PARAMETRES::generer_fichier_parametres -> Erreur lors de la creation des dossiers parametre/etude ! ***" << std::endl; |
282 |
|
|
return FAIL; |
283 |
|
|
} |
284 |
couturad |
926 |
sys_command.clear(); sys_command.append("mkdir -p ");sys_command.append(nom_dossier_param); sys_command.append("/analyse"); |
285 |
couturad |
919 |
mkdir_err = system(sys_command.c_str()); |
286 |
|
|
if(mkdir_err !=0) |
287 |
|
|
{ |
288 |
couturad |
926 |
std::cerr << "*** PARAMETRES::generer_fichier_parametres -> Erreur lors de la creation des dossiers parametre/analyse ! ***" << std::endl; |
289 |
couturad |
919 |
return FAIL; |
290 |
|
|
} |
291 |
|
|
std::ofstream f; |
292 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/geometrie/lstparam_geo.txt"); |
293 |
|
|
f.open(sys_command.c_str(),ios::out); |
294 |
|
|
f << "// Fichier de parametres GEOMETRIE" << std::endl; |
295 |
|
|
f << "// [Nombre de fichier de parametres]" << std::endl; |
296 |
couturad |
926 |
f << "NB_FICHIER_PARAM 1" << std::endl; |
297 |
couturad |
919 |
f << "param_geo_cylindre.txt" << std::endl; |
298 |
|
|
f.close(); |
299 |
|
|
OT_PARAMETRES params_geo_1; |
300 |
couturad |
926 |
ini_param_generateur_rsa(¶ms_geo_1,GENERATEUR_RSA::TYPE_INCLUSION::CYLINDRE,(char*)"Cylindre"); |
301 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/geometrie/param_geo_cylindre.txt"); |
302 |
couturad |
919 |
params_geo_1.enregistrer((char*)sys_command.c_str()); |
303 |
|
|
|
304 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/materiau/lstparam_mat.txt"); |
305 |
|
|
f.open(sys_command.c_str(),ios::out); |
306 |
|
|
f << "// Fichier de parametres MATERIAU" << std::endl; |
307 |
|
|
f << "// [Nombre de fichier de parametres]" << std::endl; |
308 |
couturad |
926 |
f << "NB_FICHIER_PARAM 2" << std::endl; |
309 |
couturad |
919 |
f << "param_mat_cylindre.txt" << std::endl; |
310 |
|
|
f << "param_mat_matrice.txt" << std::endl; |
311 |
|
|
f.close(); |
312 |
|
|
OT_PARAMETRES params_mat_cylindre; |
313 |
|
|
ini_param_materiau(¶ms_mat_cylindre,(char*)"Cylindre"); |
314 |
couturad |
926 |
params_mat_cylindre.change_valeur("Mu_E",75.0e9); |
315 |
|
|
params_mat_cylindre.change_valeur("Mu_nu",0.22); |
316 |
couturad |
919 |
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/materiau/param_mat_cylindre.txt"); |
317 |
|
|
params_mat_cylindre.enregistrer((char*)sys_command.c_str()); |
318 |
|
|
OT_PARAMETRES params_mat_matrice; |
319 |
|
|
ini_param_materiau(¶ms_mat_matrice,(char*)"Matrice"); |
320 |
couturad |
926 |
params_mat_matrice.change_valeur("Mu_E",3.5e9); |
321 |
|
|
params_mat_matrice.change_valeur("Mu_nu",0.33); |
322 |
couturad |
919 |
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/materiau/param_mat_matrice.txt"); |
323 |
|
|
params_mat_matrice.enregistrer((char*)sys_command.c_str()); |
324 |
|
|
|
325 |
|
|
OT_PARAMETRES params_carte; |
326 |
|
|
ini_param_carte_taille(¶ms_carte); |
327 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/carte/param_carte.txt"); |
328 |
|
|
params_carte.enregistrer((char*)sys_command.c_str()); |
329 |
|
|
|
330 |
|
|
OT_PARAMETRES params_maill; |
331 |
|
|
ini_param_mailleur(¶ms_maill); |
332 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/maillage/param_maill.txt"); |
333 |
|
|
params_maill.enregistrer((char*)sys_command.c_str()); |
334 |
|
|
|
335 |
|
|
OT_PARAMETRES params_fem_maillage; |
336 |
|
|
ini_param_mailleur_fem(¶ms_fem_maillage); |
337 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/fem_maillage/param_fem_maill.txt"); |
338 |
|
|
params_fem_maillage.enregistrer((char*)sys_command.c_str()); |
339 |
|
|
|
340 |
couturad |
926 |
OT_PARAMETRES params_etude_CLDH_sph; |
341 |
|
|
ini_param_etude(¶ms_etude_CLDH_sph,MSTRUCT_VES::TYPE_ETUDE::MECANIQUE); |
342 |
|
|
params_etude_CLDH_sph.change_valeur("Nom_etude","etude_CLDH_sph"); |
343 |
|
|
params_etude_CLDH_sph.change_valeur("Type_Chargement",0); |
344 |
|
|
params_etude_CLDH_sph.change_valeur("Type_CL",0); |
345 |
|
|
params_etude_CLDH_sph.change_valeur("Valeur_CL",0.0001); |
346 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/etude/param_etude_CLDH_sph.txt"); |
347 |
|
|
params_etude_CLDH_sph.enregistrer((char*)sys_command.c_str()); |
348 |
couturad |
919 |
|
349 |
couturad |
926 |
OT_PARAMETRES params_etude_CLCH_sph; |
350 |
|
|
ini_param_etude(¶ms_etude_CLCH_sph,MSTRUCT_VES::TYPE_ETUDE::MECANIQUE); |
351 |
|
|
params_etude_CLCH_sph.change_valeur("Nom_etude","etude_CLCH_sph"); |
352 |
|
|
params_etude_CLCH_sph.change_valeur("Type_Chargement",0); |
353 |
|
|
params_etude_CLCH_sph.change_valeur("Type_CL",1); |
354 |
|
|
params_etude_CLCH_sph.change_valeur("Valeur_CL",1000); |
355 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/etude/param_etude_CLCH_sph.txt"); |
356 |
|
|
params_etude_CLCH_sph.enregistrer((char*)sys_command.c_str()); |
357 |
|
|
|
358 |
|
|
OT_PARAMETRES params_etude_CLDH_dev; |
359 |
|
|
ini_param_etude(¶ms_etude_CLDH_dev,MSTRUCT_VES::TYPE_ETUDE::MECANIQUE); |
360 |
|
|
params_etude_CLDH_dev.change_valeur("Nom_etude","etude_CLDH_dev"); |
361 |
|
|
params_etude_CLDH_dev.change_valeur("Type_Chargement",1); |
362 |
|
|
params_etude_CLDH_dev.change_valeur("Type_CL",0); |
363 |
|
|
params_etude_CLDH_dev.change_valeur("Valeur_CL",0.0001); |
364 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/etude/param_etude_CLDH_dev.txt"); |
365 |
|
|
params_etude_CLDH_dev.enregistrer((char*)sys_command.c_str()); |
366 |
|
|
|
367 |
|
|
OT_PARAMETRES params_etude_CLCH_dev; |
368 |
|
|
ini_param_etude(¶ms_etude_CLCH_dev,MSTRUCT_VES::TYPE_ETUDE::MECANIQUE); |
369 |
|
|
params_etude_CLCH_dev.change_valeur("Nom_etude","etude_CLCH_dev"); |
370 |
|
|
params_etude_CLCH_dev.change_valeur("Type_Chargement",1); |
371 |
|
|
params_etude_CLCH_dev.change_valeur("Type_CL",1); |
372 |
|
|
params_etude_CLCH_dev.change_valeur("Valeur_CL",1000); |
373 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/etude/param_etude_CLCH_dev.txt"); |
374 |
|
|
params_etude_CLCH_dev.enregistrer((char*)sys_command.c_str()); |
375 |
|
|
|
376 |
|
|
MG_EXPORT exp; |
377 |
|
|
OT_PARAMETRES *params_aster=exp.get_param_aster(); |
378 |
|
|
params_aster->change_valeur("Memoire",3072); |
379 |
|
|
params_aster->change_valeur("Temps_max",250000); |
380 |
|
|
params_aster->change_valeur("Nb_CPU",8); |
381 |
|
|
params_aster->change_valeur("Noeud_ele",2); |
382 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/etude/param_aster.txt"); |
383 |
|
|
params_aster->enregistrer((char*)sys_command.c_str()); |
384 |
|
|
|
385 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/lstparam_analyse.txt"); |
386 |
couturad |
919 |
f.open(sys_command.c_str(),ios::out); |
387 |
couturad |
926 |
f << "// Fichier de parametres ANALYSE" << std::endl; |
388 |
couturad |
919 |
f << "// Nombre de fichier de parametres" << std::endl; |
389 |
couturad |
926 |
f << "NB_FICHIER_PARAM 16" << std::endl; |
390 |
|
|
f << "params_analyse_champ_sigma.txt" << std::endl; |
391 |
|
|
f << "params_analyse_champ_sigma_boite.txt" << std::endl; |
392 |
|
|
f << "params_analyse_champ_epsilon.txt" << std::endl; |
393 |
|
|
f << "params_analyse_champ_epsilon_boite.txt" << std::endl; |
394 |
|
|
f << "params_analyse_orientation.txt" << std::endl; |
395 |
|
|
f << "params_analyse_orientation_boite.txt" << std::endl; |
396 |
|
|
f << "params_analyse_cao_all.txt" << std::endl; |
397 |
|
|
f << "params_analyse_cao_cylindre.txt" << std::endl; |
398 |
|
|
f << "params_analyse_cao_matrice.txt" << std::endl; |
399 |
|
|
f << "params_analyse_mg_maillage_all.txt" << std::endl; |
400 |
|
|
f << "params_analyse_mg_maillage_cylindre.txt" << std::endl; |
401 |
|
|
f << "params_analyse_mg_maillage_matrice.txt" << std::endl; |
402 |
|
|
f << "params_analyse_fem_maillage_all.txt" << std::endl; |
403 |
|
|
f << "params_analyse_fem_maillage_all_boite.txt" << std::endl; |
404 |
|
|
f << "params_analyse_fem_maillage_cylindre.txt" << std::endl; |
405 |
|
|
f << "params_analyse_fem_maillage_matrice.txt" << std::endl; |
406 |
couturad |
919 |
f.close(); |
407 |
couturad |
926 |
OT_PARAMETRES params_analyse_champ_sigma; |
408 |
|
|
ini_param_analyse(¶ms_analyse_champ_sigma,MSTRUCT_ANALYSE::TYPE_ANALYSE::CHAMP); |
409 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_champ_sigma.txt"); |
410 |
|
|
params_analyse_champ_sigma.change_valeur("Identifiant","Champ_SIGMA"); |
411 |
|
|
params_analyse_champ_sigma.enregistrer((char*)sys_command.c_str()); |
412 |
|
|
OT_PARAMETRES params_analyse_champ_sigma_boite; |
413 |
|
|
ini_param_analyse(¶ms_analyse_champ_sigma_boite,MSTRUCT_ANALYSE::TYPE_ANALYSE::CHAMP); |
414 |
|
|
params_analyse_champ_sigma_boite.change_valeur("Boite_analyse",1); |
415 |
|
|
params_analyse_champ_sigma_boite.change_valeur("Identifiant","Champ_SIGMA_boite"); |
416 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_champ_sigma_boite.txt"); |
417 |
|
|
params_analyse_champ_sigma_boite.enregistrer((char*)sys_command.c_str()); |
418 |
couturad |
919 |
|
419 |
couturad |
926 |
OT_PARAMETRES params_analyse_champ_epsilon; |
420 |
|
|
ini_param_analyse(¶ms_analyse_champ_epsilon,MSTRUCT_ANALYSE::TYPE_ANALYSE::CHAMP); |
421 |
|
|
params_analyse_champ_epsilon.change_valeur("Identifiant","Champ_EPSILON"); |
422 |
|
|
params_analyse_champ_epsilon.change_valeur("Num_solution",1); |
423 |
|
|
params_analyse_champ_epsilon.change_valeur("Largeur_colonne_distribution",0.00000000001); |
424 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_champ_epsilon.txt"); |
425 |
|
|
params_analyse_champ_epsilon.enregistrer((char*)sys_command.c_str()); |
426 |
|
|
OT_PARAMETRES params_analyse_champ_epsilon_boite; |
427 |
|
|
ini_param_analyse(¶ms_analyse_champ_epsilon_boite,MSTRUCT_ANALYSE::TYPE_ANALYSE::CHAMP); |
428 |
|
|
params_analyse_champ_epsilon_boite.change_valeur("Identifiant","Champ_EPSILON_boite"); |
429 |
|
|
params_analyse_champ_epsilon_boite.change_valeur("Num_solution",1); |
430 |
|
|
params_analyse_champ_epsilon_boite.change_valeur("Boite_analyse",1); |
431 |
|
|
params_analyse_champ_epsilon_boite.change_valeur("Largeur_colonne_distribution",0.00000000001); |
432 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_champ_epsilon_boite.txt"); |
433 |
|
|
params_analyse_champ_epsilon_boite.enregistrer((char*)sys_command.c_str()); |
434 |
|
|
|
435 |
|
|
OT_PARAMETRES params_analyse_orientation; |
436 |
|
|
ini_param_analyse(¶ms_analyse_orientation,MSTRUCT_ANALYSE::TYPE_ANALYSE::ORIENTATION); |
437 |
|
|
params_analyse_orientation.change_valeur("Identifiant","Orientation_Cylindre"); |
438 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_orientation.txt"); |
439 |
|
|
params_analyse_orientation.enregistrer((char*)sys_command.c_str()); |
440 |
|
|
OT_PARAMETRES params_analyse_orientation_boite; |
441 |
|
|
ini_param_analyse(¶ms_analyse_orientation_boite,MSTRUCT_ANALYSE::TYPE_ANALYSE::ORIENTATION); |
442 |
|
|
params_analyse_orientation_boite.change_valeur("Identifiant","Orientation_Cylindre_boite"); |
443 |
|
|
params_analyse_orientation_boite.change_valeur("Boite_analyse",1); |
444 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_orientation_boite.txt"); |
445 |
|
|
params_analyse_orientation_boite.enregistrer((char*)sys_command.c_str()); |
446 |
|
|
|
447 |
|
|
|
448 |
|
|
OT_PARAMETRES params_analyse_cao_all; |
449 |
|
|
ini_param_analyse(¶ms_analyse_cao_all,MSTRUCT_ANALYSE::TYPE_ANALYSE::CAO); |
450 |
|
|
params_analyse_cao_all.change_valeur("Identifiant","Cao_ALL"); |
451 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_cao_all.txt"); |
452 |
|
|
params_analyse_cao_all.enregistrer((char*)sys_command.c_str()); |
453 |
|
|
OT_PARAMETRES params_analyse_cao_cylindre; |
454 |
|
|
ini_param_analyse(¶ms_analyse_cao_cylindre,MSTRUCT_ANALYSE::TYPE_ANALYSE::CAO); |
455 |
|
|
params_analyse_cao_cylindre.change_valeur("Identifiant","Cao_Cylindre"); |
456 |
|
|
params_analyse_cao_cylindre.change_valeur("Nom_groupe_forme","Cylindre"); |
457 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_cao_cylindre.txt"); |
458 |
|
|
params_analyse_cao_cylindre.enregistrer((char*)sys_command.c_str()); |
459 |
|
|
OT_PARAMETRES params_analyse_cao_matrice; |
460 |
|
|
ini_param_analyse(¶ms_analyse_cao_matrice,MSTRUCT_ANALYSE::TYPE_ANALYSE::CAO); |
461 |
|
|
params_analyse_cao_matrice.change_valeur("Identifiant","Cao_Matrice"); |
462 |
|
|
params_analyse_cao_matrice.change_valeur("Nom_groupe_forme","Matrice"); |
463 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_cao_matrice.txt"); |
464 |
|
|
params_analyse_cao_matrice.enregistrer((char*)sys_command.c_str()); |
465 |
|
|
|
466 |
|
|
OT_PARAMETRES params_analyse_mg_maillage_all; |
467 |
|
|
ini_param_analyse(¶ms_analyse_mg_maillage_all,MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_MG); |
468 |
|
|
params_analyse_mg_maillage_all.change_valeur("Identifiant","MG_maillage_ALL"); |
469 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_mg_maillage_all.txt"); |
470 |
|
|
params_analyse_mg_maillage_all.enregistrer((char*)sys_command.c_str()); |
471 |
|
|
OT_PARAMETRES params_analyse_mg_maillage_cylindre; |
472 |
|
|
ini_param_analyse(¶ms_analyse_mg_maillage_cylindre,MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_MG); |
473 |
|
|
params_analyse_mg_maillage_cylindre.change_valeur("Identifiant","MG_maillage_Cylindre"); |
474 |
|
|
params_analyse_mg_maillage_cylindre.change_valeur("Nom_groupe_forme","Cylindre"); |
475 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_mg_maillage_cylindre.txt"); |
476 |
|
|
params_analyse_mg_maillage_cylindre.enregistrer((char*)sys_command.c_str()); |
477 |
|
|
OT_PARAMETRES params_analyse_mg_maillage_matrice; |
478 |
|
|
ini_param_analyse(¶ms_analyse_mg_maillage_matrice,MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_MG); |
479 |
|
|
params_analyse_mg_maillage_matrice.change_valeur("Identifiant","MG_maillage_Matrice"); |
480 |
|
|
params_analyse_mg_maillage_matrice.change_valeur("Nom_groupe_forme","Matrice"); |
481 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_mg_maillage_matrice.txt"); |
482 |
|
|
params_analyse_mg_maillage_matrice.enregistrer((char*)sys_command.c_str()); |
483 |
|
|
|
484 |
|
|
OT_PARAMETRES params_analyse_fem_maillage_all; |
485 |
|
|
ini_param_analyse(¶ms_analyse_fem_maillage_all,MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_FEM); |
486 |
|
|
params_analyse_fem_maillage_all.change_valeur("Identifiant","FEM_maillage_ALL"); |
487 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_fem_maillage_all.txt"); |
488 |
|
|
params_analyse_fem_maillage_all.enregistrer((char*)sys_command.c_str()); |
489 |
|
|
OT_PARAMETRES params_analyse_fem_maillage_all_boite; |
490 |
|
|
ini_param_analyse(¶ms_analyse_fem_maillage_all_boite,MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_FEM); |
491 |
|
|
params_analyse_fem_maillage_all_boite.change_valeur("Identifiant","FEM_maillage_ALL_boite"); |
492 |
|
|
params_analyse_fem_maillage_all_boite.change_valeur("Boite_analyse",1); |
493 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_fem_maillage_all_boite.txt"); |
494 |
|
|
params_analyse_fem_maillage_all_boite.enregistrer((char*)sys_command.c_str()); |
495 |
|
|
OT_PARAMETRES params_analyse_fem_maillage_cylindre; |
496 |
|
|
ini_param_analyse(¶ms_analyse_fem_maillage_cylindre,MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_FEM); |
497 |
|
|
params_analyse_fem_maillage_cylindre.change_valeur("Identifiant","FEM_maillage_Cylindre"); |
498 |
|
|
params_analyse_fem_maillage_cylindre.change_valeur("Nom_groupe_forme","Cylindre"); |
499 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_fem_maillage_cylindre.txt"); |
500 |
|
|
params_analyse_fem_maillage_cylindre.enregistrer((char*)sys_command.c_str()); |
501 |
|
|
OT_PARAMETRES params_analyse_fem_maillage_matrice; |
502 |
|
|
ini_param_analyse(¶ms_analyse_fem_maillage_matrice,MSTRUCT_ANALYSE::TYPE_ANALYSE::MAILLAGE_FEM); |
503 |
|
|
params_analyse_fem_maillage_matrice.change_valeur("Identifiant","FEM_maillage_Matrice"); |
504 |
|
|
params_analyse_fem_maillage_matrice.change_valeur("Nom_groupe_forme","Matrice"); |
505 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_analyse_fem_maillage_matrice.txt"); |
506 |
|
|
params_analyse_fem_maillage_matrice.enregistrer((char*)sys_command.c_str()); |
507 |
|
|
|
508 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/lstparam_ver.txt"); |
509 |
|
|
f.open(sys_command.c_str(),ios::out); |
510 |
|
|
f << "// Fichier de parametres VER" << std::endl; |
511 |
|
|
f << "// Nombre de fichier de parametres" << std::endl; |
512 |
|
|
f << "NB_FICHIER_PARAM 2" << std::endl; |
513 |
|
|
f << "params_ver.txt" << std::endl; |
514 |
|
|
f << "params_ver_boite.txt" << std::endl; |
515 |
|
|
f.close(); |
516 |
|
|
|
517 |
|
|
OT_PARAMETRES params_ver; |
518 |
|
|
ini_param_ver(¶ms_ver); |
519 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_ver.txt"); |
520 |
|
|
params_ver.enregistrer((char*)sys_command.c_str()); |
521 |
|
|
|
522 |
|
|
OT_PARAMETRES params_ver_boite; |
523 |
|
|
ini_param_ver(¶ms_ver_boite); |
524 |
|
|
params_ver_boite.change_valeur("Identifiant_epsilon","Champ_EPSILON_boite"); |
525 |
|
|
params_ver_boite.change_valeur("Identifiant_sigma","Champ_SIGMA_boite"); |
526 |
|
|
sys_command.clear(); sys_command.append(nom_dossier_param); sys_command.append("/analyse/params_ver_boite.txt"); |
527 |
|
|
params_ver_boite.enregistrer((char*)sys_command.c_str()); |
528 |
couturad |
919 |
return OK; |
529 |
|
|
} |
530 |
|
|
|
531 |
|
|
int PARAMETRES::importer_fichier_parametres(char* fichier, OT_PARAMETRES* params) |
532 |
|
|
{ |
533 |
|
|
params->lire(fichier); |
534 |
|
|
} |
535 |
|
|
|
536 |
|
|
int PARAMETRES::importer_fichier_liste_parametres(char* fichier, std::vector< OT_PARAMETRES* >& vector_params) |
537 |
|
|
{ |
538 |
|
|
std::string str_fichier = fichier; |
539 |
|
|
std::size_t found = str_fichier.rfind((char*)"/"); |
540 |
|
|
std::string chemin; |
541 |
|
|
if(found!=-1) |
542 |
|
|
{ |
543 |
|
|
chemin = str_fichier.substr(0,found+1); |
544 |
|
|
} |
545 |
|
|
else chemin = ""; |
546 |
|
|
FILE* in=fopen(fichier,"rt"); |
547 |
|
|
char ligne[4000]; |
548 |
|
|
while(!feof(in)) |
549 |
|
|
{ |
550 |
|
|
fgets(ligne,4000,in); |
551 |
|
|
char *aide = strstr(ligne,"//"); |
552 |
|
|
if(aide==NULL) |
553 |
|
|
{ |
554 |
|
|
char message[500]; |
555 |
|
|
int nb_fichier_param=0; |
556 |
|
|
sscanf(ligne,"%s %i ",message,&nb_fichier_param); |
557 |
|
|
if(strcmp(message,"NB_FICHIER_PARAM")==0) |
558 |
|
|
{ |
559 |
|
|
for(int i=0;i<nb_fichier_param;i++) |
560 |
|
|
{ |
561 |
|
|
fgets(ligne,4000,in); |
562 |
|
|
if(feof(in)) std::cerr << "*** PARAMETRES::PARAMETRES::importer_fichier_liste_parametres : Erreur de lecture ! ***" << std::endl; |
563 |
|
|
char sous_fichier[500]; |
564 |
|
|
sscanf(ligne,"%s",sous_fichier); |
565 |
|
|
OT_PARAMETRES *param = new OT_PARAMETRES; |
566 |
|
|
std::string str_sous_fichier = chemin; |
567 |
|
|
str_sous_fichier.append(sous_fichier); |
568 |
|
|
param->lire((char*)str_sous_fichier.c_str()); |
569 |
|
|
vector_params.push_back(param); |
570 |
|
|
} |
571 |
|
|
} |
572 |
|
|
} |
573 |
|
|
} |
574 |
|
|
} |