SG++-Doxygen-Documentation
|
This class implements a step size control using Crank-Nicolson with different step sizes for solving ordinary partial equations. More...
#include <StepsizeControlH.hpp>
Public Member Functions | |
StepsizeControlH (std::string odesolver, size_t imax, double timestepSize, double eps, sgpp::base::ScreenOutput *screen=NULL, double gamma=0.9) | |
Std-Constructer. More... | |
virtual | ~StepsizeControlH () |
Std-Destructor. More... | |
Public Member Functions inherited from sgpp::solver::StepsizeControl | |
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... | |
Additional Inherited Members | |
Protected Member Functions inherited from sgpp::solver::StepsizeControl | |
double | maxNorm (sgpp::solver::OperationParabolicPDESolverSystem &System, sgpp::base::DataVector &dv1, sgpp::base::DataVector &dv2) |
virtual double | norm (sgpp::solver::OperationParabolicPDESolverSystem &System, sgpp::base::DataVector &dv1, sgpp::base::DataVector &dv2) |
double | twoNorm (sgpp::solver::OperationParabolicPDESolverSystem &System, sgpp::base::DataVector &dv1, sgpp::base::DataVector &dv2) |
Protected Attributes inherited from sgpp::solver::StepsizeControl | |
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::ScreenOutput * | myScreen |
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... | |
This class implements a step size control using Crank-Nicolson with different step sizes for solving ordinary partial equations.
sgpp::solver::StepsizeControlH::StepsizeControlH | ( | std::string | odesolver, |
size_t | imax, | ||
double | timestepSize, | ||
double | eps, | ||
sgpp::base::ScreenOutput * | screen = NULL , |
||
double | gamma = 0.9 |
||
) |
Std-Constructer.
odesolver | the mode of the euler that should be executed, must be ExEul or ImEul |
imax | number of maximum executed iterations |
timestepSize | the size of one timestep |
eps | the epsilon for the step size control |
screen | possible pointer to a sgpp::base::ScreenOutput object |
gamma | damping factor |
References friedman::eps, sgpp::solver::StepsizeControl::filename, sgpp::solver::StepsizeControl::myEps, and sgpp::solver::SGSolver::residuum.
|
virtual |
Std-Destructor.
References sgpp::solver::OperationParabolicPDESolverSystem::abortTimestep(), sgpp::solver::OperationParabolicPDESolverSystem::finishTimestep(), sgpp::solver::OperationParabolicPDESolverSystem::generateRHS(), sgpp::solver::OperationParabolicPDESolverSystem::getGridCoefficients(), sgpp::solver::OperationParabolicPDESolverSystem::getGridCoefficientsForCG(), sgpp::solver::OperationParabolicPDESolverSystem::getGridCoefficientsForSC(), sgpp::base::DataVector::getSize(), sgpp::solver::StepsizeControl::norm(), sgpp::combigrid::pow(), sgpp::solver::OperationParabolicPDESolverSystem::setODESolver(), sgpp::solver::OperationParabolicPDESolverSystem::setTimestepSize(), and sgpp::solver::SLESolver::solve().