FDMLinearSystemSolver2.hpp
Go to the documentation of this file.
1 // This code is based on Jet framework.
2 // Copyright (c) 2018 Doyub Kim
3 // CubbyFlow is voxel-based fluid simulation engine for computer games.
4 // Copyright (c) 2020 CubbyFlow Team
5 // Core Part: Chris Ohk, Junwoo Hwang, Jihong Sin, Seungwoo Yoo
6 // AI Part: Dongheon Cho, Minseo Kim
7 // We are making my contributions/submissions to this project solely in our
8 // personal capacity and are not conveying any rights to any intellectual
9 // property of any third parties.
10 
11 #ifndef CUBBYFLOW_FDM_LINEAR_SYSTEM_SOLVER2_HPP
12 #define CUBBYFLOW_FDM_LINEAR_SYSTEM_SOLVER2_HPP
13 
15 
16 namespace CubbyFlow
17 {
20 {
21  public:
23  FDMLinearSystemSolver2() = default;
24 
27 
30 
32  virtual ~FDMLinearSystemSolver2() = default;
33 
36 
39  delete;
40 
42  virtual bool Solve(FDMLinearSystem2* system) = 0;
43 
46  {
47  return false;
48  }
49 };
50 
52 using FDMLinearSystemSolver2Ptr = std::shared_ptr<FDMLinearSystemSolver2>;
53 } // namespace CubbyFlow
54 
55 #endif
std::shared_ptr< FDMLinearSystemSolver2 > FDMLinearSystemSolver2Ptr
Shared pointer type for the FDMLinearSystemSolver2.
Definition: FDMLinearSystemSolver2.hpp:52
Linear system (Ax=b) for 2-D finite differencing.
Definition: FDMLinearSystem2.hpp:40
FDMLinearSystemSolver2 & operator=(const FDMLinearSystemSolver2 &)=delete
Deleted copy assignment operator.
virtual ~FDMLinearSystemSolver2()=default
Default virtual destructor.
Definition: pybind11Utils.hpp:20
virtual bool Solve(FDMLinearSystem2 *system)=0
Solves the given linear system.
FDMLinearSystemSolver2()=default
Default constructor.
Compressed linear system (Ax=b) for 2-D finite differencing.
Definition: FDMLinearSystem2.hpp:59
virtual bool SolveCompressed(FDMCompressedLinearSystem2 *)
Solves the given compressed linear system.
Definition: FDMLinearSystemSolver2.hpp:45
Abstract base class for 2-D finite difference-type linear system solver.
Definition: FDMLinearSystemSolver2.hpp:19