crankNicolsonScheme.hpp
Definition: backwardKolmogorovEq.cpp:5
SmartPointer< TridiagonalSolver > solver_
Sovler used in implicit step.
Definition: crankNicolsonScheme.hpp:41
std::vector< double > solveAndSave(std::vector< double > f, const std::vector< SmartPointer< BoundaryCondition > > &bcs, const std::vector< double > &spatial_grid, const std::vector< double > &time_grid, const TridiagonalOperator &L, const std::string file_name) override
Solves PDE defined by provided linear operator L and initial and boundary conditions. Additionally saves solution to CSV file.
Definition: crankNicolsonScheme.cpp:54
CrankNicolsonScheme(SmartPointer< TridiagonalSolver > solver)
Provides a solver used in implicit scheme.
Definition: crankNicolsonScheme.hpp:22
Class implements Crank-Nicolson Scheme.
Definition: crankNicolsonScheme.hpp:15
TridiagonalOperator is used to define differentiating operator for PDE being solved.
Definition: tridiagonalOperator.hpp:35
std::string info() const override
Returns scheme name.
Definition: crankNicolsonScheme.hpp:37
std::vector< double > solve(std::vector< double > f, const std::vector< SmartPointer< BoundaryCondition > > &bcs, const std::vector< double > &time_grid, const TridiagonalOperator &L) override
Solves PDE defined by provided linear operator L and initial and boundary conditions.
Definition: crankNicolsonScheme.cpp:14
CrankNicolsonScheme()
Constructor.
Definition: crankNicolsonScheme.hpp:19
void setSolver(const SmartPointer< TridiagonalSolver > &solver) override
Provides a solver used in implicit scheme.
Definition: crankNicolsonScheme.hpp:24