Class documentation of Concepts

Loading...
Searching...
No Matches
bf3D_partialDeriv.hh
Go to the documentation of this file.
1
8#ifndef HP3D_PARTIALDERIV_HH
9#define HP3D_PARTIALDERIV_HH
10
11#include <memory>
13#include "basics/typedefs.hh"
14
15namespace concepts {
16 // forward declarations
17 template <class F>
18 class Element;
19
20 template <class F>
21 class ElementMatrix;
22}
23
24namespace hp3D {
25
26 // forward declarations
27 class Hexahedron;
28
29 using concepts::Real;
30
31 enum partDerivType{ NO_DERIV = 0,
32 X_DERIV = 1,
33 Y_DERIV = 2,
34 Z_DERIV = 3 };
35
41 template <class F = Real>
43 public:
44 BilinearFormTwoPartDeriv(const enum partDerivType &uDeriv,
45 const enum partDerivType &vDeriv);
46
47 virtual ~BilinearFormTwoPartDeriv() {}
48
50 return new BilinearFormTwoPartDeriv<F>(uDeriv_, vDeriv_);
51 }
52
53 virtual void operator()(const concepts::Element<Real>& elmX,
54 const concepts::Element<Real>& elmY,
56
57 virtual std::ostream& info(std::ostream& os) const;
58
59 private:
60 const enum partDerivType uDeriv_, vDeriv_;
61
62 mutable concepts::Array<F> intermediateValue_;
63 mutable concepts::Array<concepts::MapReal3d> intermediateMatrix_;
64
65 void operator()(const Hexahedron &elmX,
66 const Hexahedron &elmY,
68
69 }; // class BilinearFormTwoPartDeriv
70
71} // namespace hp3D
72
73#endif // HP3D_PARTIALDERIV_HH
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual BilinearFormTwoPartDeriv< F > * clone() const
double Real
Definition typedefs.hh:39
GenericElement< KarniadakisMixin< F > > Element
template aliases for backwards compatibility
Definition element.hh:267
Definition meshDX.hh:23