SG++
sgpp::pde::HeatEquationParabolicPDESolverSystem Class Reference

This class implements the ParabolicPDESolverSystem for the Heat Equation. More...

#include <HeatEquationParabolicPDESolverSystem.hpp>

Inheritance diagram for sgpp::pde::HeatEquationParabolicPDESolverSystem:

## 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::DataVectorgenerateRHS ()
generates the right hand side of the system More...

virtual sgpp::base::DataVectorgetGridCoefficientsForCG ()
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::GridgetGrid ()
get the pointer to the underlying grid object More...

sgpp::base::DataVectorgetGridCoefficients ()
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::GridStoragegetGridStorage ()

std::string getODESolver ()
Returns the specified ODE solver for this instance. More...

sgpp::base::GridStoragegetOldGridStorage ()

sgpp::base::GridStoragegetSecondGridStorage ()

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::DataVectoralpha_inner
Pointer to the alphas (ansatzfunctions' coefficients; inner points only) More...

sgpp::base::DirichletUpdateVectorBoundaryUpdate
Routine to modify the boundaries/inner points of the grid. More...

sgpp::base::DirichletGridConverterGridConverter
Class that allows a simple conversion between a grid with and a without boundary points. More...

sgpp::base::GridInnerGrid
Pointer to the inner grid object. More...

Protected Attributes inherited from sgpp::solver::OperationParabolicPDESolverSystem
sgpp::base::DataVectoralpha_complete
Pointer to the alphas (ansatzfunctions' coefficients) More...

sgpp::base::DataVectoralpha_complete_old
Pointer to the alphas from the last timestep, needed when using variable timestep sizes. More...

sgpp::base::DataVectoralpha_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::GridBoundGrid
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::GridStorageoldGridStorage
Pointer to the grid from the last iteration. More...

sgpp::base::DataVectorrhs

sgpp::base::GridStoragesecondGridStorage
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...

## Detailed Description

This class implements the ParabolicPDESolverSystem for the Heat Equation.

## Constructor & Destructor Documentation

 sgpp::pde::HeatEquationParabolicPDESolverSystem::HeatEquationParabolicPDESolverSystem ( sgpp::base::Grid & SparseGrid, sgpp::base::DataVector & alpha, double a, double TimestepSize, std::string OperationMode = "ExEul" )

Std-Constructor.

Parameters
 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
 sgpp::pde::HeatEquationParabolicPDESolverSystem::~HeatEquationParabolicPDESolverSystem ( )
virtual

## Member Function Documentation

 void sgpp::pde::HeatEquationParabolicPDESolverSystem::coarsenAndRefine ( bool isLastTimestep = false )
virtual
 void sgpp::pde::HeatEquationParabolicPDESolverSystem::finishTimestep ( )
virtual

performs some action that might be needed after a timestep has be finished in the ODE Solver, e.g.