batchlas::ILUKParams< T > Struct Template Reference

Overview

template<typename T>
struct batchlas::ILUKParams< T >

Parameters of an incomplete LU factorization with level-of-fill k, ILU(k).

The symbolic phase keeps every entry whose level of fill is at most levels_of_fill. The numeric phase then prunes each row: entries at or below drop_tolerance times the row's scale (floored at 1) are dropped, and at most ceil(fill_factor x the row's original non-zero count) - 1 off-diagonal entries survive, largest magnitude first (ties by column). A pivot smaller than max(|diagonal_shift|, diag_pivot_threshold x max(row scale, 1)) is shifted by diagonal_shift, replaced by it, or raised to that threshold.

Template Parameters
Tscalar type; real-valued fields use its real counterpart

Definition at line 28 of file iluk.hh.

#include <batchlas/blas/functions/iluk.hh>

Variables

◆ levels_of_fill

template<typename T>
int batchlas::ILUKParams< T >::levels_of_fill = 0

k; 0 keeps exactly A's pattern. Must be >= 0.

Definition at line 29 of file iluk.hh.

◆ diagonal_shift

template<typename T>
T batchlas::ILUKParams< T >::diagonal_shift = T(1e-8)

added to (or substituted for) a pivot that is too small

Definition at line 30 of file iluk.hh.

◆ drop_tolerance

template<typename T>
base_type<T>::type batchlas::ILUKParams< T >::drop_tolerance = typename base_type<T>::type(1e-4)

relative drop threshold; >= 0

Definition at line 31 of file iluk.hh.

◆ fill_factor

template<typename T>
base_type<T>::type batchlas::ILUKParams< T >::fill_factor = typename base_type<T>::type(10)

per-row cap on kept entries relative to A's row; >= 1

Definition at line 32 of file iluk.hh.

◆ diag_pivot_threshold

template<typename T>
base_type<T>::type batchlas::ILUKParams< T >::diag_pivot_threshold = typename base_type<T>::type(0.1)

relative pivot threshold; >= 0

Definition at line 33 of file iluk.hh.

◆ modified_ilu

template<typename T>
bool batchlas::ILUKParams< T >::modified_ilu = true

add dropped entries to the diagonal (MILU) instead of discarding them

Definition at line 34 of file iluk.hh.

◆ validate_batch_sparsity

template<typename T>
bool batchlas::ILUKParams< T >::validate_batch_sparsity = true

Check that every batch item shares one CSR pattern.

Must stay true for batch > 1: disabling the check is rejected.

Definition at line 37 of file iluk.hh.