SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
grmhd::GhValenciaDivClean::BoundaryConditions::DirichletAnalytic< System > Class Template Referencefinal

Sets Dirichlet boundary conditions using the analytic solution or analytic data. More...

#include <DirichletAnalytic.hpp>

Classes

struct  AnalyticPrescription
 What analytic solution/data to prescribe. More...

Public Types

using options = tmpl::list<AnalyticPrescription>
using dg_interior_evolved_variables_tags = tmpl::list<>
using dg_interior_temporary_tags
using dg_interior_primitive_variables_tags = tmpl::list<>
using dg_gridless_tags = tmpl::list<::Tags::Time>
using fd_interior_evolved_variables_tags = tmpl::list<>
using fd_interior_temporary_tags
using fd_interior_primitive_variables_tags = tmpl::list<>
using fd_gridless_tags

Public Member Functions

 DirichletAnalytic (DirichletAnalytic &&)=default
DirichletAnalyticoperator= (DirichletAnalytic &&)=default
 DirichletAnalytic (const DirichletAnalytic &)
DirichletAnalyticoperator= (const DirichletAnalytic &)
 DirichletAnalytic (CkMigrateMessage *msg)
 DirichletAnalytic (std::unique_ptr< evolution::initial_data::InitialData > analytic_prescription)
 WRAPPED_PUPable_decl_base_template (domain::BoundaryConditions::BoundaryCondition, DirichletAnalytic)
auto get_clone () const -> std::unique_ptr< domain::BoundaryConditions::BoundaryCondition > override
void pup (PUP::er &p) override
std::optional< std::stringdg_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 > > &, const tnsr::i< DataVector, 3, Frame::Inertial > &, const tnsr::I< DataVector, 3, Frame::Inertial > &, const tnsr::I< DataVector, 3, Frame::Inertial > &coords, const Scalar< DataVector > &interior_gamma1, const Scalar< DataVector > &interior_gamma2, double time) const
void fd_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 > * > 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 > * > lorentz_factor_times_spatial_velocity, gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * > magnetic_field, gsl::not_null< Scalar< DataVector > * > divergence_cleaning_field, const Direction< 3 > &direction, const Mesh< 3 > &subcell_mesh, double time, const std::unordered_map< std::string, std::unique_ptr<::domain::FunctionsOfTime::FunctionOfTime > > &functions_of_time, const ElementMap< 3, Frame::Grid > &logical_to_grid_map, const domain::CoordinateMapBase< Frame::Grid, Frame::Inertial, 3 > &grid_to_inertial_map, const fd::Reconstructor< System > &reconstructor) const
Public Member Functions inherited from grmhd::GhValenciaDivClean::BoundaryConditions::BoundaryCondition
 BoundaryCondition (BoundaryCondition &&)=default
BoundaryConditionoperator= (BoundaryCondition &&)=default
 BoundaryCondition (const BoundaryCondition &)=default
BoundaryConditionoperator= (const BoundaryCondition &)=default
 BoundaryCondition (CkMigrateMessage *msg)
void pup (PUP::er &p) override
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 Attributes

static constexpr Options::String help
static constexpr evolution::BoundaryConditions::Type bc_type

Detailed Description

template<typename System>
class grmhd::GhValenciaDivClean::BoundaryConditions::DirichletAnalytic< System >

Sets Dirichlet boundary conditions using the analytic solution or analytic data.

Member Typedef Documentation

◆ dg_interior_temporary_tags

template<typename System>
using grmhd::GhValenciaDivClean::BoundaryConditions::DirichletAnalytic< System >::dg_interior_temporary_tags
Initial value:
tmpl::list<domain::Tags::Coordinates<3, Frame::Inertial>,
Constraint dammping parameter for the generalized harmonic system (cf. lindblom2005qh).
Definition ConstraintDampingTags.hpp:62
Constraint dammping parameter for the generalized harmonic system (cf. lindblom2005qh).
Definition ConstraintDampingTags.hpp:70

◆ fd_gridless_tags

Initial value:
Definition IndexType.hpp:45
Definition IndexType.hpp:46
Tag for the current time as a double.
Definition Time.hpp:19
The coordinate map from source to target coordinates.
Definition Tags.hpp:30
The coordinate map from the ElementLogical frame to the TargetFrame.
Definition Tags.hpp:70
Tag to retrieve the FunctionsOfTime from the GlobalCache.
Definition Tags.hpp:20
Tag for the reconstructor.
Definition Tag.hpp:41

◆ fd_interior_temporary_tags

template<typename System>
using grmhd::GhValenciaDivClean::BoundaryConditions::DirichletAnalytic< System >::fd_interior_temporary_tags
Initial value:
tmpl::list<evolution::dg::subcell::Tags::Mesh<3>>

Member Function Documentation

◆ get_clone()

Member Data Documentation

◆ bc_type

template<typename System>
evolution::BoundaryConditions::Type grmhd::GhValenciaDivClean::BoundaryConditions::DirichletAnalytic< System >::bc_type
staticconstexpr
Initial value:
=
evolution::BoundaryConditions::Type::Ghost

◆ help

Initial value:
{
"DirichletAnalytic boundary conditions using either analytic solution or "
"analytic data."}

The documentation for this class was generated from the following file:
  • src/Evolution/Systems/GrMhd/GhValenciaDivClean/BoundaryConditions/DirichletAnalytic.hpp