CubbyFlow::CubicSemiLagrangian3 Class Referencefinal

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

#include <Core/SemiLagrangian/CubicSemiLagrangian3.h>

Inheritance diagram for CubbyFlow::CubicSemiLagrangian3:
CubbyFlow::SemiLagrangian3 CubbyFlow::AdvectionSolver3

Public Member Functions

 CubicSemiLagrangian3 ()
 
- Public Member Functions inherited from CubbyFlow::SemiLagrangian3
 SemiLagrangian3 ()
 
virtual ~SemiLagrangian3 ()
 
void Advect (const ScalarGrid3 &input, const VectorField3 &flow, double dt, ScalarGrid3 *output, const ScalarField3 &boundarySDF=ConstantScalarField3(std::numeric_limits< double >::max())) final
 Computes semi-Lagrangian for given scalar grid. More...
 
void Advect (const CollocatedVectorGrid3 &input, const VectorField3 &flow, double dt, CollocatedVectorGrid3 *output, const ScalarField3 &boundarySDF=ConstantScalarField3(std::numeric_limits< double >::max())) final
 Computes semi-Lagrangian for given collocated vector grid. More...
 
void Advect (const FaceCenteredGrid3 &input, const VectorField3 &flow, double dt, FaceCenteredGrid3 *output, const ScalarField3 &boundarySDF=ConstantScalarField3(std::numeric_limits< double >::max())) final
 Computes semi-Lagrangian for given face-centered vector grid. More...
 
- Public Member Functions inherited from CubbyFlow::AdvectionSolver3
 AdvectionSolver3 ()
 
virtual ~AdvectionSolver3 ()
 

Protected Member Functions

std::function< double(const Vector3D &)> GetScalarSamplerFunc (const ScalarGrid3 &source) const override
 Returns spatial interpolation function object for given scalar grid. More...
 
std::function< Vector3D(const Vector3D &)> GetVectorSamplerFunc (const CollocatedVectorGrid3 &source) const override
 Returns spatial interpolation function object for given collocated vector grid. More...
 
std::function< Vector3D(const Vector3D &)> GetVectorSamplerFunc (const FaceCenteredGrid3 &source) const override
 Returns spatial interpolation function object for given face-centered vector grid. More...
 

Detailed Description

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

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

Constructor & Destructor Documentation

◆ CubicSemiLagrangian3()

CubbyFlow::CubicSemiLagrangian3::CubicSemiLagrangian3 ( )

Member Function Documentation

◆ GetScalarSamplerFunc()

std::function<double(const Vector3D&)> CubbyFlow::CubicSemiLagrangian3::GetScalarSamplerFunc ( const ScalarGrid3 source) const
overrideprotectedvirtual

Returns spatial interpolation function object for given scalar grid.

This function overrides the original function with cubic interpolation.

Reimplemented from CubbyFlow::SemiLagrangian3.

◆ GetVectorSamplerFunc() [1/2]

std::function<Vector3D(const Vector3D&)> CubbyFlow::CubicSemiLagrangian3::GetVectorSamplerFunc ( const CollocatedVectorGrid3 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::SemiLagrangian3.

◆ GetVectorSamplerFunc() [2/2]

std::function<Vector3D(const Vector3D&)> CubbyFlow::CubicSemiLagrangian3::GetVectorSamplerFunc ( const FaceCenteredGrid3 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::SemiLagrangian3.


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