基于格子Boltzmann的流体可视化仿真方法技术

技术编号:9276603 阅读:172 留言:0更新日期:2013-10-24 23:32
本发明专利技术涉及流体实时模拟仿真技术领域,具体涉及一种基于格子Boltzmann的流体可视化仿真方法,对流体速度进行归一化处理,依据特征值划分区间,对不同区间内的数据施加不同的权,用三种颜色强度及其混合值分别表示不同流速的流体,与传统的加权绘制方法相比,本发明专利技术减少了计算量,提高了仿真的实时性,同时保证了仿真的精度和稳定性,实现了清晰准确的流体仿真动画,且绘制结果显示可清晰、准确的表现流体的动力学特性。

【技术实现步骤摘要】

【技术保护点】
一种基于格子Boltzmann的流体可视化仿真方法,其特征在于:包括以下步骤:步骤1:根据格子Boltzmann方法构建流体力学模型,选择格子Boltzmann方程初始化分布函数,所述格子Boltzmann方程初始化分布函数为:fα(r+eαδt,t+δt)-fα(r,t)=-1τ[fα(r,t)-fαeq(r,t)]其中τ定义为τ=vcs2·δt+12式中格子声速cs取δt为时间步长,为平衡态分布函数,r为空间位置矢量,t为时间;ν为运动粘度系数,其与流场尺寸和流体速度成正比,与雷诺系数Re成反比,即:v=ReL·U;式中:L为方腔的高度,U为顶盖流驱动速度;步骤2:设置初始值,即:流体初始速度、雷诺系数、流体密度和流场尺寸,对流场进行网格划分;步骤3:设定区间[0.0,1.0]作为值域A,选取0.25、0.5、0.75作为特征值将值域A划分为[0.0,0.25]、[0.25,0.5]、[0.5,0.75]和[0.75,1.0]四个区间;步骤4:用步骤3中得到的四个区间分别表示蓝色、绿色、红色和黄色的强度值,即:区间[0.0,0.25]表示蓝色值强度,其定义为区间B;区间[0.25,0.5]表示绿色值强度,其定义为区间G;区间[0.5,0.75]表示红色值强度,其定义为区间R;区间[0.75,1.0]表示黄色值强度,其定义为区间RG;步骤5:步骤1中的格子Boltzmann方程初始化分布函数向前演进一个时间步长,图像处理单元接收流场内的节点数据,即读取速度信息,所述速度信息包含x方向的速度分量和y方向的速度分量;步骤6:将步骤5中所读取的速度信息转化为无量纲数值信息,并进行归一化处 理,所述归一化处理所采用的公式为:ux=1ρΣαfα|eα|uy=1ρΣαfα|eα|m=(ux2+uy2-umin)umax-umin其中ux和uy代表速度在坐标轴x、y方向上的分量;ρ代表流体宏观密度;fα代表局部平衡态分布函数;α代表离散速度方向;eα代表各个方向上的离散速度;umax为流场内流体速率的最大值;umin为流场内流体速率的最小值;m表示归一化处理后的数据值;步骤7:将步骤6中归一化处理所得到的数据值m与步骤4中得到的四个区间作比较,如果m∈B,设定权系数wB∈[0.0,4.0],wG=wR=0;如果m∈G,设定权系数wB∈[0,2.0],wG∈[0.0,2.0],wR=0;如果m∈R,设定权系数wB=0,wG∈[0,4/3],wR∈[0,4/3];如果m∈RG,设定权系数wB=0,wG∈[0,1.0],wR=1.0;步骤8:基于OpenGL中的RGB颜色显示模式确定R、G、B的强度值:glColor3f(floatr,floatg,floatb)其中,r=m×wR,g=m×wG,b=m×wB,利用此颜色配比方案,绘制边长为0.5个像素的正方形,表示当前格点处流体速度值:glBegin(GL_POLYGON);glVertex2f(i?0.5,j?0.5);glVertex2f(i?0.5,j+0.5);glVertex2f(i+0.5,j+0.5);glVertex2f(i+0.5,j?0.5);glEnd();其中i、j表示当前格点的坐标;步骤9:遍历整个流场,绘制出整个流场内节点的颜色信息;步骤10:重复步骤5至步骤9,直到达到收敛条件,停止图像绘制此时图像即为流场稳定后的成像效果。FDA00003380486800013.jpg,FDA00003380486800014.jpg...

【技术特征摘要】

【专利技术属性】
技术研发人员:刘雪梅高阳闫新庆樊要玲朱齐亮郭松
申请(专利权)人:华北水利水电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1