SpECTRE
v2025.03.17
|
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 = db::wrap_tags_in<::Tags::dt, typename gh::System< 3_st >::variables_tag::tags_list > |
using | valencia_dt_tags = db::wrap_tags_in< ::Tags::dt, typename grmhd::ValenciaDivClean::System::variables_tag::tags_list > |
using | dt_tags = implementation defined |
using | d_spatial_metric = ::Tags::deriv< gr::Tags::SpatialMetric< DataVector, 3 >, tmpl::size_t< 3 >, Frame::Inertial > |
using | valencia_flux_tags = implementation defined |
using | gh_temp_tags = typename gh::TimeDerivative< ghmhd::GhValenciaDivClean::InitialData::analytic_solutions_and_data_list, 3_st >::temporary_tags |
using | gh_gradient_tags = typename gh::System< 3_st >::gradients_tags |
using | gh_arg_tags = typename gh::TimeDerivative< ghmhd::GhValenciaDivClean::InitialData::analytic_solutions_and_data_list, 3_st >::argument_tags |
using | valencia_temp_tags = typename grmhd::ValenciaDivClean::TimeDerivativeTerms::temporary_tags |
using | valencia_extra_temp_tags = implementation defined |
using | valencia_arg_tags = implementation defined |
using | trace_reversed_stress_result_tags = implementation defined |
using | trace_reversed_stress_argument_tags = implementation defined |
using | extra_temp_tags = implementation defined |
using | temporary_tags = implementation defined |
using | argument_tags = implementation defined |
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) |
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.
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