ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/microstructure/src/mstruct_ves.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: 3983 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_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 951
21     typedef void fonction_affiche(char *);
22    
23     class MSTRUCT_VES
24 couturad 919 {
25 couturad 951 public:
26     enum TYPE_ETUDE{MECANIQUE=0,THERMIQUE=1};
27     enum TYPE_CHARGEMENT{SPHERIQUE=0,DEVIATORIQUE=1};
28     enum TYPE_CONDITIONS_LIMITES{DEFORMATION_HOMOGENE=0,CONTRAINTE_HOMOGENE=1,GRADIENT_TEMPERATURE_HOMOGENE=2,FLUX_CHALEUR_HOMOGENE=3};
29     MSTRUCT_VES(void);
30     MSTRUCT_VES(char* fichier_ves);
31     ~MSTRUCT_VES(void);
32     MG_GESTIONNAIRE* get_mg_gestionnaire(void);
33     void change_mg_gestionnaire(MG_GESTIONNAIRE* gest);
34     MG_GEOMETRIE* get_mg_geometrie(void);
35     void change_mg_geometrie(MG_GEOMETRIE* mg_geometrie);
36     MG_CG_MODELE* get_mgcg_modele(void);
37     void change_mgcg_modele(MG_CG_MODELE* mgcg_modele);
38     MG_CG_ASSEMBLAGE* get_mgcg_assemblage(void);
39     void change_mgcg_assemblage(MG_CG_ASSEMBLAGE* mgcg_assemblage);
40     MG_MAILLAGE* get_mg_maillage(void);
41     void change_mg_maillage(MG_MAILLAGE* mg_maillage);
42     FEM_MAILLAGE* get_fem_maillage(void);
43     void change_fem_maillage(FEM_MAILLAGE* fem_maillage);
44 couturad 919
45 couturad 951 BOITE_3D get_boite3d_ves(void);
46     void change_boite_3D_ves(BOITE_3D boite3D);
47    
48     double get_precision(void);
49     void change_precision(double precision);
50    
51     double get_temps_geometrie(void);
52     void change_temps_geometrie(double temps);
53     double get_temps_materiau(void);
54     void change_temps_materiau(double temps);
55     double get_temps_carte(void);
56     void change_temps_carte(double temps);
57     double get_temps_maillage(void);
58     void change_temps_maillage(double temps);
59     double get_temps_fem_maillage(void);
60     void change_temps_fem_maillage(double temps);
61     double get_temps_etude(void);
62     void change_temps_etude(double temps);
63     double get_temps_calcul(void);
64     void change_temps_calcul(double temps);
65     double get_temps_analyse(void);
66     void change_temps_analyse(double temps);
67    
68     long get_nb_analyse(void);
69     int ajouter_analyse(MSTRUCT_ANALYSE* analyse_ves);
70     MSTRUCT_ANALYSE *get_analyse(std::string identifiant);
71     MSTRUCT_ANALYSE *get_premiere_analyse(std::map<std::string,MSTRUCT_ANALYSE*>::iterator &it);
72     MSTRUCT_ANALYSE *get_suivante_analyse(std::map<std::string,MSTRUCT_ANALYSE*>::iterator &it);
73     int supprimer_analyse(std::string identifiant);
74     int supprimer_tout_analyse(void);
75    
76     int generer_geometrie(std::vector<OT_PARAMETRES*> &vector_params_geometrie);
77     int generer_materiau(std::vector<OT_PARAMETRES*> &vector_params_materiau);
78     int generer_carte(OT_PARAMETRES *param);
79     int generer_maillage(OT_PARAMETRES *param,FCT_TAILLE_FEM_SOLUTION* carte);
80     int generer_fem_maillage(OT_PARAMETRES *param);
81     int generer_etude(OT_PARAMETRES *param);
82     int generer_calcul(OT_PARAMETRES *param,char* param_aster);
83     int generer_analyse(std::vector<OT_PARAMETRES*> &vector_params_analyse);
84    
85     int exporter_maillage_abaqus(void);
86    
87     int enregistrer(char *fichier_ves,char* fichier_magic);
88     int enregistrer(char *fichier_ves);
89    
90     void active_affichage(fonction_affiche *fonc);
91     void affiche(char *message);
92    
93     protected:
94    
95     int appliquer_conditions_limites_plan(TPL_MAP_ENTITE<MG_FACE*> *plan, char *condition, double valeur,bool topo_sous_jacente);
96     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);
97    
98     class MSTRUCT_VES_FILE* m_ves_file;
99     MG_GESTIONNAIRE* m_mg_gestionnaire;
100     MG_CG_MODELE* m_mgcg_modele;
101     MG_CG_ASSEMBLAGE* m_mgcg_assemblage;
102     MG_GEOMETRIE* m_mg_geometrie;
103     MG_MAILLAGE *m_mg_maillage;
104     FEM_MAILLAGE *m_fem_maillage;
105 couturad 926
106 couturad 951 int affichageactif;
107     fonction_affiche *fonc_affiche;
108     };
109 couturad 919
110    
111 couturad 951
112 couturad 919 #endif