I need calculate all equilibrium points for dynamical system Hindmarsh Rose (HR). Code for system:
function HR!(du, u, p, t)
return 1.0 / ( 1.0 + exp( -10.0 * ( x - ( - 0.25 ) ) ) )
a, b, c, d, s, xr, r, I, vs, k1, k2, el_link = p
x1, y1, z1, x2, y2, z2 = u
du = y1 + b * x1 ^ 2 - a * x1 ^3 - z1 + I - k1 * ( x1 - vs ) * sigma(x2) + el_link * ( x2 - x1 )
du = c - d * x1 ^2 - y1
du = r * ( s * ( x1 - xr ) - z1 )
du = y2 + b * x2 ^ 2 - a * x2 ^3 - z2 + I - k2 * ( x2 - vs ) * sigma(x1) + el_link * ( x1 - x2 )
du = c - d * x2 ^2 - y2
du = r * ( s * ( x2 - xr ) - z2 )
return SVector(du, du, du,
du, du, du)
That is two coupled HR element. How can i get equilibrium points ? Are there any packages that look for equilibrium points for the system ?
For such a system it is too problematic to find equilibrium points analytically
Monodromy matrix i can not use because need find equilibrium points in regular and chaotic modes
I’m sorry, i’m too inattentive. Thank you.
No, this isn’t possible out of the box. You would need to combine the Poincare map integrator with a newton solver or NLSolve.jl. GitHub - JuliaNLSolvers/NLsolve.jl: Julia solvers for systems of nonlinear equations and mixed complementarity problems
if you do write this code, please consider contributing it back to DynamicalSystems.jl.
Okay, I’m sorting out the code for poincaré. I think it will take some time because some lines of code are not clear to me
What do you mean ? The source code of the poincare map should be completely irrelevant. You have want to find the zeros of pmal(u) - u using Newton method or whatever nlsolve jl gives you. This is really easy. See also chapter 4 section 2 of our book if this newton’s approach for fjnding fixed points isn’t clear to you.
I don’t understand yet how I can get the Poincare mapping itself in the form of equations
That’s why you need to use nlsolve.jl, because the poincare map doesn’t doesn’t equations.