Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Panzer_CellTopologyInfo.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Panzer: A partial differential equation assembly
4 // engine for strongly coupled complex multiphysics systems
5 //
6 // Copyright 2011 NTESS and the Panzer contributors.
7 // SPDX-License-Identifier: BSD-3-Clause
8 // *****************************************************************************
9 // @HEADER
10 
11 #ifndef PANZER_CELLTOPOLOGYINFO_HPP
12 #define PANZER_CELLTOPOLOGYINFO_HPP
13 
14 #include <string>
15 #include "Teuchos_RCP.hpp"
16 
17 #include "Phalanx_DataLayout.hpp"
18 
19 #include "Kokkos_DynRankView.hpp"
20 #include "Intrepid2_Basis.hpp"
21 
22 #include "Panzer_Dimension.hpp"
23 #include "Panzer_CellData.hpp"
25 
26 
27 // Added by Suzey: 06/18/2012, to obtain the edge information of a cell topology
28 // and to create the edge data layouts
29 
30 namespace panzer {
31 
33 
34  public:
35 
36  CellTopologyInfo(int numCells, const Teuchos::RCP<const shards::CellTopology>& cellTopo);
37 
38  int getNumCells() const
39  { return num_cells; }
40 
41  int getDimension() const
42  { return dimension; }
43 
44  int getNumEdges() const
45  { return num_edges; }
46 
47  std::string getCellName() const
48  { return cell_topo_name; }
49 
51  { return topology; }
52 
53  public:
54 
57 
60 
61  private:
62 
64  void initializeDataLayouts();
65 
67 
68  std::string cell_topo_name;
69 
70  int num_cells;
71  int dimension;
72  int num_edges;
73 
74  };
75 
76 }
77 
78 #endif
CellTopologyInfo(int numCells, const Teuchos::RCP< const shards::CellTopology > &cellTopo)
Teuchos::RCP< const shards::CellTopology > getCellTopology() const
void initializeDataLayouts()
Initialize data layouts.
Teuchos::RCP< const shards::CellTopology > topology
Teuchos::RCP< PHX::DataLayout > edge_scalar
&lt;Cell,Edge&gt;
Teuchos::RCP< PHX::DataLayout > edge_vector