Reference documentation for deal.II version Git cb0bd54b52 2019-09-21 16:31:22 -0400
\(\newcommand{\dealcoloneq}{\mathrel{\vcenter{:}}=}\)
Public Member Functions | Public Attributes | List of all members
TrilinosWrappers::PreconditionSOR::AdditionalData Struct Reference

#include <deal.II/lac/trilinos_precondition.h>

Public Member Functions

 AdditionalData (const double omega=1, const double min_diagonal=0, const unsigned int overlap=0, const unsigned int n_sweeps=1)
 

Public Attributes

double omega
 
double min_diagonal
 
unsigned int overlap
 
unsigned int n_sweeps
 

Detailed Description

Standardized data struct to pipe additional flags to the preconditioner. The parameter omega specifies the relaxation parameter in the SOR preconditioner. The parameter min_diagonal can be used to make the application of the preconditioner also possible when some diagonal elements are zero. In a default application this would mean that we divide by zero, so by setting the parameter min_diagonal to a small nonzero value the SOR will work on a matrix that is not too far away from the one we want to treat. Finally, overlap governs the overlap of the partitions when the preconditioner runs in parallel, forming a so- called additive Schwarz preconditioner.

Definition at line 468 of file trilinos_precondition.h.

Constructor & Destructor Documentation

◆ AdditionalData()

TrilinosWrappers::PreconditionSOR::AdditionalData::AdditionalData ( const double  omega = 1,
const double  min_diagonal = 0,
const unsigned int  overlap = 0,
const unsigned int  n_sweeps = 1 
)

Constructor. By default, set the damping parameter to one, we do not modify the diagonal, and there is no overlap (i.e. in parallel, we run a BlockJacobi preconditioner, where each block is inverted approximately by an SOR.

Definition at line 206 of file trilinos_precondition.cc.

Member Data Documentation

◆ omega

double TrilinosWrappers::PreconditionSOR::AdditionalData::omega

This specifies the (over-) relaxation parameter in the SOR preconditioner.

Definition at line 485 of file trilinos_precondition.h.

◆ min_diagonal

double TrilinosWrappers::PreconditionSOR::AdditionalData::min_diagonal

This specifies the minimum value the diagonal elements should have. This might be necessary when the SOR preconditioner is used on matrices with zero diagonal elements. In that case, a straight- forward application would not be possible since we divide by the diagonal element.

Definition at line 494 of file trilinos_precondition.h.

◆ overlap

unsigned int TrilinosWrappers::PreconditionSOR::AdditionalData::overlap

This determines how large the overlap of the local matrix portions on each processor in a parallel application should be.

Definition at line 500 of file trilinos_precondition.h.

◆ n_sweeps

unsigned int TrilinosWrappers::PreconditionSOR::AdditionalData::n_sweeps

Sets how many times the given operation should be applied during the vmult() operation.

Definition at line 506 of file trilinos_precondition.h.


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