TrilinosWrappers::PreconditionAMG::AdditionalData Struct Reference

List of all members.

Public Member Functions

 AdditionalData (const bool elliptic=true, const bool higher_order_elements=false, const double aggregation_threshold=1e-4, const std::vector< std::vector< bool > > &constant_modes=std::vector< std::vector< bool > >(1), const unsigned int smoother_sweeps=3, const unsigned int smoother_overlap=0, const bool output_details=false)

Public Attributes

bool elliptic
bool higher_order_elements
double aggregation_threshold
std::vector< std::vector< bool > > constant_modes
unsigned int smoother_sweeps
unsigned int smoother_overlap
bool output_details

Constructor & Destructor Documentation

TrilinosWrappers::PreconditionAMG::AdditionalData::AdditionalData ( const bool  elliptic = true,
const bool  higher_order_elements = false,
const double  aggregation_threshold = 1e-4,
const std::vector< std::vector< bool > > &  constant_modes = std::vector< std::vector< bool > >(1),
const unsigned int  smoother_sweeps = 3,
const unsigned int  smoother_overlap = 0,
const bool  output_details = false 
)

Constructor. By default, we pretend to work on elliptic problems with linear finite elements on a scalar equation.


Member Data Documentation

Determines whether the AMG preconditioner should be optimized for elliptic problems (ML option smoothed aggregation SA, using a Chebyshev smoother) or for non-elliptic problems (ML option non-symmetric smoothed aggregation NSSA, smoother is SSOR with underrelaxation).

Determines whether the matrix that the preconditioner is built upon is generated from linear or higher-order elements.

This threshold tells the AMG setup how the coarsening should be performed. In the AMG used by ML, all points that strongly couple with the tentative coarse-level point form one aggregate. The term strong coupling is controlled by the variable aggregation_threshold, meaning that all elements that are not smaller than aggregation_threshold times the diagonal element do couple strongly.

Specifies the constant modes (near null space) of the matrix. This parameter tells AMG whether we work on a scalar equation (where the near null space only consists of ones) or on a vector-valued equation.

Determines how many sweeps of the smoother should be performed. When the flag elliptic is set to true, i.e., for elliptic or almost elliptic problems, the polynomial degree of the Chebyshev smoother is set to smoother_sweeps. The term sweeps refers to the number of matrix-vector products performed in the Chebyshev case. In the non-elliptic case, smoother_sweeps sets the number of SSOR relaxation sweeps for post-smoothing to be performed.

Determines the overlap in the SSOR/Chebyshev error smoother when run in parallel.

If this flag is set to true, then internal information from the ML preconditioner is printed to screen. This can be useful when debugging the preconditioner.


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

deal.II documentation generated on Mon Nov 23 22:58:38 2009 by doxygen 1.6.1