AnyMath 文档
Notebook

洛伦兹系统的数值模拟

导言

这个例子给出了洛伦兹系统的数值模拟,这是一个演示混沌行为的动力系统的典型例子。 该系统由E.Lorenz于1963年提出,作为从下面加热的液体层中对流问题的一部分。

数学描述

它由三个常微分方程组描述:

模型变量在原始物理问题的上下文中具有以下解释:

  • -对流运动的强度;

  • -上升气流和下降气流之间的温差;

  • -温度曲线与线性平衡分布的偏差。

该系统包含三个无量纲控制参数:

  • (Prandtl数)是运动粘度与介质热导率的比值。 确定机械扰动和热扰动的耗散速率之间的比率。
  • (瑞利数)是表征加热强度的参数。 在p<1时,系统具有单个稳定奇异点;随着p的增加,出现分叉,导致混沌动力学。
  • 是由对流像元特征尺寸之比确定的几何参数。

对于参数值 , , 系统的相位轨迹形成一个奇怪的吸引子,一个具有分形结构的相空间中的吸引人的集合。 轨迹在对应于液体沿相反方向旋转的两个区域之间切换。 此模式下系统的主要属性是:

*对初始条件的指数敏感性,使长期预测变得不可能;

*存在两个旋转中心,它们之间有不规则的过渡。

让我们定义集成步骤。

In [ ]:
Δt = 0.01
Out[0]:
0.01

定义初始参数,初始化数组,设置初始条件。

In [ ]:
σ = 10
β = 8/3
ρ = 28
N = 30000
x = zeros(N)
y = zeros(N)
z = zeros(N)
x[1] = 1
y[1] = 1
z[1] = 1
Out[0]:
1

让我们使用显式欧拉方法进行数值积分。

In [ ]:
for i in 1:N-1
    dx = σ * (y[i] - x[i])
    dy = x[i] * (ρ - z[i]) - y[i]
    dz = x[i] * y[i] - β * z[i]
    x[i+1] = x[i] + Δt * dx
    y[i+1] = y[i] + Δt * dy
    z[i+1] = z[i] + Δt * dz
end

让我们在三维欧几里德空间中构造一个吸引子。

In [ ]:
plot(x, y, z, linewidth = 0.5, legend = false,
aspect_ratio = :equal, grid = true,
title = "洛伦兹吸引子", xlabel = "x", ylabel = "y", zlabel = "z",
camera = (30, 30), size = (700, 600))
Out[0]:

结论

在本例中,在各种控制参数模式下对洛伦兹系统进行了数值模拟。 构造了与经典奇异吸引子相对应的相位轨迹。 尽管洛伦兹系统是作为大气对流的简化模型获得的,但其意义远远超出了气象学。 该模型的主要价值在于证明小维确定性系统中混沌行为的基本可能性,其应用于以下领域:

*天气和气候预报。 洛伦兹系统成为最早显示大气过程可预测性有限的数学模型之一。 在实践中,这导致了集成预测方法的发展,其中不是单个确定性计算,而是以略微不同的初始条件执行一系列计算,并且结果以概率术语解释。
*流体力学和热传质。 对流流向湍流过渡的分析用于热交换器的设计,电子设备的冷却系统以及地球物理学中地幔对流的研究。
*激光物理。 数学上等效于洛伦兹系统的方程描述了单模激光器的动力学。 混沌生成模式的分析用于具有特定特性的辐射源的开发。
*化学动力学和生物学。 在自催化反应,群体动力学模型和神经活动中发生类似于洛伦兹系统中观察到的混乱状态。
*密码学和信息安全。 在伪随机序列生成器和基于混沌生成器同步的加密系统的构建中,利用了对初始条件的指数敏感性。

因此,洛伦兹系统的数值研究不仅是非线性动力学基本性质的说明,而且是理解工程实践和自然科学中遇到的广泛现象的基础。