CN103839287A - 一种用湍流方程丰富火焰模拟细节的方法 - Google Patents

一种用湍流方程丰富火焰模拟细节的方法 Download PDF

Info

Publication number
CN103839287A
CN103839287A CN201310612150.3A CN201310612150A CN103839287A CN 103839287 A CN103839287 A CN 103839287A CN 201310612150 A CN201310612150 A CN 201310612150A CN 103839287 A CN103839287 A CN 103839287A
Authority
CN
China
Prior art keywords
field
particle
speed
turbulence
flame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310612150.3A
Other languages
English (en)
Other versions
CN103839287B (zh
Inventor
周忠
高宏昌
伍朝辉
吴威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN201310612150.3A priority Critical patent/CN103839287B/zh
Publication of CN103839287A publication Critical patent/CN103839287A/zh
Application granted granted Critical
Publication of CN103839287B publication Critical patent/CN103839287B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种用湍流方程丰富火焰模拟细节的方法,(1)采用基于网格的欧拉方法,使用CUDA加速求解Navier-Stokes方程,得到火焰的速度场、密度场和温度场;(2)采用粒子方法简化标准k-e湍流方程,并利用CUDA加速求解得到粒子的湍动能和能量耗散率;(3)生成窄带随机纹理场,进而求旋度得到速度场,然后根据粒子的位置在随机速度场中采样,得到粒子所在处的速度;(4)合成粒子的扰动速度,然后利用该速度以高斯衰减的权重扰动粒子邻域内的网格节点处的速度,驱动密度场和温度场的运动;(5)利用CUDA和OpenGL的缓冲区映射,直接渲染CUDA计算出来的数据场,得到火焰面片。

Description

一种用湍流方程丰富火焰模拟细节的方法
技术领域
本发明涉及一种用湍流方程丰富火焰模拟细节的方法,属于虚拟现实科学技术领域。
背景技术
火焰是自然界的基本元素之一,与人类的生存和生活有着密切的联系,在虚拟世界中对火焰进行真实重现,可以帮助人类增强认知,把握规律,改善人类行为,更好地按照规律办事。火焰的真实感模拟,在消防训练、军事仿真、影视特效、虚拟现实等领域有着重要的科学价值和经济效益,同时也是计算机图形学中最具有挑战性的研究方向之一。
燃烧是一种快速的带化学反应的流体动力学过程,受众多的因素影响。几乎所有的燃烧过程都伴随着流动过程,而燃烧所产生的火焰与这种流动相互作用,进而对火焰的结构、稳定性产生影响。通常,根据火焰的形态、稳定性,可将其分为两类:层流火焰和湍流火焰。根据流体力学的相关理论,当雷诺数较小的时候,黏性力对流场的作用大于惯性力,导致流速因受黏滞力的影响而衰减,流体流动趋于稳定状态,形成层流,层流火焰是最简单的一种火焰,火焰锋面光滑稳定;而当雷诺数较大时,惯性力对流场的作用超过黏性力,流体运动趋于不稳定,流速的微小变化容易发展和增强,形成紊乱、不规则的流场,成为湍流,湍流火焰结构复杂,其锋面出现许多褶皱和小漩涡。在实际生活中,由于燃烧环境的不稳定,所产生的火焰多数都具有湍流现象,所以对于湍流火焰的模拟可以获得更为逼真的、实际的效果,尤其是可以在影视、动画中产生更为生动的特效提供帮助。
传统的基于物理的火焰模拟方法是使用Navier-Stokes方程,通过求解Navier-Stokes方程得到火焰的密度场和温度场,再对求解所得的数据场进行渲染得到火焰面片。火焰作为一种低粘度的特殊流体,在实际的燃烧过程中是会呈现出丰富的细节特征的,然而由于求解方程过程中存在数值耗散的问题,火焰的许多细节特征丢失,造成所模拟的火焰真实感较差。本发明引入流体力学中的湍流方程,对火焰燃烧过程中的湍流进行建模,使得火焰呈现出湍流细节,增强真实感。
发明内容
本发明解决的技术问题是:针对目前火焰模拟中湍流细节丢失、真实感不强的现状,提出了一种湍流细节增强的火焰模拟方法,对三维火焰的湍流运动进行建模模拟,使得火焰的三维模拟效果更加逼真。
本发明提出一种模拟火焰湍流方法,包括以下步骤:
(1)、基于CUDA加速的Navier-Stokes方程求解,采用的是基于网格的欧拉法,对Navier-Stokes方程进行离散,并利用CUDA加速对离散后的方程进行数值求解,得到火焰的速度场、密度场和温度场,从而获取火焰的主体形态轮廓;
(2)、基于标准k-e湍流方程,使用粒子方法简化标准k-e湍流方程,然后使用第(1)步求得的速度驱动粒子运动,并利用CUDA加速求解简化后的方程,到粒子的湍动能和能量耗散率;
(2.1)利用求解Navier-Stokes方程得到的速度场计算应变量;
(2.2)由应变量计算能量产生项;
(2.3)将能量产生项带入粒子简化后的标准k-e湍流方程求解得到湍动能和能量耗散率;
(3)、由窄带随机纹理场生成随机速度场;
(3.1)创建一张由随机噪声点组成的随机纹理场R;
(3.2)对这张随机纹理场向下采样,得到尺寸减半的纹理场R↓;
(3.3)再将纹理场R↓向上采样,得到原尺寸大小的纹理场R↓↑;
(3.4)将原始纹理场R减去经过采样处理的纹理场R↓↑,得到具有窄带性质的随机纹理场;
(3.5)由随机纹理场R↓↑生成速度场;
(4)由随机速度场和湍动能合成具有高频特征的扰动速度场;
(4.1)在第(2)步得到的速度场中进行多频段采样,得到粒子所在位置处的速度;
(4.2)与第(1)步中的湍动能合成粒子的扰动速度;
(4.3)利用该速度高斯衰减地扰动粒子邻域内的网格节点处的速度,然后驱动密度场和温度场运动;
(5)对粒子进行分组,从前往后分别绘制每一组粒子,并利用CUDA和OpenGL的缓冲区映射,加速渲染,得到具有湍流细节的火焰面片;
(5.1)以视点和光源的半角方向为基准,将空间划分为垂直于该半角方向的均匀间隔的切片,然后将相邻切片之间的粒子分为一组;
(5.2)对于每一组粒子,分别以视点方向和光源方向进行绘制,然后从前往后将绘制结果进行混合,得到最终的火焰面片。
本发明的有益效果是:
(1)本发明针对目前火焰模拟湍流细节缺失的现状,提出了一种基于湍流方程的火焰湍流细节增强的模拟方法,是所模拟的火焰更加逼真。
(2)本发明采用GPU加速物理方程的求解过程,并且采用CUDA和OPENGL的缓冲区映射,使得计算和渲染都在GPU上进行,避免了CPU和GPU之间每帧数据的传输,提高了计算和渲染的效率
附图说明
图1为本发明的技术方案图;
图2为本发明的火焰渲染的说明图。
具体实施方式
下面结合附图对本发明作进一步的描述。
步骤1采用基于网格的欧拉方法,使用CUDA加速求解Navier-Stokes方程,得到火焰的速度场、密度场和温度场。
▽u=0
∂ u ∂ t = - ( u ▿ ) u - 1 ρ ▿ p + v ▿ 2 u + f
∂ ρ ∂ t = - ( u · ▿ ) ρ
∂ T ∂ t = - ( u · ▿ ) T
其中,u是速度,ρ是密度,p是压强,ν是粘性系数,f是外力,T是温度。
步骤2采用粒子方法,使用CUDA加速求解标准k-e湍流方程,得到湍动能和能量耗散率:
步骤2.1利用步骤1所得的速度场计算应变量:
S ij = 1 2 ( ∂ U i ∂ x j + ∂ U j ∂ x i )
其中,U是速度。
步骤2.2由应变量计算能量产生项:
P = 2 v T Σ ij S ij 2
其中,νT是粘性系数。
步骤2.3在OpenGL中定义顶点缓冲区,存储粒子的速度、位置、颜色和纹理坐标,利用CUDA和OpenGL的缓冲区映射,在CUDA中读取该缓冲区,根据步骤2.2的结果计算粒子简化后的标准k-e湍流方程求解得到湍动能和能量耗散率:
Dk Dt = P - ϵ
Dϵ Dt = ϵ k ( C 1 P - C 2 ϵ )
其中,k是湍动能,ε是能量耗散率,P是步骤2.2得到的能量产生项,C1、C2、是常数。
步骤3生成随机纹理速度场,然后根据粒子的位置在随机速度场中采样,得到粒子所在处的速度;
步骤3.1创建一张由随机噪声点组成的随机纹理场R;
步骤3.2对这张图片向下采样,得到尺寸减半的纹理场R↓;
步骤3.3再将纹理场R↓向上采样,得到原尺寸大小的纹理场R↓↑;
步骤3.4将原始纹理场R减去经过采样处理的纹理场R↓↑,得到具有窄带性质的随机纹理场;
步骤3.5由随机纹理场R↓↑生成速度场:
u = ▿ × w ( x ) → = ( ∂ w 1 ∂ y - ∂ w 2 ∂ z , ∂ w 3 ∂ z - ∂ w 1 ∂ x , ∂ w 2 ∂ x - ∂ w 3 ∂ y )
其中
Figure BDA0000422822490000052
是随机纹理场R↓↑中位置
Figure BDA0000422822490000053
处的值,
Figure BDA0000422822490000054
步骤4用第(3)步得到的采样速度和第(2)步中的湍动能合成粒子的扰动速度,然后利用该速度扰动粒子邻域内的网格节点处的速度,驱动密度场和温度场的运动;
步骤4.1采样多频段的速度,进行叠加得到具有更丰富细节的速度场:
y = Σ k min k max w ( 2 k x ) 2 - 5 6 ( k - k min )
其中k是频率大小,k∈[kmin,kmax],x为采样位置,w是随机纹理场R↓↑中位置x处的值。
步骤4.2计算节点对邻域内网格节点影响的权重值,然后在邻域内扰动网格节点的速度,其中该粒子所能影响的邻域为:
||x-xp||≤r
其中,r是邻域半径,xp是粒子位置。粒子对邻域内的网格节点的影响权重为:
ω ( x - x p ) = α e - | | x - x p | | 2 / 2 r 2 / r 3
其中α是可调节参数。这样位于邻域内的网格节点速度被扰动后的值为:
u'(x)=u(x)+ω(x-xp)y
其中,u'(x)是网格节点x处的扰动后的速度值,u(x)是网格节点x处的原始速度值,y是步骤4.1中采样得到的扰动速度。
步骤5利用CUDA和OpenGL的缓冲区映射,直接渲染CUDA计算出来的粒子,得到每一帧火焰面片;
步骤5.1以视点方向和光源方向的夹角平分线为基准方向,垂直于该方向将体空间划分为均匀间隔的切片;
步骤5.2按切片将粒子分组,从前往后分别绘制每一组粒子,并将绘制结果进行融合得到每一帧火焰面片。
本发明未详细阐述的部分属于本领域的技术人员公知技术。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (4)

1.一种用湍流方程丰富火焰模拟细节的方法,是通过求解湍流方程得到湍动能,再结合随机速度场,对火焰的速度场进行扰动,得到具有高频湍流特征的速度场,然后驱动火焰的密度场运动,得到具有湍流细节的火焰。该方法的特征在如下步骤: 
(1)使用CUDA加速求解Navier-Stokes方程,得到火焰的速度场、密度场和温度场,从而得到火焰的主体形态; 
(2)使用粒子方法对标准k-e湍流方程进行简化,然后使用第(1)步求得的速度场驱动粒子运动,并利用CUDA加速求解简化后的方程,到粒子的湍动能和能量耗散率; 
(3)生成具有窄带特征的随机纹理场,再由窄带随机纹理场生成随机速度场,根据粒子位置采样得到粒子所在处的速度; 
(4)根据第(2)步得到的采样速度和第(1)步中的湍动能合成粒子的扰动速度,在该粒子的邻域内以高斯衰减的权重扰动粒子邻域内的网格节点处的速度,使网格节点的速度有了更多的高频细节特征,然后以该速度驱动火焰密度场、温度场的运动; 
(5)对粒子进行分组,从前往后分别绘制每一组粒子,并利用CUDA和OpenGL的缓冲区映射,加速渲染,得到具有湍流细节的火焰面片。 
2.根据权利要求1所述的一种用湍流方程丰富火焰模拟细节的方法,其特征在于:所述步骤(2)中使用粒子方法简化标准k-e湍流方程并加速求解的方法如下: 
(2.1)标准k-e湍流方程为: 
Figure FDA0000422822480000011
Figure FDA0000422822480000012
其中,k是湍动能,ε是能量耗散率,u是速度,νT是粘性系数,C1、C2、σ1、σ2是常数,P是能量产生项,计算公式为: 
将标准k-e湍流方程用粒子方法简化为: 
Figure FDA0000422822480000022
Figure FDA0000422822480000023
(2.2)在OpenGL中定义顶点缓冲区,存储粒子的速度、位置、颜色和纹理坐标,利用CUDA和OpenGL的缓冲区映射,在CUDA中读取该缓冲区,根据(2.1)中的简化后的公式计算湍动能k和能量耗散率ε。 
3.根据权利要求1所述的一种用湍流方程丰富火焰模拟细节的方法,其特征在于:所述步骤(3)中由窄带随机纹理场生成随机速度场的方法为: 
(3.1)创建一张由随机噪声点组成的随机纹理场R; 
(3.2)对这张图片向下采样,得到尺寸减半的纹理场R↓; 
(3.2)再将纹理场R↓向上采样,得到原尺寸大小的纹理场R↓↑; 
(3.3)将原始纹理场R减去经过采样处理的纹理场R↓↑,得到具有窄带性质的随机纹理场; 
(3.4)由随机纹理场R↓↑旋度求得随机速度场: 
其中是随机纹理场R↓↑中位置
Figure FDA0000422822480000026
处的值,
Figure FDA0000422822480000027
4.根据权利要求1所述的一种用湍流方程丰富火焰模拟细节的方法,其特征在于:所述步骤(4)中由随机速度场和湍动能扰动网格节点的速度场,得到具有高频湍流速度场的方法为: 
(4.1)为了补偿缺失的高频特征,在随机速度场中采样多个频段的速 度,进行叠加得到具有更多丰富细节的速度场: 
Figure FDA0000422822480000031
其中k是频率大小,k∈[kmin,kmax],x为采样位置,w即(3.4)中的是随机纹理场R↓↑中位置x处的值; 
(4.2)在邻域内扰动网格节点的速度,其中该粒子所能影响的邻域为: 
||x-xp||≤r 
其中,r是邻域半径,xp是粒子位置;粒子对邻域内的网格节点的影响权重随着距离的增大而进行高斯衰减: 
Figure FDA0000422822480000032
其中α是可调节参数;这样位于邻域内的网格节点速度被扰动后的值为: 
u'(x)=u(x)+ω(x-xp)y 
其中,u'(x)是网格节点x处的扰动后的速度值,u(x)是网格节点x处的原始速度值,y是(4.1)中采样得到的扰动速度;然后,再利用扰动后的具有高频湍流特征的速度场,驱动密度场和温度场的运动。 
CN201310612150.3A 2013-11-26 2013-11-26 一种用湍流方程丰富火焰模拟细节的方法 Expired - Fee Related CN103839287B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310612150.3A CN103839287B (zh) 2013-11-26 2013-11-26 一种用湍流方程丰富火焰模拟细节的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310612150.3A CN103839287B (zh) 2013-11-26 2013-11-26 一种用湍流方程丰富火焰模拟细节的方法

Publications (2)

Publication Number Publication Date
CN103839287A true CN103839287A (zh) 2014-06-04
CN103839287B CN103839287B (zh) 2016-09-28

Family

ID=50802752

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310612150.3A Expired - Fee Related CN103839287B (zh) 2013-11-26 2013-11-26 一种用湍流方程丰富火焰模拟细节的方法

Country Status (1)

Country Link
CN (1) CN103839287B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110189346A (zh) * 2019-05-15 2019-08-30 西北工业大学 基于化学自发光技术的火焰湍流度求取方法
CN112717309A (zh) * 2020-12-18 2021-04-30 郑州大学 一种扇叶式湍流灭火装置
CN112765860A (zh) * 2021-01-27 2021-05-07 江南大学 一种风吹酒精灯火苗的燃烧模拟方法
CN113496538A (zh) * 2021-07-30 2021-10-12 北京达佳互联信息技术有限公司 图像特效的生成方法、装置、电子设备及存储介质
CN115060457A (zh) * 2022-08-18 2022-09-16 珠海翔翼航空技术有限公司 基于飞行器颠簸探测大气涡旋耗散率的方法、系统及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101477709A (zh) * 2009-01-23 2009-07-08 武汉理工大学 面向陶瓷隧道窑的燃烧过程交互虚拟仿真方法
CN101561939A (zh) * 2009-05-27 2009-10-21 天津大学 基于物理的物体交互式燃烧模拟方法
CN102426691A (zh) * 2011-10-24 2012-04-25 克拉玛依红有软件有限责任公司 一种基于gpu的实时火焰效果的模拟方法
US8289327B1 (en) * 2009-01-21 2012-10-16 Lucasfilm Entertainment Company Ltd. Multi-stage fire simulation
CN102915552A (zh) * 2012-09-18 2013-02-06 中国科学院计算技术研究所 一种可控的火焰动画生成方法及其系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8289327B1 (en) * 2009-01-21 2012-10-16 Lucasfilm Entertainment Company Ltd. Multi-stage fire simulation
CN101477709A (zh) * 2009-01-23 2009-07-08 武汉理工大学 面向陶瓷隧道窑的燃烧过程交互虚拟仿真方法
CN101561939A (zh) * 2009-05-27 2009-10-21 天津大学 基于物理的物体交互式燃烧模拟方法
CN102426691A (zh) * 2011-10-24 2012-04-25 克拉玛依红有软件有限责任公司 一种基于gpu的实时火焰效果的模拟方法
CN102915552A (zh) * 2012-09-18 2013-02-06 中国科学院计算技术研究所 一种可控的火焰动画生成方法及其系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CHRISTOPHER HORVATH 等: "Directable, High-Resolution Simulation of Fire on the GPU", 《ACM TRANSACTIONS ON GRAPHICS(TOG)-PROCEEDINGS OF ACM SIGGRAPH 2009》, vol. 28, no. 3, 31 August 2009 (2009-08-31) *
DUC QUANG NGUYEN 等: "Physically Based Modeling and Animation of Fire", 《ACM TRANSACTIONS ON GRAPHICS(TOG)-PROCEEDINGS OF ACM SIGGRAPH 2002》, vol. 21, no. 3, 1 July 2002 (2002-07-01), pages 721 - 728 *
李乐庆 等: "基于粒子和纹理绘制的火焰快速模拟", 《计算机科学》, vol. 36, no. 4, 30 April 2009 (2009-04-30), pages 93 - 95 *
聂青 等: "基于流体动力学的火焰实时绘制技术", 《计算机工程与设计》, vol. 27, no. 21, 30 November 2006 (2006-11-30), pages 3959 - 3961 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110189346A (zh) * 2019-05-15 2019-08-30 西北工业大学 基于化学自发光技术的火焰湍流度求取方法
CN112717309A (zh) * 2020-12-18 2021-04-30 郑州大学 一种扇叶式湍流灭火装置
CN112717309B (zh) * 2020-12-18 2021-10-08 郑州大学 一种扇叶式湍流灭火装置
CN112765860A (zh) * 2021-01-27 2021-05-07 江南大学 一种风吹酒精灯火苗的燃烧模拟方法
CN113496538A (zh) * 2021-07-30 2021-10-12 北京达佳互联信息技术有限公司 图像特效的生成方法、装置、电子设备及存储介质
CN113496538B (zh) * 2021-07-30 2024-03-19 北京达佳互联信息技术有限公司 图像特效的生成方法、装置、电子设备及存储介质
CN115060457A (zh) * 2022-08-18 2022-09-16 珠海翔翼航空技术有限公司 基于飞行器颠簸探测大气涡旋耗散率的方法、系统及设备
CN115060457B (zh) * 2022-08-18 2022-11-08 珠海翔翼航空技术有限公司 基于飞行器颠簸探测大气涡旋耗散率的方法、系统及设备

Also Published As

Publication number Publication date
CN103839287B (zh) 2016-09-28

Similar Documents

Publication Publication Date Title
Wei et al. Blowing in the wind
CN103839287A (zh) 一种用湍流方程丰富火焰模拟细节的方法
CN102915552B (zh) 一种可控的火焰动画生成方法及其系统
CN102496177A (zh) 三维水墨动画的制作方法
Chen et al. Real-time simulation of dust behavior generated by a fast traveling vehicle
CN106342298B (zh) 一种多点爆炸效果的实时生成方法
CN107729638A (zh) 各向异性大气湍流场数值模拟方法
Krüger et al. GPU simulation and rendering of volumetric effects for computer games and virtual environments
CN106934192A (zh) 一种参数优化的浅水方程模型水体建模方法
CN103049931A (zh) 基于粒子系统的云团快速三维仿真算法
CN104778737B (zh) 基于gpu的大规模落叶实时渲染方法
Duarte et al. Real-time simulation of cumulus clouds through skewt/logp diagrams
CN104574518A (zh) 具有丰富细节的大规模海洋场景半物理绘制方法
CN103942090A (zh) 一种数据驱动的实时头发运动仿真方法
CN103678888B (zh) 一种基于欧拉流体模拟算法的心脏血液流动示意显示方法
CN105303601A (zh) 一种基于粒子系统的喷泉模拟实现方法
CN102867336B (zh) 一种基于热力学模型的固体燃烧过程模拟方法
Liu et al. Real time simulation of a tornado
Nuić et al. Algorithms for procedural generation and display of trees
Balci et al. Real-time 3d fire simulation using a spring-mass model
Ding Physically-based Simulation of Tornadoes
Dong et al. Smoke simulation based on particle system in virtual environments
Nishidate et al. Fast water animation using the wave equation with damping
Tang et al. Swaying Tree Simulation by Slicing Partition
Yongsong et al. Study of special effect simulation by particle system editor

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160928

Termination date: 20211126

CF01 Termination of patent right due to non-payment of annual fee