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 
FEM_ELEMENT0::get_fem_noeud
virtual class FEM_NOEUD * get_fem_noeud(int num)
Definition: fem_element0.cpp:100
FEM_MAILLAGE::ajouter_fem_element0
int ajouter_fem_element0(FEM_ELEMENT0 *femnoeud)
Definition: fem_maillage.cpp:246
FEM_ELEMENT0::get_voisin_noeud
virtual void get_voisin_noeud(class FEM_NOEUD *no, TPL_LISTE_ENTITE< FEM_NOEUD * > &voisin)
Definition: fem_element0.cpp:61
FEM_ELEMENT0::valide_parametre_EF
virtual bool valide_parametre_EF(double *uvw)
Definition: fem_element0.cpp:115
gestionversion.h
FEM_TEMPLATE_ELEMENT::get_boite_3D
virtual BOITE_3D & get_boite_3D(void)
Definition: fem_template_element.cpp:127
MG_IDENTIFICATEUR::get_id
unsigned long get_id()
Definition: mg_identificateur.cpp:53
fem_maillage.h
FEM_ELEMENT0::get_dimension
virtual int get_dimension(void)
Definition: fem_element0.cpp:85
fem_noeud.h
FEM_ELEMENT0::FEM_ELEMENT0
FEM_ELEMENT0(unsigned long num, class MG_ELEMENT_MAILLAGE *mai, class FEM_NOEUD **tabnoeud)
Definition: fem_element0.cpp:31
MG_ELEMENT_MAILLAGE
Definition: mg_element_maillage.h:38
FEM_ELEMENT_MAILLAGE::get_lien_topologie
virtual class MG_ELEMENT_TOPOLOGIQUE * get_lien_topologie(void)
Definition: fem_element_maillage.cpp:89
mg_element_maillage.h
FEM_ELEMENT0::get_type_entite
virtual int get_type_entite(void)
Definition: fem_element0.cpp:80
FEM_MAILLAGE::get_fem_noeudid
FEM_NOEUD * get_fem_noeudid(unsigned long num)
Definition: fem_maillage.cpp:150
FEM_TEMPLATE_ELEMENT::get_fem_noeud
virtual FEM_NOEUD * get_fem_noeud(int num)
Definition: fem_template_element.cpp:100
MG_ELEMENT_TOPOLOGIQUE
Definition: mg_element_topologique.h:51
FEM_ELEMENT_MAILLAGE
Definition: fem_element_maillage.h:35
FEM_ELEMENT0::get_boite_3D
virtual BOITE_3D & get_boite_3D(void)
Definition: fem_element0.cpp:110
FEM_TEMPLATE_ELEMENT::change_noeud
virtual void change_noeud(int num, FEM_NOEUD *noeud)
Definition: fem_template_element.cpp:106
FEM_MAILLAGE
Definition: fem_maillage.h:66
FEM_ELEMENT0::enregistrer
virtual void enregistrer(std::ostream &o, double version)
Definition: fem_element0.cpp:120
FEM_ELEMENT0::~FEM_ELEMENT0
virtual ~FEM_ELEMENT0()
Definition: fem_element0.cpp:67
FEM_NOEUD
Definition: fem_noeud.h:35
FEM_ELEMENT0::get_nb_fem_noeud
virtual int get_nb_fem_noeud(void)
Definition: fem_element0.cpp:95
TPL_LISTE_ENTITE::vide
virtual void vide(void)
Definition: tpl_liste_entite.h:77
BOITE_3D
Definition: ot_boite_3d.h:27
FEM_TEMPLATE_ELEMENT::get_nb_fem_noeud
virtual int get_nb_fem_noeud(void)
Definition: fem_template_element.cpp:94
FEM_ELEMENT_MAILLAGE::maillage
class MG_ELEMENT_MAILLAGE * maillage
Definition: fem_element_maillage.h:72
IDFEM_ELEMENT0
const unsigned int IDFEM_ELEMENT0
Definition: fem_element0.h:32
FEM_TEMPLATE_ELEMENT< 1 >::tab
FEM_NOEUD * tab[N]
Definition: fem_template_element.h:57
FEM_ELEMENT0::change_noeud
virtual void change_noeud(int num, FEM_NOEUD *noeud)
Definition: fem_element0.cpp:105
TPL_LISTE_ENTITE
Definition: tpl_liste_entite.h:32
FEM_ELEMENT0::reinit_boite_3D
virtual void reinit_boite_3D(void)
Definition: fem_element0.cpp:90
FEM_TEMPLATE_ELEMENT::reinit_boite_3D
virtual void reinit_boite_3D(void)
Definition: fem_template_element.cpp:57
FEM_ELEMENT0
Definition: fem_element0.h:36
fem_element0.h
FEM_TEMPLATE_ELEMENT
Definition: fem_template_element.h:35
FEM_ELEMENT0::dupliquer
virtual FEM_ELEMENT_MAILLAGE * dupliquer(class FEM_MAILLAGE *mgmai, long decalage)
Definition: fem_element0.cpp:71