The invention provides a third-order high-precision convection interpolation algorithm suitable for three-dimensional fluid simulation. Based on the constrained interpolation profile method (CIP), a high-precision interpolation method is developed for the calculation of physical quantities at the backoff point, which improves the convection accuracy when using the semi-Lagrangian method to solve the convection term in the three-dimensional fluid motion control equation. In addition, in order to reduce memory consumption, only the values of physical fields and their first derivatives are stored as computational variables, while the higher derivatives are approximated based on the derived Taylor expansion under the premise that the computational accuracy is not compromised. The invention can maintain the third-order high precision with less time and memory consumption, and has the characteristics of tight template. Compared with the existing methods, this method has obvious improvements in visual quality, speed, memory consumption and other aspects, which can effectively improve the convection accuracy and speed of fluid simulation.
【技术实现步骤摘要】
一种适用于三维流体模拟的三阶高精度对流插值算法
本专利技术涉及计算机动画
,是一种适用于三维流体模拟的三阶高精度对流插值算法,能有效降低对流数值耗散,减少内存开销,增强流体动画的真实感。
技术介绍
在计算机图形学和虚拟现实领域,基于物理的计算机动画技术始终是科研工作者的研究重点,而基于物理的流体动态模拟技术则是其中的一个热点问题。流体模拟技术在多个领域也被广泛应用,工程领域如航天、航空、航海等的发展也离不开流体技术的支撑。在流体模拟中,数值耗散增加了流体的粘度,使其比预期的更粘稠,并涂抹细节以致视觉质量受损。导致数值耗散的因素中,对流的精度对流体模拟的视觉质量有很大的影响,相关学者为开发精确的对流求解器进行了各种尝试。其中,高阶插值格式广泛应用于计算流体力学(CFD)领域,包括本质非振荡(ENO)、加权ENO(WENO)等,然而由于计算量太大不适用于图形学领域,而且这些插值算法在宽模板上进行,不适用于在非均匀网格上进行仿真。线性方法(Linear)、前后向误差补偿矫正方法(BFECC)、MacCormack法等对流方法广泛用于图形学中,但计算精度有限,最高只可达二阶精度。约束插值剖面(CIP)方法只在单个网格单元构造插值函数,具备紧模板特性,而且具有三阶精度,但扩展CIP求解高维对流方程是一项困难的任务,需要大量的计算时间和内存消耗。另外,现有技术中基于CIP的多维对流求解器,如单调CIP(MCIP)、非分裂型CIP(USCIP)等,只能部分地解决这些问题,有些甚至以损失数值精度或造成不稳定为代价。如何发展一种高效、高精度的高维CIP方案对于提升对流 ...
【技术保护点】
1.一种适用于三维流体模拟的三阶高精度对流插值算法,其特征在于:通过利用半拉格朗日法求解流体运动控制方程的对流项时,针对回退点处物理量的计算采用了高精度插值,降低了数值耗散,同时为减少内存消耗,只存储物理场的值及其一阶导数作为计算变量,高阶导数则在保证计算精度不受损的前提下基于推导的泰勒展开式近似计算;对于三维对流方程,设φ为对流物理量,则在每个网格点i上存储4个变量,即该物理量及其一阶偏导:φi、
【技术特征摘要】
1.一种适用于三维流体模拟的三阶高精度对流插值算法,其特征在于:通过利用半拉格朗日法求解流体运动控制方程的对流项时,针对回退点处物理量的计算采用了高精度插值,降低了数值耗散,同时为减少内存消耗,只存储物理场的值及其一阶导数作为计算变量,高阶导数则在保证计算精度不受损的前提下基于推导的泰勒展开式近似计算;对于三维对流方程,设φ为对流物理量,则在每个网格点i上存储4个变量,即该物理量及其一阶偏导:φi、和回退点上相应值通过高精度插值求得;具体包括以下步骤:S1)针对回退点P所处的三维网格单元,设网格单元边长为h,八个网格点分别为A、B、C、D、E、F、G、H,网格单元的所有边均与三维空间的坐标轴平行,网格面ABCD和EFGH均平行于XY平面且二者沿Z轴正向的间距为h,网格面AEHD和面BFGC平行于YZ平面且且二者沿X轴正向的间距为h,网格面ABFE和面DCGH平行于XZ平面且二者沿Y轴正向的间距为h;设点M和N分别为回退点P在面ABCD和面EFGH上的投影点;S2)、计算八个顶点处φ的二阶偏导的值,具体计算如下:基于以下三阶精度泰勒展开式,令y=z,有对于网格点A,针对以上公式,令Δx=Δz=h,得到:对于网格点B,针对以上公式,令Δx=-h,Δz=h,得到:对于网格点C,针对以上公式,令Δx=-h,Δz=h,得到:对于网格点D,针对以上公式,令Δx=Δz=h,得到:对于网格点E,针对以上公式,令Δx=h,Δz=-h,得到:对于网格点F,针对以上公式,令Δx=-h,Δz=-h,得到:对于网格点G,针对以上公式,令Δx=-h,Δz=-h,得到:对于网格点H,针对以上公式,令Δx=h,Δz=-h,得到:S3)、计算八个顶点处φ的二阶偏导的值,具体计算如下:基于以下三阶精度泰勒展开式,令x=y,y=z,有对于网格点A,针对以上公式,令Δy=Δz=h,得到:对于网格点B,针对以上公式,令Δy=Δz=h,得到:对于网格点C,针对以上公式,令Δy=-h,Δz=h,得到:对于网格点D,针对以上公式,令Δy=-h,Δz=h,得到:对于网格点E,针对以上公式,令Δy=h,Δz=-h,得到:对于网格点F,针对以上公式,令Δy=h,Δz=-h,得到:对于网格点G,针对以上公式,令Δy=-h,Δz=-h,得到:对于网格点H,针对以上公式,令Δy=-h,Δz=-h,得到:S4)、通过二维基于泰勒展开的约束插值剖面算法计算投影点M和N处的对流物理量φ值及其一阶、二阶偏导:φi、其中i∈{M,N};S5)、基于一维约束插值剖面法(CIP)插值算法,通过步骤S4)求得的投影点M和N处的φM、φN、计算回退插值点P处的φP、通过步骤S4)求得的投影点M和N处的计算回退插值点P处通过步骤S4)求得的投影点M和N处的计算回退插值点P处2.根据权利要求1所述的一种适用于三维流体模拟的三阶高精度对流插值算法,其特征在于:步骤S4)中,所述的二维基于泰勒展开的约束插值剖面算法,具体如下:设φ为插值物理量,则在每个网格点i上存储3个变量,即该物理量及其一阶偏导:φi、插值点上相应值通过高精度插值求得;包括以下步骤:S401)、针对插值点P′所处的二维网格单元,设网格单元边长为h′,四个顶点分别为A′、B′、C′、D′,网格单元的所有边均与二维维空间的坐标轴平行,边A′B′和边C′D′平行于X轴且二者沿Y轴正向的间距为h′,边A′D′和边B′C′平行于Y轴且二者沿X轴正向的间距为h′;设点E′和G′分别为插值目标点P′在边A′B′和A′D′上的投影点;S402)、计算点A′、B′、D′处φ的二阶偏导的值。具体计算如下:基于以下三阶精度泰勒展开式,令Δx=Δy=h′,计算网格点A′处的二阶偏导值,即:同理,令Δx=-h′,Δy=h′,计算网格点...
【专利技术属性】
技术研发人员:朱鉴,李泓澍,叶境炫,曾泽洪,陈灿昌,蔡瑞初,郝志峰,
申请(专利权)人:广东工业大学,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。