ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/microstructure/src/mstruct_ves.h
Revision: 926
Committed: Tue May 1 20:38:42 2018 UTC (7 years ago) by couturad
Content type: text/plain
File size: 4139 byte(s)
Log Message:
Ajout de nouvelles fonctionnalités de representation et d'analyse des VES
*Modification du CMakeLists.txt de microstructure

File Contents

# User Rev Content
1 couturad 919 #ifndef _MSTRUCT_VES_
2     #define _MSTRUCT_VES_
3     #include <map>
4     #include <vector>
5     #include "tpl_map_entite.h"
6     #include "mstruct_groupe_forme.h"
7     #include "fem_solution.h"
8     #include "ot_parametres.h"
9     #include "ot_mathematique.h"
10 couturad 926 #include "mstruct_analyse.h"
11 couturad 919 class MG_VOLUME;
12     class MG_GESTIONNAIRE;
13     class MG_GEOMETRIE;
14     class MG_MAILLAGE;
15     class FEM_MAILLAGE;
16     class MG_CG_MODELE;
17     class MG_CG_ASSEMBLAGE;
18     class FCT_TAILLE_FEM_SOLUTION;
19 couturad 926 class MG_CG_GROUPE_FORME;
20 couturad 919 namespace MICROSTRUCTURE
21     {
22     typedef void fonction_affiche(char *);
23    
24 couturad 926 class MSTRUCT_VES
25 couturad 919 {
26     public:
27     enum TYPE_ETUDE{MECANIQUE=0,THERMIQUE=1};
28     enum TYPE_CHARGEMENT{SPHERIQUE=0,DEVIATORIQUE=1};
29     enum TYPE_CONDITIONS_LIMITES{DEFORMATION_HOMOGENE=0,CONTRAINTE_HOMOGENE=1,GRADIENT_TEMPERATURE_HOMOGENE=2,FLUX_CHALEUR_HOMOGENE=3};
30 couturad 926 MSTRUCT_VES(void);
31     MSTRUCT_VES(char* fichier_ves);
32     ~MSTRUCT_VES(void);
33 couturad 919 MG_GESTIONNAIRE* get_mg_gestionnaire(void);
34 couturad 926 void change_mg_gestionnaire(MG_GESTIONNAIRE* gest);
35 couturad 919 MG_GEOMETRIE* get_mg_geometrie(void);
36     void change_mg_geometrie(MG_GEOMETRIE* mg_geometrie);
37     MG_CG_MODELE* get_mgcg_modele(void);
38     void change_mgcg_modele(MG_CG_MODELE* mgcg_modele);
39     MG_CG_ASSEMBLAGE* get_mgcg_assemblage(void);
40     void change_mgcg_assemblage(MG_CG_ASSEMBLAGE* mgcg_assemblage);
41     MG_MAILLAGE* get_mg_maillage(void);
42     void change_mg_maillage(MG_MAILLAGE* mg_maillage);
43     FEM_MAILLAGE* get_fem_maillage(void);
44     void change_fem_maillage(FEM_MAILLAGE* fem_maillage);
45 couturad 926
46 couturad 919 BOITE_3D get_boite3d_ves(void);
47 couturad 926 void change_boite_3D_ves(BOITE_3D boite3D);
48 couturad 919
49 couturad 926 double get_precision(void);
50     void change_precision(double precision);
51    
52     double get_temps_geometrie(void);
53     void change_temps_geometrie(double temps);
54     double get_temps_materiau(void);
55     void change_temps_materiau(double temps);
56     double get_temps_carte(void);
57     void change_temps_carte(double temps);
58     double get_temps_maillage(void);
59     void change_temps_maillage(double temps);
60     double get_temps_fem_maillage(void);
61     void change_temps_fem_maillage(double temps);
62     double get_temps_etude(void);
63     void change_temps_etude(double temps);
64     double get_temps_calcul(void);
65     void change_temps_calcul(double temps);
66     double get_temps_analyse(void);
67     void change_temps_analyse(double temps);
68    
69     long get_nb_analyse(void);
70     int ajouter_analyse(MSTRUCT_ANALYSE* analyse_ves);
71     MSTRUCT_ANALYSE *get_analyse(std::string identifiant);
72     MSTRUCT_ANALYSE *get_premiere_analyse(std::map<std::string,MSTRUCT_ANALYSE*>::iterator &it);
73     MSTRUCT_ANALYSE *get_suivante_analyse(std::map<std::string,MSTRUCT_ANALYSE*>::iterator &it);
74     int supprimer_analyse(std::string identifiant);
75     int supprimer_tout_analyse(void);
76    
77 couturad 919 int generer_geometrie(std::vector<OT_PARAMETRES*> &vector_params_geometrie);
78     int generer_materiau(std::vector<OT_PARAMETRES*> &vector_params_materiau);
79     int generer_carte(OT_PARAMETRES *param);
80     int generer_maillage(OT_PARAMETRES *param,FCT_TAILLE_FEM_SOLUTION* carte);
81     int generer_fem_maillage(OT_PARAMETRES *param);
82     int generer_etude(OT_PARAMETRES *param);
83 couturad 926 int generer_calcul(OT_PARAMETRES *param,char* param_aster);
84     int generer_analyse(std::vector<OT_PARAMETRES*> &vector_params_analyse);
85 couturad 919
86     int enregistrer(char *fichier_ves,char* fichier_magic);
87 couturad 926 int enregistrer(char *fichier_ves);
88 couturad 919
89     void active_affichage(fonction_affiche *fonc);
90     void affiche(char *message);
91    
92     protected:
93    
94     int appliquer_conditions_limites_plan(TPL_MAP_ENTITE<MG_FACE*> *plan, char *condition, double valeur,bool topo_sous_jacente);
95     int appliquer_conditions_limites_plan(TPL_MAP_ENTITE<MG_FACE*> *plan, char *condition, std::string formule,std::vector<std::string> &listvariable,bool topo_sous_jacente);
96    
97 couturad 926 class MSTRUCT_VES_FILE* m_ves_file;
98 couturad 919 MG_GESTIONNAIRE* m_mg_gestionnaire;
99     MG_CG_MODELE* m_mgcg_modele;
100     MG_CG_ASSEMBLAGE* m_mgcg_assemblage;
101     MG_GEOMETRIE* m_mg_geometrie;
102     MG_MAILLAGE *m_mg_maillage;
103     FEM_MAILLAGE *m_fem_maillage;
104 couturad 926
105 couturad 919 int affichageactif;
106     fonction_affiche *fonc_affiche;
107     };
108    
109     }
110    
111     #endif