SpECTRE  v2024.04.12
DataBox Tags

Structures and metafunctions for labeling the contents of DataBoxes. More...

Classes

struct  control_system::measurements::Tags::NeutronStarCenter< Center >
 DataBox tag for location of neutron star center (or more accurately, center of mass of the matter in the x>0 (label A) or x<0 (label B) region, in grid coordinates). More...
 
struct  control_system::Tags::IsActiveMap
 Tag that holds a map between control system name and whether that control system is active. Can be used in the GlobalCache. More...
 
struct  control_system::Tags::MeasurementTimescales
 The measurement timescales associated with domain::Tags::FunctionsOfTime. More...
 
struct  control_system::Tags::WriteDataToDisk
 DataBox tag for writing control system data to disk. More...
 
struct  control_system::Tags::ObserveCenters
 DataBox tag for writing the centers of the horizons to disk. More...
 
struct  control_system::Tags::Averager< ControlSystem >
 DataBox tag for the averager. More...
 
struct  control_system::Tags::TimescaleTuner< ControlSystem >
 DataBox tag for the timescale tuner. More...
 
struct  control_system::Tags::Controller< ControlSystem >
 DataBox tag for the controller. More...
 
struct  control_system::Tags::ControlError< ControlSystem >
 DataBox tag for the control error. More...
 
struct  control_system::Tags::MeasurementsPerUpdate
 Tag that determines how many measurements will occur per control system update. This will usually be stored in the global cache. More...
 
struct  control_system::Tags::CurrentNumberOfMeasurements
 DataBox tag that keeps track of which measurement we are on. More...
 
struct  control_system::Tags::Verbosity
 DataBox tag that holds the verbosity used to print info about the control system algorithm. More...
 
struct  Tags::DataBox
 Tag used to retrieve the DataBox from the db::get function. More...
 
struct  Tags::dt< Tag >
 Prefix indicating a time derivative. More...
 
struct  Tags::Flux< Tag, VolumeDim, Fr, typename >
 Prefix indicating a flux. More...
 
struct  Tags::Source< Tag >
 Prefix indicating a source term. More...
 
struct  Tags::FixedSource< Tag >
 Prefix indicating a source term that is independent of dynamic variables. More...
 
struct  Tags::Initial< Tag >
 Prefix indicating the initial value of a quantity. More...
 
struct  Tags::NormalDotFlux< Tag >
 Prefix indicating a boundary unit normal vector dotted into the flux. More...
 
struct  Tags::NormalDotNumericalFlux< Tag >
 Prefix indicating a boundary unit normal vector dotted into the numerical flux. More...
 
struct  Tags::Previous< Tag >
 Prefix indicating the value a quantity took in the previous iteration of the algorithm. More...
 
struct  Tags::Next< Tag >
 Prefix indicating the value a quantity will take on the next iteration of the algorithm. More...
 
struct  Tags::Magnitude< Tag >
 The magnitude of a (co)vector. More...
 
struct  Tags::EuclideanMagnitude< Tag >
 The Euclidean magnitude of a (co)vector. More...
 
struct  Tags::NonEuclideanMagnitude< Tag, MetricTag >
 The magnitude of a (co)vector with respect to a specific metric. More...
 
struct  Tags::Normalized< Tag >
 The normalized (co)vector represented by Tag. More...
 
struct  Tags::NormalizedCompute< Tag >
 Normalizes the (co)vector represented by Tag. More...
 
struct  Tags::PointwiseL2Norm< Tag >
 
struct  Tags::PointwiseL2NormCompute< Tag >
 
struct  Tags::L2Norm< Tag >
 
struct  Tags::L2NormCompute< Tag >
 
struct  domain::CoordinateMaps::Tags::CoordinateMap< VolumeDim, SourceFrame, TargetFrame >
 The coordinate map from source to target coordinates. More...
 
struct  domain::Tags::Domain< VolumeDim >
 The Domain. More...
 
struct  domain::Tags::InitialExtents< Dim >
 The number of grid points per dimension for all elements in each block of the initial computational domain. More...
 
struct  domain::Tags::InitialRefinementLevels< Dim >
 The initial refinement level per dimension for all elements in each block of the initial computational domain. More...
 
struct  domain::Tags::ObjectCenter< Label >
 The grid frame center of the given object. More...
 
struct  domain::Tags::UnnormalizedFaceNormal< VolumeDim, Frame >
 The unnormalized face normal one form. More...
 
struct  domain::Tags::InterfaceCompute< Tags::BoundaryDirectionsExterior< VolumeDim >, UnnormalizedFaceNormalCompute< VolumeDim, Frame > >
 Specialisation of UnnormalizedFaceNormal for the external boundaries which inverts the normals. Since ExternalBoundariesDirections are meant to represent ghost elements, the normals should correspond to the normals in said element, which are inverted with respect to the current element. More...
 
struct  domain::Tags::InterfaceCompute< DirectionsTag, Tag >
 Compute tag for representing items computed on a set of interfaces. Can be retrieved using Tags::Interface<DirectionsTag, Tag> More...
 
struct  domain::Tags::Slice< DirectionsTag, Tag >
 Compute tag for representing a compute item that slices data from the volume to a set of interfaces. More...
 
struct  domain::Tags::InterfaceMesh< VolumeDim >
 Computes the VolumeDim-1 dimensional mesh on an interface from the volume mesh. Tags::InterfaceCompute<Dirs, InterfaceMesh<VolumeDim>> is retrievable as Tags::Interface<Dirs, Mesh<VolumeDim>> from the DataBox. More...
 
struct  domain::Tags::BoundaryCoordinates< VolumeDim, MovingMesh >
 Computes the coordinates in the frame Frame on the faces defined by Direction. Intended to be prefixed by a Tags::InterfaceCompute to define the directions on which to compute the coordinates. More...
 
struct  domain::Tags::JacobianDiagnostic< Dim >
 A diagnostic comparing the analytic and numerical Jacobians for a map. See domain::jacobian_diagnostic for details. More...
 
struct  domain::Tags::JacobianDiagnosticCompute< Dim, TargetFrame >
 Computes the Jacobian diagnostic, which compares the analytic Jacobian (provided by some coordinate map) to a numerical Jacobian computed using numerical partial derivatives. The coordinates must be in the target frame of the map. See domain::jacobian_diagnostic for details of the calculation. More...
 
struct  domain::Tags::MinimumGridSpacing< Dim, Frame >
 The minimum coordinate distance between grid points. More...
 
struct  domain::Tags::SizeOfElement< VolumeDim >
 The inertial-coordinate size of an element along each of its logical directions. More...
 
struct  domain::Tags::Element< VolumeDim >
 The Element associated with the DataBox. More...
 
struct  domain::Tags::Mesh< VolumeDim >
 The computational grid of the Element in the DataBox. More...
 
struct  domain::Tags::ElementMap< VolumeDim, TargetFrame >
 The coordinate map from the ElementLogical frame to the TargetFrame. More...
 
struct  domain::Tags::Coordinates< Dim, Frame >
 The coordinates in a given frame. More...
 
struct  domain::Tags::MappedCoordinates< MapTag, SourceCoordsTag, CoordinatesTag >
 The coordinates in the target frame of MapTag. The SourceCoordsTag's frame must be the source frame of MapTag More...
 
struct  domain::Tags::InverseJacobian< Dim, SourceFrame, TargetFrame >
 The inverse Jacobian from the source frame to the target frame. More...
 
struct  domain::Tags::InverseJacobianCompute< MapTag, SourceCoordsTag >
 Computes the inverse Jacobian of the map held by MapTag at the coordinates held by SourceCoordsTag. The coordinates must be in the source frame of the map. More...
 
struct  domain::Tags::Jacobian< Dim, SourceFrame, TargetFrame >
 The Jacobian from the source frame to the target frame. More...
 
struct  domain::Tags::JacobianCompute< Dim, SourceFrame, TargetFrame >
 Computes the Jacobian of the map from the InverseJacobian<Dim, SourceFrame, TargetFrame> tag. More...
 
struct  domain::Tags::DetInvJacobian< SourceFrame, TargetFrame >
 The determinant of the inverse Jacobian from the source frame to the target frame. More...
 
struct  domain::Tags::DetInvJacobianCompute< Dim, SourceFrame, TargetFrame >
 Computes the determinant of the inverse Jacobian. More...
 
struct  domain::Tags::DetJacobian< SourceFrame, TargetFrame >
 The determinant of the Jacobian from the source frame to the target frame. More...
 
struct  domain::Tags::DetTimesInvJacobian< Dim, SourceFrame, TargetFrame >
 The inverse Jacobian times the determinant of the Jacobian. More...
 
struct  domain::Tags::VariablesBoundaryData
 Base tag for boundary data needed for updating the variables. More...
 
struct  domain::Tags::InternalDirections< VolumeDim >
 The set of directions to neighboring Elements. More...
 
struct  domain::Tags::BoundaryDirectionsInterior< VolumeDim >
 The set of directions which correspond to external boundaries. Used for representing data on the interior side of the external boundary faces. More...
 
struct  domain::Tags::BoundaryDirectionsExterior< VolumeDim >
 The set of directions which correspond to external boundaries. To be used to represent data which exists on the exterior side of the external boundary faces. More...
 
struct  domain::Tags::Interface< DirectionsTag, Tag >
 Tag which is either a SimpleTag for quantities on an interface, base tag to a compute item which acts on tags on an interface, or base tag to a compute item which slices a tag from the volume to an interface. More...
 
struct  domain::Tags::Direction< VolumeDim >
 Direction to an interface More...
 
struct  domain::Tags::ElementDistribution
 Tag that holds method for how to distribute the elements on the given resources. More...
 
struct  Tags::Mortars< Tag, VolumeDim >
 Data on mortars, indexed by (Direction, ElementId) pairs. More...
 
struct  Tags::MortarSize< Dim >
 Size of a mortar, relative to the element face. That is, the part of the face that it covers. More...
 
struct  Tags::div< Tag, typename >
 Prefix indicating the divergence. More...
 
struct  Tags::DivVariablesCompute< Tag, MeshTag, InverseJacobianTag >
 Compute the divergence of a Variables. More...
 
struct  Tags::DivVectorCompute< Tag, MeshTag, InverseJacobianTag >
 Compute the divergence of a tnsr::I (vector) More...
 
struct  Tags::deriv< Tag, Dim, Frame, typename >
 Prefix indicating spatial derivatives. More...
 
struct  Tags::spacetime_deriv< Tag, Dim, Frame, typename >
 Prefix indicating spacetime derivatives. More...
 
struct  Tags::DerivCompute< VariablesTag, MeshTag, InverseJacobianTag, DerivTags >
 Compute the spatial derivatives of tags in a Variables. More...
 
struct  Tags::DerivTensorCompute< TensorTag, InverseJacobianTag, MeshTag >
 Computes the spatial derivative of a single tensor tag not in a Variables. More...
 
struct  domain::Tags::LogicalCoordinates< VolumeDim >
 The logical coordinates in the Element. More...
 
struct  Parallel::Tags::GlobalCache
 Tag to retrieve the Parallel::GlobalCache from the DataBox. More...
 
struct  Parallel::Tags::FromGlobalCache< CacheTag >
 Tag used to retrieve data from the Parallel::GlobalCache. This is the recommended way for compute tags to retrieve data out of the global cache. More...
 
struct  Parallel::Tags::ArrayIndex
 Tag to retrieve the ArrayIndex from the DataBox. More...
 
struct  Parallel::Tags::InputSource
 A tag storing the input file yaml input source passed in at runtime, so that it can be accessed and written to files. More...
 
struct  Parallel::Tags::Metavariables
 Tag to retrieve the Metavariables from the DataBox. More...
 
struct  Tags::Analytic< Tag >
 Prefix indicating the analytic solution value for a quantity. More...
 
struct  Tags::HistoryEvolvedVariables< Tag >
 Tag for the TimeStepper history. More...
 
struct  Tags::PreviousStepperError< Tag >
 Tag for the previous value of the stepper error measure. More...
 
struct  Tags::StepChoosers
 Tag for a vector of StepChoosers. More...
 
struct  Tags::StepperError< Tag >
 Tag for the stepper error measure. More...
 
struct  Tags::Time
 Tag for the current time as a double. More...
 
struct  Tags::TimeStep
 Tag for step size. More...
 
struct  Tags::TimeStepId
 Tag for TimeStepId for the algorithm state. More...
 
struct  Tags::ConcreteTimeStepper< StepperType >
 The evolution TimeStepper. The template parameter should be one of the time stepper base classes, such as TimeStepper or LtsTimeStepper. More...
 
struct  Tags::TimeStepper< StepperInterface >
 Access to a time stepper through the StepperInterface interface (such as TimeStepper or LtsTimeStepper). More...
 
struct  Tags::TimeStepperRef< StepperInterface, StepperType >
 Reference tag to provide access to the time stepper through its provided interfaces, such as Tags::TimeStepper<TimeStepper> and Tags::TimeStepper<LtsTimeStepper>. Usually added through the time_stepper_ref_tags alias. More...
 

Typedefs

template<template< typename... > class Wrapper, typename TagList , typename... Args>
using db::wrap_tags_in = tmpl::transform< TagList, tmpl::bind< Wrapper, tmpl::_1, tmpl::pin< Args >... > >
 Create a new tmpl::list of tags by wrapping each tag in TagList in Wrapper<_, Args...>.
 
template<template< typename... > class Prefix, typename Tag , typename... Args>
using db::add_tag_prefix = typename detail::add_tag_prefix_impl< Prefix, Tag, Args... >::type
 Wrap Tag in Prefix<_, Args...>, unless Tag is a Tags::Variables, in which case this creates a new Tags::Variables, wrapping each tag in Tag::tags_list with Prefix<_, Args...>.
 
template<typename Tag >
using db::remove_tag_prefix = typename detail::remove_tag_prefix_impl< Tag >::type
 Remove the outer prefix from a prefixed tag Tag, or remove the outer prefix of each tag in Tag::tags_list if Tag is a Tags::Variables.
 
template<typename Tag >
using db::remove_all_prefixes = typename detail::remove_all_prefixes_impl< Tag >::type
 Completely remove all prefix tags from a Tag, or all prefixes from the tags in Tag::tags_list if Tag is a Tags::Variables.
 
template<template< typename... > class Wrapper, typename T , typename... Args>
using db::prefix_variables = typename detail::prefix_variables< Wrapper, T, Args... >::type
 Add a prefix to all tags in a Variables, leaving the argument unchanged if it is not a Variables. More...
 
template<typename T >
using db::unprefix_variables = typename detail::unprefix_variables< T >::type
 Remove the outer prefix from all tags in a Variables, leaving the argument unchanged if it is not a Variables. More...
 

Detailed Description

Structures and metafunctions for labeling the contents of DataBoxes.

Typedef Documentation

◆ prefix_variables

template<template< typename... > class Wrapper, typename T , typename... Args>
using db::prefix_variables = typedef typename detail::prefix_variables<Wrapper, T, Args...>::type

Add a prefix to all tags in a Variables, leaving the argument unchanged if it is not a Variables.

See also
unprefix_variables, wrap_tags_in

◆ unprefix_variables

template<typename T >
using db::unprefix_variables = typedef typename detail::unprefix_variables<T>::type

Remove the outer prefix from all tags in a Variables, leaving the argument unchanged if it is not a Variables.

See also
prefix_variables