COOLFluiD  Release kernel
COOLFluiD is a Collaborative Simulation Environment (CSE) focused on complex MultiPhysics simulations.
Shared.cpp
Go to the documentation of this file.
1 // Copyright (C) 2010-2013 von Karman Institute for Fluid Dynamics, Belgium
2 //
3 // This software is distributed under the terms of the
4 // GNU Lesser General Public License version 3 (LGPLv3).
5 // See doc/lgpl.txt and doc/gpl.txt for the license text.
6 
7 #include "mesh/neu/Shared.hpp"
8 
10 
11 namespace cf3 {
12 namespace mesh {
13 namespace neu {
14 
16 
18  m_faces_cf_to_neu(10),
19  m_faces_neu_to_cf(10),
20  m_nodes_cf_to_neu(10),
21  m_nodes_neu_to_cf(10)
22 {
23  m_supported_types.reserve(9);
24  m_supported_types.push_back("cf3.mesh.LagrangeP1.Line1D");
25  m_supported_types.push_back("cf3.mesh.LagrangeP1.Line2D");
26  m_supported_types.push_back("cf3.mesh.LagrangeP1.Line3D");
27  m_supported_types.push_back("cf3.mesh.LagrangeP1.Quad2D");
28  m_supported_types.push_back("cf3.mesh.LagrangeP1.Quad3D");
29  m_supported_types.push_back("cf3.mesh.LagrangeP1.Triag2D");
30  m_supported_types.push_back("cf3.mesh.LagrangeP1.Triag3D");
31  m_supported_types.push_back("cf3.mesh.LagrangeP1.Hexa3D");
32  m_supported_types.push_back("cf3.mesh.LagrangeP1.Tetra3D");
33  m_supported_types.push_back("cf3.mesh.LagrangeP1.Prism3D");
34 
41 
48 
49  // ------------------------------------------------------- FACES
50  // line
51  m_faces_cf_to_neu[LINE].resize(2);
52  m_faces_cf_to_neu[LINE][0]=1;
53  m_faces_cf_to_neu[LINE][1]=2;
54 
55  m_faces_neu_to_cf[LINE].resize(3);
56  m_faces_neu_to_cf[LINE][1]=0;
57  m_faces_neu_to_cf[LINE][2]=1;
58 
59  // quad
60  m_faces_cf_to_neu[QUAD].resize(4);
61  m_faces_cf_to_neu[QUAD][0]=1;
62  m_faces_cf_to_neu[QUAD][1]=2;
63  m_faces_cf_to_neu[QUAD][2]=3;
64  m_faces_cf_to_neu[QUAD][3]=4;
65 
66  m_faces_neu_to_cf[QUAD].resize(5);
67  m_faces_neu_to_cf[QUAD][1]=0;
68  m_faces_neu_to_cf[QUAD][2]=1;
69  m_faces_neu_to_cf[QUAD][3]=2;
70  m_faces_neu_to_cf[QUAD][4]=3;
71 
72  // triag
73  m_faces_cf_to_neu[TRIAG].resize(3);
77 
78  m_faces_neu_to_cf[TRIAG].resize(4);
82 
83  // hexa
84  m_faces_cf_to_neu[HEXA].resize(6);
85  m_faces_cf_to_neu[HEXA][0]=1;
86  m_faces_cf_to_neu[HEXA][1]=3;
87  m_faces_cf_to_neu[HEXA][2]=6;
88  m_faces_cf_to_neu[HEXA][3]=2;
89  m_faces_cf_to_neu[HEXA][4]=5;
90  m_faces_cf_to_neu[HEXA][5]=4;
91 
92  m_faces_neu_to_cf[HEXA].resize(7);
93  m_faces_neu_to_cf[HEXA][1]=0;
94  m_faces_neu_to_cf[HEXA][2]=3;
95  m_faces_neu_to_cf[HEXA][3]=1;
96  m_faces_neu_to_cf[HEXA][4]=5;
97  m_faces_neu_to_cf[HEXA][5]=4;
98  m_faces_neu_to_cf[HEXA][6]=2;
99 
100  // tetra
101  m_faces_cf_to_neu[TETRA].resize(4);
102  m_faces_cf_to_neu[TETRA][0]=1;
103  m_faces_cf_to_neu[TETRA][1]=2;
104  m_faces_cf_to_neu[TETRA][2]=3;
105  m_faces_cf_to_neu[TETRA][3]=4;
106 
107  m_faces_neu_to_cf[TETRA].resize(5);
108  m_faces_neu_to_cf[TETRA][1]=0;
109  m_faces_neu_to_cf[TETRA][2]=1;
110  m_faces_neu_to_cf[TETRA][3]=2;
111  m_faces_neu_to_cf[TETRA][4]=3;
112 
113  // prism
114  m_faces_cf_to_neu[PRISM].resize(5);
115  m_faces_cf_to_neu[PRISM][0]=4;
116  m_faces_cf_to_neu[PRISM][1]=5;
117  m_faces_cf_to_neu[PRISM][2]=3;
118  m_faces_cf_to_neu[PRISM][3]=1;
119  m_faces_cf_to_neu[PRISM][4]=2;
120 
121  m_faces_neu_to_cf[PRISM].resize(6);
122  m_faces_neu_to_cf[PRISM][1]=3;
123  m_faces_neu_to_cf[PRISM][2]=4;
124  m_faces_neu_to_cf[PRISM][3]=2;
125  m_faces_neu_to_cf[PRISM][4]=0;
126  m_faces_neu_to_cf[PRISM][5]=1;
127 
128 
129  // --------------------------------------------------- NODES
130 
131  // line
132  m_nodes_cf_to_neu[LINE].resize(2);
133  m_nodes_cf_to_neu[LINE][0]=0;
134  m_nodes_cf_to_neu[LINE][1]=1;
135 
136  m_nodes_neu_to_cf[LINE].resize(2);
137  m_nodes_neu_to_cf[LINE][0]=0;
138  m_nodes_neu_to_cf[LINE][1]=1;
139 
140  // quad
141  m_nodes_cf_to_neu[QUAD].resize(4);
142  m_nodes_cf_to_neu[QUAD][0]=0;
143  m_nodes_cf_to_neu[QUAD][1]=1;
144  m_nodes_cf_to_neu[QUAD][2]=2;
145  m_nodes_cf_to_neu[QUAD][3]=3;
146 
147  m_nodes_neu_to_cf[QUAD].resize(4);
148  m_nodes_neu_to_cf[QUAD][0]=0;
149  m_nodes_neu_to_cf[QUAD][1]=1;
150  m_nodes_neu_to_cf[QUAD][2]=2;
151  m_nodes_neu_to_cf[QUAD][3]=3;
152 
153  // triag
154  m_nodes_cf_to_neu[TRIAG].resize(3);
155  m_nodes_cf_to_neu[TRIAG][0]=0;
156  m_nodes_cf_to_neu[TRIAG][1]=1;
157  m_nodes_cf_to_neu[TRIAG][2]=2;
158 
159  m_nodes_neu_to_cf[TRIAG].resize(3);
160  m_nodes_neu_to_cf[TRIAG][0]=0;
161  m_nodes_neu_to_cf[TRIAG][1]=1;
162  m_nodes_neu_to_cf[TRIAG][2]=2;
163 
164 
165  // tetra
166  m_nodes_cf_to_neu[TETRA].resize(4);
167  m_nodes_cf_to_neu[TETRA][0]=0;
168  m_nodes_cf_to_neu[TETRA][1]=1;
169  m_nodes_cf_to_neu[TETRA][2]=2;
170  m_nodes_cf_to_neu[TETRA][3]=3;
171 
172  m_nodes_neu_to_cf[TETRA].resize(4);
173  m_nodes_neu_to_cf[TETRA][0]=0;
174  m_nodes_neu_to_cf[TETRA][1]=1;
175  m_nodes_neu_to_cf[TETRA][2]=2;
176  m_nodes_neu_to_cf[TETRA][3]=3;
177 
178 
179  // hexa
180  m_nodes_cf_to_neu[HEXA].resize(8);
181  m_nodes_cf_to_neu[HEXA][0]=4;
182  m_nodes_cf_to_neu[HEXA][1]=5;
183  m_nodes_cf_to_neu[HEXA][2]=1;
184  m_nodes_cf_to_neu[HEXA][3]=0;
185  m_nodes_cf_to_neu[HEXA][4]=6;
186  m_nodes_cf_to_neu[HEXA][5]=7;
187  m_nodes_cf_to_neu[HEXA][6]=3;
188  m_nodes_cf_to_neu[HEXA][7]=2;
189 
190  m_nodes_neu_to_cf[HEXA].resize(8);
191  m_nodes_neu_to_cf[HEXA][0]=3;
192  m_nodes_neu_to_cf[HEXA][1]=2;
193  m_nodes_neu_to_cf[HEXA][2]=7;
194  m_nodes_neu_to_cf[HEXA][3]=6;
195  m_nodes_neu_to_cf[HEXA][4]=0;
196  m_nodes_neu_to_cf[HEXA][5]=1;
197  m_nodes_neu_to_cf[HEXA][6]=4;
198  m_nodes_neu_to_cf[HEXA][7]=5;
199 
200  // prism
201  m_nodes_cf_to_neu[PRISM].resize(6);
202  m_nodes_cf_to_neu[PRISM][0]=0;
203  m_nodes_cf_to_neu[PRISM][1]=1;
204  m_nodes_cf_to_neu[PRISM][2]=2;
205  m_nodes_cf_to_neu[PRISM][3]=3;
206  m_nodes_cf_to_neu[PRISM][4]=4;
207  m_nodes_cf_to_neu[PRISM][5]=5;
208 
209  m_nodes_neu_to_cf[PRISM].resize(6);
210  m_nodes_neu_to_cf[PRISM][0]=0;
211  m_nodes_neu_to_cf[PRISM][1]=1;
212  m_nodes_neu_to_cf[PRISM][2]=2;
213  m_nodes_neu_to_cf[PRISM][3]=3;
214  m_nodes_neu_to_cf[PRISM][4]=4;
215  m_nodes_neu_to_cf[PRISM][5]=5;
216 }
217 
219 
220 
222 
224 
226 
228 
229 } // neu
230 } // mesh
231 } // cf3
std::set< Uint > m_supported_neu_types
Definition: Shared.hpp:51
std::vector< std::vector< Uint > > m_nodes_cf_to_neu
Definition: Shared.hpp:48
std::map< GeoShape::Type, Uint > m_CFelement_to_neuElement
Definition: Shared.hpp:44
std::vector< std::vector< Uint > > m_nodes_neu_to_cf
Definition: Shared.hpp:49
std::vector< std::vector< Uint > > m_faces_cf_to_neu
Definition: Shared.hpp:46
Top-level namespace for coolfluid.
Definition: Action.cpp:18
std::vector< std::vector< Uint > > m_faces_neu_to_cf
Definition: Shared.hpp:47
Shared()
constructor
Definition: Shared.cpp:17
std::vector< std::string > m_supported_types
Definition: Shared.hpp:45
Send comments to:
COOLFluiD Web Admin