流体力学学习笔记2-A unified particle model for fluid-solid interactions

 方法简介:

    此文用sph方法同时对液体和固体进行仿真,这就省去了固体液体的耦合。通过这个方法只要改变粒子的属性,就能实现模拟液体和固体。


对于液体的sph方法模拟请看http://www.thecodeway.com/blog/?p=1557,这里不再赘述

下面介绍对固体的处理:

可形变固体:

   这篇文章是在《Point based animation of elastic, plastic and melting objects.》《A unified lagrangian approach to solid-fluid animation.》这两篇文章中方法的基础上改进的,在这两篇文章中,每个粒子相对于不形变部分位移的梯度被用来计算应变,应力和弹性力。

   为了计算粒子的弹性力,我们需先计算粒子的弹性势能,这需要根据能量密度来计算,下面给出公式:

是粒子的体积 = 粒子的质量  /  粒子的密度.


粒子i对粒子j的弹性力:

是相对于不形变部分的位移梯度

是粒子i,j的位移差

即等于现在的位移差加上本来的位移差

运用sph的公式 

sph方法中核函数的选择对仿真的效果有着很大的影响,特别体现在稳定性和速度上。这里核函数选择为:



固体的塑性和断裂

        如果可形变固体超过了弹性限度,将不能再恢复到原先形状,产生塑性形变,塑性形变也同样有限度,如果两个粒子之间的距离超过了一定限度,将产生断裂。这些都在计算时考虑了进去。每个粒子都储存了自己的弹性限度和塑性限度,这为同时模拟不同材料提供了可能。


刚体:

         刚体意味着移动限制在整体的平移和旋转。为了限制刚体的移动,我们必须精确的处理刚体的旋转。为此,我们计算矢量力矩:

是刚体的质心坐标,Fi表示外力作用在粒子i上的力,Fi=Vi*fi    Vi是粒子的体积,fi是力密度

作用在刚体上的总力

作用在刚体上的总转矩:

总力和总转矩得到后,即可计算位移和转角,其中角速度的计算公式如下:

   I是惯性张量,L是角动量 这样我们就可以通过反复迭代来计算刚体的新位置了。


总结:

       这个方法虽然省去了流固耦合这一步,在处理较弱的相互作用时,将气体常量K选的较大时,能阻止流固粒子相互进入.但当相互作用较强时,还是有相互进入现象。而且此方法运算量较大,运行速度在不采取优化的情况下只有两帧每秒。此方法的精确性也很难估计,但能明确的是减小粒子的尺寸和时间步能提高精确性。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值