GridBlockedBoundaryConditionSolver3.h
Go to the documentation of this file.
1 /*************************************************************************
2 > File Name: GridBlockedBoundaryConditionSolver3.h
3 > Project Name: CubbyFlow
4 > Author: Chan-Ho Chris Ohk
5 > Purpose: Blocked 3-D boundary condition solver for grids.
6 > Created Time: 2017/08/10
7 > Copyright (c) 2018, Chan-Ho Chris Ohk
8 *************************************************************************/
9 #ifndef CUBBYFLOW_GRID_BLOCKED_BOUNDARY_CONDITION_SOLVER3_H
10 #define CUBBYFLOW_GRID_BLOCKED_BOUNDARY_CONDITION_SOLVER3_H
11 
13 
14 namespace CubbyFlow
15 {
26  {
27  public:
30 
38  void ConstrainVelocity(
39  FaceCenteredGrid3* velocity,
40  unsigned int extrapolationDepth = 5) override;
41 
43  const Array3<char>& GetMarker() const;
44 
45  protected:
47  void OnColliderUpdated(
48  const Size3& gridSize,
49  const Vector3D& gridSpacing,
50  const Vector3D& gridOrigin) override;
51 
52  private:
53  Array3<char> m_marker;
54  };
55 
57  using GridBlockedBoundaryConditionSolver3Ptr = std::shared_ptr<GridBlockedBoundaryConditionSolver3>;
58 }
59 
60 #endif
3-D vector class.
Definition: Vector3.h:26
Fractional 3-D boundary condition solver for grids.
Definition: GridFractionalBoundaryConditionSolver3.h:26
std::shared_ptr< GridBlockedBoundaryConditionSolver3 > GridBlockedBoundaryConditionSolver3Ptr
Shared pointer type for the GridBlockedBoundaryConditionSolver3.
Definition: GridBlockedBoundaryConditionSolver3.h:57
void OnColliderUpdated(const Size3 &gridSize, const Vector3D &gridSpacing, const Vector3D &gridOrigin) override
Invoked when a new collider is set.
GridBlockedBoundaryConditionSolver3()
Default constructor.
3-D face-centered (a.k.a MAC or staggered) grid.
Definition: FaceCenteredGrid3.h:25
Blocked 3-D boundary condition solver for grids.
Definition: GridBlockedBoundaryConditionSolver3.h:25
3-D point class.
Definition: Point3.h:26
Definition: pybind11Utils.h:24
const Array3< char > & GetMarker() const
Returns the marker which is 1 if occupied by the collider.
3-D array class.
Definition: Array3.h:45
void ConstrainVelocity(FaceCenteredGrid3 *velocity, unsigned int extrapolationDepth=5) override