Line data Source code
1 0 : // Distributed under the MIT License.
2 : // See LICENSE.txt for details.
3 :
4 : #pragma once
5 :
6 : #include <cstddef>
7 : #include <cstdint>
8 :
9 : /// \cond
10 : class Matrix;
11 : namespace Spectral {
12 : enum class Basis : uint8_t;
13 : enum class Quadrature : uint8_t;
14 : } // namespace Spectral
15 : /// \endcond
16 :
17 : namespace ader::dg {
18 : /*!
19 : * \brief Computes the matrix applied to the spacetime predictor volume
20 : * contributions to give the next initial guess in the iteration.
21 : *
22 : * Specifically, the returned matrix is:
23 : *
24 : * \f{align}{
25 : * S_{a_0 b_0}=\left(\ell_{a_0}(1)\ell_{c_0}(1) - w_{c_0}
26 : * \left(\partial_\tau\ell_{a_0}(\tau)\right)\rvert_{c_0}
27 : * \right)^{-1}M_{c_{0}b_{0}}
28 : * \f}
29 : *
30 : * where \f$M_{a_0 b_0}\f$ is the temporal mass matrix.
31 : */
32 : template <Spectral::Basis BasisType, Spectral::Quadrature QuadratureType>
33 1 : const Matrix& predictor_inverse_temporal_matrix(size_t num_points);
34 : } // namespace ader::dg
|