11 #ifndef PANZER_POINT_VALUES2_HPP
12 #define PANZER_POINT_VALUES2_HPP
14 #include "PanzerDiscFE_config.hpp"
24 template <
typename Scalar>
29 template<
typename SourceScalar>
34 bool allocArrays=
false)
38 const std::vector<PHX::index_size_type> & ddims,
39 bool allocArrays=
false)
51 template <
typename CoordinateArray,
typename Po
intArray>
53 const PointArray & in_point_coords,
54 const int in_num_cells = -1)
66 template <
typename Po
intArray>
68 const PointArray & in_point_coords,
69 bool shallow_copy_nodes,
70 const int in_num_cells = -1)
71 {
if(shallow_copy_nodes)
108 template <
typename CoordinateArray>
111 template <
typename CoordinateArray>
116 std::vector<PHX::index_size_type>
ddims_;
120 template <
typename Scalar>
121 template<
typename SourceScalar>
129 static_assert(std::is_same<
typename std::decay<Scalar>::type,
typename std::decay<SourceScalar>::type>::value,
130 "ERROR: PointValues assignment requires consistent scalar types!");
Teuchos::RCP< const panzer::PointRule > point_rule
std::vector< PHX::index_size_type > ddims_
void evaluateValues(const CoordinateArray &node_coords, const PointArray &in_point_coords, const int in_num_cells=-1)
PHX::MDField< Scalar, Cell, IP, Dim, Dim > jac
PointValues2(const std::string &pre, const std::vector< PHX::index_size_type > &ddims, bool allocArrays=false)
PHX::MDField< Scalar, Cell, IP > jac_det
void setupArrays(const Teuchos::RCP< const panzer::PointRule > &pr)
Sizes/allocates memory for arrays.
ArrayTraits< const double, PHX::MDField< const double > >::size_type size_type
PointValues2< Scalar > & operator=(const PointValues2< SourceScalar > &source)
PHX::MDField< Scalar, Cell, IP, Dim > point_coords
void copyNodeCoords(const CoordinateArray &in_node_coords)
const PHX::MDField< Scalar, Cell, NODE, Dim > & getNodeCoordinates() const
Return the node coordinates this class uses (Cell,NODE,Dim) sized.
void copyPointCoords(const CoordinateArray &in_point_coords)
PHX::MDField< Scalar, Cell, NODE, Dim > node_coordinates
const PHX::MDField< Scalar, IP, Dim > & getRefCoordinates() const
Return reference cell coordinates this class uses (IP,Dim) sized.
void evaluateValues(const PHX::MDField< Scalar, Cell, NODE, Dim > &node_coords, const PointArray &in_point_coords, bool shallow_copy_nodes, const int in_num_cells=-1)
PHX::MDField< Scalar, Cell, IP, Dim, Dim > jac_inv
const PHX::MDField< Scalar, Cell, NODE, Dim > & getVertexCoordinates() const
PHX::MDField< Scalar, IP, Dim > coords_ref
PointValues2(const std::string &pre="", bool allocArrays=false)