|
SpECTRE
v2026.04.01
|
Adds or subtracts the singular field to/from the received data on element boundaries. More...
#include <Equations.hpp>
Public Types | |
| using | argument_tags |
| using | argument_tags_linearized |
| using | const_global_cache_tags |
Static Public Member Functions | |
| static void | apply (gsl::not_null< tnsr::aa< ComplexDataVector, 3 > * > field, gsl::not_null< tnsr::aa< ComplexDataVector, 3 > * > 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) |
| static void | apply_linearized (gsl::not_null< tnsr::aa< ComplexDataVector, 3 > * > field_remote, gsl::not_null< tnsr::aa< ComplexDataVector, 3 > * > n_dot_flux_remote, const tnsr::aa< ComplexDataVector, 3 > &field_local, const tnsr::aa< ComplexDataVector, 3 > &n_dot_flux_local, const DirectionalId< Dim > &mortar_id, const Element< Dim > &element, const std::vector< size_t > &null_slicing_blocks, const elliptic::analytic_data::Background &background) |
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 (where field_is_regularized is true) and add it on the other side of the boundary (where field_is_regularized is false). 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).
| using GrSelfForce::ModifyBoundaryData::argument_tags |
| using GrSelfForce::ModifyBoundaryData::argument_tags_linearized |
| using GrSelfForce::ModifyBoundaryData::const_global_cache_tags |