Panzer  Version of the Day
Public Types | Public Member Functions | Public Attributes | 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)
 
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)
 
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 applyOrientations (const PHX::MDField< Scalar, Cell, BASIS > &orientations)
 Method to apply orientations to a basis values container. More...
 
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::BasisIRLayoutbasis_layout
 
Teuchos::RCP< Intrepid2::Basis< Scalar, ArrayDynamic > > intrepid_basis
 
bool compute_derivatives
 
bool build_weighted
 
bool alloc_arrays
 
std::string prefix
 
std::vector< PHX::index_size_type > ddims_
 

Private Member Functions

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 62 of file Panzer_BasisValues2.hpp.

Member Typedef Documentation

◆ size_type

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 64 of file Panzer_BasisValues2.hpp.

◆ ArrayDynamic

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

Definition at line 66 of file Panzer_BasisValues2.hpp.

◆ Array_BasisIP

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

Definition at line 67 of file Panzer_BasisValues2.hpp.

◆ Array_CellBasisIP

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

Definition at line 68 of file Panzer_BasisValues2.hpp.

◆ Array_BasisIPDim

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

Definition at line 69 of file Panzer_BasisValues2.hpp.

◆ Array_CellBasisIPDim

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

Definition at line 70 of file Panzer_BasisValues2.hpp.

◆ Array_BasisDim

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

Definition at line 71 of file Panzer_BasisValues2.hpp.

◆ Array_CellBasisDim

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

Definition at line 72 of file Panzer_BasisValues2.hpp.

Constructor & Destructor Documentation

◆ BasisValues2()

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

Definition at line 74 of file Panzer_BasisValues2.hpp.

Member Function Documentation

◆ setupArrays()

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 626 of file Panzer_BasisValues2.cpp.

◆ evaluateValues() [1/2]

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 
)

Definition at line 56 of file Panzer_BasisValues2.cpp.

◆ evaluateValues() [2/2]

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 
)

Definition at line 69 of file Panzer_BasisValues2.cpp.

◆ evaluateValuesCV()

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 212 of file Panzer_BasisValues2.cpp.

◆ applyOrientations()

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

Method to apply orientations to a basis values container.

Definition at line 528 of file Panzer_BasisValues2.cpp.

◆ setExtendedDimensions()

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

Definition at line 103 of file Panzer_BasisValues2.hpp.

◆ getElementSpace()

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

Definition at line 621 of file Panzer_BasisValues2.cpp.

◆ evaluateReferenceValues()

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 424 of file Panzer_BasisValues2.cpp.

Member Data Documentation

◆ basis_ref_scalar

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

Definition at line 108 of file Panzer_BasisValues2.hpp.

◆ basis_scalar

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

Definition at line 109 of file Panzer_BasisValues2.hpp.

◆ basis_ref_vector

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

Definition at line 111 of file Panzer_BasisValues2.hpp.

◆ basis_vector

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

Definition at line 112 of file Panzer_BasisValues2.hpp.

◆ grad_basis_ref

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

Definition at line 114 of file Panzer_BasisValues2.hpp.

◆ grad_basis

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

Definition at line 115 of file Panzer_BasisValues2.hpp.

◆ curl_basis_ref_scalar

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

Definition at line 117 of file Panzer_BasisValues2.hpp.

◆ curl_basis_scalar

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

Definition at line 118 of file Panzer_BasisValues2.hpp.

◆ curl_basis_ref_vector

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

Definition at line 120 of file Panzer_BasisValues2.hpp.

◆ curl_basis_vector

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

Definition at line 121 of file Panzer_BasisValues2.hpp.

◆ div_basis_ref

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

Definition at line 123 of file Panzer_BasisValues2.hpp.

◆ div_basis

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

Definition at line 124 of file Panzer_BasisValues2.hpp.

◆ weighted_basis_scalar

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

Definition at line 126 of file Panzer_BasisValues2.hpp.

◆ weighted_basis_vector

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

Definition at line 127 of file Panzer_BasisValues2.hpp.

◆ weighted_grad_basis

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

Definition at line 128 of file Panzer_BasisValues2.hpp.

◆ weighted_curl_basis_scalar

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

Definition at line 129 of file Panzer_BasisValues2.hpp.

◆ weighted_curl_basis_vector

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

Definition at line 130 of file Panzer_BasisValues2.hpp.

◆ weighted_div_basis

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

Definition at line 131 of file Panzer_BasisValues2.hpp.

◆ basis_coordinates_ref

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 138 of file Panzer_BasisValues2.hpp.

◆ basis_coordinates

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 145 of file Panzer_BasisValues2.hpp.

◆ basis_layout

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

Definition at line 147 of file Panzer_BasisValues2.hpp.

◆ intrepid_basis

template<typename Scalar>
Teuchos::RCP<Intrepid2::Basis<Scalar,ArrayDynamic> > panzer::BasisValues2< Scalar >::intrepid_basis

Definition at line 149 of file Panzer_BasisValues2.hpp.

◆ compute_derivatives

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

Definition at line 151 of file Panzer_BasisValues2.hpp.

◆ build_weighted

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

Definition at line 152 of file Panzer_BasisValues2.hpp.

◆ alloc_arrays

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

Definition at line 153 of file Panzer_BasisValues2.hpp.

◆ prefix

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

Definition at line 154 of file Panzer_BasisValues2.hpp.

◆ ddims_

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

Definition at line 155 of file Panzer_BasisValues2.hpp.

◆ references_evaluated

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

Definition at line 164 of file Panzer_BasisValues2.hpp.


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