ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/fem_element3.h
Revision: 1104
Committed: Fri Sep 16 19:46:33 2022 UTC (2 years, 11 months ago) by francois
Content type: text/plain
File size: 3142 byte(s)
Log Message:
Generalisation du calcul du Jacobien en 2D et 3D

File Contents

# Content
1 //------------------------------------------------------------
2 //------------------------------------------------------------
3 // MAGiC
4 // Jean Christophe Cuilli�e et Vincent FRANCOIS
5 // D�artement de G�ie M�anique - UQTR
6 //------------------------------------------------------------
7 // Le projet MAGIC est un projet de recherche du d�artement
8 // de g�ie m�anique de l'Universit�du Qu�ec �
9 // Trois Rivi�es
10 // Les librairies ne peuvent �re utilis�s sans l'accord
11 // des auteurs (contact : francois@uqtr.ca)
12 //------------------------------------------------------------
13 //------------------------------------------------------------
14 //
15 // mg_tetra.h
16 //
17 //------------------------------------------------------------
18 //------------------------------------------------------------
19 // COPYRIGHT 2000
20 // Version du 02/03/2006 �11H22
21 //------------------------------------------------------------
22 //------------------------------------------------------------
23 #ifndef _FEMELEMENT3_
24 #define _FEMELEMENT3_
25
26 #ifdef WINDOWS_VERSION
27 #ifdef BUILT_DLL_GEOMETRIE
28 #define DLLPORTGEOMETRIE __declspec(dllexport)
29 #else
30 #define DLLPORTGEOMETRIE __declspec(dllimport)
31 #endif
32 #else
33 #define DLLPORTGEOMETRIE
34 #endif
35
36
37 #include "fem_element_maillage.h"
38 #include "ot_boite_3d.h"
39 #include <vector>
40 //const unsigned int IDFEM_SEGMENT=1001;
41
42
43
44 class DLLPORTGEOMETRIE FEM_ELEMENT3 : public FEM_ELEMENT_MAILLAGE
45 {
46 public:
47 FEM_ELEMENT3(unsigned long num,class MG_ELEMENT_MAILLAGE* mai);
48 FEM_ELEMENT3(unsigned long num,class MG_ELEMENT_TOPOLOGIQUE* topo);
49 FEM_ELEMENT3(unsigned long num,class MG_ELEMENT_TOPOLOGIQUE* topo,class MG_ELEMENT_MAILLAGE* mai);
50 FEM_ELEMENT3(class MG_ELEMENT_MAILLAGE* mai);
51 FEM_ELEMENT3(class MG_ELEMENT_TOPOLOGIQUE* topo);
52 FEM_ELEMENT3(class MG_ELEMENT_TOPOLOGIQUE* topo,class MG_ELEMENT_MAILLAGE* mai);
53
54 FEM_ELEMENT3(FEM_ELEMENT3& mdd);
55 virtual ~FEM_ELEMENT3();
56 virtual int get_type_entite(void)=0;
57 virtual int get_nb_fem_noeud(void)=0;
58 virtual class FEM_NOEUD* get_fem_noeud(int num)=0;
59
60 virtual int get_nb_pt_gauss(int degre)=0;
61 virtual void get_pt_gauss(int degre,int num,double &w,double *uvw)=0;
62 virtual int get_degre_gauss(int num)=0;
63
64 virtual int get_nb_fonction_interpolation(void)=0;
65 virtual int get_degremax_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 get_param_element_fini(double *xyz,double *uvw);
71 virtual void get_interpolation_xyz(double *uvw,double *xyz);
72
73
74 virtual void change_noeud(int num,FEM_NOEUD* noeud)=0;
75 virtual BOITE_3D& get_boite_3D(void)=0;
76 virtual int get_dimension(void)=0;
77 virtual void enregistrer(std::ostream& o,double version)=0;
78
79 virtual int verifie_validite_decoupage_xfem(double *vol=NULL)=0;
80
81 protected:
82
83
84 };
85
86
87
88
89
90
91 #endif
92
93
94