SG++-Doxygen-Documentation
sgpp::solver::StepsizeControl Class Referenceabstract

This class implements a step size control using Adams-Bashforth and Crank-Nicolson for solving ordinary partial equations. More...

#include <StepsizeControl.hpp>

Inheritance diagram for sgpp::solver::StepsizeControl:
sgpp::solver::ODESolver sgpp::solver::SGSolver sgpp::solver::StepsizeControlEJ sgpp::solver::StepsizeControlH sgpp::solver::VarTimestep sgpp::solver::StepsizeControlBDF sgpp::solver::StepsizeControlMC

Public Member Functions

void solve (SLESolver &LinearSystemSolver, sgpp::solver::OperationParabolicPDESolverSystem &System, bool bIdentifyLastStep=false, bool verbose=false)
 Pure virtual Function that defines a solve method for an ODE solver. More...
 
 StepsizeControl (size_t imax, double timestepSize, double eps, double sc, sgpp::base::ScreenOutput *screen=NULL, double gamma=0.5)
 Std-Constructer. More...
 
virtual ~StepsizeControl ()
 Std-Destructor. More...
 
- Public Member Functions inherited from sgpp::solver::ODESolver
 ODESolver (size_t imax, double timestepSize)
 Std-Constructor. More...
 
virtual ~ODESolver ()
 Std-Destructor. More...
 
- Public Member Functions inherited from sgpp::solver::SGSolver
double getEpsilon ()
 gets the the epsilon, that is used in the SGSolver More...
 
size_t getNumberIterations ()
 function that returns the number of needed solve steps More...
 
double getResiduum ()
 function the returns the residuum (current or final), error of the solver More...
 
void setEpsilon (double eps)
 resets the epsilon, that is used in the SGSolver More...
 
void setMaxIterations (size_t nIterations)
 resets the number of maximum iterations More...
 
 SGSolver (size_t nMaximumIterations, double epsilon)
 Std-Constructor. More...
 
virtual ~SGSolver ()
 Std-Destructor. More...
 

Protected Member Functions

virtual void corrector (SLESolver &LinearSystemSolver, sgpp::solver::OperationParabolicPDESolverSystem &System, double tmp_timestepsize, sgpp::base::DataVector &dv, sgpp::base::DataVector *rhs)=0
 
double maxNorm (sgpp::solver::OperationParabolicPDESolverSystem &System, sgpp::base::DataVector &dv1, sgpp::base::DataVector &dv2)
 
virtual double nextTimestep (double tmp_timestepsize, double tmp_timestepsize_old, double norm, double epsilon)=0
 
virtual double norm (sgpp::solver::OperationParabolicPDESolverSystem &System, sgpp::base::DataVector &dv1, sgpp::base::DataVector &dv2)
 
virtual void predictor (SLESolver &LinearSystemSolver, sgpp::solver::OperationParabolicPDESolverSystem &System, double tmp_timestepsize, sgpp::base::DataVector &dv, sgpp::base::DataVector &corr, sgpp::base::DataVector *rhs)=0
 
double twoNorm (sgpp::solver::OperationParabolicPDESolverSystem &System, sgpp::base::DataVector &dv1, sgpp::base::DataVector &dv2)
 

Protected Attributes

double _gamma
 damping factor More...
 
std::string filename
 
double myEps
 epsilon for the step size control More...
 
double mySC
 temp. Stepsize Control More...
 
sgpp::base::ScreenOutputmyScreen
 Pointer to sgpp::base::ScreenOutput object. More...
 
- Protected Attributes inherited from sgpp::solver::SGSolver
double myEpsilon
 epsilon needed in the, e.g. final error in the iterative solver, or a timestep More...
 
size_t nIterations
 Number of Iterations needed for the solve. More...
 
size_t nMaxIterations
 Number of maximum iterations for cg. More...
 
double residuum
 residuum More...
 

Detailed Description

This class implements a step size control using Adams-Bashforth and Crank-Nicolson for solving ordinary partial equations.

Constructor & Destructor Documentation

◆ StepsizeControl()

sgpp::solver::StepsizeControl::StepsizeControl ( size_t  imax,
double  timestepSize,
double  eps,
double  sc,
sgpp::base::ScreenOutput screen = NULL,
double  gamma = 0.5 
)

Std-Constructer.

Parameters
scstep size
imaxnumber of maximum executed iterations
timestepSizethe size of one timestep
epsthe epsilon for the step size control
screenpossible pointer to a sgpp::base::ScreenOutput object
gammadamping factor

References friedman::eps, myEps, mySC, and sgpp::solver::SGSolver::residuum.

◆ ~StepsizeControl()

sgpp::solver::StepsizeControl::~StepsizeControl ( )
virtual

Std-Destructor.

Member Function Documentation

◆ corrector()

virtual void sgpp::solver::StepsizeControl::corrector ( SLESolver LinearSystemSolver,
sgpp::solver::OperationParabolicPDESolverSystem System,
double  tmp_timestepsize,
sgpp::base::DataVector dv,
sgpp::base::DataVector rhs 
)
protectedpure virtual

Implemented in sgpp::solver::VarTimestep.

Referenced by solve().

◆ maxNorm()

◆ nextTimestep()

virtual double sgpp::solver::StepsizeControl::nextTimestep ( double  tmp_timestepsize,
double  tmp_timestepsize_old,
double  norm,
double  epsilon 
)
protectedpure virtual

◆ norm()

◆ predictor()

virtual void sgpp::solver::StepsizeControl::predictor ( SLESolver LinearSystemSolver,
sgpp::solver::OperationParabolicPDESolverSystem System,
double  tmp_timestepsize,
sgpp::base::DataVector dv,
sgpp::base::DataVector corr,
sgpp::base::DataVector rhs 
)
protectedpure virtual

Implemented in sgpp::solver::VarTimestep.

Referenced by solve().

◆ solve()

void sgpp::solver::StepsizeControl::solve ( SLESolver LinearSystemSolver,
sgpp::solver::OperationParabolicPDESolverSystem System,
bool  bIdentifyLastStep = false,
bool  verbose = false 
)
virtual

◆ twoNorm()

double sgpp::solver::StepsizeControl::twoNorm ( sgpp::solver::OperationParabolicPDESolverSystem System,
sgpp::base::DataVector dv1,
sgpp::base::DataVector dv2 
)
protected

Member Data Documentation

◆ _gamma

double sgpp::solver::StepsizeControl::_gamma
protected

damping factor

Referenced by solve().

◆ filename

◆ myEps

◆ mySC

double sgpp::solver::StepsizeControl::mySC
protected

◆ myScreen

sgpp::base::ScreenOutput* sgpp::solver::StepsizeControl::myScreen
protected

Pointer to sgpp::base::ScreenOutput object.

Referenced by solve().


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