KASKADE 7 development version
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
Kaskade::FinalAdaptiveRefinement Class Reference

Performs error estimation and creates error indicators, but does not refine. Good for testing error estimators. More...

#include <adaptive_refinement.hh>

Detailed Description

Performs error estimation and creates error indicators, but does not refine. Good for testing error estimators.

Definition at line 138 of file adaptive_refinement.hh.

Inheritance diagram for Kaskade::FinalAdaptiveRefinement:
Kaskade::SimpleAdaptiveRefinement Kaskade::Algorithm Kaskade::AbstractNewtonDirection

Public Member Functions

 FinalAdaptiveRefinement (AbstractNewtonDirection &als, AbstractErrorEstimator &aee, AbstractAdaptiveGrid &ag, AbstractNorm &an, AdaptiveParameters &p_)
 
virtual double getBulk (int step) const
 
virtual void setRelativeAccuracy (double accuracy)
 set relative accuracy More...
 
virtual void setAbsoluteAccuracy (double accuracy)
 set absolute accuracy More...
 
virtual int runAlgorithm ()
 To be used as an algorithm. More...
 
double getRelativeAccuracy ()
 get achieved relative accuracy More...
 
double getAbsoluteAccuracy ()
 get achieved absolute accuracy More...
 
bool improvementPossible ()
 
virtual void doSolve (AbstractFunctionSpaceElement &corr, AbstractLinearization &lin)
 solve problem More...
 
virtual void doResolve (AbstractFunctionSpaceElement &correction, AbstractLinearization const &lin, AbstractLinearization const &olin) const
 Solve simplified Newton system: scorrection = +F'(iterate)^{-1}F(trialIterate) More...
 
virtual void doResolve (AbstractFunctionSpaceElement &correction, AbstractLinearization const &lin) const
 Solve simplified Newton system: scorrection = +F'(iterate)^{-1}F(trialIterate) More...
 
virtual bool changedGrid ()
 
void performTiming (bool doit)
 
void reportOnIteration (int level)
 
void ordinary (AbstractFunctionSpaceElement &correction, AbstractLinearization &linearization)
 
void simplified (AbstractFunctionSpaceElement &correction, AbstractLinearization const &linearization, AbstractLinearization const &oldlinearization) const
 
void simplified (AbstractFunctionSpaceElement &correction, AbstractLinearization const &linearization) const
 

Public Attributes

AdaptiveParametersp
 
bool alwaysestimate
 
boost::signals2::signal< void()> changed
 

Protected Member Functions

virtual bool convergenceTest (AbstractErrorEstimate const &estimate, AbstractAdaptiveGrid 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< AbstractErrorEstimateestimate
 
AbstractNewtonDirectionfixedSolver
 
AbstractErrorEstimatorerrorEstimator
 
AbstractNormnorm
 
AbstractAdaptiveGridgrid
 
AbstractLinearizationlinearization
 
AbstractFunctionSpaceElementcorrection
 
std::unique_ptr< AbstractFunctionSpaceElementoldcorrection
 
double noldold
 
int report
 

Constructor & Destructor Documentation

◆ FinalAdaptiveRefinement()

Kaskade::FinalAdaptiveRefinement::FinalAdaptiveRefinement ( AbstractNewtonDirection als,
AbstractErrorEstimator aee,
AbstractAdaptiveGrid ag,
AbstractNorm an,
AdaptiveParameters p_ 
)
inline

Definition at line 141 of file adaptive_refinement.hh.

Member Function Documentation

◆ algorithmWrapper()

int Kaskade::Algorithm::algorithmWrapper ( )
protectedinherited

Run algorithm, completely with initialization and finalization.

◆ changedGrid()

virtual bool Kaskade::SimpleAdaptiveRefinement::changedGrid ( )
inlinevirtualinherited

Reimplemented from Kaskade::AbstractNewtonDirection.

Definition at line 115 of file adaptive_refinement.hh.

◆ convergenceTest()

virtual bool Kaskade::SimpleAdaptiveRefinement::convergenceTest ( AbstractErrorEstimate const &  estimate,
AbstractAdaptiveGrid const &   
)
protectedvirtualinherited

◆ doResolve() [1/2]

virtual void Kaskade::SimpleAdaptiveRefinement::doResolve ( AbstractFunctionSpaceElement correction,
AbstractLinearization const &  lin 
) const
inlinevirtualinherited

Solve simplified Newton system: scorrection = +F'(iterate)^{-1}F(trialIterate)

Implements Kaskade::AbstractNewtonDirection.

Definition at line 110 of file adaptive_refinement.hh.

◆ doResolve() [2/2]

virtual void Kaskade::SimpleAdaptiveRefinement::doResolve ( AbstractFunctionSpaceElement correction,
AbstractLinearization const &  lin,
AbstractLinearization const &  olin 
) const
inlinevirtualinherited

Solve simplified Newton system: scorrection = +F'(iterate)^{-1}F(trialIterate)

Implements Kaskade::AbstractNewtonDirection.

Definition at line 105 of file adaptive_refinement.hh.

◆ doSolve()

virtual void Kaskade::SimpleAdaptiveRefinement::doSolve ( AbstractFunctionSpaceElement corr,
AbstractLinearization lin 
)
virtualinherited

solve problem

Implements Kaskade::AbstractNewtonDirection.

◆ finalize()

virtual void Kaskade::SimpleAdaptiveRefinement::finalize ( int  flag)
protectedvirtualinherited

Reimplemented from Kaskade::Algorithm.

◆ getAbsoluteAccuracy()

double Kaskade::SimpleAdaptiveRefinement::getAbsoluteAccuracy ( )
inlinevirtualinherited

get achieved absolute accuracy

Implements Kaskade::AbstractNewtonDirection.

Definition at line 98 of file adaptive_refinement.hh.

◆ getBulk()

virtual double Kaskade::FinalAdaptiveRefinement::getBulk ( int  step) const
virtual

Reimplemented from Kaskade::SimpleAdaptiveRefinement.

◆ getRelativeAccuracy()

double Kaskade::SimpleAdaptiveRefinement::getRelativeAccuracy ( )
inlinevirtualinherited

get achieved relative accuracy

Implements Kaskade::AbstractNewtonDirection.

Definition at line 96 of file adaptive_refinement.hh.

◆ improvementPossible()

bool Kaskade::SimpleAdaptiveRefinement::improvementPossible ( )
inlinevirtualinherited

Implements Kaskade::AbstractNewtonDirection.

Definition at line 100 of file adaptive_refinement.hh.

◆ initialize()

virtual void Kaskade::SimpleAdaptiveRefinement::initialize ( )
protectedvirtualinherited

Reimplemented from Kaskade::Algorithm.

◆ oneStepWrapper()

int Kaskade::Algorithm::oneStepWrapper ( )
protectedinherited

Run one step of algorithm.

◆ ordinary()

void Kaskade::AbstractNewtonDirection::ordinary ( AbstractFunctionSpaceElement correction,
AbstractLinearization linearization 
)
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().

◆ performTiming()

void Kaskade::Algorithm::performTiming ( bool  doit)
inlineinherited

Definition at line 181 of file algorithm_base.hh.

◆ reportOnIteration()

void Kaskade::Algorithm::reportOnIteration ( int  level)
inlineinherited

Definition at line 182 of file algorithm_base.hh.

◆ runAlgorithm()

virtual int Kaskade::SimpleAdaptiveRefinement::runAlgorithm ( )
virtualinherited

To be used as an algorithm.

Implements Kaskade::Algorithm.

Reimplemented in Kaskade::FixedSolverWithErrorEstimate.

◆ setAbsoluteAccuracy()

virtual void Kaskade::FinalAdaptiveRefinement::setAbsoluteAccuracy ( double  accuracy)
inlinevirtual

set absolute accuracy

Reimplemented from Kaskade::SimpleAdaptiveRefinement.

Definition at line 151 of file adaptive_refinement.hh.

◆ setRelativeAccuracy()

virtual void Kaskade::FinalAdaptiveRefinement::setRelativeAccuracy ( double  accuracy)
inlinevirtual

set relative accuracy

Reimplemented from Kaskade::SimpleAdaptiveRefinement.

Definition at line 149 of file adaptive_refinement.hh.

◆ simplified() [1/2]

void Kaskade::AbstractNewtonDirection::simplified ( AbstractFunctionSpaceElement correction,
AbstractLinearization const &  linearization 
) const
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.

◆ simplified() [2/2]

void Kaskade::AbstractNewtonDirection::simplified ( AbstractFunctionSpaceElement correction,
AbstractLinearization const &  linearization,
AbstractLinearization const &  oldlinearization 
) const
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().

◆ terminationMessage()

virtual void Kaskade::SimpleAdaptiveRefinement::terminationMessage ( int  flag)
protectedvirtualinherited

Reimplemented from Kaskade::Algorithm.

Member Data Documentation

◆ alwaysestimate

bool Kaskade::SimpleAdaptiveRefinement::alwaysestimate
inherited

Definition at line 133 of file adaptive_refinement.hh.

◆ changed

boost::signals2::signal<void()> Kaskade::AbstractNewtonDirection::changed
mutableinherited

Definition at line 319 of file abstract_interface.hh.

◆ correction

AbstractFunctionSpaceElement* Kaskade::SimpleAdaptiveRefinement::correction
protectedinherited

◆ errorEstimator

AbstractErrorEstimator& Kaskade::SimpleAdaptiveRefinement::errorEstimator
protectedinherited

Definition at line 121 of file adaptive_refinement.hh.

◆ estimate

std::shared_ptr<AbstractErrorEstimate> Kaskade::SimpleAdaptiveRefinement::estimate
protectedinherited

Definition at line 119 of file adaptive_refinement.hh.

◆ fixedSolver

AbstractNewtonDirection& Kaskade::SimpleAdaptiveRefinement::fixedSolver
protectedinherited

◆ grid

AbstractAdaptiveGrid& Kaskade::SimpleAdaptiveRefinement::grid
protectedinherited

Definition at line 123 of file adaptive_refinement.hh.

◆ linearization

AbstractLinearization* Kaskade::SimpleAdaptiveRefinement::linearization
protectedinherited

Definition at line 124 of file adaptive_refinement.hh.

◆ noldold

double Kaskade::SimpleAdaptiveRefinement::noldold
protectedinherited

Definition at line 127 of file adaptive_refinement.hh.

◆ norm

AbstractNorm& Kaskade::SimpleAdaptiveRefinement::norm
protectedinherited

Definition at line 122 of file adaptive_refinement.hh.

◆ oldcorrection

std::unique_ptr<AbstractFunctionSpaceElement> Kaskade::SimpleAdaptiveRefinement::oldcorrection
protectedinherited

Definition at line 126 of file adaptive_refinement.hh.

◆ p

AdaptiveParameters& Kaskade::SimpleAdaptiveRefinement::p
inherited

◆ report

int Kaskade::Algorithm::report
protectedinherited

Definition at line 193 of file algorithm_base.hh.

Referenced by Kaskade::Algorithm::reportOnIteration().


The documentation for this class was generated from the following file: