Skip to content

Commit

Permalink
docs Linear
Browse files Browse the repository at this point in the history
  • Loading branch information
ArnoStrouwen committed Aug 21, 2024
1 parent 17f6a49 commit 255379f
Show file tree
Hide file tree
Showing 6 changed files with 75 additions and 26 deletions.
5 changes: 3 additions & 2 deletions docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ makedocs(sitename = "OrdinaryDiffEq.jl",
OrdinaryDiffEq.OrdinaryDiffEqPDIRK,
OrdinaryDiffEq.OrdinaryDiffEqRosenbrock,
OrdinaryDiffEq.OrdinaryDiffEqStabilizedIRK,
OrdinaryDiffEq.OrdinaryDiffEqBDF],
OrdinaryDiffEq.OrdinaryDiffEqBDF,
OrdinaryDiffEq.OrdinaryDiffEqLinear],
warnonly = [:docs_block, :missing_docs, :eval_block],
format = Documenter.HTML(analytics = "UA-90474609-3",
assets = ["assets/favicon.ico"],
Expand Down Expand Up @@ -69,7 +70,7 @@ makedocs(sitename = "OrdinaryDiffEq.jl",
],
"Semilinear ODE Solvers" => [
"semilinear/exponential_rk.md",
"semilinear/magnus.md"
"semilinear/Linear.md"
],
"Misc Solvers" => [
"misc.md"
Expand Down
1 change: 0 additions & 1 deletion docs/src/misc.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
```@docs
LinearExponential
SplitEuler
CompositeAlgorithm
PDIRK44
Expand Down
31 changes: 31 additions & 0 deletions docs/src/semilinear/Linear.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# OrdinaryDiffEqLinear

Methods for semi-linear differential equations.

```@eval
first_steps = evalfile("./common_first_steps.jl")
first_steps("OrdinaryDiffEqLinear", "LieRK4")
```

## Full list of solvers

```@docs
MagnusMidpoint
MagnusLeapfrog
LieEuler
MagnusGauss4
MagnusNC6
MagnusGL6
MagnusGL8
MagnusNC8
MagnusGL4
RKMK2
RKMK4
LieRK4
CG2
CG3
CG4a
MagnusAdapt4
CayleyEuler
LinearExponential
```
21 changes: 0 additions & 21 deletions docs/src/semilinear/magnus.md

This file was deleted.

3 changes: 2 additions & 1 deletion lib/OrdinaryDiffEqLinear/src/OrdinaryDiffEqLinear.jl
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ import OrdinaryDiffEqCore: alg_order, alg_extrapolates, dt_required,
OrdinaryDiffEqConstantCache,
initialize!, perform_step!, @unpack, unwrap_alg,
calculate_residuals!, get_fsalfirstlast,
_vec, isdtchangeable, full_cache
_vec, isdtchangeable, full_cache,
generic_solver_docstring
using LinearAlgebra: mul!, I
using SciMLOperators: AbstractSciMLOperator
using ExponentialUtilities
Expand Down
40 changes: 39 additions & 1 deletion lib/OrdinaryDiffEqLinear/src/algorithms.jl
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,56 @@ for Alg in [
:CG3,
:CG4a
]
@eval struct $Alg <: OrdinaryDiffEqLinearExponentialAlgorithm
@eval begin
@doc generic_solver_docstring("description TBD",
$(string(Alg)),
"Semilinear ODE solver",
"ref TBD",
"""
- `krylov`: TBD
- `m`: TBD
- `iop`: TBD
""",
"""
krylov = false,
m = 30,
iop = 0,
""")
struct $Alg <: OrdinaryDiffEqLinearExponentialAlgorithm
krylov::Bool
m::Int
iop::Int
end
end
@eval $Alg(; krylov = false, m = 30, iop = 0) = $Alg(krylov, m, iop)
end

@doc generic_solver_docstring("description TBD",
"MagnusAdapt4",
"Semilinear ODE solver",
"ref TBD", "", "")
struct MagnusAdapt4 <: OrdinaryDiffEqAdaptiveAlgorithm end

@doc generic_solver_docstring("description TBD",
"CayleyEuler",
"Semilinear ODE solver",
"ref TBD", "", "")
struct CayleyEuler <: OrdinaryDiffEqAlgorithm end

@doc generic_solver_docstring("description TBD",
"LinearExponential",
"Semilinear ODE solver",
"ref TBD",
"""
- `krylov`: TBD
- `m`: TBD
- `iop`: TBD
""",
"""
krylov = :off,
m = 10,
iop = 0,
""")
struct LinearExponential <:
OrdinaryDiffEqExponentialAlgorithm{1, false, Val{:forward}, Val{true}, nothing}
krylov::Symbol
Expand Down

0 comments on commit 255379f

Please sign in to comment.