dirichlet.hh

Go to the documentation of this file.
1 
6 #ifndef dirichlet_hh
7 #define dirichlet_hh
8 
10 #include "basics/typedefs.hh"
11 #include "space/space.hh"
12 #include "space/element.hh"
13 #include "geometry/mesh.hh"
14 
15 
16 namespace concepts {
17 
18  // ************************************************************* Dirichlet **
19 
23  template<class F>
24  class Dirichlet : public virtual OutputOperator {
25  public:
29  std::map<int,F>* operator[](const Element<F>* elm) {
30  return (coeff_) ? (*coeff_)[elm] : 0; }
32  virtual ~Dirichlet();
33  protected:
34  virtual std::ostream& info(std::ostream& os) const;
36  virtual std::ostream& datainfo(std::ostream& os) const;
38  // --> Idee:
39  // Schlaufe über alle Formfunktionen, Eintrag für konkrete Funktion
40  // nichtbenutzte Indizes bleiben Null
41  // Alternative: Array, Schlaufe über benutzte Indizes,
42  // Problematisch Zuordnung Index zur Formfunktion
43 
44  // nicht schlimm, laufe ueber alle Eintraege in Data
45  // Joiner<Array<Data>*, 1>* coeff_;
46 
47 // Joiner<SparseArray<F>*, 1>* coeff_;
48 
49  // Map okay, aber keine Ausgabe (info), geschrieben!
50  //Joiner<std::map<int,F>*, 1>* coeff_;
51 
52 
53  std::map<const Element<F>*, std::map<int,F>*>* coeff_;
54  // schafft es Sparse'Matrix' auch?
55  // es gibt Funktionen zum Multiplizieren mit Vektoren
56  // das waere gut zum Ausrechnen der Funktionswerte
57  // jedoch ist ein Raum (spc) nötig
58  // Joiner<SparseMatrix<Real>*, 1>* coeff_;
59  };
60 
61 
62 
63 } // namespace concepts
64 
65 #endif // dirichlet_hh
An abstract class for an element of a space.
Definition: exceptions.hh:15
Dirichlet(Space< Real > &spc)
Constructor.
Definition: dirichlet.hh:27
virtual ~Dirichlet()
Destructor.
virtual std::ostream & datainfo(std::ostream &os) const
Writes coefficients for each element in the space to the stream.
std::map< const Element< F > *, std::map< int, F > * > * coeff_
Linked list of the local coefficients.
Definition: dirichlet.hh:53
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
std::map< int, F > * operator[](const Element< F > *elm)
Operator which returns the coefficients of one element.
Definition: dirichlet.hh:29
Class providing an output operator.
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
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich