43 #ifndef PANZER_POINT_VALUES2_HPP 44 #define PANZER_POINT_VALUES2_HPP 46 #include "PanzerDiscFE_config.hpp" 51 #include "Teuchos_RCP.hpp" 53 #include "Intrepid2_CellTools.hpp" 57 template <
typename Scalar,
58 template <
typename DataT,
59 typename Tag0,
typename Tag1,
typename Tag2,
60 typename Tag3,
typename Tag4,
typename Tag5,
61 typename Tag6,
typename Tag7>
class Array >
66 template <
typename ArrayFactory>
67 void setupArrays(
const Teuchos::RCP<const panzer::PointRule>& pr,
const ArrayFactory & af);
69 template <
typename NodeCoordinateArray,
typename Po
intCoordinateArray>
70 inline void evaluateValues(
const NodeCoordinateArray & node_coordinates,
const PointCoordinateArray & point_coordinates);
72 template <
typename CoordinateArray>
73 void copyNodeCoords(
const CoordinateArray& in_node_coords);
75 template <
typename CoordinateArray>
76 void copyPointCoords(
const CoordinateArray& in_point_coords);
78 Array<Scalar,IP,Dim,void,void,void,void,void,void>
coords_ref;
80 Array<Scalar,Cell,IP,Dim,Dim,void,void,void,void>
jac;
81 Array<Scalar,Cell,IP,Dim,Dim,void,void,void,void>
jac_inv;
82 Array<Scalar,Cell,IP,void,void,void,void,void,void>
jac_det;
90 template <
typename Scalar,
91 template <
typename DataT,
92 typename Tag0,
typename Tag1,
typename Tag2,
93 typename Tag3,
typename Tag4,
typename Tag5,
94 typename Tag6,
typename Tag7>
class Array >
95 template <typename NodeCoordinateArray,typename PointCoordinateArray>
97 evaluateValues(const NodeCoordinateArray& in_node_coords,
98 const PointCoordinateArray & in_point_coords)
100 if (point_rule->isSide()) {
101 TEUCHOS_ASSERT(
false);
104 copyPointCoords(in_point_coords);
105 copyNodeCoords(in_node_coords);
107 Intrepid2::CellTools<Scalar> cell_tools;
109 cell_tools.setJacobian(
jac, coords_ref, node_coordinates,*(point_rule->topology));
110 cell_tools.setJacobianInv(jac_inv,
jac);
111 cell_tools.setJacobianDet(jac_det,
jac);
114 cell_tools.mapToPhysicalFrame(point_coords, coords_ref, node_coordinates, *(point_rule->topology));
Array< Scalar, Cell, IP, Dim, void, void, void, void, void > point_coords
Array< Scalar, Cell, IP, Dim, Dim, void, void, void, void > jac_inv
Array< Scalar, Cell, NODE, Dim, void, void, void, void, void > node_coordinates
Array< Scalar, Cell, IP, void, void, void, void, void, void > jac_det
ArrayTraits< ScalarT, PHX::MDField< ScalarT, void, void, void, void, void, void, void, void > >::size_type size_type
Teuchos::RCP< const panzer::PointRule > point_rule
Array< Scalar, Cell, IP, Dim, Dim, void, void, void, void > jac
Array< Scalar, IP, Dim, void, void, void, void, void, void > coords_ref