ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/fem_hexa20.h
Revision: 638
Committed: Mon Jan 26 21:56:20 2015 UTC (10 years, 7 months ago) by francois
Content type: text/plain
File size: 3177 byte(s)
Log Message:
ajout d'une méthode qui renvoit le degre max des fonctions d'interpolation et changement de nom de la fonction qui renvoie le nombre de fonction d'interpolation (ajout d'un get pour uniformiser)

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_triangle3.h
16 //
17 //------------------------------------------------------------
18 //------------------------------------------------------------
19 // COPYRIGHT 2000
20 // Version du 02/03/2006 � 11H22
21 //------------------------------------------------------------
22 //------------------------------------------------------------
23 #ifndef _FEMHEXA20_
24 #define _FEMHEXA20_
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
41 const unsigned int IDFEM_HEXA20=1320;
42
43
44 class DLLPORTGEOMETRIE FEM_HEXA20 : public FEM_ELEMENT3,FEM_TEMPLATE_ELEMENT<20>
45 {
46 public:
47 FEM_HEXA20(unsigned long num,class MG_ELEMENT_MAILLAGE* mai,class FEM_NOEUD** tabnoeud);
48 FEM_HEXA20(class MG_ELEMENT_MAILLAGE* mai,FEM_NOEUD** tabnoeud);
49 FEM_HEXA20(unsigned long num,class MG_ELEMENT_TOPOLOGIQUE* topo,class FEM_NOEUD** tabnoeud);
50 FEM_HEXA20(class MG_ELEMENT_TOPOLOGIQUE* topo,FEM_NOEUD** tabnoeud);
51 FEM_HEXA20(unsigned long num,class MG_ELEMENT_TOPOLOGIQUE* topo,class MG_ELEMENT_MAILLAGE* mai,class FEM_NOEUD** tabnoeud);
52 FEM_HEXA20(class MG_ELEMENT_TOPOLOGIQUE* topo,class MG_ELEMENT_MAILLAGE* mai,FEM_NOEUD** tabnoeud);
53 FEM_HEXA20(FEM_HEXA20& mdd);
54 virtual ~FEM_HEXA20();
55 virtual int get_type_entite(void);
56 virtual int get_nb_fem_noeud(void);
57 virtual FEM_NOEUD* get_fem_noeud(int num);
58 virtual void change_noeud(int num,FEM_NOEUD* noeud);
59 virtual int get_dimension(void);
60 virtual void enregistrer(std::ostream& o);
61 virtual BOITE_3D& get_boite_3D(void);
62 virtual FEM_ELEMENT_MAILLAGE* dupliquer(class FEM_MAILLAGE *femmai,long decalage);
63 virtual bool valide_parametre_EF(double* uvw);
64 virtual int get_nb_pt_gauss(int degre);
65 virtual void get_pt_gauss(int degre,int num,double &w,double *uvw);
66 virtual int get_degremax_fonction_interpolation(void);
67 virtual int get_nb_fonction_interpolation(void);
68 virtual double get_fonction_interpolation(int num,double *uv);
69 virtual double get_fonction_derive_interpolation(int num,int numvariable,double *uv);
70 virtual double get_jacobien(double* jac,double *uv,int& li,int& col,double unite=1.);
71 virtual void get_inverse_jacob(double* jac,double *uv,double unite=1.);
72
73
74 virtual int verifie_validite_decoupage_xfem(double *vol=NULL);
75 protected:
76
77 };
78
79
80
81
82
83
84 #endif
85
86
87