ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/mtu/src/fem_element0.cpp
Revision: 1158
Committed: Thu Jun 13 22:18:49 2024 UTC (11 months, 1 week ago) by francois
File size: 4280 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_element0.cpp
15     //####//
16     //####//------------------------------------------------------------
17     //####//------------------------------------------------------------
18     //####// COPYRIGHT 2000-2024
19     //####// jeu 13 jun 2024 11:58:54 EDT
20     //####//------------------------------------------------------------
21     //####//------------------------------------------------------------
22 francois 399
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    
44     FEM_ELEMENT0::FEM_ELEMENT0(class MG_ELEMENT_TOPOLOGIQUE* topo,FEM_NOEUD** tabnoeud):FEM_ELEMENT_MAILLAGE(topo),FEM_TEMPLATE_ELEMENT<1>(tabnoeud)
45     {
46     }
47    
48    
49     FEM_ELEMENT0::FEM_ELEMENT0(class MG_ELEMENT_MAILLAGE* mai,FEM_NOEUD** tabnoeud):FEM_ELEMENT_MAILLAGE(mai),FEM_TEMPLATE_ELEMENT<1>(tabnoeud)
50     {
51     }
52    
53     FEM_ELEMENT0::FEM_ELEMENT0(class MG_ELEMENT_TOPOLOGIQUE* topo,class MG_ELEMENT_MAILLAGE* mai,FEM_NOEUD** tabnoeud):FEM_ELEMENT_MAILLAGE(topo,mai),FEM_TEMPLATE_ELEMENT<1>(tabnoeud)
54     {
55     }
56    
57     FEM_ELEMENT0::FEM_ELEMENT0(FEM_ELEMENT0& mdd):FEM_ELEMENT_MAILLAGE(mdd),FEM_TEMPLATE_ELEMENT<1>(mdd)
58     {
59     }
60    
61 francois 786 void FEM_ELEMENT0::get_voisin_noeud(class FEM_NOEUD* no,TPL_LISTE_ENTITE<FEM_NOEUD*> &voisin)
62     {
63     voisin.vide();
64     }
65 francois 399
66    
67     FEM_ELEMENT0::~FEM_ELEMENT0()
68     {
69     }
70    
71     FEM_ELEMENT_MAILLAGE* FEM_ELEMENT0::dupliquer(FEM_MAILLAGE *femmai,long decalage)
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    
80     int FEM_ELEMENT0::get_type_entite(void)
81     {
82     return IDFEM_ELEMENT0;
83     }
84    
85     int FEM_ELEMENT0::get_dimension(void)
86     {
87     return 0;
88     }
89    
90 francois 684 void FEM_ELEMENT0::reinit_boite_3D(void)
91     {
92     FEM_TEMPLATE_ELEMENT<1>::reinit_boite_3D();
93     }
94 francois 399
95     int FEM_ELEMENT0::get_nb_fem_noeud(void)
96     {
97     return FEM_TEMPLATE_ELEMENT<1>::get_nb_fem_noeud();
98     }
99    
100     FEM_NOEUD* FEM_ELEMENT0::get_fem_noeud(int num)
101     {
102     return FEM_TEMPLATE_ELEMENT<1>::get_fem_noeud(num);
103     }
104    
105     void FEM_ELEMENT0::change_noeud(int num,FEM_NOEUD* noeud)
106     {
107     FEM_TEMPLATE_ELEMENT<1>::change_noeud(num,noeud);
108     }
109    
110     BOITE_3D& FEM_ELEMENT0::get_boite_3D(void)
111     {
112     return FEM_TEMPLATE_ELEMENT<1>::get_boite_3D();
113     }
114    
115 francois 635 bool FEM_ELEMENT0::valide_parametre_EF(double *uvw)
116     {
117     return true;
118     }
119 francois 399
120 francois 763 void FEM_ELEMENT0::enregistrer(std::ostream& o,double version)
121 francois 399 {
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