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

#include <workModel.hh>

Detailed Description

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

Definition at line 285 of file workModel.hh.

Inheritance diagram for Kaskade::FiniteElementDiscretization< Vector, Norm, Utils >:
Kaskade::WorkModel< 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

 FiniteElementDiscretization (field_type tol_, std::vector< Vector > const &y0_, std::vector< Vector > const &y1_, Norm &norm_, Utils &util_, RealVector const &timePts_, RealMatrix const &integrationMatrix_, int dim_)
 
field_type computeCost (RealMatrix const &tolMat)
 
field_type getIterJ (std::vector< Vector > const &yPrev, std::vector< Vector > const &yCurrent, field_type rho)
 
virtual RealMatrix const & computeLocalTolerances (std::vector< Vector > const &yPrev, std::vector< Vector > const &yCurrent, std::vector< Vector > const &yNext)
 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)
 
virtual ~FiniteElementDiscretization ()
 

Member Typedef Documentation

◆ field_type

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

Definition at line 288 of file workModel.hh.

◆ RealMatrix

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

Definition at line 290 of file workModel.hh.

◆ RealVector

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

Definition at line 289 of file workModel.hh.

Constructor & Destructor Documentation

◆ FiniteElementDiscretization()

template<class Vector , class Norm , class Utils >
Kaskade::FiniteElementDiscretization< Vector, Norm, Utils >::FiniteElementDiscretization ( field_type  tol_,
std::vector< Vector > const &  y0_,
std::vector< Vector > const &  y1_,
Norm norm_,
Utils &  util_,
RealVector const &  timePts_,
RealMatrix const &  integrationMatrix_,
int  dim_ 
)

Definition at line 605 of file workModel.hh.

◆ ~FiniteElementDiscretization()

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

Definition at line 350 of file workModel.hh.

Member Function Documentation

◆ computeCost()

template<class Vector , class Norm , class Utils >
Vector::value_type Kaskade::FiniteElementDiscretization< Vector, Norm, Utils >::computeCost ( RealMatrix const &  tolMat)

◆ computeLocalTolerances()

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

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.

Implements Kaskade::WorkModel< Vector, Norm, Utils >.

Definition at line 309 of file workModel.hh.

Referenced by Kaskade::EulerSDC< Vector, Norm, Utils, TimeGrid >::integrate().

◆ getIterJ()

template<class Vector , class Norm , class Utils >
Vector::value_type Kaskade::FiniteElementDiscretization< Vector, Norm, Utils >::getIterJ ( std::vector< Vector > const &  yPrev,
std::vector< Vector > const &  yCurrent,
field_type  rho 
)

◆ lowerBoundIterJ()

template<class Vector , class Norm , class Utils >
virtual field_type Kaskade::FiniteElementDiscretization< Vector, Norm, Utils >::lowerBoundIterJ ( std::vector< Vector > const &  yPrev,
std::vector< Vector > const &  yCurrent,
field_type  rho 
)
inlinevirtual
Parameters
yPrev
yCurrent
rho
Returns

Implements Kaskade::WorkModel< Vector, Norm, Utils >.

Definition at line 339 of file workModel.hh.


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