SpECTRE Documentation Coverage Report
Current view: top level - Evolution/Particles/MonteCarlo - CouplingTermsForPropagation.hpp Hit Total Coverage
Commit: 1f2210958b4f38fdc0400907ee7c6d5af5111418 Lines: 1 2 50.0 %
Date: 2025-12-05 05:03:31
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 <array>
       7             : 
       8             : #include "DataStructures/Tensor/IndexType.hpp"
       9             : #include "DataStructures/Tensor/TypeAliases.hpp"
      10             : 
      11             : /// \cond
      12             : namespace gsl {
      13             :   template <typename T>
      14             :   class not_null;
      15             : }  // namespace gsl
      16             : 
      17             : class DataVector;
      18             : namespace Particles::MonteCarlo {
      19             :   class Packet;
      20             : } // namespace Particles::MonteCarlo
      21             : /// \endcond
      22             : 
      23             : namespace Particles::MonteCarlo {
      24             : 
      25             : /// \brief Contribution to the neutrino-matter coupling
      26             : /// terms from evolving a packet by time dt, given
      27             : /// absorption and scattering opacities.
      28             : ///
      29             : /// \details We calculate total momentum exchanges, not
      30             : /// densities; thus when coupling to the evolution of the
      31             : /// energy/momentum density, division by the spatial volume is
      32             : /// necessary. We calculate the source terms of Eqs (62-64) of
      33             : /// \cite Foucart2021mcb, with integrals calculated as in
      34             : /// Eqs (6-10) of that manuscript (except that we do not
      35             : /// divide by the coordinate volume V).
      36           1 : void AddCouplingTermsForPropagation(
      37             :     gsl::not_null<Scalar<DataVector>*> coupling_tilde_tau,
      38             :     gsl::not_null<tnsr::i<DataVector, 3, Frame::Inertial>*> coupling_tilde_s,
      39             :     gsl::not_null<Scalar<DataVector>*> coupling_rho_ye, const Packet& packet,
      40             :     size_t extended_idx, double dt, double absorption_opacity,
      41             :     double scattering_opacity, double fluid_frame_energy, double lapse,
      42             :     double lorentz_factor,
      43             :     const std::array<double, 3>& lower_spatial_four_velocity_packet);
      44             : 
      45             : } // namespace Particles::MonteCarlo

Generated by: LCOV version 1.14