Class documentation of Concepts

Loading...
Searching...
No Matches
linearForm.hh
Go to the documentation of this file.
1
6#ifndef linearForm_hh
7#define linearForm_hh
8
10#include "basics/typedefs.hh"
11
12namespace concepts {
13 // forward declarations
14 template<class F>
15 class Element;
16
17 template<class F>
18 class ElementMatrix;
19
20 class BoundaryConditions;
21
22 // ************************************************************ LinearForm **
23
29 class LinearForm : virtual public OutputOperator {
30 public:
36 virtual void operator() (const Element<G>& elm, ElementMatrix<F>& em) const = 0;
37 protected:
38 virtual std::ostream& info(std::ostream& os) const;
39 };
40
55 enum Basis {Default = 0, BND};
56
57 // ****************************************************** LinearFormChoice **
58
65 public:
66
67 // set basis evaluation type even for const linearform
68 virtual inline void setBasis(Basis basis) { basis_ = basis;}
69
70 //protected:
71 mutable Basis basis_;
72 };
73
74 // *************************************************************** Neumann **
75
88 template<class F>
89 class Neumann : public concepts::LinearForm<F> {
90 public:
96 virtual ~Neumann();
97 protected:
98 virtual std::ostream& info(std::ostream& os) const;
100 std::unique_ptr<BoundaryConditions> bc_;
101 };
102
103} // namespace concepts
104
105#endif // linearForm_hh
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual void operator()(const Element< G > &elm, ElementMatrix< F > &em) const =0
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
std::unique_ptr< BoundaryConditions > bc_
Reference to the boundary conditions.
Neumann(const BoundaryConditions *bc)
Set< F > makeSet(uint n, const F &first,...)
Definition set.hh:320
GenericElement< KarniadakisMixin< F > > Element
template aliases for backwards compatibility
Definition element.hh:267