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 | |
void | setup (const panzer::LocalMeshPartition< int, int > &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... | |
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::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 | num_owned_cells () const |
Number of cells owned by this workset. More... | |
int | num_ghost_cells () const |
Number of cells owned by a different workset. More... | |
int | num_virtual_cells () const |
Number of cells not owned by any workset - these are used for boundary conditions. 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< const panzer::BasisValues2< double > > > > | _basis_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 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.
void panzer::WorksetDetails::setup | ( | const panzer::LocalMeshPartition< int, int > & | partition, |
const panzer::WorksetNeeds & | needs | ||
) |
Constructs the workset details from a given chunk of the mesh.
Definition at line 61 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 92 of file Panzer_Workset.cpp.
const panzer::SubcellConnectivity & panzer::WorksetDetails::getFaceConnectivity | ( | ) | const |
Grab the face connectivity for this workset.
Definition at line 188 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 195 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 203 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 211 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 222 of file Panzer_Workset.cpp.
|
inline |
Number of cells owned by this workset.
Definition at line 127 of file Panzer_Workset.hpp.
|
inline |
Number of cells owned by a different workset.
Definition at line 130 of file Panzer_Workset.hpp.
|
inline |
Number of cells not owned by any workset - these are used for boundary conditions.
Definition at line 133 of file Panzer_Workset.hpp.
Kokkos::View<const int*,PHX::Device> panzer::WorksetDetails::cell_local_ids_k |
Definition at line 89 of file Panzer_Workset.hpp.
std::vector<GO> panzer::WorksetDetails::cell_local_ids |
Definition at line 90 of file Panzer_Workset.hpp.
CellCoordArray panzer::WorksetDetails::cell_vertex_coordinates |
Definition at line 91 of file Panzer_Workset.hpp.
std::string panzer::WorksetDetails::block_id |
Definition at line 92 of file Panzer_Workset.hpp.
int panzer::WorksetDetails::subcell_index |
Definition at line 94 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 98 of file Panzer_Workset.hpp.
std::vector<Teuchos::RCP<panzer::IntegrationValues2<double> > > panzer::WorksetDetails::int_rules |
Definition at line 101 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 105 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 109 of file Panzer_Workset.hpp.
|
protected |
Definition at line 137 of file Panzer_Workset.hpp.
|
protected |
Definition at line 138 of file Panzer_Workset.hpp.
|
protected |
Definition at line 139 of file Panzer_Workset.hpp.
|
protected |
Definition at line 141 of file Panzer_Workset.hpp.
|
protected |
Definition at line 142 of file Panzer_Workset.hpp.
|
protected |
Definition at line 144 of file Panzer_Workset.hpp.
|
protected |
Definition at line 145 of file Panzer_Workset.hpp.
|
protected |
Definition at line 147 of file Panzer_Workset.hpp.