Skip to content

Commit 6d8d859

Browse files
committed
strict links
1 parent 028e434 commit 6d8d859

18 files changed

+57
-48
lines changed

docs/make.jl

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,14 @@ makedocs(modules = [
2020
OrdinaryDiffEq,
2121
Sundials, DASKR,
2222
],
23+
linkcheck = true,
24+
linkcheck_ignore = ["https://www.izhikevich.org/publications/spikes.htm",
25+
"https://biojulia.net/post/hardware/",
26+
"https://archimede.dm.uniba.it/~testset/report/pollu.pdf",
27+
"http://www.radford.edu/~thompson/vodef90web/problems/demosnodislin/Demos_Pitagora/DemoHires/demohires.pdf",
28+
"https://www.radford.edu/%7Ethompson/RP/nonnegative.pdf",
29+
"http://www.radford.edu/~thompson/vodef90web/problems/demosnodislin/Demos_Pitagora/DemoOrego/demoorego.pdf",
30+
],
2331
strict = [
2432
:doctest,
2533
:linkcheck,
@@ -34,6 +42,7 @@ makedocs(modules = [
3442
canonical = "https://docs.sciml.ai/DiffEqDocs/stable/"),
3543
sitename = "DifferentialEquations.jl",
3644
authors = "Chris Rackauckas",
45+
draft = true,
3746
pages = pages)
3847

3948
#Redirect old links

docs/src/basics/faq.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ algorithms utilize standard arithmetical functions. Both additionally utilize
191191
the user's norm specified via the common interface options and, if a stiff
192192
solver, ForwardDiff/DiffEqDiffTools for the Jacobian calculation, and Base linear
193193
factorizations for the linear solve. For your type, you may likely need to give
194-
a [better form of the norm](@ref advanced_adaptive_stepsize_control),
194+
a [better form of the norm](https://docs.sciml.ai/DiffEqDocs/stable/extras/timestepping/#Common-Setup),
195195
[Jacobian](@ref performance_overloads),
196196
or [linear solve calculations](@ref linear_nonlinear)
197197
to fully utilize parallelism.
@@ -238,7 +238,7 @@ LinearAlgebra.BLAS.set_num_threads(4)
238238

239239
Additionally, sometimes Intel's MKL might be a faster BLAS than the standard
240240
BLAS that ships with Julia (OpenBLAS). To switch your BLAS implementation, you
241-
can use [MKL.jl](https://github.com/JuliaComputing/MKL.jl), which will accelerate
241+
can use [MKL.jl](https://github.com/JuliaLinearAlgebra/MKL.jl), which will accelerate
242242
the linear algebra routines. This is done via:
243243

244244
```julia
@@ -427,7 +427,7 @@ for longtime integration.
427427
For conserving energy, there are a few things you can do. First of all, the energy
428428
error is related to the integration error, so simply solving with higher accuracy
429429
will reduce the error. The results in the
430-
[DiffEqBenchmarks](https://github.com/SciML/DiffEqBenchmarks.jl) show
430+
[DiffEqBenchmarks](https://github.com/SciML/SciMLBenchmarks.jl) show
431431
that using a `DPRKN` method with low tolerance can be a great choice. Another
432432
thing you can do is use
433433
[the ManifoldProjection callback from the callback library](@ref callback_library).
@@ -555,7 +555,7 @@ though, an `Error: SingularException` is also possible if the linear solver fail
555555
solve(prob, Rodas4(linsolve = KLUFactorization(; reuse_symbolic = false)))
556556
```
557557

558-
For more details about possible linear solvers, consult the [LinearSolve.jl documentation](http://linearsolve.sciml.ai/dev/)
558+
For more details about possible linear solvers, consult the [LinearSolve.jl documentation](https://docs.sciml.ai/LinearSolve/stable/)
559559

560560
## Odd Error Messages
561561

docs/src/basics/overview.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,10 @@ finalized results to large audiences. The tools for algorithm development allow
8686
easy convergence testing, benchmarking, and higher order analysis (stability plotting,
8787
etc.). This is one of the reasons why DifferentialEquations.jl contains many algorithms
8888
which are unique and the results of recent publications! Please check out the
89-
[developer documentation](https://devdocs.sciml.ai/dev/)
89+
[developer documentation](https://docs.sciml.ai/DiffEqDevDocs/stable/)
9090
for more information on using the development tools.
9191

9292
Note that DifferentialEquations.jl allows for distributed development, meaning that
9393
algorithms which “plug-into the ecosystem” don't have to be a part of the major packages.
94-
If you are interested in adding your work to the ecosystem, checkout the [developer documentation](https://devdocs.sciml.ai/dev/)
94+
If you are interested in adding your work to the ecosystem, checkout the [developer documentation](https://docs.sciml.ai/DiffEqDevDocs/stable/)
9595
for more information.

docs/src/basics/plot.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ plot(sol) # Plots the solution
1515
Many of the types defined in the DiffEq universe, such as
1616
`ODESolution`, `ConvergenceSimulation` `WorkPrecision`, etc. have plot recipes
1717
to handle the default plotting behavior. Plots can be customized using
18-
[all the keyword arguments provided by Plots.jl](http://docs.juliaplots.org/dev/supported/).
18+
[all the keyword arguments provided by Plots.jl](https://docs.juliaplots.org/stable/generated/attributes_plot/).
1919
For example, we can change the plotting backend to the GR package and put a title
2020
on the plot by doing:
2121

@@ -196,7 +196,7 @@ saves every 4th frame via:
196196
animate(sol, lw = 3, every = 4)
197197
```
198198

199-
Please see [Plots.jl's documentation](https://juliaplots.github.io/) for more information
199+
Please see [Plots.jl's documentation](https://juliaplots.org/) for more information
200200
on the available attributes.
201201

202202
## Plotting Without the Plot Recipe

docs/src/examples/beeler_reuter.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
[SciML](https://github.com/SciML) is a suite of optimized Julia libraries to solve ordinary differential equations (ODE). *SciML* provides many explicit and implicit solvers suited for different types of ODE problems. It is possible to reduce a system of partial differential equations into an ODE problem by employing the [method of lines (MOL)](https://en.wikipedia.org/wiki/Method_of_lines). The essence of MOL is to discretize the spatial derivatives (by finite difference, finite volume or finite element methods) into algebraic equations and to keep the time derivatives as is. The resulting differential equations are left with only one independent variable (time) and can be solved with an ODE solver. [Solving Systems of Stochastic PDEs and using GPUs in Julia](http://www.stochasticlifestyle.com/solving-systems-stochastic-pdes-using-gpus-julia/) is a brief introduction to MOL and using GPUs to accelerate PDE solving in *JuliaDiffEq*. Here we expand on this introduction by developing an implicit/explicit (IMEX) solver for a 2D cardiac electrophysiology model and show how to use [CUDA](https://github.com/JuliaGPU/CUDA.jl) libraries to run the explicit part of the model on a GPU.
66

7-
Note that this tutorial does not use the [higher order IMEX methods built into DifferentialEquations.jl](https://docs.sciml.ai/latest/solvers/split_ode_solve/#Implicit-Explicit-(IMEX)-ODE-1), but instead shows how to hand-split an equation when the explicit portion has an analytical solution (or approximate), which is common in many scenarios.
7+
Note that this tutorial does not use the [higher order IMEX methods built into DifferentialEquations.jl](https://docs.sciml.ai/DiffEqDocs/stable/solvers/split_ode_solve/#Implicit-Explicit-(IMEX)-ODE), but instead shows how to hand-split an equation when the explicit portion has an analytical solution (or approximate), which is common in many scenarios.
88

99
There are hundreds of ionic models that describe cardiac electrical activity in various degrees of detail. Most are based on the classic [Hodgkin-Huxley model](https://en.wikipedia.org/wiki/Hodgkin%E2%80%93Huxley_model) and define the time-evolution of different state variables in the form of nonlinear first-order ODEs. The state vector for these models includes the transmembrane potential, gating variables, and ionic concentrations. The coupling between cells is through the transmembrane potential only and is described as a reaction-diffusion equation, which is a parabolic PDE,
1010

@@ -24,7 +24,7 @@ We have chosen the [Beeler-Reuter ventricular ionic model](https://www.ncbi.nlm.
2424

2525
## CPU-Only Beeler-Reuter Solver
2626

27-
Let's start by developing a CPU only IMEX solver. The main idea is to use the *DifferentialEquations* framework to handle the implicit part of the equation and code the analytical approximation for the explicit part separately. If no analytical approximation was known for the explicit part, one could use methods from [this list](https://docs.sciml.ai/latest/solvers/split_ode_solve/#Implicit-Explicit-(IMEX)-ODE-1).
27+
Let's start by developing a CPU only IMEX solver. The main idea is to use the *DifferentialEquations* framework to handle the implicit part of the equation and code the analytical approximation for the explicit part separately. If no analytical approximation was known for the explicit part, one could use methods from [this list](https://docs.sciml.ai/DiffEqDocs/stable/solvers/split_ode_solve/#Implicit-Explicit-(IMEX)-ODE).
2828

2929
First, we define the model constants:
3030

@@ -90,7 +90,7 @@ end
9090

9191
### Laplacian
9292

93-
The finite-difference Laplacian is calculated in-place by a 5-point stencil. The Neumann boundary condition is enforced. Note that we could have also used [DiffEqOperators.jl](https://github.com/JuliaDiffEq/DiffEqOperators.jl) to automate this step.
93+
The finite-difference Laplacian is calculated in-place by a 5-point stencil. The Neumann boundary condition is enforced. Note that we could have also used [DiffEqOperators.jl](https://docs.sciml.ai/DiffEqDocs/stable/features/diffeq_operator/#DiffEqOperators) to automate this step.
9494

9595
```julia
9696
# 5-point stencil
@@ -127,7 +127,7 @@ end
127127

128128
### The Rush-Larsen Method
129129

130-
We use an explicit solver for all the state variables except for the transmembrane potential, which is solved with the help of an implicit solver. The explicit solver is a domain-specific exponential method, the Rush-Larsen method. This method utilizes an approximation on the model in order to transform the IMEX equation into a form suitable for an implicit ODE solver. This combination of implicit and explicit methods forms a specialized IMEX solver. For general IMEX integration, please see the [IMEX solvers documentation](https://docs.sciml.ai/latest/solvers/split_ode_solve/#Implicit-Explicit-(IMEX)-ODE-1). While we could have used the general model to solve the current problem, for this specific model, the transformation approach is more efficient and is of practical interest.
130+
We use an explicit solver for all the state variables except for the transmembrane potential, which is solved with the help of an implicit solver. The explicit solver is a domain-specific exponential method, the Rush-Larsen method. This method utilizes an approximation on the model in order to transform the IMEX equation into a form suitable for an implicit ODE solver. This combination of implicit and explicit methods forms a specialized IMEX solver. For general IMEX integration, please see the [IMEX solvers documentation](https://docs.sciml.ai/DiffEqDocs/stable/solvers/split_ode_solve/#Implicit-Explicit-(IMEX)-ODE). While we could have used the general model to solve the current problem, for this specific model, the transformation approach is more efficient and is of practical interest.
131131

132132
The [Rush-Larsen](https://ieeexplore.ieee.org/document/4122859/) method replaces the explicit Euler integration for the gating variables with direct integration. The starting point is the general ODE for the gating variables in Hodgkin-Huxley style ODEs,
133133

docs/src/features/ensemble.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ components of the solution to plot. For example, if the differential equation
132132
is a vector of 9 values, `idxs=1:2:9` will plot only the solutions
133133
of the odd components. Another additional argument is `zcolors` (an alias of `marker_z`) which allows
134134
you to pass a `zcolor` for each series. For details about `zcolor` see the
135-
[Series documentation for Plots.jl](http://docs.juliaplots.org/dev/attributes/).
135+
[Series documentation for Plots.jl](https://docs.juliaplots.org/stable/attributes/).
136136

137137
## Analyzing an Ensemble Experiment
138138

docs/src/features/io.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ existing functionality for doing so.
66

77
## Tabular Data: IterableTables
88

9-
An interface to [IterableTables.jl](https://github.com/davidanthoff/IterableTables.jl)
9+
An interface to [IterableTables.jl](https://github.com/queryverse/IterableTables.jl)
1010
is provided. This IterableTables link allows you to use a solution
1111
type as the data source to convert to other tabular data formats. For example,
1212
let's solve a 4x2 system of ODEs and get the DataFrame:

docs/src/features/linear_nonlinear.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ details how to make that choice.
1515
These options do not apply to the Sundials differential equation solvers
1616
(`CVODE_BDF`, `CVODE_Adams`, `ARKODE`, and `IDA`). For complete descriptions
1717
of similar functionality for Sundials, see the
18-
[Sundials ODE solver documentation](@id ode_solve_sundials) and
19-
[Sundials DAE solver documentation](@id dae_solve_sundials).
18+
[Sundials ODE solver documentation](@ref ode_solve_sundials) and
19+
[Sundials DAE solver documentation](@ref dae_solve_sundials).
2020

2121
## Linear Solvers: `linsolve` Specification
2222

2323
For linear solvers, DifferentialEquations.jl uses
2424
[LinearSolve.jl](https://github.com/SciML/LinearSolve.jl). Any
25-
[LinearSolve.jl algorithm](http://linearsolve.sciml.ai/dev/solvers/solvers/)
25+
[LinearSolve.jl algorithm](https://linearsolve.sciml.ai/dev/solvers/solvers/)
2626
can be used as the linear solver simply by passing the algorithm choice to
2727
linsolve. For example, the following tells `TRBDF2` to use [KLU.jl](https://github.com/JuliaSparse/KLU.jl)
2828

@@ -31,12 +31,12 @@ TRBDF2(linsolve = KLUFactorization())
3131
```
3232

3333
Many choices exist, including GPU offloading, so consult the
34-
[LinearSolve.jl documentation](http://linearsolve.sciml.ai/dev/) for more details
34+
[LinearSolve.jl documentation](https://linearsolve.sciml.ai/dev/) for more details
3535
on the choices.
3636

3737
## Preconditioners: `precs` Specification
3838

39-
Any [LinearSolve.jl-compatible preconditioner](http://linearsolve.sciml.ai/dev/basics/Preconditioners/)
39+
Any [LinearSolve.jl-compatible preconditioner](https://docs.sciml.ai/LinearSolve/stable/basics/Preconditioners/)
4040
can be used as a left or right preconditioner. Preconditioners are specified by
4141
the `Pl,Pr = precs(W,du,u,p,t,newW,Plprev,Prprev,solverdata)` function where
4242
the arguments are defined as:

docs/src/features/low_dep.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ following choices:
2929
running long computations, such as in optimization loops.
3030

3131
For more information on the specialization levels, please see
32-
[the SciMLBase documentation on specialization levels](https://scimlbase.sciml.ai/stable/interfaces/Problems/#Specialization-Levels).
32+
[the SciMLBase documentation on specialization levels](https://docs.sciml.ai/SciMLBase/stable/interfaces/Problems/#Specialization-Levels).
3333

3434
DifferentialEquations.jl and its ODE package OrdinaryDiffEq.jl precompile
3535
some standard problem types and solvers. The problem types include the

docs/src/getting_started.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ using Plots
225225
plot(sol)
226226
```
227227

228-
The plot function can be formatted using [the attributes available in Plots.jl](https://juliaplots.github.io/).
228+
The plot function can be formatted using [the attributes available in Plots.jl](https://juliaplots.org/).
229229
Additional DiffEq-specific controls are documented [at the plotting page](@ref plot).
230230

231231
For example, from the Plots.jl attribute page, we see that the line width can be

0 commit comments

Comments
 (0)