deal.II version GIT relicensing-2202-g5ed228918a 2024-12-01 17:10:00+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
Public Attributes | List of all members
mg::Signals Struct Reference

#include <deal.II/multigrid/multigrid.h>

Public Attributes

boost::signals2::signal< void(const bool before)> transfer_to_mg
 
boost::signals2::signal< void(const bool before)> transfer_to_global
 
boost::signals2::signal< void(const bool before, const unsigned int level)> coarse_solve
 
boost::signals2::signal< void(const bool before, const unsigned int level)> restriction
 
boost::signals2::signal< void(const bool before, const unsigned int level)> prolongation
 
boost::signals2::signal< void(const bool before, const unsigned int level)> pre_smoother_step
 
boost::signals2::signal< void(const bool before, const unsigned int level)> post_smoother_step
 
boost::signals2::signal< void(const bool before, const unsigned int level)> residual_step
 
boost::signals2::signal< void(const bool before, const unsigned int level)> edge_prolongation
 

Detailed Description

A structure containing boost::signal objects for optional processing in multigrid solvers.

Each of these signals is called twice, once before and once after the action is performed. The two function calls differ in the boolean argument before, which is true the first time and false the second.

Definition at line 61 of file multigrid.h.

Member Data Documentation

◆ transfer_to_mg

boost::signals2::signal<void(const bool before)> mg::Signals::transfer_to_mg

This signal is triggered before (before is true) and after (before is false) the call to MGTransfer::copy_to_mg which transfers the vector given to it to a multi-level vector.

Definition at line 68 of file multigrid.h.

◆ transfer_to_global

boost::signals2::signal<void(const bool before)> mg::Signals::transfer_to_global

This signal is triggered before (before is true) and after (before is false) the call to MGTransfer::copy_from_mg which transfers the multi-level vector given to it to a normal vector.

Definition at line 75 of file multigrid.h.

◆ coarse_solve

boost::signals2::signal<void(const bool before, const unsigned int level)> mg::Signals::coarse_solve

This signal is triggered before (before is true) and after (before is false) the call to the coarse solver on level.

The coarse solve will be done with defect[level] and returned in solution[level], which can be inspected by the user using this signal.

Definition at line 87 of file multigrid.h.

◆ restriction

boost::signals2::signal<void(const bool before, const unsigned int level)> mg::Signals::restriction

This signal is triggered before (before is true) and after (before is false) the call to MGTransfer::restrict_and_add() which restricts a vector from level to the next coarser one (level - 1).

The vector defect[level-1] will be updated between these two triggers and can be inspected by the user using this signal.

Definition at line 98 of file multigrid.h.

◆ prolongation

boost::signals2::signal<void(const bool before, const unsigned int level)> mg::Signals::prolongation

This signal is triggered before (before is true) and after (before is false) the call to MGTransfer::prolongate() which prolongs a vector to level from the next coarser one (level - 1).

Definition at line 106 of file multigrid.h.

◆ pre_smoother_step

boost::signals2::signal<void(const bool before, const unsigned int level)> mg::Signals::pre_smoother_step

This signal is triggered before (before is true) and after (before is false) the call to a pre-smoothing step via MGPreSmoother::apply() on level.

The smoother result will be stored in solution[level] and can be inspected by the user using this signal.

Definition at line 117 of file multigrid.h.

◆ post_smoother_step

boost::signals2::signal<void(const bool before, const unsigned int level)> mg::Signals::post_smoother_step

This signal is triggered before (before is true) and after (before is false) the call to a post-smoothing step via MGPostSmoother::apply() on level.

Definition at line 125 of file multigrid.h.

◆ residual_step

boost::signals2::signal<void(const bool before, const unsigned int level)> mg::Signals::residual_step

This signal is triggered before (before is true) and after (before is false) the computation of the residual vector on level, including the result of edge_out and edge_down.

Definition at line 133 of file multigrid.h.

◆ edge_prolongation

boost::signals2::signal<void(const bool before, const unsigned int level)> mg::Signals::edge_prolongation

This signal is triggered before (before is true) and after (before is false) the execution of edge_in and edge_up.

Definition at line 140 of file multigrid.h.


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