KASKADE 7 development version
Public Types | Public Member Functions | List of all members
Kaskade::WorkModel< Vector, Norm, Utils > Class Template Referenceabstract

Abstract base class for different work models. More...

#include <workModel.hh>

Detailed Description

template<class Vector, class Norm, class Utils>
class Kaskade::WorkModel< Vector, Norm, Utils >

Abstract base class for different work models.

This class represents a generic base class for an arbitrary work model

Abstract base class WorkModel which provides an interface for different kinds of work models for computation of the cost function, maximum number of iterations and local tolerances.

Definition at line 72 of file workModel.hh.

Inheritance diagram for Kaskade::WorkModel< Vector, Norm, Utils >:
Kaskade::FiniteElementDiscretization< Vector, Norm, Utils > Kaskade::Iteration< Vector, Norm, Utils >

Public Types

using field_type = typename Vector::value_type
 
using RealVector = Dune::DynamicVector< double >
 
using RealMatrix = Dune::DynamicMatrix< double >
 

Public Member Functions

virtual RealMatrix const & computeLocalTolerances (std::vector< Vector > const &yPrev, std::vector< Vector > const &yCurrent, std::vector< Vector > const &yNext)=0
 Pure virtual function implemented in derived classes for different work models. Computes the local tolerances for every time point and every iteration step given global tolerance. More...
 
virtual field_type lowerBoundIterJ (std::vector< Vector > const &yPrev, std::vector< Vector > const &yCurrent, field_type rho)=0
 
virtual ~WorkModel ()
 

Member Typedef Documentation

◆ field_type

template<class Vector , class Norm , class Utils >
using Kaskade::WorkModel< Vector, Norm, Utils >::field_type = typename Vector::value_type

Definition at line 75 of file workModel.hh.

◆ RealMatrix

template<class Vector , class Norm , class Utils >
using Kaskade::WorkModel< Vector, Norm, Utils >::RealMatrix = Dune::DynamicMatrix<double>

Definition at line 77 of file workModel.hh.

◆ RealVector

template<class Vector , class Norm , class Utils >
using Kaskade::WorkModel< Vector, Norm, Utils >::RealVector = Dune::DynamicVector<double>

Definition at line 76 of file workModel.hh.

Constructor & Destructor Documentation

◆ ~WorkModel()

template<class Vector , class Norm , class Utils >
virtual Kaskade::WorkModel< Vector, Norm, Utils >::~WorkModel ( )
inlinevirtual

Definition at line 112 of file workModel.hh.

Member Function Documentation

◆ computeLocalTolerances()

template<class Vector , class Norm , class Utils >
virtual RealMatrix const & Kaskade::WorkModel< Vector, Norm, Utils >::computeLocalTolerances ( std::vector< Vector > const &  yPrev,
std::vector< Vector > const &  yCurrent,
std::vector< Vector > const &  yNext 
)
pure virtual

Pure virtual function implemented in derived classes for different work models. Computes the local tolerances for every time point and every iteration step given global tolerance.

Parameters
yPrevAn (i-1)-th iterative approximation to the solution using sdc Iteration step.
yCurrentAn i-th iterative approximation to the solution using sdc Iteration step.
yNextAn (i+1)-th iterative approximation to the solution using sdc Iteration step.
Returns
Returns the matrix of local tolerances.

Implemented in Kaskade::Iteration< Vector, Norm, Utils >, and Kaskade::FiniteElementDiscretization< Vector, Norm, Utils >.

◆ lowerBoundIterJ()

template<class Vector , class Norm , class Utils >
virtual field_type Kaskade::WorkModel< Vector, Norm, Utils >::lowerBoundIterJ ( std::vector< Vector > const &  yPrev,
std::vector< Vector > const &  yCurrent,
field_type  rho 
)
pure virtual

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