Panzer  Version of the Day
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
panzer::IntegrationValues2< Scalar > Class Template Reference

#include <Panzer_IntegrationValues2.hpp>

Public Types

typedef ArrayTraits< Scalar, PHX::MDField< Scalar > >::size_type size_type
 
typedef PHX::MDField< Scalar > ArrayDynamic
 
typedef PHX::MDField< double > DblArrayDynamic
 
typedef PHX::MDField< Scalar, IP > Array_IP
 
typedef PHX::MDField< Scalar, IP, Dim > Array_IPDim
 
typedef PHX::MDField< Scalar, Point > Array_Point
 
typedef PHX::MDField< Scalar, Cell, IP > Array_CellIP
 
typedef PHX::MDField< Scalar, Cell, IP, Dim > Array_CellIPDim
 
typedef PHX::MDField< Scalar, Cell, IP, Dim, Dim > Array_CellIPDimDim
 
typedef PHX::MDField< Scalar, Cell, BASIS, Dim > Array_CellBASISDim
 

Public Member Functions

 IntegrationValues2 (const std::string &pre="", bool allocArrays=false)
 
void setupArrays (const Teuchos::RCP< const panzer::IntegrationRule > &ir)
 Sizes/allocates memory for arrays. More...
 
void setupArraysForNodeRule (const Teuchos::RCP< const panzer::IntegrationRule > &ir)
 
void evaluateValues (const PHX::MDField< Scalar, Cell, NODE, Dim > &vertex_coordinates)
 Cell vertex coordinates, not basis coordinates. More...
 
void evaluateValues (const PHX::MDField< Scalar, Cell, NODE, Dim > &vertex_coordinates, const PHX::MDField< Scalar, Cell, IP, Dim > &other_ip_coordinates)
 Match IP. More...
 
void swapQuadraturePoints (int cell, int a, int b)
 Swap the ordering of quadrature points in a specified cell. More...
 

Static Public Member Functions

static void uniqueCoordOrdering (Array_CellIPDim &coords, int cell, int offset, std::vector< int > &order)
 Using coordinate build an arrray that specifies a unique ordering. More...
 

Public Attributes

Array_IPDim cub_points
 
Array_IPDim side_cub_points
 
Array_IP cub_weights
 
Array_CellBASISDim node_coordinates
 
Array_CellIPDimDim jac
 
Array_CellIPDimDim jac_inv
 
Array_CellIP jac_det
 
Array_CellIP weighted_measure
 
Array_CellIPDim weighted_normals
 
Array_CellIPDim surface_normals
 
Array_CellIPDimDim surface_rotation_matrices
 
Teuchos::RCP< const panzer::IntegrationRuleint_rule
 
Teuchos::RCP< Intrepid2::Cubature< PHX::Device::execution_space, double, double > > intrepid_cubature
 
Array_CellIPDimDim covarient
 
Array_CellIPDimDim contravarient
 
Array_CellIP norm_contravarient
 
Array_CellIPDim ip_coordinates
 
Array_CellIPDim ref_ip_coordinates
 
DblArrayDynamic dyn_cub_points
 
DblArrayDynamic dyn_side_cub_points
 
DblArrayDynamic dyn_cub_weights
 
DblArrayDynamic dyn_phys_cub_points
 
DblArrayDynamic dyn_phys_cub_weights
 
DblArrayDynamic dyn_phys_cub_norms
 
DblArrayDynamic dyn_node_coordinates
 
Array_Point scratch_for_compute_side_measure
 

Protected Member Functions

Teuchos::RCP< Intrepid2::Cubature< PHX::Device::execution_space, double, double > > getIntrepidCubature (const panzer::IntegrationRule &ir) const
 

Private Member Functions

void generateSurfaceCubatureValues (const PHX::MDField< Scalar, Cell, NODE, Dim > &in_node_coordinates)
 
void getCubature (const PHX::MDField< Scalar, Cell, NODE, Dim > &in_node_coordinates)
 
void getCubatureCV (const PHX::MDField< Scalar, Cell, NODE, Dim > &in_node_coordinates)
 
void evaluateRemainingValues (const PHX::MDField< Scalar, Cell, NODE, Dim > &in_node_coordinates)
 
void evaluateValuesCV (const PHX::MDField< Scalar, Cell, NODE, Dim > &vertex_coordinates)
 

Private Attributes

bool alloc_arrays
 
std::string prefix
 
std::vector< PHX::index_size_type > ddims_
 

Detailed Description

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

Definition at line 59 of file Panzer_IntegrationValues2.hpp.

Member Typedef Documentation

◆ size_type

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

Definition at line 61 of file Panzer_IntegrationValues2.hpp.

◆ ArrayDynamic

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

Definition at line 63 of file Panzer_IntegrationValues2.hpp.

◆ DblArrayDynamic

template<typename Scalar>
typedef PHX::MDField<double> panzer::IntegrationValues2< Scalar >::DblArrayDynamic

Definition at line 64 of file Panzer_IntegrationValues2.hpp.

◆ Array_IP

template<typename Scalar>
typedef PHX::MDField<Scalar,IP> panzer::IntegrationValues2< Scalar >::Array_IP

Definition at line 66 of file Panzer_IntegrationValues2.hpp.

◆ Array_IPDim

template<typename Scalar>
typedef PHX::MDField<Scalar,IP,Dim> panzer::IntegrationValues2< Scalar >::Array_IPDim

Definition at line 67 of file Panzer_IntegrationValues2.hpp.

◆ Array_Point

template<typename Scalar>
typedef PHX::MDField<Scalar,Point> panzer::IntegrationValues2< Scalar >::Array_Point

Definition at line 69 of file Panzer_IntegrationValues2.hpp.

◆ Array_CellIP

template<typename Scalar>
typedef PHX::MDField<Scalar,Cell,IP> panzer::IntegrationValues2< Scalar >::Array_CellIP

Definition at line 70 of file Panzer_IntegrationValues2.hpp.

◆ Array_CellIPDim

template<typename Scalar>
typedef PHX::MDField<Scalar,Cell,IP,Dim> panzer::IntegrationValues2< Scalar >::Array_CellIPDim

Definition at line 71 of file Panzer_IntegrationValues2.hpp.

◆ Array_CellIPDimDim

template<typename Scalar>
typedef PHX::MDField<Scalar,Cell,IP,Dim,Dim> panzer::IntegrationValues2< Scalar >::Array_CellIPDimDim

Definition at line 72 of file Panzer_IntegrationValues2.hpp.

◆ Array_CellBASISDim

template<typename Scalar>
typedef PHX::MDField<Scalar,Cell,BASIS,Dim> panzer::IntegrationValues2< Scalar >::Array_CellBASISDim

Definition at line 74 of file Panzer_IntegrationValues2.hpp.

Constructor & Destructor Documentation

◆ IntegrationValues2()

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

Definition at line 76 of file Panzer_IntegrationValues2.hpp.

Member Function Documentation

◆ setupArrays()

template<typename Scalar >
void panzer::IntegrationValues2< Scalar >::setupArrays ( const Teuchos::RCP< const panzer::IntegrationRule > &  ir)

Sizes/allocates memory for arrays.

Definition at line 131 of file Panzer_IntegrationValues2.cpp.

◆ setupArraysForNodeRule()

template<typename Scalar >
void panzer::IntegrationValues2< Scalar >::setupArraysForNodeRule ( const Teuchos::RCP< const panzer::IntegrationRule > &  ir)

Definition at line 69 of file Panzer_IntegrationValues2.cpp.

◆ evaluateValues() [1/2]

template<typename Scalar >
void panzer::IntegrationValues2< Scalar >::evaluateValues ( const PHX::MDField< Scalar, Cell, NODE, Dim > &  vertex_coordinates)

Cell vertex coordinates, not basis coordinates.

Definition at line 263 of file Panzer_IntegrationValues2.cpp.

◆ evaluateValues() [2/2]

template<typename Scalar >
void panzer::IntegrationValues2< Scalar >::evaluateValues ( const PHX::MDField< Scalar, Cell, NODE, Dim > &  vertex_coordinates,
const PHX::MDField< Scalar, Cell, IP, Dim > &  other_ip_coordinates 
)

Match IP.

Definition at line 983 of file Panzer_IntegrationValues2.cpp.

◆ uniqueCoordOrdering()

template<typename Scalar >
void panzer::IntegrationValues2< Scalar >::uniqueCoordOrdering ( Array_CellIPDim coords,
int  cell,
int  offset,
std::vector< int > &  order 
)
static

Using coordinate build an arrray that specifies a unique ordering.

Used for side integration points. Compute a unique ordering in a cell and point offset.

Parameters
[in]coordsCoordinates array (cell,IP,Dim)
[in]cellCell index
[in]offsetOffset into the points
[out]orderOrdering array on output, correctly sized on input (offset + order.size() <= coords.extent(1))

Definition at line 550 of file Panzer_IntegrationValues2.cpp.

◆ swapQuadraturePoints()

template<typename Scalar >
void panzer::IntegrationValues2< Scalar >::swapQuadraturePoints ( int  cell,
int  a,
int  b 
)

Swap the ordering of quadrature points in a specified cell.

Parameters
[in]cellCell index
[in]aQuadrature point a
[in]bQuadrature point b

Definition at line 502 of file Panzer_IntegrationValues2.cpp.

◆ getIntrepidCubature()

template<typename Scalar >
Teuchos::RCP< Intrepid2::Cubature< PHX::Device::execution_space, double, double > > panzer::IntegrationValues2< Scalar >::getIntrepidCubature ( const panzer::IntegrationRule ir) const
protected

Definition at line 229 of file Panzer_IntegrationValues2.cpp.

◆ generateSurfaceCubatureValues()

template<typename Scalar >
void panzer::IntegrationValues2< Scalar >::generateSurfaceCubatureValues ( const PHX::MDField< Scalar, Cell, NODE, Dim > &  in_node_coordinates)
private

Definition at line 568 of file Panzer_IntegrationValues2.cpp.

◆ getCubature()

template<typename Scalar >
void panzer::IntegrationValues2< Scalar >::getCubature ( const PHX::MDField< Scalar, Cell, NODE, Dim > &  in_node_coordinates)
private

Definition at line 284 of file Panzer_IntegrationValues2.cpp.

◆ getCubatureCV()

template<typename Scalar >
void panzer::IntegrationValues2< Scalar >::getCubatureCV ( const PHX::MDField< Scalar, Cell, NODE, Dim > &  in_node_coordinates)
private

Definition at line 1092 of file Panzer_IntegrationValues2.cpp.

◆ evaluateRemainingValues()

template<typename Scalar >
void panzer::IntegrationValues2< Scalar >::evaluateRemainingValues ( const PHX::MDField< Scalar, Cell, NODE, Dim > &  in_node_coordinates)
private

Definition at line 837 of file Panzer_IntegrationValues2.cpp.

◆ evaluateValuesCV()

template<typename Scalar >
void panzer::IntegrationValues2< Scalar >::evaluateValuesCV ( const PHX::MDField< Scalar, Cell, NODE, Dim > &  vertex_coordinates)
private

Definition at line 1142 of file Panzer_IntegrationValues2.cpp.

Member Data Documentation

◆ cub_points

template<typename Scalar>
Array_IPDim panzer::IntegrationValues2< Scalar >::cub_points

Definition at line 97 of file Panzer_IntegrationValues2.hpp.

◆ side_cub_points

template<typename Scalar>
Array_IPDim panzer::IntegrationValues2< Scalar >::side_cub_points

Definition at line 98 of file Panzer_IntegrationValues2.hpp.

◆ cub_weights

template<typename Scalar>
Array_IP panzer::IntegrationValues2< Scalar >::cub_weights

Definition at line 99 of file Panzer_IntegrationValues2.hpp.

◆ node_coordinates

template<typename Scalar>
Array_CellBASISDim panzer::IntegrationValues2< Scalar >::node_coordinates

Definition at line 100 of file Panzer_IntegrationValues2.hpp.

◆ jac

template<typename Scalar>
Array_CellIPDimDim panzer::IntegrationValues2< Scalar >::jac

Definition at line 101 of file Panzer_IntegrationValues2.hpp.

◆ jac_inv

template<typename Scalar>
Array_CellIPDimDim panzer::IntegrationValues2< Scalar >::jac_inv

Definition at line 102 of file Panzer_IntegrationValues2.hpp.

◆ jac_det

template<typename Scalar>
Array_CellIP panzer::IntegrationValues2< Scalar >::jac_det

Definition at line 103 of file Panzer_IntegrationValues2.hpp.

◆ weighted_measure

template<typename Scalar>
Array_CellIP panzer::IntegrationValues2< Scalar >::weighted_measure

Definition at line 104 of file Panzer_IntegrationValues2.hpp.

◆ weighted_normals

template<typename Scalar>
Array_CellIPDim panzer::IntegrationValues2< Scalar >::weighted_normals

Definition at line 105 of file Panzer_IntegrationValues2.hpp.

◆ surface_normals

template<typename Scalar>
Array_CellIPDim panzer::IntegrationValues2< Scalar >::surface_normals

Definition at line 107 of file Panzer_IntegrationValues2.hpp.

◆ surface_rotation_matrices

template<typename Scalar>
Array_CellIPDimDim panzer::IntegrationValues2< Scalar >::surface_rotation_matrices

Definition at line 108 of file Panzer_IntegrationValues2.hpp.

◆ int_rule

template<typename Scalar>
Teuchos::RCP<const panzer::IntegrationRule> panzer::IntegrationValues2< Scalar >::int_rule

Definition at line 112 of file Panzer_IntegrationValues2.hpp.

◆ intrepid_cubature

template<typename Scalar>
Teuchos::RCP<Intrepid2::Cubature<PHX::Device::execution_space,double,double> > panzer::IntegrationValues2< Scalar >::intrepid_cubature

Definition at line 114 of file Panzer_IntegrationValues2.hpp.

◆ covarient

template<typename Scalar>
Array_CellIPDimDim panzer::IntegrationValues2< Scalar >::covarient

Definition at line 117 of file Panzer_IntegrationValues2.hpp.

◆ contravarient

template<typename Scalar>
Array_CellIPDimDim panzer::IntegrationValues2< Scalar >::contravarient

Definition at line 118 of file Panzer_IntegrationValues2.hpp.

◆ norm_contravarient

template<typename Scalar>
Array_CellIP panzer::IntegrationValues2< Scalar >::norm_contravarient

Definition at line 119 of file Panzer_IntegrationValues2.hpp.

◆ ip_coordinates

template<typename Scalar>
Array_CellIPDim panzer::IntegrationValues2< Scalar >::ip_coordinates

Definition at line 122 of file Panzer_IntegrationValues2.hpp.

◆ ref_ip_coordinates

template<typename Scalar>
Array_CellIPDim panzer::IntegrationValues2< Scalar >::ref_ip_coordinates

Definition at line 123 of file Panzer_IntegrationValues2.hpp.

◆ dyn_cub_points

template<typename Scalar>
DblArrayDynamic panzer::IntegrationValues2< Scalar >::dyn_cub_points

Definition at line 125 of file Panzer_IntegrationValues2.hpp.

◆ dyn_side_cub_points

template<typename Scalar>
DblArrayDynamic panzer::IntegrationValues2< Scalar >::dyn_side_cub_points

Definition at line 125 of file Panzer_IntegrationValues2.hpp.

◆ dyn_cub_weights

template<typename Scalar>
DblArrayDynamic panzer::IntegrationValues2< Scalar >::dyn_cub_weights

Definition at line 125 of file Panzer_IntegrationValues2.hpp.

◆ dyn_phys_cub_points

template<typename Scalar>
DblArrayDynamic panzer::IntegrationValues2< Scalar >::dyn_phys_cub_points

Definition at line 126 of file Panzer_IntegrationValues2.hpp.

◆ dyn_phys_cub_weights

template<typename Scalar>
DblArrayDynamic panzer::IntegrationValues2< Scalar >::dyn_phys_cub_weights

Definition at line 126 of file Panzer_IntegrationValues2.hpp.

◆ dyn_phys_cub_norms

template<typename Scalar>
DblArrayDynamic panzer::IntegrationValues2< Scalar >::dyn_phys_cub_norms

Definition at line 126 of file Panzer_IntegrationValues2.hpp.

◆ dyn_node_coordinates

template<typename Scalar>
DblArrayDynamic panzer::IntegrationValues2< Scalar >::dyn_node_coordinates

Definition at line 126 of file Panzer_IntegrationValues2.hpp.

◆ scratch_for_compute_side_measure

template<typename Scalar>
Array_Point panzer::IntegrationValues2< Scalar >::scratch_for_compute_side_measure

Definition at line 128 of file Panzer_IntegrationValues2.hpp.

◆ alloc_arrays

template<typename Scalar>
bool panzer::IntegrationValues2< Scalar >::alloc_arrays
private

Definition at line 166 of file Panzer_IntegrationValues2.hpp.

◆ prefix

template<typename Scalar>
std::string panzer::IntegrationValues2< Scalar >::prefix
private

Definition at line 167 of file Panzer_IntegrationValues2.hpp.

◆ ddims_

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

Definition at line 168 of file Panzer_IntegrationValues2.hpp.


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