SpECTRE  2021.08.02
evolution::dg::ConservativeDuDt< System, DgFormulation > Struct Template Reference

Calculate \(\partial u/\partial t\) for a conservative system. More...

#include <ConservativeDuDt.hpp>

Public Types

using frame = Frame::Inertial
 
template<template< class > class StepPrefix>
using return_tags = tmpl::list< db::add_tag_prefix< StepPrefix, typename System::variables_tag > >
 
using argument_tags = tmpl::list< domain::Tags::Mesh< volume_dim >, domain::Tags::InverseJacobian< volume_dim, Frame::Logical, Frame::Inertial >, db::add_tag_prefix<::Tags::Flux, typename System::variables_tag, tmpl::size_t< volume_dim >, frame >, db::add_tag_prefix<::Tags::Source, typename System::variables_tag > >
 

Static Public Member Functions

template<template< class > class StepPrefix, typename... VarsTags, size_t Dim>
static void apply (const gsl::not_null< Variables< tmpl::list< StepPrefix< VarsTags >... > > * > dt_vars, const Mesh< Dim > mesh, const InverseJacobian< DataVector, Dim, Frame::Logical, Frame::Inertial > &inverse_jacobian, const Variables< tmpl::list<::Tags::Flux< VarsTags, tmpl::size_t< Dim >, Frame::Inertial >... > > &fluxes, const Variables< tmpl::list<::Tags::Source< VarsTags >... > > &sources) noexcept
 

Static Public Attributes

static constexpr size_t volume_dim = System::volume_dim
 

Detailed Description

template<typename System, ::dg::Formulation DgFormulation>
struct evolution::dg::ConservativeDuDt< System, DgFormulation >

Calculate \(\partial u/\partial t\) for a conservative system.

The time evolution of the variables \(u\) of any conservative system is given by \(\partial_t u = - \partial_i F^i + S\), where \(F^i\) are the fluxes and \(S\) are the sources.

Source terms are only added for variables in the System::sourced_variables type list.