Reference documentation for deal.II version 9.0.0
Public Member Functions | Public Attributes | List of all members
SparseLUDecomposition< number >::AdditionalData Class Reference

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

Public Member Functions

 AdditionalData (const double strengthen_diagonal=0, const unsigned int extra_off_diagonals=0, const bool use_previous_sparsity=false, const SparsityPattern *use_this_sparsity=nullptr)
 

Public Attributes

double strengthen_diagonal
 
unsigned int extra_off_diagonals
 
bool use_previous_sparsity
 
const SparsityPatternuse_this_sparsity
 

Detailed Description

template<typename number>
class SparseLUDecomposition< number >::AdditionalData

Parameters for SparseDecomposition.

Definition at line 142 of file sparse_decomposition.h.

Constructor & Destructor Documentation

◆ AdditionalData()

template<typename number >
SparseLUDecomposition< number >::AdditionalData::AdditionalData ( const double  strengthen_diagonal = 0,
const unsigned int  extra_off_diagonals = 0,
const bool  use_previous_sparsity = false,
const SparsityPattern use_this_sparsity = nullptr 
)

Constructor. For the parameters' description, see below.

Member Data Documentation

◆ strengthen_diagonal

template<typename number >
double SparseLUDecomposition< number >::AdditionalData::strengthen_diagonal

strengthen_diag times the sum of absolute row entries is added to the diagonal entries.

Per default, this value is zero, i.e. the diagonal is not strengthened.

Definition at line 159 of file sparse_decomposition.h.

◆ extra_off_diagonals

template<typename number >
unsigned int SparseLUDecomposition< number >::AdditionalData::extra_off_diagonals

By default, the initialize(matrix, data) function creates its own sparsity. This sparsity has the same SparsityPattern as matrix with some extra off diagonals the number of which is specified by extra_off_diagonals.

The user can give a SparsityPattern to use_this_sparsity. Then this sparsity is used and the extra_off_diagonals argument is ignored.

Definition at line 171 of file sparse_decomposition.h.

◆ use_previous_sparsity

template<typename number >
bool SparseLUDecomposition< number >::AdditionalData::use_previous_sparsity

If this flag is true the initialize() function uses the same sparsity that was used during the previous initialize() call.

This might be useful when several linear problems on the same sparsity need to solved, as for example several Newton iteration steps on the same triangulation.

Definition at line 181 of file sparse_decomposition.h.

◆ use_this_sparsity

template<typename number >
const SparsityPattern* SparseLUDecomposition< number >::AdditionalData::use_this_sparsity

When a SparsityPattern is given to this argument, the initialize() function calls reinit(*use_this_sparsity) causing this sparsity to be used.

Note that the sparsity structures of *use_this_sparsity and the matrix passed to the initialize function need not be equal. Fill-in is allowed, as well as filtering out some elements in the matrix.

Definition at line 193 of file sparse_decomposition.h.


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