Panzer
Version of the Day
|
#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, const int num_cells=-1) |
Evaluate basis values. More... | |
void | evaluateValues (const PHX::MDField< Scalar, Cell, NODE, Dim > &vertex_coordinates, const PHX::MDField< Scalar, Cell, IP, Dim > &other_ip_coordinates, const int num_cells=-1) |
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... | |
static void | convertNormalToRotationMatrix (const Scalar normal[3], Scalar transverse[3], Scalar binormal[3]) |
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, const int in_num_cells) |
void | getCubature (const PHX::MDField< Scalar, Cell, NODE, Dim > &in_node_coordinates, const int in_num_cells) |
void | getCubatureCV (const PHX::MDField< Scalar, Cell, NODE, Dim > &in_node_coordinates, const int in_num_cells) |
void | evaluateRemainingValues (const PHX::MDField< Scalar, Cell, NODE, Dim > &in_node_coordinates, const int in_num_cells) |
void | evaluateValuesCV (const PHX::MDField< Scalar, Cell, NODE, Dim > &vertex_coordinates, const int in_num_cells) |
Private Attributes | |
bool | alloc_arrays |
std::string | prefix |
std::vector< PHX::index_size_type > | ddims_ |
Definition at line 59 of file Panzer_IntegrationValues2.hpp.
typedef ArrayTraits<Scalar,PHX::MDField<Scalar> >::size_type panzer::IntegrationValues2< Scalar >::size_type |
Definition at line 61 of file Panzer_IntegrationValues2.hpp.
typedef PHX::MDField<Scalar> panzer::IntegrationValues2< Scalar >::ArrayDynamic |
Definition at line 63 of file Panzer_IntegrationValues2.hpp.
typedef PHX::MDField<double> panzer::IntegrationValues2< Scalar >::DblArrayDynamic |
Definition at line 64 of file Panzer_IntegrationValues2.hpp.
typedef PHX::MDField<Scalar,IP> panzer::IntegrationValues2< Scalar >::Array_IP |
Definition at line 66 of file Panzer_IntegrationValues2.hpp.
typedef PHX::MDField<Scalar,IP,Dim> panzer::IntegrationValues2< Scalar >::Array_IPDim |
Definition at line 67 of file Panzer_IntegrationValues2.hpp.
typedef PHX::MDField<Scalar,Point> panzer::IntegrationValues2< Scalar >::Array_Point |
Definition at line 69 of file Panzer_IntegrationValues2.hpp.
typedef PHX::MDField<Scalar,Cell,IP> panzer::IntegrationValues2< Scalar >::Array_CellIP |
Definition at line 70 of file Panzer_IntegrationValues2.hpp.
typedef PHX::MDField<Scalar,Cell,IP,Dim> panzer::IntegrationValues2< Scalar >::Array_CellIPDim |
Definition at line 71 of file Panzer_IntegrationValues2.hpp.
typedef PHX::MDField<Scalar,Cell,IP,Dim,Dim> panzer::IntegrationValues2< Scalar >::Array_CellIPDimDim |
Definition at line 72 of file Panzer_IntegrationValues2.hpp.
typedef PHX::MDField<Scalar,Cell,BASIS,Dim> panzer::IntegrationValues2< Scalar >::Array_CellBASISDim |
Definition at line 74 of file Panzer_IntegrationValues2.hpp.
|
inline |
Definition at line 76 of file Panzer_IntegrationValues2.hpp.
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.
void panzer::IntegrationValues2< Scalar >::setupArraysForNodeRule | ( | const Teuchos::RCP< const panzer::IntegrationRule > & | ir | ) |
Definition at line 69 of file Panzer_IntegrationValues2.cpp.
void panzer::IntegrationValues2< Scalar >::evaluateValues | ( | const PHX::MDField< Scalar, Cell, NODE, Dim > & | vertex_coordinates, |
const int | num_cells = -1 |
||
) |
Evaluate basis values.
vertex_coordinates | [in] Cell vertex coordinates, not basis coordinates. |
num_cells | [in] (optional) number of cells in the workset. This can be less than the workset size. If set to zero, extent(0) of the evaluated array is used which equates to the workset size. |
Definition at line 263 of file Panzer_IntegrationValues2.cpp.
void panzer::IntegrationValues2< Scalar >::evaluateValues | ( | const PHX::MDField< Scalar, Cell, NODE, Dim > & | vertex_coordinates, |
const PHX::MDField< Scalar, Cell, IP, Dim > & | other_ip_coordinates, | ||
const int | num_cells = -1 |
||
) |
Match IP.
Optionally provide IP coordinates for an element 'other' that shares the same side. If provided, a permutation of the cubature points is calculated so that the integration values are ordered according to the other element's. This permutation is then applied so that all fields are ordered accordingly in their IP dimension.
num_cells | [in] (optional) number of cells in the workset. This can be less than the workset size. If set to zero, extent(0) of the evaluated array is used which equates to the workset size. |
Definition at line 999 of file Panzer_IntegrationValues2.cpp.
|
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.
[in] | coords | Coordinates array (cell,IP,Dim) |
[in] | cell | Cell index |
[in] | offset | Offset into the points |
[out] | order | Ordering array on output, correctly sized on input (offset + order.size() <= coords.extent(1)) |
Definition at line 551 of file Panzer_IntegrationValues2.cpp.
void panzer::IntegrationValues2< Scalar >::swapQuadraturePoints | ( | int | cell, |
int | a, | ||
int | b | ||
) |
Swap the ordering of quadrature points in a specified cell.
[in] | cell | Cell index |
[in] | a | Quadrature point a |
[in] | b | Quadrature point b |
Definition at line 503 of file Panzer_IntegrationValues2.cpp.
|
static |
Definition at line 451 of file Panzer_IntegrationValues2.cpp.
|
protected |
Definition at line 229 of file Panzer_IntegrationValues2.cpp.
|
private |
Definition at line 569 of file Panzer_IntegrationValues2.cpp.
|
private |
Definition at line 285 of file Panzer_IntegrationValues2.cpp.
|
private |
Definition at line 1113 of file Panzer_IntegrationValues2.cpp.
|
private |
Definition at line 844 of file Panzer_IntegrationValues2.cpp.
|
private |
Definition at line 1172 of file Panzer_IntegrationValues2.cpp.
Array_IPDim panzer::IntegrationValues2< Scalar >::cub_points |
Definition at line 114 of file Panzer_IntegrationValues2.hpp.
Array_IPDim panzer::IntegrationValues2< Scalar >::side_cub_points |
Definition at line 115 of file Panzer_IntegrationValues2.hpp.
Array_IP panzer::IntegrationValues2< Scalar >::cub_weights |
Definition at line 116 of file Panzer_IntegrationValues2.hpp.
Array_CellBASISDim panzer::IntegrationValues2< Scalar >::node_coordinates |
Definition at line 117 of file Panzer_IntegrationValues2.hpp.
Array_CellIPDimDim panzer::IntegrationValues2< Scalar >::jac |
Definition at line 118 of file Panzer_IntegrationValues2.hpp.
Array_CellIPDimDim panzer::IntegrationValues2< Scalar >::jac_inv |
Definition at line 119 of file Panzer_IntegrationValues2.hpp.
Array_CellIP panzer::IntegrationValues2< Scalar >::jac_det |
Definition at line 120 of file Panzer_IntegrationValues2.hpp.
Array_CellIP panzer::IntegrationValues2< Scalar >::weighted_measure |
Definition at line 121 of file Panzer_IntegrationValues2.hpp.
Array_CellIPDim panzer::IntegrationValues2< Scalar >::weighted_normals |
Definition at line 122 of file Panzer_IntegrationValues2.hpp.
Array_CellIPDim panzer::IntegrationValues2< Scalar >::surface_normals |
Definition at line 124 of file Panzer_IntegrationValues2.hpp.
Array_CellIPDimDim panzer::IntegrationValues2< Scalar >::surface_rotation_matrices |
Definition at line 125 of file Panzer_IntegrationValues2.hpp.
Teuchos::RCP<const panzer::IntegrationRule> panzer::IntegrationValues2< Scalar >::int_rule |
Definition at line 129 of file Panzer_IntegrationValues2.hpp.
Teuchos::RCP<Intrepid2::Cubature<PHX::Device::execution_space,double,double> > panzer::IntegrationValues2< Scalar >::intrepid_cubature |
Definition at line 131 of file Panzer_IntegrationValues2.hpp.
Array_CellIPDimDim panzer::IntegrationValues2< Scalar >::covarient |
Definition at line 134 of file Panzer_IntegrationValues2.hpp.
Array_CellIPDimDim panzer::IntegrationValues2< Scalar >::contravarient |
Definition at line 135 of file Panzer_IntegrationValues2.hpp.
Array_CellIP panzer::IntegrationValues2< Scalar >::norm_contravarient |
Definition at line 136 of file Panzer_IntegrationValues2.hpp.
Array_CellIPDim panzer::IntegrationValues2< Scalar >::ip_coordinates |
Definition at line 139 of file Panzer_IntegrationValues2.hpp.
Array_CellIPDim panzer::IntegrationValues2< Scalar >::ref_ip_coordinates |
Definition at line 140 of file Panzer_IntegrationValues2.hpp.
DblArrayDynamic panzer::IntegrationValues2< Scalar >::dyn_cub_points |
Definition at line 142 of file Panzer_IntegrationValues2.hpp.
DblArrayDynamic panzer::IntegrationValues2< Scalar >::dyn_side_cub_points |
Definition at line 142 of file Panzer_IntegrationValues2.hpp.
DblArrayDynamic panzer::IntegrationValues2< Scalar >::dyn_cub_weights |
Definition at line 142 of file Panzer_IntegrationValues2.hpp.
DblArrayDynamic panzer::IntegrationValues2< Scalar >::dyn_phys_cub_points |
Definition at line 143 of file Panzer_IntegrationValues2.hpp.
DblArrayDynamic panzer::IntegrationValues2< Scalar >::dyn_phys_cub_weights |
Definition at line 143 of file Panzer_IntegrationValues2.hpp.
DblArrayDynamic panzer::IntegrationValues2< Scalar >::dyn_phys_cub_norms |
Definition at line 143 of file Panzer_IntegrationValues2.hpp.
DblArrayDynamic panzer::IntegrationValues2< Scalar >::dyn_node_coordinates |
Definition at line 143 of file Panzer_IntegrationValues2.hpp.
Array_Point panzer::IntegrationValues2< Scalar >::scratch_for_compute_side_measure |
Definition at line 145 of file Panzer_IntegrationValues2.hpp.
|
private |
Definition at line 185 of file Panzer_IntegrationValues2.hpp.
|
private |
Definition at line 186 of file Panzer_IntegrationValues2.hpp.
|
private |
Definition at line 187 of file Panzer_IntegrationValues2.hpp.