Reference
Index
KrylovPreconditioners.BlockJacobiPreconditioner
KrylovPreconditioners.KrylovOperator
KrylovPreconditioners.TriangularOperator
KrylovPreconditioners.backward_substitution!
KrylovPreconditioners.forward_substitution!
KrylovPreconditioners.kp_block_jacobi
KrylovPreconditioners.kp_ic0
KrylovPreconditioners.kp_ilu0
KrylovPreconditioners.update!
KrylovPreconditioners.update!
KrylovPreconditioners.update!
KrylovPreconditioners.update!
— Methodfunction update!(p, J::SparseMatrixCSC)
Update the preconditioner p
from the sparse Jacobian J
in CSC format for the CPU
Note that this implements the same algorithm as for the GPU and becomes very slow on CPU with growing number of blocks.
KrylovPreconditioners.BlockJacobiPreconditioner
— TypeBlockJacobiPreconditioner
Overlapping-Schwarz preconditioner.
Attributes
nblocks::Int64
: Number of partitions or blocks.blocksize::Int64
: Size of each block.partitions::Vector{Vector{Int64}}
:
npart` partitions stored as listscupartitions
:partitions
transfered to the GPUlpartitions::Vector{Int64}
`: Length of each partitions.culpartitions::Vector{Int64}
`: Length of each partitions, on the GPU.blocks
: Dense blocks of the block-Jacobicublocks
:Js
transfered to the GPUmap
: The partitions as a mapping to construct viewscumap
:cumap
transferred to the GPU`part
: Partitioning as output by Metiscupart
:part
transferred to the GPU
KrylovPreconditioners.backward_substitution!
— FunctionApplies in-place backward substitution with the U factor of F, under the assumptions:
- U is stored transposed / row-wise
- U has no lower-triangular elements stored
- U has (nonzero) diagonal elements stored.
KrylovPreconditioners.forward_substitution!
— FunctionApplies in-place forward substitution with the L factor of F, under the assumptions:
- L is stored column-wise (unlike U)
- L has no upper triangular elements
- L has no diagonal elements