Jet  v1.3.3
grid_fractional_boundary_condition_solver3.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_SOLVER3_H_
8 #define INCLUDE_JET_GRID_FRACTIONAL_BOUNDARY_CONDITION_SOLVER3_H_
9 
13 
14 #include <memory>
15 
16 namespace jet {
17 
28  public:
31 
34 
43  FaceCenteredGrid3* velocity,
44  unsigned int extrapolationDepth = 5) override;
45 
47  ScalarField3Ptr colliderSdf() const override;
48 
51 
52  protected:
55  const Size3& gridSize,
56  const Vector3D& gridSpacing,
57  const Vector3D& gridOrigin) override;
58 
59  private:
60  CellCenteredScalarGrid3Ptr _colliderSdf;
61  CustomVectorField3Ptr _colliderVel;
62 };
63 
65 typedef std::shared_ptr<GridFractionalBoundaryConditionSolver3>
67 
68 } // namespace jet
69 
70 #endif // INCLUDE_JET_GRID_FRACTIONAL_BOUNDARY_CONDITION_SOLVER3_H_
jet::GridFractionalBoundaryConditionSolver3::constrainVelocity
void constrainVelocity(FaceCenteredGrid3 *velocity, unsigned int extrapolationDepth=5) override
jet::GridFractionalBoundaryConditionSolver3::GridFractionalBoundaryConditionSolver3
GridFractionalBoundaryConditionSolver3()
Default constructor.
jet::GridFractionalBoundaryConditionSolver3::onColliderUpdated
void onColliderUpdated(const Size3 &gridSize, const Vector3D &gridSpacing, const Vector3D &gridOrigin) override
Invoked when a new collider is set.
jet::GridFractionalBoundaryConditionSolver3
Fractional 3-D boundary condition solver for grids.
Definition: grid_fractional_boundary_condition_solver3.h:27
jet::CellCenteredScalarGrid3Ptr
std::shared_ptr< CellCenteredScalarGrid3 > CellCenteredScalarGrid3Ptr
Shared pointer for the CellCenteredScalarGrid3 type.
Definition: cell_centered_scalar_grid3.h:87
jet::GridBoundaryConditionSolver3::gridOrigin
const Vector3D & gridOrigin() const
Returns the origin of the velocity grid to be constrained.
cell_centered_scalar_grid3.h
jet::GridFractionalBoundaryConditionSolver3Ptr
std::shared_ptr< GridFractionalBoundaryConditionSolver3 > GridFractionalBoundaryConditionSolver3Ptr
Shared pointer type for the GridFractionalBoundaryConditionSolver3.
Definition: grid_fractional_boundary_condition_solver3.h:66
grid_boundary_condition_solver3.h
jet
Definition: advection_solver2.h:18
jet::GridFractionalBoundaryConditionSolver3::colliderVelocityField
VectorField3Ptr colliderVelocityField() const override
Returns the velocity field of the collider.
jet::FaceCenteredGrid3
3-D face-centered (a.k.a MAC or staggered) grid.
Definition: face_centered_grid3.h:26
jet::GridBoundaryConditionSolver3
Abstract base class for 3-D boundary condition solver for grids.
Definition: grid_boundary_condition_solver3.h:26
jet::ScalarField3Ptr
std::shared_ptr< ScalarField3 > ScalarField3Ptr
Shared pointer for the ScalarField3 type.
Definition: scalar_field3.h:40
jet::GridBoundaryConditionSolver3::gridSize
const Size3 & gridSize() const
Returns the size of the velocity grid to be constrained.
jet::Size3
3-D size class.
Definition: size3.h:19
jet::GridFractionalBoundaryConditionSolver3::~GridFractionalBoundaryConditionSolver3
virtual ~GridFractionalBoundaryConditionSolver3()
Default destructor.
jet::CustomVectorField3Ptr
std::shared_ptr< CustomVectorField3 > CustomVectorField3Ptr
Shared pointer type for the CustomVectorField3.
Definition: custom_vector_field3.h:73
jet::GridFractionalBoundaryConditionSolver3::colliderSdf
ScalarField3Ptr colliderSdf() const override
Returns the signed distance field of the collider.
jet::Vector< T, 3 >
3-D vector class.
Definition: vector3.h:25
jet::GridBoundaryConditionSolver3::gridSpacing
const Vector3D & gridSpacing() const
Returns the spacing of the velocity grid to be constrained.
custom_vector_field3.h
jet::VectorField3Ptr
std::shared_ptr< VectorField3 > VectorField3Ptr
Shared pointer for the VectorField3 type.
Definition: vector_field3.h:40