Panzer
Version of the Day
|
#include <Panzer_Workset.hpp>
Public Types | |
typedef PHX::MDField< double, Cell, NODE, Dim > | CellCoordArray |
typedef std::size_t | GO |
typedef int | LO |
Public Member Functions | |
WorksetDetails () | |
Default constructor. More... | |
void | setup (const panzer::LocalMeshPartition< int, panzer::Ordinal64 > &partition, const panzer::WorksetNeeds &needs) |
Constructs the workset details from a given chunk of the mesh. More... | |
void | setupNeeds (Teuchos::RCP< const shards::CellTopology > cell_topology, const Kokkos::View< double ***, PHX::Device > &cell_vertices, const panzer::WorksetNeeds &needs) |
const panzer::SubcellConnectivity & | getFaceConnectivity () const |
Grab the face connectivity for this workset. More... | |
const panzer::IntegrationValues2 < double > & | getIntegrationValues (const panzer::IntegrationDescriptor &description) const |
Grab the integration values for a given integration description (throws error if integration doesn't exist) More... | |
const panzer::IntegrationRule & | getIntegrationRule (const panzer::IntegrationDescriptor &description) const |
Grab the integration rule (contains data layouts) for a given integration description (throws error if integration doesn't exist) More... | |
panzer::BasisValues2< double > & | getBasisValues (const panzer::BasisDescriptor &basis_description, const panzer::IntegrationDescriptor &integration_description) |
Grab the basis values for a given basis description and integration description (throws error if it doesn't exist) More... | |
const panzer::BasisValues2 < double > & | getBasisValues (const panzer::BasisDescriptor &basis_description, const panzer::IntegrationDescriptor &integration_description) const |
Grab the basis values for a given basis description and integration description (throws error if it doesn't exist) More... | |
const panzer::BasisValues2 < double > & | getBasisValues (const panzer::BasisDescriptor &basis_description, const panzer::PointDescriptor &point_description) const |
Grab the basis values for a given basis description and integration description (throws error if it doesn't exist) More... | |
const panzer::PointValues2 < double > & | getPointValues (const panzer::PointDescriptor &point_description) const |
Grab the basis values for a given basis description and integration description (throws error if it doesn't exist) More... | |
const panzer::PureBasis & | getBasis (const panzer::BasisDescriptor &description) const |
Grab the pure basis (contains data layouts) for a given basis description (throws error if integration doesn't exist) More... | |
int | numOwnedCells () const |
Number of cells owned by this workset. More... | |
int | numGhostCells () const |
Number of cells owned by a different workset. More... | |
int | numVirtualCells () const |
Number of cells not owned by any workset - these are used for boundary conditions. More... | |
void | setNumberOfCells (int o_cells, int g_cells, int v_cells) |
Provides access to set numbers of cells (required for backwards compatibility) More... | |
Public Attributes | |
Kokkos::View< const int *, PHX::Device > | cell_local_ids_k |
std::vector< GO > | cell_local_ids |
CellCoordArray | cell_vertex_coordinates |
std::string | block_id |
int | subcell_index |
Teuchos::RCP< std::vector< int > > | ir_degrees |
If workset corresponds to a sub cell, what is the index? More... | |
std::vector< Teuchos::RCP < panzer::IntegrationValues2 < double > > > | int_rules |
Teuchos::RCP< std::vector < std::string > > | basis_names |
Value corresponds to basis type. Use the offest for indexing. More... | |
std::vector< Teuchos::RCP < panzer::BasisValues2< double > > > | bases |
Static basis function data, key is basis name, value is index in the static_bases vector. More... | |
Protected Attributes | |
int | _num_owned_cells |
int | _num_ghost_cells |
int | _num_virtual_cells |
std::map< size_t, Teuchos::RCP < const panzer::IntegrationRule > > | _integration_rule_map |
std::map< size_t, Teuchos::RCP < const panzer::IntegrationValues2 < double > > > | _integrator_map |
std::map< size_t, Teuchos::RCP < const panzer::PureBasis > > | _pure_basis_map |
std::map< size_t, std::map < size_t, Teuchos::RCP < panzer::BasisValues2< double > > > > | _basis_map |
std::map< size_t, Teuchos::RCP < const panzer::PointRule > > | _point_rule_map |
std::map< size_t, Teuchos::RCP < const panzer::PointValues2 < double > > > | _point_map |
Teuchos::RCP < panzer::SubcellConnectivity > | _face_connectivity |
This is used within the workset to make edge based (DG like) assembly an easier task. This basically allows separation of the workset abstraction from how it is accessed.
Definition at line 76 of file Panzer_Workset.hpp.
typedef PHX::MDField<double,Cell,NODE,Dim> panzer::WorksetDetails::CellCoordArray |
Definition at line 78 of file Panzer_Workset.hpp.
typedef std::size_t panzer::WorksetDetails::GO |
Definition at line 80 of file Panzer_Workset.hpp.
typedef int panzer::WorksetDetails::LO |
Definition at line 81 of file Panzer_Workset.hpp.
|
inline |
Default constructor.
Definition at line 84 of file Panzer_Workset.hpp.
void panzer::WorksetDetails::setup | ( | const panzer::LocalMeshPartition< int, panzer::Ordinal64 > & | partition, |
const panzer::WorksetNeeds & | needs | ||
) |
Constructs the workset details from a given chunk of the mesh.
Definition at line 63 of file Panzer_Workset.cpp.
void panzer::WorksetDetails::setupNeeds | ( | Teuchos::RCP< const shards::CellTopology > | cell_topology, |
const Kokkos::View< double ***, PHX::Device > & | cell_vertices, | ||
const panzer::WorksetNeeds & | needs | ||
) |
Definition at line 94 of file Panzer_Workset.cpp.
const panzer::SubcellConnectivity & panzer::WorksetDetails::getFaceConnectivity | ( | ) | const |
Grab the face connectivity for this workset.
Definition at line 237 of file Panzer_Workset.cpp.
const panzer::IntegrationValues2< double > & panzer::WorksetDetails::getIntegrationValues | ( | const panzer::IntegrationDescriptor & | description | ) | const |
Grab the integration values for a given integration description (throws error if integration doesn't exist)
Definition at line 244 of file Panzer_Workset.cpp.
const panzer::IntegrationRule & panzer::WorksetDetails::getIntegrationRule | ( | const panzer::IntegrationDescriptor & | description | ) | const |
Grab the integration rule (contains data layouts) for a given integration description (throws error if integration doesn't exist)
Definition at line 252 of file Panzer_Workset.cpp.
panzer::BasisValues2< double > & panzer::WorksetDetails::getBasisValues | ( | const panzer::BasisDescriptor & | basis_description, |
const panzer::IntegrationDescriptor & | integration_description | ||
) |
Grab the basis values for a given basis description and integration description (throws error if it doesn't exist)
Definition at line 260 of file Panzer_Workset.cpp.
const panzer::BasisValues2< double > & panzer::WorksetDetails::getBasisValues | ( | const panzer::BasisDescriptor & | basis_description, |
const panzer::IntegrationDescriptor & | integration_description | ||
) | const |
Grab the basis values for a given basis description and integration description (throws error if it doesn't exist)
Definition at line 291 of file Panzer_Workset.cpp.
const panzer::BasisValues2< double > & panzer::WorksetDetails::getBasisValues | ( | const panzer::BasisDescriptor & | basis_description, |
const panzer::PointDescriptor & | point_description | ||
) | const |
Grab the basis values for a given basis description and integration description (throws error if it doesn't exist)
Definition at line 276 of file Panzer_Workset.cpp.
const panzer::PointValues2< double > & panzer::WorksetDetails::getPointValues | ( | const panzer::PointDescriptor & | point_description | ) | const |
Grab the basis values for a given basis description and integration description (throws error if it doesn't exist)
Definition at line 307 of file Panzer_Workset.cpp.
const panzer::PureBasis & panzer::WorksetDetails::getBasis | ( | const panzer::BasisDescriptor & | description | ) | const |
Grab the pure basis (contains data layouts) for a given basis description (throws error if integration doesn't exist)
Definition at line 316 of file Panzer_Workset.cpp.
|
inline |
Number of cells owned by this workset.
Definition at line 147 of file Panzer_Workset.hpp.
|
inline |
Number of cells owned by a different workset.
Definition at line 150 of file Panzer_Workset.hpp.
|
inline |
Number of cells not owned by any workset - these are used for boundary conditions.
Definition at line 153 of file Panzer_Workset.hpp.
|
inline |
Provides access to set numbers of cells (required for backwards compatibility)
Definition at line 156 of file Panzer_Workset.hpp.
Kokkos::View<const int*,PHX::Device> panzer::WorksetDetails::cell_local_ids_k |
Definition at line 97 of file Panzer_Workset.hpp.
std::vector<GO> panzer::WorksetDetails::cell_local_ids |
Definition at line 98 of file Panzer_Workset.hpp.
CellCoordArray panzer::WorksetDetails::cell_vertex_coordinates |
Definition at line 99 of file Panzer_Workset.hpp.
std::string panzer::WorksetDetails::block_id |
Definition at line 100 of file Panzer_Workset.hpp.
int panzer::WorksetDetails::subcell_index |
Definition at line 102 of file Panzer_Workset.hpp.
Teuchos::RCP< std::vector<int> > panzer::WorksetDetails::ir_degrees |
If workset corresponds to a sub cell, what is the index?
Value correspondes to integration order. Use the offest for indexing.
Definition at line 106 of file Panzer_Workset.hpp.
std::vector<Teuchos::RCP<panzer::IntegrationValues2<double> > > panzer::WorksetDetails::int_rules |
Definition at line 109 of file Panzer_Workset.hpp.
Teuchos::RCP< std::vector<std::string> > panzer::WorksetDetails::basis_names |
Value corresponds to basis type. Use the offest for indexing.
Definition at line 113 of file Panzer_Workset.hpp.
std::vector<Teuchos::RCP< panzer::BasisValues2<double> > > panzer::WorksetDetails::bases |
Static basis function data, key is basis name, value is index in the static_bases vector.
Definition at line 117 of file Panzer_Workset.hpp.
|
protected |
Definition at line 165 of file Panzer_Workset.hpp.
|
protected |
Definition at line 166 of file Panzer_Workset.hpp.
|
protected |
Definition at line 167 of file Panzer_Workset.hpp.
|
protected |
Definition at line 169 of file Panzer_Workset.hpp.
|
protected |
Definition at line 170 of file Panzer_Workset.hpp.
|
protected |
Definition at line 172 of file Panzer_Workset.hpp.
|
protected |
Definition at line 173 of file Panzer_Workset.hpp.
|
protected |
Definition at line 175 of file Panzer_Workset.hpp.
|
protected |
Definition at line 176 of file Panzer_Workset.hpp.
|
protected |
Definition at line 178 of file Panzer_Workset.hpp.