ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/fem_element1.cpp
Revision: 380
Committed: Thu Nov 29 15:40:22 2012 UTC (12 years, 5 months ago) by francois
File size: 2678 byte(s)
Log Message:
gestion des entités xfem 1d et 2d 

File Contents

# User Rev Content
1 francois 283 //------------------------------------------------------------
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 francois 309 #include "fem_element1.h"
28 francois 283 #include "fem_noeud.h"
29     #include "mg_element_maillage.h"
30    
31 francois 309 FEM_ELEMENT1::FEM_ELEMENT1(unsigned long num,class MG_ELEMENT_MAILLAGE* mai):FEM_ELEMENT_MAILLAGE(num,mai)
32 francois 283 {
33     }
34    
35 francois 378 FEM_ELEMENT1::FEM_ELEMENT1(unsigned long num,class MG_ELEMENT_TOPOLOGIQUE* topo):FEM_ELEMENT_MAILLAGE(num,topo)
36     {
37     }
38    
39    
40     FEM_ELEMENT1::FEM_ELEMENT1(unsigned long num,class MG_ELEMENT_TOPOLOGIQUE* topo,class MG_ELEMENT_MAILLAGE* mai):FEM_ELEMENT_MAILLAGE(num,topo,mai)
41     {
42     }
43    
44     FEM_ELEMENT1::FEM_ELEMENT1(class MG_ELEMENT_TOPOLOGIQUE* topo):FEM_ELEMENT_MAILLAGE(topo)
45     {
46     }
47    
48    
49 francois 309 FEM_ELEMENT1::FEM_ELEMENT1(class MG_ELEMENT_MAILLAGE* mai):FEM_ELEMENT_MAILLAGE(mai)
50 francois 283 {
51     }
52    
53 francois 378 FEM_ELEMENT1::FEM_ELEMENT1(class MG_ELEMENT_TOPOLOGIQUE* topo,class MG_ELEMENT_MAILLAGE* mai):FEM_ELEMENT_MAILLAGE(topo,mai)
54     {
55     }
56 francois 283
57 francois 309 FEM_ELEMENT1::FEM_ELEMENT1(FEM_ELEMENT1& mdd):FEM_ELEMENT_MAILLAGE(mdd)
58 francois 283 {
59     }
60    
61    
62    
63 francois 309 FEM_ELEMENT1::~FEM_ELEMENT1()
64 francois 283 {
65     }
66    
67    
68 francois 309 void FEM_ELEMENT1::extrapoler_solution_noeud(void)
69 francois 283 {
70     int nb=get_nb_fem_noeud();
71     for (int i=0;i<nb;i++)
72 francois 377 for (int j=0;j<MAX_TYPE_SOLUTION;j++)
73 francois 375 get_fem_noeud(i)->change_solution(solution[j],j);
74 francois 283 }
75    
76 francois 380 int FEM_ELEMENT1::get_etat(void)
77     {
78     return etat;
79     }
80 francois 283
81 francois 380 void FEM_ELEMENT1::change_etat(int num)
82     {
83     etat=num;
84     }
85 francois 283
86 francois 380 void FEM_ELEMENT1::ajouter_xfem(XFEM_ELEMENT1* xele)
87     {
88     xfem.push_back(xele);
89     }
90 francois 283
91 francois 380 void FEM_ELEMENT1::supprimer_xfem(XFEM_ELEMENT1* xele)
92     {
93     std::vector<XFEM_ELEMENT1*>::iterator it=find(xfem.begin(),xfem.end(),xele);
94     XFEM_ELEMENT1* ele=(*it);
95     xfem.erase(it);
96     }
97    
98     int FEM_ELEMENT1::get_nb_xfem(void)
99     {
100     return xfem.size();
101     }
102    
103     XFEM_ELEMENT1* FEM_ELEMENT1::get_xfem(int num)
104     {
105     return xfem[num];
106     }
107    
108    
109