Class documentation of Concepts

Loading...
Searching...
No Matches
bf_identity.hh
Go to the documentation of this file.
1
7#ifndef hp2Dedge_bf_identity_hh
8#define hp2Dedge_bf_identity_hh
9
10#include <memory>
12#include "basics/typedefs.hh"
16#include "formula/boundary.hh"
18#include "hp2D/quad.hh"
19#include "hp2D/formula.hh"
23
24namespace concepts
25{
26 // forward declarations
27 template<class F>
28 class Element;
29
30 template<class F>
31 class ElementMatrix;
32
33 template<class F>
34 class Array;
35
36 template<class F>
37 class RCP;
38}
39
40namespace hp2Dedge
41{
42 // forward declarations
43 template<class F>
44 class Quad;
45
46 template<class F>
47 class Edge;
48
49 using concepts::Real;
50
51 // ************************************************************** IdentityBase **
52
61 template<class F = Real, class G = typename concepts::Realtype<F>::type>
63 {
64 public:
65 typedef typename concepts::Combtype<F, G>::type value_type;
66
71 false);
72
75 bool all = false);
76 protected:
78 bool all_;
79
80 bool
81 assemble_(const Quad<Real>* elmX, const Quad<Real>* elmY,
83 };
84
85 // ************************************************************** Identity **
86
92 template<typename F = Real>
93 class Identity : public concepts::BilinearForm<F>, public IdentityBase<F>
94 {
95 public:
99 virtual ~Identity()
100 {
101 }
102 virtual Identity<F>*
103 clone() const
104 {
105 return new Identity<F>(this->frm_);
106 }
107 void
108 operator()(const concepts::Element<Real>& elmX,
109 const concepts::Element<Real>& elmY,
111 void
112 operator()(const Quad<Real>& elmX, const Quad<Real>& elmY,
114 protected:
115 virtual std::ostream& info(std::ostream& os) const;
116 };
117
118 // ************************************************************** IdentityMatrix **
119
124 template<typename F = Real>
126 public IdentityBase<Real, F>
127 {
128 public:
129
131
134 virtual ~IdentityMatrix()
135 {
136 }
137 virtual IdentityMatrix<F>*
138 clone() const
139 {
140 return new IdentityMatrix<F>(this->frmM_);
141 }
142 virtual void
143 operator()(const concepts::Element<Real>& elmX,
144 const concepts::Element<Real>& elmY,
146 virtual void
147 operator()(const Quad<Real>& elmX, const Quad<Real>& elmY,
149 protected:
150 virtual std::ostream&
151 info(std::ostream& os) const;
152 };
153
154} // namespace hp2Dedge
155
156#endif // hp2Dedge_bf_identity
concepts::ElementFormulaContainer< concepts::Mapping< G, 2 > > frmM_
Matrix element formula.
concepts::ElementFormulaContainer< F > frm_
Element formula.
IdentityBase(const concepts::ElementFormulaContainer< F > frm, bool all=false)
bool all_
Parameter for the sum factorisation.
virtual IdentityMatrix< F > * clone() const
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
IdentityMatrix(const FrmE_Matrix frm=FrmE_Matrix())
Constructor.
Identity(const concepts::ElementFormulaContainer< F > frm=concepts::ElementFormulaContainer< F >())
Constructor.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual Identity< F > * clone() const
double Real
Definition typedefs.hh:39
GenericElement< KarniadakisMixin< F > > Element
template aliases for backwards compatibility
Definition element.hh:267