Jet  v1.3.3
grid_fractional_boundary_condition_solver2.h
Go to the documentation of this file.
1 // Copyright (c) 2018 Doyub Kim
2 //
3 // I am making my contributions/submissions to this project solely in my
4 // personal capacity and am not conveying any rights to any intellectual
5 // property of any third parties.
6 
7 #ifndef INCLUDE_JET_GRID_FRACTIONAL_BOUNDARY_CONDITION_SOLVER2_H_
8 #define INCLUDE_JET_GRID_FRACTIONAL_BOUNDARY_CONDITION_SOLVER2_H_
9 
13 
14 #include <memory>
15 
16 namespace jet {
17 
28  public:
31 
34 
43  FaceCenteredGrid2* velocity,
44  unsigned int extrapolationDepth = 5) override;
45 
47  ScalarField2Ptr colliderSdf() const override;
48 
51 
52  protected:
55  const Size2& gridSize,
56  const Vector2D& gridSpacing,
57  const Vector2D& gridOrigin) override;
58 
59  private:
60  CellCenteredScalarGrid2Ptr _colliderSdf;
61  CustomVectorField2Ptr _colliderVel;
62 };
63 
65 typedef std::shared_ptr<GridFractionalBoundaryConditionSolver2>
67 
68 } // namespace jet
69 
70 #endif // INCLUDE_JET_GRID_FRACTIONAL_BOUNDARY_CONDITION_SOLVER2_H_
jet::GridFractionalBoundaryConditionSolver2::onColliderUpdated
void onColliderUpdated(const Size2 &gridSize, const Vector2D &gridSpacing, const Vector2D &gridOrigin) override
Invoked when a new collider is set.
jet::GridBoundaryConditionSolver2::gridOrigin
const Vector2D & gridOrigin() const
Returns the origin of the velocity grid to be constrained.
custom_vector_field2.h
jet::GridBoundaryConditionSolver2
Abstract base class for 2-D boundary condition solver for grids.
Definition: grid_boundary_condition_solver2.h:26
jet::GridFractionalBoundaryConditionSolver2
Fractional 2-D boundary condition solver for grids.
Definition: grid_fractional_boundary_condition_solver2.h:27
jet::CustomVectorField2Ptr
std::shared_ptr< CustomVectorField2 > CustomVectorField2Ptr
Shared pointer type for the CustomVectorField2.
Definition: custom_vector_field2.h:73
grid_boundary_condition_solver2.h
jet::GridFractionalBoundaryConditionSolver2::colliderVelocityField
VectorField2Ptr colliderVelocityField() const override
Returns the velocity field of the collider.
jet::FaceCenteredGrid2
2-D face-centered (a.k.a MAC or staggered) grid.
Definition: face_centered_grid2.h:26
jet::GridBoundaryConditionSolver2::gridSize
const Size2 & gridSize() const
Returns the size of the velocity grid to be constrained.
jet
Definition: advection_solver2.h:18
jet::ScalarField2Ptr
std::shared_ptr< ScalarField2 > ScalarField2Ptr
Shared pointer for the ScalarField2 type.
Definition: scalar_field2.h:40
jet::GridBoundaryConditionSolver2::gridSpacing
const Vector2D & gridSpacing() const
Returns the spacing of the velocity grid to be constrained.
jet::GridFractionalBoundaryConditionSolver2::colliderSdf
ScalarField2Ptr colliderSdf() const override
Returns the signed distance field of the collider.
jet::Vector< T, 2 >
2-D vector class.
Definition: vector2.h:24
cell_centered_scalar_grid2.h
jet::Size2
2-D size class.
Definition: size2.h:19
jet::GridFractionalBoundaryConditionSolver2::constrainVelocity
void constrainVelocity(FaceCenteredGrid2 *velocity, unsigned int extrapolationDepth=5) override
jet::GridFractionalBoundaryConditionSolver2Ptr
std::shared_ptr< GridFractionalBoundaryConditionSolver2 > GridFractionalBoundaryConditionSolver2Ptr
Shared pointer type for the GridFractionalBoundaryConditionSolver2.
Definition: grid_fractional_boundary_condition_solver2.h:66
jet::VectorField2Ptr
std::shared_ptr< VectorField2 > VectorField2Ptr
Shared pointer for the VectorField2 type.
Definition: vector_field2.h:40
jet::GridFractionalBoundaryConditionSolver2::~GridFractionalBoundaryConditionSolver2
virtual ~GridFractionalBoundaryConditionSolver2()
Default destructor.
jet::CellCenteredScalarGrid2Ptr
std::shared_ptr< CellCenteredScalarGrid2 > CellCenteredScalarGrid2Ptr
Shared pointer for the CellCenteredScalarGrid2 type.
Definition: cell_centered_scalar_grid2.h:84
jet::GridFractionalBoundaryConditionSolver2::GridFractionalBoundaryConditionSolver2
GridFractionalBoundaryConditionSolver2()
Default constructor.