ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/fem_tetra4.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: 3204 byte(s)
Log Message:
Generalisation du calcul du Jacobien en 2D et 3D

File Contents

# Content
1 //------------------------------------------------------------
2 //------------------------------------------------------------
3 // MAGiC
4 // Jean Christophe Cuilli�re et Vincent FRANCOIS
5 // D�partement de G�nie M�canique - UQTR
6 //------------------------------------------------------------
7 // Le projet MAGIC est un projet de recherche du d�partement
8 // de g�nie m�canique de l'Universit� du Qu�bec �
9 // Trois Rivi�res
10 // Les librairies ne peuvent �tre utilis�es sans l'accord
11 // des auteurs (contact : francois@uqtr.ca)
12 //------------------------------------------------------------
13 //------------------------------------------------------------
14 //
15 // mg_tetra4.h
16 //
17 //------------------------------------------------------------
18 //------------------------------------------------------------
19 // COPYRIGHT 2000
20 // Version du 02/03/2006 � 11H22
21 //------------------------------------------------------------
22 //------------------------------------------------------------
23 #ifndef _FEMTETRA4_
24 #define _FEMTETRA4_
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_template_element.h"
38 #include "fem_element3.h"
39
40 const unsigned int IDFEM_TETRA4=1304;
41
42
43 class DLLPORTGEOMETRIE FEM_TETRA4 : public FEM_ELEMENT3,FEM_TEMPLATE_ELEMENT<4>
44 {
45 public:
46 FEM_TETRA4(unsigned long num,class MG_ELEMENT_MAILLAGE* mai,class FEM_NOEUD** tabnoeud);
47 FEM_TETRA4(class MG_ELEMENT_MAILLAGE* mai,FEM_NOEUD** tabnoeud);
48 FEM_TETRA4(unsigned long num,class MG_ELEMENT_TOPOLOGIQUE* topo,class FEM_NOEUD** tabnoeud);
49 FEM_TETRA4(class MG_ELEMENT_TOPOLOGIQUE* topo,FEM_NOEUD** tabnoeud);
50 FEM_TETRA4(unsigned long num,class MG_ELEMENT_TOPOLOGIQUE* topo,class MG_ELEMENT_MAILLAGE* mai,class FEM_NOEUD** tabnoeud);
51 FEM_TETRA4(class MG_ELEMENT_TOPOLOGIQUE* topo,class MG_ELEMENT_MAILLAGE* mai,FEM_NOEUD** tabnoeud);
52 FEM_TETRA4(FEM_TETRA4& mdd);
53 virtual ~FEM_TETRA4();
54 virtual int get_type_entite(void);
55 virtual int get_nb_fem_noeud(void);
56 virtual FEM_NOEUD* get_fem_noeud(int num);
57 virtual void change_noeud(int num,FEM_NOEUD* noeud);
58 virtual int get_dimension(void);
59 virtual void enregistrer(std::ostream& o,double version);
60 virtual BOITE_3D& get_boite_3D(void);
61 virtual FEM_ELEMENT_MAILLAGE* dupliquer(FEM_MAILLAGE *femmai,long decalage);
62 virtual void reinit_boite_3D(void);
63 virtual bool valide_parametre_EF(double* uvw);
64
65 virtual int get_nb_pt_gauss(int degre);
66 virtual void get_pt_gauss(int degre,int num,double &w,double *uvw);
67 virtual int get_degre_gauss(int num);
68
69 virtual int get_degremax_fonction_interpolation(void);
70 virtual int get_nb_fonction_interpolation(void);
71 virtual double get_fonction_interpolation(int num,double *uv);
72 virtual double get_fonction_derive_interpolation(int num,int numvariable,double *uv);
73
74 virtual void get_voisin_noeud(class FEM_NOEUD* no,TPL_LISTE_ENTITE<FEM_NOEUD*> &voisin);
75
76 virtual int verifie_validite_decoupage_xfem(double *vol=NULL);
77 protected:
78
79 };
80
81
82
83
84
85
86 #endif
87
88
89