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 |
|
|
class MG_VOLUME; |
11 |
|
|
class MG_GESTIONNAIRE; |
12 |
|
|
class MG_GEOMETRIE; |
13 |
|
|
class MG_MAILLAGE; |
14 |
|
|
class FEM_MAILLAGE; |
15 |
|
|
class MG_CG_MODELE; |
16 |
|
|
class MG_CG_ASSEMBLAGE; |
17 |
|
|
class FCT_TAILLE_FEM_SOLUTION; |
18 |
|
|
namespace MICROSTRUCTURE |
19 |
|
|
{ |
20 |
|
|
typedef void fonction_affiche(char *); |
21 |
|
|
|
22 |
|
|
class VES |
23 |
|
|
{ |
24 |
|
|
public: |
25 |
|
|
enum TYPE_ETUDE{MECANIQUE=0,THERMIQUE=1}; |
26 |
|
|
enum TYPE_CHARGEMENT{SPHERIQUE=0,DEVIATORIQUE=1}; |
27 |
|
|
enum TYPE_CONDITIONS_LIMITES{DEFORMATION_HOMOGENE=0,CONTRAINTE_HOMOGENE=1,GRADIENT_TEMPERATURE_HOMOGENE=2,FLUX_CHALEUR_HOMOGENE=3}; |
28 |
|
|
VES(void); |
29 |
|
|
VES(char* fichier); |
30 |
|
|
~VES(void); |
31 |
|
|
MG_GESTIONNAIRE* get_mg_gestionnaire(void); |
32 |
|
|
MG_GEOMETRIE* get_mg_geometrie(void); |
33 |
|
|
void change_mg_geometrie(MG_GEOMETRIE* mg_geometrie); |
34 |
|
|
MG_CG_MODELE* get_mgcg_modele(void); |
35 |
|
|
void change_mgcg_modele(MG_CG_MODELE* mgcg_modele); |
36 |
|
|
MG_CG_ASSEMBLAGE* get_mgcg_assemblage(void); |
37 |
|
|
void change_mgcg_assemblage(MG_CG_ASSEMBLAGE* mgcg_assemblage); |
38 |
|
|
MG_MAILLAGE* get_mg_maillage(void); |
39 |
|
|
void change_mg_maillage(MG_MAILLAGE* mg_maillage); |
40 |
|
|
FEM_MAILLAGE* get_fem_maillage(void); |
41 |
|
|
void change_fem_maillage(FEM_MAILLAGE* fem_maillage); |
42 |
|
|
TPL_MAP_ENTITE<FEM_SOLUTION*> get_tpl_map_fem_solution(void); |
43 |
|
|
long get_nb_groupe_forme(void); |
44 |
|
|
void ajouter_groupe_forme(GROUPE_FORME* groupe_forme); |
45 |
|
|
GROUPE_FORME* get_premier_groupe_forme(std::vector<GROUPE_FORME*>::iterator &it); |
46 |
|
|
GROUPE_FORME* get_suivant_groupe_forme(std::vector<GROUPE_FORME*>::iterator &it); |
47 |
|
|
GROUPE_FORME* get_groupe_forme(std::string nom); |
48 |
|
|
BOITE_3D get_boite3d_ves(void); |
49 |
|
|
|
50 |
|
|
int generer_geometrie(std::vector<OT_PARAMETRES*> &vector_params_geometrie); |
51 |
|
|
int generer_materiau(std::vector<OT_PARAMETRES*> &vector_params_materiau); |
52 |
|
|
int generer_carte(OT_PARAMETRES *param); |
53 |
|
|
int generer_maillage(OT_PARAMETRES *param,FCT_TAILLE_FEM_SOLUTION* carte); |
54 |
|
|
int generer_fem_maillage(OT_PARAMETRES *param); |
55 |
|
|
int generer_etude(OT_PARAMETRES *param); |
56 |
|
|
int calcul(OT_PARAMETRES *param,char* param_aster); |
57 |
|
|
int homogeneisation(OT_PARAMETRES *param,char* fichier_resultats); |
58 |
|
|
|
59 |
|
|
int enregistrer(char *fichier_ves,char* fichier_magic); |
60 |
|
|
int importer(char* fichier); |
61 |
|
|
|
62 |
|
|
void active_affichage(fonction_affiche *fonc); |
63 |
|
|
void affiche(char *message); |
64 |
|
|
|
65 |
|
|
protected: |
66 |
|
|
|
67 |
|
|
int appliquer_conditions_limites_plan(TPL_MAP_ENTITE<MG_FACE*> *plan, char *condition, double valeur,bool topo_sous_jacente); |
68 |
|
|
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); |
69 |
|
|
|
70 |
|
|
MG_GESTIONNAIRE* m_mg_gestionnaire; |
71 |
|
|
MG_CG_MODELE* m_mgcg_modele; |
72 |
|
|
MG_CG_ASSEMBLAGE* m_mgcg_assemblage; |
73 |
|
|
MG_GEOMETRIE* m_mg_geometrie; |
74 |
|
|
MG_MAILLAGE *m_mg_maillage; |
75 |
|
|
FEM_MAILLAGE *m_fem_maillage; |
76 |
|
|
std::vector<GROUPE_FORME*> m_vector_groupe_forme; |
77 |
|
|
BOITE_3D m_boite3D_ves; |
78 |
|
|
double m_eps; |
79 |
|
|
double m_temps_generation_geometrie; |
80 |
|
|
double m_temps_generation_materiau; |
81 |
|
|
double m_temps_generation_carte; |
82 |
|
|
double m_temps_generation_maillage; |
83 |
|
|
double m_temps_generation_fem_maillage; |
84 |
|
|
double m_temps_generation_etude; |
85 |
|
|
double m_temps_calcul; |
86 |
|
|
int affichageactif; |
87 |
|
|
fonction_affiche *fonc_affiche; |
88 |
|
|
}; |
89 |
|
|
|
90 |
|
|
} |
91 |
|
|
|
92 |
|
|
#endif |