You are on page 1of 8

A Sufficient Condition for Entrainment of a

Van-der-Pol oscillator resistively coupled to a


fixed voltage input
October 25, 2013

Resistive Coupling

The Van der Pol oscillator is connected to the grid through a resistance
Ro . We seek sufficient conditions depending on circuit parameters so that
the oscillator is always entrained to the grid. In other words, we study the
conditions under which the system has a stable equilibrium point.

1.1

Problem Formulation

Here, we rescale the dynamic model of the VDP oscillator to achieve a statespace model that eases analysis.
The VDP oscillator is composed of a parallel RLC circuit connected to
a non-linear voltage-dependent current source. The current source is given
by i = g(v) = v kv 3 where and k are constants and v is the terminal
voltage at the oscillator.
This Van der Pol oscillator is connected to the grid through a resistance
Ro . Applying Kirchoffs current law at the oscillator terminal gives us :
C

dv
+ iL + v/Ri = v kv 3 i
dt

(1)

where v is the terminal voltage at the oscillator, i is the current flowing into
the grid, Ri , L and C are the internal parameters of the VDP oscillator.

Differentiating both sides,


dv di
dv
d2 v
= ( 3kv 2 )
+ v/L + 1/Ri
2
dt
dt
dt
dt
The current,i,flowing into the grid can be written as :
C

i = (v vgrid )/Ro

(2)

(3)

where vgrid is the grid voltage(assumed to be fixed) and Ro is the external


resistance through which
p VDP oscillator is connected to the grid.
We introduce = t/ 1/LC to rescale the dynamics of the system and
substitute i in terms of v, vgrid and Ro to obtain :
p
d2 v p
dvgrid dt
2 dv

L/C[(
(1/R
+1/R
)3k
)]
+v
=
L/C1/Ro
(4)
i
o
2
d
d
dt d
p
Choosing k = 1/3[ (1/Ri + 1/Ro )] and  = L/C[ (1/Ri + 1/Ro )], we
obtain
dv
d2 v
(5)
C 2 [1 v 2 ] + v = (L/Ro )Ag cos (g /)
d
d
p
where = 1/LC is the natural frequency of the system , g is the frequency
of grid and vgrid = A sin g t
g
To simplify notation, we set F := LA
and d := g /. Consequently,we
Ro 
can express (5) as :
C

dv
d2 v
[1 v 2 ] + v = F cos d
(6)
2
d
d
We have our problem in the standard form of a forced Van Der Pol system.
In the following section, we apply a two-variable expansion method on this
system to find out the solution for this system and seek conditions under
which the equilibrium points are asymptotically stable.
C

1.2

The Forced Van der Pol System

In this section, we use the two variable expansion method ( also known as the
Poincare-Leinstedt Method) to derive a slow flow system which accurately
describes the dynamics of (6) for small .We introduce = and = 
and express (6) in these two variables:
d 2

2
2v
2v
v
v
2 v
2
+
2

+

+
v

(1

v
)[
+

] = F cos
d
d
2

(7)

We expand v and d as a power series in :


v(, ) = v0 (, ) + v1 (, ) + ..; d = 1 + k + ..

(8)

We substitute this in the above equation and neglect O(2 ) terms to obtain:
2 v0
2 v0 2 v1
2 v0
2 v0
+
v

(1

v
)
F cos ] = 0 (9)
+
v
+
[2k
+
+
2
1
0
0
2
2
2

Thus,our problem is reduced to the following system of equations :


2 v0
+ v0 = 0
2
2 v1
2 v0
2 v0
v0
+
v
=
2k

2
+ (1 v02 )
+ F cos
1
2
2

(10)

The first equation describes the dynamics of an unforced ideal simple harmonic oscillator. Therefore, the solution follows simply as v0 = A() cos +
B() sin .
Substituting this back into the right side of the second equation for v1 and
upon removing the resonant terms ( a simple analysis using variation of
parameters would show that if resonant terms are allowed, there would be
unbounded terms in the form of cos and sin which can not be allowed),
we obtain : (For detailed calculations, see Appendix)
A
dA
= 2kB + A (A2 + B 2 )
d
4
dB
B 2
= 2kA + B (A + B 2 ) + F
d
4

1.3

(11)

Equilibrium points and their stability

We introduce a change of co-ordinates. A = cos , B = sin . So, basically,


v0 (, ) = () cos ( ())
dA
d
d
=
cos sin
d
d
d
dB
d
d
=
sin + cos
d
d
d

(12)

Elimininating

dA
d

and

dB
d

from above equations, we get:


d
F sin
= /8(4 2 ) +
d
2
d
F cos
=k+
d
2

(13)

d
d
= 0 and d
=0. Further, utilising sin2 + cos2 = 1, we
At equilibrium, d
obtain the solution:
F 2 = 2 (1 2 /4)2 + 4k 2 2
(14)

We substitute u = 2 to simplify algebraic expressions and obtain the following expression upon expanding:
u3 /16 u2 /2 + (4k 2 + 1)u F 2 = 0

(15)

If we look at the above equation, we can conclude that it has either one
positive root and two complex roots or three positive roots.(Descartesrule
of signs). In other words, derivative of the above function will either have no
real roots ( implying the function is strictly monotonic) or it will have two
real roots. The discriminant of the derivative 1/4 3k 2 will be less than zero
2
u + 4k 2 + 1 has
for the case when the derivative of the cubic which is 3u
16

no real roots i.e. for k > 1/ 12,


3u2
u + 4k 2 + 1 > 0
(16)
16
We make a special note of this and shall return to it when we are analyzing
stability of the linearized system. For the case, when the derivative has real
roots, we will show using numerical
simulation that the sufficient condition
we arrive at holds true for k < 1/ 12.
We linearize the co-ordinate transformed set of equations around (0 , 0 ). Let
us substitute = 0 + and = 0 + :
d

= (1/2 3/820 )
(k0 )
d
d
= (k/0 )
+ (1/2 1/820 )
d

(17)

Thus, the matrix for our system is :


M=

1/2 3/820
k0
k/0
1/2 1/820
4

!
(18)


Figure 1: Region of Entrainment for k < 1/ 12

For the system to be stable about (0 ,0 ), the eigenvalues of the matrix M


must have negative real parts and so tr(M ) < 0 and det(M
) > 0. From

u2
2
(16),det(M ) = 1/4(3 16 u + 1 + 4k ) > 0 for k > 1/ 12. So, the only
condition we need for stability of is tr(M ) < 0 which translates to 20 > 2 i.e.
u > 2. As the cubic in u is monotonic, the sufficient condition for entrainment in this case becomes : F 2 > 1/2 + 8k 2 which we obtain by using the
fact that u must be greater than 2 in the solution given by (15).

1.3.1

Numerical Simulation

We plot the region of entrainment in this case by simply plotting a region


2
u + 1 + 4k 2 ) >
which satifies all the conditions i.e. u > 2, det(M ) = 1/4( 3u
16
0 and (15)( See Appendix for the implemented Python code) as shown in
Figure (1). Evidently,the condition that we have obtained above is a sufficient
condition.

1.4

Conclusion

From (5), the end result of our formulation, we can conclude that the Van der
Pol oscillator will entrained to the grid frequency if the following condition

is met :

LCA2 g2
k 02
>
1/2
+
8
(19)
R02 [ (1/Ri + 1/Ro )]2
2
where k is the measure of frequency difference between the grid and natural
frequency of the oscillator and is related by g = + k 0 .

Appendices
A

The Poincare Leinstedt Method

We have the following system of equations :


2 v0
+ v0 = 0
2
2 v1
2 v0
2 v0
v
+
v
=
2k

2
+ (1 v02 )
+ F cos
1
2
2

For the first equation, the solution follows simply as v0 = A() cos +
B() sin . Substituting this into the right hand side of the second equation, we get :
2 v1
dA() dB
+
v
=
2k[A()
cos

B()
sin
]

2[
+
cos ]
1
2
d
d
+ [1 A2 cos2 B 2 sin2 2AB cos sin ][A() sin + B() cos ] + F cos
As system of the left hand side has a natural frequency 1,we can not allow
sin and cos terms on the right hand side. Therefore, we collect terms
of sin and cos after having substituted sin3 = (sin 3 3 sin )/4 and
cos3 = (cos 3 + 3 cos )/4. We finally obtain:
dA
2 v1
A 2
dB
B 2
2
+
v
=
[2
+
2kB

A
+
(A
+
B
)]
sin

+
[2

2kA

B
+
(A + B 2 ) + F ] cos
1
2

d
4
d
4
+ non resonant terms
Setting the coefficients of sin and cos to zero, we get:
dA
A
= 2kB + A (A2 + B 2 )
d
4
dB
B 2
= 2kA + B (A + B 2 ) + F
d
4
6

Numerical Method

We seek the region of the solution manifold u3 /16u2 /2+(4k 2 +1)uF 2 = 0


which satisfies all the
conditions outlined here i.e. tr(M ) < 0, det(M ) > 0
for the case k < 1/ 12. We implemented the following code in Python to
obtain the same :
from f u n c t o o l s import p a r t i a l
import math
import numpy
import s c i p y . o p t i m i z e
import m a t p l o t l i b . p y p l o t as pp
def z (u , k ,F) :
r e t u r n ( u 3)/16 ( u 2)/2 + ( 4 ( k 2)+1)u (F2)
#t h e e q u a t i o n ( 1 5 ) f o r s o l u t i o n
# th e c o n d i t i o n t h a t t r (M) < 0 i . e . u>2
u window =2 ,10
k window =0 ,1/( math . s q r t ( 1 2 ) )
F window =0 ,2.5
us = [ ]
ks = [ ]
Fs = [ ]
f o r u i n numpy . l i n s p a c e ( u window , num=2000):
f o r k i n numpy . l i n s p a c e ( k window , num=200):
i f ( 3 ( u 2)/16 u + 1 + 4( k 2 ) ) > 0 :
# th e c o n d i t i o n t h a t d et (M) >0
try :
F = s c i p y . o p t i m i z e . b r e n t q ( p a r t i a l ( z , u , k ) , F window )
e x c e p t V alueEr ror :
pass
else :
ks . append ( k )
Fs . append (F)
else :
pass
f i g=pp . f i g u r e ( )

sp=f i g . a d d s u b p l o t ( 1 1 1 )
sp . p l o t ( ks , Fs , w )
sp . t e x t ( 0 . 0 5 , 2 , r Entrainment , f o n t s i z e =15)
sp . t e x t ( 0 . 2 , 0 . 2 , r No Entrainment , f o n t s i z e =15)
x=numpy . arange ( 0 , 1 / ( math . s q r t ( 1 2 ) ) , 0 . 0 0 5 )
y=map( lambda x : 8 xx + 0 . 5 , x )
# th e s u f f i c i e n t c o n d i t i o n
sp . p l o t ( x , y , b )
sp . a n n o t a t e ( S u f f i c i e n t Condition , xy = ( 0 . 1 , 0 . 5 8 ) , x y t e x t = ( 0 . 1 , 1 ) ,
arrowprops=d i c t ( f a c e c o l o r = black , s h r i n k = 0 . 0 5 ) )
pp . xlim ( k window )
pp . ylim ( F window )
sp . s e t x l a b e l ( k )
sp . s e t y l a b e l ( F )
pp . show ( )

You might also like