![]() |
SG++-Doxygen-Documentation
|
This class implements the ParabolicPDESolverSystem for the Heat Equation. More...
#include <HeatEquationParabolicPDESolverSystem.hpp>
Public Member Functions | |
| virtual void | coarsenAndRefine (bool isLastTimestep=false) |
| virtual void | finishTimestep () |
| performs some action that might be needed after a timestep has be finished in the ODE Solver, e.g. More... | |
| HeatEquationParabolicPDESolverSystem (sgpp::base::Grid &SparseGrid, sgpp::base::DataVector &alpha, double a, double TimestepSize, std::string OperationMode="ExEul") | |
| Std-Constructor. More... | |
| virtual void | startTimestep () |
| Implements some start jobs of every timestep, e.g.discounting boundaries. More... | |
| virtual | ~HeatEquationParabolicPDESolverSystem () |
| Std-Destructor. More... | |
Public Member Functions inherited from sgpp::pde::OperationParabolicPDESolverSystemDirichlet | |
| virtual sgpp::base::DataVector * | generateRHS () |
| generates the right hand side of the system More... | |
| virtual sgpp::base::DataVector * | getGridCoefficientsForCG () |
| gets a pointer to the sparse grids coefficients used in the CG method to solve one timestep. More... | |
| virtual void | mult (sgpp::base::DataVector &alpha, sgpp::base::DataVector &result) |
| Multiplicates a vector with the matrix. More... | |
| OperationParabolicPDESolverSystemDirichlet () | |
| Constructor. More... | |
| virtual | ~OperationParabolicPDESolverSystemDirichlet () |
| Destructor. More... | |
Public Member Functions inherited from sgpp::solver::OperationParabolicPDESolverSystem | |
| void | abortTimestep () |
| aborts the current timestep execution More... | |
| sgpp::base::Grid * | getGrid () |
| get the pointer to the underlying grid object More... | |
| sgpp::base::DataVector * | getGridCoefficients () |
| gets a pointer to the sparse grids coefficients with evtl. More... | |
| void | getGridCoefficientsForSC (sgpp::base::DataVector &Values) |
| stores the values of the (dehierarchized) grid in the sgpp::base::DataVector Values used by time step size control methods More... | |
| sgpp::base::GridStorage * | getGridStorage () |
| std::string | getODESolver () |
| Returns the specified ODE solver for this instance. More... | |
| sgpp::base::GridStorage * | getOldGridStorage () |
| sgpp::base::GridStorage * | getSecondGridStorage () |
| size_t | getSumGridPointsComplete () |
| Returns the number of average grid points for the complete grid. More... | |
| size_t | getSumGridPointsInner () |
| Returns the number of average grid points for the inner grid. More... | |
| OperationParabolicPDESolverSystem () | |
| Constructor. More... | |
| void | saveAlpha () |
| stores the current alpha_complete into alpha_complete_old to be available in the next timestep More... | |
| void | setODESolver (std::string ode) |
| defines the used ODE Solver for this instance, this is important because the implementation of mult and generateRHS depends on the used ODE solver More... | |
| void | setTimestepSize (double newTimestepSize) |
| set the size of the new timestep More... | |
| virtual | ~OperationParabolicPDESolverSystem () |
| Destructor. More... | |
Public Member Functions inherited from sgpp::base::OperationMatrix | |
| OperationMatrix () | |
| Constructor. More... | |
| virtual | ~OperationMatrix () |
| Destructor. More... | |
Additional Inherited Members | |
Protected Attributes inherited from sgpp::pde::OperationParabolicPDESolverSystemDirichlet | |
| sgpp::base::DataVector * | alpha_inner |
| Pointer to the alphas (ansatzfunctions' coefficients; inner points only) More... | |
| sgpp::base::DirichletUpdateVector * | BoundaryUpdate |
| Routine to modify the boundaries/inner points of the grid. More... | |
| sgpp::base::DirichletGridConverter * | GridConverter |
| Class that allows a simple conversion between a grid with and a without boundary points. More... | |
| sgpp::base::Grid * | InnerGrid |
| Pointer to the inner grid object. More... | |
Protected Attributes inherited from sgpp::solver::OperationParabolicPDESolverSystem | |
| sgpp::base::DataVector * | alpha_complete |
| Pointer to the alphas (ansatzfunctions' coefficients) More... | |
| sgpp::base::DataVector * | alpha_complete_old |
| Pointer to the alphas from the last timestep, needed when using variable timestep sizes. More... | |
| sgpp::base::DataVector * | alpha_complete_tmp |
| Pointer to temporary alphas, needed when using variable timestep sizes. More... | |
| bool | bnewODESolver |
| checks whether a new ODE solver has been selected after creation More... | |
| sgpp::base::Grid * | BoundGrid |
| Pointer to the grid object. More... | |
| size_t | numSumGridpointsComplete |
| Stores number of average gridpoints, complete grid. More... | |
| size_t | numSumGridpointsInner |
| Stores number of average gridpoints, inner grid. More... | |
| sgpp::base::GridStorage * | oldGridStorage |
| Pointer to the grid from the last iteration. More... | |
| sgpp::base::DataVector * | rhs |
| sgpp::base::GridStorage * | secondGridStorage |
| Pointer to the grid from the last aborted iteration. More... | |
| double | TimestepSize |
| the size of one timestep used in the ODE Solver More... | |
| double | TimestepSize_old |
| the size of the last timestep More... | |
| std::string | tOperationMode |
| specifies in which solver this matrix is used, valid values are: ExEul for explicit Euler ImEul for implicit Euler CrNic for Crank Nicolson solver More... | |
This class implements the ParabolicPDESolverSystem for the Heat Equation.
| sgpp::pde::HeatEquationParabolicPDESolverSystem::HeatEquationParabolicPDESolverSystem | ( | sgpp::base::Grid & | SparseGrid, |
| sgpp::base::DataVector & | alpha, | ||
| double | a, | ||
| double | TimestepSize, | ||
| std::string | OperationMode = "ExEul" |
||
| ) |
Std-Constructor.
| SparseGrid | reference to the sparse grid |
| alpha | the sparse grid's coefficients |
| a | the heat coefficient |
| TimestepSize | the size of one timestep used in the ODE Solver |
| OperationMode | specifies in which solver this matrix is used, valid values are: ExEul for explicit Euler, ImEul for implicit Euler, CrNic for Crank Nicolson solver |
References alpha, sgpp::solver::OperationParabolicPDESolverSystem::alpha_complete, sgpp::pde::OperationParabolicPDESolverSystemDirichlet::alpha_inner, sgpp::pde::OperationParabolicPDESolverSystemDirichlet::BoundaryUpdate, sgpp::solver::OperationParabolicPDESolverSystem::BoundGrid, sgpp::op_factory::createOperationLaplace(), sgpp::op_factory::createOperationLTwoDotProduct(), sgpp::base::Grid::getStorage(), sgpp::pde::OperationParabolicPDESolverSystemDirichlet::GridConverter, sgpp::pde::OperationParabolicPDESolverSystemDirichlet::InnerGrid, sgpp::solver::OperationParabolicPDESolverSystem::rhs, sgpp::solver::OperationParabolicPDESolverSystem::TimestepSize, and sgpp::solver::OperationParabolicPDESolverSystem::tOperationMode.
|
virtual |
Std-Destructor.
References sgpp::base::DataVector::add(), alpha, sgpp::pde::OperationParabolicPDESolverSystemDirichlet::alpha_inner, sgpp::base::DataVector::axpy(), sgpp::pde::OperationParabolicPDESolverSystemDirichlet::BoundaryUpdate, sgpp::base::DataVector::getSize(), sgpp::pde::OperationParabolicPDESolverSystemDirichlet::GridConverter, sgpp::pde::OperationParabolicPDESolverSystemDirichlet::InnerGrid, sgpp::base::OperationMatrix::mult(), sgpp::solver::OperationParabolicPDESolverSystem::rhs, and sgpp::base::DataVector::setAll().
|
virtual |
Implements sgpp::solver::OperationParabolicPDESolverSystem.
|
virtual |
performs some action that might be needed after a timestep has be finished in the ODE Solver, e.g.
some boundary adjustments.
Implements sgpp::solver::OperationParabolicPDESolverSystem.
References sgpp::solver::OperationParabolicPDESolverSystem::alpha_complete, sgpp::pde::OperationParabolicPDESolverSystemDirichlet::alpha_inner, sgpp::pde::OperationParabolicPDESolverSystemDirichlet::GridConverter, and sgpp::base::DirichletGridConverter::updateBoundaryCoefs().
|
virtual |
Implements some start jobs of every timestep, e.g.discounting boundaries.
Implements sgpp::solver::OperationParabolicPDESolverSystem.