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)