SpECTRE Documentation Coverage Report
Current view: top level - Evolution/Systems/ScalarWave - System.hpp Hit Total Coverage
Commit: d0fc80462417e83e5cddfa1b9901bb4a9b6af4d6 Lines: 1 12 8.3 %
Date: 2024-03-29 00:33:31
Legend: Lines: hit not hit

          Line data    Source code
       1           1 : // Distributed under the MIT License.
       2             : // See LICENSE.txt for details.
       3             : 
       4             : /// \file
       5             : /// Defines class ScalarWaveSystem.
       6             : 
       7             : #pragma once
       8             : 
       9             : #include <cstddef>
      10             : 
      11             : #include "DataStructures/VariablesTag.hpp"
      12             : #include "Evolution/Systems/ScalarWave/BoundaryConditions/BoundaryCondition.hpp"
      13             : #include "Evolution/Systems/ScalarWave/BoundaryCorrections/BoundaryCorrection.hpp"
      14             : #include "Evolution/Systems/ScalarWave/Characteristics.hpp"
      15             : #include "Evolution/Systems/ScalarWave/Equations.hpp"
      16             : #include "Evolution/Systems/ScalarWave/Tags.hpp"
      17             : #include "Evolution/Systems/ScalarWave/TimeDerivative.hpp"
      18             : #include "Utilities/TMPL.hpp"
      19             : 
      20             : /*!
      21             :  * \ingroup EvolutionSystemsGroup
      22             :  * \brief Items related to evolving the scalar wave equation.
      23             :  *
      24             :  * The equations of motion for the system augmented with constraint damping
      25             :  * terms are given by Eq. (15), (23) and (24) of \cite Holst2004wt (setting
      26             :  * background spacetime to Minkowskian):
      27             :  *
      28             :  * \f{align*}
      29             :  * \partial_t \psi =& -\Pi \\
      30             :  * \partial_t \Pi  =& -\partial^i \Phi_i \\
      31             :  * \partial_t \Phi_i =& -\partial_i \Pi + \gamma_2 (\partial_i \psi - \Phi_i)
      32             :  * \f}
      33             :  *
      34             :  * In our implementation here, to disable the constraint damping terms,
      35             :  * set \f$\gamma_2 = 0\f$.
      36             :  */
      37             : namespace ScalarWave {
      38             : 
      39             : template <size_t Dim>
      40           0 : struct System {
      41           0 :   using boundary_conditions_base = BoundaryConditions::BoundaryCondition<Dim>;
      42           0 :   using boundary_correction_base = BoundaryCorrections::BoundaryCorrection<Dim>;
      43             : 
      44           0 :   static constexpr bool is_in_flux_conservative_form = false;
      45           0 :   static constexpr bool has_primitive_and_conservative_vars = false;
      46           0 :   static constexpr size_t volume_dim = Dim;
      47             : 
      48           0 :   using variables_tag =
      49             :       ::Tags::Variables<tmpl::list<Tags::Psi, Tags::Pi, Tags::Phi<Dim>>>;
      50           0 :   using flux_variables = tmpl::list<>;
      51           0 :   using gradient_variables = tmpl::list<Tags::Psi, Tags::Pi, Tags::Phi<Dim>>;
      52             : 
      53           0 :   using compute_volume_time_derivative_terms = TimeDerivative<Dim>;
      54             : 
      55           0 :   using compute_largest_characteristic_speed =
      56             :       Tags::ComputeLargestCharacteristicSpeed;
      57             : };
      58             : }  // namespace ScalarWave

Generated by: LCOV version 1.14