space.hh

Go to the documentation of this file.
1 
6 #ifndef constrSpace_hh
7 #define constrSpace_hh
8 
9 #include <memory>
10 #include "space/space.hh"
12 #include "element.hh"
13 
14 namespace concepts {
15 
16  // ************************************************************** Scanners **
17 
18  template<typename F>
19  class Scan<constraints::Element<F> > : public Scan<Element<Real> > {
20  public:
22  };
23 
24 } // namespace concepts
25 
26 namespace constraints {
27 
28  template<typename F>
29  class ConstraintsList;
30 
31  // ***************************************************************** Space **
32 
36  template<class F>
37  class Space : public concepts::Space<F> {
38  public:
44  virtual ~Space();
45 
47 
48  virtual uint dim() const { return dim_; }
49  virtual uint nelm() const { return nelm_; }
50  virtual Scan* scan() const;
51 
53  void rebuild();
54 
57  protected:
58  virtual std::ostream& info(std::ostream& os) const;
59  private:
61  uint dim_;
63  uint nelm_;
66 
69 
72 
74  std::unique_ptr<concepts::ElementPairList<F> > elmPairList_;
75  };
76 
77 } // namespace constraints
78 
79 #endif // constrSpace_hh
An abstract class for an element of a space.
Definition: exceptions.hh:15
virtual std::ostream & info(std::ostream &os) const
virtual uint dim() const
Returns the dimension of the space.
Definition: space.hh:48
Space(concepts::Space< F > &spc, ConstraintsList< F > &constr)
Constructor.
concepts::Joiner< Element< F > *, 1 > * elm_
Linear list of elements.
Definition: space.hh:65
Abstract class for a space.
Joiner class with multiple successors, i.e.
List of AnalyticalConstraint.
Definition: analytical.hh:111
Essential boundary conditions and multi-point constraints [1].
Definition: analytical.hh:21
std::unique_ptr< concepts::ElementPairList< F > > elmPairList_
List of element pairs to be used in matrix assembly.
Definition: space.hh:74
ConstraintsList< F > & constr_
List of constraints.
Definition: space.hh:71
const concepts::ElementPairList< F > & elmPairList()
Returns a list of element pairs needed for matrix assembly.
Definition: space.hh:56
An abstract class for scanning a mesh (a set of cells) or a space (a set of elements).
concepts::Scan< Element< F > > Scan
Definition: space.hh:46
Holds a list of ElementPair and allows to scan over this list.
Definition: elementPairs.hh:41
uint nelm_
Number of elements in the space.
Definition: space.hh:63
virtual constraints::Element< F > & operator++(int)=0
Returns the next element in the scanned set.
void rebuild()
Rebuilds the space.
concepts::Space< F > & compSpc_
Computational space.
Definition: space.hh:68
Element of the constraints space.
Definition: analytical.hh:24
virtual uint nelm() const
Returns the number of elements in the space.
Definition: space.hh:49
virtual Scan * scan() const
Returns a scanner to iterate over the elements of the space.
Basic namespace for Concepts-2.
Definition: pml_formula.h:16
Space of constraints.
Definition: space.hh:37
uint dim_
Dimension of the space.
Definition: space.hh:61
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich