SpECTRE  v2022.05.05
control_system::TestHelpers::SystemHelper< Metavars > Struct Template Reference

Helper struct for testing basic control systems. More...

#include <SystemHelpers.hpp>

Public Types

using expansion_system = typename Metavars::expansion_system
 
using element_component = typename Metavars::element_component
 
using control_components = typename Metavars::control_components
 
using expansion_init_simple_tags = init_simple_tags< expansion_system >
 

Public Member Functions

auto & domain ()
 
auto & initial_functions_of_time ()
 
auto & initial_measurement_timescales ()
 
const auto & init_exp_tuple ()
 
const auto & grid_position_of_a ()
 
const auto & grid_position_of_b ()
 
const auto & expansion_name ()
 
void setup_control_system_test (const double initial_time, const double initial_separation, const std::string &option_string)
 
template<typename Generator , typename F , typename CoordMap >
void run_control_system_test (ActionTesting::MockRuntimeSystem< Metavars > &runner, const double final_time, gsl::not_null< Generator * > generator, const F position_function, const CoordMap &coord_map)
 

Static Public Attributes

static constexpr size_t exp_deriv_order = Metavars::exp_deriv_order
 
static constexpr bool using_expansion = Metavars::using_expansion
 

Detailed Description

template<typename Metavars>
struct control_system::TestHelpers::SystemHelper< Metavars >

Helper struct for testing basic control systems.

To signify which control systems you want, set the corresponding DerivOrder. To turn control systems off, put 0 for their DerivOrder in the templates of the metavariables.

Ideally we'd construct the runner here and just pass that to the test to simplify as must of the work as possible, but MockRuntimeSystems aren't copy- or move-able so we have to make the necessary info available. The simplist way to do this was to have functions that return references to the member variables.

Note
Rotation and Translation control aren't supported yet. They will be added in the future.

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