Loading...
Searching...
No Matches
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.
 
std::function< Vector3D(const Vector3D &)> GetVectorSamplerFunc (const CollocatedVectorGrid3 &source) const override
 Returns spatial interpolation function object for given collocated vector grid.
 
std::function< Vector3D(const Vector3D &)> GetVectorSamplerFunc (const FaceCenteredGrid3 &source) const override
 Returns spatial interpolation function object for given face-centered vector grid.
 

Additional Inherited Members

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

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: