ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/aster/src/opt_noeud.cpp
Revision: 1158
Committed: Thu Jun 13 22:18:49 2024 UTC (10 months, 4 weeks ago) by francois
File size: 7251 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     //####// opt_noeud.cpp
15     //####//
16     //####//------------------------------------------------------------
17     //####//------------------------------------------------------------
18     //####// COPYRIGHT 2000-2024
19     //####// jeu 13 jun 2024 11:58:57 EDT
20     //####//------------------------------------------------------------
21     //####//------------------------------------------------------------
22 gervaislavoie 332 #include "gestionversion.h"
23 francois 470 #include "fem_noeud.h"
24 gervaislavoie 332 #include "mg_maillage.h"
25     #include "opt_noeud.h"
26    
27    
28 francois 470 OPT_NOEUD::OPT_NOEUD(FEM_NOEUD* noeud):fem_noeud(noeud)
29 gervaislavoie 332 {
30 francois 470 xyz0[0]=fem_noeud->get_x();
31     xyz0[1]=fem_noeud->get_y();
32     xyz0[2]=fem_noeud->get_z();
33    
34 gervaislavoie 495 normale[0]=0.; //Enlever
35 francois 470 normale[1]=0.;
36     normale[2]=0.;
37    
38 gervaislavoie 495 normale_initiale[0]=0.; //Enlever
39 francois 470 normale_initiale[1]=0.;
40     normale_initiale[2]=0.;
41 gervaislavoie 332 }
42    
43 francois 470 OPT_NOEUD::OPT_NOEUD(OPT_NOEUD& mdd):fem_noeud(mdd.fem_noeud)
44 gervaislavoie 332 {
45 francois 470 xyz0[0]=mdd.get_x_initial();
46     xyz0[1]=mdd.get_y_initial();
47     xyz0[2]=mdd.get_z_initial();
48    
49     normale[0]=mdd.normale[0];
50     normale[1]=mdd.normale[1];
51     normale[2]=mdd.normale[2];
52    
53     normale_initiale[0]=mdd.normale_initiale[0];
54     normale_initiale[1]=mdd.normale_initiale[1];
55     normale_initiale[2]=mdd.normale_initiale[2];
56 gervaislavoie 332 }
57    
58     OPT_NOEUD::~OPT_NOEUD()
59 francois 470 {
60    
61 gervaislavoie 332 }
62    
63 francois 470 FEM_NOEUD* OPT_NOEUD::get_fem_noeud(void)
64     {
65     return fem_noeud;
66     }
67    
68 gervaislavoie 332 int OPT_NOEUD::get_num(void)
69     {
70     return num;
71     }
72    
73     void OPT_NOEUD::change_num(int val)
74     {
75 gervaislavoie 398 num=val;
76 gervaislavoie 332 }
77    
78 gervaislavoie 495 int OPT_NOEUD::get_mvt_normal(void)
79 gervaislavoie 398 {
80 gervaislavoie 495 return mvt_normal;
81 gervaislavoie 398 }
82 gervaislavoie 495 void OPT_NOEUD::change_mvt_normal(int mvt)
83     {
84     mvt_normal=mvt;
85     }
86 gervaislavoie 398
87 gervaislavoie 495 /*int OPT_NOEUD::get_contrainte(void)
88 gervaislavoie 398 {
89 gervaislavoie 495 return contrainte;
90 gervaislavoie 398 }
91    
92 gervaislavoie 495 void OPT_NOEUD::change_contrainte(int cont)
93 gervaislavoie 398 {
94 gervaislavoie 495 contrainte=cont;
95     }*/
96    
97 gervaislavoie 528 int OPT_NOEUD::get_arret_gradient(void)
98 gervaislavoie 495 {
99 gervaislavoie 528 return arret_gradient;
100 francois 470 }
101    
102 gervaislavoie 528 void OPT_NOEUD::change_arret_gradient(int grad)
103 francois 470 {
104 gervaislavoie 528 arret_gradient=grad;
105 francois 470 }
106    
107 gervaislavoie 495 /*int OPT_NOEUD::get_fixe_au_depart(void)
108 francois 470 {
109 gervaislavoie 495 return fixe_au_depart;
110 gervaislavoie 398 }
111    
112 gervaislavoie 495 void OPT_NOEUD::change_fixe_au_depart(int fixe)
113 gervaislavoie 398 {
114 gervaislavoie 495 fixe_au_depart=fixe;
115     }*/
116    
117     int OPT_NOEUD::get_mobile_au_depart(void)
118     {
119     return mobile_au_depart;
120 gervaislavoie 398 }
121    
122 gervaislavoie 495 void OPT_NOEUD::change_mobile_au_depart(int mob)
123     {
124     mobile_au_depart=mob;
125     }
126    
127     int OPT_NOEUD::get_mobile(void)
128     {
129     return mobile;
130     }
131    
132     void OPT_NOEUD::change_mobile(int mob)
133     {
134     mobile=mob;
135     }
136    
137     int OPT_NOEUD::get_a_replacer(void)
138     {
139     return a_replacer;
140     }
141    
142     void OPT_NOEUD::change_a_replacer(int replacer)
143     {
144     a_replacer=replacer;
145     }
146    
147 gervaislavoie 528 /*int OPT_NOEUD::get_a_ete_replace(void)
148 gervaislavoie 495 {
149     return a_ete_replace;
150     }
151    
152     void OPT_NOEUD::change_a_ete_replace(int replace)
153     {
154     a_ete_replace=replace;
155 gervaislavoie 528 }*/
156    
157     int OPT_NOEUD::get_num_replacement(void)
158     {
159     return num_replacement;
160 gervaislavoie 495 }
161    
162 gervaislavoie 528 void OPT_NOEUD::change_num_replacement(int num)
163     {
164     num_replacement=num;
165     }
166    
167 francois 470 double OPT_NOEUD::get_terme_gradient_f(void)
168 gervaislavoie 398 {
169     return terme_gradient_f;
170     }
171    
172     void OPT_NOEUD::change_terme_gradient_f(double valeur)
173     {
174     terme_gradient_f=valeur;
175     }
176    
177 gervaislavoie 528 double OPT_NOEUD::get_sol_deplacement_virtuel(void)
178 gervaislavoie 495 {
179 gervaislavoie 528 return sol_deplacement_virtuel;
180 gervaislavoie 495 }
181    
182 gervaislavoie 528 void OPT_NOEUD::change_sol_deplacement_virtuel(double deplacement)
183 gervaislavoie 495 {
184 gervaislavoie 528 sol_deplacement_virtuel=deplacement;
185 gervaislavoie 495 }
186    
187 gervaislavoie 528 double OPT_NOEUD::get_sens_depl_virtuel(void)
188     {
189     return sens_depl_virtuel;
190     }
191    
192     void OPT_NOEUD::change_sens_depl_virtuel(double signe)
193     {
194     sens_depl_virtuel=signe;
195     }
196    
197     double OPT_NOEUD::get_depl_avant_algo_grad(void)
198     {
199     return depl_avant_algo_grad;
200     }
201    
202     void OPT_NOEUD::change_depl_avant_algo_grad(double depl)
203     {
204     depl_avant_algo_grad=depl;
205     }
206 zeggar 744 double OPT_NOEUD::get_vonmises__precedent(void)
207     {
208     return von_mises;
209     }
210 gervaislavoie 528
211 zeggar 744 void OPT_NOEUD::change_vonmises__precedent(double von)
212     {
213     von_mises=von;
214     }
215    
216 gervaislavoie 528 double* OPT_NOEUD::get_coord_lissee(void)
217     {
218     return xyz_lissee;
219     }
220    
221     void OPT_NOEUD::change_coord_lissee(double* coord)
222     {
223     xyz_lissee[0]=coord[0];
224     xyz_lissee[1]=coord[1];
225     xyz_lissee[2]=coord[2];
226     }
227    
228     TPL_MAP_ENTITE< OPT_NOEUD* > OPT_NOEUD::get_liste_noeud_voisin(void )
229     {
230     return lst_noeud_voisin;
231     }
232    
233     void OPT_NOEUD::change_liste_noeud_voisin(TPL_MAP_ENTITE< OPT_NOEUD* > lst)
234     {
235     lst_noeud_voisin=lst;
236     }
237    
238 zeggar 744 void OPT_NOEUD::change_liste_noeud_filtre(TPL_MAP_ENTITE< OPT_NOEUD* > lst)
239     {
240     lst_noeud_filtre=lst;
241     }
242    
243     TPL_MAP_ENTITE< OPT_NOEUD* > OPT_NOEUD::get_liste_noeud_filtre(void )
244     {
245     return lst_noeud_filtre;
246     }
247    
248 gervaislavoie 528 /*TPL_MAP_ENTITE< OPT_TRIANGLE* > OPT_NOEUD::get_liste_tri_voisin(void )
249     {
250     return lst_tri_voisin;
251     }
252    
253     void OPT_NOEUD::change_liste_tri_voisin(TPL_MAP_ENTITE< OPT_TRIANGLE* > lst)
254     {
255     lst_tri_voisin=lst;
256     }*/
257    
258 gervaislavoie 332 unsigned long OPT_NOEUD::get_id(void)
259     {
260 francois 470 return fem_noeud->get_id();
261 gervaislavoie 332 }
262    
263     double OPT_NOEUD::get_x(void)
264     {
265 francois 470 return fem_noeud->get_x();
266 gervaislavoie 332 }
267    
268     double OPT_NOEUD::get_y(void)
269     {
270 francois 470 return fem_noeud->get_y();
271 gervaislavoie 332 }
272    
273     double OPT_NOEUD::get_z(void)
274     {
275 francois 470 return fem_noeud->get_z();
276 gervaislavoie 332 }
277    
278 gervaislavoie 398 double OPT_NOEUD::get_x_initial(void)
279     {
280 francois 470 return xyz0[0];
281 gervaislavoie 398 }
282    
283     double OPT_NOEUD::get_y_initial(void)
284     {
285 francois 470 return xyz0[1];
286 gervaislavoie 398 }
287    
288     double OPT_NOEUD::get_z_initial(void)
289     {
290 francois 470 return xyz0[2];
291 gervaislavoie 398 }
292    
293 gervaislavoie 332 double* OPT_NOEUD::get_coord(void)
294     {
295 francois 470 return fem_noeud->get_coord();
296 gervaislavoie 332 }
297    
298 francois 470 double OPT_NOEUD::get_norme_orientee_deplacement(void)
299     {
300     return norme_orientee_deplacement;
301     }
302 gervaislavoie 332
303 francois 470 void OPT_NOEUD::change_norme_orientee_deplacement(void)
304     {
305     OT_VECTEUR_3D n=get_normale_initiale();
306     OT_VECTEUR_3D D(get_x()-get_x_initial(),get_y()-get_y_initial(),get_z()-get_z_initial());
307    
308     int signe=1;
309     double ps_D_n=D*n;
310     if (ps_D_n<0)
311     signe=-1;
312     norme_orientee_deplacement=D.get_longueur()*signe;
313     }
314    
315 gervaislavoie 332 void OPT_NOEUD::change_normale(OT_VECTEUR_3D vec)
316     {
317     normale=vec;
318     }
319    
320     OT_VECTEUR_3D OPT_NOEUD::get_normale(void)
321     {
322     return normale;
323     }
324 zeggar 744 void OPT_NOEUD::change_normale2(OT_VECTEUR_3D vec)
325     {
326     normale2=vec;
327     }
328 gervaislavoie 332
329 zeggar 744 OT_VECTEUR_3D OPT_NOEUD::get_normale2(void)
330     {
331     return normale2;
332     }
333    
334 gervaislavoie 332 OT_VECTEUR_3D OPT_NOEUD::get_normale_initiale(void)
335     {
336 gervaislavoie 398 return normale_initiale;
337 gervaislavoie 332 }
338    
339     void OPT_NOEUD::change_normale_initiale(void)
340     {
341 gervaislavoie 398 normale_initiale=normale;
342 gervaislavoie 332 }
343    
344     void OPT_NOEUD::change_x(double xx)
345     {
346 francois 470 fem_noeud->change_x(xx);
347 gervaislavoie 332 }
348    
349     void OPT_NOEUD::change_y(double yy)
350     {
351 francois 470 fem_noeud->change_y(yy);
352 gervaislavoie 332 }
353    
354     void OPT_NOEUD::change_z(double zz)
355     {
356 francois 470 fem_noeud->change_z(zz);
357 gervaislavoie 332 }
358    
359 gervaislavoie 398 void OPT_NOEUD::change_x_initial(double x_initial)
360     {
361 francois 470 xyz0[0]=x_initial;
362 gervaislavoie 398 }
363    
364     void OPT_NOEUD::change_y_initial(double y_initial)
365     {
366 francois 470 xyz0[1]=y_initial;
367 gervaislavoie 398 }
368    
369     void OPT_NOEUD::change_z_initial(double z_initial)
370     {
371 francois 470 xyz0[2]=z_initial;
372 gervaislavoie 398 }
373    
374 gervaislavoie 332 void OPT_NOEUD::change_coord(double *coo)
375     {
376 francois 470 fem_noeud->change_coord(coo);
377 gervaislavoie 332 }
378    
379 francois 470 void OPT_NOEUD::change_solution(double val)
380 gervaislavoie 332 {
381 francois 470 fem_noeud->change_solution(val);
382 gervaislavoie 332 }
383    
384     double OPT_NOEUD::get_solution(void)
385     {
386 francois 1075 return fem_noeud->get_solution();
387     }