Class documentation of Concepts

Loading...
Searching...
No Matches
divdiv.hh
Go to the documentation of this file.
1
6#ifndef divdiv3D_hh
7#define divdiv3D_hh
8
9#include "basics/typedefs.hh"
11#include "basics/cloneable.hh"
12#include "toolbox/array.hh"
13#include "formula/formula.hh"
15#include "hp3D/singularSet.hh"
16#include "hp3D/shortestDist.hh"
18#include "maxwell.hh"
19
20namespace vectorial {
21 template<typename F, typename G>
22 class BilinearForm;
23} // namespace vectorial
24
25namespace hp3D {
26 // forward declarations
27 class Hexahedron;
28
29 using concepts::Real;
30
31 // **************************************************************** DivDiv **
32
45 template<class Weight = TrivialWeight>
46 class DivDiv : public concepts::BilinearForm<Real>,
48 public:
55 DivDiv(SingularSet& singularities, const uint i = 0, const uint j = 0,
56 const concepts::Formula<Real>* frm = 0);
72 const Hexahedron** oldElm, SingularSet& singularities,
73 const uint i = 0, const uint j = 0,
74 const concepts::Formula<Real>* frm = 0);
75 virtual ~DivDiv();
76 virtual DivDiv* clone() const;
77
78 virtual void operator()(const concepts::Element<Real>& elmX,
79 const concepts::Element<Real>& elmY,
81 void operator()(const Hexahedron& elmX, const Hexahedron& elmY,
83
84 virtual void data(concepts::Cloneable* d);
85 virtual MaxwellSharedData* data() const;
86
96 hp3D::SingularSet& singularities,
97 const concepts::Formula<Real>* frm = 0);
98 protected:
99 virtual std::ostream& info(std::ostream& os) const;
100 private:
102 uint i_, j_;
103
105 SingularSet& singularities_;
107 Weight weight_;
108
110 std::unique_ptr<const concepts::Formula<Real> > frm_;
111
113 mutable concepts::Array<concepts::MapReal3d> coeffMatrix_;
114
116
117 concepts::Array<Real>* jacobian_;
119 const Hexahedron** oldElm_;
120 MaxwellSharedData* sharedData_;
122 };
123
124} // namespace hp3D
125
126#endif // divdiv3D_hh
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.
static void setup(vectorial::BilinearForm< Real, Real > &bf, hp3D::SingularSet &singularities, const concepts::Formula< Real > *frm=0)
virtual MaxwellSharedData * data() const
Returns the data to be shared.
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::MapReal3d > &jacobianInv, const Hexahedron **oldElm, SingularSet &singularities, const uint i=0, const uint j=0, const concepts::Formula< Real > *frm=0)
virtual DivDiv * clone() const
double Real
Definition typedefs.hh:39
Definition meshDX.hh:23