ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/fem_noeud.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: 4590 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�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 francois 481 #include "ot_boite_3d.h"
39 francois 283
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 francois 378 FEM_NOEUD(class MG_ELEMENT_TOPOLOGIQUE* topo,double x,double y,double z);
54 francois 283 FEM_NOEUD(FEM_NOEUD& mdd);
55     virtual ~FEM_NOEUD();
56 francois 414
57     virtual void change_topologie_null(MG_ELEMENT_TOPOLOGIQUE* ele);
58 francois 283
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 francois 325 virtual double get_rx(void);
69     virtual double get_ry(void);
70     virtual double get_rz(void);
71 francois 283 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 francois 325 virtual void change_rx(double xx);
83     virtual void change_ry(double yy);
84     virtual void change_rz(double zz);
85 francois 283 virtual void change_coord(double *coo);
86 francois 684 virtual void reinit_boite_3D(void);
87     virtual void reinit_boite_element_3D(void);
88 francois 283
89     int get_numero(void);
90     void change_numero(int num);
91     int get_numero_opt(void);
92     void change_numero_opt(int num);
93    
94     virtual int get_dimension(void);
95    
96 francois 763 virtual void enregistrer(std::ostream& o,double version);
97 francois 375 virtual void change_solution(double val,int num=0);
98     virtual double get_solution(int num=0);
99 francois 635 virtual bool valide_parametre_EF(double *uvw);
100 francois 410 // virtual int get_etat(void);
101     // virtual void change_etat(int num);
102 francois 283
103    
104 francois 309 TPL_LISTE_ENTITE<class FEM_ELEMENT1*> *get_lien_element1(void);
105     TPL_LISTE_ENTITE<class FEM_ELEMENT1*> *get_lien_petit_element1(void);
106 francois 283
107 francois 309 TPL_LISTE_ENTITE<class FEM_ELEMENT2*> *get_lien_element2(void);
108     TPL_LISTE_ENTITE<class FEM_ELEMENT2*> *get_lien_petit_element2(void);
109 francois 283
110 francois 309 TPL_LISTE_ENTITE<class FEM_ELEMENT3*> *get_lien_element3(void);
111     TPL_LISTE_ENTITE<class FEM_ELEMENT3*> *get_lien_petit_element3(void);
112 francois 283
113     protected:
114     double xyz[3];
115     double dxyz[3];
116 francois 325 double rxyz[3];
117 francois 283 int numero;
118     int numero_opt;
119 francois 375 double solution[MAX_TYPE_SOLUTION];
120 francois 283 int activedeplacement1;
121     int activedeplacement2;
122     int activedeplacement3;
123 francois 339 int activereaction1;
124     int activereaction2;
125     int activereaction3;
126 francois 283
127 francois 410 // int etat;
128 francois 339
129 francois 283
130 francois 309 TPL_LISTE_ENTITE<class FEM_ELEMENT1*> element1;
131     TPL_LISTE_ENTITE<class FEM_ELEMENT1*> petit_element1;
132 francois 283
133 francois 309 TPL_LISTE_ENTITE<class FEM_ELEMENT2*> element2;
134     TPL_LISTE_ENTITE<class FEM_ELEMENT2*> petit_element2;
135 francois 283
136 francois 309 TPL_LISTE_ENTITE<class FEM_ELEMENT3*> element3;
137     TPL_LISTE_ENTITE<class FEM_ELEMENT3*> petit_element3;
138 francois 283
139     };
140    
141    
142    
143    
144    
145    
146     #endif
147    
148