ASPECT

Public Attributes  
boost::signals2::signal< void(std::vector< VariableDeclaration< dim >> &)>  edit_finite_element_variables 
boost::signals2::signal< void(typename parallel::distributed::Triangulation< dim > &)>  pre_set_initial_state 
boost::signals2::signal< void(const SimulatorAccess< dim > &)>  post_set_initial_state 
boost::signals2::signal< void(const SimulatorAccess< dim > &, AffineConstraints< double > &)>  post_constraints_creation 
boost::signals2::signal< void(const SimulatorAccess< dim > &, Parameters< dim > ¶meters)>  edit_parameters_pre_setup_dofs 
boost::signals2::signal< void(typename parallel::distributed::Triangulation< dim > &)>  pre_refinement_store_user_data 
boost::signals2::signal< void(typename parallel::distributed::Triangulation< dim > &)>  post_refinement_load_user_data 
boost::signals2::signal< void(typename parallel::distributed::Triangulation< dim > &)>  pre_compute_no_normal_flux_constraints 
boost::signals2::signal< void(typename parallel::distributed::Triangulation< dim > &)>  post_compute_no_normal_flux_constraints 
boost::signals2::signal< void(typename parallel::distributed::Triangulation< dim > &)>  pre_checkpoint_store_user_data 
boost::signals2::signal< void(typename parallel::distributed::Triangulation< dim > &)>  post_resume_load_user_data 
boost::signals2::signal< void(const SimulatorAccess< dim > &, const unsigned int number_S_iterations, const unsigned int number_A_iterations, const SolverControl &solver_control_cheap, const SolverControl &solver_control_expensive)>  post_stokes_solver 
boost::signals2::signal< void(const SimulatorAccess< dim > &, const bool solved_temperature_field, const unsigned int compositional_index, const SolverControl &solver_control)>  post_advection_solver 
boost::signals2::signal< void(const SolverControl &)>  post_nonlinear_solver 
boost::signals2::signal< void(const SimulatorAccess< dim > &)>  post_mesh_deformation 
boost::signals2::signal< void(const SimulatorAccess< dim > &, aspect::Assemblers::Manager< dim > &)>  set_assemblers 
Static Public Attributes  
static boost::signals2::signal< void(const unsigned int aspect_dim, ParameterHandler &prm)>  declare_additional_parameters 
static boost::signals2::signal< void(const Parameters< dim > &, ParameterHandler &)>  parse_additional_parameters 
A class that collects the definition of signals that can be triggered at different points in a computation. A signal is in essence an event that is triggered whenever the program passes a certain point in a computation. Parties interested in any of these signals can attach "slots" to a signal. A slot is, in essence, a function that is called whenever the signal is triggered. Multiple slots (or none) can be attached to the same signal. To be as general as possible, slots are not actually just pointers to functions, but std::function objects that have a certain signature. Consequently, they can have much more complicated types than just function pointers, such as objects with an operator()
or lambda functions.
The documentation of each of the signals below indicates when exactly it is called.
Definition at line 49 of file simulator_access.h.
boost::signals2::signal<void (std::vector<VariableDeclaration<dim>> &)> aspect::SimulatorSignals< dim >::edit_finite_element_variables 
A signal that is called before the list of finite element variables is used to construct the Introspection class.
The functions (slots) that can attach to this signal need to take one argument: A std::vector of VariableDeclaration<dim> representing the collection of finite element variables, that can be modified and will be used to construct the final finite element system later.
Definition at line 76 of file simulator_signals.h.
boost::signals2::signal<void (typename parallel::distributed::Triangulation<dim> &)> aspect::SimulatorSignals< dim >::pre_set_initial_state 
A signal that is called before setting up the initial conditions.
The functions (slots) that can attach to this signal need to take one argument: A SimulatorAccess object that describes the simulator.
Definition at line 84 of file simulator_signals.h.
boost::signals2::signal<void (const SimulatorAccess<dim> &)> aspect::SimulatorSignals< dim >::post_set_initial_state 
A signal that is called after setting up the initial conditions.
The functions (slots) that can attach to this signal need to take one argument: A SimulatorAccess object that describes the simulator.
Definition at line 92 of file simulator_signals.h.
boost::signals2::signal<void (const SimulatorAccess<dim> &, AffineConstraints<double> &)> aspect::SimulatorSignals< dim >::post_constraints_creation 
A signal that is called at the end of setting up the constraints for the current time step. This allows to add more constraints on degrees of freedom, for example to fix the velocity at certain points.
The functions (slots) that can attach to this signal need to take two arguments: A SimulatorAccess object that describes the simulator to act on, and an (output) argument that indicates the constraints to be computed.
Definition at line 106 of file simulator_signals.h.
boost::signals2::signal<void (const SimulatorAccess<dim> &, Parameters<dim> ¶meters)> aspect::SimulatorSignals< dim >::edit_parameters_pre_setup_dofs 
A signal that is called at the start of setup_dofs(). This allows for editing of the parameters struct on the fly (such as changing boundary conditions) to give ASPECT different behavior in midrun than it otherwise would have.
The functions that connect to this signal must take two arguments, a SimulatorAccess object that describes the simulator, and an object of type aspect::Parameters<dim>, which is the current parameters object that the simulator is working with.
Definition at line 120 of file simulator_signals.h.
boost::signals2::signal<void (typename parallel::distributed::Triangulation<dim> &)> aspect::SimulatorSignals< dim >::pre_refinement_store_user_data 
A signal that is called before every mesh_refinement. This signal allows for registering functions that store data that is related to mesh cells and needs to be transferred with the cells during the repartitioning.
The functions that connect to this signal must take a reference to a parallel::distributed::Triangulation object as argument. This argument will point to the triangulation used by the Simulator class.
Definition at line 132 of file simulator_signals.h.
boost::signals2::signal<void (typename parallel::distributed::Triangulation<dim> &)> aspect::SimulatorSignals< dim >::post_refinement_load_user_data 
A signal that is called after every mesh_refinement. This signal allows for registering functions that load data related to mesh cells and that was transferred with the cells during the repartitioning.
The functions that connect to this signal must take a reference to a parallel::distributed::Triangulation object as argument. This argument will point to the triangulation used by the Simulator class.
Definition at line 143 of file simulator_signals.h.
boost::signals2::signal<void (typename parallel::distributed::Triangulation<dim> &)> aspect::SimulatorSignals< dim >::pre_compute_no_normal_flux_constraints 
A signal that is called before the computation of tangential boundary conditions for which normal vectors are needed, i.e. calls to the compute_no_normal_flux_constraints function for both the velocity variable in the main simulator and the mesh velocity variable in models with mesh deformation.
The functions that connect to this signal must take a reference to a parallel::distributed::Triangulation object as argument. This argument will point to the triangulation used by the Simulator class.
Definition at line 157 of file simulator_signals.h.
boost::signals2::signal<void (typename parallel::distributed::Triangulation<dim> &)> aspect::SimulatorSignals< dim >::post_compute_no_normal_flux_constraints 
A signal that is called after the computation of tangential boundary conditions for which normal vectors are needed, i.e. calls to the compute_no_normal_flux_constraints function for both the velocity variable in the main simulator and the mesh velocity variable in models with mesh deformation.
The functions that connect to this signal must take a reference to a parallel::distributed::Triangulation object as argument. This argument will point to the triangulation used by the Simulator class.
Definition at line 171 of file simulator_signals.h.
boost::signals2::signal<void (typename parallel::distributed::Triangulation<dim> &)> aspect::SimulatorSignals< dim >::pre_checkpoint_store_user_data 
A signal that is called before the creation of every checkpoint. This signal allows for registering functions that store data related to mesh cells.
The functions that connect to this signal must take a reference to a parallel::distributed::Triangulation object as argument. This argument will point to the triangulation used by the Simulator class.
Definition at line 182 of file simulator_signals.h.
boost::signals2::signal<void (typename parallel::distributed::Triangulation<dim> &)> aspect::SimulatorSignals< dim >::post_resume_load_user_data 
A signal that is called after resuming from a checkpoint. This signal allows for registering functions that load data related to mesh cells that was previously stored in the checkpoint. Note that before calling Triangulation::notify_ready_to_unpack() the function needs to call register_attach_data() with the appropriate arguments to restore the state of the triangulation.
The functions that connect to this signal must take a reference to a parallel::distributed::Triangulation object as argument. This argument will point to the triangulation used by the Simulator class.
Definition at line 196 of file simulator_signals.h.

static 
A signal that is called at the beginning of the program. It gives user extensions the ability to declare additional parameters via the provided argument. User extensions connected to this signal will likely also want to connect to the parse_additional_parameters signal.
The first argument to functions that connect to this signal denotes the dimension in which ASPECT will be run. Functions connected to this signal can declare additional runtime parameters in the second argument.
Definition at line 211 of file simulator_signals.h.

static 
A signal that is called at the beginning of the program, after reading the input file. It gives user extensions the ability to read additional parameters from the provided argument. The first argument indicates an object that represents all of the other parameters (that have already been parsed at this point).
User extensions connected to this signal will likely also want to connect to the declare_additional_parameters signal.
Definition at line 224 of file simulator_signals.h.
boost::signals2::signal<void (const SimulatorAccess<dim> &, const unsigned int number_S_iterations, const unsigned int number_A_iterations, const SolverControl &solver_control_cheap, const SolverControl &solver_control_expensive)> aspect::SimulatorSignals< dim >::post_stokes_solver 
A signal that is fired when the iterative Stokes solver is done. Parameters are a reference to the SimulatorAccess, the number of preconditioner inner solver iterations for the S and A block of the system, and two information objects that contain information about the success of the solve, the number of outer GMRES iterations and the residual history for the cheap and expensive solver phase.
Definition at line 238 of file simulator_signals.h.
boost::signals2::signal<void (const SimulatorAccess<dim> &, const bool solved_temperature_field, const unsigned int compositional_index, const SolverControl &solver_control)> aspect::SimulatorSignals< dim >::post_advection_solver 
A signal that is fired when the iterative advection solver is done. Parameters are a reference to the SimulatorAccess, a bool indicating whether the temperature field or a compositional field was solved, a composition index that describes which compositional field was solved, and an information object that contains information about the number of iterations and history of residuals.
Definition at line 251 of file simulator_signals.h.
boost::signals2::signal<void (const SolverControl &)> aspect::SimulatorSignals< dim >::post_nonlinear_solver 
A signal that is fired when the nonlinear solver scheme is done. The signal parameter is an object that contains information about the final state (failure/success), number of iterations and history of residuals of the nonlinear solver. If there is no nonlinear solver (only a single solve), the SolverControl object will report a successful state, a single iteration and a remaining residual of zero.
Definition at line 262 of file simulator_signals.h.
boost::signals2::signal<void (const SimulatorAccess<dim> &)> aspect::SimulatorSignals< dim >::post_mesh_deformation 
A signal that is fired when mesh deformation has occurred. Parameters are a reference to the SimulatorAccess.
Definition at line 268 of file simulator_signals.h.
boost::signals2::signal<void (const SimulatorAccess<dim> &, aspect::Assemblers::Manager<dim> &)> aspect::SimulatorSignals< dim >::set_assemblers 
A signal that is fired at the end of the set_assemblers() function that allows modification of the assembly objects active in this simulation.
Definition at line 276 of file simulator_signals.h.