|
SpECTRE
v2026.06.09.01
|
Sets constraint-preserving boundary conditions on the spacetime variables and hydro free outflow on the GRMHD variables. More...
#include <ConstraintPreservingFreeOutflow.hpp>
Public Types | |
| using | options |
| using | dg_interior_evolved_variables_tags |
| using | dg_interior_temporary_tags |
| using | dg_interior_primitive_variables_tags |
| using | dg_gridless_tags = tmpl::list<> |
| using | dg_interior_dt_vars_tags |
| using | dg_interior_deriv_vars_tags |
| using | fd_interior_evolved_variables_tags = tmpl::list<> |
| using | fd_interior_temporary_tags = tmpl::list<> |
| using | fd_interior_primitive_variables_tags = tmpl::list<> |
| using | fd_gridless_tags = tmpl::list<> |
Public Member Functions | |
| ConstraintPreservingFreeOutflow (gh::BoundaryConditions::detail::ConstraintPreservingBjorhusType type, std::optional< std::unique_ptr<::MathFunction< 1, Frame::Inertial > > > incoming_wave_profile=std::nullopt) | |
| ConstraintPreservingFreeOutflow (ConstraintPreservingFreeOutflow &&)=default | |
| ConstraintPreservingFreeOutflow & | operator= (ConstraintPreservingFreeOutflow &&)=default |
| ConstraintPreservingFreeOutflow (const ConstraintPreservingFreeOutflow &)=default | |
| ConstraintPreservingFreeOutflow & | operator= (const ConstraintPreservingFreeOutflow &)=default |
| ConstraintPreservingFreeOutflow (CkMigrateMessage *msg) | |
| WRAPPED_PUPable_decl_base_template (domain::BoundaryConditions::BoundaryCondition, ConstraintPreservingFreeOutflow) | |
| auto | get_clone () const -> std::unique_ptr< domain::BoundaryConditions::BoundaryCondition > override |
| void | pup (PUP::er &p) override |
| std::optional< std::string > | dg_time_derivative (gsl::not_null< tnsr::aa< DataVector, 3, Frame::Inertial > * > dt_spacetime_metric_correction, gsl::not_null< tnsr::aa< DataVector, 3, Frame::Inertial > * > dt_pi_correction, gsl::not_null< tnsr::iaa< DataVector, 3, Frame::Inertial > * > dt_phi_correction, gsl::not_null< Scalar< DataVector > * > dt_tilde_d, gsl::not_null< Scalar< DataVector > * > dt_tilde_ye, gsl::not_null< Scalar< DataVector > * > dt_tilde_tau, gsl::not_null< tnsr::i< DataVector, 3, Frame::Inertial > * > dt_tilde_s, gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * > dt_tilde_b, gsl::not_null< Scalar< DataVector > * > dt_tilde_phi, const std::optional< tnsr::I< DataVector, 3, Frame::Inertial > > &face_mesh_velocity, const tnsr::i< DataVector, 3, Frame::Inertial > &normal_covector, const tnsr::I< DataVector, 3, Frame::Inertial > &normal_vector, const tnsr::aa< DataVector, 3, Frame::Inertial > &spacetime_metric, const tnsr::aa< DataVector, 3, Frame::Inertial > &pi, const tnsr::iaa< DataVector, 3, Frame::Inertial > &phi, const Scalar< DataVector > &, const Scalar< DataVector > &, const Scalar< DataVector > &, const tnsr::I< DataVector, 3, Frame::Inertial > &, const tnsr::I< DataVector, 3, Frame::Inertial > &, const Scalar< DataVector > &, const Scalar< DataVector > &, const Scalar< DataVector > &, const tnsr::I< DataVector, 3, Frame::Inertial > &coords, const Scalar< DataVector > &gamma1, const Scalar< DataVector > &gamma2, const Scalar< DataVector > &lapse, const tnsr::I< DataVector, 3, Frame::Inertial > &shift, const tnsr::II< DataVector, 3 > &, const tnsr::AA< DataVector, 3, Frame::Inertial > &inverse_spacetime_metric, const tnsr::A< DataVector, 3, Frame::Inertial > &spacetime_unit_normal_vector, const tnsr::iaa< DataVector, 3, Frame::Inertial > &three_index_constraint, const tnsr::a< DataVector, 3, Frame::Inertial > &gauge_source, const tnsr::ab< DataVector, 3, Frame::Inertial > &spacetime_deriv_gauge_source, const tnsr::aa< DataVector, 3, Frame::Inertial > &logical_dt_spacetime_metric, const tnsr::aa< DataVector, 3, Frame::Inertial > &logical_dt_pi, const tnsr::iaa< DataVector, 3, Frame::Inertial > &logical_dt_phi, const tnsr::iaa< DataVector, 3, Frame::Inertial > &d_spacetime_metric, const tnsr::iaa< DataVector, 3, Frame::Inertial > &d_pi, const tnsr::ijaa< DataVector, 3, Frame::Inertial > &d_phi) const |
| Public Member Functions inherited from grmhd::GhValenciaDivClean::BoundaryConditions::BoundaryCondition | |
| BoundaryCondition (BoundaryCondition &&)=default | |
| BoundaryCondition & | operator= (BoundaryCondition &&)=default |
| BoundaryCondition (const BoundaryCondition &)=default | |
| BoundaryCondition & | operator= (const BoundaryCondition &)=default |
| BoundaryCondition (CkMigrateMessage *msg) | |
| void | pup (PUP::er &p) override |
| Public Member Functions inherited from domain::BoundaryConditions::BoundaryCondition | |
| BoundaryCondition (BoundaryCondition &&)=default | |
| BoundaryCondition & | operator= (BoundaryCondition &&)=default |
| BoundaryCondition (const BoundaryCondition &)=default | |
| BoundaryCondition & | operator= (const BoundaryCondition &)=default |
| BoundaryCondition (CkMigrateMessage *const msg) | |
| WRAPPED_PUPable_abstract (BoundaryCondition) | |
Static Public Member Functions | |
| static std::optional< std::string > | dg_ghost (gsl::not_null< tnsr::aa< DataVector, 3, Frame::Inertial > * > spacetime_metric, gsl::not_null< tnsr::aa< DataVector, 3, Frame::Inertial > * > pi, gsl::not_null< tnsr::iaa< DataVector, 3, Frame::Inertial > * > phi, gsl::not_null< Scalar< DataVector > * > tilde_d, gsl::not_null< Scalar< DataVector > * > tilde_ye, gsl::not_null< Scalar< DataVector > * > tilde_tau, gsl::not_null< tnsr::i< DataVector, 3, Frame::Inertial > * > tilde_s, gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * > tilde_b, gsl::not_null< Scalar< DataVector > * > tilde_phi, gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * > tilde_d_flux, gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * > tilde_ye_flux, gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * > tilde_tau_flux, gsl::not_null< tnsr::Ij< DataVector, 3, Frame::Inertial > * > tilde_s_flux, gsl::not_null< tnsr::IJ< DataVector, 3, Frame::Inertial > * > tilde_b_flux, gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * > tilde_phi_flux, gsl::not_null< Scalar< DataVector > * > gamma1, gsl::not_null< Scalar< DataVector > * > gamma2, gsl::not_null< Scalar< DataVector > * > lapse, gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * > shift, gsl::not_null< tnsr::i< DataVector, 3, Frame::Inertial > * > spatial_velocity_one_form, gsl::not_null< Scalar< DataVector > * > rest_mass_density, gsl::not_null< Scalar< DataVector > * > electron_fraction, gsl::not_null< Scalar< DataVector > * > temperature, gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * > spatial_velocity, gsl::not_null< tnsr::II< DataVector, 3, Frame::Inertial > * > inv_spatial_metric, const std::optional< tnsr::I< DataVector, 3, Frame::Inertial > > &face_mesh_velocity, const tnsr::i< DataVector, 3, Frame::Inertial > &normal_covector, const tnsr::I< DataVector, 3, Frame::Inertial > &normal_vector, const tnsr::aa< DataVector, 3, Frame::Inertial > &interior_spacetime_metric, const tnsr::aa< DataVector, 3, Frame::Inertial > &interior_pi, const tnsr::iaa< DataVector, 3, Frame::Inertial > &interior_phi, const Scalar< DataVector > &interior_rest_mass_density, const Scalar< DataVector > &interior_electron_fraction, const Scalar< DataVector > &interior_specific_internal_energy, const tnsr::I< DataVector, 3, Frame::Inertial > &interior_spatial_velocity, const tnsr::I< DataVector, 3, Frame::Inertial > &interior_magnetic_field, const Scalar< DataVector > &interior_lorentz_factor, const Scalar< DataVector > &interior_pressure, const Scalar< DataVector > &interior_temperature, const tnsr::I< DataVector, 3, Frame::Inertial > &, const Scalar< DataVector > &interior_gamma1, const Scalar< DataVector > &interior_gamma2, const Scalar< DataVector > &interior_lapse, const tnsr::I< DataVector, 3 > &interior_shift, const tnsr::II< DataVector, 3 > &interior_inv_spatial_metric, const tnsr::AA< DataVector, 3, Frame::Inertial > &, const tnsr::A< DataVector, 3, Frame::Inertial > &, const tnsr::iaa< DataVector, 3, Frame::Inertial > &, const tnsr::a< DataVector, 3, Frame::Inertial > &, const tnsr::ab< DataVector, 3, Frame::Inertial > &, const tnsr::aa< DataVector, 3, Frame::Inertial > &, const tnsr::aa< DataVector, 3, Frame::Inertial > &, const tnsr::iaa< DataVector, 3, Frame::Inertial > &, const tnsr::iaa< DataVector, 3, Frame::Inertial > &, const tnsr::iaa< DataVector, 3, Frame::Inertial > &, const tnsr::ijaa< DataVector, 3, Frame::Inertial > &) |
| static void | fd_ghost (const gsl::not_null< tnsr::aa< DataVector, 3, Frame::Inertial > * >, const gsl::not_null< tnsr::aa< DataVector, 3, Frame::Inertial > * >, const gsl::not_null< tnsr::iaa< DataVector, 3, Frame::Inertial > * >, const gsl::not_null< Scalar< DataVector > * >, const gsl::not_null< Scalar< DataVector > * >, const gsl::not_null< Scalar< DataVector > * >, const gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * >, const gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * >, const gsl::not_null< Scalar< DataVector > * >, const Direction< 3 > &) |
Static Public Attributes | |
| static constexpr Options::String | help |
| static constexpr evolution::BoundaryConditions::Type | bc_type |
Sets constraint-preserving boundary conditions on the spacetime variables and hydro free outflow on the GRMHD variables.
| using grmhd::GhValenciaDivClean::BoundaryConditions::ConstraintPreservingFreeOutflow::dg_interior_deriv_vars_tags |
| using grmhd::GhValenciaDivClean::BoundaryConditions::ConstraintPreservingFreeOutflow::dg_interior_dt_vars_tags |
| using grmhd::GhValenciaDivClean::BoundaryConditions::ConstraintPreservingFreeOutflow::dg_interior_evolved_variables_tags |
| using grmhd::GhValenciaDivClean::BoundaryConditions::ConstraintPreservingFreeOutflow::dg_interior_primitive_variables_tags |
| using grmhd::GhValenciaDivClean::BoundaryConditions::ConstraintPreservingFreeOutflow::dg_interior_temporary_tags |
| using grmhd::GhValenciaDivClean::BoundaryConditions::ConstraintPreservingFreeOutflow::options |
|
overridevirtual |
Implements domain::BoundaryConditions::BoundaryCondition.
|
staticconstexpr |
|
staticconstexpr |