22 #ifndef _aspect_simulator_signals_h 23 #define _aspect_simulator_signals_h 33 #include <boost/signals2.hpp> 65 struct SimulatorSignals
77 boost::signals2::signal<void (std::vector<VariableDeclaration<dim>> &)>
78 edit_finite_element_variables;
86 boost::signals2::signal<void (typename parallel::distributed::Triangulation<dim> &)> pre_set_initial_state;
94 boost::signals2::signal<void (const SimulatorAccess<dim> &)> post_set_initial_state;
102 boost::signals2::signal<void (const SimulatorAccess<dim> &)> start_timestep;
115 boost::signals2::signal<void (const SimulatorAccess<dim> &,
129 boost::signals2::signal<void (const SimulatorAccess<dim> &,
142 boost::signals2::signal<void (typename parallel::distributed::Triangulation<dim> &)> pre_refinement_store_user_data;
153 boost::signals2::signal<void (typename parallel::distributed::Triangulation<dim> &)> post_refinement_load_user_data;
167 boost::signals2::signal<void (typename parallel::distributed::Triangulation<dim> &)> pre_compute_no_normal_flux_constraints;
181 boost::signals2::signal<void (typename parallel::distributed::Triangulation<dim> &)> post_compute_no_normal_flux_constraints;
192 boost::signals2::signal<void (typename parallel::distributed::Triangulation<dim> &)> pre_checkpoint_store_user_data;
206 boost::signals2::signal<void (typename parallel::distributed::Triangulation<dim> &)> post_resume_load_user_data;
220 boost::signals2::signal<double (const double pressure_scaling, const double reference_viscosity, const double length_scale)>
modify_pressure_scaling;
234 static boost::signals2::signal<void (
const unsigned int aspect_dim,
247 static boost::signals2::signal<void (const Parameters<dim> &,
262 boost::signals2::signal<void (const SimulatorAccess<dim> &,
263 const unsigned int number_S_iterations,
264 const unsigned int number_A_iterations,
276 boost::signals2::signal<void (const SimulatorAccess<dim> &,
277 const bool solved_temperature_field,
278 const unsigned int compositional_index,
298 boost::signals2::signal<void (const SimulatorAccess<dim> &,
299 const unsigned int iteration_count)> post_ARKode_solve;
306 boost::signals2::signal<void (const SimulatorAccess<dim> &)> post_mesh_deformation;
313 boost::signals2::signal<void (const SimulatorAccess<dim> &)> pre_nonlinear_solver;
319 boost::signals2::signal<void (const SimulatorAccess<dim> &,
330 boost::signals2::signal<void (DataOut<dim> &)> pre_data_out_build_patches;
339 boost::signals2::signal<void (Particle::Manager<dim> &)> post_restore_particles;
349 boost::signals2::signal<void (const unsigned int aspect_dim, ParameterHandler &prm)>
357 boost::signals2::signal<void (const unsigned int aspect_dim, ParameterHandler &prm)>
403 #define ASPECT_REGISTER_SIGNALS_CONNECTOR(connector_function_2d,connector_function_3d) \ 404 namespace ASPECT_REGISTER_SIGNALS_CONNECTOR \ 406 struct dummy_do_register \ 408 dummy_do_register () \ 410 aspect::internals::SimulatorSignals::register_connector_function_2d (connector_function_2d); \ 411 aspect::internals::SimulatorSignals::register_connector_function_3d (connector_function_3d); \ 425 #define ASPECT_REGISTER_SIGNALS_PARAMETER_CONNECTOR(connector_function) \ 426 namespace ASPECT_REGISTER_SIGNALS_PARAMETER_CONNECTOR_ ## connector_function \ 428 struct dummy_do_register_ ## connector_function \ 430 dummy_do_register_ ## connector_function () \ 432 connector_function (); \ 434 } 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