Panzer Version of the Day
Loading...
Searching...
No Matches
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
30namespace 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
50 Teuchos::RCP<const shards::CellTopology> getCellTopology() const
51 { return topology; }
52
53 public:
54
56 Teuchos::RCP<PHX::DataLayout> edge_scalar;
57
59 Teuchos::RCP<PHX::DataLayout> edge_vector;
60
61 private:
62
65
66 Teuchos::RCP<const shards::CellTopology> topology;
67
68 std::string cell_topo_name;
69
73
74 };
75
76}
77
78#endif
Teuchos::RCP< PHX::DataLayout > edge_scalar
<Cell,Edge>
Teuchos::RCP< const shards::CellTopology > getCellTopology() const
Teuchos::RCP< const shards::CellTopology > topology
Teuchos::RCP< PHX::DataLayout > edge_vector
void initializeDataLayouts()
Initialize data layouts.