Panzer Version of the Day
Loading...
Searching...
No Matches
Panzer_LocalMeshInfo.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_LOCAL_MESH_INFO_HPP
12#define PANZER_LOCAL_MESH_INFO_HPP
13
14#include "PanzerCore_config.hpp"
15#include "Phalanx_KokkosDeviceTypes.hpp"
16#include "Shards_CellTopology.hpp"
17#include "Teuchos_RCP.hpp"
18#include <string>
19
20namespace panzer
21{
22
25 {
26 panzer::LocalOrdinal num_owned_cells;
27 panzer::LocalOrdinal num_ghstd_cells;
28 panzer::LocalOrdinal num_virtual_cells;
29
30 // For side support
33
34 // Global cell indexes -> [owned] then [ghosted] then [virtual]
35 PHX::View<panzer::GlobalOrdinal*> global_cells;
36
37 // These are the cell indexes in the LocalMeshInfo class
38 PHX::View<panzer::LocalOrdinal*> local_cells;
39
40 // Nodes
41 PHX::View<double***> cell_nodes;
42
43 // Face to neighbors
45 PHX::View<panzer::LocalOrdinal*[2]> face_to_cells;
46 PHX::View<panzer::LocalOrdinal*[2]> face_to_lidx;
47 PHX::View<panzer::LocalOrdinal**> cell_to_faces;
48 };
49
52 {
53 std::string element_block_name;
54 Teuchos::RCP<const shards::CellTopology> cell_topology;
55
56 // In case this is a sideset
57 std::string sideset_name;
58 };
59
66 {
67 std::string sideset_name;
68
69 std::string element_block_name;
70
71 // Cell topology associated with element_block_name
72 Teuchos::RCP<const shards::CellTopology> cell_topology;
73 };
74
81 {
82 std::string element_block_name;
83
84 Teuchos::RCP<const shards::CellTopology> cell_topology;
85 };
86
89 {
90 // Element block -> block info
91 std::map<std::string, LocalMeshBlockInfo> element_blocks;
92
93 // Element block, sideset -> sideset info
94 std::map<std::string, std::map<std::string,LocalMeshSidesetInfo>> sidesets;
95 };
96
97}
98
99#endif
Teuchos::RCP< const shards::CellTopology > cell_topology
panzer::LocalOrdinal num_owned_cells
PHX::View< panzer::LocalOrdinal *[2]> face_to_lidx
PHX::View< panzer::GlobalOrdinal * > global_cells
panzer::LocalOrdinal num_ghstd_cells
panzer::LocalOrdinal num_virtual_cells
PHX::View< panzer::LocalOrdinal *[2]> face_to_cells
PHX::View< panzer::LocalOrdinal ** > cell_to_faces
PHX::View< panzer::LocalOrdinal * > local_cells
PHX::View< double *** > cell_nodes
std::map< std::string, std::map< std::string, LocalMeshSidesetInfo > > sidesets
std::map< std::string, LocalMeshBlockInfo > element_blocks
Teuchos::RCP< const shards::CellTopology > cell_topology
Teuchos::RCP< const shards::CellTopology > cell_topology