MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
mg_element_topologique.h
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 //####// mg_element_topologique.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:54 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 #ifndef __MGELEMENTTOPOLOGIQUE_
23 #define __MGELEMENTTOPOLOGIQUE_
24 
25 
26 
27 #include <vector>
28 #include "mg_identificateur.h"
29 #include "mg_element_maillage.h"
30 #include "fem_element_maillage.h"
31 #include "tpl_set.h"
32 #include "tpl_liste_entite.h"
33 #include "tpl_map_entite.h"
34 #include "mg_definition.h"
35 #include "ot_boite_3d.h"
36 #include "ot_parametres.h"
37 
38 class CCF
39 {
40 public:
42 std::string type;
43 std::string ccfformule;
44 std::vector<std::string> variables;
45 std::string effortsuiv;
46 double ccfvaleur;
47 };
48 
49 
50 
52 {
53 public:
54 
56 
57  MG_ELEMENT_TOPOLOGIQUE(std::string id);
58  MG_ELEMENT_TOPOLOGIQUE(unsigned long num,std::string id);
60  virtual ~MG_ELEMENT_TOPOLOGIQUE();
61 
62  virtual int get_dimension(void)=0;
63  virtual int get_type(void)=0;
64  virtual void enregistrer(std::ostream& o,double version)=0;
65  virtual void enregistrer_ccf(std::ostream& o,double version);
66  virtual void enregistrer_contraintes(std::ostream& o,double version);
67  virtual class VCT &get_vectorisation()=0;
70  virtual bool est_une_topo_element(void) = 0;
71  virtual BOITE_3D get_boite_3D(void)=0;
72 
75 
76  virtual void change_nouveau_numero(int num);
77  virtual int get_nouveau_numero(void);
78 
79  virtual char get_formulation_ccf(int num);
80  virtual int get_nb_ccf(void);
81  virtual void get_type_ccf(int num,char* nom);
82  virtual int get_num_ccf(char* nom);
83  virtual bool get_formulation_ccf(char* nom,char &c);
84  virtual bool get_valeur_ccf(char* nom,double &val);
85  virtual void change_type_ccf(int num,char* nom);
86  virtual double get_valeur_ccf(int num);
87  virtual std::string get_effort_suiv(int num);
88  virtual std::string get_formule_ccf(int num);
89  virtual unsigned long get_id_ccf(int num);
90 
91  virtual void change_formule_ccf(int num,std::string val);
92  virtual void change_id_ccf(int num,unsigned long val);
93 
94  virtual int get_formule_nb_variable(int num);
95  virtual std::string get_formule_variable(int num,int num2);
96  virtual void change_effort_suiv(int num,std::string suiv);
97 
98  virtual void change_valeur_ccf(int num,double val);
99  virtual void ajouter_ccf(char *nom,double val,std::string suiv="NS");
100  virtual void ajouter_ccf(char *nom,std::string formule,std::vector<std::string> &listvariable,std::string suiv="NS");
101  virtual void ajouter_ccf(char *nom,unsigned long id,std::string suiv="NS");
102  virtual void supprimer_ccf(int num);
103  virtual void transfert_ccf(MG_ELEMENT_TOPOLOGIQUE & a1);
104  virtual void copie_ccf(MG_ELEMENT_TOPOLOGIQUE & a1);
105 
106  virtual bool est_orthotrope_mecanique(void);
107 
108  virtual std::string get_idoriginal(void);
109  virtual void change_idoriginal(std::string id);
110 
113 
114  virtual void ajouter_contrainte(double val);
115  virtual int get_nb_contrainte(void);
116  virtual double get_contrainte(int i);
117 
118 protected:
122  std::string idoriginal;
124  std::vector<CCF> tabccf;
125  static int pas_echantillon;
126  static double epsilon_echantillon;
127  static double angle_dev_echantillon;
129  virtual void ini_param(void);
130  std::vector<double> contraintes;
131 };
132 
133 
134 
135 #endif
136 
MG_ELEMENT_TOPOLOGIQUE::supprimer_ccf
virtual void supprimer_ccf(int num)
Definition: mg_element_topologique.cpp:241
MG_ELEMENT_TOPOLOGIQUE::ajouter_ccf
virtual void ajouter_ccf(char *nom, double val, std::string suiv="NS")
Definition: mg_element_topologique.cpp:159
MG_ELEMENT_TOPOLOGIQUE::ARETE
@ ARETE
Definition: mg_element_topologique.h:55
MG_ELEMENT_TOPOLOGIQUE::enregistrer
virtual void enregistrer(std::ostream &o, double version)=0
MG_ELEMENT_TOPOLOGIQUE::get_id_ccf
virtual unsigned long get_id_ccf(int num)
Definition: mg_element_topologique.cpp:133
TPL_MAP_ENTITE< MG_ELEMENT_TOPOLOGIQUE * >
MG_ELEMENT_TOPOLOGIQUE::get_formule_nb_variable
virtual int get_formule_nb_variable(int num)
Definition: mg_element_topologique.cpp:125
MG_ELEMENT_TOPOLOGIQUE::get_nouveau_numero
virtual int get_nouveau_numero(void)
Definition: mg_element_topologique.cpp:84
MG_ELEMENT_TOPOLOGIQUE::change_valeur_ccf
virtual void change_valeur_ccf(int num, double val)
Definition: mg_element_topologique.cpp:138
MG_ELEMENT_TOPOLOGIQUE::est_orthotrope_mecanique
virtual bool est_orthotrope_mecanique(void)
Definition: mg_element_topologique.cpp:417
TPL_SET< MG_ELEMENT_MAILLAGE * >
CCF::formulation
char formulation
Definition: mg_element_topologique.h:41
MG_ELEMENT_TOPOLOGIQUE::oldval_pas_echantillon
static int oldval_pas_echantillon
Definition: mg_element_topologique.h:128
MG_ELEMENT_TOPOLOGIQUE::ini_param
virtual void ini_param(void)
Definition: mg_element_topologique.cpp:425
CCF
Definition: mg_element_topologique.h:38
MG_ELEMENT_TOPOLOGIQUE::get_dimension
virtual int get_dimension(void)=0
mg_element_maillage.h
MG_ELEMENT_TOPOLOGIQUE::get_vectorisation
virtual class VCT & get_vectorisation()=0
MG_ELEMENT_TOPOLOGIQUE::get_type
virtual int get_type(void)=0
MG_ELEMENT_TOPOLOGIQUE::get_nb_contrainte
virtual int get_nb_contrainte(void)
Definition: mg_element_topologique.cpp:460
MG_ELEMENT_TOPOLOGIQUE::change_type_ccf
virtual void change_type_ccf(int num, char *nom)
Definition: mg_element_topologique.cpp:112
MG_ELEMENT_TOPOLOGIQUE::get_contrainte
virtual double get_contrainte(int i)
Definition: mg_element_topologique.cpp:454
MG_ELEMENT_TOPOLOGIQUE::get_lien_maillage
virtual TPL_SET< MG_ELEMENT_MAILLAGE * > * get_lien_maillage(void)
Definition: mg_element_topologique.cpp:62
MG_ELEMENT_TOPOLOGIQUE::get_type_ccf
virtual void get_type_ccf(int num, char *nom)
Definition: mg_element_topologique.cpp:95
MG_ELEMENT_TOPOLOGIQUE
Definition: mg_element_topologique.h:51
MG_ELEMENT_TOPOLOGIQUE::restaure_pas_echantillon
static void restaure_pas_echantillon(void)
Definition: mg_element_topologique.h:112
MG_ELEMENT_TOPOLOGIQUE::epsilon_echantillon
static double epsilon_echantillon
Definition: mg_element_topologique.h:126
CCF::ccfvaleur
double ccfvaleur
Definition: mg_element_topologique.h:46
MG_ELEMENT_TOPOLOGIQUE::copie_ccf
virtual void copie_ccf(MG_ELEMENT_TOPOLOGIQUE &a1)
Definition: mg_element_topologique.cpp:267
MG_ELEMENT_TOPOLOGIQUE::est_une_topo_element
virtual bool est_une_topo_element(void)=0
MG_ELEMENT_TOPOLOGIQUE::pas_echantillon
static int pas_echantillon
Definition: mg_element_topologique.h:125
MG_ELEMENT_TOPOLOGIQUE::change_id_ccf
virtual void change_id_ccf(int num, unsigned long val)
Definition: mg_element_topologique.cpp:148
fem_element_maillage.h
MG_ELEMENT_TOPOLOGIQUE::lien_maillage
TPL_SET< MG_ELEMENT_MAILLAGE * > lien_maillage
Definition: mg_element_topologique.h:119
MG_ELEMENT_TOPOLOGIQUE::est_topologie_sousjacente
virtual int est_topologie_sousjacente(MG_ELEMENT_TOPOLOGIQUE *ele)
Definition: mg_element_topologique.cpp:72
MG_ELEMENT_TOPOLOGIQUE::angle_dev_echantillon
static double angle_dev_echantillon
Definition: mg_element_topologique.h:127
MG_ELEMENT_TOPOLOGIQUE::nouveau_numero
int nouveau_numero
Definition: mg_element_topologique.h:121
ot_parametres.h
MG_ELEMENT_TOPOLOGIQUE::get_nb_ccf
virtual int get_nb_ccf(void)
Definition: mg_element_topologique.cpp:154
MG_ELEMENT_TOPOLOGIQUE::change_effort_suiv
virtual void change_effort_suiv(int num, std::string suiv)
Definition: mg_element_topologique.cpp:107
CCF::variables
std::vector< std::string > variables
Definition: mg_element_topologique.h:44
tpl_map_entite.h
MG_ELEMENT_TOPOLOGIQUE::ajouter_contrainte
virtual void ajouter_contrainte(double val)
Definition: mg_element_topologique.cpp:447
MG_ELEMENT_TOPOLOGIQUE::COQUE
@ COQUE
Definition: mg_element_topologique.h:55
MG_ELEMENT_TOPOLOGIQUE::get_formule_ccf
virtual std::string get_formule_ccf(int num)
Definition: mg_element_topologique.cpp:121
MG_ELEMENT_TOPOLOGIQUE::FACE
@ FACE
Definition: mg_element_topologique.h:55
MG_ELEMENT_TOPOLOGIQUE::get_formule_variable
virtual std::string get_formule_variable(int num, int num2)
Definition: mg_element_topologique.cpp:129
MG_ELEMENT_TOPOLOGIQUE::change_formule_ccf
virtual void change_formule_ccf(int num, std::string val)
Definition: mg_element_topologique.cpp:143
MG_ELEMENT_TOPOLOGIQUE::get_formulation_ccf
virtual char get_formulation_ccf(int num)
Definition: mg_element_topologique.cpp:89
MG_ELEMENT_TOPOLOGIQUE::get_boite_3D
virtual BOITE_3D get_boite_3D(void)=0
tpl_set.h
MG_ELEMENT_TOPOLOGIQUE::~MG_ELEMENT_TOPOLOGIQUE
virtual ~MG_ELEMENT_TOPOLOGIQUE()
Definition: mg_element_topologique.cpp:55
MG_ELEMENT_TOPOLOGIQUE::change_idoriginal
virtual void change_idoriginal(std::string id)
Definition: mg_element_topologique.cpp:304
MG_ELEMENT_TOPOLOGIQUE::tabccf
std::vector< CCF > tabccf
Definition: mg_element_topologique.h:124
MG_ELEMENT_TOPOLOGIQUE::change_nouveau_numero
virtual void change_nouveau_numero(int num)
Definition: mg_element_topologique.cpp:79
MG_ELEMENT_TOPOLOGIQUE::contraintes
std::vector< double > contraintes
Definition: mg_element_topologique.h:130
BOITE_3D
Definition: ot_boite_3d.h:27
CCF::ccfformule
std::string ccfformule
Definition: mg_element_topologique.h:43
ot_boite_3d.h
MG_ELEMENT_TOPOLOGIQUE::VOLUME
@ VOLUME
Definition: mg_element_topologique.h:55
mg_definition.h
MG_ELEMENT_TOPOLOGIQUE::SOMMET
@ SOMMET
Definition: mg_element_topologique.h:55
MG_ELEMENT_TOPOLOGIQUE::POUTRE
@ POUTRE
Definition: mg_element_topologique.h:55
MG_ELEMENT_TOPOLOGIQUE::enregistrer_ccf
virtual void enregistrer_ccf(std::ostream &o, double version)
Definition: mg_element_topologique.cpp:364
MG_ELEMENT_TOPOLOGIQUE::get_lien_fem_maillage
virtual TPL_LISTE_ENTITE< FEM_ELEMENT_MAILLAGE * > * get_lien_fem_maillage(void)
Definition: mg_element_topologique.cpp:67
MG_ELEMENT_TOPOLOGIQUE::change_pas_echantillon
static void change_pas_echantillon(int val)
Definition: mg_element_topologique.h:111
TPL_LISTE_ENTITE< FEM_ELEMENT_MAILLAGE * >
MG_ELEMENT_TOPOLOGIQUE::get_effort_suiv
virtual std::string get_effort_suiv(int num)
Definition: mg_element_topologique.cpp:102
CCF::type
std::string type
Definition: mg_element_topologique.h:42
MG_ELEMENT_TOPOLOGIQUE::transfert_ccf
virtual void transfert_ccf(MG_ELEMENT_TOPOLOGIQUE &a1)
Definition: mg_element_topologique.cpp:250
CCF::effortsuiv
std::string effortsuiv
Definition: mg_element_topologique.h:45
MG_ELEMENT_TOPOLOGIQUE::idoriginal
std::string idoriginal
Definition: mg_element_topologique.h:122
MG_ELEMENT_TOPOLOGIQUE::lst_topo_sous_jacente
TPL_MAP_ENTITE< MG_ELEMENT_TOPOLOGIQUE * > lst_topo_sous_jacente
Definition: mg_element_topologique.h:123
MG_ELEMENT_TOPOLOGIQUE::get_valeur_ccf
virtual bool get_valeur_ccf(char *nom, double &val)
Definition: mg_element_topologique.cpp:310
MG_ELEMENT_TOPOLOGIQUE::get_idoriginal
virtual std::string get_idoriginal(void)
Definition: mg_element_topologique.cpp:299
mg_identificateur.h
MG_ELEMENT_TOPOLOGIQUE::MG_ELEMENT_TOPOLOGIQUE
MG_ELEMENT_TOPOLOGIQUE(std::string id)
Definition: mg_element_topologique.cpp:37
MG_IDENTIFICATEUR
Definition: mg_identificateur.h:34
MG_ELEMENT_TOPOLOGIQUE::get_num_ccf
virtual int get_num_ccf(char *nom)
Definition: mg_element_topologique.cpp:328
MG_ELEMENT_TOPOLOGIQUE::enregistrer_contraintes
virtual void enregistrer_contraintes(std::ostream &o, double version)
Definition: mg_element_topologique.cpp:403
MG_ELEMENT_TOPOLOGIQUE::TYPE_ELEMENT_TOPOLOGIQUE
TYPE_ELEMENT_TOPOLOGIQUE
Definition: mg_element_topologique.h:55
tpl_liste_entite.h
VCT
Definition: vct.h:33
MG_ELEMENT_TOPOLOGIQUE::get_topologie_sousjacente
virtual void get_topologie_sousjacente(TPL_MAP_ENTITE< MG_ELEMENT_TOPOLOGIQUE * > *lst)=0
MG_ELEMENT_TOPOLOGIQUE::lien_fem_maillage
TPL_LISTE_ENTITE< FEM_ELEMENT_MAILLAGE * > lien_fem_maillage
Definition: mg_element_topologique.h:120