SpECTRE  v2026.11.11
Loading...
Searching...
No Matches
Cce::AnalyticBoundaryDataManager Class Reference

A boundary data manager that constructs the desired boundary data into the Variables from the data provided by the analytic solution. More...

#include <AnalyticBoundaryDataManager.hpp>

Public Member Functions

 AnalyticBoundaryDataManager (size_t l_max, double extraction_radius, std::unique_ptr< Solutions::WorldtubeData > generator, double du_dr_j_stencil_step)
bool populate_hypersurface_boundary_data (gsl::not_null< Variables< Tags::characteristic_worldtube_boundary_tags< Tags::BoundaryValue > > * > boundary_data_variables, double time) const
 Update the boundary_data_variables entries for all tags in Tags::characteristic_worldtube_boundary_tags except Du<Dr<BondiJ>> (see populate_du_dr_j) to the boundary data from the analytic solution at time.
template<typename ParallelComponent, typename Metavariables>
void write_news (Parallel::GlobalCache< Metavariables > &cache, double time) const
 Use observers::ThreadedActions::WriteSimpleData to output the expected news at time from the analytic data to dataset /expected_news.dat.
void populate_du_dr_j (gsl::not_null< Variables< Tags::characteristic_worldtube_boundary_tags< Tags::BoundaryValue > > * > boundary_data_variables, double time) const
 Update the Du<Dr<BondiJ>> entry of boundary_data_variables at time if an interpolator was given with set_du_dr_j_interpolator.
void set_du_dr_j_interpolator (std::unique_ptr< intrp::SpanInterpolator > interpolator)
 Set the interpolator used by populate_du_dr_j. Without one (the default, or after passing nullptr), populate_du_dr_j does nothing.
double get_du_dr_j_stencil_step () const
size_t get_l_max () const
const Solutions::WorldtubeData & get_generator () const
void pup (PUP::er &p)
 Serialization for Charm++.

Detailed Description

A boundary data manager that constructs the desired boundary data into the Variables from the data provided by the analytic solution.

Member Function Documentation

◆ populate_du_dr_j()

void Cce::AnalyticBoundaryDataManager::populate_du_dr_j ( gsl::not_null< Variables< Tags::characteristic_worldtube_boundary_tags< Tags::BoundaryValue > > * > boundary_data_variables,
double time ) const

Update the Du<Dr<BondiJ>> entry of boundary_data_variables at time if an interpolator was given with set_du_dr_j_interpolator.

Details

Samples Dr<BondiJ> from the analytic solution at 2 * interpolator->required_number_of_points_before_and_after() times spaced by Cce::OptionTags::DuDrJStencilStep and centered on time, and differentiates it with the interpolator.

◆ populate_hypersurface_boundary_data()

bool Cce::AnalyticBoundaryDataManager::populate_hypersurface_boundary_data ( gsl::not_null< Variables< Tags::characteristic_worldtube_boundary_tags< Tags::BoundaryValue > > * > boundary_data_variables,
double time ) const

Update the boundary_data_variables entries for all tags in Tags::characteristic_worldtube_boundary_tags except Du<Dr<BondiJ>> (see populate_du_dr_j) to the boundary data from the analytic solution at time.

Details

This class retrieves metric boundary data from the Cce::Solutions::WorldtubeData derived class that represents an analytic solution, then dispatches to Cce::create_bondi_boundary_data() to construct the Bondi values into the provided Variables


The documentation for this class was generated from the following file:
  • src/Evolution/Systems/Cce/AnalyticBoundaryDataManager.hpp