SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
Xcts::BoundaryConditions::Flatness< EnabledEquations > Class Template Reference

Impose flat spacetime at this boundary. More...

#include <Flatness.hpp>

Public Types

using options = tmpl::list<>
using argument_tags = tmpl::list<>
using volume_tags = tmpl::list<>
using argument_tags_linearized = tmpl::list<>
using volume_tags_linearized = tmpl::list<>

Public Member Functions

 Flatness (const Flatness &)=default
Flatnessoperator= (const Flatness &)=default
 Flatness (Flatness &&)=default
Flatnessoperator= (Flatness &&)=default
std::unique_ptr< domain::BoundaryConditions::BoundaryConditionget_clone () const override
std::vector< elliptic::BoundaryConditionTypeboundary_condition_types () const override
Public Member Functions inherited from elliptic::BoundaryConditions::BoundaryCondition< 3 >
 BoundaryCondition (const BoundaryCondition &)=default
 BoundaryCondition (BoundaryCondition &&)=default
BoundaryConditionoperator= (const BoundaryCondition &)=default
BoundaryConditionoperator= (BoundaryCondition &&)=default
Public Member Functions inherited from domain::BoundaryConditions::BoundaryCondition
 BoundaryCondition (BoundaryCondition &&)=default
BoundaryConditionoperator= (BoundaryCondition &&)=default
 BoundaryCondition (const BoundaryCondition &)=default
BoundaryConditionoperator= (const BoundaryCondition &)=default
 BoundaryCondition (CkMigrateMessage *const msg)
 WRAPPED_PUPable_abstract (BoundaryCondition)

Static Public Member Functions

static void apply (gsl::not_null< Scalar< DataVector > * > conformal_factor_minus_one, gsl::not_null< Scalar< DataVector > * > n_dot_conformal_factor_gradient, const tnsr::i< DataVector, 3 > &deriv_conformal_factor)
static void apply (gsl::not_null< Scalar< DataVector > * > conformal_factor_minus_one, gsl::not_null< Scalar< DataVector > * > lapse_times_conformal_factor_minus_one, gsl::not_null< Scalar< DataVector > * > n_dot_conformal_factor_gradient, gsl::not_null< Scalar< DataVector > * > n_dot_lapse_times_conformal_factor_gradient, const tnsr::i< DataVector, 3 > &deriv_conformal_factor, const tnsr::i< DataVector, 3 > &deriv_lapse_times_conformal_factor)
static void apply (gsl::not_null< Scalar< DataVector > * > conformal_factor_minus_one, gsl::not_null< Scalar< DataVector > * > lapse_times_conformal_factor_minus_one, gsl::not_null< tnsr::I< DataVector, 3 > * > shift_excess, gsl::not_null< Scalar< DataVector > * > n_dot_conformal_factor_gradient, gsl::not_null< Scalar< DataVector > * > n_dot_lapse_times_conformal_factor_gradient, gsl::not_null< tnsr::I< DataVector, 3 > * > n_dot_longitudinal_shift_excess, const tnsr::i< DataVector, 3 > &deriv_conformal_factor, const tnsr::i< DataVector, 3 > &deriv_lapse_times_conformal_factor, const tnsr::iJ< DataVector, 3 > &deriv_shift_excess)
static void apply_linearized (gsl::not_null< Scalar< DataVector > * > conformal_factor_correction, gsl::not_null< Scalar< DataVector > * > n_dot_conformal_factor_gradient_correction, const tnsr::i< DataVector, 3 > &deriv_conformal_factor_correction)
static void apply_linearized (gsl::not_null< Scalar< DataVector > * > conformal_factor_correction, gsl::not_null< Scalar< DataVector > * > lapse_times_conformal_factor_correction, gsl::not_null< Scalar< DataVector > * > n_dot_conformal_factor_gradient_correction, gsl::not_null< Scalar< DataVector > * > n_dot_lapse_times_conformal_factor_gradient_correction, const tnsr::i< DataVector, 3 > &deriv_conformal_factor_correction, const tnsr::i< DataVector, 3 > &deriv_lapse_times_conformal_factor_correction)
static void apply_linearized (gsl::not_null< Scalar< DataVector > * > conformal_factor_correction, gsl::not_null< Scalar< DataVector > * > lapse_times_conformal_factor_correction, gsl::not_null< tnsr::I< DataVector, 3 > * > shift_excess_correction, gsl::not_null< Scalar< DataVector > * > n_dot_conformal_factor_gradient_correction, gsl::not_null< Scalar< DataVector > * > n_dot_lapse_times_conformal_factor_gradient_correction, gsl::not_null< tnsr::I< DataVector, 3 > * > n_dot_longitudinal_shift_excess_correction, const tnsr::i< DataVector, 3 > &deriv_conformal_factor_correction, const tnsr::i< DataVector, 3 > &deriv_lapse_times_conformal_factor_correction, const tnsr::iJ< DataVector, 3 > &deriv_shift_excess_correction)

Static Public Attributes

static constexpr Options::String help
Static Public Attributes inherited from elliptic::BoundaryConditions::BoundaryCondition< 3 >
static constexpr size_t volume_dim

Detailed Description

template<Xcts::Equations EnabledEquations>
class Xcts::BoundaryConditions::Flatness< EnabledEquations >

Impose flat spacetime at this boundary.

Impose \(\psi=1\), \(\alpha\psi=1\), \(\beta_\mathrm{excess}^i=0\) on this boundary, where \(\psi\) is the conformal factor, \(\alpha\) is the lapse and \(\beta_\mathrm{excess}^i=\beta^i-\beta_\mathrm{background}^i\) is the shift excess (see Xcts::Tags::ShiftExcess for details on the split of the shift in background and excess). Note that this choice only truly represents flatness if the conformal background metric is flat.

Template Parameters
EnabledEquationsThe subset of XCTS equations that are being solved

Member Function Documentation

◆ boundary_condition_types()

template<Xcts::Equations EnabledEquations>
std::vector< elliptic::BoundaryConditionType > Xcts::BoundaryConditions::Flatness< EnabledEquations >::boundary_condition_types ( ) const
inlineoverridevirtual

◆ get_clone()

template<Xcts::Equations EnabledEquations>
std::unique_ptr< domain::BoundaryConditions::BoundaryCondition > Xcts::BoundaryConditions::Flatness< EnabledEquations >::get_clone ( ) const
inlineoverridevirtual

Member Data Documentation

◆ help

template<Xcts::Equations EnabledEquations>
Options::String Xcts::BoundaryConditions::Flatness< EnabledEquations >::help
staticconstexpr
Initial value:
=
"Impose flat spacetime at this boundary."

The documentation for this class was generated from the following file:
  • src/Elliptic/Systems/Xcts/BoundaryConditions/Flatness.hpp