CubbyFlow::CubicSemiLagrangian3 Class Referencefinal

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

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

Inheritance diagram for CubbyFlow::CubicSemiLagrangian3:
CubbyFlow::SemiLagrangian3 CubbyFlow::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...
 

Additional Inherited Members

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

Detailed Description

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

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

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: