boundaries.hh

Go to the documentation of this file.
1 
6 #ifndef hp2dEdgeBoundaries_hh
7 #define hp2dEdgeBoundaries_hh
8 
9 #include <memory>
10 #include "basics/typedefs.hh"
11 #include "function/linearForm.hh"
12 #include "space.hh"
13 #include "space/dirichlet.hh"
14 #include "hp2Dedge/bilinearForm.hh"
15 #include "hp2Dedge/quad.hh"
16 
17 
18 namespace concepts {
19  // forward declarations
20  template<class F>
21  class Formula;
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 
35 namespace hp2Dedge {
36  // forward declarations
37  template<class F>
38  class Quad;
39 
40  using concepts::Real;
41 
42  // ************************************************* DirichletCoefficients **
43 
49  public:
56  protected:
57  virtual std::ostream& info(std::ostream& os) const;
58  };
59 
60  // ******************************************************* DirichletRotRot **
61 
75  class DirichletRotRot : public concepts::LinearForm<Real> {
76  public:
81 
82  virtual ~DirichletRotRot();
83 
92  void operator()(const Quad<>& elm, concepts::ElementMatrix<Real>& em) const;
93  protected:
94  virtual std::ostream& info(std::ostream& os) const;
95  private:
101  };
102 
103  // ***************************************************** DirichletIdentity **
104 
119  public:
124 
126 
135  void operator()(const Quad<>& elm, concepts::ElementMatrix<Real>& em) const;
136  protected:
137  virtual std::ostream& info(std::ostream& os) const;
138  private:
145  };
146 
147 } // namespace hp2Dedge
148 
149 #endif // hp2dEdgeBoundaries_hh
DirichletIdentity(DirichletCoefficients *dc=0)
Constructor.
DirichletRotRot(DirichletCoefficients *dc=0)
Constructor.
A 2D FEM edge element: a quad.
Definition: bf_advection.hh:40
DirichletCoefficients(Space &spc)
Constructor, which calculates the local coefficients belonging the essential Dirichlet boundary condi...
concepts::Array< Real > jacobianReciprocal_
Intermediate data for element matrix computation.
Definition: boundaries.hh:97
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
void operator()(const Quad<> &elm, concepts::ElementMatrix< Real > &em) const
Class for calculating and holding local coefficients per element which represent the dirichlet bounda...
Definition: boundaries.hh:48
GenericElement< KarniadakisMixin< F > > Element
template aliases for backwards compatibility
Definition: element.hh:270
concepts::Array< Real > jacobian_
Intermediate data for element matrix computation.
Definition: boundaries.hh:140
Abstract class for a linear form.
concepts::Array< Real > tmp_
Definition: boundaries.hh:98
void operator()(const Quad<> &elm, concepts::ElementMatrix< Real > &em) const
void operator()(const concepts::Element< Real > &elm, concepts::ElementMatrix< Real > &em) const
Computes the element load vector.
concepts::Array< concepts::MapReal2d > jacobianInv_
Definition: boundaries.hh:141
void operator()(const concepts::Element< Real > &elm, concepts::ElementMatrix< Real > &em) const
Computes the element load vector.
virtual std::ostream & info(std::ostream &os) const
virtual std::ostream & info(std::ostream &os) const
Linear form in 2D for coping the Dirichlet boundary for RotRot bilinearform.
Definition: boundaries.hh:75
concepts::Array< Real > function_
Definition: boundaries.hh:140
Linear form in 2D for coping the Dirichlet boundary for Identity bilinearform.
Definition: boundaries.hh:118
DirichletCoefficients * dc_
Reference to the local coefficients, which fullfill bc.
Definition: boundaries.hh:144
concepts::Array< Real > tmp_
Definition: boundaries.hh:142
A 2D hp FEM space of edge elements with piecewise polynomial basis functions with two components,...
Definition: space.hh:52
concepts::Array< Real > function_
Definition: boundaries.hh:97
double Real
Type normally used for a floating point number.
Definition: typedefs.hh:36
Class for calculating and holding local coefficients per element which represent the dirichlet bounda...
Definition: dirichlet.hh:24
Basic namespace for Concepts-2.
Definition: pml_formula.h:16
DirichletCoefficients * dc_
Reference to the local coefficients, which fullfill bc.
Definition: boundaries.hh:100
hp 2D edge elements for electromagnetics.
Definition: bf_advection.hh:37
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich