Lorenz Equations

class otp.lorenz63.Lorenz63Problem

Bases: otp.Problem

A simple continuous chaotic system.

The three variable Lorenz ‘63 problem [Lor63] of the form,

\[\begin{split} x' &= σ(y - x),\\ y' &= ρx - y - xz,\\ z' &= xy - βz, \end{split}\]

exhibits chaotic behavior for certain values of the parameters. Here \(x\) roughly corresponds to the rate of convection of a fluid, \(y\) corresponds to temperature variation in one direction, and \(z\) is temperature variation in the other direction. For a full problem description see [Str18].

Notes

Type

ODE

Number of Variables

3

Stiff

not typically, depending on \(σ\), \(ρ\), and \(β\)

Example

>>> problem = otp.lorenz63.presets.Canonical;
>>> sol = problem.solve('MaxStep', 1e-3);
>>> problem.plotPhaseSpace(sol);
Constructor Summary
Lorenz63Problem(timeSpan, y0, parameters)

Create a Lorenz ‘63 problem object.

Parameters:
  • timeSpan (numeric(1, 2)) – The start and final time.

  • y0 (numeric(3, 1)) – The initial conditions.

  • parameters (otp.lorenz63.Lorenz63Parameters) – The parameters.

Parameters

class otp.lorenz63.Lorenz63Parameters

Bases: otp.Parameters

Parameters for the Lorenz ‘63 problem.

Constructor Summary
Lorenz63Parameters(varargin)

Create a Lorenz ‘63 parameters object.

Parameters:

varargin – A variable number of name-value pairs. A name can be any property of this class, and the subsequent value initializes that property.

Property Summary
Sigma

A representation of the Prandtl number.

Rho

A representation of the Rayleigh number.

Beta

A geometric factor.

Presets

class otp.lorenz63.presets.Surprise

Bases: otp.lorenz63.Lorenz63Problem

Lorenz ‘63 preset ‘surprise’ from [Str18] which uses time span \(t ∈ [0, 60]\), σ = 10\(, \)ρ = 100\(, \)β = 8/3\(, and initial conditions \)y_0 = [2, 1, 1]^T$.

Constructor Summary
Surprise()

Create the surprise Lorenz ‘63 problem object.

class otp.lorenz63.presets.LimitCycle

Bases: otp.lorenz63.Lorenz63Problem

Lorenz ‘63 preset limit cycle, a non-chaotic preset, from [Str18] which uses time span \(t ∈ [0, 60]\), \(σ = 10\), \(ρ = 350\), \(β = 8/3\), and initial conditions \(y_0 = [0, 1, 0]^T\).

Constructor Summary
LimitCycle()

Create the limit cycle Lorenz ‘63 problem object.

class otp.lorenz63.presets.Canonical

Bases: otp.lorenz63.Lorenz63Problem

Original Lorenz ‘63 preset presented in [Lor63] which uses time span \(t ∈ [0, 60]\), \(σ = 10\), \(ρ = 28\), \(β = 8/3\), and initial conditions \(y_0 = [0, 1, 0]^T\).

Constructor Summary
Canonical(varargin)

Create the canonical Lorenz ‘63 problem object.

Parameters:

varargin

A variable number of name-value pairs. The accepted names are

  • Sigma – Value of \(σ\).

  • Rho – Value of \(ρ\).

  • Beta – Value of \(β\).