SpECTRE  v2025.08.19
GrSelfForce::Actions::InitializeEffectiveSource< System, BackgroundTag > Struct Template Reference

Initialize the effective source and singular field for the gravitational self-force problem in a regularized region around the puncture. Replaces 'elliptic::Actions::InitializeFixedSources' in the standard elliptic initialization. More...

#include <InitializeEffectiveSource.hpp>

Public Types

using const_global_cache_tags = tmpl::list< elliptic::dg::Tags::Massive, BackgroundTag >
 
using simple_tags = tmpl::list< fixed_sources_tag, singular_vars_tag, ::Tags::Mortars< singular_vars_on_mortars_tag, Dim >, Tags::BoyerLindquistRadius, Tags::FieldIsRegularized, ::Tags::Mortars< Tags::FieldIsRegularized, Dim > >
 
using compute_tags = tmpl::list<>
 
using return_tags = simple_tags
 
using argument_tags = tmpl::list< domain::Tags::Coordinates< Dim, Frame::Inertial >, domain::Tags::Domain< Dim >, domain::Tags::Element< Dim >, ::Tags::Mortars< domain::Tags::Coordinates< Dim, Frame::Inertial >, Dim >, BackgroundTag, elliptic::dg::Tags::Massive, domain::Tags::Mesh< Dim >, domain::Tags::DetInvJacobian< Frame::ElementLogical, Frame::Inertial >, Parallel::Tags::Metavariables >
 

Static Public Member Functions

template<typename DbTagsList , typename... InboxTags, typename Metavariables , typename ActionList , typename ParallelComponent >
static Parallel::iterable_action_return_t apply (db::DataBox< DbTagsList > &box, const tuples::TaggedTuple< InboxTags... > &, const Parallel::GlobalCache< Metavariables > &, const ElementId< Dim > &, const ActionList, const ParallelComponent *const)
 
template<typename Background , typename Metavariables , typename... AmrData>
static void apply (const gsl::not_null< typename fixed_sources_tag::type * > fixed_sources, const gsl::not_null< typename singular_vars_tag::type * > singular_vars, const gsl::not_null< DirectionalIdMap< Dim, typename singular_vars_on_mortars_tag::type > * > singular_vars_on_mortars, const gsl::not_null< Scalar< DataVector > * > bl_radius, const gsl::not_null< bool * > field_is_regularized, const gsl::not_null< DirectionalIdMap< Dim, bool > * > neighbors_field_is_regularized, const tnsr::I< DataVector, Dim > &inertial_coords, const Domain< Dim > &domain, const Element< Dim > &element, const DirectionalIdMap< Dim, tnsr::I< DataVector, Dim > > &all_mortar_inertial_coords, const Background &background, const bool massive, const Mesh< Dim > &mesh, const Scalar< DataVector > &det_inv_jacobian, const Metavariables &, const AmrData &...)
 

Detailed Description

template<typename System, typename BackgroundTag>
struct GrSelfForce::Actions::InitializeEffectiveSource< System, BackgroundTag >

Initialize the effective source and singular field for the gravitational self-force problem in a regularized region around the puncture. Replaces 'elliptic::Actions::InitializeFixedSources' in the standard elliptic initialization.

Details

The regularized region is chosen as the full block containing the puncture. In this region, the Tags::FieldIsRegularized is set to true and the effective source and the singular field are set by the GrSelfForce::AnalyticData::CircularOrbit class. Outside this region, the fixed source and singular field are set to zero.


The documentation for this struct was generated from the following file: