Skip to content

Commit 5d7095c

Browse files
committed
Documentation update
* Hint on Preconditioners.jl * Describe access to Pardiso parameters
1 parent c39788c commit 5d7095c

File tree

2 files changed

+30
-6
lines changed

2 files changed

+30
-6
lines changed

README.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,13 @@ See [Julia issue #15630](https://github.com/JuliaLang/julia/issues/15630) for a
5252

5353

5454

55-
## Preconditioners
55+
## Factorizations and Preconditioners
5656
The package provides a common API for factorizations and preconditioners supporting
57-
series of solutions as during nonlinear and transient solves.
57+
series of solutions of similar problem as they occur during nonlinear and transient solves.
5858
For details, see the [corresponding documentation](https://j-fu.github.io/ExtendableSparse.jl/stable/iter/).
5959

60-
## Interfaces to other packages
60+
61+
### Interfaces to other packages
6162
The package provides interfaces to other sparse matrix solvers and preconditioners. Dependencies on these
6263
packages are handeled via [Requires.jl](https://github.com/JuliaPackaging/Requires.jl).
6364
Currently, support includes:
@@ -67,3 +68,5 @@ Currently, support includes:
6768
- [IncompleteLU.jl](https://github.com/haampie/IncompleteLU.jl)
6869
- [AlgebraicMultigrid.jl](https://github.com/JuliaLinearAlgebra/AlgebraicMultigrid.jl) (Ruge-Stüben AMG)
6970

71+
For a similar approach, see [Preconditioners.jl](https://github.com/mohamed82008/Preconditioners.jl)
72+

src/pardiso_lu.jl

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,36 @@ abstract type AbstractPardisoLU{Tv,Ti} <: AbstractLUFactorization{Tv,Ti} end
33

44
mutable struct PardisoLU{Tv, Ti} <: AbstractPardisoLU{Tv,Ti}
55
A::Union{ExtendableSparseMatrix{Tv,Ti},Nothing}
6-
ps::Pardiso.AbstractPardisoSolver
6+
ps::Pardiso.PardisoSolver
77
phash::UInt64
88
end
99
PardisoLU{Tv,Ti}() where {Tv,Ti} =PardisoLU{Tv,Ti}(nothing,Pardiso.PardisoSolver(),0)
1010

1111

1212
"""
13+
```
14+
PardisoLU()
15+
PardisoLU(matrix)
16+
```
1317
1418
LU factorization based on pardiso. For using this, you need to issue `using Pardiso`
1519
and have the pardiso library from [pardiso-project.org](https://pardiso-project.org)
16-
installed.
20+
[installed](https://github.com/JuliaSparse/Pardiso.jl#pardiso-60).
21+
22+
For (setting Pardiso internal parameters)[https://github.com/JuliaSparse/Pardiso.jl#readme],
23+
you can access the `PardisoSolver` e.g. like
24+
```
25+
using Pardiso
26+
plu=PardisoLU()
27+
Pardiso.set_iparm!(plu.ps,5,13.0)
28+
```
1729
"""
1830
PardisoLU()=PardisoLU{Float64,Int64}(nothing,Pardiso.PardisoSolver(),0)
1931

2032

2133
mutable struct MKLPardisoLU{Tv, Ti} <: AbstractPardisoLU{Tv,Ti}
2234
A::Union{ExtendableSparseMatrix{Tv,Ti},Nothing}
23-
ps::Pardiso.AbstractPardisoSolver
35+
ps::Pardiso.MKLPardisoSolver
2436
phash::UInt64
2537
end
2638
MKLPardisoLU{Tv,Ti}() where {Tv,Ti} = MKLPardisoLU{Tv,Ti}(nothing,Pardiso.MKLPardisoSolver(),0)
@@ -34,6 +46,15 @@ MKLPardisoLU(matrix)
3446
3547
LU factorization based on pardiso. For using this, you need to issue `using Pardiso`.
3648
This version uses the early 2000's fork in Intel's MKL library.
49+
50+
51+
For (setting Pardiso internal parameters)[https://github.com/JuliaSparse/Pardiso.jl#readme],
52+
you can access the `PardisoSolver` e.g. like
53+
```
54+
using Pardiso
55+
plu=MKLPardisoLU()
56+
Pardiso.set_iparm!(plu.ps,5,13.0)
57+
```
3758
"""
3859
MKLPardisoLU()=MKLPardisoLU{Float64,Int64}(nothing,Pardiso.MKLPardisoSolver(),0)
3960

0 commit comments

Comments
 (0)