SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
grmhd::GhValenciaDivClean::TimeDerivativeTerms Struct Reference

Compute the RHS terms and flux values for both the Generalized Harmonic formulation of Einstein's equations and the Valencia formulation of the GRMHD equations with divergence cleaning. More...

#include <TimeDerivativeTerms.hpp>

Public Types

using gh_dt_tags
using valencia_dt_tags
using dt_tags = tmpl::append<gh_dt_tags, valencia_dt_tags>
using d_spatial_metric
using gh_temp_tags
using gh_gradient_tags = typename gh::System<3_st>::gradients_tags
using gh_arg_tags
using valencia_temp_tags
using valencia_extra_temp_tags
using valencia_arg_tags
using trace_reversed_stress_result_tags
using extra_temp_tags = tmpl::list<gr::Tags::SpatialMetric<DataVector, 3>>
using temporary_tags
using argument_tags

Static Public Member Functions

template<typename... Args>
static evolution::dg::TimeDerivativeDecisions< 3 > apply (const gsl::not_null< Variables< dt_tags > * > dt_vars_ptr, const gsl::not_null< Variables< db::wrap_tags_in< ::Tags::Flux, typename ValenciaDivClean::System::flux_variables, tmpl::size_t< 3 >, Frame::Inertial > > * > fluxes_ptr, const gsl::not_null< Variables< temporary_tags > * > temps_ptr, const tnsr::iaa< DataVector, 3 > &d_spacetime_metric, const tnsr::iaa< DataVector, 3 > &d_pi, const tnsr::ijaa< DataVector, 3 > &d_phi, const Args &... args)

Detailed Description

Compute the RHS terms and flux values for both the Generalized Harmonic formulation of Einstein's equations and the Valencia formulation of the GRMHD equations with divergence cleaning.

Details

The bulk of the computations in this class dispatch to gh::TimeDerivative and grmhd::ValenciaDivClean::TimeDerivativeTerms as a 'product system' – each independently operating on its own subset of the supplied variable collections. The additional step is taken to compute the trace-reversed stress energy tensor associated with the GRMHD part of the system and add its contribution to the \(\partial_t \Pi_{a b}\) variable in the Generalized Harmonic system, which is the only explicit coupling required to back-react the effect of matter on the spacetime solution.

Note
The MHD calculation reuses any spacetime quantities in its argument_tags that are computed by the GH time derivative. However, other quantities that aren't computed by the GH time derivative like the extrinsic curvature are currently still retrieved from the DataBox. Those calculations can be explicitly inlined here to reduce memory pressure and the number of compute tags.

Member Typedef Documentation

◆ argument_tags

using grmhd::GhValenciaDivClean::TimeDerivativeTerms::argument_tags
Initial value:
tmpl::remove<
tmpl::remove<tmpl::append<gh_arg_tags,
valencia_arg_tags,
d_spatial_metric>
Fix the primitive variables to an atmosphere in low density regions.
Definition FixToAtmosphere.hpp:77
The global cache tag for the variable fixer.
Definition Tags.hpp:41
Definition Tags.hpp:25

◆ d_spatial_metric

Initial value:
tmpl::size_t<3>, Frame::Inertial>
Definition IndexType.hpp:46
Prefix indicating spatial derivatives.
Definition Prefixes.hpp:46

◆ gh_arg_tags

using grmhd::GhValenciaDivClean::TimeDerivativeTerms::gh_arg_tags
Initial value:
ghmhd::GhValenciaDivClean::InitialData::analytic_solutions_and_data_list,
3_st>::argument_tags
Compute the RHS of the Generalized Harmonic formulation of Einstein's equations.
Definition TimeDerivative.hpp:108

◆ gh_dt_tags

using grmhd::GhValenciaDivClean::TimeDerivativeTerms::gh_dt_tags
Initial value:
typename gh::System<3_st>::variables_tag::tags_list>
tmpl::transform< TagList, tmpl::bind< Wrapper, tmpl::_1, tmpl::pin< Args >... > > wrap_tags_in
Create a new tmpl::list of tags by wrapping each tag in TagList in Wrapper<_, Args....
Definition PrefixHelpers.hpp:29
Prefix indicating a time derivative.
Definition Prefixes.hpp:28

◆ gh_temp_tags

using grmhd::GhValenciaDivClean::TimeDerivativeTerms::gh_temp_tags
Initial value:
ghmhd::GhValenciaDivClean::InitialData::analytic_solutions_and_data_list,
3_st>::temporary_tags

◆ temporary_tags

using grmhd::GhValenciaDivClean::TimeDerivativeTerms::temporary_tags
Initial value:
tmpl::remove<
tmpl::remove_duplicates<tmpl::append<
gh_temp_tags, valencia_temp_tags, valencia_extra_temp_tags,
trace_reversed_stress_result_tags, extra_temp_tags>>,

◆ trace_reversed_stress_result_tags

using grmhd::GhValenciaDivClean::TimeDerivativeTerms::trace_reversed_stress_result_tags
Initial value:
The down-index comoving magnetic field .
Definition Tags.hpp:52
The down-index four-velocity .
Definition Tags.hpp:57
Represents the trace reversed stress-energy tensor of the matter in the MHD sector of the GRMHD syste...
Definition Tags.hpp:31

◆ valencia_arg_tags

using grmhd::GhValenciaDivClean::TimeDerivativeTerms::valencia_arg_tags
Initial value:
tmpl::list_difference<
typename grmhd::ValenciaDivClean::TimeDerivativeTerms::argument_tags,
tmpl::append<gh_temp_tags, valencia_extra_temp_tags>>

◆ valencia_dt_tags

using grmhd::GhValenciaDivClean::TimeDerivativeTerms::valencia_dt_tags
Initial value:
typename grmhd::ValenciaDivClean::System::variables_tag::tags_list>

◆ valencia_extra_temp_tags

using grmhd::GhValenciaDivClean::TimeDerivativeTerms::valencia_extra_temp_tags
Initial value:
tmpl::list<::Tags::deriv<gr::Tags::Lapse<DataVector>, tmpl::size_t<3>,
Definition Tags.hpp:139

◆ valencia_temp_tags

using grmhd::GhValenciaDivClean::TimeDerivativeTerms::valencia_temp_tags
Initial value:
typename grmhd::ValenciaDivClean::TimeDerivativeTerms::temporary_tags

The documentation for this struct was generated from the following file:
  • src/Evolution/Systems/GrMhd/GhValenciaDivClean/TimeDerivativeTerms.hpp