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 |