SpECTRE
v2025.03.17
|
Take a finite-difference time step on the subcell grid. More...
#include <TakeTimeStep.hpp>
Static Public Member Functions | |
template<typename DbTags , typename... InboxTags, typename Metavariables , typename ArrayIndex , typename ActionList , typename ParallelComponent , size_t Dim = Metavariables::volume_dim> | |
static Parallel::iterable_action_return_t | apply (db::DataBox< DbTags > &box, tuples::TaggedTuple< InboxTags... > &, const Parallel::GlobalCache< Metavariables > &, const ArrayIndex &, const ActionList, const ParallelComponent *const) |
Take a finite-difference time step on the subcell grid.
The template parameter TimeDerivative
must have a static apply
function that takes the DataBox
by gsl::not_null
as the first argument, the cell-centered inverse Jacobian from the logical to the grid frame as the second argument, and its determinant as the third argument.
GlobalCache: nothing
DataBox:
subcell::fd::Tags::InverseJacobianLogicalToGrid<Dim>
subcell::fd::Tags::DetInverseJacobianLogicalToGrid
domain::Tags::ElementMap<Dim, Frame::Grid>
domain::CoordinateMaps::Tags::CoordinateMap<Dim, Grid, Inertial>
subcell::Tags::Coordinates<Dim, Frame::ElementLogical>
Metavariables::SubcellOptions::TimeDerivative
usesMetavariables::SubcellOptions::TimeDerivative
modifies