18 #ifndef LIBMESH_FE_TRANSFORMATION_BASE_H 19 #define LIBMESH_FE_TRANSFORMATION_BASE_H 21 #include "libmesh/fe_base.h" 27 template<
typename T>
class FEGenericBase;
42 template<
typename OutputShape>
53 static std::unique_ptr<FETransformationBase<OutputShape>>
build(
const FEType & type);
75 const Elem *
const elem,
76 const std::vector<Point> & qp,
78 std::vector<std::vector<OutputShape>> & phi,
79 bool add_p_level =
true)
const = 0;
86 const Elem *
const elem,
87 const std::vector<Point> & qp,
90 std::vector<std::vector<OutputShape>> & dphidx,
91 std::vector<std::vector<OutputShape>> & dphidy,
92 std::vector<std::vector<OutputShape>> & dphidz)
const = 0;
94 #ifdef LIBMESH_ENABLE_SECOND_DERIVATIVES 100 const std::vector<Point> & qp,
103 std::vector<std::vector<OutputShape>> & d2phidx2,
104 std::vector<std::vector<OutputShape>> & d2phidxdy,
105 std::vector<std::vector<OutputShape>> & d2phidxdz,
106 std::vector<std::vector<OutputShape>> & d2phidy2,
107 std::vector<std::vector<OutputShape>> & d2phidydz,
108 std::vector<std::vector<OutputShape>> & d2phidz2)
const = 0;
109 #endif //LIBMESH_ENABLE_SECOND_DERIVATIVES 117 const Elem *
const elem,
118 const std::vector<Point> & qp,
120 std::vector<std::vector<OutputShape>> & curl_phi)
const = 0;
127 const Elem *
const elem,
128 const std::vector<Point> & qp,
136 #endif // LIBMESH_FE_TRANSFORMATION_BASE_H
class FEType hides (possibly multiple) FEFamily and approximation orders, thereby enabling specialize...
This is the base class from which all geometric element types are derived.
This class defines a vector in LIBMESH_DIM dimensional Real or Complex space.
The libMesh namespace provides an interface to certain functionality in the library.
TensorTools::DecrementRank< OutputShape >::type OutputDivergence
This class forms the foundation from which generic finite elements may be derived.