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 >
>::size_type 
size_type
 
typedef PHX::MDField< Scalar > ArrayDynamic
 
typedef PHX::MDField< Scalar,
BASIS, IP
Array_BasisIP
 
typedef PHX::MDField< Scalar,
Cell, BASIS, IP
Array_CellBasisIP
 
typedef PHX::MDField< Scalar,
BASIS, IP, Dim
Array_BasisIPDim
 
typedef PHX::MDField< Scalar,
Cell, BASIS, IP, Dim
Array_CellBasisIPDim
 
typedef PHX::MDField< Scalar,
BASIS, Dim
Array_BasisDim
 
typedef PHX::MDField< Scalar,
Cell, BASIS, Dim
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 > &cub_points, const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &jac, const PHX::MDField< Scalar, Cell, IP > &jac_det, const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &jac_inv, const int in_num_cells=-1)
 
void evaluateValues (const PHX::MDField< Scalar, IP, Dim > &cub_points, const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &jac, const PHX::MDField< Scalar, Cell, IP > &jac_det, const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &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 > &cell_cub_points, const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &jac, const PHX::MDField< Scalar, Cell, IP > &jac_det, const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &jac_inv)
 
void evaluateValuesCV (const PHX::MDField< Scalar, Cell, IP, Dim > &cell_cub_points, const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &jac, const PHX::MDField< Scalar, Cell, IP > &jac_det, const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &jac_inv, const PHX::MDField< Scalar, Cell, NODE, Dim > &vertex_coordinates, bool use_vertex_coordinates=true, const int in_num_cells=-1)
 
void evaluateValues (const PHX::MDField< Scalar, Cell, IP, Dim > &cub_points, const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &jac, const PHX::MDField< Scalar, Cell, IP > &jac_det, const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &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 > &cub_points, const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &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 > &cub_points, const PHX::MDField< Scalar, Cell, IP > &jac_det, const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &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 > &cub_points, const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &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 > &cub_points, const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &jac, const PHX::MDField< Scalar, Cell, IP > &jac_det, const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &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 > &cub_points, const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &jac, const PHX::MDField< Scalar, Cell, IP > &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> >::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> panzer::BasisValues2< Scalar >::Array_BasisIP

Definition at line 68 of file Panzer_BasisValues2.hpp.

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

Definition at line 69 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
typedef PHX::MDField<Scalar,BASIS,IP,Dim> 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> panzer::BasisValues2< Scalar >::Array_CellBasisIPDim

Definition at line 71 of file Panzer_BasisValues2.hpp.

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

Definition at line 72 of file Panzer_BasisValues2.hpp.

template<typename Scalar>
typedef PHX::MDField<Scalar,Cell,BASIS,Dim> 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 1555 of file Panzer_BasisValues2_impl.hpp.

template<typename Scalar >
void panzer::BasisValues2< Scalar >::evaluateValues ( const PHX::MDField< Scalar, IP, Dim > &  cub_points,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &  jac,
const PHX::MDField< Scalar, Cell, IP > &  jac_det,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &  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 > &  cub_points,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &  jac,
const PHX::MDField< Scalar, Cell, IP > &  jac_det,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &  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 > &  cell_cub_points,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &  jac,
const PHX::MDField< Scalar, Cell, IP > &  jac_det,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &  jac_inv 
)

Definition at line 784 of file Panzer_BasisValues2_impl.hpp.

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

Definition at line 798 of file Panzer_BasisValues2_impl.hpp.

template<typename Scalar >
void panzer::BasisValues2< Scalar >::evaluateValues ( const PHX::MDField< Scalar, Cell, IP, Dim > &  cub_points,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &  jac,
const PHX::MDField< Scalar, Cell, IP > &  jac_det,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &  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 1454 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 1160 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 131 of file Panzer_BasisValues2.hpp.

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

Definition at line 1550 of file Panzer_BasisValues2_impl.hpp.

template<typename Scalar >
void panzer::BasisValues2< Scalar >::evaluateValues_Const ( const PHX::MDField< Scalar, Cell, IP, Dim > &  cub_points,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &  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 > &  cub_points,
const PHX::MDField< Scalar, Cell, IP > &  jac_det,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &  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 > &  cub_points,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &  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 > &  cub_points,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &  jac,
const PHX::MDField< Scalar, Cell, IP > &  jac_det,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &  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 > &  cub_points,
const PHX::MDField< Scalar, Cell, IP, Dim, Dim > &  jac,
const PHX::MDField< Scalar, Cell, IP > &  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 1048 of file Panzer_BasisValues2_impl.hpp.

Member Data Documentation

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

Definition at line 136 of file Panzer_BasisValues2.hpp.

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

Definition at line 137 of file Panzer_BasisValues2.hpp.

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

Definition at line 139 of file Panzer_BasisValues2.hpp.

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

Definition at line 140 of file Panzer_BasisValues2.hpp.

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

Definition at line 142 of file Panzer_BasisValues2.hpp.

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

Definition at line 143 of file Panzer_BasisValues2.hpp.

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

Definition at line 145 of file Panzer_BasisValues2.hpp.

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

Definition at line 146 of file Panzer_BasisValues2.hpp.

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

Definition at line 148 of file Panzer_BasisValues2.hpp.

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

Definition at line 149 of file Panzer_BasisValues2.hpp.

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

Definition at line 151 of file Panzer_BasisValues2.hpp.

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

Definition at line 152 of file Panzer_BasisValues2.hpp.

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

Definition at line 154 of file Panzer_BasisValues2.hpp.

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

Definition at line 155 of file Panzer_BasisValues2.hpp.

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

Definition at line 156 of file Panzer_BasisValues2.hpp.

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

Definition at line 157 of file Panzer_BasisValues2.hpp.

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

Definition at line 158 of file Panzer_BasisValues2.hpp.

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

Definition at line 159 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 166 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 173 of file Panzer_BasisValues2.hpp.

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

Definition at line 175 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 177 of file Panzer_BasisValues2.hpp.

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

Definition at line 179 of file Panzer_BasisValues2.hpp.

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

Definition at line 180 of file Panzer_BasisValues2.hpp.

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

Definition at line 181 of file Panzer_BasisValues2.hpp.

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

Definition at line 182 of file Panzer_BasisValues2.hpp.

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

Definition at line 183 of file Panzer_BasisValues2.hpp.

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

Definition at line 228 of file Panzer_BasisValues2.hpp.


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