dualSpace.hh

Go to the documentation of this file.
1 
6 #ifndef dualSpace_1D_hh
7 #define dualSpace_1D_hh
8 
9 #include "toolbox/hashMap.hh"
10 #include "space/space.hh"
11 #include "element.hh"
12 
13 namespace hp1D {
14 
15  using concepts::Real;
16 
17  // ************************************************************* DualSpace **
18 
29  class DualSpace : public concepts::SpaceOnCells<Real> {
30  public:
37  virtual ~DualSpace();
38 
39  inline uint dim() const { return dim_; }
40  inline uint nelm() const { return nelm_; }
41  inline Scan* scan() const {
42  return new concepts::PListScan<BaseElement<Real> >(*elm_);
43  }
44 
49  protected:
50  virtual std::ostream& info(std::ostream& os) const;
51  private:
53  uint dim_;
54 
56  uint nelm_;
57 
60 
63  };
64 
65 
66 } // namespace hp1D
67 
68 #endif // dualSpace_1D_hh
Class for a dual space to a continuous FE space on edges.
Definition: dualSpace.hh:29
Joiner class with multiple successors, i.e.
void recomputeShapefunctions()
Recompute shape functions, e.g.
virtual std::ostream & info(std::ostream &os) const
Scan * scan() const
Definition: dualSpace.hh:41
DualSpace(Scan *scan)
Constructor.
concepts::Scan< BaseElement< Real > > Scan
Definition: dualSpace.hh:31
An abstract class for scanning a mesh (a set of cells) or a space (a set of elements).
uint dim() const
Definition: dualSpace.hh:39
Abstract class for a space.
Definition: space.hh:81
uint nelm() const
Definition: dualSpace.hh:40
uint dim_
Dimension of the FE space.
Definition: dualSpace.hh:53
concepts::Joiner< BaseElement< Real > *, 1 > * elm_
Linked list of the elements.
Definition: dualSpace.hh:59
uint nelm_
Number of elements currently active in the mesh.
Definition: dualSpace.hh:56
concepts::HashMap< uint > ctrl0_
Hash table of the indices of the basis functions related to vertices.
Definition: dualSpace.hh:62
double Real
Type normally used for a floating point number.
Definition: typedefs.hh:36
virtual ~DualSpace()
Scanner for a list of pointers.
1D hp-FEM
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich