Class documentation of Concepts

Loading...
Searching...
No Matches
linearForm.hh
Go to the documentation of this file.
1
6#ifndef hp2dlinearform_hh
7#define hp2dlinearform_hh
8
9#include <memory>
10#include "basics/typedefs.hh"
12#include "linearFormHelper.hh"
14
15namespace concepts {
16 // forward declarations
17 template<class F>
18 class Formula;
19
20 template<class F, uint dim>
21 class Point;
22
23 class BoundaryConditions;
24
25 template<class F>
26 class Element;
27
28 template<class F>
29 class ElementMatrix;
30
31 template<class F>
32 class Array;
33}
34
35namespace vectorial {
36
37 template<class F, class G>
38 class LinearForm;
39}
40
41namespace hp2D {
42 // forward declarations
43 template<class F>
44 class Quad;
45
46 using concepts::Real;
47
48
49 // ***************************************************************** Riesz **
50
59 template<class F = Real>
60 class Riesz : public concepts::LinearForm<F>,
61 public LinearFormHelper_0<F>,
63 public:
71 bool ignoreMissingElem = false);
72
80 Riesz(const std::string& str,
82 bool ignoreMissingElem = false);
83
84 virtual ~Riesz();
85
95
96 protected:
97 virtual std::ostream& info(std::ostream& os) const;
98 private:
100 mutable concepts::Array<Real> jacobian_;
101
102 void operator()(const Quad<Real>& elm, concepts::ElementMatrix<F>& em) const;
103
107 bool ignoreMissingElem;
108 };
109
110 // ************************************************************ setupRiesz **
111
118 template<class F>
122
123
124 // ******************************************************** GradLinearForm **
125
135 template<class F = concepts::Real>
137 public LinearFormHelper_1<F>,
139 public:
146 bool ignoreMissingElem = false);
154 bool ignoreMissingElem = false);
155
162 virtual void operator()(const concepts::Element<Real>& elm,
164
165
166 protected:
167 virtual std::ostream& info(std::ostream& os) const;
168 private:
169 virtual void operator()(const Quad<Real>& elm,
171
172 bool ignoreMissingElem_;
173 };
174
175 // *************************************************** setupGradLinearForm **
176
184 template<class F>
189
190 // ****************************************************** PlCurlLinearForm **
191
201 template<class F>
203 public:
217 protected:
218 virtual std::ostream& info(std::ostream& os) const;
219 };
220
221 namespace l2 {
222
223 // *************************************************************** Riesz **
224
234 template<class F = Real>
235 class Riesz : public concepts::LinearForm<F>,
236 public LinearFormHelper_0<F> {
237 public:
243 bool ignoreMissingElem = false);
244 virtual ~Riesz();
245
255
256 protected:
257 virtual std::ostream& info(std::ostream& os) const;
258 private:
259 void operator()(const Quad<Real>& elm, concepts::ElementMatrix<F>& em) const;
260
261 bool ignoreMissingElem;
262 };
263
264 } // namespace hp2D::l2
265
266} // namespace hp2D
267
268#endif // hp2dlinearform_hh
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
GradLinearForm(const concepts::ElementFormulaContainer< concepts::Point< F, 2 > > frm, bool ignoreMissingElem=false)
GradLinearForm(const concepts::ElementFormulaContainer< F > frm1, const concepts::ElementFormulaContainer< F > frm2, bool ignoreMissingElem=false)
virtual void operator()(const concepts::Element< Real > &elm, concepts::ElementMatrix< F > &em) const
PlCurlLinearForm(const concepts::ElementFormulaContainer< concepts::Point< F, 2 > > frm)
PlCurlLinearForm(const concepts::ElementFormulaContainer< F > frm1, const concepts::ElementFormulaContainer< F > frm2)
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Riesz(const std::string &str, concepts::BoundaryConditions *bc=0, bool ignoreMissingElem=false)
void operator()(const concepts::Element< Real > &elm, concepts::ElementMatrix< F > &em) const
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Riesz(const concepts::ElementFormulaContainer< F > frm, concepts::BoundaryConditions *bc=0, bool ignoreMissingElem=false)
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
void operator()(const concepts::Element< Real > &elm, concepts::ElementMatrix< F > &em) const
Riesz(const concepts::ElementFormulaContainer< F > frm, bool ignoreMissingElem=false)
double Real
Definition typedefs.hh:39
GenericElement< KarniadakisMixin< F > > Element
template aliases for backwards compatibility
Definition element.hh:267
void setupGradLinearForm(vectorial::LinearForm< F, typename concepts::Realtype< F >::type > &lf, const concepts::ElementFormulaContainer< concepts::Point< F, 2 > > frm1, const concepts::ElementFormulaContainer< concepts::Point< F, 2 > > frm2)
void setupRiesz(vectorial::LinearForm< F, typename concepts::Realtype< F >::type > &lf, const concepts::ElementFormulaContainer< concepts::Point< F, 2 > > frm)