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, const Teuchos::RCP< const SubcellConnectivity > &face_connectivity=Teuchos::null) |
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 | evaluateRemainingValues (const PHX::MDField< Scalar, Cell, NODE, Dim > &in_node_coordinates, const int in_num_cells) |
This should be a private method, but using lambdas on cuda forces this to be public. More... | |
void | getCubatureCV (const PHX::MDField< Scalar, Cell, NODE, Dim > &in_node_coordinates, const int in_num_cells) |
This should be a private method, but using lambdas on cuda forces this to be public. More... | |
void | generateSurfaceCubatureValues (const PHX::MDField< Scalar, Cell, NODE, Dim > &in_node_coordinates, const int in_num_cells, const SubcellConnectivity &face_connectivity) |
This should be a private method, but using lambdas on cuda forces this to be public. More... | |
Protected Member Functions | |
Teuchos::RCP< Intrepid2::Cubature< PHX::Device::execution_space, double, double > > | getIntrepidCubature (const panzer::IntegrationRule &ir) const |
Private Member Functions | |
void | getCubature (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 86 of file Panzer_IntegrationValues2.hpp.
typedef ArrayTraits<Scalar,PHX::MDField<Scalar> >::size_type panzer::IntegrationValues2< Scalar >::size_type |
Definition at line 88 of file Panzer_IntegrationValues2.hpp.
typedef PHX::MDField<Scalar> panzer::IntegrationValues2< Scalar >::ArrayDynamic |
Definition at line 90 of file Panzer_IntegrationValues2.hpp.
typedef PHX::MDField<double> panzer::IntegrationValues2< Scalar >::DblArrayDynamic |
Definition at line 91 of file Panzer_IntegrationValues2.hpp.
typedef PHX::MDField<Scalar,IP> panzer::IntegrationValues2< Scalar >::Array_IP |
Definition at line 93 of file Panzer_IntegrationValues2.hpp.
typedef PHX::MDField<Scalar,IP,Dim> panzer::IntegrationValues2< Scalar >::Array_IPDim |
Definition at line 94 of file Panzer_IntegrationValues2.hpp.
typedef PHX::MDField<Scalar,Point> panzer::IntegrationValues2< Scalar >::Array_Point |
Definition at line 96 of file Panzer_IntegrationValues2.hpp.
typedef PHX::MDField<Scalar,Cell,IP> panzer::IntegrationValues2< Scalar >::Array_CellIP |
Definition at line 97 of file Panzer_IntegrationValues2.hpp.
typedef PHX::MDField<Scalar,Cell,IP,Dim> panzer::IntegrationValues2< Scalar >::Array_CellIPDim |
Definition at line 98 of file Panzer_IntegrationValues2.hpp.
typedef PHX::MDField<Scalar,Cell,IP,Dim,Dim> panzer::IntegrationValues2< Scalar >::Array_CellIPDimDim |
Definition at line 99 of file Panzer_IntegrationValues2.hpp.
typedef PHX::MDField<Scalar,Cell,BASIS,Dim> panzer::IntegrationValues2< Scalar >::Array_CellBASISDim |
Definition at line 101 of file Panzer_IntegrationValues2.hpp.
|
inline |
Definition at line 103 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 136 of file Panzer_IntegrationValues2.cpp.
void panzer::IntegrationValues2< Scalar >::setupArraysForNodeRule | ( | const Teuchos::RCP< const panzer::IntegrationRule > & | ir | ) |
Definition at line 74 of file Panzer_IntegrationValues2.cpp.
void panzer::IntegrationValues2< Scalar >::evaluateValues | ( | const PHX::MDField< Scalar, Cell, NODE, Dim > & | vertex_coordinates, |
const int | num_cells = -1 , |
||
const Teuchos::RCP< const SubcellConnectivity > & | face_connectivity = Teuchos::null |
||
) |
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. |
face_connectivity | [in] (optional) connectivity used to enforce quadrature alignment for surface integration. |
Definition at line 268 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 1001 of file Panzer_IntegrationValues2.cpp.
void panzer::IntegrationValues2< Scalar >::evaluateRemainingValues | ( | const PHX::MDField< Scalar, Cell, NODE, Dim > & | in_node_coordinates, |
const int | in_num_cells | ||
) |
This should be a private method, but using lambdas on cuda forces this to be public.
Definition at line 834 of file Panzer_IntegrationValues2.cpp.
void panzer::IntegrationValues2< Scalar >::getCubatureCV | ( | const PHX::MDField< Scalar, Cell, NODE, Dim > & | in_node_coordinates, |
const int | in_num_cells | ||
) |
This should be a private method, but using lambdas on cuda forces this to be public.
Definition at line 1146 of file Panzer_IntegrationValues2.cpp.
void panzer::IntegrationValues2< Scalar >::generateSurfaceCubatureValues | ( | const PHX::MDField< Scalar, Cell, NODE, Dim > & | in_node_coordinates, |
const int | in_num_cells, | ||
const SubcellConnectivity & | face_connectivity | ||
) |
This should be a private method, but using lambdas on cuda forces this to be public.
Definition at line 330 of file Panzer_IntegrationValues2.cpp.
|
protected |
Definition at line 234 of file Panzer_IntegrationValues2.cpp.
|
private |
Definition at line 293 of file Panzer_IntegrationValues2.cpp.
|
private |
Definition at line 1212 of file Panzer_IntegrationValues2.cpp.
Array_IPDim panzer::IntegrationValues2< Scalar >::cub_points |
Definition at line 144 of file Panzer_IntegrationValues2.hpp.
Array_IPDim panzer::IntegrationValues2< Scalar >::side_cub_points |
Definition at line 145 of file Panzer_IntegrationValues2.hpp.
Array_IP panzer::IntegrationValues2< Scalar >::cub_weights |
Definition at line 146 of file Panzer_IntegrationValues2.hpp.
Array_CellBASISDim panzer::IntegrationValues2< Scalar >::node_coordinates |
Definition at line 147 of file Panzer_IntegrationValues2.hpp.
Array_CellIPDimDim panzer::IntegrationValues2< Scalar >::jac |
Definition at line 148 of file Panzer_IntegrationValues2.hpp.
Array_CellIPDimDim panzer::IntegrationValues2< Scalar >::jac_inv |
Definition at line 149 of file Panzer_IntegrationValues2.hpp.
Array_CellIP panzer::IntegrationValues2< Scalar >::jac_det |
Definition at line 150 of file Panzer_IntegrationValues2.hpp.
Array_CellIP panzer::IntegrationValues2< Scalar >::weighted_measure |
Definition at line 151 of file Panzer_IntegrationValues2.hpp.
Array_CellIPDim panzer::IntegrationValues2< Scalar >::weighted_normals |
Definition at line 152 of file Panzer_IntegrationValues2.hpp.
Array_CellIPDim panzer::IntegrationValues2< Scalar >::surface_normals |
Definition at line 154 of file Panzer_IntegrationValues2.hpp.
Array_CellIPDimDim panzer::IntegrationValues2< Scalar >::surface_rotation_matrices |
Definition at line 155 of file Panzer_IntegrationValues2.hpp.
Teuchos::RCP<const panzer::IntegrationRule> panzer::IntegrationValues2< Scalar >::int_rule |
Definition at line 159 of file Panzer_IntegrationValues2.hpp.
Teuchos::RCP<Intrepid2::Cubature<PHX::Device::execution_space,double,double> > panzer::IntegrationValues2< Scalar >::intrepid_cubature |
Definition at line 161 of file Panzer_IntegrationValues2.hpp.
Array_CellIPDimDim panzer::IntegrationValues2< Scalar >::covarient |
Definition at line 164 of file Panzer_IntegrationValues2.hpp.
Array_CellIPDimDim panzer::IntegrationValues2< Scalar >::contravarient |
Definition at line 165 of file Panzer_IntegrationValues2.hpp.
Array_CellIP panzer::IntegrationValues2< Scalar >::norm_contravarient |
Definition at line 166 of file Panzer_IntegrationValues2.hpp.
Array_CellIPDim panzer::IntegrationValues2< Scalar >::ip_coordinates |
Definition at line 169 of file Panzer_IntegrationValues2.hpp.
Array_CellIPDim panzer::IntegrationValues2< Scalar >::ref_ip_coordinates |
Definition at line 170 of file Panzer_IntegrationValues2.hpp.
DblArrayDynamic panzer::IntegrationValues2< Scalar >::dyn_cub_points |
Definition at line 172 of file Panzer_IntegrationValues2.hpp.
DblArrayDynamic panzer::IntegrationValues2< Scalar >::dyn_side_cub_points |
Definition at line 172 of file Panzer_IntegrationValues2.hpp.
DblArrayDynamic panzer::IntegrationValues2< Scalar >::dyn_cub_weights |
Definition at line 172 of file Panzer_IntegrationValues2.hpp.
DblArrayDynamic panzer::IntegrationValues2< Scalar >::dyn_phys_cub_points |
Definition at line 173 of file Panzer_IntegrationValues2.hpp.
DblArrayDynamic panzer::IntegrationValues2< Scalar >::dyn_phys_cub_weights |
Definition at line 173 of file Panzer_IntegrationValues2.hpp.
DblArrayDynamic panzer::IntegrationValues2< Scalar >::dyn_phys_cub_norms |
Definition at line 173 of file Panzer_IntegrationValues2.hpp.
DblArrayDynamic panzer::IntegrationValues2< Scalar >::dyn_node_coordinates |
Definition at line 173 of file Panzer_IntegrationValues2.hpp.
Array_Point panzer::IntegrationValues2< Scalar >::scratch_for_compute_side_measure |
Definition at line 175 of file Panzer_IntegrationValues2.hpp.
|
private |
Definition at line 192 of file Panzer_IntegrationValues2.hpp.
|
private |
Definition at line 193 of file Panzer_IntegrationValues2.hpp.
|
private |
Definition at line 194 of file Panzer_IntegrationValues2.hpp.