Class documentation of Concepts

Loading...
Searching...
No Matches
tracesEval.hh
Go to the documentation of this file.
1
8#ifndef TRACESEVAL_HH
9#define TRACESEVAL_HH
10
13
14namespace concepts {
15 // forward declarations
16 template<class F>
17 class ElementWithCell;
18
19 template<class F, class G>
20 class ElementFunction;
21}
22
23namespace hp3D {
24
25using concepts::Real;
26
27// forward declarations
28class Space;
29class TraceSpace;
30template<class F>
31class Element;
32
43template<uint dim, class F = Real, class G = F>
45 public concepts::ElementFormula<concepts::Point<G,dim> > {
46
47public:
58 const Space &spc,
59 const concepts::Vector<F> &vec,
61
62 virtual concepts::Point<G,dim> operator()(const concepts::ElementWithCell<Real> &elm,
63 const concepts::Real p,
64 const concepts::Real t = 0.0) const;
65 virtual concepts::Point<G,dim> operator()(const concepts::ElementWithCell<Real> &elm,
66 const concepts::Real2d &p,
67 const concepts::Real t = 0.0) const;
68 virtual concepts::Point<G,dim> operator()(const concepts::ElementWithCell<Real> &elm,
69 const concepts::Real3d &p,
70 const concepts::Real t = 0.0) const;
71
73 {
74 return new ElementFormulaVectorOnTrace(tspc_, spc_, vec_, *func_);
75 }
76protected:
77 virtual std::ostream& info(std::ostream &os) const;
78
79private:
80
81 const Element<Real>& getUnderlyingElementAndIndex_(const concepts::ElementWithCell<Real> &elm,
82 uint &face) const;
83
84 const TraceSpace &tspc_;
85 const Space &spc_;
86 const concepts::Vector<F> &vec_;
87 std::unique_ptr<const concepts::ElementFunction<G, Real> > func_;
89
90};
91
92} // namespace hp3D
93
94#endif // TRACESEVAL_HH
virtual ElementFormulaVectorOnTrace< dim, F, G > * clone() const
Virtual copy constructor.
Definition tracesEval.hh:72
ElementFormulaVectorOnTrace(const TraceSpace &tspc, const Space &spc, const concepts::Vector< F > &vec, const concepts::ElementFunction< G, Real > &func)
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
double Real
Definition typedefs.hh:39
GenericElement< KarniadakisMixin< F > > Element
template aliases for backwards compatibility
Definition element.hh:267
Definition meshDX.hh:23