Classes |
Public Member Functions |
Static Public Member Functions |
Protected Member Functions |
List of all members  
  CubbyFlow::APICSolver2 Class Reference
  2-D Affine Particle-in-Cell (APIC) implementation More...
#include <Core/Solver/Hybrid/APIC/APICSolver2.h>
Inheritance diagram for CubbyFlow::APICSolver2:
  
 Classes | |
| class | Builder | 
| Front-end to create APICSolver2 objects step by step.  More... | |
Public Member Functions | |
| APICSolver2 () | |
| Default constructor.  More... | |
| APICSolver2 (const Size2 &resolution, const Vector2D &gridSpacing, const Vector2D &gridOrigin) | |
| Constructs solver with initial grid size.  More... | |
| virtual | ~APICSolver2 () | 
| Default destructor.  More... | |
  Public Member Functions inherited from CubbyFlow::PICSolver2 | |
| PICSolver2 () | |
| Default constructor.  More... | |
| PICSolver2 (const Size2 &resolution, const Vector2D &gridSpacing, const Vector2D &gridOrigin) | |
| Constructs solver with initial grid size.  More... | |
| virtual | ~PICSolver2 () | 
| Default destructor.  More... | |
| ScalarGrid2Ptr | GetSignedDistanceField () const | 
| Returns the signed-distance field of particles.  More... | |
| const ParticleSystemData2Ptr & | GetParticleSystemData () const | 
| Returns the particle system data.  More... | |
| const ParticleEmitter2Ptr & | GetParticleEmitter () const | 
| Returns the particle emitter.  More... | |
| void | SetParticleEmitter (const ParticleEmitter2Ptr &newEmitter) | 
| Sets the particle emitter.  More... | |
  Public Member Functions inherited from CubbyFlow::GridFluidSolver2 | |
| GridFluidSolver2 () | |
| Default constructor.  More... | |
| GridFluidSolver2 (const Size2 &resolution, const Vector2D &gridSpacing, const Vector2D &gridOrigin) | |
| Constructs solver with initial grid size.  More... | |
| virtual | ~GridFluidSolver2 () | 
| Default destructor.  More... | |
| const Vector2D & | GetGravity () const | 
| Returns the gravity vector of the system.  More... | |
| void | SetGravity (const Vector2D &newGravity) | 
| Sets the gravity of the system.  More... | |
| double | GetViscosityCoefficient () const | 
| Returns the viscosity coefficient.  More... | |
| void | SetViscosityCoefficient (double newValue) | 
| Sets the viscosity coefficient.  More... | |
| double | GetCFL (double timeIntervalInSeconds) const | 
| Returns the CFL number from the current velocity field for given time interval.  More... | |
| double | GetMaxCFL () const | 
| Returns the max allowed CFL number.  More... | |
| void | SetMaxCFL (double newCFL) | 
| Sets the max allowed CFL number.  More... | |
| bool | GetUseCompressedLinearSystem () const | 
| Returns true if the solver is using compressed linear system.  More... | |
| void | SetUseCompressedLinearSystem (bool onoff) | 
| Sets whether the solver should use compressed linear system.  More... | |
| const AdvectionSolver2Ptr & | GetAdvectionSolver () const | 
| Returns the advection solver instance.  More... | |
| void | SetAdvectionSolver (const AdvectionSolver2Ptr &newSolver) | 
| Sets the advection solver.  More... | |
| const GridDiffusionSolver2Ptr & | GetDiffusionSolver () const | 
| Returns the diffusion solver instance.  More... | |
| void | SetDiffusionSolver (const GridDiffusionSolver2Ptr &newSolver) | 
| Sets the diffusion solver.  More... | |
| const GridPressureSolver2Ptr & | GetPressureSolver () const | 
| Returns the pressure solver instance.  More... | |
| void | SetPressureSolver (const GridPressureSolver2Ptr &newSolver) | 
| Sets the pressure solver.  More... | |
| int | GetClosedDomainBoundaryFlag () const | 
| Returns the closed domain boundary flag.  More... | |
| void | SetClosedDomainBoundaryFlag (int flag) | 
| Sets the closed domain boundary flag.  More... | |
| const GridSystemData2Ptr & | GetGridSystemData () const | 
| Returns the grid system data.  More... | |
| void | ResizeGrid (const Size2 &newSize, const Vector2D &newGridSpacing, const Vector2D &newGridOrigin) const | 
| Resizes grid system data.  More... | |
| Size2 | GetResolution () const | 
| Returns the resolution of the grid system data.  More... | |
| Vector2D | GetGridSpacing () const | 
| Returns the grid spacing of the grid system data.  More... | |
| Vector2D | GetGridOrigin () const | 
| Returns the origin of the grid system data.  More... | |
| const FaceCenteredGrid2Ptr & | GetVelocity () const | 
| Returns the velocity field.  More... | |
| const Collider2Ptr & | GetCollider () const | 
| Returns the collider.  More... | |
| void | SetCollider (const Collider2Ptr &newCollider) | 
| Sets the collider.  More... | |
| const GridEmitter2Ptr & | GetEmitter () const | 
| Returns the emitter.  More... | |
| void | SetEmitter (const GridEmitter2Ptr &newEmitter) | 
| Sets the emitter.  More... | |
  Public Member Functions inherited from CubbyFlow::PhysicsAnimation | |
| PhysicsAnimation () | |
| Default constructor.  More... | |
| virtual | ~PhysicsAnimation () | 
| Destructor.  More... | |
| bool | GetIsUsingFixedSubTimeSteps () const | 
| Returns true if fixed sub-timestepping is used.  More... | |
| void | SetIsUsingFixedSubTimeSteps (bool isUsing) | 
| Sets true if fixed sub-timestepping is used.  More... | |
| unsigned int | GetNumberOfFixedSubTimeSteps () const | 
| Returns the number of fixed sub-timesteps.  More... | |
| void | SetNumberOfFixedSubTimeSteps (unsigned int numberOfSteps) | 
| Sets the number of fixed sub-timesteps.  More... | |
| void | AdvanceSingleFrame () | 
| Advances a single frame.  More... | |
| Frame | GetCurrentFrame () const | 
| Returns current frame.  More... | |
| void | SetCurrentFrame (const Frame &frame) | 
| Sets current frame cursor (but do not invoke update()).  More... | |
| double | GetCurrentTimeInSeconds () const | 
| Returns current time in seconds.  More... | |
  Public Member Functions inherited from CubbyFlow::Animation | |
| Animation () | |
| virtual | ~Animation () | 
| void | Update (const Frame &frame) | 
Updates animation state for given frame.  More... | |
Static Public Member Functions | |
| static Builder | GetBuilder () | 
| Returns builder fox APICSolver2.  More... | |
  Static Public Member Functions inherited from CubbyFlow::PICSolver2 | |
| static Builder | GetBuilder () | 
| Returns builder fox PICSolver2.  More... | |
  Static Public Member Functions inherited from CubbyFlow::GridFluidSolver2 | |
| static Builder | GetBuilder () | 
| Returns builder fox GridFluidSolver2.  More... | |
Protected Member Functions | |
| void | TransferFromParticlesToGrids () override | 
| Transfers velocity field from particles to grids.  More... | |
| void | TransferFromGridsToParticles () override | 
| Transfers velocity field from grids to particles.  More... | |
  Protected Member Functions inherited from CubbyFlow::PICSolver2 | |
| void | OnInitialize () override | 
| Initializes the simulator.  More... | |
| void | OnBeginAdvanceTimeStep (double timeIntervalInSeconds) override | 
| Invoked before a simulation time-step begins.  More... | |
| void | ComputeAdvection (double timeIntervalInSeconds) override | 
| Computes the advection term of the fluid solver.  More... | |
| ScalarField2Ptr | GetFluidSDF () const override | 
| Returns the signed-distance field of the fluid.  More... | |
| virtual void | MoveParticles (double timeIntervalInSeconds) | 
| Moves particles.  More... | |
  Protected Member Functions inherited from CubbyFlow::GridFluidSolver2 | |
| void | OnAdvanceTimeStep (double timeIntervalInSeconds) override | 
| Called when advancing a single time-step.  More... | |
| unsigned int | GetNumberOfSubTimeSteps (double timeIntervalInSeconds) const override | 
| Returns the required sub-time-steps for given time interval.  More... | |
| virtual void | OnEndAdvanceTimeStep (double timeIntervalInSeconds) | 
| Called at the end of a time-step.  More... | |
| virtual void | ComputeExternalForces (double timeIntervalInSeconds) | 
| Computes the external force terms.  More... | |
| virtual void | ComputeViscosity (double timeIntervalInSeconds) | 
| Computes the viscosity term using the diffusion solver.  More... | |
| virtual void | ComputePressure (double timeIntervalInSeconds) | 
| Computes the pressure term using the pressure solver.  More... | |
| void | ComputeGravity (double timeIntervalInSeconds) | 
| Computes the gravity term.  More... | |
| void | ApplyBoundaryCondition () const | 
| Applies the boundary condition to the velocity field.  More... | |
| void | ExtrapolateIntoCollider (ScalarGrid2 *grid) | 
| Extrapolates given field into the collider-occupied region.  More... | |
| void | ExtrapolateIntoCollider (CollocatedVectorGrid2 *grid) | 
| Extrapolates given field into the collider-occupied region.  More... | |
| void | ExtrapolateIntoCollider (FaceCenteredGrid2 *grid) | 
| Extrapolates given field into the collider-occupied region.  More... | |
| ScalarField2Ptr | GetColliderSDF () const | 
| Returns the signed-distance field representation of the collider.  More... | |
| VectorField2Ptr | GetColliderVelocityField () const | 
| Returns the velocity field of the collider.  More... | |
Additional Inherited Members | |
  Protected Attributes inherited from CubbyFlow::PICSolver2 | |
| Array2< char > | m_uMarkers | 
| Array2< char > | m_vMarkers | 
Detailed Description
2-D Affine Particle-in-Cell (APIC) implementation
This class implements 2-D Affine Particle-in-Cell (APIC) solver from the SIGGRAPH paper, Jiang 2015.
- See also
 - Jiang, Chenfanfu, et al. "The affine particle-in-cell method." ACM Transactions on Graphics (TOG) 34.4 (2015): 51.
 
Constructor & Destructor Documentation
◆ APICSolver2() [1/2]
| CubbyFlow::APICSolver2::APICSolver2 | ( | ) | 
Default constructor.
◆ APICSolver2() [2/2]
| CubbyFlow::APICSolver2::APICSolver2 | ( | const Size2 & | resolution, | 
| const Vector2D & | gridSpacing, | ||
| const Vector2D & | gridOrigin | ||
| ) | 
Constructs solver with initial grid size.
◆ ~APICSolver2()
      
  | 
  virtual | 
Default destructor.
Member Function Documentation
◆ GetBuilder()
      
  | 
  static | 
Returns builder fox APICSolver2.
◆ TransferFromGridsToParticles()
      
  | 
  overrideprotectedvirtual | 
Transfers velocity field from grids to particles.
Reimplemented from CubbyFlow::PICSolver2.
◆ TransferFromParticlesToGrids()
      
  | 
  overrideprotectedvirtual | 
Transfers velocity field from particles to grids.
Reimplemented from CubbyFlow::PICSolver2.
The documentation for this class was generated from the following file:
- Core/Solver/Hybrid/APIC/APICSolver2.h
 
 Public Member Functions inherited from 
 1.8.14