MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
fem_element0.cpp
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_element0.cpp
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:54 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 
23 
24 #include "gestionversion.h"
25 #include <math.h>
26 #include "fem_element0.h"
27 #include "fem_noeud.h"
28 #include "fem_maillage.h"
29 #include "mg_element_maillage.h"
30 
31 FEM_ELEMENT0::FEM_ELEMENT0(unsigned long num,class MG_ELEMENT_MAILLAGE* mai,FEM_NOEUD** tabnoeud):FEM_ELEMENT_MAILLAGE(num,mai),FEM_TEMPLATE_ELEMENT<1>(tabnoeud)
32 {
33 }
34 
35 FEM_ELEMENT0::FEM_ELEMENT0(unsigned long num,class MG_ELEMENT_TOPOLOGIQUE* topo,FEM_NOEUD** tabnoeud):FEM_ELEMENT_MAILLAGE(num,topo),FEM_TEMPLATE_ELEMENT<1>(tabnoeud)
36 {
37 }
38 
39 
40 FEM_ELEMENT0::FEM_ELEMENT0(unsigned long num,class MG_ELEMENT_TOPOLOGIQUE* topo,class MG_ELEMENT_MAILLAGE* mai,FEM_NOEUD** tabnoeud):FEM_ELEMENT_MAILLAGE(num,topo,mai),FEM_TEMPLATE_ELEMENT<1>(tabnoeud)
41 {
42 }
43 
45 {
46 }
47 
48 
50 {
51 }
52 
54 {
55 }
56 
58 {
59 }
60 
62 {
63 voisin.vide();
64 }
65 
66 
68 {
69 }
70 
72 {
73  FEM_NOEUD* tabnoeud[1];
74  tabnoeud[0]=femmai->get_fem_noeudid(tab[0]->get_id()+decalage);
75  FEM_ELEMENT0* fem=new FEM_ELEMENT0(get_id()+decalage,maillage,tabnoeud);
76  femmai->ajouter_fem_element0(fem);
77  return fem;
78 }
79 
81 {
82  return IDFEM_ELEMENT0;
83 }
84 
86 {
87  return 0;
88 }
89 
91 {
93 }
94 
96 {
98 }
99 
101 {
103 }
104 
106 {
108 }
109 
111 {
113 }
114 
116 {
117 return true;
118 }
119 
120 void FEM_ELEMENT0::enregistrer(std::ostream& o,double version)
121 {
122  if (maillage!=NULL)
123  if (get_lien_topologie()!=NULL) o << "%" << get_id() << "=FEM_ELEMENT_NOEUD($"<< get_lien_topologie()->get_id() << ",$"<< maillage->get_id() << ",$" << tab[0]->get_id() << ");" << std::endl;
124  else o << "%" << get_id() << "=FEM_ELEMENT_NOEUD(NULL,$" << maillage->get_id() <<",$" << tab[0]->get_id() << ");" << std::endl;
125  if (maillage==NULL)
126  if (get_lien_topologie()!=NULL) o << "%" << get_id() << "=FEM_SEGMENT2($"<< get_lien_topologie()->get_id() << ",NULL,$" << tab[0]->get_id() << ");" << std::endl;
127  else o << "%" << get_id() << "=FEM_ELEMENT_NOEUD(NULL,NULL,$" << tab[0]->get_id() << ");" << std::endl;
128 }
129 
130 
131 
132 
virtual bool valide_parametre_EF(double *uvw)
FEM_ELEMENT0(unsigned long num, class MG_ELEMENT_MAILLAGE *mai, class FEM_NOEUD **tabnoeud)
virtual void enregistrer(std::ostream &o, double version)
virtual void reinit_boite_3D(void)
virtual void change_noeud(int num, FEM_NOEUD *noeud)
virtual class FEM_NOEUD * get_fem_noeud(int num)
virtual int get_nb_fem_noeud(void)
virtual int get_dimension(void)
virtual void get_voisin_noeud(class FEM_NOEUD *no, TPL_LISTE_ENTITE< FEM_NOEUD * > &voisin)
virtual FEM_ELEMENT_MAILLAGE * dupliquer(class FEM_MAILLAGE *mgmai, long decalage)
virtual BOITE_3D & get_boite_3D(void)
virtual ~FEM_ELEMENT0()
virtual int get_type_entite(void)
virtual class MG_ELEMENT_TOPOLOGIQUE * get_lien_topologie(void)
class MG_ELEMENT_MAILLAGE * maillage
FEM_NOEUD * get_fem_noeudid(unsigned long num)
int ajouter_fem_element0(FEM_ELEMENT0 *femnoeud)
virtual FEM_NOEUD * get_fem_noeud(int num)
virtual void reinit_boite_3D(void)
virtual int get_nb_fem_noeud(void)
virtual void change_noeud(int num, FEM_NOEUD *noeud)
virtual BOITE_3D & get_boite_3D(void)
unsigned long get_id()
virtual void vide(void)
const unsigned int IDFEM_ELEMENT0
Definition: fem_element0.h:32