Panzer  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Public Attributes | Protected Attributes | List of all members
panzer::WorksetDetails Class Reference

#include <Panzer_Workset.hpp>

Inheritance diagram for panzer::WorksetDetails:
Inheritance graph
[legend]

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::SubcellConnectivitygetFaceConnectivity () 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::IntegrationRulegetIntegrationRule (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::PureBasisgetBasis (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< GOcell_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
 

Detailed Description

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.

Member Typedef Documentation

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.

Definition at line 81 of file Panzer_Workset.hpp.

Constructor & Destructor Documentation

panzer::WorksetDetails::WorksetDetails ( )
inline

Default constructor.

Definition at line 84 of file Panzer_Workset.hpp.

Member Function Documentation

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.

int panzer::WorksetDetails::numOwnedCells ( ) const
inline

Number of cells owned by this workset.

Definition at line 147 of file Panzer_Workset.hpp.

int panzer::WorksetDetails::numGhostCells ( ) const
inline

Number of cells owned by a different workset.

Definition at line 150 of file Panzer_Workset.hpp.

int panzer::WorksetDetails::numVirtualCells ( ) const
inline

Number of cells not owned by any workset - these are used for boundary conditions.

Definition at line 153 of file Panzer_Workset.hpp.

void panzer::WorksetDetails::setNumberOfCells ( int  o_cells,
int  g_cells,
int  v_cells 
)
inline

Provides access to set numbers of cells (required for backwards compatibility)

Definition at line 156 of file Panzer_Workset.hpp.

Member Data Documentation

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.

int panzer::WorksetDetails::_num_owned_cells
protected

Definition at line 165 of file Panzer_Workset.hpp.

int panzer::WorksetDetails::_num_ghost_cells
protected

Definition at line 166 of file Panzer_Workset.hpp.

int panzer::WorksetDetails::_num_virtual_cells
protected

Definition at line 167 of file Panzer_Workset.hpp.

std::map<size_t,Teuchos::RCP<const panzer::IntegrationRule > > panzer::WorksetDetails::_integration_rule_map
protected

Definition at line 169 of file Panzer_Workset.hpp.

std::map<size_t,Teuchos::RCP<const panzer::IntegrationValues2<double> > > panzer::WorksetDetails::_integrator_map
protected

Definition at line 170 of file Panzer_Workset.hpp.

std::map<size_t,Teuchos::RCP<const panzer::PureBasis > > panzer::WorksetDetails::_pure_basis_map
protected

Definition at line 172 of file Panzer_Workset.hpp.

std::map<size_t,std::map<size_t,Teuchos::RCP<panzer::BasisValues2<double> > > > panzer::WorksetDetails::_basis_map
protected

Definition at line 173 of file Panzer_Workset.hpp.

std::map<size_t,Teuchos::RCP<const panzer::PointRule > > panzer::WorksetDetails::_point_rule_map
protected

Definition at line 175 of file Panzer_Workset.hpp.

std::map<size_t,Teuchos::RCP<const panzer::PointValues2<double> > > panzer::WorksetDetails::_point_map
protected

Definition at line 176 of file Panzer_Workset.hpp.

Teuchos::RCP<panzer::SubcellConnectivity> panzer::WorksetDetails::_face_connectivity
protected

Definition at line 178 of file Panzer_Workset.hpp.


The documentation for this class was generated from the following files: