ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/mtu/src/mg_definition.h
Revision: 1160
Committed: Wed Jul 3 20:40:15 2024 UTC (10 months, 2 weeks ago) by francois
Content type: text/plain
File size: 5367 byte(s)
Log Message:
ajout d'un mailleur grossier de particlue fine. Cas du cylindre.

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     //####// mg_definition.h
15     //####//
16     //####//------------------------------------------------------------
17     //####//------------------------------------------------------------
18     //####// COPYRIGHT 2000-2024
19 francois 1160 //####// Derniere modification par francois
20     //####// mer 03 jui 2024 16:36:26 EDT
21 francois 1158 //####//------------------------------------------------------------
22     //####//------------------------------------------------------------
23 francois 1160 #ifndef _MG_DEFINITION_
24     #define _MG_DEFINITION_
25 francois 283
26    
27    
28    
29 francois 1160
30 francois 283 #include <set>
31    
32    
33    
34 francois 1160
35 francois 283 const int MEME_SENS=1;
36     const int SENS_CONTRAIRE=-1;
37    
38     const int OK=1;
39     const int FAIL=0;
40    
41 francois 375
42     const int MAX_TYPE_SOLUTION=9;
43 francois 410 const int MAX_ETAT=2;
44 francois 375
45 francois 283 template <class T>
46     struct inf : std::binary_function<T, T, bool> {
47     bool operator() ( const T& x, const T& y) const {
48     return x->get_id() < y->get_id();
49     }
50     };
51    
52 francois 791 /*#define MAILLEUR_AUTO 1000
53     #define TRIANGULATION 1010
54     #define IMPOSE 1020
55     #define DUPLIQUER 1030
56     #define MODIFICATION 1040
57     #define OPTIMISE 1050
58     #define DEFORME 1060
59     #define GMSH 1070
60     #define SQUELETTE 1080*/
61 francois 283
62 francois 791
63 francois 375 namespace MAGIC
64     {
65 francois 1150
66     class TYPE_ENTITE
67     {
68     public:
69     enum mgelement {IDMG_NOEUD=100,IDM3D_NOEUD=110,IDMG_SEGMENT=200,IDMG_TRIANGLE=300,IDMG_QUADRANGLE=360,IDMG_TETRA=400,IDMG_HEXA=460,IDMG_PENTA=470,IDMG_PYRAMIDE=480,IDM3D_TRIANGLE=310,IDM3D_TETRA=410};
70     enum femelement {IDFEM_NOEUD=1000,IDFEM_MINISEGMENT2=11102,IDFEM_SEGMENT2=1102,IDFEM_SEGMENT3=1103,IDFEM_TRIANGLE3=1203,IDFEM_TRIANGLE6=1206,IDFEM_QUADRANGLE4=1204,IDFEM_QUADRANGLE8=1208,IDFEM_TETRA4=1304,IDFEM_TETRA10=1310,IDFEM_HEXA8=1308,IDFEM_HEXA20=1320,IDFEM_PENTA6=1356,IDFEM_PENTA15=1365
71     };
72    
73     };
74    
75    
76 francois 791 class ORIGINE
77     {
78     public:
79 francois 902 enum origine {MAILLEUR_AUTO=1000,TRIANGULATION=1010,IMPOSE=1020,DUPLIQUER=1030,MODIFICATION=1040,OPTIMISE=1050,DEFORME=1060,GMSH=1070,SQUELETTE=1080,TRIANGULATION_ARETE=1090,TRIANGULATION_ARETEORIGINE=1091,DISCONTINUITE=1100,DISCONTINUITE2=1110,SECTION=1120};
80 francois 791 };
81    
82    
83 francois 375 class ENTITE_SOLUTION
84     {
85     public:
86 francois 767 enum entite_solution {ENTITE_NOEUD=1,ENTITE_ELEMENT1, ENTITE_ELEMENT2,ENTITE_ELEMENT3,ENTITE_ELEMENT1_NOEUD,ENTITE_ELEMENT2_NOEUD, ENTITE_ELEMENT3_NOEUD,ENTITE_ELEMENT1_GAUSS,ENTITE_ELEMENT2_GAUSS, ENTITE_ELEMENT3_GAUSS,ENTITE_ELEMENTND, ENTITE_ELEMENTND_NOEUD};
87 francois 375
88     };
89 francois 283
90 francois 375 class TYPE_SOLUTION
91     {
92     public:
93     enum type_solution {SCALAIRE=1,VECTEUR=3, TENSEUR_SYM=6 ,TENSEUR=9};
94    
95     };
96 francois 551
97 francois 1149
98    
99    
100    
101     class MAILLEURFRONTALETAT
102     {
103     public:
104 francois 1150
105    
106     enum m2detat {CAS_FRONT_3=1,CAS_FRONT_4=2,CAS_FERME_CAVITE_P=3,CAS_FERME_CAVITE_S=4,CAS_FERME_CAVITE=5,CAS_GENERAL=6,PASTROUVE=10,TROUVE=11,TOUS_SEGMENT=20,TOUS_FRONT=21,RIEN=22,NOEUD_CREE=30,FRONT_RENCONTRE=31,ERREUR=32};
107    
108    
109     enum m3detat {DETRUIT=345,ACTIF=346,INACTIF=347,FRONT_NONACTIF=507,FRONT_ACTIF=508,FRONT_PASSE=509,FRONT_A_INVERSE=510,FRONT_PAS_A_INVERSE=511};
110    
111     enum m3dcas {ADJACENT3=0,ADJACENT2=1,ADJACENT1=2,LIE3=3,LIE2=4,LIE1=5,GENERAL=6,AUTRECAS=7,ADJACENT=8,LIE=9,DESTRUCTION=-15,PASTRAITE=-20,TRAITE=-15,AUTRECASATRAITER=-25};
112    
113    
114     enum m3dprogression {NONFORCE=159,ATTENTE=160,PRIORITAIRE=160,GENERATION_NOEUD=505,NOEUD_EXISTANT=506,FACE_EXISTANTE=506,EXISTE=700,MULTIEXISTE=701,CREATION=702,FRONTAL=1000,OCTAL=1001,TOUTDETRUIRE=2000,LIMITEDETRUIRE=2001};
115    
116 francois 1149 };
117    
118    
119 francois 551 class VERSION_CARTE_TAILLE
120     {
121     public:
122     enum version_carte_taille {ANCIENNE=0,NOUVELLE=1};
123 francois 581 };
124    
125 francois 876 class OPERATION_FEM_SOLUTION
126     {
127     public:
128 francois 902 enum operateur {ADDITION=0,SOUSTRACTION=1,MULTIPLICATION=2,DIVISION=3,VALEUR_ABSOLUE=50,COMPARAISON=51,COMPARAISON_RELATIVE=52,GRAD=53,EXTRAPOLATION=54,NORMESUP=55};
129 francois 876 };
130 francois 581
131     class CALCUL_ASTER
132     {
133     public:
134 couturad 719 enum typecalcul {ELASTIQUE=0,
135 francois 721 PLASTIQUE=1,
136 couturad 719 OPTIMISATIONTOPOLOGIQUE=2,
137     THERMIQUE=3,
138     CONTRAINTE_PLANE=4,
139     DEFORMATION_PLANE=5,
140 francois 786 RIGIDITE=6,
141     RIGIDITE_CONTRAINTE_PLANE=7,
142     RIGIDITE_DEFORMATION_PLANE=8,
143 couturad 719 ELASTIQUE_3D=100,
144     ELASTIQUE_PLAQUE=101,
145     ELASTIQUE_COQUE=102,
146     THERMIQUE_3D=200,
147     ELASTIQUE_GROT_GDEF=103,
148 francois 721 PLASTIQUE_BILINEAIRE=104,
149 sattarpa 849 PLASTIQUE_BILINEAIRE_PLAQUE=1044,
150     PLASTIQUE_BILINEAIRE_COQUE=1045,
151 francois 767 PLASTIQUE_COURBE=105,
152 francois 786 ELASTIQUE_MIXTE_1D3D=106,
153     RIGIDITE_3D=107,
154     RIGIDITE_PLAQUE=108,
155     RIGIDITE_COQUE=109,
156 francois 787 RIGIDITE_MIXTE_1D3D=110,
157     ELASTIQUE_GROT_GDEF_3D=111,
158     ELASTIQUE_GROT_GDEF_PLAQUE=112,
159 mejri 888 ELASTIQUE_GROT_GDEF_COQUE=113,
160 mejri 932 ELASTIQUE_NON_LINEAIRE_3D=114,
161     ELASTIQUE_NON_LINEAIRE_3D_FATIGUE=115
162 francois 721 };
163 francois 375 };
164 francois 635
165    
166     class PROJECTION
167     {
168     public:
169     enum RESULTAT {SUCCES=0,TYPE_SOLUTION_INCORRECT=1,DIMENSION_MAILLAGE_INCOMPATIBLE=2,NON_IMPLEMENTER=3};
170     };
171 francois 686
172    
173    
174     class SEMANTIQUECSG
175     {
176     public:
177 couturad 951 enum semantiquecsg {SANS=100,UNION,SOUSTRACTION,INTERSECTION,FRAGMENT,ROTATION,ECHELLE,PERCAGE,CONGE,CHAMFREIN,EXTRUSION,DECALLAGE,ERREUR=1000};
178 francois 551 };
179 francois 686
180    
181 francois 1160
182     class TYPEVOLUME
183     {
184     public:
185     enum nomvolume {BOITE=200,CYLINDRE,SPHERE,TORE,CONE};
186 francois 686 };
187 francois 1160
188    
189     };
190 francois 283 #endif
191    
192