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

#include <Panzer_Workset.hpp>

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

Public Member Functions

 Workset ()
 Default constructor, identifier is a useless 0 by default. More...
 
 Workset (std::size_t identifier)
 Constructor that that requires a unique identifier. More...
 
void setIdentifier (std::size_t identifier)
 Set the unique identifier for this workset, this is not an index! More...
 
std::size_t getIdentifier () const
 Get the unique identifier for this workset, this is not an index! More...
 
WorksetDetailsoperator() (const int i)
 op(0) return *this; op(1) returns *other. More...
 
const WorksetDetailsoperator() (const int i) const
 const accessor. More...
 
WorksetDetailsdetails (const int i)
 Convenience wrapper to operator() for pointer access. More...
 
const WorksetDetailsdetails (const int i) const
 
size_t numDetails () const
 Return the number of WorksetDetails this Workset holds. More...
 
- Public Member Functions inherited from panzer::WorksetDetails
 WorksetDetails ()
 Default constructor. More...
 
void setup (const LocalMeshPartition &partition, const WorksetOptions &options)
 Constructs the workset details from a given chunk of the mesh. More...
 
const panzer::SubcellConnectivitygetFaceConnectivity () const
 
const panzer::IntegrationRulegetIntegrationRule (const panzer::IntegrationDescriptor &description) const
 Grab the integration rule for a given integration description (throws error if integration 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...
 
const std::string & getElementBlock () const
 Get the element block id. More...
 
const std::string & getSideset () const
 Get the sideset id (returns "" if not a sideset) More...
 
unsigned int numDimensions () const
 Get the cell dimension for the mesh. More...
 
int getSubcellIndex () const
 Get the subcell index (returns -1 if not a subcell) More...
 
int getSubcellDimension () const
 Get the subcell dimension. More...
 
CellCoordArray getCellNodes () const
 Get the node coordinates for the cells. More...
 
Kokkos::View< const int
*, PHX::Device > 
getLocalCellIDs () const
 Get the local cell IDs for the workset. More...
 
const SubcellConnectivitygetSubcellConnectivity (const unsigned int subcell_dimension) const
 Get the subcell connectivity for the workset topology. More...
 
bool hasSubcellConnectivity (const unsigned int subcell_dimension) const
 Check if subcell connectivity exists for a given dimension. More...
 
const
panzer::IntegrationValues2
< double > & 
getIntegrationValues (const panzer::IntegrationDescriptor &description, const bool lazy_version=false) const
 Get the integration values for a given integration description. More...
 
const panzer::BasisValues2
< double > & 
getBasisValues (const panzer::BasisDescriptor &basis_description, const bool lazy_version=false) const
 
panzer::BasisValues2< double > & getBasisValues (const panzer::BasisDescriptor &basis_description, const panzer::IntegrationDescriptor &integration_description, const bool lazy_version=false) const
 
const panzer::BasisValues2
< double > & 
getBasisValues (const panzer::BasisDescriptor &basis_description, const panzer::PointDescriptor &point_description, const bool lazy_version=false) 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...
 
int numCells () const
 Number of total cells in workset (owned, ghost, and virtual) 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 (const int owned_cells, const int ghost_cells, const int virtual_cells)
 Provides access to set numbers of cells (required for backwards compatibility) More...
 

Public Attributes

double alpha
 
double beta
 
double time
 
double step_size
 
double stage_number
 
std::vector< double > gather_seeds
 
bool evaluate_transient_terms
 
Teuchos::RCP< WorksetDetailsother
 
- Public Attributes inherited from panzer::WorksetDetails
int num_cells
 DEPRECATED - use: numCells() More...
 
int subcell_dim
 DEPRECATED - use: getSubcellDimension() More...
 
PHX::View< const int * > cell_local_ids_k
 
std::vector< size_t > cell_local_ids
 
CellCoordArray cell_node_coordinates
 DEPRECATED - use: getCellNodes() More...
 
std::string block_id
 DEPRECATED - use: getElementBlock() More...
 
int subcell_index
 DEPRECATED - use: getSubcellIndex() More...
 
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...
 

Private Attributes

std::size_t identifier_
 

Additional Inherited Members

- Public Types inherited from panzer::WorksetDetails
typedef PHX::MDField< double,
Cell, NODE, Dim
CellCoordArray
 
- Protected Attributes inherited from panzer::WorksetDetails
bool setup_
 
int num_owned_cells_
 
int num_ghost_cells_
 
int num_virtual_cells_
 
int num_dimensions_
 
std::string sideset_
 
WorksetOptions options_
 
Teuchos::RCP< const
shards::CellTopology > 
cell_topology_
 
std::map< size_t, Teuchos::RCP
< const panzer::PureBasis > > 
_pure_basis_map
 
std::map< size_t, Teuchos::RCP
< const
panzer::IntegrationRule > > 
_integration_rule_map
 
std::map< size_t, Teuchos::RCP
< const panzer::PointRule > > 
_point_rule_map
 
std::map< size_t, Teuchos::RCP
< const
panzer::IntegrationValues2
< double > > > 
integration_values_map_
 
std::map< size_t, Teuchos::RCP
< panzer::PointValues2< double > > > 
point_values_map_
 
std::map< size_t, std::map
< size_t, Teuchos::RCP
< panzer::BasisValues2< double > > > > 
basis_integration_values_map_
 
std::map< size_t, std::map
< size_t, Teuchos::RCP
< panzer::BasisValues2< double > > > > 
basis_point_values_map_
 
Teuchos::RCP
< panzer::SubcellConnectivity
face_connectivity_
 

Detailed Description

This is the main workset object. Note that it inherits from WorksetDetails, this is to maintain backwards compatibility in the use of the workset object. The addition of a details vector supports things like DG based assembly.

Definition at line 358 of file Panzer_Workset.hpp.

Constructor & Destructor Documentation

panzer::Workset::Workset ( )
inline

Default constructor, identifier is a useless 0 by default.

Definition at line 361 of file Panzer_Workset.hpp.

panzer::Workset::Workset ( std::size_t  identifier)
inline

Constructor that that requires a unique identifier.

Definition at line 364 of file Panzer_Workset.hpp.

Member Function Documentation

void panzer::Workset::setIdentifier ( std::size_t  identifier)
inline

Set the unique identifier for this workset, this is not an index!

Definition at line 367 of file Panzer_Workset.hpp.

std::size_t panzer::Workset::getIdentifier ( ) const
inline

Get the unique identifier for this workset, this is not an index!

Definition at line 370 of file Panzer_Workset.hpp.

WorksetDetails& panzer::Workset::operator() ( const int  i)
inline

op(0) return *this; op(1) returns *other.

Definition at line 386 of file Panzer_Workset.hpp.

const WorksetDetails& panzer::Workset::operator() ( const int  i) const
inline

const accessor.

Definition at line 391 of file Panzer_Workset.hpp.

WorksetDetails& panzer::Workset::details ( const int  i)
inline

Convenience wrapper to operator() for pointer access.

Definition at line 396 of file Panzer_Workset.hpp.

const WorksetDetails& panzer::Workset::details ( const int  i) const
inline

Definition at line 397 of file Panzer_Workset.hpp.

size_t panzer::Workset::numDetails ( ) const
inline

Return the number of WorksetDetails this Workset holds.

Definition at line 399 of file Panzer_Workset.hpp.

Member Data Documentation

double panzer::Workset::alpha

Definition at line 372 of file Panzer_Workset.hpp.

double panzer::Workset::beta

Definition at line 373 of file Panzer_Workset.hpp.

double panzer::Workset::time

Definition at line 374 of file Panzer_Workset.hpp.

double panzer::Workset::step_size

Definition at line 375 of file Panzer_Workset.hpp.

double panzer::Workset::stage_number

Definition at line 376 of file Panzer_Workset.hpp.

std::vector<double> panzer::Workset::gather_seeds

Definition at line 377 of file Panzer_Workset.hpp.

bool panzer::Workset::evaluate_transient_terms

Definition at line 378 of file Panzer_Workset.hpp.

Teuchos::RCP<WorksetDetails> panzer::Workset::other

other contains details about the side-sharing elements on the other side of the interface. If Teuchos::nonnull(other), then Workset contains two WorksetDetails: itself, and other.

Definition at line 383 of file Panzer_Workset.hpp.

std::size_t panzer::Workset::identifier_
private

Definition at line 402 of file Panzer_Workset.hpp.


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