FDMLinearSystemSolver3.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_SOLVER3_HPP
12 #define CUBBYFLOW_FDM_LINEAR_SYSTEM_SOLVER3_HPP
13 
15 
16 namespace CubbyFlow
17 {
20 {
21  public:
23  FDMLinearSystemSolver3() = default;
24 
27 
30 
32  virtual ~FDMLinearSystemSolver3() = default;
33 
36 
39  delete;
40 
42  virtual bool Solve(FDMLinearSystem3* system) = 0;
43 
46  {
47  return false;
48  }
49 };
50 
52 using FDMLinearSystemSolver3Ptr = std::shared_ptr<FDMLinearSystemSolver3>;
53 } // namespace CubbyFlow
54 
55 #endif
Abstract base class for 3-D finite difference-type linear system solver.
Definition: FDMLinearSystemSolver3.hpp:19
FDMLinearSystemSolver3 & operator=(const FDMLinearSystemSolver3 &)=delete
Deleted copy assignment operator.
std::shared_ptr< FDMLinearSystemSolver3 > FDMLinearSystemSolver3Ptr
Shared pointer type for the FDMLinearSystemSolver3.
Definition: FDMLinearSystemSolver3.hpp:52
FDMLinearSystemSolver3()=default
Default constructor.
virtual bool SolveCompressed(FDMCompressedLinearSystem3 *)
Solves the given compressed linear system.
Definition: FDMLinearSystemSolver3.hpp:45
virtual ~FDMLinearSystemSolver3()=default
Default virtual destructor.
Definition: pybind11Utils.hpp:20
virtual bool Solve(FDMLinearSystem3 *system)=0
Solves the given linear system.
Compressed linear system (Ax=b) for 3-D finite differencing.
Definition: FDMLinearSystem3.hpp:62
Linear system (Ax=b) for 3-D finite differencing.
Definition: FDMLinearSystem3.hpp:43