spaceTransition.hh

Go to the documentation of this file.
1 
6 #ifndef spaceTransition_hh
7 #define spaceTransition_hh
8 
10 #include "space/elementPairs.hh"
11 #include "space.hh"
12 
13 namespace hp3D {
14 
15  // ******************************************************** TransitionPair **
16 
20  class TransitionPair : public concepts::ElementPair<Real> {
21  public:
23  const int relation) :
25  virtual const Element<Real>& elm1() const { return elm1_; }
26  virtual const Element<Real>& elm2() const { return elm2_; }
28  int relation() const { return relation_; }
29  private:
31  const int relation_;
32  };
33 
34  // ******************************************************* SpaceTransition **
35 
42  class SpaceTransition : public concepts::Operator<Real> {
43  public:
49  virtual void operator()(const concepts::Function<Real>& fncY,
53  virtual const Space& spaceX() const { return spcX_; }
54  virtual const Space& spaceY() const { return spcY_; }
55  protected:
56  virtual std::ostream& info(std::ostream& os) const;
57  private:
59  const Space& spcX_, & spcY_;
70  bool findChildPath_(const int level, const concepts::Hexahedron3d& large,
71  const concepts::Hexahedron3d& small,
72  concepts::Array<uint>& children);
73  };
74 
75 } // namespace hp3D
76 
77 #endif // spaceTransition_hh
virtual void operator()(const concepts::Function< Real > &fncY, concepts::Function< Real > &fncX)
virtual const Space & spaceX() const
Gives access to a pair of elements.
Definition: elementPairs.hh:25
A 3D cell: hexahedron.
Definition: cell3D.hh:317
A 3D hp FEM space with continuous, picewise polynomial basis functions.
Definition: space.hh:84
void operator()(const concepts::Vector< Real > &fncY, concepts::Vector< Real > &fncX)
virtual std::ostream & info(std::ostream &os) const
bool findChildPath_(const int level, const concepts::Hexahedron3d &large, const concepts::Hexahedron3d &small, concepts::Array< uint > &children)
Finds a path from large to small.
virtual const Space & spaceY() const
virtual const Element< Real > & elm2() const
const Element< Real > & elm2_
int relation() const
Returns the relation of the two elements.
Abstract class for an operator.
Definition: ARPACK.hh:16
const Element< Real > & elm1_
Element pair for the SpaceTransition.
virtual const Element< Real > & elm1() const
TransitionPair(const Element< Real > &elm1, const Element< Real > &elm2, const int relation)
const Space & spcX_
The spaces.
SpaceTransition(const Space &spaceX, const Space &spaceY)
Constructor.
3D hp-FEM for H1-conforming elements.
Definition: meshDX.hh:23
Maps a solution vector from one space to another.
concepts::ElementPairList< Real > elmPairs_
List of element pairs.
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich