ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/fem_element1.h
Revision: 767
Committed: Wed Dec 23 20:52:36 2015 UTC (9 years, 4 months ago) by francois
Content type: text/plain
File size: 3049 byte(s)
Log Message:
calcul sur des structures mixtes volume poutre.
cela fonctionne pour l'instant pour des blocages appliquées uniquement aux mailles 3D et pour des résultats aux mailles 3D uniquement aux noeuds

File Contents

# User Rev Content
1 francois 283 //------------------------------------------------------------
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_segment.h
16     //
17     //------------------------------------------------------------
18     //------------------------------------------------------------
19     // COPYRIGHT 2000
20     // Version du 02/03/2006 �11H22
21     //------------------------------------------------------------
22     //------------------------------------------------------------
23 francois 399 #ifndef _FEMELEMENT1_
24     #define _FEMELEMENT1_
25 francois 283
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 francois 481 #include "ot_boite_3d.h"
39 francois 380 #include <vector>
40 francois 309 //const unsigned int IDFEM_ELEMENT1=1001;
41 francois 283
42    
43    
44 francois 309 class DLLPORTGEOMETRIE FEM_ELEMENT1 : public FEM_ELEMENT_MAILLAGE
45 francois 283 {
46     public:
47 francois 309 FEM_ELEMENT1(unsigned long num,class MG_ELEMENT_MAILLAGE* mai);
48 francois 378 FEM_ELEMENT1(unsigned long num,class MG_ELEMENT_TOPOLOGIQUE* topo);
49     FEM_ELEMENT1(unsigned long num,class MG_ELEMENT_TOPOLOGIQUE* topo,class MG_ELEMENT_MAILLAGE* mai);
50 francois 309 FEM_ELEMENT1(class MG_ELEMENT_MAILLAGE* mai);
51 francois 378 FEM_ELEMENT1(class MG_ELEMENT_TOPOLOGIQUE* topo);
52     FEM_ELEMENT1(class MG_ELEMENT_TOPOLOGIQUE* topo,class MG_ELEMENT_MAILLAGE* mai);
53 francois 309 FEM_ELEMENT1(FEM_ELEMENT1& mdd);
54     virtual ~FEM_ELEMENT1();
55 francois 283 virtual int get_type_entite(void)=0;
56    
57     virtual int get_nb_fem_noeud(void)=0;
58     virtual class FEM_NOEUD* get_fem_noeud(int num)=0;
59    
60     virtual void change_noeud(int num,FEM_NOEUD* noeud)=0;
61     virtual BOITE_3D& get_boite_3D(void)=0;
62     virtual int get_dimension(void)=0;
63 francois 763 virtual void enregistrer(std::ostream& o,double version)=0;
64 francois 283
65    
66     virtual void extrapoler_solution_noeud(void);
67 francois 310
68    
69 francois 637 virtual int get_nb_pt_gauss(int degre)=0;
70 francois 757 virtual void get_pt_gauss(int degre,int num,double &w,double *u)=0;
71     virtual int get_degre_gauss(int num)=0;
72    
73    
74 francois 638 virtual int get_degremax_fonction_interpolation(void)=0;
75     virtual int get_nb_fonction_interpolation(void)=0;
76 francois 310 virtual double get_fonction_interpolation(int num,double *uv)=0;
77     virtual double get_fonction_derive_interpolation(int num,int numvariable,double *uv)=0;
78     virtual double get_jacobien(double* jac,double *uv,int& li,int& col,double unite=1.)=0;
79     virtual void get_inverse_jacob(double* jac,double *uv,double unite=1.)=0;
80 francois 399
81 francois 767 virtual bool est_un_mini_element1(void);
82 francois 380
83 francois 283 protected:
84 francois 399
85 francois 283 };
86    
87    
88    
89    
90    
91    
92     #endif
93    
94    
95