Jet
v1.3.3
|
Abstract based class for 2-D grid-based advection solver. More...
#include <jet/advection_solver2.h>
Public Member Functions | |
AdvectionSolver2 () | |
virtual | ~AdvectionSolver2 () |
virtual void | advect (const ScalarGrid2 &input, const VectorField2 &flow, double dt, ScalarGrid2 *output, const ScalarField2 &boundarySdf=ConstantScalarField2(kMaxD))=0 |
Solves advection equation for given scalar grid. More... | |
virtual void | advect (const CollocatedVectorGrid2 &input, const VectorField2 &flow, double dt, CollocatedVectorGrid2 *output, const ScalarField2 &boundarySdf=ConstantScalarField2(kMaxD)) |
Solves advection equation for given collocated vector grid. More... | |
virtual void | advect (const FaceCenteredGrid2 &input, const VectorField2 &flow, double dt, FaceCenteredGrid2 *output, const ScalarField2 &boundarySdf=ConstantScalarField2(kMaxD)) |
Solves advection equation for given face-centered vector grid. More... | |
Abstract based class for 2-D grid-based advection solver.
The implementation of this abstract base class should solve 2-D advection equation for scalar and vector fields.
jet::AdvectionSolver2::AdvectionSolver2 | ( | ) |
|
virtual |
|
virtual |
Solves advection equation for given collocated vector grid.
The implementation of this virtual function should solve advection equation for given collocated vector grid input
and underlying vector field flow
that carries the input field. The solution after solving the equation for given time-step dt
should be stored in vector field output
. The boundary interface is given by a signed-distance field. The field is negative inside the boundary. By default, a constant field with max double value (kMaxD) is used, meaning no boundary.
input | Input vector grid. |
flow | Vector field that advects the input field. |
dt | Time-step for the advection. |
output | Output vector grid. |
boundarySdf | Boundary interface defined by signed-distance field. |
Reimplemented in jet::SemiLagrangian2.
|
virtual |
Solves advection equation for given face-centered vector grid.
The implementation of this virtual function should solve advection equation for given face-centered vector field input
and underlying vector field flow
that carries the input field. The solution after solving the equation for given time-step dt
should be stored in vector field output
. The boundary interface is given by a signed-distance field. The field is negative inside the boundary. By default, a constant field with max double value (kMaxD) is used, meaning no boundary.
input | Input vector grid. |
flow | Vector field that advects the input field. |
dt | Time-step for the advection. |
output | Output vector grid. |
boundarySdf | Boundary interface defined by signed-distance field. |
Reimplemented in jet::SemiLagrangian2.
|
pure virtual |
Solves advection equation for given scalar grid.
The implementation of this virtual function should solve advection equation for given scalar field input
and underlying vector field flow
that carries the input field. The solution after solving the equation for given time-step dt
should be stored in scalar field output
. The boundary interface is given by a signed-distance field. The field is negative inside the boundary. By default, a constant field with max double value (kMaxD) is used, meaning no boundary.
input | Input scalar grid. |
flow | Vector field that advects the input field. |
dt | Time-step for the advection. |
output | Output scalar grid. |
boundarySdf | Boundary interface defined by signed-distance field. |
Implemented in jet::SemiLagrangian2.