# Van der Pol oscillator_01

### Tags

Visible to everyone | Changeable by everyone
Model was written in NetLogo 6.0.1 • Viewed 120 times • Downloaded 2 times • Run 0 times

NB: Since this model is very slow while run in NetLogo Web it is recommended to download and run it on your PC.

## WHAT IS IT?

This is a model of a phase-space plot generated by the Van der Pol oscillator, showing limit cycles with different initial conditions and different values of the scalar parameter μ.

The model is an example of a dynamical system used by Mary Cartwright, British mathematician, one of the first to study the theory of deterministic chaos, particularly as applied to this oscillator.

## HOW IT WORKS

The Van der Pol oscillator is a non-conservative oscillator with non-linear damping. It evolves in time according to a second-order differential equation, which after transformation can be written in its two-dimensional form:

dX/dt = Y

dY/dt = μ(1-X^2)Y - X

where μ is a scalar parameter indicating the nonlinearity and the strength of the damping.

Governed by these equations and calculations a phase-space plot is generated. With each calculation a turtle is generated and plotted on the plane with respective coordinates.

## HOW TO USE IT

Press the buttons:

(1) Setup: creates basic conditions for the model to run (i.e. erases data from previous runs, generates X and Y axes, etc.). The plots from previous runs are preserved for further comparison.

(2) Go: starts running the model with generation of new points (turtles) in accordance with numeric values as a result of calculations, performed every time-step.

Activating/Pressing the above buttons will run the model with initial settings.

(3), (4) and (5) Sliders are used to change the global variables: X, Y and μ respectively (usually before a new model run).

(6) This chooser is for selecting the color of the plot for the next model run. Colors are presented by their number on color swatches pallet. On the right there is a list of available colors and their numeric values.

(7) The plot shows X and Y values over time.

(8) and (9): These two monitors show X and Y values at any particular time-step during the model run.

(10) ‘Clear-drawing’ button clear all the values: globals, ticks, turtles, patches, drawing, plots, and output.

## THINGS TO NOTICE

Initially the model parameters are set as follows: X = 2.0, Y = 2.5, μ = 5.1

Changing these parameters will lead to change in phase-plot shape. Running the model with different values of the parameters may help to clarify the impact of a certain parameter(s) on the phase-plot shape.

## THINGS TO TRY

You can change model parameters one by one or combined and observe the impact of these changes on the phase-plot.

What happens if the model is run using different initial conditions for X and Y and keeping μ constant?

Before running the model with new settings you should first set the parameters using respective sliders, then select the color for the new plot and then press “Setup” and “Go”.

## NETLOGO FEATURES

This model was originally built in NetLogo System Dynamics Modeler. In some aspects it was converted from ‘System Dynamics’ version to a ‘regular’ one by recompiling the code and adding new pieces of the code with respective changes/additions in the model interface (buttons, sliders, etc.).

## RELATED MODELS

* Lotka-Volterra Equation: Phase-plot

* Wolf Sheep Predation (System Dynamics)

## CREDITS AND REFERENCES

This simple abstract model was developed by Victor Iapascurta, MD. At time of development he was in the Department of Anesthesia and Intensive Care at University of Medicine and Pharmacy in Chisinau, Moldova / ICU at City Emergency Hospital in Chisinau. Please email any questions or comments to viapascurta@yahoo.com

The model was created in NetLogo 6.0.1, Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.

This model was inspired by Introduction to Dynamical Systems and Chaos (Fall, 2017) MOOC by David Feldman @ Complexity Explorer (https://www.complexityexplorer.org/courses).

Click to Run Model

```globals [
mylist-x
mylist-y
X
Y
dt
]

to setup

clear-globals
clear-ticks
clear-patches
clear-all-plots
ask patches with [ pxcor = 0 ] [  set pcolor white ]
ask patches with [ pycor = 0 ] [  set pcolor white ]
ask patches with [ pxcor = 1 ] [  set pcolor white ]
ask patches with [ pycor = 1 ] [  set pcolor white ]
set mylist-x list 0 (X-slider)
set mylist-y list 0 (Y-slider)
system-dynamics-setup
system-dynamics-do-plot
end

to system-dynamics-setup
reset-ticks
set dt 0.001
set X X-slider
set Y Y-slider
end

to go
system-dynamics-go
system-dynamics-do-plot

set mylist-x lput result-x mylist-x
set mylist-y lput result-y mylist-y
crt 1 [
set color phase-plot-color
set xcor (last mylist-x * 40)
set ycor (last mylist-y * 40)
set size 0.7
set shape "circle"
]
end

to system-dynamics-go

let local-m m
let local-inflow inflow
let local-inflow1 inflow1

let new-X ( X + local-inflow1 )
let new-Y ( Y + local-inflow )
set X new-X
set Y new-Y

end

to-report inflow
report ( m * ( 1 - X * X ) * Y - X
) * dt
end

to-report inflow1
report ( m * Y
) * dt
end

to system-dynamics-do-plot
if plot-pen-exists? "X" [
set-current-plot-pen "X"
plotxy ticks X
]

if plot-pen-exists? "Y" [
set-current-plot-pen "Y"
plotxy ticks Y
]
end

to-report result-x
report X
end

to-report result-y
report Y
end

to clear-picture
ca
end
```

There is only one version of this model, created 9 months ago by Victor Iapascurta.

## Attached files

File Type Description Last updated
Van der Pol oscillator_01.png preview Preview for 'Van der Pol oscillator_01' 9 months ago, by Victor Iapascurta Download

This model does not have any ancestors.

This model does not have any descendants.