Loading...
Searching...
No Matches
FLIPSolver3.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_FLIP_SOLVER3_HPP
12#define CUBBYFLOW_FLIP_SOLVER3_HPP
13
15
16namespace CubbyFlow
17{
29class FLIPSolver3 : public PICSolver3
30{
31 public:
32 class Builder;
33
36
39 const Vector3D& gridOrigin);
40
42 FLIPSolver3(const FLIPSolver3&) = delete;
43
46
49
52
55
58
70
73
77
80
81 private:
82 double m_picBlendingFactor = 0.0;
83 Array3<double> m_uDelta;
84 Array3<double> m_vDelta;
85 Array3<double> m_wDelta;
86};
87
90
103} // namespace CubbyFlow
104
105#endif
Definition Array.hpp:36
Front-end to create FLIPSolver3 objects step by step.
Definition FLIPSolver3.hpp:95
FLIPSolver3Ptr MakeShared() const
Builds shared pointer of FLIPSolver3 instance.
FLIPSolver3 Build() const
Builds FLIPSolver3.
3-D Fluid-Implicit Particle (FLIP) implementation.
Definition FLIPSolver3.hpp:30
void SetPICBlendingFactor(double factor)
Sets the PIC blending factor.
FLIPSolver3()
Default constructor.
FLIPSolver3(const Vector3UZ &resolution, const Vector3D &gridSpacing, const Vector3D &gridOrigin)
Constructs solver with initial grid size.
static Builder GetBuilder()
Returns builder fox FLIPSolver3.
FLIPSolver3(FLIPSolver3 &&) noexcept=delete
Deleted move constructor.
double GetPICBlendingFactor() const
Returns the PIC blending factor.
FLIPSolver3(const FLIPSolver3 &)=delete
Deleted copy constructor.
void TransferFromGridsToParticles() override
Transfers velocity field from grids to particles.
void TransferFromParticlesToGrids() override
Transfers velocity field from particles to grids.
Base class for grid-based fluid solver builder.
Definition GridFluidSolver3.hpp:316
Definition Matrix.hpp:30
3-D Particle-in-Cell (PIC) implementation.
Definition PICSolver3.hpp:31
Definition pybind11Utils.hpp:21
Matrix< T, Rows, 1 > Vector
Definition Matrix.hpp:738
std::shared_ptr< FLIPSolver3 > FLIPSolver3Ptr
Shared pointer type for the FLIPSolver3.
Definition FLIPSolver3.hpp:89