Jet  v1.3.3
cubic_semi_lagrangian2.h
Go to the documentation of this file.
1 // Copyright (c) 2018 Doyub Kim
2 //
3 // I am making my contributions/submissions to this project solely in my
4 // personal capacity and am not conveying any rights to any intellectual
5 // property of any third parties.
6 
7 #ifndef INCLUDE_JET_CUBIC_SEMI_LAGRANGIAN2_H_
8 #define INCLUDE_JET_CUBIC_SEMI_LAGRANGIAN2_H_
9 
10 #include <jet/semi_lagrangian2.h>
11 
12 namespace jet {
13 
19 class CubicSemiLagrangian2 final : public SemiLagrangian2 {
20  public:
22 
23  protected:
30  std::function<double(const Vector2D&)> getScalarSamplerFunc(
31  const ScalarGrid2& source) const override;
32 
39  std::function<Vector2D(const Vector2D&)> getVectorSamplerFunc(
40  const CollocatedVectorGrid2& source) const override;
41 
48  std::function<Vector2D(const Vector2D&)> getVectorSamplerFunc(
49  const FaceCenteredGrid2& source) const override;
50 };
51 
52 typedef std::shared_ptr<CubicSemiLagrangian2> CubicSemiLagrangian2Ptr;
53 
54 } // namespace jet
55 
56 #endif // INCLUDE_JET_CUBIC_SEMI_LAGRANGIAN2_H_
jet::Vector2D
Vector2< double > Vector2D
Double-type 2D vector.
Definition: vector2.h:340
jet::CubicSemiLagrangian2Ptr
std::shared_ptr< CubicSemiLagrangian2 > CubicSemiLagrangian2Ptr
Definition: cubic_semi_lagrangian2.h:52
jet::CubicSemiLagrangian2::getVectorSamplerFunc
std::function< Vector2D(const Vector2D &)> getVectorSamplerFunc(const CollocatedVectorGrid2 &source) const override
Returns spatial interpolation function object for given collocated vector grid.
jet::CubicSemiLagrangian2::CubicSemiLagrangian2
CubicSemiLagrangian2()
jet::CubicSemiLagrangian2::getScalarSamplerFunc
std::function< double(const Vector2D &)> getScalarSamplerFunc(const ScalarGrid2 &source) const override
Returns spatial interpolation function object for given scalar grid.
jet::FaceCenteredGrid2
2-D face-centered (a.k.a MAC or staggered) grid.
Definition: face_centered_grid2.h:26
jet
Definition: advection_solver2.h:18
jet::CubicSemiLagrangian2::getVectorSamplerFunc
std::function< Vector2D(const Vector2D &)> getVectorSamplerFunc(const FaceCenteredGrid2 &source) const override
Returns spatial interpolation function object for given face-centered vector grid.
jet::ScalarGrid2
Abstract base class for 2-D scalar grid structure.
Definition: scalar_grid2.h:21
jet::Vector< T, 2 >
2-D vector class.
Definition: vector2.h:24
jet::SemiLagrangian2
Implementation of 2-D semi-Lagrangian advection solver.
Definition: semi_lagrangian2.h:26
jet::CollocatedVectorGrid2
Abstract base class for 2-D collocated vector grid structure.
Definition: collocated_vector_grid2.h:18
jet::CubicSemiLagrangian2
Implementation of 2-D cubic semi-Lagrangian advection solver.
Definition: cubic_semi_lagrangian2.h:19
semi_lagrangian2.h