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

#include <Panzer_BasisValues2.hpp>

Public Types

typedef ArrayTraits< Scalar,
PHX::MDField< Scalar, void,
void, void, void, void, void,
void, void > >::size_type 
size_type
 
typedef PHX::MDField< Scalar > ArrayDynamic
 
typedef PHX::MDField< Scalar,
BASIS, IP, void, void, void,
void, void, void > 
Array_BasisIP
 
typedef PHX::MDField< Scalar,
Cell, BASIS, IP, void, void,
void, void, void > 
Array_CellBasisIP
 
typedef PHX::MDField< Scalar,
BASIS, IP, Dim, void, void,
void, void, void > 
Array_BasisIPDim
 
typedef PHX::MDField< Scalar,
Cell, BASIS, IP, Dim, void,
void, void, void > 
Array_CellBasisIPDim
 
typedef PHX::MDField< Scalar,
BASIS, Dim, void, void, void,
void, void, void > 
Array_BasisDim
 
typedef PHX::MDField< Scalar,
Cell, BASIS, Dim, void, void,
void, void, void > 
Array_CellBasisDim
 

Public Member Functions

 BasisValues2 (const std::string &pre="", bool allocArrays=false, bool buildWeighted=false)
 
void setupArrays (const Teuchos::RCP< const panzer::BasisIRLayout > &basis, bool computeDerivatives=true)
 Sizes/allocates memory for arrays. More...
 
void evaluateValues (const PHX::MDField< Scalar, IP, Dim, void, void, void, void, void, void > &cub_points, const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &jac, const PHX::MDField< Scalar, Cell, IP, void, void, void, void, void, void > &jac_det, const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &jac_inv, const int in_num_cells=-1)
 
void evaluateValues (const PHX::MDField< Scalar, IP, Dim, void, void, void, void, void, void > &cub_points, const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &jac, const PHX::MDField< Scalar, Cell, IP, void, void, void, void, void, void > &jac_det, const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &jac_inv, const PHX::MDField< Scalar, Cell, IP > &weighted_measure, const PHX::MDField< Scalar, Cell, NODE, Dim > &vertex_coordinates, bool use_vertex_coordinates=true, const int in_num_cells=-1)
 
void evaluateValuesCV (const PHX::MDField< Scalar, Cell, IP, Dim, void, void, void, void, void > &cell_cub_points, const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &jac, const PHX::MDField< Scalar, Cell, IP, void, void, void, void, void, void > &jac_det, const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &jac_inv)
 
void evaluateValues (const PHX::MDField< Scalar, Cell, IP, Dim, void, void, void, void, void > &cub_points, const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &jac, const PHX::MDField< Scalar, Cell, IP, void, void, void, void, void, void > &jac_det, const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &jac_inv, const PHX::MDField< Scalar, Cell, IP > &weighted_measure, const PHX::MDField< Scalar, Cell, NODE, Dim > &vertex_coordinates, bool use_vertex_coordinates=true, const int in_num_cells=-1)
 
void applyOrientations (const PHX::MDField< const Scalar, Cell, BASIS > &orientations)
 Method to apply orientations to a basis values container. More...
 
void applyOrientations (const std::vector< Intrepid2::Orientation > &orientations, const int in_num_cells=-1)
 
void setExtendedDimensions (const std::vector< PHX::index_size_type > &ddims)
 
PureBasis::EElementSpace getElementSpace () const
 

Public Attributes

Array_BasisIP basis_ref_scalar
 
Array_CellBasisIP basis_scalar
 
Array_BasisIPDim basis_ref_vector
 
Array_CellBasisIPDim basis_vector
 
Array_BasisIPDim grad_basis_ref
 
Array_CellBasisIPDim grad_basis
 
Array_BasisIP curl_basis_ref_scalar
 
Array_CellBasisIP curl_basis_scalar
 
Array_BasisIPDim curl_basis_ref_vector
 
Array_CellBasisIPDim curl_basis_vector
 
Array_BasisIP div_basis_ref
 
Array_CellBasisIP div_basis
 
Array_CellBasisIP weighted_basis_scalar
 
Array_CellBasisIPDim weighted_basis_vector
 
Array_CellBasisIPDim weighted_grad_basis
 
Array_CellBasisIP weighted_curl_basis_scalar
 
Array_CellBasisIPDim weighted_curl_basis_vector
 
Array_CellBasisIP weighted_div_basis
 
Array_BasisDim basis_coordinates_ref
 
Array_CellBasisDim basis_coordinates
 
Teuchos::RCP< const
panzer::BasisIRLayout
basis_layout
 
Teuchos::RCP< Intrepid2::Basis
< PHX::Device::execution_space,
Scalar, Scalar > > 
intrepid_basis
 
bool compute_derivatives
 
bool build_weighted
 
bool alloc_arrays
 
std::string prefix
 
std::vector< PHX::index_size_type > ddims_
 

Protected Member Functions

void evaluateValues_Const (const PHX::MDField< Scalar, Cell, IP, Dim, void, void, void, void, void > &cub_points, const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &jac_inv, const PHX::MDField< Scalar, Cell, IP > &weighted_measure, const int in_num_cells)
 
void evaluateValues_HVol (const PHX::MDField< Scalar, Cell, IP, Dim, void, void, void, void, void > &cub_points, const PHX::MDField< Scalar, Cell, IP, void, void, void, void, void, void > &jac_det, const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &jac_inv, const PHX::MDField< Scalar, Cell, IP > &weighted_measure, const int in_num_cells)
 
void evaluateValues_HGrad (const PHX::MDField< Scalar, Cell, IP, Dim, void, void, void, void, void > &cub_points, const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &jac_inv, const PHX::MDField< Scalar, Cell, IP > &weighted_measure, const int in_num_cells)
 
void evaluateValues_HCurl (const PHX::MDField< Scalar, Cell, IP, Dim, void, void, void, void, void > &cub_points, const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &jac, const PHX::MDField< Scalar, Cell, IP, void, void, void, void, void, void > &jac_det, const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &jac_inv, const PHX::MDField< Scalar, Cell, IP > &weighted_measure, const int in_num_cells)
 
void evaluateValues_HDiv (const PHX::MDField< Scalar, Cell, IP, Dim, void, void, void, void, void > &cub_points, const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &jac, const PHX::MDField< Scalar, Cell, IP, void, void, void, void, void, void > &jac_det, const PHX::MDField< Scalar, Cell, IP > &weighted_measure, const int in_num_cells)
 

Private Member Functions

void evaluateBasisCoordinates (const PHX::MDField< Scalar, Cell, NODE, Dim > &vertex_coordinates, const int in_num_cells=-1)
 
void evaluateReferenceValues (const PHX::MDField< Scalar, IP, Dim > &cub_points, bool compute_derivatives, bool use_vertex_coordinates)
 

Private Attributes

bool references_evaluated
 

Detailed Description

template<typename Scalar>
class panzer::BasisValues2< Scalar >

Data structure that holds all evaluated fields associated with a basis fucntion and integration rule. This class will allocate the memory and evaluate the basis functions. The orientations must be applied using the applyOrientations method.

Definition at line 63 of file Panzer_BasisValues2.hpp.

Member Typedef Documentation

template<typename Scalar>
typedef ArrayTraits<Scalar,PHX::MDField<Scalar,void,void,void,void,void,void,void,void> >::size_type panzer::BasisValues2< Scalar >::size_type

Definition at line 65 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
typedef PHX::MDField<Scalar> panzer::BasisValues2< Scalar >::ArrayDynamic

Definition at line 67 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
typedef PHX::MDField<Scalar,BASIS,IP,void,void,void,void,void,void> panzer::BasisValues2< Scalar >::Array_BasisIP

Definition at line 68 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
typedef PHX::MDField<Scalar,Cell,BASIS,IP,void,void,void,void,void> panzer::BasisValues2< Scalar >::Array_CellBasisIP

Definition at line 69 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
typedef PHX::MDField<Scalar,BASIS,IP,Dim,void,void,void,void,void> panzer::BasisValues2< Scalar >::Array_BasisIPDim

Definition at line 70 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
typedef PHX::MDField<Scalar,Cell,BASIS,IP,Dim,void,void,void,void> panzer::BasisValues2< Scalar >::Array_CellBasisIPDim

Definition at line 71 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
typedef PHX::MDField<Scalar,BASIS,Dim,void,void,void,void,void,void> panzer::BasisValues2< Scalar >::Array_BasisDim

Definition at line 72 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
typedef PHX::MDField<Scalar,Cell,BASIS,Dim,void,void,void,void,void> panzer::BasisValues2< Scalar >::Array_CellBasisDim

Definition at line 73 of file Panzer_BasisValues2.hpp.

Constructor & Destructor Documentation

template<typename Scalar>
panzer::BasisValues2< Scalar >::BasisValues2 ( const std::string &  pre = "",
bool  allocArrays = false,
bool  buildWeighted = false 
)
inline

Definition at line 75 of file Panzer_BasisValues2.hpp.

Member Function Documentation

template<typename Scalar >
void panzer::BasisValues2< Scalar >::setupArrays ( const Teuchos::RCP< const panzer::BasisIRLayout > &  basis,
bool  computeDerivatives = true 
)

Sizes/allocates memory for arrays.

Definition at line 1575 of file Panzer_BasisValues2_impl.hpp.

template<typename Scalar >
void panzer::BasisValues2< Scalar >::evaluateValues ( const PHX::MDField< Scalar, IP, Dim, void, void, void, void, void, void > &  cub_points,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &  jac,
const PHX::MDField< Scalar, Cell, IP, void, void, void, void, void, void > &  jac_det,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &  jac_inv,
const int  in_num_cells = -1 
)

Definition at line 59 of file Panzer_BasisValues2_impl.hpp.

template<typename Scalar >
void panzer::BasisValues2< Scalar >::evaluateValues ( const PHX::MDField< Scalar, IP, Dim, void, void, void, void, void, void > &  cub_points,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &  jac,
const PHX::MDField< Scalar, Cell, IP, void, void, void, void, void, void > &  jac_det,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &  jac_inv,
const PHX::MDField< Scalar, Cell, IP > &  weighted_measure,
const PHX::MDField< Scalar, Cell, NODE, Dim > &  vertex_coordinates,
bool  use_vertex_coordinates = true,
const int  in_num_cells = -1 
)

Definition at line 73 of file Panzer_BasisValues2_impl.hpp.

template<typename Scalar >
void panzer::BasisValues2< Scalar >::evaluateValuesCV ( const PHX::MDField< Scalar, Cell, IP, Dim, void, void, void, void, void > &  cell_cub_points,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &  jac,
const PHX::MDField< Scalar, Cell, IP, void, void, void, void, void, void > &  jac_det,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &  jac_inv 
)

Definition at line 826 of file Panzer_BasisValues2_impl.hpp.

template<typename Scalar >
void panzer::BasisValues2< Scalar >::evaluateValues ( const PHX::MDField< Scalar, Cell, IP, Dim, void, void, void, void, void > &  cub_points,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &  jac,
const PHX::MDField< Scalar, Cell, IP, void, void, void, void, void, void > &  jac_det,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &  jac_inv,
const PHX::MDField< Scalar, Cell, IP > &  weighted_measure,
const PHX::MDField< Scalar, Cell, NODE, Dim > &  vertex_coordinates,
bool  use_vertex_coordinates = true,
const int  in_num_cells = -1 
)

Definition at line 310 of file Panzer_BasisValues2_impl.hpp.

template<typename Scalar >
void panzer::BasisValues2< Scalar >::applyOrientations ( const PHX::MDField< const Scalar, Cell, BASIS > &  orientations)

Method to apply orientations to a basis values container.

Definition at line 1474 of file Panzer_BasisValues2_impl.hpp.

template<typename Scalar >
void panzer::BasisValues2< Scalar >::applyOrientations ( const std::vector< Intrepid2::Orientation > &  orientations,
const int  in_num_cells = -1 
)

HGRAD elements

hcurl 2d elements

hcurl 3d elements

hdiv elements (2d and 3d)

Definition at line 1180 of file Panzer_BasisValues2_impl.hpp.

template<typename Scalar>
void panzer::BasisValues2< Scalar >::setExtendedDimensions ( const std::vector< PHX::index_size_type > &  ddims)
inline

Definition at line 121 of file Panzer_BasisValues2.hpp.

template<typename Scalar >
PureBasis::EElementSpace panzer::BasisValues2< Scalar >::getElementSpace ( ) const

Definition at line 1570 of file Panzer_BasisValues2_impl.hpp.

template<typename Scalar >
void panzer::BasisValues2< Scalar >::evaluateValues_Const ( const PHX::MDField< Scalar, Cell, IP, Dim, void, void, void, void, void > &  cub_points,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &  jac_inv,
const PHX::MDField< Scalar, Cell, IP > &  weighted_measure,
const int  in_num_cells 
)
protected

Definition at line 345 of file Panzer_BasisValues2_impl.hpp.

template<typename Scalar >
void panzer::BasisValues2< Scalar >::evaluateValues_HVol ( const PHX::MDField< Scalar, Cell, IP, Dim, void, void, void, void, void > &  cub_points,
const PHX::MDField< Scalar, Cell, IP, void, void, void, void, void, void > &  jac_det,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &  jac_inv,
const PHX::MDField< Scalar, Cell, IP > &  weighted_measure,
const int  in_num_cells 
)
protected

Definition at line 430 of file Panzer_BasisValues2_impl.hpp.

template<typename Scalar >
void panzer::BasisValues2< Scalar >::evaluateValues_HGrad ( const PHX::MDField< Scalar, Cell, IP, Dim, void, void, void, void, void > &  cub_points,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &  jac_inv,
const PHX::MDField< Scalar, Cell, IP > &  weighted_measure,
const int  in_num_cells 
)
protected

Definition at line 495 of file Panzer_BasisValues2_impl.hpp.

template<typename Scalar >
void panzer::BasisValues2< Scalar >::evaluateValues_HCurl ( const PHX::MDField< Scalar, Cell, IP, Dim, void, void, void, void, void > &  cub_points,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &  jac,
const PHX::MDField< Scalar, Cell, IP, void, void, void, void, void, void > &  jac_det,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &  jac_inv,
const PHX::MDField< Scalar, Cell, IP > &  weighted_measure,
const int  in_num_cells 
)
protected

Definition at line 579 of file Panzer_BasisValues2_impl.hpp.

template<typename Scalar >
void panzer::BasisValues2< Scalar >::evaluateValues_HDiv ( const PHX::MDField< Scalar, Cell, IP, Dim, void, void, void, void, void > &  cub_points,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim, void, void, void, void > &  jac,
const PHX::MDField< Scalar, Cell, IP, void, void, void, void, void, void > &  jac_det,
const PHX::MDField< Scalar, Cell, IP > &  weighted_measure,
const int  in_num_cells 
)
protected

Definition at line 698 of file Panzer_BasisValues2_impl.hpp.

template<typename Scalar >
void panzer::BasisValues2< Scalar >::evaluateBasisCoordinates ( const PHX::MDField< Scalar, Cell, NODE, Dim > &  vertex_coordinates,
const int  in_num_cells = -1 
)
private

Definition at line 274 of file Panzer_BasisValues2_impl.hpp.

template<typename Scalar >
void panzer::BasisValues2< Scalar >::evaluateReferenceValues ( const PHX::MDField< Scalar, IP, Dim > &  cub_points,
bool  compute_derivatives,
bool  use_vertex_coordinates 
)
private

Evaluate the reference values for the basis functions needed

Node after this call references_evaluated=true

Definition at line 1068 of file Panzer_BasisValues2_impl.hpp.

Member Data Documentation

template<typename Scalar>
Array_BasisIP panzer::BasisValues2< Scalar >::basis_ref_scalar

Definition at line 126 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
Array_CellBasisIP panzer::BasisValues2< Scalar >::basis_scalar

Definition at line 127 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
Array_BasisIPDim panzer::BasisValues2< Scalar >::basis_ref_vector

Definition at line 129 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
Array_CellBasisIPDim panzer::BasisValues2< Scalar >::basis_vector

Definition at line 130 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
Array_BasisIPDim panzer::BasisValues2< Scalar >::grad_basis_ref

Definition at line 132 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
Array_CellBasisIPDim panzer::BasisValues2< Scalar >::grad_basis

Definition at line 133 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
Array_BasisIP panzer::BasisValues2< Scalar >::curl_basis_ref_scalar

Definition at line 135 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
Array_CellBasisIP panzer::BasisValues2< Scalar >::curl_basis_scalar

Definition at line 136 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
Array_BasisIPDim panzer::BasisValues2< Scalar >::curl_basis_ref_vector

Definition at line 138 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
Array_CellBasisIPDim panzer::BasisValues2< Scalar >::curl_basis_vector

Definition at line 139 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
Array_BasisIP panzer::BasisValues2< Scalar >::div_basis_ref

Definition at line 141 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
Array_CellBasisIP panzer::BasisValues2< Scalar >::div_basis

Definition at line 142 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
Array_CellBasisIP panzer::BasisValues2< Scalar >::weighted_basis_scalar

Definition at line 144 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
Array_CellBasisIPDim panzer::BasisValues2< Scalar >::weighted_basis_vector

Definition at line 145 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
Array_CellBasisIPDim panzer::BasisValues2< Scalar >::weighted_grad_basis

Definition at line 146 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
Array_CellBasisIP panzer::BasisValues2< Scalar >::weighted_curl_basis_scalar

Definition at line 147 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
Array_CellBasisIPDim panzer::BasisValues2< Scalar >::weighted_curl_basis_vector

Definition at line 148 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
Array_CellBasisIP panzer::BasisValues2< Scalar >::weighted_div_basis

Definition at line 149 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
Array_BasisDim panzer::BasisValues2< Scalar >::basis_coordinates_ref

Carterisan coordinates for basis coefficients

NOTE: This quantity is not always available. Certain bases may not have a corresponding coordiante value

Definition at line 156 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
Array_CellBasisDim panzer::BasisValues2< Scalar >::basis_coordinates

Carterisan coordinates for basis coefficients

NOTE: This quantity is not always available. Certain bases may not have a corresponding coordiante value

Definition at line 163 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
Teuchos::RCP<const panzer::BasisIRLayout> panzer::BasisValues2< Scalar >::basis_layout

Definition at line 165 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
Teuchos::RCP<Intrepid2::Basis<PHX::Device::execution_space,Scalar,Scalar> > panzer::BasisValues2< Scalar >::intrepid_basis

Definition at line 167 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
bool panzer::BasisValues2< Scalar >::compute_derivatives

Definition at line 169 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
bool panzer::BasisValues2< Scalar >::build_weighted

Definition at line 170 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
bool panzer::BasisValues2< Scalar >::alloc_arrays

Definition at line 171 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
std::string panzer::BasisValues2< Scalar >::prefix

Definition at line 172 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
std::vector<PHX::index_size_type> panzer::BasisValues2< Scalar >::ddims_

Definition at line 173 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
bool panzer::BasisValues2< Scalar >::references_evaluated
private

Definition at line 218 of file Panzer_BasisValues2.hpp.


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