SpECTRE Documentation Coverage Report
Current view: top level - Evolution/Systems/GrMhd/ValenciaDivClean/Subcell - ComputeFluxes.hpp Hit Total Coverage
Commit: e93d8312de4f331d36b5aa00ea83a894e26dfcb7 Lines: 2 3 66.7 %
Date: 2021-09-24 22:40:29
Legend: Lines: hit not hit

          Line data    Source code
       1           0 : // Distributed under the MIT License.
       2             : // See LICENSE.txt for details.
       3             : 
       4             : #pragma once
       5             : 
       6             : #include "DataStructures/Variables.hpp"
       7             : #include "Evolution/Systems/GrMhd/ValenciaDivClean/Fluxes.hpp"
       8             : #include "Utilities/Gsl.hpp"
       9             : #include "Utilities/TMPL.hpp"
      10             : 
      11           1 : namespace grmhd::ValenciaDivClean::subcell {
      12             : namespace detail {
      13             : template <typename TagsList, typename... ReturnTags, typename... ArgumentTags>
      14             : void compute_fluxes_impl(const gsl::not_null<Variables<TagsList>*> vars,
      15             :                          tmpl::list<ReturnTags...> /*meta*/,
      16             :                          tmpl::list<ArgumentTags...> /*meta*/) noexcept {
      17             :   grmhd::ValenciaDivClean::ComputeFluxes::apply(
      18             :       make_not_null(&get<ReturnTags>(*vars))..., get<ArgumentTags>(*vars)...);
      19             : }
      20             : }  // namespace detail
      21             : 
      22             : /*!
      23             :  * \brief Helper function that calls `ComputeFluxes` by retrieving the return
      24             :  * and argument tags from `vars`.
      25             :  */
      26             : template <typename TagsList>
      27           1 : void compute_fluxes(const gsl::not_null<Variables<TagsList>*> vars) noexcept {
      28             :   detail::compute_fluxes_impl(
      29             :       vars, typename grmhd::ValenciaDivClean::ComputeFluxes::return_tags{},
      30             :       typename grmhd::ValenciaDivClean::ComputeFluxes::argument_tags{});
      31             : }
      32             : }  // namespace grmhd::ValenciaDivClean::subcell

Generated by: LCOV version 1.14