COOLFluiD  Release kernel
COOLFluiD is a Collaborative Simulation Environment (CSE) focused on complex MultiPhysics simulations.
Shared.hpp
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 #ifndef cf3_mesh_smurf_Shared_hpp
7 #define cf3_mesh_smurf_Shared_hpp
8 
10 
11 #include "mesh/GeoShape.hpp"
12 
13 #include "mesh/smurf/LibSmurf.hpp"
14 
16 
17 namespace cf3 {
18 namespace mesh {
19 namespace smurf {
20 
22 
26 {
27 public:
28 
30  Shared();
31 
33  static std::string type_name() { return "Shared"; }
34 
35  std::vector<std::string>& get_supported_element_types() { return m_supported_types; }
36 
37  static std::string tp_name_to_cf_name(const Uint dim, const Uint tp_type);
38 
39 protected:
40 
41 
42  static const Uint nb_tp_types = 37;
43 
44  static const Uint m_nodes_in_tp_elem[nb_tp_types]; //For each element type, remember how many nodes it has
45  static const Uint m_tp_elem_dim[nb_tp_types]; //Store what is the geometrical dimension of each tp elem
46  static const Uint m_tp_elem_order[nb_tp_types]; //Store the order of each element type
47  static const std::string tp_elem_geo_name[nb_tp_types]; //Give names to the types
48  static const std::string dim_name[4];
49  static const std::string order_name[10];
50 
51  enum smurfElement { P1LINE=1, P1TRIAG=2, P1QUAD=3, P1TETRA=4, P1HEXA=5,
52  P2LINE=8, P2TRIAG=9, P2QUAD=10, P2TETRA=11, P2HEXA=12,
53  P1POINT=15, P3TRIAG=21, P3LINE=26, P3QUAD = 36 };
54 
55  std::map<GeoShape::Type,Uint> m_element_cf_to_tp;
56  std::vector<std::string> m_supported_types;
57 
59  // std::vector<std::vector<Uint> > m_faces_cf_to_tp;
60  // std::vector<std::vector<Uint> > m_faces_tp_to_cf;
61 
62  std::vector<std::vector<Uint> > m_nodes_cf_to_tp;
63  std::vector<std::vector<Uint> > m_nodes_tp_to_cf;
64 
65 }; // end Shared
66 
67 
69 
70 } // smurf
71 } // mesh
72 } // cf3
73 
75 
76 #endif // cf3_mesh_smurf_Shared_hpp
std::vector< std::vector< Uint > > m_nodes_cf_to_tp
Faces are not defined in tp format.
Definition: Shared.hpp:62
std::vector< std::string > & get_supported_element_types()
Definition: Shared.hpp:35
#define smurf_API
Definition: LibSmurf.hpp:22
static std::string type_name()
Gets the Class name.
Definition: Shared.hpp:33
Top-level namespace for coolfluid.
Definition: Action.cpp:18
unsigned int Uint
typedef for unsigned int
Definition: CF.hpp:90
std::vector< std::vector< Uint > > m_nodes_tp_to_cf
Definition: Shared.hpp:63
std::vector< std::string > m_supported_types
Definition: Shared.hpp:56
std::map< GeoShape::Type, Uint > m_element_cf_to_tp
Definition: Shared.hpp:55
Send comments to:
COOLFluiD Web Admin