SpECTRE  v2024.03.19
grmhd::ValenciaDivClean::BoundaryConditions::DirichletAnalytic Class 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 = tmpl::list< domain::Tags::Coordinates< 3, Frame::Inertial > >
 
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 = tmpl::list< evolution::dg::subcell::Tags::Mesh< 3 > >
 
using fd_interior_primitive_variables_tags = tmpl::list<>
 
using fd_gridless_tags = tmpl::list<::Tags::Time, ::domain::Tags::FunctionsOfTime, domain::Tags::ElementMap< 3, Frame::Grid >, domain::CoordinateMaps::Tags::CoordinateMap< 3, Frame::Grid, Frame::Inertial >, fd::Tags::Reconstructor >
 

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< 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 > * > lapse, gsl::not_null< tnsr::I< DataVector, 3, Frame::Inertial > * > shift, 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, double time) const
 
void fd_ghost (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, gsl::not_null< std::optional< Variables< db::wrap_tags_in< Flux, typename grmhd::ValenciaDivClean::System::flux_variables > > > * > cell_centered_ghost_fluxes, 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 &reconstructor) const
 
- Public Member Functions inherited from grmhd::ValenciaDivClean::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)
 
virtual auto get_clone () const -> std::unique_ptr< BoundaryCondition >=0
 

Static Public Attributes

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

Detailed Description

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

Member Function Documentation

◆ get_clone()

auto grmhd::ValenciaDivClean::BoundaryConditions::DirichletAnalytic::get_clone ( ) const -> std::unique_ptr< domain::BoundaryConditions::BoundaryCondition >
overridevirtual

Member Data Documentation

◆ bc_type

constexpr evolution::BoundaryConditions::Type grmhd::ValenciaDivClean::BoundaryConditions::DirichletAnalytic::bc_type
staticconstexpr
Initial value:
=
evolution::BoundaryConditions::Type::Ghost

◆ help

constexpr Options::String grmhd::ValenciaDivClean::BoundaryConditions::DirichletAnalytic::help
staticconstexpr
Initial value:
{
"DirichletAnalytic boundary conditions using either analytic solution or "
"analytic data."}

The documentation for this class was generated from the following file: