1#ifndef DUNE_FEM_SCHEMES_LINEARIZED_HH
2#define DUNE_FEM_SCHEMES_LINEARIZED_HH
35 template<
class Scheme >
104 template <
class Gr
idFunction>
115 int oldCount = (*inverseOperator_).iterations();
118 (*inverseOperator_)( rhs, solution );
119 return SolverInfo(
true, (*inverseOperator_).iterations()-oldCount, 1 );
127 template<
class Gr
idFunction >
134 bool mark (
double tolerance ) {
return scheme_.mark( tolerance ); }
static void interpolate(const GridFunction &u, DiscreteFunction &v)
perform native interpolation of a discrete function space
Definition: common/interpolate.hh:54
Definition: bindguard.hh:11
static ParameterContainer & container()
Definition: io/parameter.hh:193
Definition: linearized.hh:37
DiscreteFunctionType ubar_
Definition: linearized.hh:161
SchemeType::DiscreteFunctionType DiscreteFunctionType
Definition: linearized.hh:39
SchemeType & scheme_
Definition: linearized.hh:153
SolverInfo solve(const DiscreteFunctionType &rhs, DiscreteFunctionType &solution) const
Definition: linearized.hh:113
const LinearOperatorType & assemble(const GridFunction &u)
Definition: linearized.hh:128
SchemeType::ModelType ModelType
Definition: linearized.hh:44
bool mark(double tolerance)
Definition: linearized.hh:134
LinearizedScheme(SchemeType &scheme, const DiscreteFunctionType &ubar, Dune::Fem::ParameterReader parameter=Dune::Fem::Parameter::container())
Definition: linearized.hh:70
double linreduction_
Definition: linearized.hh:156
void setup(const DiscreteFunctionType &ubar)
Definition: linearized.hh:85
DiscreteFunctionType affineShift_
Definition: linearized.hh:159
const GridPartType & gridPart() const
Definition: linearized.hh:137
void operator()(const DiscreteFunctionType &u, DiscreteFunctionType &w) const
Definition: linearized.hh:96
Dune::Fem::ParameterReader parameter_
Definition: linearized.hh:160
SchemeType::GridPartType GridPartType
Definition: linearized.hh:41
Scheme SchemeType
Definition: linearized.hh:38
LinearOperatorType linearOperator_
Definition: linearized.hh:154
SchemeType::InverseOperatorType LinearInverseOperatorType
Definition: linearized.hh:43
int sequence_
Definition: linearized.hh:162
int maxIter_
Definition: linearized.hh:157
SchemeType::LinearOperatorType LinearOperatorType
Definition: linearized.hh:42
SolverInfo solve(DiscreteFunctionType &solution) const
Definition: linearized.hh:121
double estimate(const DiscreteFunctionType &solution)
Definition: linearized.hh:135
const DiscreteFunctionSpaceType & space() const
Definition: linearized.hh:138
SchemeType::DiscreteFunctionSpaceType DiscreteFunctionSpaceType
Definition: linearized.hh:40
double linabstol_
Definition: linearized.hh:155
void affineShift() const
Definition: linearized.hh:141
LinearizedScheme(SchemeType &scheme, Dune::Fem::ParameterReader parameter=Dune::Fem::Parameter::container())
Definition: linearized.hh:55
std::shared_ptr< LinearInverseOperatorType > inverseOperator_
Definition: linearized.hh:158
void constraint(DiscreteFunctionType &u) const
Definition: linearized.hh:94
Definition: linearized.hh:46
int linearIterations
Definition: linearized.hh:52
int nonlinearIterations
Definition: linearized.hh:52
SolverInfo(bool converged, int linearIterations, int nonlinearIterations)
Definition: linearized.hh:47
bool converged
Definition: linearized.hh:51