MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
fem_element1.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_element1.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:53 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #ifndef _FEMELEMENT1_
23 #define _FEMELEMENT1_
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_ELEMENT1(unsigned long num,class MG_ELEMENT_MAILLAGE* mai);
38  FEM_ELEMENT1(unsigned long num,class MG_ELEMENT_TOPOLOGIQUE* topo);
39  FEM_ELEMENT1(unsigned long num,class MG_ELEMENT_TOPOLOGIQUE* topo,class MG_ELEMENT_MAILLAGE* mai);
44  virtual ~FEM_ELEMENT1();
45  virtual int get_type_entite(void)=0;
46 
47  virtual int get_nb_fem_noeud(void)=0;
48  virtual class FEM_NOEUD* get_fem_noeud(int num)=0;
49 
50  virtual void change_noeud(int num,FEM_NOEUD* noeud)=0;
51  virtual BOITE_3D& get_boite_3D(void)=0;
52  virtual int get_dimension(void)=0;
53  virtual void enregistrer(std::ostream& o,double version)=0;
54 
55 
56  virtual void extrapoler_solution_noeud(void);
57 
58 
59  virtual int get_nb_pt_gauss(int degre)=0;
60  virtual void get_pt_gauss(int degre,int num,double &w,double *u)=0;
61  virtual int get_degre_gauss(int num)=0;
62 
63 
65  virtual int get_nb_fonction_interpolation(void)=0;
66  virtual double get_fonction_interpolation(int num,double *uv)=0;
67  virtual double get_fonction_derive_interpolation(int num,int numvariable,double *uv)=0;
68  virtual double get_jacobien(double* jac,double *uv,double unite=1.);
69  virtual void get_inverse_jacob(double* jac,double *uv,double unite=1.);
70  virtual bool est_un_mini_element1(void);
71 
72 protected:
73 
74 };
75 
76 
77 
78 
79 
80 
81 #endif
82 
83 
84 
virtual void enregistrer(std::ostream &o, double version)=0
FEM_ELEMENT1(unsigned long num, class MG_ELEMENT_MAILLAGE *mai)
virtual int get_type_entite(void)=0
virtual int get_nb_fem_noeud(void)=0
virtual int get_degremax_fonction_interpolation(void)=0
virtual bool est_un_mini_element1(void)
virtual double get_fonction_derive_interpolation(int num, int numvariable, double *uv)=0
virtual int get_nb_fonction_interpolation(void)=0
virtual void get_inverse_jacob(double *jac, double *uv, double unite=1.)
virtual void get_pt_gauss(int degre, int num, double &w, double *u)=0
virtual void extrapoler_solution_noeud(void)
virtual int get_degre_gauss(int num)=0
virtual double get_jacobien(double *jac, double *uv, double unite=1.)
virtual int get_nb_pt_gauss(int degre)=0
virtual class FEM_NOEUD * get_fem_noeud(int num)=0
virtual ~FEM_ELEMENT1()
virtual void change_noeud(int num, FEM_NOEUD *noeud)=0
virtual double get_fonction_interpolation(int num, double *uv)=0
virtual int get_dimension(void)=0
virtual BOITE_3D & get_boite_3D(void)=0