marian::ImplicitScheme Class Reference
Class implements implicit schemes. More...
#include <implicitScheme.hpp>
Inheritance diagram for marian::ImplicitScheme:

Public Member Functions | |
ImplicitScheme () | |
defualt constructor | |
ImplicitScheme (SmartPointer< TridiagonalSolver > solver) | |
constructor | |
void | setSolver (const SmartPointer< TridiagonalSolver > &solver) override |
Provides a solver used in implicit scheme. | |
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. More... | |
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. More... | |
std::string | info () const override |
Returns scheme name. | |
![]() | |
virtual FDScheme * | clone () const |
Virtual copy constructor. | |
![]() | |
virtual | ~FDScheme () |
Deconstructor. | |
Private Attributes | |
SmartPointer< TridiagonalSolver > | solver_ |
Sovler used in implicit step. | |
Detailed Description
When we solve following parabolic PDE:
where L is linear operator, we can use different time discretization scheme, for example:
For more information see [2] [5] [10] .
- Examples:
- convergenceExample.cpp.
Member Function Documentation
|
overridevirtual |
- Parameters
-
f Initial condition bcs Boundary conditions time_grid Time grid used in L Linear operator defining PDE
- Returns
- Solution in form of std::vector
Implements marian::FDScheme.
|
overridevirtual |
- Parameters
-
f Initial condition bcs Boundary conditions spatial_grid Spatial grid corresponding to initial conditions (used only to save the solution to CSV file) time_grid Time grid used for time dimension of FDM L Linear operator defining PDE file_name Name of CSV file
- Returns
- Solution in form of std::vector
Implements marian::FDScheme.
The documentation for this class was generated from the following files:
- C:/Unix/home/OEM/fdm/src/FDM/schemes/implicitScheme.hpp
- C:/Unix/home/OEM/fdm/src/FDM/schemes/implicitScheme.cpp