ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/fem_element3.h
Revision: 763
Committed: Wed Dec 2 19:55:53 2015 UTC (9 years, 5 months ago) by francois
Content type: text/plain
File size: 3209 byte(s)
Log Message:
Le fichier MAGiC est maintenant versionné. LA version actuelle est 2.0. L'ancienne version est 1.0.
Tout est transparent pour l'utilisateur. Les vieilles versions sont lisibles mais les nouveaux enregistrements sont dans la version la plus récente.
Changement des conditions aux limites : ajout d'un parametre pour dire si la condition numerique est une valeur ou une formule ou un lien vers une autre entité magic.
Les parametres pour saisir sont maintenant -ccf -ccfi -ccff -ccft -ccfit -ccfft

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_tetra.h
16     //
17     //------------------------------------------------------------
18     //------------------------------------------------------------
19     // COPYRIGHT 2000
20     // Version du 02/03/2006 �11H22
21     //------------------------------------------------------------
22     //------------------------------------------------------------
23 francois 399 #ifndef _FEMELEMENT3_
24     #define _FEMELEMENT3_
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 339 #include <vector>
40 francois 283 //const unsigned int IDFEM_SEGMENT=1001;
41    
42    
43    
44 francois 309 class DLLPORTGEOMETRIE FEM_ELEMENT3 : public FEM_ELEMENT_MAILLAGE
45 francois 283 {
46     public:
47 francois 309 FEM_ELEMENT3(unsigned long num,class MG_ELEMENT_MAILLAGE* mai);
48 francois 378 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 francois 309 FEM_ELEMENT3(class MG_ELEMENT_MAILLAGE* mai);
51 francois 378 FEM_ELEMENT3(class MG_ELEMENT_TOPOLOGIQUE* topo);
52     FEM_ELEMENT3(class MG_ELEMENT_TOPOLOGIQUE* topo,class MG_ELEMENT_MAILLAGE* mai);
53    
54 francois 309 FEM_ELEMENT3(FEM_ELEMENT3& mdd);
55     virtual ~FEM_ELEMENT3();
56 francois 283 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 francois 637 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 francois 757 virtual int get_degre_gauss(int num)=0;
63 francois 283
64 francois 638 virtual int get_nb_fonction_interpolation(void)=0;
65     virtual int get_degremax_fonction_interpolation(void)=0;
66 francois 283 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,int& li,int& col,double unite=1.)=0;
69     virtual void get_inverse_jacob(double* jac,double *uv,double unite=1.)=0;
70 francois 635 virtual bool get_param_element_fini(double *xyz,double *uvw);
71 francois 628 virtual void get_interpolation_xyz(double *uvw,double *xyz);
72 francois 283
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 francois 763 virtual void enregistrer(std::ostream& o,double version)=0;
78 francois 283
79     virtual void extrapoler_solution_noeud(void);
80 francois 405
81 francois 339
82 francois 406 virtual int verifie_validite_decoupage_xfem(double *vol=NULL)=0;
83 francois 339
84 francois 405
85 francois 283 protected:
86 francois 399
87 francois 339
88 francois 283 };
89    
90    
91    
92    
93    
94    
95     #endif
96    
97    
98