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);
See also
- 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 \(β\).