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 : 8 : #include "DataStructures/DataVector.hpp" 9 : 10 : namespace elliptic::dg { 11 : 12 : /*! 13 : * \brief The penalty factor in internal penalty fluxes 14 : * 15 : * The penalty factor is computed as 16 : * 17 : * \f{equation} 18 : * \sigma = C \frac{N_\text{points}^2}{h} 19 : * \f} 20 : * 21 : * where \f$N_\text{points} = 1 + N_p\f$ is the number of points (or one plus 22 : * the polynomial degree) and \f$h\f$ is a measure of the element size. Both 23 : * quantities are taken perpendicular to the face of the DG element that the 24 : * penalty is being computed on. \f$C\f$ is the "penalty parameter". For details 25 : * see section 7.2 in \cite HesthavenWarburton. 26 : */ 27 1 : DataVector penalty(const DataVector& element_size, size_t num_points, 28 : double penalty_parameter); 29 : 30 : } // namespace elliptic::dg