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 61 of file Panzer_PureBasis.hpp.

Member Enumeration Documentation

Enumerator
HGRAD 
HCURL 
HDIV 
HVOL 
CONST 

Definition at line 64 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 64 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 53 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 74 of file Panzer_PureBasis.cpp.

Member Function Documentation

int panzer::PureBasis::cardinality ( ) const

Returns the number of basis coefficients.

Definition at line 179 of file Panzer_PureBasis.cpp.

int panzer::PureBasis::numCells ( ) const

Returns the number of cells in the data layouts.

Definition at line 184 of file Panzer_PureBasis.cpp.

int panzer::PureBasis::dimension ( ) const

Returns the dimension of the basis from the topology.

Definition at line 189 of file Panzer_PureBasis.cpp.

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

Returns the basis type.

Definition at line 194 of file Panzer_PureBasis.cpp.

int panzer::PureBasis::order ( ) const

Returns the polynomial order of the basis.

Definition at line 199 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 204 of file Panzer_PureBasis.cpp.

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

Definition at line 209 of file Panzer_PureBasis.cpp.

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

Definition at line 214 of file Panzer_PureBasis.cpp.

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

Definition at line 219 of file Panzer_PureBasis.cpp.

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

Definition at line 225 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 118 of file Panzer_PureBasis.hpp.

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

Definition at line 121 of file Panzer_PureBasis.hpp.

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

Definition at line 124 of file Panzer_PureBasis.hpp.

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

Definition at line 129 of file Panzer_PureBasis.hpp.

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

Definition at line 132 of file Panzer_PureBasis.hpp.

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

Definition at line 135 of file Panzer_PureBasis.hpp.

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

Definition at line 138 of file Panzer_PureBasis.hpp.

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

Definition at line 141 of file Panzer_PureBasis.hpp.

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

Definition at line 144 of file Panzer_PureBasis.hpp.

bool panzer::PureBasis::supportsBasisCoordinates ( ) const

Definition at line 231 of file Panzer_PureBasis.cpp.

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

Definition at line 149 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 83 of file Panzer_PureBasis.cpp.

Member Data Documentation

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

<Cell>

Definition at line 154 of file Panzer_PureBasis.hpp.

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

<Cell,Basis> or <Cell,Basis>

Definition at line 156 of file Panzer_PureBasis.hpp.

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

<Cell,Basis,Dim>

Definition at line 158 of file Panzer_PureBasis.hpp.

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

<Cell,Basis,Dim>

Definition at line 160 of file Panzer_PureBasis.hpp.

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

<Cell,Basis,Dim>

Definition at line 162 of file Panzer_PureBasis.hpp.

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

<Cell,Basis,Basis>

Definition at line 164 of file Panzer_PureBasis.hpp.

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

Definition at line 173 of file Panzer_PureBasis.hpp.

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

Definition at line 174 of file Panzer_PureBasis.hpp.

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

Definition at line 176 of file Panzer_PureBasis.hpp.

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

Definition at line 177 of file Panzer_PureBasis.hpp.

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

Definition at line 178 of file Panzer_PureBasis.hpp.

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

Definition at line 179 of file Panzer_PureBasis.hpp.

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

Definition at line 180 of file Panzer_PureBasis.hpp.

int panzer::PureBasis::num_cells_
private

Definition at line 182 of file Panzer_PureBasis.hpp.

EElementSpace panzer::PureBasis::element_space_
private

Definition at line 184 of file Panzer_PureBasis.hpp.

int panzer::PureBasis::basis_rank_
private

Definition at line 185 of file Panzer_PureBasis.hpp.


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