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 | Private Member Functions | Private Attributes | List of all members
panzer::PureBasis Class Reference

Description and data layouts associated with a particular basis. More...

#include <Panzer_PureBasis.hpp>

Public Types

enum  EElementSpace {
  HGRAD =0, HCURL =1, HDIV =2, HVOL =3,
  CONST =4
}
 

Public Member Functions

 PureBasis (const std::string &basis_type, const int basis_order, const CellData &cell_data)
 
 PureBasis (const std::string &basis_type, const int basis_order, const int num_cells, const Teuchos::RCP< const shards::CellTopology > &cell_topo)
 
 PureBasis (const panzer::BasisDescriptor &description, const Teuchos::RCP< const shards::CellTopology > &cell_topology, const int num_cells)
 
int cardinality () const
 Returns the number of basis coefficients. More...
 
int numCells () const
 Returns the number of cells in the data layouts. More...
 
int dimension () const
 Returns the dimension of the basis from the topology. More...
 
std::string type () const
 Returns the basis type. More...
 
int order () const
 Returns the polynomial order of the basis. More...
 
std::string name () const
 A unique key that is the combination of the basis type and basis order. More...
 
std::string fieldName () const
 
std::string fieldNameD1 () const
 
std::string fieldNameD2 () const
 
Teuchos::RCP< Intrepid2::Basis
< PHX::Device::execution_space,
double, double > > 
getIntrepid2Basis () const
 
template<typename ExecutionSpace , typename OutputValueType , typename PointValueType >
Teuchos::RCP< Intrepid2::Basis
< ExecutionSpace,
OutputValueType,
PointValueType > > 
getIntrepid2Basis () const
 
EElementSpace getElementSpace () const
 
bool requiresOrientations () const
 
bool supportsGrad () const
 
bool supportsCurl () const
 
bool supportsDiv () const
 
bool isVectorBasis () const
 
bool isScalarBasis () const
 
int getBasisRank () const
 
bool supportsBasisCoordinates () const
 
Teuchos::RCP< const
shards::CellTopology > 
getCellTopology () const
 

Public Attributes

Teuchos::RCP< PHX::DataLayoutcell_data
 <Cell> More...
 
Teuchos::RCP< PHX::DataLayoutfunctional
 <Cell,Basis> or <Cell,Basis> More...
 
Teuchos::RCP< PHX::DataLayoutfunctional_grad
 <Cell,Basis,Dim> More...
 
Teuchos::RCP< PHX::DataLayoutfunctional_D2
 <Cell,Basis,Dim> More...
 
Teuchos::RCP< PHX::DataLayoutcoordinates
 <Cell,Basis,Dim> More...
 
Teuchos::RCP< PHX::DataLayoutlocal_mat_layout
 <Cell,Basis,Basis> More...
 

Private Member Functions

void initialize (const std::string &basis_type, const int basis_order)
 Initialize the basis object. More...
 

Private Attributes

Teuchos::RCP< const
shards::CellTopology > 
topology_
 
Teuchos::RCP< Intrepid2::Basis
< PHX::Device::execution_space,
double, double > > 
intrepid_basis_
 
std::string basis_type_
 
std::string basis_name_
 
std::string field_basis_name_
 
std::string field_basis_name_D1_
 
std::string field_basis_name_D2_
 
int num_cells_
 
EElementSpace element_space_
 
int basis_rank_
 

Detailed Description

Description and data layouts associated with a particular basis.

Definition at line 29 of file Panzer_PureBasis.hpp.

Member Enumeration Documentation

Enumerator
HGRAD 
HCURL 
HDIV 
HVOL 
CONST 

Definition at line 32 of file Panzer_PureBasis.hpp.

Constructor & Destructor Documentation

panzer::PureBasis::PureBasis ( const std::string &  basis_type,
const int  basis_order,
const CellData cell_data 
)

Build a basis given a type, order and CellData object

Parameters
[in]basis_typeString name that describes the type of basis ("HGrad", "HDiv", "HCurl", or "HVol")
[in]basis_orderOrder of the basis
[in]cell_dataDescription of the basis

Definition at line 32 of file Panzer_PureBasis.cpp.

panzer::PureBasis::PureBasis ( const std::string &  basis_type,
const int  basis_order,
const int  num_cells,
const Teuchos::RCP< const shards::CellTopology > &  cell_topo 
)

Build a basis given a type, order, number of cells (for data layouts) and shards topology

Parameters
[in]basis_typeString name that describes the type of basis ("HGrad", "HDiv", "HCurl", or "HVol")
[in]basis_orderOrder of the basis
[in]num_cellsNumber of cells used in the data layouts for this basis
[in]cell_topoA shards topology description

Definition at line 21 of file Panzer_PureBasis.cpp.

panzer::PureBasis::PureBasis ( const panzer::BasisDescriptor description,
const Teuchos::RCP< const shards::CellTopology > &  cell_topology,
const int  num_cells 
)

Build a basis given a type, order, number of cells (for data layouts) and shards topology

Parameters
[in]descriptionDescription of basis
[in]cell_topoA shards topology description
[in]num_cellsNumber of cells used in the data layouts for this basis

Definition at line 42 of file Panzer_PureBasis.cpp.

Member Function Documentation

int panzer::PureBasis::cardinality ( ) const

Returns the number of basis coefficients.

Definition at line 147 of file Panzer_PureBasis.cpp.

int panzer::PureBasis::numCells ( ) const

Returns the number of cells in the data layouts.

Definition at line 152 of file Panzer_PureBasis.cpp.

int panzer::PureBasis::dimension ( ) const

Returns the dimension of the basis from the topology.

Definition at line 157 of file Panzer_PureBasis.cpp.

std::string panzer::PureBasis::type ( ) const

Returns the basis type.

Definition at line 162 of file Panzer_PureBasis.cpp.

int panzer::PureBasis::order ( ) const

Returns the polynomial order of the basis.

Definition at line 167 of file Panzer_PureBasis.cpp.

std::string panzer::PureBasis::name ( ) const

A unique key that is the combination of the basis type and basis order.

Definition at line 172 of file Panzer_PureBasis.cpp.

std::string panzer::PureBasis::fieldName ( ) const

Definition at line 177 of file Panzer_PureBasis.cpp.

std::string panzer::PureBasis::fieldNameD1 ( ) const

Definition at line 182 of file Panzer_PureBasis.cpp.

std::string panzer::PureBasis::fieldNameD2 ( ) const

Definition at line 187 of file Panzer_PureBasis.cpp.

Teuchos::RCP< Intrepid2::Basis< PHX::Device::execution_space, double, double > > panzer::PureBasis::getIntrepid2Basis ( ) const

Definition at line 193 of file Panzer_PureBasis.cpp.

template<typename ExecutionSpace , typename OutputValueType , typename PointValueType >
Teuchos::RCP< Intrepid2::Basis<ExecutionSpace,OutputValueType,PointValueType> > panzer::PureBasis::getIntrepid2Basis ( ) const
inline

Definition at line 86 of file Panzer_PureBasis.hpp.

EElementSpace panzer::PureBasis::getElementSpace ( ) const
inline

Definition at line 89 of file Panzer_PureBasis.hpp.

bool panzer::PureBasis::requiresOrientations ( ) const
inline

Definition at line 92 of file Panzer_PureBasis.hpp.

bool panzer::PureBasis::supportsGrad ( ) const
inline

Definition at line 97 of file Panzer_PureBasis.hpp.

bool panzer::PureBasis::supportsCurl ( ) const
inline

Definition at line 100 of file Panzer_PureBasis.hpp.

bool panzer::PureBasis::supportsDiv ( ) const
inline

Definition at line 103 of file Panzer_PureBasis.hpp.

bool panzer::PureBasis::isVectorBasis ( ) const
inline

Definition at line 106 of file Panzer_PureBasis.hpp.

bool panzer::PureBasis::isScalarBasis ( ) const
inline

Definition at line 109 of file Panzer_PureBasis.hpp.

int panzer::PureBasis::getBasisRank ( ) const
inline

Definition at line 112 of file Panzer_PureBasis.hpp.

bool panzer::PureBasis::supportsBasisCoordinates ( ) const

Definition at line 199 of file Panzer_PureBasis.cpp.

Teuchos::RCP<const shards::CellTopology> panzer::PureBasis::getCellTopology ( ) const
inline

Definition at line 117 of file Panzer_PureBasis.hpp.

void panzer::PureBasis::initialize ( const std::string &  basis_type,
const int  basis_order 
)
private

Initialize the basis object.

Definition at line 51 of file Panzer_PureBasis.cpp.

Member Data Documentation

Teuchos::RCP<PHX::DataLayout> panzer::PureBasis::cell_data

<Cell>

Definition at line 122 of file Panzer_PureBasis.hpp.

Teuchos::RCP<PHX::DataLayout> panzer::PureBasis::functional

<Cell,Basis> or <Cell,Basis>

Definition at line 124 of file Panzer_PureBasis.hpp.

Teuchos::RCP<PHX::DataLayout> panzer::PureBasis::functional_grad

<Cell,Basis,Dim>

Definition at line 126 of file Panzer_PureBasis.hpp.

Teuchos::RCP<PHX::DataLayout> panzer::PureBasis::functional_D2

<Cell,Basis,Dim>

Definition at line 128 of file Panzer_PureBasis.hpp.

Teuchos::RCP<PHX::DataLayout> panzer::PureBasis::coordinates

<Cell,Basis,Dim>

Definition at line 130 of file Panzer_PureBasis.hpp.

Teuchos::RCP<PHX::DataLayout> panzer::PureBasis::local_mat_layout

<Cell,Basis,Basis>

Definition at line 132 of file Panzer_PureBasis.hpp.

Teuchos::RCP<const shards::CellTopology> panzer::PureBasis::topology_
private

Definition at line 141 of file Panzer_PureBasis.hpp.

Teuchos::RCP< Intrepid2::Basis<PHX::Device::execution_space,double,double> > panzer::PureBasis::intrepid_basis_
private

Definition at line 142 of file Panzer_PureBasis.hpp.

std::string panzer::PureBasis::basis_type_
private

Definition at line 144 of file Panzer_PureBasis.hpp.

std::string panzer::PureBasis::basis_name_
private

Definition at line 145 of file Panzer_PureBasis.hpp.

std::string panzer::PureBasis::field_basis_name_
private

Definition at line 146 of file Panzer_PureBasis.hpp.

std::string panzer::PureBasis::field_basis_name_D1_
private

Definition at line 147 of file Panzer_PureBasis.hpp.

std::string panzer::PureBasis::field_basis_name_D2_
private

Definition at line 148 of file Panzer_PureBasis.hpp.

int panzer::PureBasis::num_cells_
private

Definition at line 150 of file Panzer_PureBasis.hpp.

EElementSpace panzer::PureBasis::element_space_
private

Definition at line 152 of file Panzer_PureBasis.hpp.

int panzer::PureBasis::basis_rank_
private

Definition at line 153 of file Panzer_PureBasis.hpp.


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