当前位置:文档之家› 连续交通流模型及数值模拟

连续交通流模型及数值模拟

连续交通流模型及数值模拟
连续交通流模型及数值模拟

连续交通流模型及数值模拟

[摘要]本文对现有的交通流宏观模型进行了研究,总结了各种模型的思想、优缺点以及适用条件,在此基础上,选取了Payne 模型离散格式进行数值模拟,选取了某段高速公路的交通流作为模拟对象,展现了Payne 模型模拟交通流的可行性。

[关键字] 连续交通流;离散格式;数值模拟

0 引言

交通流理论研究加深了人们对复杂多体系统远离平衡态时演变规律的认识,促进了统计物理、非线性动力学、应用数学、流体力学、交通工程学等学科的交叉和发展等多学科的交叉渗透和相互发展。交通流理论研究的对象是离散态物质,是一个复杂的非线性体系,对这类物质运动规律的描述,尚无成熟的理论。

在宏观的连续流模型中,交通流被比拟为连续的流体介质,即将流量、速度和密度等集聚变量视为时间和空间的连续函数。模型包含时间和空间的状态方程,考虑了车辆的加速度、惯性和可压缩性,能够合理准确描述交通流的动态特性,相比微观模型有更大的优势。连续流交通流模型通常用密度(k )、速度(u )、流量(q )三个变量来描述[1]。

1 连续交通流模型

LWR 模型

1955年,Lighthill&Whitham 提出了第一个交通流的流体力学模型——流体运动学模型[2],随后独立地提出了类似的交通流理论。LWR 模型用k(x,t)和u(x,t)表示t 时刻位于x 处的交通流密度和平均速度,他们满足流体力学的连续方程:

(),k q g x t t x

??+=?? (1-1) 此方程反映了车辆数守恒,其中g(x,t)是流量产生率,对没有进出匝道的公路,g(x,t)=0, 对进口匝道,g(x,t)>0,对出口匝道,g(x,t)=0。k 为交通密度,也称为交通流量;x ,t 分别为空间测度和时间测度。设u 为空间平均速度,则存在以下关系:

q k u =? (1-2)

对于平均速度u(x,t),假设平衡速度——密度关系:

()(,)(,)e u x t u k x t = (1-3)

以上3个方程构成了完整的一阶连续交通流模型,LWR 模型的优点是简单明了,可以采用流体力学和应用数学中的成熟工具进行分析,而且可以描述诸如交通阻塞形成和消散之类的交通现象,但是,由于该模型的速度是由平衡速度密度关系决定,并且没有考虑加速度和惯性影响,因此不适用于描述本质上处于非平衡态的交通现象,例如车辆上、下匝道的交通、“幽灵式”交通阻塞、交通迟滞、时走时停的交通等。于是,后来的学者们引进了高阶连续介质模型,考虑了加速度和惯性影响,将动量方程代替方程(1-3)。

Payne 模型

Pipes 于1953年提出交通流加速度的一般表达式:

2

du u u du k

u k dt t x dt x

?????=+=-? ?????? (1-4)

1971年,Payne 根据LWR 模型的思想,假设交通流速度是动态变化的,在引用连续性方

程时,引进运动方程,导出高阶连续模型[3]。Payne 从车辆跟驰理论的概念提出平均速度u 与密度k 存在以下关系:

()(),,r e u x t T u k x x t +=+????? (1-5)

并取0.5/x k ?=,r T ——车辆跟驰理论在的延滞时间,对上式分别作关于r T 和x ?的Taylor 展开,得到:

() e r r

u k u

du u u k u dt t x kT x T γ-???=+=-+

??? (1-6) 上式中,-0. 5

0e

u k

γ?=>?:预期指数,将平衡速度()e u k 简写成e u 。 从而建立了由如下三个方程构成的Payne 模型: ()

e r r

u k u

u u k u t x kT x T γ-???+=-+

??? (1-6) ()

,k q

g x t t x

??+=?? (1-7) q k u =? (1-2)

式(1—6)的右边第一项为期望项,反映驾驶员对前方交通状态改变的反应过程;第二项式弛豫项,描述车流速度在r T 时间内向平衡速度的调整,最优速度函数和其他参数通过道路实测和参数辨识确定。

1979年,Payne 编制了著名的FREFLO 软件,有史以来第一次将交通流仿真模型应用于工程实践。但Payne 模型并未充分考虑整个弛豫过程,而只是将其定为一个常数的弛豫时间,即使处于平衡状态时,弛豫时间变为零,在实际应用中,出现了一些问题。Rathi 等人指出,使用Payne 模型,车流速度到平衡态速度的调节过程过于缓慢。Ross 也发现,当道路拓扑特性和交通量在短时间内突变时,由于车流速度调整到平衡速度过程缓慢,无法捕捉到实际交通流动态特性。Castillo 等对Payne 模型进行了线性稳定性分析,发现车辆总是在稳定的范围内行驶,这与实际不符。Payne 本人也发现在高密度情况下,模型可能会遇到稳定性问题,车流密度可能出现大大偏离实际的高密度问题。后来的研究者在payne 模型的基础上,不断加入新的项,构成了各自的模型。

Kuhne 模型

1984年,引入交通流的粘性影响,基于Navier-Stokes 方程建立如下方程:

()()2202e r u u k u u k u

u c t x T k x x

ν-????+=--+???? (1-8)

式中: 0c 为直接与车辆跟驰的弹性有关的声速;ν为粘性系数。线性稳定性分析表明,当k 时交通状态是稳定的。而

()

e c u k k c k

?=-? (1-9) 式中:c k 称为临界密度。当k 超过c k 时交通完全瘫痪。该模型可用于超拥挤状态的交通分

析但仍需确定平衡状态下的速度——密度关系,因而并未根本解决Payne 模型中的致命问题。

吴正模型

我国学者吴正针对我国低速混合交通提出了~维管流模型,引用了交通压力、交通指数等新概念,并通过数值模拟分析了交通堵塞的形成和疏导过程,与实测相符[4]。一维管道内物质流的基本方程如下:

()()0kA kuA t x ??

+=?? (1-10) ()()20w P

kuA ku A A t x x

τ???+++=??? (1-11)

其中变量k ——车流密度,即单位长度路段上的车辆数;A ——路段宽度或车道数;u ——车 流速度; w τ——车流经过单位面积路面时所受阻力;P ——交通压力。

提出了交通流压力比拟的基本假定:

n

p ck =(1n ≥) (1-12)

其中C 和n 是两个可调参数,改变它们的取值就能使模型适用于不同的交通情况。n 称为交通

状态指数。

吴正模型可以较好地模拟实际交通过程,包括局部地方发生严重交通堵塞后的疏散过程。东明等人在吴正的运动方程中考虑正比于速度的阻尼项的作用,数值模拟分析了地面交通对高架路交通的影响。

2 交通流离散模型数值模拟

2. 1 交通流计算模型

笔者采用的交通流计算模型是Payne 型模型 其运动微分方程为:

() e r r u k u

u u k u t x kT x T γ-???+=-+

??? (2-1) ()

,k q g x t t x

??+=?? (2-2) q k u =? (2-3)

2. 2 模型的离散格式

采用Euler 积分对Payne 运动微分方程进行离散,得到Payne 模型的离散方程:

()n 1,,i

1n n n on n n off n

i i i i i i n

i i

t k

k q s q s l x +-?=++--? (2-4) ()n 111i

1

n n n n n

n n n n n

i i i i i i

i i e i n

n n i r i i u u k k u

u t u u u k x T k x γ+-+????--=+?-?--+?? ????

??

? (2-5)

111n n n i i i q k u +++=? (2-6)

式中:n=1,2,3,……,为时间步;i=1,2,3,……,为空间节点位置;i l 为第i 段道路长度;,on

off

s s

为进出匝道的流率。

本文采用的时间步长t ?、空间步长x ?随时间序列和空间节点位置两者的变化而变化的变步长。令

0.5/n n i i x k ?= (2-7)

1

2n

n i i

x t u ??= (2-8)

其中1f u mu =(01m <<)为畅行速度。

3 算例及计算结果分析

以广深高速公路某时段的实测交通数据为样本进行数值模拟。计算时边界条件均采用自由流边界条件:

0k x ?=?,0u x

?=? (3-1) 算例的计算路段长度L= 6 km 设计速度 f u =120km/h 阻塞密度j k = 200pcu/ ( km ?车道)最大波速选自广深高速公路2车道的实测数据回归值 1u =f mu =100km/h 。

计算中,将路段L 等距分成12个区段 即i l = km , L= 12i l ,模拟100步时间步,初值条件如表3-1所列。

表3-1 变步长计算初值条件

区段 1 2 3 4 5 6 7 8 9 10 11 12 密度/[pcu ?

(km ?车道)-1] 速度/(km ?h -1)

经过100步迭代计算后密度和速度的计算结果如图3-1、图3-2 所示,部分结果如表3-2所示。

.52.5

4.5

10

20

30

40

50

60700.0 6.0

12.1

18.1

L/km

k/pcu/(km*车道)

图3-1 变步长密度关系图

.53

5.5

20

40

6080

100

1200.0 7.0

14.1 L/km

v/(km/h)

图3-2 变步长速度关系图

表3-2 100步迭代部分结果

区段 计算步长

97步 98步

99步 100步 密度

速度 密度 速度 密度

速度 密度

速度 1 2 3 4 5 18 18 18 18 6 7 8 9 10 11 12

本文首先对现有的交通流宏观模型进行了研究,总结了各种模型的思想、优缺点以及适用条件,在此基础上,选取了Payne 模型离散格式进行数值模拟,选取了某段高速公路的交通流作为模拟对象,展现了Payne 模型模拟交通流的可行性。

参考文献:

[1]李进平,张乐文.交通流的流体动力学模型研究,武汉理工大学学报(交通科学与工程版),:748—751 [2] 王明祺.交通流理论的研究进展.力学进展.1995(3):343-356

[3] Payne,.,Models of freeway traffic and control,in ”Mthematical Methods of Public Systems ” Bekey,.)[c].1971,1(1): 51-61

[4] 吴正.低速混合型城市交通的流体力学模型.力学学报, 1994:149—157

附程序代码:

Dim k(17, 101), u(17, 101), q(17, 101), l(17), t(17, 101), x(17, 101), y(1 To 16, 1 To 101) As Double Dim ue(1 To 16, 1 To 101), j(17, 101), c(17, 101), a, i, n, kj, r, tz(17, 101), uf As Double

k(1, 1) =

u(1, 1) =

q(1, 1) = 1570

k(2, 1) =

u(2, 1) =

q(2, 1) = 1600

k(3, 1) =

u(3, 1) =

q(3, 1) = 1612

k(4, 1) =

u(4, 1) =

q(4, 1) = 1594

k(5, 1) =

u(5, 1) =

q(5, 1) = 1587

k(6, 1) =

u(6, 1) =

q(6, 1) = 2339

k(7, 1) =

u(7, 1) =

q(7, 1) = 2336

k(8, 1) =

u(8, 1) =

q(8, 1) = 2337

k(9, 1) =

u(9, 1) =

q(9, 1) = 1629

k(10, 1) =

u(10, 1) =

q(10, 1) = 1640

k(11, 1) =

u(11, 1) =

q(11, 1) = 1561

k(12, 1) =

u(12, 1) =

q(12, 1) = 1587

kj = 200

uf = 120

a =

r =

For n = 1 To 100

For i = 1 To 12

tz(i, 1) = 0

l(i) =

If i = 6 Then

j(i, n) = 750

Else: j(i, n) = 0

End If

If i = 9 Then

c(i, n) = 700

Else

c(i, n) = 0

End If

u(0, n) = u(1, n)

k(0, n) = k(1, n)

q(0, n) = k(0, n) * u(0, n)

x(i, n) = 1 / (2 * k(i, n))

t(i, n) = * x(i, n) / 100

y(i, n) = Round(a * (1 + r * (kj - k(i, n)) / kj), 4)

ue(i, n) = Round(uf * (1 - k(i, n) / kj), 2)

k(i, n + 1) = Round(k(i, n) + t(i, n) * (q(i - 1, n) + j(i, n) - q(i, n) - c(i, n)) / (l(i) * x(i, n)), 2)

u(i, n + 1) = Round(u(i, n) + t(i, n) * ((-1) * u(i, n) * (u(i, n) - u(i - 1, n)) / x(i, n) - (u(i, n) - ue(i, n) + * uf / kj * (k(i + 1, n) - k(i, n)) / (k(i, n) * x(i, n))) / y(i, n)), 2)

q(i, n + 1) = Round(k(i, n + 1) * u(i, n + 1))

tz(i, n + 1) = tz(i, n) + t(i, n) * 3600

Next i

Next n

Open & "\" For Output As #1

For i = 1 To 12

For n = 1 To 100

Print #1, tz(i, n); " "; i * ; " "; k(i, n); " "; u(i, n); " "; q(i, n)

Next n

Next i

Close #1

MsgBox ("ok")

相关主题
文本预览
相关文档 最新文档