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 &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 75 of file Panzer_Workset.hpp.
typedef PHX::MDField<double,Cell,NODE,Dim> panzer::WorksetDetails::CellCoordArray |
Definition at line 77 of file Panzer_Workset.hpp.
typedef std::size_t panzer::WorksetDetails::GO |
Definition at line 79 of file Panzer_Workset.hpp.
typedef int panzer::WorksetDetails::LO |
Definition at line 80 of file Panzer_Workset.hpp.
|
inline |
Default constructor.
Definition at line 83 of file Panzer_Workset.hpp.
void panzer::WorksetDetails::setup | ( | const panzer::LocalMeshPartition & | 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 318 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 325 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 333 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 341 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 372 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 357 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 388 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 397 of file Panzer_Workset.cpp.
|
inline |
Number of cells owned by this workset.
Definition at line 146 of file Panzer_Workset.hpp.
|
inline |
Number of cells owned by a different workset.
Definition at line 149 of file Panzer_Workset.hpp.
|
inline |
Number of cells not owned by any workset - these are used for boundary conditions.
Definition at line 152 of file Panzer_Workset.hpp.
|
inline |
Provides access to set numbers of cells (required for backwards compatibility)
Definition at line 155 of file Panzer_Workset.hpp.
Kokkos::View<const int*,PHX::Device> panzer::WorksetDetails::cell_local_ids_k |
Definition at line 96 of file Panzer_Workset.hpp.
std::vector<GO> panzer::WorksetDetails::cell_local_ids |
Definition at line 97 of file Panzer_Workset.hpp.
CellCoordArray panzer::WorksetDetails::cell_vertex_coordinates |
Definition at line 98 of file Panzer_Workset.hpp.
std::string panzer::WorksetDetails::block_id |
Definition at line 99 of file Panzer_Workset.hpp.
int panzer::WorksetDetails::subcell_index |
Definition at line 101 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 105 of file Panzer_Workset.hpp.
std::vector<Teuchos::RCP<panzer::IntegrationValues2<double> > > panzer::WorksetDetails::int_rules |
Definition at line 108 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 112 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 116 of file Panzer_Workset.hpp.
|
protected |
Definition at line 164 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 168 of file Panzer_Workset.hpp.
|
protected |
Definition at line 169 of file Panzer_Workset.hpp.
|
protected |
Definition at line 171 of file Panzer_Workset.hpp.
|
protected |
Definition at line 172 of file Panzer_Workset.hpp.
|
protected |
Definition at line 174 of file Panzer_Workset.hpp.
|
protected |
Definition at line 175 of file Panzer_Workset.hpp.
|
protected |
Definition at line 177 of file Panzer_Workset.hpp.