SpECTRE  v2024.05.11
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
 
virtual std::vector< elliptic::BoundaryConditionTypeboundary_condition_types () const=0
 
- 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)
 
virtual auto get_clone () const -> std::unique_ptr< BoundaryCondition >=0
 

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>
constexpr 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: