Dept. of Appl.Math @ ucc.ie

Systems with Hysteresis
Welcome

Contents

What is `Hysteresis'

Preisach Model

Closed loop systems

Complex behavior

Other Hysterons

Advanced modelling
   Applet

Bibliography

Applet

This applet allows one to experiment with differential equations including Non-ideal relays and Preisach nonlinearities. You can specify arbitrary ordinary differential equations to be integrated using fourth order Runge-Kutta method. The equations should be in form $x' = f(x, t)$, where $x$ has one up to 9 dimensions. All common mathematical functions (like sin, sqrt, exp etc.) can be used, as well as hysteresis operators. There are two types of operators supported: Preisach operator (which can be inserted as p1(y) to p9(y)) and Relay operator (r1(y) to r9(y)). Note that each hysteresis operator can be used only once in the equations.

To plot a solution of differential-operator equations, use the + and - buttons to add a required number of equations, then input right-hand sides of each equation. In one-dimensional case the variable is called x. In multi-dimensional case, the variables are called x1, x2 etc. Then specify integration bounds t0 and t1, integration step h, and initial values xi(t0). Then click the ``Solve'' button. The ``Export'' button saves plot points in a file which can be copied into Mathematica to use by the ListPlot function.

The solutions can be plotted either on the $(t, x_i)$ plane or on $(x_i, x_j)$ plane. Additionally, inputs and outputs of hysteresis operators can be plotted on different planes. The direction of trajectories can be found by spotting the initial point $x(t_0)$ on the plot.

The limitation of the applet is that parameters and initial states of hysteresis operators are fixed. The Preisach operators are defined by uniform measure on a triangle bounded by lines $x = -1$, $y = 1$ and $x = y$, and take values in range 0 to 1. Initially the state triangle is empty. The Relay operators have thesholds -1 and 1, the output is either 0 or 1, and the initial state is 0. In the moment of time $t_0$ the states of operators are updated according to initial value $x(t_0)$.

Some examples of equations with Preisach nonlinearities are:

  • $ \begin{array}{l}
x_1'(t) = x_2, \\
x_2'(t) = -x_1 + sin(sqrt(2)*t) + p_1((x_1...
...2), \\
t_0 = 0, t_1 = 100, h = 0.005, x_1(t_0) = 0, x_2(t_0) = 0;
\end{array} $

  • $ \begin{array}{l}
x_1'(t) = x_1*(1 - x_2), \\
x_2'(t) = x_2*(-1 + x_1) - 0.1*(...
...5), \\
t_0 = 0, t_1 = 100, h = 0.005, x_1(t_0) = 2, x_2(t_0) = 2.
\end{array} $