ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/microstructure/src/mstruct_ves.h
Revision: 968
Committed: Sun Sep 16 15:27:49 2018 UTC (6 years, 7 months ago) by couturad
Content type: text/plain
File size: 3977 byte(s)
Log Message:
Ajout d'une condition de sortie et d'un renvoi d'erreur pour le mailleur FEM.
Subdivision des fichiers mstruct_analyse.h/.cpp en sous fichiers pour une meilleure lisibilite.
Ajout d'une analyse des modules d'elasticite.
Ajout d'une analyse de l'energie.
Reconfiguration du main de microstructure.exe (suppression d'actions obsolètes).
Reconfiguration des fichiers generer_nb_ves, post_process.

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 968 #include "mstruct_ves_file.h"
12 couturad 919 class MG_VOLUME;
13     class MG_GESTIONNAIRE;
14     class MG_GEOMETRIE;
15     class MG_MAILLAGE;
16     class FEM_MAILLAGE;
17     class MG_CG_MODELE;
18     class MG_CG_ASSEMBLAGE;
19     class FCT_TAILLE_FEM_SOLUTION;
20 couturad 926 class MG_CG_GROUPE_FORME;
21 couturad 951
22     typedef void fonction_affiche(char *);
23    
24     class MSTRUCT_VES
25 couturad 919 {
26 couturad 951 public:
27 couturad 968
28 couturad 951 MSTRUCT_VES(void);
29     MSTRUCT_VES(char* fichier_ves);
30     ~MSTRUCT_VES(void);
31     MG_GESTIONNAIRE* get_mg_gestionnaire(void);
32     void change_mg_gestionnaire(MG_GESTIONNAIRE* gest);
33     MG_GEOMETRIE* get_mg_geometrie(void);
34     void change_mg_geometrie(MG_GEOMETRIE* mg_geometrie);
35     MG_CG_MODELE* get_mgcg_modele(void);
36     void change_mgcg_modele(MG_CG_MODELE* mgcg_modele);
37     MG_CG_ASSEMBLAGE* get_mgcg_assemblage(void);
38     void change_mgcg_assemblage(MG_CG_ASSEMBLAGE* mgcg_assemblage);
39     MG_MAILLAGE* get_mg_maillage(void);
40     void change_mg_maillage(MG_MAILLAGE* mg_maillage);
41     FEM_MAILLAGE* get_fem_maillage(void);
42     void change_fem_maillage(FEM_MAILLAGE* fem_maillage);
43 couturad 919
44 couturad 951 BOITE_3D get_boite3d_ves(void);
45     void change_boite_3D_ves(BOITE_3D boite3D);
46    
47     double get_precision(void);
48     void change_precision(double precision);
49    
50     double get_temps_geometrie(void);
51     void change_temps_geometrie(double temps);
52     double get_temps_materiau(void);
53     void change_temps_materiau(double temps);
54     double get_temps_carte(void);
55     void change_temps_carte(double temps);
56     double get_temps_maillage(void);
57     void change_temps_maillage(double temps);
58     double get_temps_fem_maillage(void);
59     void change_temps_fem_maillage(double temps);
60     double get_temps_etude(void);
61     void change_temps_etude(double temps);
62     double get_temps_calcul(void);
63     void change_temps_calcul(double temps);
64     double get_temps_analyse(void);
65     void change_temps_analyse(double temps);
66    
67     long get_nb_analyse(void);
68     int ajouter_analyse(MSTRUCT_ANALYSE* analyse_ves);
69     MSTRUCT_ANALYSE *get_analyse(std::string identifiant);
70     MSTRUCT_ANALYSE *get_premiere_analyse(std::map<std::string,MSTRUCT_ANALYSE*>::iterator &it);
71     MSTRUCT_ANALYSE *get_suivante_analyse(std::map<std::string,MSTRUCT_ANALYSE*>::iterator &it);
72     int supprimer_analyse(std::string identifiant);
73     int supprimer_tout_analyse(void);
74    
75     int generer_geometrie(std::vector<OT_PARAMETRES*> &vector_params_geometrie);
76     int generer_materiau(std::vector<OT_PARAMETRES*> &vector_params_materiau);
77     int generer_carte(OT_PARAMETRES *param);
78     int generer_maillage(OT_PARAMETRES *param,FCT_TAILLE_FEM_SOLUTION* carte);
79     int generer_fem_maillage(OT_PARAMETRES *param);
80     int generer_etude(OT_PARAMETRES *param);
81 couturad 968 int generer_calcul(OT_PARAMETRES *param,char* param_aster,std::string nom_etude);
82     int generer_post_traitement(std::vector<OT_PARAMETRES*> &vector_params_post_traitement);
83     int generer_post_traitement(std::vector<OT_PARAMETRES*> &vector_params_post_traitement,MSTRUCT_VES_FILE *ves_sph,MSTRUCT_VES_FILE *ves_dev);
84 couturad 951
85 couturad 968 int exporter_maillage_abaqus(char* dossier);
86 couturad 951
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 968 #endif