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