Class documentation of Concepts

Loading...
Searching...
No Matches
divdiv.hh
Go to the documentation of this file.
1
6#ifndef divdiv2D_hh
7#define divdiv2D_hh
8
9#include "basics/typedefs.hh"
11#include "toolbox/array.hh"
14#include "hp2D/singularSet.hh"
15#include "hp2D/shortestDist.hh"
17#include "maxwell.hh"
18
19namespace vectorial {
20
21 // forward declaration
22 template<typename F, typename G>
23 class BilinearForm;
24
25} // namespace vectorial
26
27namespace concepts {
28
29 // forward declaration
30 template<typename F>
31 class Formula;
32}
33
34namespace hp2D {
35 // forward declarations
36 template<class F>
37 class Quad;
38
39 using concepts::Real;
40
41 // **************************************************************** DivDiv **
42
58 template<typename Weight = TrivialWeight>
59 class DivDiv : public concepts::BilinearForm<Real>,
61 public:
68 DivDiv(SingularSet& singularities, const uint i = 0, const uint j = 0,
69 const concepts::Formula<Real>* frm = 0);
85 const Quad<Real>** oldElm, SingularSet& singularities,
86 const uint i = 0, const uint j = 0,
87 const concepts::Formula<Real>* frm = 0);
88 virtual ~DivDiv();
89 virtual DivDiv* clone() const;
90
91 virtual void operator()(const concepts::Element<Real>& elmX,
92 const concepts::Element<Real>& elmY,
94 void operator()(const Quad<Real>& elmX, const Quad<Real>& elmY,
96
97 virtual void data(concepts::Cloneable* d);
98 virtual MaxwellSharedData* data() const;
99
109 hp2D::SingularSet& singularities,
110 const concepts::Formula<Real>* frm = 0);
111 protected:
112 virtual std::ostream& info(std::ostream& os) const;
113 private:
115 uint i_, j_;
116
118 SingularSet& singularities_;
120 Weight weight_;
121
123 std::unique_ptr<const concepts::Formula<Real> > frm_;
124
127
129
130 concepts::Array<Real>* jacobian_;
132 const Quad<Real>** oldElm_;
133 MaxwellSharedData* sharedData_;
135 };
136
137} // namespace hp2D
138
139#endif // divdiv2D_hh
DivDiv(SingularSet &singularities, const uint i=0, const uint j=0, const concepts::Formula< Real > *frm=0)
DivDiv(concepts::Array< Real > &jacobian, concepts::Array< concepts::MapReal2d > &jacobianInv, const Quad< Real > **oldElm, SingularSet &singularities, const uint i=0, const uint j=0, const concepts::Formula< Real > *frm=0)
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual void data(concepts::Cloneable *d)
Sets the data to be shared.
virtual DivDiv * clone() const
static void setup(vectorial::BilinearForm< Real, Real > &bf, hp2D::SingularSet &singularities, const concepts::Formula< Real > *frm=0)
virtual MaxwellSharedData * data() const
Returns the data to be shared.
double Real
Definition typedefs.hh:39