SpECTRE Documentation Coverage Report
Current view: top level - Evolution/Particles/MonteCarlo - InverseJacobianInertialToFluidCompute.hpp Hit Total Coverage
Commit: 965048f86d23c819715b3af1ca3f880c8145d4bb Lines: 2 6 33.3 %
Date: 2024-05-16 17:00:40
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 tags related to domain quantities
       6             : 
       7             : #pragma once
       8             : 
       9             : #include "Domain/Tags.hpp"
      10             : #include "PointwiseFunctions/GeneralRelativity/Tags.hpp"
      11             : #include "PointwiseFunctions/Hydro/Tags.hpp"
      12             : 
      13             : namespace Frame {
      14             : struct Fluid;
      15             : struct Inertial;
      16             : }  // namespace Frame
      17             : 
      18             : namespace Particles::MonteCarlo {
      19             : 
      20             : /// Inverse Jacobian of the map from inertial coordinate to an orthonormal frame
      21             : /// comoving with the fluid. That frame uses the 4-velocity as its time axis,
      22             : /// and constructs the other members of the tetrads using Gram-Schmidt's
      23             : /// algorithm.
      24           1 : struct InverseJacobianInertialToFluidCompute
      25             :     : domain::Tags::InverseJacobian<4, Frame::Inertial, Frame::Fluid>,
      26             :       db::ComputeTag {
      27           0 :   using base = domain::Tags::InverseJacobian<4, typename Frame::Inertial,
      28             :                                              typename Frame::Fluid>;
      29           0 :   using return_type = typename base::type;
      30           0 :   using argument_tags =
      31             :       tmpl::list<hydro::Tags::SpatialVelocity<DataVector, 3, Frame::Inertial>,
      32             :                  hydro::Tags::LorentzFactor<DataVector>,
      33             :                  gr::Tags::Lapse<DataVector>,
      34             :                  gr::Tags::Shift<DataVector, 3, Frame::Inertial>,
      35             :                  gr::Tags::SpatialMetric<DataVector, 3> >;
      36             : 
      37           0 :   static void function(gsl::not_null<return_type*> inv_jacobian,
      38             :                        const tnsr::I<DataVector, 3>& spatial_velocity,
      39             :                        const Scalar<DataVector>& lorentz_factor,
      40             :                        const Scalar<DataVector>& lapse,
      41             :                        const tnsr::I<DataVector, 3, Frame::Inertial>& shift,
      42             :                        const tnsr::ii<DataVector, 3>& spatial_metric);
      43             : };
      44             : 
      45             : }  // namespace Particles::MonteCarlo

Generated by: LCOV version 1.14