PDE.hpp
Go to the documentation of this file.
1 // This code is based on Jet framework.
2 // Copyright (c) 2018 Doyub Kim
3 // CubbyFlow is voxel-based fluid simulation engine for computer games.
4 // Copyright (c) 2020 CubbyFlow Team
5 // Core Part: Chris Ohk, Junwoo Hwang, Jihong Sin, Seungwoo Yoo
6 // AI Part: Dongheon Cho, Minseo Kim
7 // We are making my contributions/submissions to this project solely in our
8 // personal capacity and are not conveying any rights to any intellectual
9 // property of any third parties.
10 
11 #ifndef CUBBYFLOW_PDE_HPP
12 #define CUBBYFLOW_PDE_HPP
13 
14 #include <array>
15 
16 namespace CubbyFlow
17 {
29 template <typename T>
30 std::array<T, 2> Upwind1(T* d0, T dx);
31 
41 template <typename T>
42 T Upwind1(T* d0, T dx, bool isDirectionPositive);
43 
53 template <typename T>
54 T CD2(T* d0, T dx);
55 
67 template <typename T>
68 std::array<T, 2> ENO3(T* d0, T dx);
69 
80 template <typename T>
81 T ENO3(T* d0, T dx, bool isDirectionPositive);
82 
95 template <typename T>
96 std::array<T, 2> WENO5(T* v, T h, T eps = 1.0e-8);
97 
107 template <typename T>
108 T WENO5(T* v, T h, bool is_velocity_positive, T eps = 1.0e-8);
109 } // namespace CubbyFlow
110 
111 #include <Core/Math/PDE-Impl.hpp>
112 
113 #endif
std::array< T, 2 > ENO3(T *d0, T dx)
3rd order ENO. d0[3] is the origin.
Definition: PDE-Impl.hpp:46
std::array< T, 2 > WENO5(T *v, T h, T eps)
5th order WENO. d0[3] is the origin.
Definition: PDE-Impl.hpp:162
T CD2(T *d0, T dx)
2nd order central differencing. d0[1] is the origin.
Definition: PDE-Impl.hpp:39
Definition: pybind11Utils.hpp:20
std::array< T, 2 > Upwind1(T *d0, T dx)
1st order upwind differencing. d0[1] is the origin.
Definition: PDE-Impl.hpp:19