MAM2046W - Second year nonlinear dynamics
MAM2046W - Second year nonlinear dynamics
Section 2.5: Relaxation oscillations
Section 2.5: Relaxation oscillations
In this section and the next we are going to look at systems where particular parameters can be taken as large and ask if we can get some understanding beyond the fact that there are simply closed cycles. While in the general case it’s hard to make statements about the form of the closed cycles, in these limits we can actually make some very concrete statements.
We’re going to do this, as so often is the case, by example, but the methods that we develop here can be used in other systems too.
We are going to go back to our old friend, the Van der Pol oscillator
x
2
x
x
Where remember characteristic trajectories look like:
In[]:=
μ=1;eqns={x'[t]==y[t],y'[t]==-x[t]-μ(-1)y[t]};startpoints=Flatten[Permutations[{1,1,-1,-1},{2}]#&/@{3,0.1},1];({x[t],y[t]}/.NDSolve[{eqns[[1]],eqns[[2]],x[0]==#[[1]],y[0]==#[[2]]},{x,y},{t,0,10}][[1]])&/@startpoints;Show[VectorPlot[{eqns[[1,2]],eqns[[2,2]]},{x[t],-4,4},{y[t],-4,4}],ParametricPlot[%,{t,0,10},PlotStyle->{{Red,Thick},{Red,Thick},{Red,Thick},{Red,Thick},{Blue,Thick},{Blue,Thick},{Blue,Thick},{Blue,Thick}}],Graphics[Arrow[{#/.t->5,#/.t->5.01}]]&/@%,ImageSize->700]
2
x[t]
Out[]=
where we can see the limit cycle that everything is attracted to.
This particular case is for Can we say anything about the particular case where μ is very large? The term with μ is the only non-linear term in town, so turning up μ makes this really non-linear.
μ=1.
We can actually write the VDP equation in a slightly strange way as:
d
dt
x
3
x
3
Make sure that you can show this.
So by letting
x
3
x
3
we have the two equations:
x
3
x
3
and
w
Letting , we have:
w=μy
x
3
x
3
y
-x
μ
Note that you wouldn’t be expected to come up with this yourself, but you should be able to follow it.
How does this help anyone? Well, when μ is very large, this tells us that unless we are on the curve of
y--x=0
3
x
3
the thing that will be changing most is , and won’t be changing quickly at all - so unless we are on the above curve, we will mostly move in horizontally, and fast, in the phase plane until we hit this curve...when we get really close to the curve, our speed will be slow too and we will start to move in both the directions. Let’s just look at this for a moment. Plotting the curve we have:
x
y
x
xandy
In[]:=
Plot-x,{x,-2.2,2.2},AxesLabel->Evaluate[Style[#,20]&/@{"x","y"}],ImageSize->500
3
x
3
Out[]=
If we start off at the point, say we have:
(0,0.5),
x
3
0
3
which, for μ large means that we are moving fast in the positive direction. Remember that we will move very slowly in the direction.
x
y
In fact, we will keep moving quickly in the positive x-direction until we hit the curve, at which point we will stop moving any more in this direction. Then the motion will be slowly in the y-direction, and indeed it will be in the negative y-direction...that will take us just under the curve, which means that will be negative, and we are starting, slowly, to move back in the negative x-direction. We will keep moving slowly in the negative x and y directions, hugging the curve.
x
But we can’t keep doing that forever. Once we get to the local minimum of the curve, the equation for the dynamics of y tells us that we will keep going more negative in y, but then we will have moved off the curve...and now will be large and negative...so we will shoot back to hit the other side of the curve.
x
This is really a cartoon version of what will happen, but it’s close to the truth:
In[]:=
pl1=ShowPlot-x,{x,-2.2,2.2},AxesLabel->Evaluate[Style[#,20]&/@{"x","y"}],ImageSize->500,Graphics[{Red,Arrowheads[0.02],Arrow[{{0,0.5},{1.92,0.5}}]}],Graphics[{Red,Arrowheads[0.02],Arrow[{{1.92,0.5},{1.92,0.3}}]}],Plot-(x-0.03)-0.03,{x,1,1.92},PlotStyle->Red,AxesLabel->Evaluate[Style[#,20]&/@{"x","y"}],ImageSize->500,GraphicsRed,Arrowheads[0.02],Arrow#,-(#-0.03)-0.03&/@{1.5,1.4},GraphicsRed,Arrowheads[0.02],Arrow1,-(1-0.03)-0.03,-2,-(1-0.03)-0.03,GraphicsRed,Arrowheads[0.02],Arrow-2,-(1-0.03)-0.03,-2,-(1-0.03)-0.03+0.2,Plot-(x+0.03)+0.03,{x,-2,-1},PlotStyle->Red,AxesLabel->Evaluate[Style[#,20]&/@{"x","y"}],ImageSize->500,GraphicsRed,Arrowheads[0.02],Arrow#,-(#+0.03)+0.03&/@{-1.5,-1.4},GraphicsRed,Arrowheads[0.02],Arrow-1,-(-1+0.03)+0.03,2,-(-1+0.03)+0.03
3
x
3
3
(x-0.03)
3
3
(#-0.03)
3
3
(1-0.03)
3
3
(1-0.03)
3
3
(1-0.03)
3
3
(1-0.03)
3
3
(x+0.03)
3
3
(#+0.03)
3
3
(-1+0.03)
3
3
(-1+0.03)
3
And so we will find ourselves in a stable limit cycle zipping left and right quickly, and then going slowly along the curve until we shoot off again to the other side.
Why is this a cartoon? Well, for one thing when we are going across, there will be some movement in the y-direction. It’s just that for large μ we can neglect it. The other major cartoonish thing that we’ve done is to say that we move across to the right, then stop moving in the x-direction and just move a little in the y-direction until we are under the curve. In fact what happens here is that as we cross the curve (it’s a null-cline), we have to do so in the y-direction, but other than that when we are close to the curve we are moving at similar rates in the x and y-directions.
Let’s actually superimpose on top of this some trajectories for different values of μ, starting at the point (0,0.5) to see how close to the truth we were.
If we plot the trajectories of x and y, we see the following (x is in red and y is in blue):
}
Again, for large μ, we have periods of slow change in x, followed by sudden fast change in x. y on the other hand is always changing fairly slowly. If we go to even higher values of μ we see:
Can we actually calculate the period in the limit of large μ for the Van der Pol system?
We have that along the curve:
so:
But we know from the equation of motion that:
So:
What a beautiful thing!
The next order term comes from the region where we are getting towards the curve, and slowing down and then getting onto the curve.