KASKADE 7 development version
modelCreator.hh
Go to the documentation of this file.
1#ifndef MODELCREATOR_HH
2#define MODELCREATOR_HH
3
4#include <memory>
5#include <vector>
6
7#include <dune/grid/config.h>
8#include <dune/common/fvector.hh>
9#include <dune/istl/bvector.hh>
10#include <dune/istl/matrix.hh>
11
12namespace Kaskade
13{
14 class AbstractScalarProduct;
15 class AbstractFunctionSpaceElement;
16 class LagrangeLinearization;
17 class QuadraticFunction;
18
24 {
25 QuadraticModelCreator(AbstractFunctionSpaceElement const& normalStep, std::vector<std::shared_ptr<AbstractFunctionSpaceElement> >const& tangentialBasis, LagrangeLinearization const& lagrangeLinearization, double residualCorrection = 0);
26
27 QuadraticFunction create(double nu) const;
28
29 private:
30 double p0c0, Lxxdndn;
33 };
34
36 {
41 NormModelCreator(AbstractFunctionSpaceElement const& normalStep, std::vector<std::shared_ptr<AbstractFunctionSpaceElement> > const& tangentialBasis, AbstractScalarProduct const& sp);
42
43 // Create scalar product in tangential subspace.
44 QuadraticFunction create(double nu) const;
45
46 private:
47 double dndn;
50 };
51}
52
53#endif // MODELCREATOR_HH
Abstract Vector for function space algorithms.
TODO !!!!! Entscheidung über Vektortyp !!!!!!
QuadraticFunction create(double nu) const
NormModelCreator(AbstractFunctionSpaceElement const &normalStep, std::vector< std::shared_ptr< AbstractFunctionSpaceElement > > const &tangentialBasis, AbstractScalarProduct const &sp)
QuadraticModelCreator(AbstractFunctionSpaceElement const &normalStep, std::vector< std::shared_ptr< AbstractFunctionSpaceElement > >const &tangentialBasis, LagrangeLinearization const &lagrangeLinearization, double residualCorrection=0)
QuadraticFunction create(double nu) const