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 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

index_t num_cells
 
int subcell_dim
 
double alpha
 If workset corresponds to a sub cell, what is the dimension? More...
 
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
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...
 

Private Attributes

std::size_t identifier_
 

Additional Inherited Members

- Public Types inherited from panzer::WorksetDetails
typedef PHX::MDField< double,
Cell, NODE, Dim > 
CellCoordArray
 
typedef std::size_t GO
 
typedef int LO
 
- Protected Attributes inherited from panzer::WorksetDetails
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 the main workset object. Not 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 186 of file Panzer_Workset.hpp.

Constructor & Destructor Documentation

panzer::Workset::Workset ( )
inline

Default constructor, identifier is a useless 0 by default.

Definition at line 189 of file Panzer_Workset.hpp.

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

Constructor that that requires a unique identifier.

Definition at line 192 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 195 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 198 of file Panzer_Workset.hpp.

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

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

Definition at line 217 of file Panzer_Workset.hpp.

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

const accessor.

Definition at line 222 of file Panzer_Workset.hpp.

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

Convenience wrapper to operator() for pointer access.

Definition at line 227 of file Panzer_Workset.hpp.

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

Definition at line 228 of file Panzer_Workset.hpp.

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

Return the number of WorksetDetails this Workset holds.

Definition at line 230 of file Panzer_Workset.hpp.

Member Data Documentation

index_t panzer::Workset::num_cells

Definition at line 200 of file Panzer_Workset.hpp.

int panzer::Workset::subcell_dim

Definition at line 201 of file Panzer_Workset.hpp.

double panzer::Workset::alpha

If workset corresponds to a sub cell, what is the dimension?

Definition at line 203 of file Panzer_Workset.hpp.

double panzer::Workset::beta

Definition at line 204 of file Panzer_Workset.hpp.

double panzer::Workset::time

Definition at line 205 of file Panzer_Workset.hpp.

double panzer::Workset::step_size

Definition at line 206 of file Panzer_Workset.hpp.

double panzer::Workset::stage_number

Definition at line 207 of file Panzer_Workset.hpp.

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

Definition at line 208 of file Panzer_Workset.hpp.

bool panzer::Workset::evaluate_transient_terms

Definition at line 209 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 214 of file Panzer_Workset.hpp.

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

Definition at line 233 of file Panzer_Workset.hpp.


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