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 |
|
|
//####// fem_element1.h |
15 |
|
|
//####// |
16 |
|
|
//####//------------------------------------------------------------ |
17 |
|
|
//####//------------------------------------------------------------ |
18 |
|
|
//####// COPYRIGHT 2000-2024 |
19 |
|
|
//####// jeu 13 jun 2024 11:58:53 EDT |
20 |
|
|
//####//------------------------------------------------------------ |
21 |
|
|
//####//------------------------------------------------------------ |
22 |
francois |
399 |
#ifndef _FEMELEMENT1_ |
23 |
|
|
#define _FEMELEMENT1_ |
24 |
francois |
283 |
|
25 |
|
|
|
26 |
|
|
|
27 |
francois |
1158 |
|
28 |
francois |
283 |
#include "fem_element_maillage.h" |
29 |
francois |
481 |
#include "ot_boite_3d.h" |
30 |
francois |
380 |
#include <vector> |
31 |
francois |
283 |
|
32 |
|
|
|
33 |
|
|
|
34 |
francois |
1158 |
class FEM_ELEMENT1 : public FEM_ELEMENT_MAILLAGE |
35 |
francois |
283 |
{ |
36 |
|
|
public: |
37 |
francois |
309 |
FEM_ELEMENT1(unsigned long num,class MG_ELEMENT_MAILLAGE* mai); |
38 |
francois |
378 |
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); |
40 |
francois |
309 |
FEM_ELEMENT1(class MG_ELEMENT_MAILLAGE* mai); |
41 |
francois |
378 |
FEM_ELEMENT1(class MG_ELEMENT_TOPOLOGIQUE* topo); |
42 |
|
|
FEM_ELEMENT1(class MG_ELEMENT_TOPOLOGIQUE* topo,class MG_ELEMENT_MAILLAGE* mai); |
43 |
francois |
309 |
FEM_ELEMENT1(FEM_ELEMENT1& mdd); |
44 |
|
|
virtual ~FEM_ELEMENT1(); |
45 |
francois |
283 |
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 |
francois |
763 |
virtual void enregistrer(std::ostream& o,double version)=0; |
54 |
francois |
283 |
|
55 |
|
|
|
56 |
|
|
virtual void extrapoler_solution_noeud(void); |
57 |
francois |
310 |
|
58 |
|
|
|
59 |
francois |
637 |
virtual int get_nb_pt_gauss(int degre)=0; |
60 |
francois |
757 |
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 |
|
|
|
64 |
francois |
638 |
virtual int get_degremax_fonction_interpolation(void)=0; |
65 |
|
|
virtual int get_nb_fonction_interpolation(void)=0; |
66 |
francois |
310 |
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 |
francois |
1105 |
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 |
francois |
767 |
virtual bool est_un_mini_element1(void); |
71 |
francois |
380 |
|
72 |
francois |
283 |
protected: |
73 |
francois |
399 |
|
74 |
francois |
283 |
}; |
75 |
|
|
|
76 |
|
|
|
77 |
|
|
|
78 |
|
|
|
79 |
|
|
|
80 |
|
|
|
81 |
|
|
#endif |
82 |
|
|
|
83 |
|
|
|
84 |
|
|
|