# Can this type of integro-differential equation be solved somewhere?

Hey,

I admit that I am a novice in differential equations solving, this problem came out of completely somthing else…

I want to solve an equation that has the following form :

S(t) = \exp(- H(t))
\partial H(t) = F(t, S(t), parameters...)

The function F(t) is highly non-linear, but :

• it has jumps at previously known time values t_1,...t_n
• between these times values it is continuous (but still non-linear).

I can provide starting values S(0) = 1.

Is this kind of stuff solvable ?

using DifferentialEquations

function odefunc!(du,u,p,t)
S = u[1]
H = u[2]

dS = exp(-H)
dH = p * (S - t^2 + S^3)  #arbitrary nonlinear function, p is switched at predefined times in callback

du[1] = dS
du[2] = dH
nothing
end

affect!(integrator) = (integrator.p > 0) ? integrator.p = -1 : integrator.p = 1
cb = PresetTimeCallback([2,5],affect!)

S0 = 1
H0 = 2
u0 = [S0,H0]

p = 1.0

prob = ODEProblem(odefunc!,u0,(0,10),p)
sol = solve(prob, callback = cb)

julia> sol.u
26-element Vector{Vector{Float64}}:
[1.0, 2.0]
[1.0130247068630718, 2.2164863270563178]
[1.0360292186508027, 2.779573896877542]
⋮
[4.875245836243441, 65.69652980394312]
[4.875245836243441, 187.0985129901355]


1 Like

That’s the jumps part. The other part, using previous values, is just a DDE.

1 Like