Reference
Index
KrylovPreconditioners.BlockJacobiPreconditionerKrylovPreconditioners.KrylovOperatorKrylovPreconditioners.TriangularOperatorKrylovPreconditioners.backward_substitution!KrylovPreconditioners.forward_substitution!KrylovPreconditioners.kp_block_jacobiKrylovPreconditioners.kp_ic0KrylovPreconditioners.kp_ilu0KrylovPreconditioners.update!KrylovPreconditioners.update!KrylovPreconditioners.update!
KrylovPreconditioners.update! — Method
function 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 — Type
BlockJacobiPreconditionerOverlapping-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:partitionstransfered 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:Jstransfered to the GPUmap: The partitions as a mapping to construct viewscumap:cumaptransferred to the GPU`part: Partitioning as output by Metiscupart:parttransferred to the GPU
KrylovPreconditioners.backward_substitution! — Function
Applies 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! — Function
Applies 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