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