16 #ifndef _aspect_simulator_signals_h 17 #define _aspect_simulator_signals_h 27 #include <boost/signals2.hpp> 59 struct SimulatorSignals
71 boost::signals2::signal<void (std::vector<VariableDeclaration<dim>> &)>
72 edit_finite_element_variables;
80 boost::signals2::signal<void (typename parallel::distributed::Triangulation<dim> &)> pre_set_initial_state;
88 boost::signals2::signal<void (const SimulatorAccess<dim> &)> post_set_initial_state;
96 boost::signals2::signal<void (const SimulatorAccess<dim> &)> start_timestep;
109 boost::signals2::signal<void (const SimulatorAccess<dim> &,
123 boost::signals2::signal<void (const SimulatorAccess<dim> &,
136 boost::signals2::signal<void (typename parallel::distributed::Triangulation<dim> &)> pre_refinement_store_user_data;
147 boost::signals2::signal<void (typename parallel::distributed::Triangulation<dim> &)> post_refinement_load_user_data;
161 boost::signals2::signal<void (typename parallel::distributed::Triangulation<dim> &)> pre_compute_no_normal_flux_constraints;
175 boost::signals2::signal<void (typename parallel::distributed::Triangulation<dim> &)> post_compute_no_normal_flux_constraints;
186 boost::signals2::signal<void (typename parallel::distributed::Triangulation<dim> &)> pre_checkpoint_store_user_data;
200 boost::signals2::signal<void (typename parallel::distributed::Triangulation<dim> &)> post_resume_load_user_data;
214 boost::signals2::signal<double (const double pressure_scaling, const double reference_viscosity, const double length_scale)>
modify_pressure_scaling;
228 static boost::signals2::signal<void (
const unsigned int aspect_dim,
241 static boost::signals2::signal<void (const Parameters<dim> &,
256 boost::signals2::signal<void (const SimulatorAccess<dim> &,
257 const unsigned int number_S_iterations,
258 const unsigned int number_A_iterations,
270 boost::signals2::signal<void (const SimulatorAccess<dim> &,
271 const bool solved_temperature_field,
272 const unsigned int compositional_index,
292 boost::signals2::signal<void (const SimulatorAccess<dim> &,
293 const unsigned int iteration_count)> post_ARKode_solve;
300 boost::signals2::signal<void (const SimulatorAccess<dim> &)> post_mesh_deformation;
307 boost::signals2::signal<void (const SimulatorAccess<dim> &)> pre_nonlinear_solver;
313 boost::signals2::signal<void (const SimulatorAccess<dim> &,
324 boost::signals2::signal<void (DataOut<dim> &)> pre_data_out_build_patches;
333 boost::signals2::signal<void (Particle::Manager<dim> &)> post_restore_particles;
343 boost::signals2::signal<void (const unsigned int aspect_dim, ParameterHandler &prm)>
351 boost::signals2::signal<void (const unsigned int aspect_dim, ParameterHandler &prm)>
397 #define ASPECT_REGISTER_SIGNALS_CONNECTOR(connector_function_2d,connector_function_3d) \ 398 namespace ASPECT_REGISTER_SIGNALS_CONNECTOR \ 400 struct dummy_do_register \ 402 dummy_do_register () \ 404 aspect::internals::SimulatorSignals::register_connector_function_2d (connector_function_2d); \ 405 aspect::internals::SimulatorSignals::register_connector_function_3d (connector_function_3d); \ 419 #define ASPECT_REGISTER_SIGNALS_PARAMETER_CONNECTOR(connector_function) \ 420 namespace ASPECT_REGISTER_SIGNALS_PARAMETER_CONNECTOR_ ## connector_function \ 422 struct dummy_do_register_ ## connector_function \ 424 dummy_do_register_ ## connector_function () \ 426 connector_function (); \ 428 } dummy_variable_ ## classname; \
void register_connector_function_2d(const std::function< void(aspect::SimulatorSignals< 2 > &)> &connector)
boost::signals2::signal< double(const double pressure_scaling, const double reference_viscosity, const double length_scale)> modify_pressure_scaling
boost::signals2::signal< void(const SolverControl &)> post_nonlinear_solver
void call_connector_functions(aspect::SimulatorSignals< dim > &signals)
void register_connector_function_3d(const std::function< void(aspect::SimulatorSignals< 3 > &)> &connector)
static boost::signals2::signal< void(const unsigned int aspect_dim, ParameterHandler &prm)> declare_additional_parameters