MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
fem_noeud.h
Aller à la documentation de ce fichier.
1 //####//------------------------------------------------------------
2 //####//------------------------------------------------------------
3 //####// MAGiC
4 //####// Jean Christophe Cuilliere et Vincent FRANCOIS
5 //####// Departement de Genie Mecanique - UQTR
6 //####//------------------------------------------------------------
7 //####// MAGIC est un projet de recherche de l equipe ERICCA
8 //####// du departement de genie mecanique de l Universite du Quebec a Trois Rivieres
9 //####// http://www.uqtr.ca/ericca
10 //####// http://www.uqtr.ca/
11 //####//------------------------------------------------------------
12 //####//------------------------------------------------------------
13 //####//
14 //####// fem_noeud.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:54 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #ifndef _FEMNOEUD_
23 #define _FEMNOEUD_
24 
25 
26 
27 #include "fem_element_maillage.h"
28 #include "tpl_liste_entite.h"
29 #include "ot_boite_3d.h"
30 
31 
32 
33 
34 
36 {
37 public:
38  FEM_NOEUD(unsigned long num,class MG_NOEUD* noeud);
39  FEM_NOEUD(MG_NOEUD* noeud);
40  FEM_NOEUD(class MG_ELEMENT_MAILLAGE* mai,double x,double y,double z,double xori=0.,double yori=0.,double zori=0.);
41  FEM_NOEUD(unsigned long num,MG_ELEMENT_MAILLAGE* mai,double x,double y,double z,double xori=0.,double yori=0.,double zori=0.);
42  FEM_NOEUD(unsigned long num,class MG_ELEMENT_TOPOLOGIQUE* topo,double x,double y,double z,double xori=0.,double yori=0.,double zori=0.);
43  FEM_NOEUD(class MG_ELEMENT_TOPOLOGIQUE* topo,double x,double y,double z,double xori=0.,double yori=0.,double zori=0.);
44  FEM_NOEUD(FEM_NOEUD& mdd);
45  virtual ~FEM_NOEUD();
46 
48 
49  virtual int get_type_entite();
50  virtual BOITE_3D get_boite_3D(void);
51 
52  virtual double get_x(double coef=0.);
53  virtual double get_y(double coef=0.);
54  virtual double get_z(double coef=0.);
55  virtual double get_dx(double coef=1.);
56  virtual double get_dy(double coef=1.);
57  virtual double get_dz(double coef=1.);
58  virtual double get_rx(void);
59  virtual double get_ry(void);
60  virtual double get_rz(void);
61  virtual double* get_coord(void);
62  virtual double* get_coord_ori(void);
63 
64  virtual FEM_NOEUD* dupliquer(FEM_MAILLAGE *femmai,long decalage);
65 
66 
67  virtual void change_x(double xx);
68  virtual void change_y(double yy);
69  virtual void change_z(double zz);
70  virtual void change_dx(double xx);
71  virtual void change_dy(double yy);
72  virtual void change_dz(double zz);
73  virtual void change_rx(double xx);
74  virtual void change_ry(double yy);
75  virtual void change_rz(double zz);
76  virtual void change_coord(double *coo);
77  virtual void reinit_boite_3D(void);
78  virtual void reinit_boite_element_3D(void);
79 
80  int get_numero(void);
81  void change_numero(int num);
82  int get_numero_opt(void);
83  void change_numero_opt(int num);
84 
85  virtual int get_dimension(void);
86 
87  virtual void enregistrer(std::ostream& o,double version);
88  virtual void change_solution(double val,int num=0);
89  virtual double get_solution(int num=0);
90  virtual bool valide_parametre_EF(double *uvw);
91  // virtual int get_etat(void);
92  // virtual void change_etat(int num);
93  virtual void get_voisin_noeud(class FEM_NOEUD* no,TPL_LISTE_ENTITE<FEM_NOEUD*> &voisin);
94 
97 
100 
103 
104 protected:
105  double xyz[3];
106  double dxyz[3];
107  double rxyz[3];
108  double xyzorigine[3];
109  int numero;
118 
119  // int etat;
120 
121 
124 
127 
130 
131 };
132 
133 
134 
135 
136 
137 
138 #endif
139 
140 
virtual void get_voisin_noeud(class FEM_NOEUD *no, TPL_LISTE_ENTITE< FEM_NOEUD * > &voisin)
Definition: fem_noeud.cpp:187
double rxyz[3]
Definition: fem_noeud.h:107
virtual double get_y(double coef=0.)
Definition: fem_noeud.cpp:210
void change_numero_opt(int num)
Definition: fem_noeud.cpp:343
virtual BOITE_3D get_boite_3D(void)
Definition: fem_noeud.cpp:369
FEM_NOEUD(unsigned long num, class MG_NOEUD *noeud)
Definition: fem_noeud.cpp:51
void change_numero(int num)
Definition: fem_noeud.cpp:333
int activereaction1
Definition: fem_noeud.h:115
virtual void reinit_boite_element_3D(void)
Definition: fem_noeud.cpp:98
virtual void change_ry(double yy)
Definition: fem_noeud.cpp:289
double xyz[3]
Definition: fem_noeud.h:105
virtual FEM_NOEUD * dupliquer(FEM_MAILLAGE *femmai, long decalage)
Definition: fem_noeud.cpp:87
TPL_LISTE_ENTITE< class FEM_ELEMENT3 * > * get_lien_petit_element3(void)
Definition: fem_noeud.cpp:423
virtual ~FEM_NOEUD()
Definition: fem_noeud.cpp:182
virtual void change_rx(double xx)
Definition: fem_noeud.cpp:283
virtual void change_x(double xx)
Definition: fem_noeud.cpp:265
virtual double get_x(double coef=0.)
Definition: fem_noeud.cpp:205
int numero
Definition: fem_noeud.h:109
int activedeplacement1
Definition: fem_noeud.h:112
TPL_LISTE_ENTITE< class FEM_ELEMENT2 * > * get_lien_petit_element2(void)
Definition: fem_noeud.cpp:412
TPL_LISTE_ENTITE< class FEM_ELEMENT3 * > * get_lien_element3(void)
Definition: fem_noeud.cpp:417
TPL_LISTE_ENTITE< class FEM_ELEMENT1 * > * get_lien_element1(void)
Definition: fem_noeud.cpp:394
double solution[MAX_TYPE_SOLUTION]
Definition: fem_noeud.h:111
int activedeplacement3
Definition: fem_noeud.h:114
virtual double get_dx(double coef=1.)
Definition: fem_noeud.cpp:220
virtual void change_dy(double yy)
Definition: fem_noeud.cpp:308
virtual double get_ry(void)
Definition: fem_noeud.cpp:241
virtual double get_solution(int num=0)
Definition: fem_noeud.cpp:364
int activedeplacement2
Definition: fem_noeud.h:113
virtual void change_dz(double zz)
Definition: fem_noeud.cpp:314
TPL_LISTE_ENTITE< class FEM_ELEMENT2 * > element2
Definition: fem_noeud.h:125
virtual double * get_coord(void)
Definition: fem_noeud.cpp:254
virtual double get_rz(void)
Definition: fem_noeud.cpp:246
int activereaction3
Definition: fem_noeud.h:117
virtual bool valide_parametre_EF(double *uvw)
Definition: fem_noeud.cpp:348
virtual double * get_coord_ori(void)
Definition: fem_noeud.cpp:259
virtual int get_dimension(void)
Definition: fem_noeud.cpp:353
virtual void change_y(double yy)
Definition: fem_noeud.cpp:272
TPL_LISTE_ENTITE< class FEM_ELEMENT3 * > petit_element3
Definition: fem_noeud.h:129
virtual void change_solution(double val, int num=0)
Definition: fem_noeud.cpp:358
virtual double get_dy(double coef=1.)
Definition: fem_noeud.cpp:225
TPL_LISTE_ENTITE< class FEM_ELEMENT1 * > petit_element1
Definition: fem_noeud.h:123
double xyzorigine[3]
Definition: fem_noeud.h:108
virtual void change_z(double zz)
Definition: fem_noeud.cpp:278
virtual void reinit_boite_3D(void)
Definition: fem_noeud.cpp:93
TPL_LISTE_ENTITE< class FEM_ELEMENT3 * > element3
Definition: fem_noeud.h:128
double dxyz[3]
Definition: fem_noeud.h:106
virtual double get_z(double coef=0.)
Definition: fem_noeud.cpp:215
virtual double get_dz(double coef=1.)
Definition: fem_noeud.cpp:230
TPL_LISTE_ENTITE< class FEM_ELEMENT1 * > * get_lien_petit_element1(void)
Definition: fem_noeud.cpp:400
int numero_opt
Definition: fem_noeud.h:110
int activereaction2
Definition: fem_noeud.h:116
virtual void change_rz(double zz)
Definition: fem_noeud.cpp:295
virtual void enregistrer(std::ostream &o, double version)
Definition: fem_noeud.cpp:376
TPL_LISTE_ENTITE< class FEM_ELEMENT1 * > element1
Definition: fem_noeud.h:122
int get_numero(void)
Definition: fem_noeud.cpp:328
TPL_LISTE_ENTITE< class FEM_ELEMENT2 * > * get_lien_element2(void)
Definition: fem_noeud.cpp:406
virtual void change_topologie_null(MG_ELEMENT_TOPOLOGIQUE *ele)
Definition: fem_noeud.cpp:192
int get_numero_opt(void)
Definition: fem_noeud.cpp:338
virtual double get_rx(void)
Definition: fem_noeud.cpp:237
TPL_LISTE_ENTITE< class FEM_ELEMENT2 * > petit_element2
Definition: fem_noeud.h:126
virtual int get_type_entite()
Definition: fem_noeud.cpp:200
virtual void change_dx(double xx)
Definition: fem_noeud.cpp:302
virtual void change_coord(double *coo)
Definition: fem_noeud.cpp:320
const int MAX_TYPE_SOLUTION
Definition: mg_definition.h:42