MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
fem_element3.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 //####// fem_element3.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:53 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #ifndef _FEMELEMENT3_
23 #define _FEMELEMENT3_
24 
25 
26 
27 
28 #include "fem_element_maillage.h"
29 #include "ot_boite_3d.h"
30 #include <vector>
31 
32 
33 
35 {
36 public:
37  FEM_ELEMENT3(unsigned long num,class MG_ELEMENT_MAILLAGE* mai);
38  FEM_ELEMENT3(unsigned long num,class MG_ELEMENT_TOPOLOGIQUE* topo);
39  FEM_ELEMENT3(unsigned long num,class MG_ELEMENT_TOPOLOGIQUE* topo,class MG_ELEMENT_MAILLAGE* mai);
43 
45  virtual ~FEM_ELEMENT3();
46  virtual int get_type_entite(void)=0;
47  virtual int get_nb_fem_noeud(void)=0;
48  virtual class FEM_NOEUD* get_fem_noeud(int num)=0;
49 
50  virtual int get_nb_pt_gauss(int degre)=0;
51  virtual void get_pt_gauss(int degre,int num,double &w,double *uvw)=0;
52  virtual int get_degre_gauss(int num)=0;
53 
54  virtual int get_nb_fonction_interpolation(void)=0;
55  virtual int get_degremax_fonction_interpolation(void)=0;
56  virtual double get_fonction_interpolation(int num,double *uv)=0;
57  virtual double get_fonction_derive_interpolation(int num,int numvariable,double *uv)=0;
58  virtual double get_jacobien(double* jac,double *uv,double unite=1.);
59  virtual void get_inverse_jacob(double* jac,double *uv,double unite=1.);
60  virtual bool get_param_element_fini(double *xyz,double *uvw);
61  virtual void get_interpolation_xyz(double *uvw,double *xyz);
62 
63 
64  virtual void change_noeud(int num,FEM_NOEUD* noeud)=0;
65  virtual BOITE_3D& get_boite_3D(void)=0;
66  virtual int get_dimension(void)=0;
67  virtual void enregistrer(std::ostream& o,double version)=0;
68 
69  virtual int verifie_validite_decoupage_xfem(double *vol=NULL)=0;
70 
71 protected:
72 
73 
74 };
75 
76 
77 
78 
79 
80 
81 #endif
82 
83 
84 
FEM_ELEMENT3::get_inverse_jacob
virtual void get_inverse_jacob(double *jac, double *uv, double unite=1.)
Definition: fem_element3.cpp:177
FEM_ELEMENT3::get_pt_gauss
virtual void get_pt_gauss(int degre, int num, double &w, double *uvw)=0
FEM_ELEMENT3::FEM_ELEMENT3
FEM_ELEMENT3(unsigned long num, class MG_ELEMENT_MAILLAGE *mai)
Definition: fem_element3.cpp:34
FEM_ELEMENT3::get_fem_noeud
virtual class FEM_NOEUD * get_fem_noeud(int num)=0
FEM_ELEMENT3::change_noeud
virtual void change_noeud(int num, FEM_NOEUD *noeud)=0
MG_ELEMENT_MAILLAGE
Definition: mg_element_maillage.h:38
FEM_ELEMENT3
Definition: fem_element3.h:34
FEM_ELEMENT3::get_nb_fonction_interpolation
virtual int get_nb_fonction_interpolation(void)=0
FEM_ELEMENT3::get_dimension
virtual int get_dimension(void)=0
MG_ELEMENT_TOPOLOGIQUE
Definition: mg_element_topologique.h:51
FEM_ELEMENT3::get_param_element_fini
virtual bool get_param_element_fini(double *xyz, double *uvw)
Definition: fem_element3.cpp:66
FEM_ELEMENT3::enregistrer
virtual void enregistrer(std::ostream &o, double version)=0
FEM_ELEMENT_MAILLAGE
Definition: fem_element_maillage.h:35
FEM_ELEMENT3::get_degremax_fonction_interpolation
virtual int get_degremax_fonction_interpolation(void)=0
fem_element_maillage.h
FEM_ELEMENT3::get_fonction_derive_interpolation
virtual double get_fonction_derive_interpolation(int num, int numvariable, double *uv)=0
FEM_ELEMENT3::get_fonction_interpolation
virtual double get_fonction_interpolation(int num, double *uv)=0
FEM_ELEMENT3::get_nb_fem_noeud
virtual int get_nb_fem_noeud(void)=0
FEM_ELEMENT3::get_jacobien
virtual double get_jacobien(double *jac, double *uv, double unite=1.)
Definition: fem_element3.cpp:144
FEM_ELEMENT3::get_interpolation_xyz
virtual void get_interpolation_xyz(double *uvw, double *xyz)
Definition: fem_element3.cpp:133
FEM_NOEUD
Definition: fem_noeud.h:35
BOITE_3D
Definition: ot_boite_3d.h:27
FEM_ELEMENT3::get_nb_pt_gauss
virtual int get_nb_pt_gauss(int degre)=0
ot_boite_3d.h
FEM_ELEMENT3::get_type_entite
virtual int get_type_entite(void)=0
FEM_NOEUD::xyz
double xyz[3]
Definition: fem_noeud.h:105
FEM_ELEMENT3::~FEM_ELEMENT3
virtual ~FEM_ELEMENT3()
Definition: fem_element3.cpp:62
FEM_ELEMENT3::verifie_validite_decoupage_xfem
virtual int verifie_validite_decoupage_xfem(double *vol=NULL)=0
FEM_ELEMENT3::get_boite_3D
virtual BOITE_3D & get_boite_3D(void)=0
FEM_ELEMENT3::get_degre_gauss
virtual int get_degre_gauss(int num)=0