ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/fem_element0.cpp
Revision: 763
Committed: Wed Dec 2 19:55:53 2015 UTC (9 years, 5 months ago) by francois
File size: 4107 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 399 //------------------------------------------------------------
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_segment.cpp
16     //
17     //------------------------------------------------------------
18     //------------------------------------------------------------
19     // COPYRIGHT 2000
20     // Version du 02/03/2006 � 11H22
21     //------------------------------------------------------------
22     //------------------------------------------------------------
23    
24    
25     #include "gestionversion.h"
26     #include <math.h>
27     #include "fem_element0.h"
28     #include "fem_noeud.h"
29     #include "fem_maillage.h"
30     #include "mg_element_maillage.h"
31    
32     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)
33     {
34     }
35    
36     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)
37     {
38     }
39    
40    
41     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)
42     {
43     }
44    
45     FEM_ELEMENT0::FEM_ELEMENT0(class MG_ELEMENT_TOPOLOGIQUE* topo,FEM_NOEUD** tabnoeud):FEM_ELEMENT_MAILLAGE(topo),FEM_TEMPLATE_ELEMENT<1>(tabnoeud)
46     {
47     }
48    
49    
50     FEM_ELEMENT0::FEM_ELEMENT0(class MG_ELEMENT_MAILLAGE* mai,FEM_NOEUD** tabnoeud):FEM_ELEMENT_MAILLAGE(mai),FEM_TEMPLATE_ELEMENT<1>(tabnoeud)
51     {
52     }
53    
54     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)
55     {
56     }
57    
58     FEM_ELEMENT0::FEM_ELEMENT0(FEM_ELEMENT0& mdd):FEM_ELEMENT_MAILLAGE(mdd),FEM_TEMPLATE_ELEMENT<1>(mdd)
59     {
60     }
61    
62    
63    
64     FEM_ELEMENT0::~FEM_ELEMENT0()
65     {
66     }
67    
68     FEM_ELEMENT_MAILLAGE* FEM_ELEMENT0::dupliquer(FEM_MAILLAGE *femmai,long decalage)
69     {
70     FEM_NOEUD* tabnoeud[1];
71     tabnoeud[0]=femmai->get_fem_noeudid(tab[0]->get_id()+decalage);
72     FEM_ELEMENT0* fem=new FEM_ELEMENT0(get_id()+decalage,maillage,tabnoeud);
73     femmai->ajouter_fem_element0(fem);
74     return fem;
75     }
76    
77     int FEM_ELEMENT0::get_type_entite(void)
78     {
79     return IDFEM_ELEMENT0;
80     }
81    
82     int FEM_ELEMENT0::get_dimension(void)
83     {
84     return 0;
85     }
86    
87 francois 684 void FEM_ELEMENT0::reinit_boite_3D(void)
88     {
89     FEM_TEMPLATE_ELEMENT<1>::reinit_boite_3D();
90     }
91 francois 399
92     int FEM_ELEMENT0::get_nb_fem_noeud(void)
93     {
94     return FEM_TEMPLATE_ELEMENT<1>::get_nb_fem_noeud();
95     }
96    
97     FEM_NOEUD* FEM_ELEMENT0::get_fem_noeud(int num)
98     {
99     return FEM_TEMPLATE_ELEMENT<1>::get_fem_noeud(num);
100     }
101    
102     void FEM_ELEMENT0::change_noeud(int num,FEM_NOEUD* noeud)
103     {
104     FEM_TEMPLATE_ELEMENT<1>::change_noeud(num,noeud);
105     }
106    
107     BOITE_3D& FEM_ELEMENT0::get_boite_3D(void)
108     {
109     return FEM_TEMPLATE_ELEMENT<1>::get_boite_3D();
110     }
111    
112 francois 635 bool FEM_ELEMENT0::valide_parametre_EF(double *uvw)
113     {
114     return true;
115     }
116 francois 399
117 francois 763 void FEM_ELEMENT0::enregistrer(std::ostream& o,double version)
118 francois 399 {
119     if (maillage!=NULL)
120     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;
121     else o << "%" << get_id() << "=FEM_ELEMENT_NOEUD(NULL,$" << maillage->get_id() <<",$" << tab[0]->get_id() << ");" << std::endl;
122     if (maillage==NULL)
123     if (get_lien_topologie()!=NULL) o << "%" << get_id() << "=FEM_SEGMENT2($"<< get_lien_topologie()->get_id() << ",NULL,$" << tab[0]->get_id() << ");" << std::endl;
124     else o << "%" << get_id() << "=FEM_ELEMENT_NOEUD(NULL,NULL,$" << tab[0]->get_id() << ");" << std::endl;
125     }
126    
127    
128    
129