|
SpECTRE
v2026.11.11
|
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++. | |
A boundary data manager that constructs the desired boundary data into the Variables from the data provided by the analytic solution.
| 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.
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.
| 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.
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