Jet  v1.3.3
advection_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_ADVECTION_SOLVER3_H_
8 #define INCLUDE_JET_ADVECTION_SOLVER3_H_
9 
12 #include <jet/constants.h>
14 #include <jet/scalar_grid3.h>
15 #include <limits>
16 #include <memory>
17 
18 namespace jet {
19 
27  public:
29 
30  virtual ~AdvectionSolver3();
31 
51  virtual void advect(
52  const ScalarGrid3& input,
53  const VectorField3& flow,
54  double dt,
55  ScalarGrid3* output,
56  const ScalarField3& boundarySdf
58 
78  virtual void advect(
79  const CollocatedVectorGrid3& input,
80  const VectorField3& flow,
81  double dt,
82  CollocatedVectorGrid3* output,
83  const ScalarField3& boundarySdf
85 
105  virtual void advect(
106  const FaceCenteredGrid3& input,
107  const VectorField3& flow,
108  double dt,
109  FaceCenteredGrid3* output,
110  const ScalarField3& boundarySdf
112 };
113 
115 typedef std::shared_ptr<AdvectionSolver3> AdvectionSolver3Ptr;
116 
117 } // namespace jet
118 
119 #endif // INCLUDE_JET_ADVECTION_SOLVER3_H_
scalar_grid3.h
jet::ScalarField3
Abstract base class for 3-D scalar field.
Definition: scalar_field3.h:18
jet::AdvectionSolver3Ptr
std::shared_ptr< AdvectionSolver3 > AdvectionSolver3Ptr
Shared pointer type for the 3-D advection solver.
Definition: advection_solver3.h:115
jet::AdvectionSolver3::advect
virtual void advect(const CollocatedVectorGrid3 &input, const VectorField3 &flow, double dt, CollocatedVectorGrid3 *output, const ScalarField3 &boundarySdf=ConstantScalarField3(kMaxD))
Solves advection equation for given collocated vector grid.
jet::AdvectionSolver3
Abstract based class for 3-D grid-based advection solver.
Definition: advection_solver3.h:26
jet::AdvectionSolver3::~AdvectionSolver3
virtual ~AdvectionSolver3()
jet::CollocatedVectorGrid3
Abstract base class for 3-D collocated vector grid structure.
Definition: collocated_vector_grid3.h:18
jet
Definition: advection_solver2.h:18
jet::AdvectionSolver3::advect
virtual void advect(const FaceCenteredGrid3 &input, const VectorField3 &flow, double dt, FaceCenteredGrid3 *output, const ScalarField3 &boundarySdf=ConstantScalarField3(kMaxD))
Solves advection equation for given face-centered vector grid.
jet::VectorField3
Abstract base class for 3-D vector field.
Definition: vector_field3.h:18
jet::FaceCenteredGrid3
3-D face-centered (a.k.a MAC or staggered) grid.
Definition: face_centered_grid3.h:26
jet::ConstantScalarField3
3-D constant scalar field.
Definition: constant_scalar_field3.h:15
jet::kMaxD
constexpr double kMaxD
Max double.
Definition: constants.h:88
constant_scalar_field3.h
jet::ScalarGrid3
Abstract base class for 3-D scalar grid structure.
Definition: scalar_grid3.h:21
constants.h
face_centered_grid3.h
jet::AdvectionSolver3::advect
virtual void advect(const ScalarGrid3 &input, const VectorField3 &flow, double dt, ScalarGrid3 *output, const ScalarField3 &boundarySdf=ConstantScalarField3(kMaxD))=0
Solves advection equation for given scalar grid.
collocated_vector_grid3.h
jet::AdvectionSolver3::AdvectionSolver3
AdvectionSolver3()