GridSinglePhasePressureSolver2.hpp
Go to the documentation of this file.
142 std::shared_ptr<GridSinglePhasePressureSolver2>;
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
Abstract base class for 2-D grid-based pressure solver.
Definition: GridPressureSolver2.hpp:29
std::shared_ptr< GridSinglePhasePressureSolver2 > GridSinglePhasePressureSolver2Ptr
Shared pointer type for the GridSinglePhasePressureSolver2.
Definition: GridSinglePhasePressureSolver2.hpp:142
GridSinglePhasePressureSolver2 & operator=(const GridSinglePhasePressureSolver2 &)=delete
Deleted copy assignment operator.
std::shared_ptr< GridBoundaryConditionSolver2 > GridBoundaryConditionSolver2Ptr
Shared pointer type for the GridBoundaryConditionSolver2.
Definition: GridBoundaryConditionSolver2.hpp:117
GridSinglePhasePressureSolver2()
Default constructor.
Definition: Matrix.hpp:27
Definition: pybind11Utils.hpp:20
std::shared_ptr< FDMMGSolver2 > FDMMGSolver2Ptr
Shared pointer type for the FDMMGSolver2.
Definition: FDMMGSolver2.hpp:55
Definition: Array-Impl.hpp:19
N-D face-centered (a.k.a MAC or staggered) grid.
Definition: FaceCenteredGrid.hpp:31
void SetLinearSystemSolver(const FDMLinearSystemSolver2Ptr &solver)
Sets the linear system solver.
2-D single-phase pressure solver.
Definition: GridSinglePhasePressureSolver2.hpp:35
const FDMLinearSystemSolver2Ptr & GetLinearSystemSolver() const
Returns the linear system solver.
Compressed linear system (Ax=b) for 2-D finite differencing.
Definition: FDMLinearSystem2.hpp:59
~GridSinglePhasePressureSolver2() override=default
Default virtual destructor.
const FDMVector2 & GetPressure() const
Returns the pressure field.
Multigrid-syle 2-D linear system.
Definition: FDMMGLinearSystem2.hpp:26
void Solve(const FaceCenteredGrid2 &input, double timeIntervalInSeconds, FaceCenteredGrid2 *output, const ScalarField2 &boundarySDF=ConstantScalarField2{ std::numeric_limits< double >::max() }, const VectorField2 &boundaryVelocity=ConstantVectorField2{ { 0, 0 } }, const ScalarField2 &fluidSDF=ConstantScalarField2{ -std::numeric_limits< double >::max() }, bool useCompressed=false) override
Solves the pressure term and apply it to the velocity field.
GridBoundaryConditionSolver2Ptr SuggestedBoundaryConditionSolver() const override
Returns the best boundary condition solver for this solver.