CubbyFlow::CubicSemiLagrangian2 Class Referencefinal

Implementation of 2-D cubic semi-Lagrangian advection solver. More...

#include <Core/SemiLagrangian/CubicSemiLagrangian2.h>

Inheritance diagram for CubbyFlow::CubicSemiLagrangian2:
CubbyFlow::SemiLagrangian2 CubbyFlow::AdvectionSolver2

Public Member Functions

 CubicSemiLagrangian2 ()
 
- Public Member Functions inherited from CubbyFlow::SemiLagrangian2
 SemiLagrangian2 ()
 
virtual ~SemiLagrangian2 ()
 
void Advect (const ScalarGrid2 &input, const VectorField2 &flow, double dt, ScalarGrid2 *output, const ScalarField2 &boundarySDF=ConstantScalarField2(std::numeric_limits< double >::max())) final
 Computes semi-Lagrangian for given scalar grid. More...
 
void Advect (const CollocatedVectorGrid2 &input, const VectorField2 &flow, double dt, CollocatedVectorGrid2 *output, const ScalarField2 &boundarySDF=ConstantScalarField2(std::numeric_limits< double >::max())) final
 Computes semi-Lagrangian for given collocated vector grid. More...
 
void Advect (const FaceCenteredGrid2 &input, const VectorField2 &flow, double dt, FaceCenteredGrid2 *output, const ScalarField2 &boundarySDF=ConstantScalarField2(std::numeric_limits< double >::max())) final
 Computes semi-Lagrangian for given face-centered vector grid. More...
 
- Public Member Functions inherited from CubbyFlow::AdvectionSolver2
 AdvectionSolver2 ()
 
virtual ~AdvectionSolver2 ()
 

Protected Member Functions

std::function< double(const Vector2D &)> GetScalarSamplerFunc (const ScalarGrid2 &source) const override
 Returns spatial interpolation function object for given scalar grid. More...
 
std::function< Vector2D(const Vector2D &)> GetVectorSamplerFunc (const CollocatedVectorGrid2 &source) const override
 Returns spatial interpolation function object for given collocated vector grid. More...
 
std::function< Vector2D(const Vector2D &)> GetVectorSamplerFunc (const FaceCenteredGrid2 &source) const override
 Returns spatial interpolation function object for given face-centered vector grid. More...
 

Detailed Description

Implementation of 2-D cubic semi-Lagrangian advection solver.

This class implements 3rd-order cubic 2-D semi-Lagrangian advection solver.

Constructor & Destructor Documentation

◆ CubicSemiLagrangian2()

CubbyFlow::CubicSemiLagrangian2::CubicSemiLagrangian2 ( )

Member Function Documentation

◆ GetScalarSamplerFunc()

std::function<double(const Vector2D&)> CubbyFlow::CubicSemiLagrangian2::GetScalarSamplerFunc ( const ScalarGrid2 source) const
overrideprotectedvirtual

Returns spatial interpolation function object for given scalar grid.

This function overrides the original function with cubic interpolation.

Reimplemented from CubbyFlow::SemiLagrangian2.

◆ GetVectorSamplerFunc() [1/2]

std::function<Vector2D(const Vector2D&)> CubbyFlow::CubicSemiLagrangian2::GetVectorSamplerFunc ( const CollocatedVectorGrid2 source) const
overrideprotectedvirtual

Returns spatial interpolation function object for given collocated vector grid.

This function overrides the original function with cubic interpolation.

Reimplemented from CubbyFlow::SemiLagrangian2.

◆ GetVectorSamplerFunc() [2/2]

std::function<Vector2D(const Vector2D&)> CubbyFlow::CubicSemiLagrangian2::GetVectorSamplerFunc ( const FaceCenteredGrid2 source) const
overrideprotectedvirtual

Returns spatial interpolation function object for given face-centered vector grid.

This function overrides the original function with cubic interpolation.

Reimplemented from CubbyFlow::SemiLagrangian2.


The documentation for this class was generated from the following file: