The invention relates to a method for turbulent flame simulation equation of rich details, (1) the Euler method based on grid, accelerate the use of CUDA to solve the Navier-Stokes equations, get the flame velocity field, density field and temperature field; (2) using the particle method to simplify the standard k-e turbulent flow equation, and the calculated turbulent kinetic energy the particle and energy dissipation rate CUDA; (3) generating narrow-band random field texture, which can be obtained according to the rotation velocity field, then the position of the particles in random sampling in the velocity field, where the particle velocity; (4) the disturbance velocity synthetic particles, and then use the weight speed to Gauss attenuation disturbance at grid the nodes in the neighborhood of the particle velocity, driving movement density field and temperature field; (5) the use of buffer mapping of CUDA and OpenGL, calculated the number of CUDA direct rendering According to the field, get flame patches.
【技术实现步骤摘要】
本专利技术涉及一种用湍流方程丰富火焰模拟细节的方法,属于虚拟现实科学
技术介绍
火焰是自然界的基本元素之一,与人类的生存和生活有着密切的联系,在虚拟世界中对火焰进行真实重现,可以帮助人类增强认知,把握规律,改善人类行为,更好地按照规律办事。火焰的真实感模拟,在消防训练、军事仿真、影视特效、虚拟现实等领域有着重要的科学价值和经济效益,同时也是计算机图形学中最具有挑战性的研究方向之一。燃烧是一种快速的带化学反应的流体动力学过程,受众多的因素影响。几乎所有的燃烧过程都伴随着流动过程,而燃烧所产生的火焰与这种流动相互作用,进而对火焰的结构、稳定性产生影响。通常,根据火焰的形态、稳定性,可将其分为两类:层流火焰和湍流火焰。根据流体力学的相关理论,当雷诺数较小的时候,黏性力对流场的作用大于惯性力,导致流速因受黏滞力的影响而衰减,流体流动趋于稳定状态,形成层流,层流火焰是最简单的一种火焰,火焰锋面光滑稳定;而当雷诺数较大时,惯性力对流场的作用超过黏性力,流体运动趋于不稳定,流速的微小变化容易发展和增强,形成紊乱、不规则的流场,成为湍流,湍流火焰结构复杂,其锋面出现许多褶皱和小漩涡。在实际生活中,由于燃烧环境的不稳定,所产生的火焰多数都具有湍流现象,所以对于湍流火焰的模拟可以获得更为逼真的、实际的效果,尤其是可以在影视、动画中产生更为生动的特效提供帮助。传统的基于物理的火焰模拟方法是使用Navi ...
【技术保护点】
一种用湍流方程丰富火焰模拟细节的方法,是通过求解湍流方程得到湍动能,再结合随机速度场,对火焰的速度场进行扰动,得到具有高频湍流特征的速度场,然后驱动火焰的密度场运动,得到具有湍流细节的火焰。该方法的特征在如下步骤: (1)使用CUDA加速求解Navier‑Stokes方程,得到火焰的速度场、密度场和温度场,从而得到火焰的主体形态; (2)使用粒子方法对标准k‑e湍流方程进行简化,然后使用第(1)步求得的速度场驱动粒子运动,并利用CUDA加速求解简化后的方程,到粒子的湍动能和能量耗散率; (3)生成具有窄带特征的随机纹理场,再由窄带随机纹理场生成随机速度场,根据粒子位置采样得到粒子所在处的速度; (4)根据第(2)步得到的采样速度和第(1)步中的湍动能合成粒子的扰动速度,在该粒子的邻域内以高斯衰减的权重扰动粒子邻域内的网格节点处的速度,使网格节点的速度有了更多的高频细节特征,然后以该速度驱动火焰密度场、温度场的运动; (5)对粒子进行分组,从前往后分别绘制每一组粒子,并利用CUDA和OpenGL的缓冲区映射,加速渲染,得到具有湍流细节的火焰面片。
【技术特征摘要】
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湍流方程为:
其中,k是湍动能,ε是能量耗散率,u是速度,νT是粘性系数,C1、C2、σ1、σ2是常数,P是能量产生项,计算公式为:
将标准k-e湍流方程用粒子方法简化为:
(2.2)在OpenGL中定义顶点缓冲区,存储粒子的速度、位置、颜色和纹理坐标,利用CUDA和OpenGL的缓冲区映射,在CUDA中读取该缓冲区,根...
【专利技术属性】
技术研发人员:周忠,高宏昌,伍朝辉,吴威,
申请(专利权)人:北京航空航天大学,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。