Reference documentation for deal.II version Git f0d9923401 20200928 19:47:38 0600

#include <deal.II/lac/petsc_precondition.h>
Public Member Functions  
AdditionalData (const bool symmetric_operator=false, const double strong_threshold=0.25, const double max_row_sum=0.9, const unsigned int aggressive_coarsening_num_levels=0, const bool output_details=false)  
Public Attributes  
bool  symmetric_operator 
double  strong_threshold 
double  max_row_sum 
unsigned int  aggressive_coarsening_num_levels 
bool  output_details 
Standardized data struct to pipe additional flags to the preconditioner.
Definition at line 683 of file petsc_precondition.h.
PETScWrappers::PreconditionBoomerAMG::AdditionalData::AdditionalData  (  const bool  symmetric_operator = false , 
const double  strong_threshold = 0.25 , 

const double  max_row_sum = 0.9 , 

const unsigned int  aggressive_coarsening_num_levels = 0 , 

const bool  output_details = false 

) 
Constructor. Note that BoomerAMG offers a lot more options to set than what is exposed here.
Definition at line 437 of file petsc_precondition.cc.
bool PETScWrappers::PreconditionBoomerAMG::AdditionalData::symmetric_operator 
Set this flag to true if you have a symmetric system matrix and you want to use a solver which assumes a symmetric preconditioner like CG. The relaxation is done with SSOR/Jacobi when set to true and with SOR/Jacobi otherwise.
Definition at line 701 of file petsc_precondition.h.
double PETScWrappers::PreconditionBoomerAMG::AdditionalData::strong_threshold 
Threshold of when nodes are considered strongly connected. See HYPRE_BoomerAMGSetStrongThreshold(). Recommended values are 0.25 for 2d and 0.5 for 3d problems, but it is problem dependent.
Definition at line 708 of file petsc_precondition.h.
double PETScWrappers::PreconditionBoomerAMG::AdditionalData::max_row_sum 
If set to a value smaller than 1.0 then diagonally dominant parts of the matrix are treated as having no strongly connected nodes. If the row sum weighted by the diagonal entry is bigger than the given value, it is considered diagonally dominant. This feature is turned of by setting the value to 1.0. This is the default as some matrices can result in having only diagonally dominant entries and thus no multigrid levels are constructed. The default in BoomerAMG for this is 0.9. When you try this, check for a reasonable number of levels created.
Definition at line 721 of file petsc_precondition.h.
unsigned int PETScWrappers::PreconditionBoomerAMG::AdditionalData::aggressive_coarsening_num_levels 
Number of levels of aggressive coarsening. Increasing this value reduces the construction time and memory requirements but may decrease effectiveness.
Definition at line 728 of file petsc_precondition.h.
bool PETScWrappers::PreconditionBoomerAMG::AdditionalData::output_details 
Setting this flag to true produces debug output from HYPRE, when the preconditioner is constructed.
Definition at line 734 of file petsc_precondition.h.