ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/fem_noeud.h
Revision: 414
Committed: Mon Aug 19 16:27:06 2013 UTC (12 years ago) by francois
Content type: text/plain
File size: 4437 byte(s)
Log Message:
ajout d'une methode de recuperation des equivalences entre les numero FEM et les numeros gmsh.
Ajout d'une méthode pour verifier qu'une entité fait partie de la toplogogie sous jacente d'une autre.

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 // fem_noeud.h
16 //
17 //------------------------------------------------------------
18 //------------------------------------------------------------
19 // COPYRIGHT 2000
20 // Version du 02/03/2006 � 11H22
21 //------------------------------------------------------------
22 //------------------------------------------------------------
23 #ifndef _FEMNOEUD_
24 #define _FEMNOEUD_
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 #include "fem_element_maillage.h"
37 #include "tpl_liste_entite.h"
38 #include "ot_boite_3D.h"
39
40
41 const unsigned int IDFEM_NOEUD=1000;
42
43
44
45 class DLLPORTGEOMETRIE FEM_NOEUD : public FEM_ELEMENT_MAILLAGE
46 {
47 public:
48 FEM_NOEUD(unsigned long num,class MG_NOEUD* noeud);
49 FEM_NOEUD(MG_NOEUD* noeud);
50 FEM_NOEUD(class MG_ELEMENT_MAILLAGE* mai,double x,double y,double z);
51 FEM_NOEUD(unsigned long num,MG_ELEMENT_MAILLAGE* mai,double x,double y,double z);
52 FEM_NOEUD(unsigned long num,class MG_ELEMENT_TOPOLOGIQUE* topo,double x,double y,double z);
53 FEM_NOEUD(class MG_ELEMENT_TOPOLOGIQUE* topo,double x,double y,double z);
54 FEM_NOEUD(FEM_NOEUD& mdd);
55 virtual ~FEM_NOEUD();
56
57 virtual void change_topologie_null(MG_ELEMENT_TOPOLOGIQUE* ele);
58
59 virtual int get_type_entite();
60 virtual BOITE_3D get_boite_3D(void);
61
62 virtual double get_x(double coef=0.);
63 virtual double get_y(double coef=0.);
64 virtual double get_z(double coef=0.);
65 virtual double get_dx(double coef=1.);
66 virtual double get_dy(double coef=1.);
67 virtual double get_dz(double coef=1.);
68 virtual double get_rx(void);
69 virtual double get_ry(void);
70 virtual double get_rz(void);
71 virtual double* get_coord(void);
72
73 virtual FEM_NOEUD* dupliquer(FEM_MAILLAGE *femmai,long decalage);
74
75
76 virtual void change_x(double xx);
77 virtual void change_y(double yy);
78 virtual void change_z(double zz);
79 virtual void change_dx(double xx);
80 virtual void change_dy(double yy);
81 virtual void change_dz(double zz);
82 virtual void change_rx(double xx);
83 virtual void change_ry(double yy);
84 virtual void change_rz(double zz);
85 virtual void change_coord(double *coo);
86
87 int get_numero(void);
88 void change_numero(int num);
89 int get_numero_opt(void);
90 void change_numero_opt(int num);
91
92 virtual int get_dimension(void);
93
94 virtual void enregistrer(std::ostream& o);
95 virtual void change_solution(double val,int num=0);
96 virtual double get_solution(int num=0);
97
98 // virtual int get_etat(void);
99 // virtual void change_etat(int num);
100
101
102 TPL_LISTE_ENTITE<class FEM_ELEMENT1*> *get_lien_element1(void);
103 TPL_LISTE_ENTITE<class FEM_ELEMENT1*> *get_lien_petit_element1(void);
104
105 TPL_LISTE_ENTITE<class FEM_ELEMENT2*> *get_lien_element2(void);
106 TPL_LISTE_ENTITE<class FEM_ELEMENT2*> *get_lien_petit_element2(void);
107
108 TPL_LISTE_ENTITE<class FEM_ELEMENT3*> *get_lien_element3(void);
109 TPL_LISTE_ENTITE<class FEM_ELEMENT3*> *get_lien_petit_element3(void);
110
111 protected:
112 double xyz[3];
113 double dxyz[3];
114 double rxyz[3];
115 int numero;
116 int numero_opt;
117 double solution[MAX_TYPE_SOLUTION];
118 int activedeplacement1;
119 int activedeplacement2;
120 int activedeplacement3;
121 int activereaction1;
122 int activereaction2;
123 int activereaction3;
124
125 // int etat;
126
127
128 TPL_LISTE_ENTITE<class FEM_ELEMENT1*> element1;
129 TPL_LISTE_ENTITE<class FEM_ELEMENT1*> petit_element1;
130
131 TPL_LISTE_ENTITE<class FEM_ELEMENT2*> element2;
132 TPL_LISTE_ENTITE<class FEM_ELEMENT2*> petit_element2;
133
134 TPL_LISTE_ENTITE<class FEM_ELEMENT3*> element3;
135 TPL_LISTE_ENTITE<class FEM_ELEMENT3*> petit_element3;
136
137 };
138
139
140
141
142
143
144 #endif
145
146