backwardKolmogorovEq.hpp
1 #ifndef MARIAN_BACKWARDKOLMOGOROVEQ_HPP
2 #define MARIAN_BACKWARDKOLMOGOROVEQ_HPP
3 
4 #include <utils/smartPointer.hpp>
5 #include <diffusion/convectionDiffusionProcess.hpp>
6 #include <FDM/tridiagonalSolver.hpp>
7 #include <FDM/schemes/fdScheme.hpp>
8 #include <FDM/boundaryConditions/boundaryCondition.hpp>
9 
10 namespace marian {
11 
27  public:
31  process_(process) {}
32 
33  std::vector<double> solve(SmartPointer<FDScheme> scheme,
34  std::vector<double> init,
35  std::vector<SmartPointer<BoundaryCondition> > bcs,
36  std::vector<double> spatial_grid,
37  std::vector<double> time_grid);
38 
39 
40  std::vector<double> solveAndSave(SmartPointer<FDScheme> scheme,
41  std::vector<double> init,
42  std::vector<SmartPointer<BoundaryCondition> > bcs,
43  std::vector<double> spatial_grid,
44  std::vector<double> time_grid,
45  std::string file_name);
46 
47  TridiagonalOperator getOperator(const std::vector<double>& sgrid);
48  private:
50  };
51 
52 } // namespace marian
53 
54 #endif /* MARIAN_BACKWARDKOLMOGOROVEQ_HPP */
std::vector< double > solve(SmartPointer< FDScheme > scheme, std::vector< double > init, std::vector< SmartPointer< BoundaryCondition > > bcs, std::vector< double > spatial_grid, std::vector< double > time_grid)
Solves backward equation.
Definition: backwardKolmogorovEq.cpp:16
Data structure holding the parameters of diffusion-convection equation.
Definition: convectionDiffusionProcess.hpp:13
ConvectionDiffusion process_
Stochastic process.
Definition: backwardKolmogorovEq.hpp:49
Template of deep-coping smart pointer.
Definition: smartPointer.hpp:9
std::vector< double > solveAndSave(SmartPointer< FDScheme > scheme, std::vector< double > init, std::vector< SmartPointer< BoundaryCondition > > bcs, std::vector< double > spatial_grid, std::vector< double > time_grid, std::string file_name)
Solves equation and save it to CSV file.
Definition: backwardKolmogorovEq.cpp:35
Definition: backwardKolmogorovEq.cpp:5
TridiagonalOperator getOperator(const std::vector< double > &sgrid)
Constructs the discretized linear operator for Backward Kolmogorow Equation in form of Tridiagonal op...
Definition: backwardKolmogorovEq.cpp:52
Class implements Backward Kolmogorow Equation.
Definition: backwardKolmogorovEq.hpp:26
TridiagonalOperator is used to define differentiating operator for PDE being solved.
Definition: tridiagonalOperator.hpp:35
BackwardKolmogorowEquation(ConvectionDiffusion process)
constructor
Definition: backwardKolmogorovEq.hpp:30