SPH算法,又称为光滑粒子流体动力学算法。是一种无网格粒子法,创立于1977年,经过多年的发展,发展出许多的派生的方法,如再生核粒子法(RKPM)、修整光滑粒子法(CSPM)等。SPH的基本思想 (1)若问题不是以粒子形式表示的,则用一系列仍一分部的粒子来表示问题域。(无网格)(2)用积分表示法来近似场函数,称为
SPH算法是典型的拉格朗日视角,它的基本原理就是通过粒子模拟流体的运动规律,然后再转换成网格进行流体渲染。 在正式开始之前,需要把SPH算法涉及到的相关数学概念介绍一下,这些概念基本上都是大学数学中的内容,所以不用紧张,翻翻书就能想起来。 标量场和矢量场 如果空间区域内一点M,都有一个确定的数量f(M),则称这个...
SPH推导过程 我们假设流体中一个位置为ri→的点,此处的密度为ρ(ri)、压力为p(ri)、速度为u→(ri),那么我们可以根据上一篇的公式2.8,可以推导出此处的加速度a→(ri)为 a→(ri)=g→−∇p(ri)ρ(ri)+μ∇2u→(ri)ρ(ri)...(3.2) 对于SPH算法来说,基本流程就是这样,根据光滑核函数逐个推出流体...
SPH算法简介SPH(Smoothed Particle Hydrodynamics,光滑粒子流体动力学)是一种高效的无网格数值求解方法,广泛应用于流体力学、固体力学、材料科学等领域。该算法通过离散化流体域为可以自由移动的粒子,利用粒子间的相互作用来模拟流体的动力学行为。SPH算法具有良好的稳定性和灵活性,能够有效处理复杂的流体边界条件和界面变形...
SPH算法中涉及“光滑核”的概念,以理解粒子属性的扩散与影响递减。距离增加时,粒子属性的影响逐渐减弱,这种随距离衰减的函数即为“光滑核”函数,其最大影响半径为“光滑核半径”。相反,流体视为分散粒子,但连续充满空间,每个位置的值由周围粒子累加产生。假设某点在光滑核半径h内有数个粒子,可通过...
SPH算法的推导过程中,如计算密度,首先代入公式[公式],使用[公式]函数,其具体形式取决于核函数的规整属性。例如,在[公式]条件下,密度计算公式为[公式]。同样的,压力计算也需要考虑不平衡问题,通过理想气体状态方程和光滑核函数[公式]进行调整。粘度的计算涉及到速度相对性,使用特定的光滑核函数形式...
Github:https://github.com/thejinchao/fluid 可执行程序下载:fluid_relase_x64.zip(132KB) SPH还有很多细节值得讨论,比如表面张力、并行计算、构建网格、真实材质的水渲染等,这些部分我会抽时间再写一些东西出来介绍。
SPH算法简介 光滑粒子流体动力学法米扬SPH算法背景 SPH算法,又称为光滑粒子流体动力学算法。是一种无网格粒子法,创立于1977年,经过多年的发展,发展出许多的派生的方法,如再生核粒子法(RKPM)、修整光滑粒子法(CSPM)等。SPH的基本思想(1)若问题不是以粒子形式表示的,则用一系列仍一分部的粒子来表示问题域。(无网...
SPH算法简介(五):表面张力的计算 所谓表面张力,正如前面所讲,就是由于流体“试图减小表面积”而产生的力,这种力产生的效果非常有趣,它会使肥皂膜紧绷,使水滴变成球形,但在大部分SPH应用场合中,和其他力相比,表面张力产生的效果其实是微乎其微的,所以常常忽律表面张力的计算。如果要想计算表面张力,就要...