Class documentation of Concepts

Loading...
Searching...
No Matches
linearForm.hh
Go to the documentation of this file.
1
6#ifndef hp2dEdgeLinearform_hh
7#define hp2dEdgeLinearform_hh
8
9#include <memory>
10#include "basics/typedefs.hh"
11#include "formula/boundary.hh"
14#include "hp2D/formula.hh"
15#include "hp2Dedge/quad.hh"
16
17namespace concepts {
18 // forward declarations
19 template<class F>
20 class Formula;
21
22 class BoundaryConditions;
23
24 template<class F>
25 class Element;
26
27 template<class F>
28 class ElementMatrix;
29
30 template<class F>
31 class Array;
32}
33
34namespace hp2Dedge {
35 // forward declarations
36 template<class F>
37 class Quad;
38
39 using concepts::Real;
40
41 // *************************************************************** Neumann **
42
55 class Neumann : public concepts::Neumann<Real> {
56 public:
69 virtual void operator()(const concepts::Element<Real>& elm,
71
72 virtual void operator()(const Quad<Real>& elm,
74 private:
77 virtual void part(const Edge<Real>& edge, const concepts::Boundary bd,
79 };
80
81 // ***************************************************************** Riesz **
82
94 class Riesz : public concepts::LinearForm<Real> {
95 public:
104 const concepts::BoundaryConditions* bc = 0);
106 const concepts::BoundaryConditions* bc = 0);
107 virtual ~Riesz();
108
118 void operator()(const Quad<Real>& elm, concepts::ElementMatrix<Real>& em) const;
119 protected:
120 virtual std::ostream& info(std::ostream& os) const;
121 private:
125 mutable concepts::Array<Real> tmp_;
127 Neumann neumann_;
128 };
129
130 // ************************************************************* EdgeRiesz **
131
147 class EdgeRiesz : public concepts::LinearForm<Real> {
148 public:
154 virtual ~EdgeRiesz();
155
165 void operator()(const Edge<Real>& elm, concepts::ElementMatrix<Real>& em) const;
166 protected:
167 virtual std::ostream& info(std::ostream& os) const;
168 private:
170 const concepts::Boundary bd_;
171 };
172
173} // namespace hp2Dedge
174
175#endif // hp2dEdgeLinearform_hh
EdgeRiesz(const concepts::Boundary &bd)
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
void operator()(const concepts::Element< Real > &elm, concepts::ElementMatrix< Real > &em) const
Neumann(const concepts::BoundaryConditions *bc)
virtual void operator()(const concepts::Element< Real > &elm, concepts::ElementMatrix< Real > &em) const
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Riesz(const concepts::ElementFormulaContainer< Real > frm1, const concepts::ElementFormulaContainer< Real > frm2, const concepts::BoundaryConditions *bc=0)
void operator()(const concepts::Element< Real > &elm, concepts::ElementMatrix< Real > &em) const
double Real
Definition typedefs.hh:39
GenericElement< KarniadakisMixin< F > > Element
template aliases for backwards compatibility
Definition element.hh:267