KASKADE 7 development version
|
Adaptive refinement algorithm. More...
#include <adaptive_refinement.hh>
Adaptive refinement algorithm.
Implementation uses the strategy pattern, and should be flexible to use. In order to make it work one has to provide implementations of the following interfaces:
Definition at line 67 of file adaptive_refinement.hh.
Public Attributes | |
AdaptiveParameters & | p |
bool | alwaysestimate |
boost::signals2::signal< void()> | changed |
Protected Member Functions | |
virtual bool | convergenceTest (AbstractErrorEstimate const &estimate, AbstractAdaptiveGrid const &) |
virtual double | getBulk (int step) const |
virtual void | initialize () |
virtual void | finalize (int flag) |
virtual void | terminationMessage (int flag) |
int | algorithmWrapper () |
Run algorithm, completely with initialization and finalization. More... | |
int | oneStepWrapper () |
Run one step of algorithm. More... | |
Protected Attributes | |
std::shared_ptr< AbstractErrorEstimate > | estimate |
AbstractNewtonDirection & | fixedSolver |
AbstractErrorEstimator & | errorEstimator |
AbstractNorm & | norm |
AbstractAdaptiveGrid & | grid |
AbstractLinearization * | linearization |
AbstractFunctionSpaceElement * | correction |
std::unique_ptr< AbstractFunctionSpaceElement > | oldcorrection |
double | noldold |
int | report |
|
inline |
Construction.
Definition at line 72 of file adaptive_refinement.hh.
|
inlinevirtual |
Definition at line 82 of file adaptive_refinement.hh.
|
protectedinherited |
Run algorithm, completely with initialization and finalization.
|
inlinevirtual |
Reimplemented from Kaskade::AbstractNewtonDirection.
Definition at line 115 of file adaptive_refinement.hh.
|
protectedvirtual |
|
inlinevirtual |
Solve simplified Newton system: scorrection = +F'(iterate)^{-1}F(trialIterate)
Implements Kaskade::AbstractNewtonDirection.
Definition at line 110 of file adaptive_refinement.hh.
|
inlinevirtual |
Solve simplified Newton system: scorrection = +F'(iterate)^{-1}F(trialIterate)
Implements Kaskade::AbstractNewtonDirection.
Definition at line 105 of file adaptive_refinement.hh.
|
virtual |
solve problem
Implements Kaskade::AbstractNewtonDirection.
|
protectedvirtual |
Reimplemented from Kaskade::Algorithm.
|
inlinevirtual |
get achieved absolute accuracy
Implements Kaskade::AbstractNewtonDirection.
Definition at line 98 of file adaptive_refinement.hh.
|
protectedvirtual |
Reimplemented in Kaskade::FinalAdaptiveRefinement.
|
inlinevirtual |
get achieved relative accuracy
Implements Kaskade::AbstractNewtonDirection.
Definition at line 96 of file adaptive_refinement.hh.
|
inlinevirtual |
Implements Kaskade::AbstractNewtonDirection.
Definition at line 100 of file adaptive_refinement.hh.
|
protectedvirtual |
Reimplemented from Kaskade::Algorithm.
|
protectedinherited |
Run one step of algorithm.
|
inlineinherited |
This method is not const, since the internal state of the solver may be modified Computes an undamped ordinary Newton step, i.e., \(correction=-F'(x)^{-1}F(x)\)
Definition at line 275 of file abstract_interface.hh.
Referenced by Kaskade::NewtonsMethod::getSearchDirection().
|
inlineinherited |
Definition at line 181 of file algorithm_base.hh.
|
inlineinherited |
Definition at line 182 of file algorithm_base.hh.
|
virtual |
To be used as an algorithm.
Implements Kaskade::Algorithm.
Reimplemented in Kaskade::FixedSolverWithErrorEstimate.
|
inlinevirtual |
set absolute accuracy
Reimplemented from Kaskade::AbstractNewtonDirection.
Reimplemented in Kaskade::FinalAdaptiveRefinement.
Definition at line 94 of file adaptive_refinement.hh.
|
inlinevirtual |
set relative accuracy
Implements Kaskade::AbstractNewtonDirection.
Reimplemented in Kaskade::FinalAdaptiveRefinement.
Definition at line 92 of file adaptive_refinement.hh.
|
inlineinherited |
Computes an undamped simplified Newton step, i.e., correction=-F'(xold)^{-1}F(x) where F'(xold)^{-1} has been kept from an earlier ordinary() call
Definition at line 287 of file abstract_interface.hh.
|
inlineinherited |
Computes an undamped simplified Newton step, i.e., correction=-F'(xold)^{-1}F(x)
Definition at line 280 of file abstract_interface.hh.
Referenced by Kaskade::NewtonsMethod::resolve().
|
protectedvirtual |
Reimplemented from Kaskade::Algorithm.
bool Kaskade::SimpleAdaptiveRefinement::alwaysestimate |
Definition at line 133 of file adaptive_refinement.hh.
|
mutableinherited |
Definition at line 319 of file abstract_interface.hh.
|
protected |
Definition at line 125 of file adaptive_refinement.hh.
Referenced by doResolve().
|
protected |
Definition at line 121 of file adaptive_refinement.hh.
|
protected |
Definition at line 119 of file adaptive_refinement.hh.
|
protected |
Definition at line 120 of file adaptive_refinement.hh.
Referenced by doResolve().
|
protected |
Definition at line 123 of file adaptive_refinement.hh.
|
protected |
Definition at line 124 of file adaptive_refinement.hh.
|
protected |
Definition at line 127 of file adaptive_refinement.hh.
|
protected |
Definition at line 122 of file adaptive_refinement.hh.
|
protected |
Definition at line 126 of file adaptive_refinement.hh.
AdaptiveParameters& Kaskade::SimpleAdaptiveRefinement::p |
Definition at line 132 of file adaptive_refinement.hh.
Referenced by changedGrid(), getAbsoluteAccuracy(), getRelativeAccuracy(), improvementPossible(), setAbsoluteAccuracy(), Kaskade::FinalAdaptiveRefinement::setAbsoluteAccuracy(), setRelativeAccuracy(), and Kaskade::FinalAdaptiveRefinement::setRelativeAccuracy().
|
protectedinherited |
Definition at line 193 of file algorithm_base.hh.
Referenced by Kaskade::Algorithm::reportOnIteration().