18 #ifndef LIBMESH_FE_TRANSFORMATION_BASE_H 19 #define LIBMESH_FE_TRANSFORMATION_BASE_H 27 template<
typename T>
class FEGenericBase;
41 template<
typename OutputShape>
52 static std::unique_ptr<FETransformationBase<OutputShape>>
build(
const FEType & type);
73 virtual void map_phi(
const unsigned int dim,
74 const Elem *
const elem,
75 const std::vector<Point> & qp,
77 std::vector<std::vector<OutputShape>> & phi)
const = 0;
83 virtual void map_dphi(
const unsigned int dim,
84 const Elem *
const elem,
85 const std::vector<Point> & qp,
88 std::vector<std::vector<OutputShape>> & dphidx,
89 std::vector<std::vector<OutputShape>> & dphidy,
90 std::vector<std::vector<OutputShape>> & dphidz)
const = 0;
92 #ifdef LIBMESH_ENABLE_SECOND_DERIVATIVES 97 virtual void map_d2phi(
const unsigned int dim,
98 const std::vector<Point> & qp,
101 std::vector<std::vector<OutputShape>> & d2phidx2,
102 std::vector<std::vector<OutputShape>> & d2phidxdy,
103 std::vector<std::vector<OutputShape>> & d2phidxdz,
104 std::vector<std::vector<OutputShape>> & d2phidy2,
105 std::vector<std::vector<OutputShape>> & d2phidydz,
106 std::vector<std::vector<OutputShape>> & d2phidz2)
const = 0;
107 #endif //LIBMESH_ENABLE_SECOND_DERIVATIVES 114 virtual void map_curl(
const unsigned int dim,
115 const Elem *
const elem,
116 const std::vector<Point> & qp,
118 std::vector<std::vector<OutputShape>> & curl_phi)
const = 0;
124 virtual void map_div(
const unsigned int dim,
125 const Elem *
const elem,
126 const std::vector<Point> & qp,
134 #endif // LIBMESH_FE_TRANSFORMATION_BASE_H Manages the family, order, etc. parameters for a given FE.
The base class for all geometric element types.
TensorTools::DecrementRank< OutputShape >::type OutputDivergence