SemiLagrangian3.h
Go to the documentation of this file.
57 const ScalarField3& boundarySDF = ConstantScalarField3(std::numeric_limits<double>::max())) final;
82 const ScalarField3& boundarySDF = ConstantScalarField3(std::numeric_limits<double>::max())) final;
108 const ScalarField3& boundarySDF = ConstantScalarField3(std::numeric_limits<double>::max())) final;
119 virtual std::function<double(const Vector3D&)> GetScalarSamplerFunc(const ScalarGrid3& input) const;
130 virtual std::function<Vector3D(const Vector3D&)> GetVectorSamplerFunc(const CollocatedVectorGrid3& input) const;
141 virtual std::function<Vector3D(const Vector3D&)> GetVectorSamplerFunc(const FaceCenteredGrid3& input) const;
virtual std::function< Vector3D(const Vector3D &)> GetVectorSamplerFunc(const CollocatedVectorGrid3 &input) const
Returns spatial interpolation function object for given collocated vector grid.
SemiLagrangian3()
Abstract base class for 3-D collocated vector grid structure.
Definition: CollocatedVectorGrid3.h:19
virtual ~SemiLagrangian3()
Implementation of 3-D semi-Lagrangian advection solver.
Definition: SemiLagrangian3.h:27
3-D face-centered (a.k.a MAC or staggered) grid.
Definition: FaceCenteredGrid3.h:25
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.
Definition: pybind11Utils.h:24
Abstract based class for 3-D grid-based advection solver.
Definition: AdvectionSolver3.h:26
Abstract base class for 3-D scalar grid structure.
Definition: ScalarGrid3.h:21
std::shared_ptr< SemiLagrangian3 > SemiLagrangian3Ptr
Definition: SemiLagrangian3.h:152
virtual std::function< double(const Vector3D &)> GetScalarSamplerFunc(const ScalarGrid3 &input) const
Returns spatial interpolation function object for given scalar grid.