CartesianFluxDivergence.hpp
1 // Distributed under the MIT License.
2 // See LICENSE.txt for details.
3 
4 #pragma once
5 
6 #include <cstddef>
7 
8 /// \cond
9 class DataVector;
10 template <size_t Dim>
11 class Index;
12 namespace gsl {
13 template <typename T>
14 class not_null;
15 } // namespace gsl
16 /// \endcond
17 
18 namespace evolution::dg::subcell {
19 /// @{
20 /*!
21  * \brief Compute and add the 2nd-order flux divergence on a Cartesian mesh to
22  * the cell-centered time derivatives.
23  */
25  double one_over_delta,
26  const DataVector& inv_jacobian,
27  const DataVector& boundary_correction,
28  const Index<1>& subcell_extents,
29  size_t dimension) noexcept;
30 
32  double one_over_delta,
33  const DataVector& inv_jacobian,
34  const DataVector& boundary_correction,
35  const Index<2>& subcell_extents,
36  size_t dimension) noexcept;
37 
39  double one_over_delta,
40  const DataVector& inv_jacobian,
41  const DataVector& boundary_correction,
42  const Index<3>& subcell_extents,
43  size_t dimension) noexcept;
44 /// @}
45 } // namespace evolution::dg::subcell
Index
Definition: Index.hpp:31
cstddef
DataVector
Stores a collection of function values.
Definition: DataVector.hpp:46
evolution::dg::subcell::add_cartesian_flux_divergence
void add_cartesian_flux_divergence(gsl::not_null< DataVector * > dt_var, double one_over_delta, const DataVector &inv_jacobian, const DataVector &boundary_correction, const Index< 1 > &subcell_extents, size_t dimension) noexcept
Compute and add the 2nd-order flux divergence on a Cartesian mesh to the cell-centered time derivativ...
evolution::dg::subcell
Implementation of a generic finite volume/conservative finite difference subcell limiter.
Definition: Actions.hpp:6
gsl
Implementations from the Guideline Support Library.
Definition: ReadSpecPiecewisePolynomial.hpp:11
gsl::not_null
Require a pointer to not be a nullptr
Definition: ReadSpecPiecewisePolynomial.hpp:13