Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .typos.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
[default.extend-words]
quations = "quations"
Lamba = "Lamba"
IIF = "IIF"
padd = "padd"
thr = "thr"
Expand Down
80 changes: 79 additions & 1 deletion docs/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,24 +15,53 @@ DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
DelayDiffEq = "bcd4f6db-9728-5f36-b5f7-82caef46ccdb"
DiffEqBase = "2b5f629d-d688-5b77-993f-72d75c75574e"
DiffEqCallbacks = "459566f4-90b8-5000-8ac3-15dfb0a30def"
DiffEqDevTools = "f3b72e0c-5b89-59e1-b016-84e28bfd966d"
DiffEqDocs = "d91efeb5-c178-44a6-a2ee-51685df7c78e"
DifferentialEquations = "0c46a032-eb83-5123-abaf-570d42b7fbaa"
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
FiniteDiff = "6a86dc24-6348-571c-b903-95158fe2bd41"
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
ImplicitDiscreteSolve = "3263718b-31ed-49cf-8a0f-35a466e8af96"
IncompleteLU = "40713840-3770-5561-ab4c-a76e7d0d7895"
JLD2 = "033835bb-8acc-5ee8-8aae-3f567f8a3819"
LSODA = "7f56f5a3-f504-529b-bc02-0b1fe5e64312"
LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
ModelingToolkit = "961ee093-0014-501f-94e3-6117800e7a78"
NonlinearSolve = "8913a72c-1f9b-4ce2-8d82-65094dcecaec"
ODEInterfaceDiffEq = "09606e27-ecf5-54fc-bb29-004bd9f985bf"
ODEProblemLibrary = "fdc4e326-1af4-4b90-96e7-779fcce2daa5"
Optimization = "7f7a1694-90dd-40f0-9382-eb1efda571ba"
OptimizationNLopt = "4e6fcdb7-1186-4e1f-a706-475e75c168bb"
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
OrdinaryDiffEqAMF = "08082164-f6a1-4363-b3df-3aa6fcf571ad"
OrdinaryDiffEqAdamsBashforthMoulton = "89bda076-bce5-4f1c-845f-551c83cdda9a"
OrdinaryDiffEqBDF = "6ad6398a-0878-4a85-9266-38940aa047c8"
OrdinaryDiffEqCore = "bbf590c4-e513-4bbe-9b18-05decba2e5d8"
OrdinaryDiffEqDefault = "50262376-6c5a-4cf5-baba-aaf4f84d72d7"
OrdinaryDiffEqExplicitRK = "9286f039-9fbf-40e8-bf65-aa933bdc4db0"
OrdinaryDiffEqExponentialRK = "e0540318-69ee-4070-8777-9e2de6de23de"
OrdinaryDiffEqExtrapolation = "becaefa8-8ca2-5cf9-886d-c06f3d2bd2c4"
OrdinaryDiffEqFIRK = "5960d6e9-dd7a-4743-88e7-cf307b64f125"
OrdinaryDiffEqFeagin = "101fe9f7-ebb6-4678-b671-3a81e7194747"
OrdinaryDiffEqHighOrderRK = "d28bc4f8-55e1-4f49-af69-84c1a99f0f58"
OrdinaryDiffEqIMEXMultistep = "9f002381-b378-40b7-97a6-27a27c83f129"
OrdinaryDiffEqLinear = "521117fe-8c41-49f8-b3b6-30780b3f0fb5"
OrdinaryDiffEqLowOrderRK = "1344f307-1e59-4825-a18e-ace9aa3fa4c6"
OrdinaryDiffEqLowStorageRK = "b0944070-b475-4768-8dec-fb6eb410534d"
OrdinaryDiffEqNordsieck = "c9986a66-5c92-4813-8696-a7ec84c806c8"
OrdinaryDiffEqPDIRK = "5dd0a6cf-3d4b-4314-aa06-06d4e299bc89"
OrdinaryDiffEqPRK = "5b33eab2-c0f1-4480-b2c3-94bc1e80bda1"
OrdinaryDiffEqQPRK = "04162be5-8125-4266-98ed-640baecc6514"
OrdinaryDiffEqRKN = "af6ede74-add8-4cfd-b1df-9a4dbb109d7a"
OrdinaryDiffEqRosenbrock = "43230ef6-c299-4910-a778-202eb28ce4ce"
OrdinaryDiffEqSDIRK = "2d112036-d095-4a1e-ab9a-08536f3ecdbf"
OrdinaryDiffEqSSPRK = "669c94d9-1f4b-4b64-b377-1aa079aa2388"
OrdinaryDiffEqStabilizedIRK = "e3e12d00-db14-5390-b879-ac3dd2ef6296"
OrdinaryDiffEqStabilizedRK = "358294b1-0aab-51c3-aafe-ad5ab194a2ad"
OrdinaryDiffEqSymplecticRK = "fa646aed-7ef9-47eb-84c4-9443fc8cbfa8"
OrdinaryDiffEqTsit5 = "b1df2697-797e-41e3-8120-5422d3b24e4a"
OrdinaryDiffEqVerner = "79d7bb75-1356-48c1-b8c0-6832512096c2"
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd"
SDEProblemLibrary = "c72e72a9-a271-4b2b-8966-303ed956772e"
Expand All @@ -43,6 +72,16 @@ SparseConnectivityTracer = "9f842d2f-2579-4b1d-911e-f412cf18a3f5"
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
SteadyStateDiffEq = "9672c7b4-1e72-59bd-8a11-6ac3964bc41f"
StochasticDiffEq = "789caeaf-c7a9-5a7d-9973-96adeb23e2a0"
StochasticDiffEqCore = "19c5a474-6cd1-4a5f-be79-46dc34e54d7f"
StochasticDiffEqHighOrder = "0520c28c-50fd-4d16-9c96-902fc80b3bab"
StochasticDiffEqIIF = "ebf54054-c36b-4494-9aba-657e36df524f"
StochasticDiffEqImplicit = "5080b986-4c76-4669-b5dc-373a41579d5b"
StochasticDiffEqLeaping = "aefaaa88-39f2-4e89-b162-d61b7e8cc81b"
StochasticDiffEqLowOrder = "d15fe365-ce7f-450a-828a-7985bd5b681b"
StochasticDiffEqMilstein = "8c95a807-c8e7-4581-8419-890d001af53e"
StochasticDiffEqROCK = "db241ea8-0e6b-4abc-8f2d-1adff2294fd9"
StochasticDiffEqRODE = "49714585-0aa1-4f53-b1e6-a9b8c0d5e03f"
StochasticDiffEqWeak = "af2a2fcd-1c36-4cbe-a6d0-5afda784a085"
Sundials = "c3572dad-4567-51f8-b174-8c6c989267f4"
Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"

Expand All @@ -51,7 +90,7 @@ DiffEqDocs = {path = ".."}

[compat]
ADTypes = "1.7"
AlgebraicMultigrid = "0.5, 0.6, 1"
AlgebraicMultigrid = "0.5, 0.6, 1, 2"
BSON = "0.3"
BVProblemLibrary = "0.1.2"
BenchmarkTools = "1"
Expand All @@ -66,23 +105,52 @@ DataFrames = "1.4"
DelayDiffEq = "5.52, 6.0"
DiffEqBase = "7"
DiffEqCallbacks = "4"
DiffEqDevTools = "3, 4.0"
DifferentialEquations = "7.14, 8.0"
Distributions = "0.25"
Documenter = "1"
FiniteDiff = "2"
ForwardDiff = "0.10, 1"
ImplicitDiscreteSolve = "2"
IncompleteLU = "0.2"
JLD2 = "0.4, 0.5.1, 0.6"
LSODA = "0.7, 1.0"
LinearSolve = "2, 3"
ModelingToolkit = "9, 10, 11.0"
NonlinearSolve = "3.15, 4"
ODEInterfaceDiffEq = "3, 4.0, 5.0"
ODEProblemLibrary = "0.1, 1"
Optimization = "3, 4, 5"
OptimizationNLopt = "0.2, 0.3"
OrdinaryDiffEq = "7"
OrdinaryDiffEqAMF = "2"
OrdinaryDiffEqAdamsBashforthMoulton = "2"
OrdinaryDiffEqBDF = "2"
OrdinaryDiffEqCore = "4, 5.0"
OrdinaryDiffEqDefault = "2"
OrdinaryDiffEqExplicitRK = "2"
OrdinaryDiffEqExponentialRK = "2"
OrdinaryDiffEqExtrapolation = "2"
OrdinaryDiffEqFIRK = "2"
OrdinaryDiffEqFeagin = "2"
OrdinaryDiffEqHighOrderRK = "2"
OrdinaryDiffEqIMEXMultistep = "2"
OrdinaryDiffEqLinear = "2"
OrdinaryDiffEqLowOrderRK = "2"
OrdinaryDiffEqLowStorageRK = "3"
OrdinaryDiffEqNordsieck = "2"
OrdinaryDiffEqPDIRK = "2"
OrdinaryDiffEqPRK = "2"
OrdinaryDiffEqQPRK = "2"
OrdinaryDiffEqRKN = "2"
OrdinaryDiffEqRosenbrock = "2"
OrdinaryDiffEqSDIRK = "2"
OrdinaryDiffEqSSPRK = "2"
OrdinaryDiffEqStabilizedIRK = "2"
OrdinaryDiffEqStabilizedRK = "2"
OrdinaryDiffEqSymplecticRK = "2"
OrdinaryDiffEqTsit5 = "2"
OrdinaryDiffEqVerner = "2"
Plots = "1"
RecursiveArrayTools = "4"
SDEProblemLibrary = "0.1, 1"
Expand All @@ -93,5 +161,15 @@ SparseConnectivityTracer = "0.6, 1"
StaticArrays = "1"
SteadyStateDiffEq = "2.4"
StochasticDiffEq = "7"
StochasticDiffEqCore = "2"
StochasticDiffEqHighOrder = "2"
StochasticDiffEqIIF = "2"
StochasticDiffEqImplicit = "2"
StochasticDiffEqLeaping = "2"
StochasticDiffEqLowOrder = "2"
StochasticDiffEqMilstein = "2"
StochasticDiffEqROCK = "2"
StochasticDiffEqRODE = "2"
StochasticDiffEqWeak = "2"
Sundials = "4.11.3, 5, 6.0"
Unitful = "1"
91 changes: 65 additions & 26 deletions docs/make.jl
Original file line number Diff line number Diff line change
@@ -1,6 +1,26 @@
using Documenter, DiffEqBase, SciMLBase, OrdinaryDiffEq, OrdinaryDiffEqBDF,
OrdinaryDiffEqCore, StochasticDiffEq, DelayDiffEq, SteadyStateDiffEq, DiffEqCallbacks,
BoundaryValueDiffEq
# Load the OrdinaryDiffEq/StochasticDiffEq solver subpackages directly instead of relying
# on the meta-packages to reexport them: OrdinaryDiffEq v7 already dropped its reexports,
# so listing each subpackage explicitly is what keeps the API docs complete and robust.
using OrdinaryDiffEqAdamsBashforthMoulton, OrdinaryDiffEqDefault, OrdinaryDiffEqExplicitRK,
OrdinaryDiffEqExponentialRK, OrdinaryDiffEqExtrapolation, OrdinaryDiffEqFeagin,
OrdinaryDiffEqFIRK, OrdinaryDiffEqHighOrderRK, OrdinaryDiffEqIMEXMultistep,
OrdinaryDiffEqLinear, OrdinaryDiffEqLowOrderRK, OrdinaryDiffEqLowStorageRK,
OrdinaryDiffEqNordsieck, OrdinaryDiffEqPDIRK, OrdinaryDiffEqPRK, OrdinaryDiffEqQPRK,
OrdinaryDiffEqRKN, OrdinaryDiffEqRosenbrock, OrdinaryDiffEqSDIRK, OrdinaryDiffEqSSPRK,
OrdinaryDiffEqStabilizedIRK, OrdinaryDiffEqStabilizedRK, OrdinaryDiffEqSymplecticRK,
OrdinaryDiffEqTsit5, OrdinaryDiffEqVerner, OrdinaryDiffEqAMF, ImplicitDiscreteSolve,
DiffEqDevTools
using StochasticDiffEqCore, StochasticDiffEqHighOrder, StochasticDiffEqIIF,
StochasticDiffEqImplicit, StochasticDiffEqLeaping, StochasticDiffEqLowOrder,
StochasticDiffEqMilstein, StochasticDiffEqROCK, StochasticDiffEqRODE,
StochasticDiffEqWeak
# Bring the OrdinaryDiffEqCore controller API symbols into Main so the unqualified
# @ref links in the copied controllers.md resolve (mirrors OrdinaryDiffEq.jl's docs).
using OrdinaryDiffEqCore: default_controller, resolve_basic, get_EEst, set_EEst!,
CompositeController
import ODEProblemLibrary,
SDEProblemLibrary, DDEProblemLibrary, DAEProblemLibrary, BVProblemLibrary
using Sundials, DASKR, LSODA, DASSL, SimpleDiffEq, ODEInterfaceDiffEq
Expand All @@ -24,6 +44,11 @@ if isdir(ordinartdiffeq_docs_path)
# Copy all the docs from OrdinaryDiffEq.jl
cp(ordinartdiffeq_docs_path, ordinary_diffeq_dest, force = true)

# OrdinaryDiffEq's developer docs are contributor-internal and their @eval blocks
# read paths relative to OrdinaryDiffEq's own build layout, so they cannot build
# inside DiffEqDocs; drop them from the user-facing site.
rm(joinpath(ordinary_diffeq_dest, "devtools"), recursive = true, force = true)

# Copy the pages.jl file from OrdinaryDiffEq.jl
ordinary_diffeq_pages_dest = joinpath(@__DIR__, "ordinarydiffeq_pages.jl")
ordinary_diffeq_pages_file = joinpath(ordinartdiffeq_docs_root, "pages.jl")
Expand Down Expand Up @@ -69,33 +94,47 @@ makedocs(
DAEProblemLibrary,
BVProblemLibrary,
OrdinaryDiffEq,
OrdinaryDiffEq.OrdinaryDiffEqAdamsBashforthMoulton,
OrdinaryDiffEq.OrdinaryDiffEqBDF,
OrdinaryDiffEq.OrdinaryDiffEqDefault,
OrdinaryDiffEq.OrdinaryDiffEqExplicitRK,
OrdinaryDiffEq.OrdinaryDiffEqExponentialRK,
OrdinaryDiffEq.OrdinaryDiffEqExtrapolation,
OrdinaryDiffEq.OrdinaryDiffEqFeagin,
OrdinaryDiffEq.OrdinaryDiffEqFIRK,
OrdinaryDiffEq.OrdinaryDiffEqHighOrderRK,
OrdinaryDiffEq.OrdinaryDiffEqIMEXMultistep,
OrdinaryDiffEq.OrdinaryDiffEqLinear,
OrdinaryDiffEq.OrdinaryDiffEqLowOrderRK,
OrdinaryDiffEq.OrdinaryDiffEqLowStorageRK,
OrdinaryDiffEq.OrdinaryDiffEqNordsieck,
OrdinaryDiffEq.OrdinaryDiffEqPDIRK,
OrdinaryDiffEq.OrdinaryDiffEqPRK,
OrdinaryDiffEq.OrdinaryDiffEqQPRK,
OrdinaryDiffEq.OrdinaryDiffEqRKN,
OrdinaryDiffEq.OrdinaryDiffEqRosenbrock,
OrdinaryDiffEq.OrdinaryDiffEqSDIRK,
OrdinaryDiffEq.OrdinaryDiffEqSSPRK,
OrdinaryDiffEq.OrdinaryDiffEqStabilizedIRK,
OrdinaryDiffEq.OrdinaryDiffEqStabilizedRK,
OrdinaryDiffEq.OrdinaryDiffEqSymplecticRK,
OrdinaryDiffEq.OrdinaryDiffEqTsit5,
OrdinaryDiffEq.OrdinaryDiffEqVerner,
OrdinaryDiffEqCore,
OrdinaryDiffEqAdamsBashforthMoulton,
OrdinaryDiffEqBDF,
OrdinaryDiffEqDefault,
OrdinaryDiffEqExplicitRK,
OrdinaryDiffEqExponentialRK,
OrdinaryDiffEqExtrapolation,
OrdinaryDiffEqFeagin,
OrdinaryDiffEqFIRK,
OrdinaryDiffEqHighOrderRK,
OrdinaryDiffEqIMEXMultistep,
OrdinaryDiffEqLinear,
OrdinaryDiffEqLowOrderRK,
OrdinaryDiffEqLowStorageRK,
OrdinaryDiffEqNordsieck,
OrdinaryDiffEqPDIRK,
OrdinaryDiffEqPRK,
OrdinaryDiffEqQPRK,
OrdinaryDiffEqRKN,
OrdinaryDiffEqRosenbrock,
OrdinaryDiffEqSDIRK,
OrdinaryDiffEqSSPRK,
OrdinaryDiffEqStabilizedIRK,
OrdinaryDiffEqStabilizedRK,
OrdinaryDiffEqSymplecticRK,
OrdinaryDiffEqTsit5,
OrdinaryDiffEqVerner,
OrdinaryDiffEqAMF,
ImplicitDiscreteSolve,
DiffEqDevTools,
StochasticDiffEq,
StochasticDiffEqCore,
StochasticDiffEqHighOrder,
StochasticDiffEqIIF,
StochasticDiffEqImplicit,
StochasticDiffEqLeaping,
StochasticDiffEqLowOrder,
StochasticDiffEqMilstein,
StochasticDiffEqROCK,
StochasticDiffEqRODE,
StochasticDiffEqWeak,
DelayDiffEq,
SteadyStateDiffEq,
DiffEqCallbacks,
Expand Down
9 changes: 9 additions & 0 deletions docs/pages.jl
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ function transform_ordinarydiffeq_pages(pages_array)
end

ordinary_diffeq_pages = transform_ordinarydiffeq_pages(pages)
# The Developer Documentation section maps to OrdinaryDiffEq's contributor-internal
# devtools pages, which are excluded from the DiffEqDocs build (see docs/make.jl).
filter!(p -> !(p isa Pair && first(p) == "Developer Documentation"), ordinary_diffeq_pages)

# Load StochasticDiffEq pages - if available
stochastic_diffeq_pages_file = joinpath(@__DIR__, "stochasticdiffeq_pages.jl")
Expand Down Expand Up @@ -159,3 +162,9 @@ pages = Any[
"migration/ordinarydiffeq_v7.md",
],
]

# StochasticDiffEq ships no docs in the OrdinaryDiffEq v7 monorepo, so drop the API
# section entirely rather than leaving an empty navigation entry.
if isempty(stochastic_diffeq_pages)
filter!(p -> !(p isa Pair && first(p) == "StochasticDiffEq.jl API"), pages)
end
2 changes: 1 addition & 1 deletion docs/src/basics/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -480,7 +480,7 @@ end
function f(p)
prob = DE.ODEProblem(func, eltype(p).([1.0, 1.0]), (0.0, 10.0), p)
# Lower tolerances to show the methods converge to the same value
DE.solve(prob, DE.Tsit5(), save_everystep = false, abstol = 1e-12, reltol = 1e-12)[end]
DE.solve(prob, DE.Tsit5(), save_everystep = false, abstol = 1e-12, reltol = 1e-12).u[end]
end
```

Expand Down
2 changes: 1 addition & 1 deletion docs/src/examples/classical_physics.md
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ function double_pendulum_hamiltonian(udot, u, p, t)
2sin(2β) * ((lα^2 - 2(1 + cos(β))lα * lβ + (3 + 2cos(β))lβ^2) / (3 - cos(2β))^2)]
end

# Construct a ContiunousCallback
# Construct a ContinuousCallback
condition(u, t, integrator) = u[1]
affect!(integrator) = nothing
cb = ODE.ContinuousCallback(condition, affect!, nothing,
Expand Down
15 changes: 9 additions & 6 deletions docs/src/examples/spiking_neural_systems.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ The LIF model has five parameters, `gL, EL, C, Vth, I` and we define it in the `

```@example spikingneural
import DifferentialEquations as DE
import DiffEqCallbacks as CB # PresetTimeCallback is no longer reexported by DifferentialEquations v8
import ComponentArrays
import Plots
Plots.gr()
Expand Down Expand Up @@ -65,7 +66,7 @@ function reset!(integrator)
end

threshold = DE.ContinuousCallback(thr, reset!, nothing)
current_step = DE.PresetTimeCallback([2, 15], integrator -> integrator.p.I += 150.0)
current_step = CB.PresetTimeCallback([2, 15], integrator -> integrator.p.I += 150.0)
cb = DE.CallbackSet(current_step, threshold)
```

Expand Down Expand Up @@ -100,6 +101,7 @@ We see that the model is resting at `-75` while there is no input. At `t=2` the
```@example spikingneural
#Izhikevichch Model
import DifferentialEquations as DE
import DiffEqCallbacks as CB
import Plots

function izh!(du, u, p, t)
Expand All @@ -123,7 +125,7 @@ function reset!(integrator)
end

threshold = DE.DiscreteCallback(thr, reset!)
current_step = DE.PresetTimeCallback(50, integrator -> integrator.p[5] += 10)
current_step = CB.PresetTimeCallback(50, integrator -> integrator.p[5] += 10)
cb = DE.CallbackSet(current_step, threshold)
```

Expand Down Expand Up @@ -168,6 +170,7 @@ The Hodgkin-Huxley (HH) model is our first biophysically realistic model. This m

```@example spikingneural
import DifferentialEquations as DE
import DiffEqCallbacks as CB
import Plots

# Potassium ion-channel rate functions
Expand Down Expand Up @@ -198,7 +201,7 @@ We have three different types of ionic conductances. Potassium, sodium and the l
The sodium current is not very different, but it has two gating variables, `m, h` instead of one. The leak conductance gL has no gating variables because it is not voltage gated. Let's move on to the parameters. If you want all the details on the HH model, you can find a great description [here](https://neuronaldynamics.epfl.ch/online/Ch2.S2.html).

```@example spikingneural
current_step = DE.PresetTimeCallback(100, integrator -> integrator.p[8] += 1)
current_step = CB.PresetTimeCallback(100, integrator -> integrator.p[8] += 1)

# n, m & h steady-states
n_inf(v) = alpha_n(v) / (alpha_n(v) + beta_n(v))
Expand Down Expand Up @@ -308,7 +311,7 @@ function epsp!(integrator)
integrator.u[6] -= integrator.u[5] * integrator.u[6]
end

epsp_ts = DE.PresetTimeCallback(100:100:500, epsp!)
epsp_ts = CB.PresetTimeCallback(100:100:500, epsp!)

p = [35.0, 40.0, 0.3, -77.0, 55.0, -65.0, 1, 0, 30, 1000, 50, 0.5, 0.005, 0]
u0 = [-60, n_inf(-60), m_inf(-60), h_inf(-60), 0.0, 1.0, 0.0]
Expand All @@ -331,7 +334,7 @@ Plots.plot(sol, vars = [5, 6])
Because of the time courses at play here, this facilitation is frequency-dependent. If we increase the period between these events, facilitation does not occur.

```@example spikingneural
epsp_ts = DE.PresetTimeCallback(100:1000:5100, epsp!)
epsp_ts = CB.PresetTimeCallback(100:1000:5100, epsp!)

p = [35.0, 40.0, 0.3, -77.0, 55.0, -65.0, 1, 0, 30, 500, 50, 0.5, 0.005, 0]
u0 = [-60, n_inf(-60), m_inf(-60), h_inf(-60), 0.0, 1.0, 0.0]
Expand All @@ -348,7 +351,7 @@ Plots.plot(sol, vars = [5, 6])
We can also change these time constants such that the dynamics show short-term depression instead of facilitation.

```@example spikingneural
epsp_ts = DE.PresetTimeCallback(100:100:500, epsp!)
epsp_ts = CB.PresetTimeCallback(100:100:500, epsp!)

p = [35.0, 40.0, 0.3, -77.0, 55.0, -65.0, 1, 0, 30, 100, 1000, 0.5, 0.005, 0]
u0 = [-60, n_inf(-60), m_inf(-60), h_inf(-60), 0.0, 1.0, 0.0]
Expand Down
Loading