1 |
francois |
1158 |
//####//------------------------------------------------------------ |
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 |
couturad |
919 |
#ifndef _MSTRUCT_OUTILS_ |
23 |
|
|
#define _MSTRUCT_OUTILS_ |
24 |
|
|
#include "mstruct_ves.h" |
25 |
couturad |
926 |
class OT_TENSEUR; |
26 |
couturad |
951 |
|
27 |
|
|
class MSTRUCT_OUTILS |
28 |
couturad |
919 |
{ |
29 |
couturad |
951 |
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 |
|
|
|
41 |
|
|
static int statistiques_tenseur_orientation(MG_CG_GROUPE_FORME* groupe_forme, |
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 |
|
|
|
74 |
|
|
static int statistiques_fem_maillage(FEM_MAILLAGE *fem, |
75 |
|
|
BOITE_3D *boite_analyse, |
76 |
couturad |
926 |
TPL_MAP_ENTITE<MG_CG_FORME*> &tpl_map_forme, |
77 |
|
|
long &nb_element_2D,long &nb_element_3D, |
78 |
couturad |
951 |
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 |
couturad |
926 |
double &volume, |
85 |
|
|
double &fraction_volumique); |
86 |
couturad |
982 |
|
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 |
couturad |
926 |
|
89 |
couturad |
951 |
protected: |
90 |
|
|
static double get_volume_mgcg_forme(MG_CG_FORME* forme,FEM_MAILLAGE *fem,BOITE_3D* boite_analyse); |
91 |
couturad |
982 |
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 |
couturad |
951 |
}; |
94 |
|
|
|
95 |
couturad |
982 |
#endif |