ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/microstructure/src/mstruct_analyse.h
Revision: 951
Committed: Fri Aug 10 15:17:17 2018 UTC (6 years, 9 months ago) by couturad
Content type: text/plain
File size: 21400 byte(s)
Log Message:
-> Ajout de Project Chrono (voir CMakeLists.txt).
-> Ajout d'un générateur de microstructure basé sur la dynamique des corps rigides (MSTRUCT_GENERATEUR_DCR).
-> Ajout d'un opérateur de décallage de la topologie (MG_CG_OP_TRANSF_DECALLAGE).
-> Retrait de «using namespace std»  (conflit avec namespace chrono) et modification des fichiers affectés.
-> Modification de mailleur2d.cpp afin d'enregistrer un fichier MAGiC (void.magic) lorsque le nombre d'itération dépasse la valeur maximale.

File Contents

# User Rev Content
1 couturad 919 #ifndef _MSTRUCT_ANALYSE_
2     #define _MSTRUCT_ANALYSE_
3     #include "fem_solution.h"
4     #include "ot_tenseur.h"
5     #include "ot_mathematique.h"
6     #include "ot_boite_3d.h"
7     #include "mstruct_groupe_forme.h"
8     #include "mg_maillage.h"
9     #include "fem_maillage.h"
10 couturad 951
11     typedef void fonction_affiche(char *);
12    
13     class MSTRUCT_ANALYSE
14 couturad 919 {
15 couturad 951 public:
16     enum TYPE_ANALYSE{CHAMP=0,ORIENTATION=1,CAO=2,MAILLAGE_MG=3,MAILLAGE_FEM=4,ORIENTATION_PONDEREE=5,EROSION=6};
17     MSTRUCT_ANALYSE(void);
18     MSTRUCT_ANALYSE(std::string identifiant,std::string nom_groupe_forme="",BOITE_3D* boite_3d=NULL, long nb_ves=1);
19     MSTRUCT_ANALYSE(MSTRUCT_ANALYSE &mdd);
20     ~MSTRUCT_ANALYSE(void);
21     std::string get_identifiant(void);
22     void change_identifiant(std::string identifiant);
23     virtual void change_boite_analyse(BOITE_3D boite_3d);
24     virtual BOITE_3D *get_boite_analyse(void);
25     virtual void change_nom_groupe_forme(std::string nom_groupe_forme);
26     virtual std::string get_nom_groupe_forme(void);
27     virtual long get_nb_ves(void);
28     virtual long get_type(void)=0;
29     virtual void executer(class MSTRUCT_VES* ves)=0;
30     virtual void exporter(std::ofstream& ofstrm, long i, bool avec_entete=false, bool avec_histo=false, char* prefix_histo = (char*)"")=0;
31     virtual void enregistrer(std::ofstream& ofstrm);
32     virtual void ouvrir(std::ifstream& ifstrm);
33     virtual void affiche_contenu(fonction_affiche *fonc);
34     protected:
35     std::string m_identifiant;
36     BOITE_3D *m_boite_analyse;
37     std::string m_nom_groupe_forme;
38     long m_nb_ves;
39     };
40 couturad 926
41 couturad 951 class MSTRUCT_ANALYSE_CHAMP: public MSTRUCT_ANALYSE
42     {
43     public:
44     MSTRUCT_ANALYSE_CHAMP(void);
45     MSTRUCT_ANALYSE_CHAMP(std::string identifiant,long id_fem_solution,int nb_champ,double largeur_colonne,std::string nom_groupe_forme="ALL",BOITE_3D* boite_3d=NULL);
46     MSTRUCT_ANALYSE_CHAMP(std::vector<MSTRUCT_ANALYSE_CHAMP*> &vector_analyse_champ);
47     MSTRUCT_ANALYSE_CHAMP(MSTRUCT_ANALYSE_CHAMP &mdd);
48     ~MSTRUCT_ANALYSE_CHAMP(void);
49     virtual long get_id_fem_solution(void);
50     virtual int get_nb_champ(void);
51     virtual double* get_moyenne(void);
52     virtual double* get_tenseur_ecart_type(void);
53     virtual double* get_tenseur_min(void);
54     virtual double* get_tenseur_max(void);
55     virtual OT_HISTOGRAMME* get_distribution(int num_champ);
56     virtual long get_type(void);
57     virtual void executer(MSTRUCT_VES* ves);
58     virtual void exporter(std::ofstream& ofstrm, long i, bool avec_entete=false, bool avec_histo=false, char* prefix_histo = (char*)"");
59     virtual void enregistrer(std::ofstream& ofstrm);
60     virtual void ouvrir(std::ifstream& ifstrm);
61     virtual void affiche_contenu(fonction_affiche *fonc);
62     protected:
63     long m_id_fem_solution;
64     int m_nb_champ;
65     double* m_moyenne;
66     double* m_ecart_type;
67     double* m_min;
68     double* m_max;
69     OT_HISTOGRAMME** m_tab_histogramme;
70     };
71 couturad 926
72 couturad 951 class MSTRUCT_ANALYSE_ORIENTATION: public MSTRUCT_ANALYSE
73     {
74     public:
75     MSTRUCT_ANALYSE_ORIENTATION(void);
76     MSTRUCT_ANALYSE_ORIENTATION(std::string identifiant,std::string nom_groupe_forme="ALL",BOITE_3D* boite_3d=NULL);
77     MSTRUCT_ANALYSE_ORIENTATION(MSTRUCT_ANALYSE_ORIENTATION &mdd);
78     MSTRUCT_ANALYSE_ORIENTATION(std::vector<MSTRUCT_ANALYSE_ORIENTATION*> &vector_analyse_orientation);
79     ~MSTRUCT_ANALYSE_ORIENTATION(void);
80     virtual double* get_moyenne(void);
81     virtual double* get_ecart_type(void);
82     virtual double* get_min(void);
83     virtual double* get_max(void);
84     virtual long get_type(void);
85     virtual void executer(MSTRUCT_VES* ves);
86     virtual void exporter(std::ofstream& ofstrm, long i, bool avec_entete=false, bool avec_histo=false, char* prefix_histo = (char*)"");
87     virtual void enregistrer(std::ofstream& ofstrm);
88     virtual void ouvrir(std::ifstream& ifstrm);
89     virtual void affiche_contenu(fonction_affiche *fonc);
90     protected:
91     double m_moyenne[6];
92     double m_ecart_type[6];
93     double m_min[6];
94     double m_max[6];
95     };
96    
97     class MSTRUCT_ANALYSE_ORIENTATION_PONDEREE: public MSTRUCT_ANALYSE_ORIENTATION
98     {
99     public:
100     MSTRUCT_ANALYSE_ORIENTATION_PONDEREE(void);
101     MSTRUCT_ANALYSE_ORIENTATION_PONDEREE(std::string identifiant,std::string nom_groupe_forme="ALL",BOITE_3D* boite_3d=NULL,bool avec_fem_maillage=false);
102     MSTRUCT_ANALYSE_ORIENTATION_PONDEREE(MSTRUCT_ANALYSE_ORIENTATION_PONDEREE &mdd);
103     MSTRUCT_ANALYSE_ORIENTATION_PONDEREE(std::vector<MSTRUCT_ANALYSE_ORIENTATION*> &vector_analyse_orientation);
104     ~MSTRUCT_ANALYSE_ORIENTATION_PONDEREE(void);
105     virtual bool get_avec_fem_maillage(void);
106     virtual void change_avec_fem_maillage(bool avec_fem_maillage);
107     virtual long get_type(void);
108     virtual void executer(MSTRUCT_VES* ves);
109     virtual void exporter(std::ofstream& ofstrm, long i, bool avec_entete=false, bool avec_histo=false, char* prefix_histo = (char*)"");
110     virtual void enregistrer(std::ofstream& ofstrm);
111     virtual void ouvrir(std::ifstream& ifstrm);
112     virtual void affiche_contenu(fonction_affiche *fonc);
113     protected:
114     bool m_avec_fem_maillage;
115     };
116    
117     class MSTRUCT_ANALYSE_CAO: public MSTRUCT_ANALYSE
118     {
119     public:
120     MSTRUCT_ANALYSE_CAO(void);
121     MSTRUCT_ANALYSE_CAO(std::string identifiant,
122     double largeur_colonne_nb_forme,
123     double largeur_colonne_nb_volume,
124     double largeur_colonne_volume,
125     double largeur_colonne_fraction_volumique,
126     double largeur_colonne_volume_forme,
127     std::string nom_groupe_forme="ALL");
128     MSTRUCT_ANALYSE_CAO(std::vector<MSTRUCT_ANALYSE_CAO*> &vector_analyse_cao);
129     MSTRUCT_ANALYSE_CAO(MSTRUCT_ANALYSE_CAO &mdd);
130     ~MSTRUCT_ANALYSE_CAO(void);
131     virtual long get_nb_forme_moyenne(void);
132     virtual long get_nb_forme_ecart_type(void);
133     virtual long get_nb_forme_min(void);
134     virtual long get_nb_forme_max(void);
135     virtual OT_HISTOGRAMME* get_distribution_nb_forme(void);
136     virtual long get_nb_volume_moyenne(void);
137     virtual long get_nb_volume_ecart_type(void);
138     virtual long get_nb_volume_min(void);
139     virtual long get_nb_volume_max(void);
140     virtual OT_HISTOGRAMME* get_distribution_nb_volume(void);
141     virtual double get_volume_forme_ecart_type(void);
142     virtual double get_volume_forme_moyenne(void);
143     virtual double get_volume_forme_min(void);
144     virtual double get_volume_forme_max(void);
145     virtual OT_HISTOGRAMME* get_distribution_volume_forme(void);
146     virtual double get_volume_ecart_type(void);
147     virtual double get_volume_moyenne(void);
148     virtual double get_volume_min(void);
149     virtual double get_volume_max(void);
150     virtual OT_HISTOGRAMME* get_distribution_volume(void);
151     virtual double get_fraction_volumique_ecart_type(void);
152     virtual double get_fraction_volumique_moyenne(void);
153     virtual double get_fraction_volumique_min(void);
154     virtual double get_fraction_volumique_max(void);
155     virtual OT_HISTOGRAMME* get_distribution_fraction_volumique(void);
156     virtual long get_type(void);
157     virtual void executer(MSTRUCT_VES* ves);
158     virtual void exporter(std::ofstream& ofstrm, long i, bool avec_entete=false, bool avec_histo=false, char* prefix_histo = (char*)"");
159     virtual void enregistrer(std::ofstream& ofstrm);
160     virtual void ouvrir(std::ifstream& ifstrm);
161     virtual void affiche_contenu(fonction_affiche *fonc);
162     protected:
163     long m_nb_forme_moyenne;
164     long m_nb_forme_ecart_type;
165     long m_nb_forme_min;
166     long m_nb_forme_max;
167     OT_HISTOGRAMME m_nb_forme_histogramme;
168     long m_nb_volume_moyenne;
169     long m_nb_volume_ecart_type;
170     long m_nb_volume_min;
171     long m_nb_volume_max;
172     OT_HISTOGRAMME m_nb_volume_histogramme;
173     double m_volume_forme_moyenne;
174     double m_volume_forme_ecart_type;
175     double m_volume_forme_min;
176     double m_volume_forme_max;
177     OT_HISTOGRAMME m_volume_forme_histogramme;
178     double m_volume_moyenne;
179     double m_volume_ecart_type;
180     double m_volume_min;
181     double m_volume_max;
182     OT_HISTOGRAMME m_volume_histogramme;
183     double m_fraction_volumique_moyenne;
184     double m_fraction_volumique_ecart_type;
185     double m_fraction_volumique_min;
186     double m_fraction_volumique_max;
187     OT_HISTOGRAMME m_fraction_volumique_histogramme;
188     };
189    
190     class MSTRUCT_ANALYSE_MG_MAILLAGE: public MSTRUCT_ANALYSE
191     {
192     public:
193     MSTRUCT_ANALYSE_MG_MAILLAGE(void);
194    
195     MSTRUCT_ANALYSE_MG_MAILLAGE(std::string identifiant,
196     long id_maillage,
197     double largeur_colonne_nb_element_2D,
198     double largeur_colonne_nb_element_3D,
199     double largeur_colonne_qualite_2D,
200     double largeur_colonne_taille_2D,
201     double largeur_colonne_qualite_3D,
202     double largeur_colonne_taille_3D,
203     double largeur_colonne_volume,
204     double largeur_colonne_fraction_volumique,
205     std::string nom_groupe_forme="ALL");
206     MSTRUCT_ANALYSE_MG_MAILLAGE(std::vector<MSTRUCT_ANALYSE_MG_MAILLAGE*> &vector_analyse);
207     MSTRUCT_ANALYSE_MG_MAILLAGE(MSTRUCT_ANALYSE_MG_MAILLAGE &mdd);
208     ~MSTRUCT_ANALYSE_MG_MAILLAGE(void);
209     virtual long get_id_maillage(void);
210     virtual long get_nb_element_2D_min(void);
211     virtual long get_nb_element_2D_max(void);
212     virtual long get_nb_element_2D_moyenne(void);
213     virtual long get_nb_element_2D_ecart_type(void);
214     virtual OT_HISTOGRAMME* get_distribution_nb_element_2D(void);
215     virtual long get_nb_element_3D_min(void);
216     virtual long get_nb_element_3D_max(void);
217     virtual long get_nb_element_3D_moyenne(void);
218     virtual long get_nb_element_3D_ecart_type(void);
219     virtual OT_HISTOGRAMME* get_distribution_nb_element_3D(void);
220     virtual double get_qualite_min_2D(void);
221     virtual double get_qualite_max_2D(void);
222     virtual double get_qualite_moyenne_2D(void);
223     virtual double get_qualite_ecart_type_2D(void);
224     virtual OT_HISTOGRAMME* get_distribution_qualite_2D(void);
225     virtual double get_qualite_min_3D(void);
226     virtual double get_qualite_max_3D(void);
227     virtual double get_qualite_moyenne_3D(void);
228     virtual double get_qualite_ecart_type_3D(void);
229     virtual OT_HISTOGRAMME* get_distribution_qualite_3D(void);
230     virtual double get_taille_min_2D(void);
231     virtual double get_taille_max_2D(void);
232     virtual double get_taille_moyenne_2D(void);
233     virtual double get_taille_ecart_type_2D(void);
234     virtual OT_HISTOGRAMME* get_distribution_taille_2D(void);
235     virtual double get_taille_min_3D(void);
236     virtual double get_taille_max_3D(void);
237     virtual double get_taille_moyenne_3D(void);
238     virtual double get_taille_ecart_type_3D(void);
239     virtual OT_HISTOGRAMME* get_distribution_taille_3D(void);
240     virtual double get_volume_min(void);
241     virtual double get_volume_max(void);
242     virtual double get_volume_moyenne(void);
243     virtual double get_volume_ecart_type(void);
244     virtual OT_HISTOGRAMME* get_distribution_volume(void);
245     virtual double get_fraction_volumique_min(void);
246     virtual double get_fraction_volumique_max(void);
247     virtual double get_fraction_volumique_moyenne(void);
248     virtual double get_fraction_volumique_ecart_type(void);
249     virtual OT_HISTOGRAMME* get_distribution_fraction_volumique(void);
250     virtual long get_type(void);
251     virtual void executer(MSTRUCT_VES* ves);
252     virtual void exporter(std::ofstream& ofstrm, long i, bool avec_entete=false, bool avec_histo=false, char* prefix_histo = (char*)"");
253     virtual void enregistrer(std::ofstream& ofstrm);
254     virtual void ouvrir(std::ifstream& ifstrm);
255     virtual void affiche_contenu(fonction_affiche *fonc);
256     protected:
257     long m_id_maillage;
258     long m_nb_element_2D_min;
259     long m_nb_element_2D_max;
260     long m_nb_element_2D_moyenne;
261     long m_nb_element_2D_ecart_type;
262     OT_HISTOGRAMME m_nb_element_2D_histogramme;
263     long m_nb_element_3D_min;
264     long m_nb_element_3D_max;
265     long m_nb_element_3D_moyenne;
266     long m_nb_element_3D_ecart_type;
267     OT_HISTOGRAMME m_nb_element_3D_histogramme;
268     double m_2D_qualite_min;
269     double m_2D_qualite_max;
270     double m_2D_qualite_moyenne;
271     double m_2D_qualite_ecart_type;
272     OT_HISTOGRAMME m_2D_qualite_histogramme;
273     double m_3D_qualite_min;
274     double m_3D_qualite_max;
275     double m_3D_qualite_moyenne;
276     double m_3D_qualite_ecart_type;
277     OT_HISTOGRAMME m_3D_qualite_histogramme;
278     double m_2D_taille_min;
279     double m_2D_taille_max;
280     double m_2D_taille_moyenne;
281     double m_2D_taille_ecart_type;
282     OT_HISTOGRAMME m_2D_taille_histogramme;
283     double m_3D_taille_min;
284     double m_3D_taille_max;
285     double m_3D_taille_moyenne;
286     double m_3D_taille_ecart_type;
287     OT_HISTOGRAMME m_3D_taille_histogramme;
288     double m_volume_moyenne;
289     double m_volume_ecart_type;
290     double m_volume_min;
291     double m_volume_max;
292     OT_HISTOGRAMME m_volume_histogramme;
293     double m_fraction_volumique_moyenne;
294     double m_fraction_volumique_ecart_type;
295     double m_fraction_volumique_min;
296     double m_fraction_volumique_max;
297     OT_HISTOGRAMME m_fraction_volumique_histogramme;
298     };
299    
300     class MSTRUCT_ANALYSE_FEM_MAILLAGE: public MSTRUCT_ANALYSE
301     {
302     public:
303     MSTRUCT_ANALYSE_FEM_MAILLAGE(void);
304     MSTRUCT_ANALYSE_FEM_MAILLAGE(std::string identifiant,
305     long id_fem_maillage,
306 couturad 926 double largeur_colonne_nb_element_2D,
307     double largeur_colonne_nb_element_3D,
308 couturad 951 double largeur_colonne_jacobien_2D_min,
309     double largeur_colonne_jacobien_2D_max,
310     double largeur_colonne_distortion_2D,
311     double largeur_colonne_jacobien_3D_min,
312     double largeur_colonne_jacobien_3D_max,
313     double largeur_colonne_distortion_3D,
314 couturad 926 double largeur_colonne_volume,
315     double largeur_colonne_fraction_volumique,
316 couturad 951 std::string nom_groupe_forme="ALL",
317     BOITE_3D *boite_3d=NULL);
318     MSTRUCT_ANALYSE_FEM_MAILLAGE(std::vector<MSTRUCT_ANALYSE_FEM_MAILLAGE*> &vector_analyse);
319     MSTRUCT_ANALYSE_FEM_MAILLAGE(MSTRUCT_ANALYSE_FEM_MAILLAGE &mdd);
320     ~MSTRUCT_ANALYSE_FEM_MAILLAGE(void);
321     virtual long get_id_fem_maillage(void);
322 couturad 926
323 couturad 951 virtual long get_nb_element_2D_min(void);
324     virtual long get_nb_element_2D_max(void);
325     virtual long get_nb_element_2D_moyenne(void);
326     virtual long get_nb_element_2D_ecart_type(void);
327     virtual OT_HISTOGRAMME* get_distribution_nb_element_2D(void);
328     virtual long get_nb_element_3D_min(void);
329     virtual long get_nb_element_3D_max(void);
330     virtual long get_nb_element_3D_moyenne(void);
331     virtual long get_nb_element_3D_ecart_type(void);
332     virtual OT_HISTOGRAMME* get_distribution_nb_element_3D(void);
333 couturad 926
334 couturad 951 virtual double get_jacobien_min_min_2D(void);
335     virtual double get_jacobien_min_max_2D(void);
336     virtual double get_jacobien_min_moyenne_2D(void);
337     virtual double get_jacobien_min_ecart_type_2D(void);
338     virtual OT_HISTOGRAMME* get_distribution_jacobien_min_2D(void);
339     virtual double get_jacobien_max_min_2D(void);
340     virtual double get_jacobien_max_max_2D(void);
341     virtual double get_jacobien_max_moyenne_2D(void);
342     virtual double get_jacobien_max_ecart_type_2D(void);
343     virtual OT_HISTOGRAMME* get_distribution_jacobien_max_2D(void);
344    
345     virtual double get_jacobien_min_min_3D(void);
346     virtual double get_jacobien_min_max_3D(void);
347     virtual double get_jacobien_min_moyenne_3D(void);
348     virtual double get_jacobien_min_ecart_type_3D(void);
349     virtual OT_HISTOGRAMME* get_distribution_jacobien_min_3D(void);
350     virtual double get_jacobien_max_min_3D(void);
351     virtual double get_jacobien_max_max_3D(void);
352     virtual double get_jacobien_max_moyenne_3D(void);
353     virtual double get_jacobien_max_ecart_type_3D(void);
354     virtual OT_HISTOGRAMME* get_distribution_jacobien_max_3D(void);
355    
356     virtual double get_distortion_min_2D(void);
357     virtual double get_distortion_max_2D(void);
358     virtual double get_distortion_moyenne_2D(void);
359     virtual double get_distortion_ecart_type_2D(void);
360     virtual OT_HISTOGRAMME* get_distribution_distortion_2D(void);
361     virtual double get_distortion_min_3D(void);
362     virtual double get_distortion_max_3D(void);
363     virtual double get_distortion_moyenne_3D(void);
364     virtual double get_distortion_ecart_type_3D(void);
365     virtual OT_HISTOGRAMME* get_distribution_distortion_3D(void);
366     virtual double get_volume_min(void);
367     virtual double get_volume_max(void);
368     virtual double get_volume_moyenne(void);
369     virtual double get_volume_ecart_type(void);
370     virtual OT_HISTOGRAMME* get_distribution_volume(void);
371     virtual double get_fraction_volumique_min(void);
372     virtual double get_fraction_volumique_max(void);
373     virtual double get_fraction_volumique_moyenne(void);
374     virtual double get_fraction_volumique_ecart_type(void);
375     virtual OT_HISTOGRAMME* get_distribution_fraction_volumique(void);
376     virtual long get_type(void);
377     virtual void executer(MSTRUCT_VES* ves);
378     virtual void exporter(std::ofstream& ofstrm, long i, bool avec_entete=false, bool avec_histo=false, char* prefix_histo = (char*)"");
379     virtual void enregistrer(std::ofstream& ofstrm);
380     virtual void ouvrir(std::ifstream& ifstrm);
381     virtual void affiche_contenu(fonction_affiche *fonc);
382     protected:
383     long m_id_fem_maillage;
384     long m_nb_element_2D_min;
385     long m_nb_element_2D_max;
386     long m_nb_element_2D_moyenne;
387     long m_nb_element_2D_ecart_type;
388     OT_HISTOGRAMME m_nb_element_2D_histogramme;
389     long m_nb_element_3D_min;
390     long m_nb_element_3D_max;
391     long m_nb_element_3D_moyenne;
392     long m_nb_element_3D_ecart_type;
393     OT_HISTOGRAMME m_nb_element_3D_histogramme;
394     double m_2D_jacobien_min_min;
395     double m_2D_jacobien_min_max;
396     double m_2D_jacobien_min_moyenne;
397     double m_2D_jacobien_min_ecart_type;
398     OT_HISTOGRAMME m_2D_jacobien_histogramme_min;
399     double m_2D_jacobien_max_min;
400     double m_2D_jacobien_max_max;
401     double m_2D_jacobien_max_moyenne;
402     double m_2D_jacobien_max_ecart_type;
403     OT_HISTOGRAMME m_2D_jacobien_histogramme_max;
404     double m_3D_jacobien_min_min;
405     double m_3D_jacobien_min_max;
406     double m_3D_jacobien_min_moyenne;
407     double m_3D_jacobien_min_ecart_type;
408     OT_HISTOGRAMME m_3D_jacobien_histogramme_min;
409     double m_3D_jacobien_max_min;
410     double m_3D_jacobien_max_max;
411     double m_3D_jacobien_max_moyenne;
412     double m_3D_jacobien_max_ecart_type;
413     OT_HISTOGRAMME m_3D_jacobien_histogramme_max;
414     double m_2D_distortion_min;
415     double m_2D_distortion_max;
416     double m_2D_distortion_moyenne;
417     double m_2D_distortion_ecart_type;
418     OT_HISTOGRAMME m_2D_distortion_histogramme;
419     double m_3D_distortion_min;
420     double m_3D_distortion_max;
421     double m_3D_distortion_moyenne;
422     double m_3D_distortion_ecart_type;
423     OT_HISTOGRAMME m_3D_distortion_histogramme;
424     double m_volume_moyenne;
425     double m_volume_ecart_type;
426     double m_volume_min;
427     double m_volume_max;
428     OT_HISTOGRAMME m_volume_histogramme;
429     double m_fraction_volumique_moyenne;
430     double m_fraction_volumique_ecart_type;
431     double m_fraction_volumique_min;
432     double m_fraction_volumique_max;
433     OT_HISTOGRAMME m_fraction_volumique_histogramme;
434     };
435    
436     class MSTRUCT_ANALYSE_EROSION: public MSTRUCT_ANALYSE
437     {
438     public:
439     MSTRUCT_ANALYSE_EROSION(void);
440     MSTRUCT_ANALYSE_EROSION(std::string identifiant,MSTRUCT_ANALYSE* analyse_initiale,long nb_couche,double epaisseur_couche);
441     MSTRUCT_ANALYSE_EROSION(std::vector<MSTRUCT_ANALYSE_EROSION*> &vector_analyse);
442     MSTRUCT_ANALYSE_EROSION(MSTRUCT_ANALYSE_EROSION& mdd);
443     ~MSTRUCT_ANALYSE_EROSION(void);
444     virtual long get_nb_couche(void);
445     virtual double get_epaisseur_couche(void);
446     virtual long get_nb_analyse(void);
447     virtual int ajouter_analyse(MSTRUCT_ANALYSE* analyse);
448     virtual MSTRUCT_ANALYSE* get_premiere_analyse(std::vector<MSTRUCT_ANALYSE*>::iterator &it);
449     virtual MSTRUCT_ANALYSE* get_suivante_analyse(std::vector<MSTRUCT_ANALYSE*>::iterator &it);
450     virtual MSTRUCT_ANALYSE* get_analyse(long num);
451     virtual long get_type(void);
452     virtual void executer(MSTRUCT_VES* ves);
453     virtual void exporter(std::ofstream& ofstrm, long i, bool avec_entete=false, bool avec_histo=false, char* prefix_histo = (char*)"");
454     virtual void enregistrer(std::ofstream& ofstrm);
455     virtual void ouvrir(std::ifstream& ifstrm);
456     virtual void affiche_contenu(fonction_affiche *fonc);
457     protected:
458    
459     long m_nb_couche;
460     double m_epaisseur_couche;
461     std::vector<MSTRUCT_ANALYSE*> m_vector_analyse;
462     };
463 couturad 926
464 couturad 951 class MSTRUCT_ANALYSE_MODULES_MECA
465     {
466     public:
467     MSTRUCT_ANALYSE_MODULES_MECA(MSTRUCT_ANALYSE_CHAMP* epsilon_sph,
468     MSTRUCT_ANALYSE_CHAMP* sigma_sph,
469     MSTRUCT_ANALYSE_CHAMP* epsilon_dev,
470     MSTRUCT_ANALYSE_CHAMP* sigma_dev,
471     double largeur_colonne_distribution_module_Kapp,
472     double largeur_colonne_distribution_module_Gapp,
473     double largeur_colonne_distribution_module_Eapp,
474     double largeur_colonne_distribution_module_Nuapp);
475     MSTRUCT_ANALYSE_MODULES_MECA(std::vector<MSTRUCT_ANALYSE_MODULES_MECA*> &vector_analyse);
476     ~MSTRUCT_ANALYSE_MODULES_MECA(void);
477     long get_nb_ves(void);
478     double get_Kapp_moyenne(void);
479     double get_Kapp_ecart_type(void);
480     double get_Kapp_min(void);
481     double get_Kapp_max(void);
482     OT_HISTOGRAMME* get_Kapp_histogramme(void);
483     double get_Gapp_moyenne(void);
484     double get_Gapp_ecart_type(void);
485     double get_Gapp_min(void);
486     double get_Gapp_max(void);
487     OT_HISTOGRAMME* get_Gapp_histogramme(void);
488     double get_Eapp_moyenne(void);
489     double get_Eapp_ecart_type(void);
490     double get_Eapp_min(void);
491     double v_Eapp_max(void);
492     OT_HISTOGRAMME* get_Eapp_histogramme(void);
493     double get_Nuapp_moyenne(void);
494     double get_Nuapp_ecart_type(void);
495     double get_Nuapp_min(void);
496     double get_Nuapp_max(void);
497     OT_HISTOGRAMME* get_Nuapp_histogramme(void);
498     void exporter(std::ofstream& ofstrm, long i, bool avec_entete=false, bool avec_histo=false, char* prefix_histo = (char*)"");
499     protected:
500     double m_Kapp_moyenne;
501     double m_Kapp_ecart_type;
502     double m_Kapp_min;
503     double m_Kapp_max;
504     OT_HISTOGRAMME m_Kapp_histogramme;
505     double m_Gapp_moyenne;
506     double m_Gapp_ecart_type;
507     double m_Gapp_min;
508     double m_Gapp_max;
509     OT_HISTOGRAMME m_Gapp_histogramme;
510     double m_Eapp_moyenne;
511     double m_Eapp_ecart_type;
512     double m_Eapp_min;
513     double m_Eapp_max;
514     OT_HISTOGRAMME m_Eapp_histogramme;
515     double m_Nuapp_moyenne;
516     double m_Nuapp_ecart_type;
517     double m_Nuapp_min;
518     double m_Nuapp_max;
519     OT_HISTOGRAMME m_Nuapp_histogramme;
520     long m_nb_ves;
521     };
522    
523 couturad 919
524 couturad 951
525 couturad 919 #endif