MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
fct_taille_fem_solution_generateur_microstructure.h
Aller à la documentation de ce fichier.
1 //####//------------------------------------------------------------
2 //####//------------------------------------------------------------
3 //####// MAGiC
4 //####// Jean Christophe Cuilliere et Vincent FRANCOIS
5 //####// Departement de Genie Mecanique - UQTR
6 //####//------------------------------------------------------------
7 //####// MAGIC est un projet de recherche de l equipe ERICCA
8 //####// du departement de genie mecanique de l Universite du Quebec a Trois Rivieres
9 //####// http://www.uqtr.ca/ericca
10 //####// http://www.uqtr.ca/
11 //####//------------------------------------------------------------
12 //####//------------------------------------------------------------
13 //####//
14 //####// fct_taille_fem_solution_generateur_microstructure.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:52 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #ifndef _FCT_TAILLE_FEM_SOLUTION_GENERATEUR_MICROSTRUCTURE_
23 #define _FCT_TAILLE_FEM_SOLUTION_GENERATEUR_MICROSTRUCTURE_
25 #include "mg_gestionnaire.h"
26 #include "tpl_grille.h"
27 class VOLUME_GRILLE;
28 
30 
31 {
32 public:
34  MG_GEOMETRIE* geotmp,
35  double dg,
36  double dg_eps_particule,
37  int fechantillon,
38  int nb_cellule_direction,
39  char *nomsolution,
40  TPL_MAP_ENTITE<MG_VOLUME*>& tpl_map_volume_matrice,
41  long nb_couche_min=2,
42  long nb_pas=32,
43  double facteur_augmentation=25);
46 
47  virtual void construit_particulier(void);
48 protected:
49  int echantillonnage(void);
51  void echantillonnage_face_face(MG_FACE* mgface1,MG_FACE* mgface2);
52  void echantillonnage_arete_face(MG_ARETE* mgarete,MG_FACE* mgface);
53  void echantillonnage_sommet_face(MG_SOMMET* mgsommet,MG_FACE* mgface);
54  void echantillonnage_arete_arete(MG_ARETE* mgarete1,MG_ARETE* mgarete2);
55  void echantillonnage_sommet_arete(MG_SOMMET* mgsommet,MG_ARETE* mgarete);
56  void echantillonnage_sommet_sommet(MG_SOMMET* mgsommet1,MG_SOMMET* mgsommet2);
57  void echantillonnage_arete(MG_ARETE* mgarete);
58  void echantillonnage_face(MG_FACE* mgface);
60  void lisser_solution(void);
61  void extrapoler_solution_noeud(void);
62  void cree_grille(void);
63  void get_fem_ele3_droite(double *xyz1,double *xyz2,TPL_MAP_ENTITE<FEM_ELEMENT3*> &tpl_map_ele3,int nb_pas=32);
66  long m_nb_pas;
70  std::map<FEM_ELEMENT3*,FEM_ELEMENT3*> m_map_fem_ele3;
72 
73 };
74 
76 {
77 public:
79  {
80  m_mgeletopo=mgeletopo;
81  m_id=id;
83  }
85  {
86  return m_boite;
87  }
89  {
90  return m_mgeletopo;
91  }
92  long get_id(void)
93  {
94  return m_id;
95  }
96 protected:
99  long m_id;
100 };
101 
102 
104 {
105 public:
106  VOLUME_GRILLE(MG_VOLUME* volume,long id)
107  {
108  m_volume=volume;
109  m_id=id;
111  }
113  {
114  return m_boite;
115  }
117  {
118  return m_volume;
119  }
120  long get_id(void)
121  {
122  return m_id;
123  }
124 protected:
127  long m_id;
128 };
129 
131 {
132 public:
133  FACE_GRILLE(MG_FACE* face,long id)
134  {
135  m_face=face;
136  m_id=id;
138  }
140  {
141  return m_boite;
142  }
144  {
145  return m_face;
146  }
147  long get_id(void)
148  {
149  return m_id;
150  }
151 protected:
154  long m_id;
155 };
156 
158 {
159 public:
160  ARETE_GRILLE(MG_ARETE* arete,long id)
161  {
162  m_arete=arete;
163  m_id=id;
165  }
167  {
168  return m_boite;
169  }
171  {
172  return m_arete;
173  }
174  long get_id(void)
175  {
176  return m_id;
177  }
178 protected:
181  long m_id;
182 };
183 
184 
185 #endif
MG_ELEMENT_TOPOLOGIQUE * get_mgeletopo(void)
ELE_TOPO_GRILLE(MG_ELEMENT_TOPOLOGIQUE *mgeletopo, long id)
void echantillonnage_ele_topo_ele_topo(MG_ELEMENT_TOPOLOGIQUE *eletopo1, MG_ELEMENT_TOPOLOGIQUE *eletopo2)
FCT_TAILLE_FEM_SOLUTION_GENERATEUR_MICROSTRUCTURE(MG_GESTIONNAIRE *gesttmp, MG_GEOMETRIE *geotmp, double dg, double dg_eps_particule, int fechantillon, int nb_cellule_direction, char *nomsolution, TPL_MAP_ENTITE< MG_VOLUME * > &tpl_map_volume_matrice, long nb_couche_min=2, long nb_pas=32, double facteur_augmentation=25)
void get_fem_ele3_droite(double *xyz1, double *xyz2, TPL_MAP_ENTITE< FEM_ELEMENT3 * > &tpl_map_ele3, int nb_pas=32)
bool lien_topologique_entre(MG_ELEMENT_TOPOLOGIQUE *mg_ele_topo1, MG_ELEMENT_TOPOLOGIQUE *mg_ele_topo2)
virtual BOITE_3D get_boite_3D(void)
Definition: mg_arete.cpp:116
virtual BOITE_3D get_boite_3D(void)=0
virtual BOITE_3D get_boite_3D(void)
Definition: mg_face.cpp:336
virtual BOITE_3D get_boite_3D(void)
Definition: mg_volume.cpp:109