Numerical workaround of false limit cycle instead of equilibrium
Numerical Bifurcation Analysis Toolbox in Matlab
Brought to you by:
hilmeijer,
willy_govaerts
Hello, I formulated my system consisting of 34 equations. It is verified in SPICE simulator, therefore it is 100% correct. Quite surprisingly it behaves numerically stable even for quite wild parameters. From this I guess jacobian is not that terrible issue here, but I don't know it surely.
First I run time domain integration to find equilibirum. Clearly it is an steady-state. But only to a given precision. In detail, there already exist some negligible oscillation. But it is of numerical nature and the system definition in fact. For me, this must be equilibrium. Because of that, the following initialization and continuation is not working.
I got error that there is no convergence at x0
.
Indeed it is correct (as it appears to me from what I know). Do I understand it right?
But I was wondering If I can make some temporary workaround and set some tolerances or something to enforce EP behaviour at this particular situation.
First true, significant and actually searched for Hopf (continuing first parameter) should occur once it is more or less greater than parameter V_t value.
Background of this system is that it has just one equlibrium and the rest of the analysis is done for Hopfs and limit cycles exclusively. So continuting from equilibrium is in fact the very formal but illustrative approach. All work is then done in bifurcation of limit cycles only.
I have computed symbolically 3rd order derivatives, are they used by default then or should I allow them manually?
Full code:
Here another illustration
Also for the first parameter value -0.1 where I got periodic response, I run long integration to be sure there is a LC. Then a took like 1.5 of the period and initialize. Then I tried to continue from limic cycle but I am not getting any convergence. What can I do in that case?
Hello,
if your simulations indicate small oscillations, then these oscillations do occur in the numerical formulation and matcont will have to take them into account.
I would bet that your system is vulnerable to round-off errors or something similar happens.
It would certainly be necessary to non-dimensionalize the model and rescale it, such that (in the ideal case) all quantities are of order 1 and also the equations contain expressions of order 1. In your parameter list there occur very small quantities.
With a poorly scaled model you will quite likely not succeed with any software package.
Good luck
Alois
Hello Alois,
this in fact is great answear and I already started work on it. I recognised, that the problem studied previously was working perfectly for normalised values, really no problem. After renormalization, it ended up with the same error. From this I suspect that it is value dependent and I totally understand it. And yes, these values are really small, so the nondimensionalisation is the key. Or at least scaling the system.
Thank you anyway for your kind suggestion, maybe it will help someone else.