SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
intrp::ComputeExcisionBoundaryVolumeQuantities Struct Reference

Given the generalized harmonic variables in the volume, computes the quantities that will be interpolated onto an excision boundary. More...

#include <ComputeExcisionBoundaryVolumeQuantities.hpp>

Public Types

using allowed_src_tags
using required_src_tags
template<typename TargetFrame>
using allowed_dest_tags_target_frame
template<typename TargetFrame>
using allowed_dest_tags
template<typename TargetFrame>
using required_dest_tags = tmpl::list<>

Static Public Member Functions

template<typename SrcTagList, typename DestTagList>
static void apply (gsl::not_null< Variables< DestTagList > * > target_vars, const Variables< SrcTagList > &src_vars, const Mesh< 3 > &mesh)
 Single-frame case.
template<typename SrcTagList, typename DestTagList, typename TargetFrame>
static void apply (gsl::not_null< Variables< DestTagList > * > target_vars, const Variables< SrcTagList > &src_vars, const Mesh< 3 > &mesh, const Jacobian< DataVector, 3, TargetFrame, Frame::Inertial > &jac_target_to_inertial, const InverseJacobian< DataVector, 3, TargetFrame, Frame::Inertial > &invjac_target_to_inertial, const Jacobian< DataVector, 3, Frame::ElementLogical, TargetFrame > &jac_logical_to_target, const InverseJacobian< DataVector, 3, Frame::ElementLogical, TargetFrame > &invjac_logical_to_target, const InverseJacobian< DataVector, 3, Frame::Grid, TargetFrame > &invjac_grid_to_target, const tnsr::I< DataVector, 3, Frame::Inertial > &inertial_mesh_velocity, const tnsr::I< DataVector, 3, TargetFrame > &grid_to_target_frame_mesh_velocity)
 Dual-frame case.

Detailed Description

Given the generalized harmonic variables in the volume, computes the quantities that will be interpolated onto an excision boundary.

This is meant to be the primary compute_vars_to_interpolate for the computation of the characteristic speeds on the excision boundary.

SrcTagList and DestTagList have limited flexibility, and their restrictions are static_asserted inside the apply functions. The lack of complete flexibility is intentional, because most computations (e.g. for observers) should be done only on the horizon surface (i.e. after interpolation) as opposed to in the volume; only those computations that require data in the volume (e.g. volume numerical derivatives) should be done here.

For the dual-frame case, numerical derivatives of Jacobians are taken in order to avoid Hessians.

SrcTagList is usually ah::source_vars, and the allowed and required tags in SrcTagList are given by the type aliases allowed_src_tags and required_src_tags below.

DestTagList is usually vars_to_interpolate_to_target in the InterpolationTarget that uses ComputeExcisionBoundaryVolumeQuantities. The allowed and required tags in DestTagList are given by the type aliases allowed_dest_tags and required_dest_tags below.

Member Typedef Documentation

◆ allowed_dest_tags

template<typename TargetFrame>
using intrp::ComputeExcisionBoundaryVolumeQuantities::allowed_dest_tags
Initial value:
tmpl::remove_duplicates<
tmpl::append<allowed_dest_tags_target_frame<TargetFrame>,
allowed_dest_tags_target_frame<Frame::Inertial>>>

◆ allowed_dest_tags_target_frame

template<typename TargetFrame>
using intrp::ComputeExcisionBoundaryVolumeQuantities::allowed_dest_tags_target_frame
Initial value:
tmpl::list<
::Tags::deriv<gr::Tags::Lapse<DataVector>, tmpl::size_t<3>, TargetFrame>,
tmpl::size_t<3>, TargetFrame>,
Prefix indicating spatial derivatives.
Definition Prefixes.hpp:46
The inverse Jacobian from the source frame to the target frame.
Definition Tags.hpp:118
Definition Tags.hpp:65
Definition Tags.hpp:61
Holds a quantity that's similar to the shift, but isn't the shift.
Definition Tags.hpp:165
Definition Tags.hpp:16
Definition Tags.hpp:25

◆ allowed_src_tags

using intrp::ComputeExcisionBoundaryVolumeQuantities::allowed_src_tags
Initial value:
tmpl::list<gr::Tags::SpacetimeMetric<DataVector, 3>,
Definition IndexType.hpp:46
Auxiliary variable which is analytically the spatial derivative of the spacetime metric.
Definition Tags.hpp:38
Conjugate momentum to the spacetime metric.
Definition Tags.hpp:27

◆ required_src_tags

using intrp::ComputeExcisionBoundaryVolumeQuantities::required_src_tags
Initial value:
tmpl::list<gr::Tags::SpacetimeMetric<DataVector, 3>>

The documentation for this struct was generated from the following file:
  • src/ParallelAlgorithms/Interpolation/ComputeExcisionBoundaryVolumeQuantities.hpp