43 #ifndef PANZER_POINT_VALUES2_HPP
44 #define PANZER_POINT_VALUES2_HPP
46 #include "PanzerDiscFE_config.hpp"
56 template <
typename Scalar>
61 template<
typename SourceScalar>
66 bool allocArrays=
false)
70 const std::vector<PHX::index_size_type> & ddims,
71 bool allocArrays=
false)
83 template <
typename CoordinateArray,
typename Po
intArray>
85 const PointArray & in_point_coords,
86 const int in_num_cells = -1)
98 template <
typename Po
intArray>
100 const PointArray & in_point_coords,
101 bool shallow_copy_nodes,
102 const int in_num_cells = -1)
103 {
if(shallow_copy_nodes)
124 PHX::MDField<Scalar,Cell,IP,Dim,Dim>
jac;
134 template <
typename CoordinateArray>
137 template <
typename CoordinateArray>
142 std::vector<PHX::index_size_type>
ddims_;
146 template <
typename Scalar>
147 template<
typename SourceScalar>
155 static_assert(std::is_same<
typename std::decay<Scalar>::type,
typename std::decay<SourceScalar>::type>::value,
156 "ERROR: PointValues assignment requires consistent scalar types!");
PHX::MDField< Scalar, IP, Dim > & getRefCoordinates() const
Return reference cell coordinates this class uses (IP,Dim) sized.
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, NODE, Dim > & getVertexCoordinates() const
Return the vertex coordinates this class uses (Cell,NODE,Dim) sized.
PHX::MDField< Scalar, Cell, IP, Dim > point_coords
void copyNodeCoords(const CoordinateArray &in_node_coords)
void copyPointCoords(const CoordinateArray &in_point_coords)
PHX::MDField< Scalar, Cell, NODE, Dim > node_coordinates
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
PHX::MDField< Scalar, IP, Dim > coords_ref
PointValues2(const std::string &pre="", bool allocArrays=false)