CubbyFlow::CubicSemiLagrangian2 Class Referencefinal

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

#include <Core/Solver/Advection/CubicSemiLagrangian2.hpp>

Inheritance diagram for CubbyFlow::CubicSemiLagrangian2:
CubbyFlow::SemiLagrangian2 CubbyFlow::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...
 

Additional Inherited Members

- Public Member Functions inherited from CubbyFlow::SemiLagrangian2
 SemiLagrangian2 ()=default
 Default constructor. More...
 
 SemiLagrangian2 (const SemiLagrangian2 &)=default
 Default copy constructor. More...
 
 SemiLagrangian2 (SemiLagrangian2 &&) noexcept=default
 Default move constructor. More...
 
 ~SemiLagrangian2 () override=default
 Virtual default destructor. More...
 
SemiLagrangian2operator= (const SemiLagrangian2 &)=default
 Default copy assignment operator. More...
 
SemiLagrangian2operator= (SemiLagrangian2 &&) noexcept=default
 Default move assignment operator. More...
 
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 ()=default
 Default constructor. More...
 
 AdvectionSolver2 (const AdvectionSolver2 &)=default
 Default copy constructor. More...
 
 AdvectionSolver2 (AdvectionSolver2 &&) noexcept=default
 Default move constructor. More...
 
virtual ~AdvectionSolver2 ()=default
 Default virtual destructor. More...
 
AdvectionSolver2operator= (const AdvectionSolver2 &)=default
 Default copy assignment operator. More...
 
AdvectionSolver2operator= (AdvectionSolver2 &&) noexcept=default
 Default move assignment operator. More...
 

Detailed Description

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

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

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: