SpECTRE  v2025.08.19
ScalarSelfForce::ModifyBoundaryData Struct Reference

Adds or subtracts the singular field to/from the received data on element boundaries. More...

#include <Equations.hpp>

Public Types

using argument_tags = tmpl::list< Tags::FieldIsRegularized, ::Tags::Mortars< Tags::FieldIsRegularized, Dim >, ::Tags::Mortars< singular_vars_on_mortars_tag, Dim > >
 

Static Public Member Functions

static void apply (gsl::not_null< Scalar< ComplexDataVector > * > field, gsl::not_null< Scalar< ComplexDataVector > * > n_dot_flux, const DirectionalId< Dim > &mortar_id, bool field_is_regularized, const DirectionalIdMap< Dim, bool > &neighbors_field_is_regularized, const DirectionalIdMap< Dim, typename singular_vars_on_mortars_tag::type > &singular_vars_on_mortars)
 

Detailed Description

Adds or subtracts the singular field to/from the received data on element boundaries.

In the regularized region we solve for the regularized field

\begin{equation} \Psi_m^R = \Psi_m - \Psi_m^P \text{,} \end{equation}

so we subtract the singular field on the regularized side and add it on the other side of the boundary. We do the same for the received normal dot flux \(n_i F^i\), but with an extra minus sign because this quantity is defined with the face normal from the perspective of the sending element (see elliptic::protocols::FirstOrderSystem).


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