SG++-Doxygen-Documentation
|
This class implements the Crank-Nicolson method for solving ordinary partial equations. More...
#include <CrankNicolson.hpp>
Public Member Functions | |
CrankNicolson (size_t nTimesteps, double timestepSize, sgpp::base::ScreenOutput *screen=NULL) | |
Std-Constructer. More... | |
virtual 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... | |
virtual | ~CrankNicolson () |
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 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 the Crank-Nicolson method for solving ordinary partial equations.
For solving the system of linear equations the already implemented CG-method is used
sgpp::solver::CrankNicolson::CrankNicolson | ( | size_t | nTimesteps, |
double | timestepSize, | ||
sgpp::base::ScreenOutput * | screen = NULL |
||
) |
Std-Constructer.
nTimesteps | number of maximum executed iterations |
timestepSize | the size of one timestep |
screen | possible pointer to a sgpp::base::ScreenOutput object |
References sgpp::solver::SGSolver::residuum.
|
virtual |
Std-Destructor.
|
virtual |
Pure virtual Function that defines a solve method for an ODE solver.
LinearSystemSolver | reference to an instance of a linear system solver that is used by this ODE solver |
System | reference to an sgpp::base::OperationMatrix Object that implements the matrix vector multiplication |
bIdentifyLastStep | set this to true to tell System the last step |
verbose | prints information during execution of the solver |
Implements sgpp::solver::ODESolver.
References sgpp::solver::OperationParabolicPDESolverSystem::coarsenAndRefine(), sgpp::solver::OperationParabolicPDESolverSystem::finishTimestep(), sgpp::solver::OperationParabolicPDESolverSystem::generateRHS(), sgpp::solver::OperationParabolicPDESolverSystem::getGridCoefficientsForCG(), sgpp::solver::SGSolver::getNumberIterations(), sgpp::solver::SGSolver::getResiduum(), python.statsfileInfo::i, sgpp::solver::SGSolver::nIterations, sgpp::solver::SGSolver::nMaxIterations, sgpp::solver::SLESolver::solve(), sgpp::base::ScreenOutput::update(), and sgpp::base::ScreenOutput::writeEmptyLines().
Referenced by sgpp::pde::HeatEquationSolver::solveCrankNicolson(), and sgpp::pde::HeatEquationSolverWithStretching::solveCrankNicolson().