MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mstruct_outils.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 //####// mstruct_outils.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:57 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #ifndef _MSTRUCT_OUTILS_
23 #define _MSTRUCT_OUTILS_
24 #include "mstruct_ves.h"
25 class OT_TENSEUR;
26 
28 {
29 public:
30  MSTRUCT_OUTILS(void);
31  ~MSTRUCT_OUTILS(void);
32  static int statistiques_champ_volumique(FEM_SOLUTION* fem_sol,
33  MG_CG_GROUPE_FORME* groupe_forme,
34  BOITE_3D* boite_analyse,
35  double *moyenne,
36  double *ecart_type,
37  double *min,
38  double *max,
39  OT_HISTOGRAMME** tab_histogramme);
40 
42  BOITE_3D* boite_analyse,
43  double *moyenne,
44  double *ecart_type,
45  double *min,
46  double *max,
47  FEM_MAILLAGE *fem=NULL,
48  bool ponderation_volume=false);
49 
50  static int statistiques_CAO(BOITE_3D boite_VES,
51  TPL_MAP_ENTITE<MG_CG_FORME*> &tpl_map_forme,
52  long &nb_forme,
53  long &nb_volume,
54  double &volume_forme_moyenne,
55  double &volume_forme_ecart_type,
56  double &volume_forme_min,
57  double &volume_forme_max,
58  OT_HISTOGRAMME &volume_forme_histogramme,
59  double &volume_total,
60  double &fraction_volumique,
61  double precision=1e-06);
62 
63  static int statistiques_mg_maillage(BOITE_3D boite_VES,
64  MG_MAILLAGE* mai,
65  TPL_MAP_ENTITE<MG_CG_FORME*> &tpl_map_forme,
66  long &nb_element_2D,long &nb_element_3D,
67  double &qualite_moyenne_2D,double &qualite_ecart_type_2D,double &qualite_min_2D,double &qualite_max_2D,OT_HISTOGRAMME& histogramme_qualite_2D,
68  double &qualite_moyenne_3D,double &qualite_ecart_type_3D,double &qualite_min_3D,double &qualite_max_3D,OT_HISTOGRAMME& histogramme_qualite_3D,
69  double &taille_moyenne_2D,double &taille_ecart_type_2D,double &taille_min_2D,double &taille_max_2D,OT_HISTOGRAMME& histogramme_taille_2D,
70  double &taille_moyenne_3D,double &taille_ecart_type_3D,double &taille_min_3D,double &taille_max_3D,OT_HISTOGRAMME& histogramme_taille_3D,
71  double &volume,
72  double &fraction_volumique);
73 
75  BOITE_3D *boite_analyse,
76  TPL_MAP_ENTITE<MG_CG_FORME*> &tpl_map_forme,
77  long &nb_element_2D,long &nb_element_3D,
78  double &jacobien_min_moyenne_2D,double &jacobien_min_ecart_type_2D, double &jacobien_min_min_2D, double &jacobien_min_max_2D,OT_HISTOGRAMME& histogramme_jacobien_min_2D,
79  double &jacobien_max_moyenne_2D,double &jacobien_max_ecart_type_2D, double &jacobien_max_min_2D, double &jacobien_max_max_2D,OT_HISTOGRAMME& histogramme_jacobien_max_2D,
80  double &jacobien_min_moyenne_3D,double &jacobien_min_ecart_type_3D, double &jacobien_min_min_3D, double &jacobien_min_max_3D,OT_HISTOGRAMME& histogramme_jacobien_min_3D,
81  double &jacobien_max_moyenne_3D,double &jacobien_max_ecart_type_3D, double &jacobien_max_min_3D, double &jacobien_max_max_3D,OT_HISTOGRAMME& histogramme_jacobien_max_3D,
82  double &distortion_moyenne_2D,double &distortion_ecart_type_2D, double &distortion_min_2D, double &distortion_max_2D,OT_HISTOGRAMME& histogramme_distortion_2D,
83  double &distortion_moyenne_3D,double &distortion_ecart_type_3D, double &distortion_min_3D, double &distortion_max_3D,OT_HISTOGRAMME& histogramme_distortion_3D,
84  double &volume,
85  double &fraction_volumique);
86 
87  static int appliquer_conditions_limites(MG_GEOMETRIE* m_mg_geometrie, BOITE_3D boite3D_ves, int Type_etude, int Type_CL, int Type_Chargement,double Valeur_CL, int Direction=0,double eps=1.0e-06);
88 
89 protected:
90  static double get_volume_mgcg_forme(MG_CG_FORME* forme,FEM_MAILLAGE *fem,BOITE_3D* boite_analyse);
91  static int appliquer_conditions_limites_plan(TPL_MAP_ENTITE<MG_FACE*> *plan, char *condition, double valeur,bool topo_sous_jacente);
92  static 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);
93 };
94 
95 #endif
MSTRUCT_OUTILS::get_volume_mgcg_forme
static double get_volume_mgcg_forme(MG_CG_FORME *forme, FEM_MAILLAGE *fem, BOITE_3D *boite_analyse)
Definition: mstruct_outils.cpp:789
MSTRUCT_OUTILS::statistiques_CAO
static int statistiques_CAO(BOITE_3D boite_VES, TPL_MAP_ENTITE< MG_CG_FORME * > &tpl_map_forme, long &nb_forme, long &nb_volume, double &volume_forme_moyenne, double &volume_forme_ecart_type, double &volume_forme_min, double &volume_forme_max, OT_HISTOGRAMME &volume_forme_histogramme, double &volume_total, double &fraction_volumique, double precision=1e-06)
Definition: mstruct_outils.cpp:323
FEM_SOLUTION
Definition: fem_solution.h:40
OT_HISTOGRAMME
Definition: ot_mathematique.h:34
TPL_MAP_ENTITE< MG_CG_FORME * >
mstruct_ves.h
MSTRUCT_OUTILS::statistiques_fem_maillage
static int statistiques_fem_maillage(FEM_MAILLAGE *fem, BOITE_3D *boite_analyse, TPL_MAP_ENTITE< MG_CG_FORME * > &tpl_map_forme, long &nb_element_2D, long &nb_element_3D, double &jacobien_min_moyenne_2D, double &jacobien_min_ecart_type_2D, double &jacobien_min_min_2D, double &jacobien_min_max_2D, OT_HISTOGRAMME &histogramme_jacobien_min_2D, double &jacobien_max_moyenne_2D, double &jacobien_max_ecart_type_2D, double &jacobien_max_min_2D, double &jacobien_max_max_2D, OT_HISTOGRAMME &histogramme_jacobien_max_2D, double &jacobien_min_moyenne_3D, double &jacobien_min_ecart_type_3D, double &jacobien_min_min_3D, double &jacobien_min_max_3D, OT_HISTOGRAMME &histogramme_jacobien_min_3D, double &jacobien_max_moyenne_3D, double &jacobien_max_ecart_type_3D, double &jacobien_max_min_3D, double &jacobien_max_max_3D, OT_HISTOGRAMME &histogramme_jacobien_max_3D, double &distortion_moyenne_2D, double &distortion_ecart_type_2D, double &distortion_min_2D, double &distortion_max_2D, OT_HISTOGRAMME &histogramme_distortion_2D, double &distortion_moyenne_3D, double &distortion_ecart_type_3D, double &distortion_min_3D, double &distortion_max_3D, OT_HISTOGRAMME &histogramme_distortion_3D, double &volume, double &fraction_volumique)
Definition: mstruct_outils.cpp:564
MSTRUCT_OUTILS::statistiques_champ_volumique
static int statistiques_champ_volumique(FEM_SOLUTION *fem_sol, MG_CG_GROUPE_FORME *groupe_forme, BOITE_3D *boite_analyse, double *moyenne, double *ecart_type, double *min, double *max, OT_HISTOGRAMME **tab_histogramme)
Definition: mstruct_outils.cpp:38
MSTRUCT_OUTILS::~MSTRUCT_OUTILS
~MSTRUCT_OUTILS(void)
MSTRUCT_OUTILS::statistiques_mg_maillage
static int statistiques_mg_maillage(BOITE_3D boite_VES, MG_MAILLAGE *mai, TPL_MAP_ENTITE< MG_CG_FORME * > &tpl_map_forme, long &nb_element_2D, long &nb_element_3D, double &qualite_moyenne_2D, double &qualite_ecart_type_2D, double &qualite_min_2D, double &qualite_max_2D, OT_HISTOGRAMME &histogramme_qualite_2D, double &qualite_moyenne_3D, double &qualite_ecart_type_3D, double &qualite_min_3D, double &qualite_max_3D, OT_HISTOGRAMME &histogramme_qualite_3D, double &taille_moyenne_2D, double &taille_ecart_type_2D, double &taille_min_2D, double &taille_max_2D, OT_HISTOGRAMME &histogramme_taille_2D, double &taille_moyenne_3D, double &taille_ecart_type_3D, double &taille_min_3D, double &taille_max_3D, OT_HISTOGRAMME &histogramme_taille_3D, double &volume, double &fraction_volumique)
Definition: mstruct_outils.cpp:403
MG_CG_FORME
Definition: mg_cg_forme.h:41
OT_TENSEUR
Definition: ot_tenseur.h:41
MSTRUCT_OUTILS
Definition: mstruct_outils.h:27
FEM_MAILLAGE
Definition: fem_maillage.h:66
MG_CG_GROUPE_FORME
Definition: mg_cg_groupe_forme.h:30
MSTRUCT_OUTILS::appliquer_conditions_limites_plan
static int appliquer_conditions_limites_plan(TPL_MAP_ENTITE< MG_FACE * > *plan, char *condition, double valeur, bool topo_sous_jacente)
Definition: mstruct_outils.cpp:843
MSTRUCT_OUTILS::statistiques_tenseur_orientation
static int statistiques_tenseur_orientation(MG_CG_GROUPE_FORME *groupe_forme, BOITE_3D *boite_analyse, double *moyenne, double *ecart_type, double *min, double *max, FEM_MAILLAGE *fem=NULL, bool ponderation_volume=false)
Definition: mstruct_outils.cpp:189
BOITE_3D
Definition: ot_boite_3d.h:27
MG_GEOMETRIE
Definition: mg_geometrie.h:84
MG_MAILLAGE
Definition: mg_maillage.h:62
MSTRUCT_OUTILS::MSTRUCT_OUTILS
MSTRUCT_OUTILS(void)
MSTRUCT_OUTILS::appliquer_conditions_limites
static int appliquer_conditions_limites(MG_GEOMETRIE *m_mg_geometrie, BOITE_3D boite3D_ves, int Type_etude, int Type_CL, int Type_Chargement, double Valeur_CL, int Direction=0, double eps=1.0e-06)
Definition: mstruct_outils.cpp:885