ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/mtu/src/fem_noeud.h
Revision: 1158
Committed: Thu Jun 13 22:18:49 2024 UTC (11 months, 2 weeks ago) by francois
Content type: text/plain
File size: 4741 byte(s)
Log Message:
compatibilité Ubuntu 22.04
Suppression des refeences à Windows
Ajout d'une banière

File Contents

# User Rev Content
1 francois 1158 //####//------------------------------------------------------------
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 francois 283 #ifndef _FEMNOEUD_
23     #define _FEMNOEUD_
24    
25    
26 francois 1158
27 francois 283 #include "fem_element_maillage.h"
28     #include "tpl_liste_entite.h"
29 francois 481 #include "ot_boite_3d.h"
30 francois 283
31    
32    
33    
34    
35 francois 1158 class FEM_NOEUD : public FEM_ELEMENT_MAILLAGE
36 francois 283 {
37     public:
38     FEM_NOEUD(unsigned long num,class MG_NOEUD* noeud);
39     FEM_NOEUD(MG_NOEUD* noeud);
40 francois 883 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 francois 283 FEM_NOEUD(FEM_NOEUD& mdd);
45     virtual ~FEM_NOEUD();
46 francois 414
47     virtual void change_topologie_null(MG_ELEMENT_TOPOLOGIQUE* ele);
48 francois 283
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 francois 325 virtual double get_rx(void);
59     virtual double get_ry(void);
60     virtual double get_rz(void);
61 francois 283 virtual double* get_coord(void);
62 francois 883 virtual double* get_coord_ori(void);
63 francois 283
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 francois 325 virtual void change_rx(double xx);
74     virtual void change_ry(double yy);
75     virtual void change_rz(double zz);
76 francois 283 virtual void change_coord(double *coo);
77 francois 684 virtual void reinit_boite_3D(void);
78     virtual void reinit_boite_element_3D(void);
79 francois 283
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 francois 763 virtual void enregistrer(std::ostream& o,double version);
88 francois 375 virtual void change_solution(double val,int num=0);
89     virtual double get_solution(int num=0);
90 francois 635 virtual bool valide_parametre_EF(double *uvw);
91 francois 410 // virtual int get_etat(void);
92     // virtual void change_etat(int num);
93 francois 786 virtual void get_voisin_noeud(class FEM_NOEUD* no,TPL_LISTE_ENTITE<FEM_NOEUD*> &voisin);
94 francois 283
95 francois 309 TPL_LISTE_ENTITE<class FEM_ELEMENT1*> *get_lien_element1(void);
96     TPL_LISTE_ENTITE<class FEM_ELEMENT1*> *get_lien_petit_element1(void);
97 francois 283
98 francois 309 TPL_LISTE_ENTITE<class FEM_ELEMENT2*> *get_lien_element2(void);
99     TPL_LISTE_ENTITE<class FEM_ELEMENT2*> *get_lien_petit_element2(void);
100 francois 283
101 francois 309 TPL_LISTE_ENTITE<class FEM_ELEMENT3*> *get_lien_element3(void);
102     TPL_LISTE_ENTITE<class FEM_ELEMENT3*> *get_lien_petit_element3(void);
103 francois 283
104     protected:
105     double xyz[3];
106     double dxyz[3];
107 francois 325 double rxyz[3];
108 francois 883 double xyzorigine[3];
109 francois 283 int numero;
110     int numero_opt;
111 francois 375 double solution[MAX_TYPE_SOLUTION];
112 francois 283 int activedeplacement1;
113     int activedeplacement2;
114     int activedeplacement3;
115 francois 339 int activereaction1;
116     int activereaction2;
117     int activereaction3;
118 francois 283
119 francois 410 // int etat;
120 francois 339
121 francois 283
122 francois 309 TPL_LISTE_ENTITE<class FEM_ELEMENT1*> element1;
123     TPL_LISTE_ENTITE<class FEM_ELEMENT1*> petit_element1;
124 francois 283
125 francois 309 TPL_LISTE_ENTITE<class FEM_ELEMENT2*> element2;
126     TPL_LISTE_ENTITE<class FEM_ELEMENT2*> petit_element2;
127 francois 283
128 francois 309 TPL_LISTE_ENTITE<class FEM_ELEMENT3*> element3;
129     TPL_LISTE_ENTITE<class FEM_ELEMENT3*> petit_element3;
130 francois 283
131     };
132    
133    
134    
135    
136    
137    
138     #endif
139    
140