Browse Source

Add documentation for HYPRE.LibHYPRE submodule.

fe/copyto
Fredrik Ekre 3 years ago
parent
commit
ebd58089ed
  1. 1
      docs/make.jl
  2. 12
      docs/src/index.md
  3. 23
      docs/src/libhypre.md

1
docs/make.jl

@ -16,6 +16,7 @@ makedocs(
modules = [HYPRE], modules = [HYPRE],
pages = Any[ pages = Any[
"Home" => "index.md", "Home" => "index.md",
"libhypre.md",
], ],
draft = liveserver, draft = liveserver,
) )

12
docs/src/index.md

@ -1,12 +1,4 @@
# HYPRE.jl # HYPRE.jl
Documentation for HYPRE.jl HYPRE.jl is a Julia wrapper for the [HYPRE library](https://github.com/hypre-space/hypre),
which provide parallel solvers for sparse linear systems.
```@docs
HYPRE.solve!
HYPRE.solve
```
```@docs
HYPRE.HYPRESolver
```

23
docs/src/libhypre.md

@ -0,0 +1,23 @@
# LibHYPRE
The submodule `HYPRE.LibHYPRE` contains auto-generated[^1] bindings to the HYPRE library.
The module exports all `HYPRE_*` symbols. Function names and arguments are identical to the
C-library -- refer to the [HYPRE manual](https://hypre.readthedocs.io/) for details.
Functions from the `LibHYPRE` submodule can be used together with the "Julian" interface.
This is useful when you need some functionality from the library which can't be accessed
through the Julia interface. Many functions require passing a reference to a matrix/vector
or a solver. These can be obtained as follows:
| C type signature | Argument to pass |
|:---------------------|:----------------------------------------|
| `HYPRE_IJMatrix` | `A.IJMatrix` where `A::HYPREMatrix` |
| `HYPRE_IJVector` | `b.IJVector` where `b::HYPREVector` |
| `HYPRE_ParCSRMatrix` | `A.ParCSRMatrix` where `A::HYPREMatrix` |
| `HYPRE_ParVector` | `b.ParVector` where `b::HYPREVector` |
| `HYPRE_Solver` | `s.Solver` where `s::HYPRESolver` |
[^1]: Bindings are generated using
[Clang.jl](https://github.com/JuliaInterop/Clang.jl), see
[gen/generator.jl]
(https://github.com/fredrikekre/HYPRE.jl/blob/master/gen/generator.jl).
Loading…
Cancel
Save