Lecture 4 欧拉视角

欧拉视角
采样点在空间中完全不动,观察材料以什么样的速度穿过该采样点。

在这里插入图片描述

材料导数:联系了拉格朗日视角和欧拉视角

在这里插入图片描述

在这里插入图片描述
不可压缩流体的速度场没有散度(=0),如果有散度的话,局部就会由于材料过度的流入/出导致这部分流体被拉伸/压缩,流体密度就会随之发生变化,这与不可压缩流体性质不符,所以速度场的散度应为0。

Operator splitting
把一个时间的PDE(偏微分方程)拆分成若干部分,使得每个部分都比较就好算
拆分公式
在这里插入图片描述
在这里插入图片描述

速度场的表示—Grid

cell-centered grids 中心化

速度场(横向ux,纵向uy)、压强都存储在均匀网格cell的中心
在这里插入图片描述

staggered grids 交错

交错存储
红色:左侧存ux (43)
绿色:上侧存uy (3
4)
蓝色:中心存p (3*3)
在这里插入图片描述
虽然在每个cell里添加了采样点记录对应的物理量,但是cell里还有很多位置没有值,采用插值技术完成未定义点的近似描述。

Bilinear interpolation 双线性插值

首先计算某点(x,y)到cell四个顶点的“距离”(衡量方式:面积)

在这里插入图片描述

移动流体材料–Advection

Advection schemes

在这里插入图片描述

Scheme:Semi-Lagrangian advection

在这里插入图片描述
在这里插入图片描述
回溯上个位置时不准确
eg:由于误差,导致太极图标越转越小
在这里插入图片描述

RK选择

在这里插入图片描述
平均:会变糊

Scheme:BFECC and MacCormack advection

引入误差补偿来解决变糊问题

在这里插入图片描述

advection.py
mc_clipping = True是为了防止做完MacCormack后产生一些非常大的值,error修正项有时会弄巧成拙,在边界产生吉布斯现象的问题。

use_mc = True:( MacCormack)
在这里插入图片描述

use_mc = False:(Semi-lagrangian)
在这里插入图片描述
速度场上变模糊:产生了数值黏性,会有能量衰减的问题。

mc_clipping = Flase :在边界产生吉布斯现象
在这里插入图片描述
‌流体模拟中的吉布斯现象‌
是指在流体模拟过程中,当使用傅里叶级数展开方法对不连续的信号进行处理时,会出现一系列尖锐的锯齿状波动。这种现象类似于使用锋利的锯子切割平滑曲线时产生的结果,即在信号的不连续点附近会出现过冲现象‌。
吉布斯现象的数学解析
吉布斯现象是由于傅里叶级数在逼近不连续点时,无法完全消除这些点附近的过冲现象。即使使用无限多的项进行展开,也无法完全消除这种过冲‌12。这种现象在数学上可以通过傅里叶级数的逼近公式来解释,具体表现为在信号不连续点附近出现峰起,且当选取的项数增加时,峰起值趋于一个常数,大约等于总跳变值的9%‌23。
吉布斯现象在流体模拟中的应用和影响
在流体模拟中,吉布斯现象可能会导致模拟结果在某些不连续点附近出现不自然的波动,影响模拟的真实性和准确性。为了减少这种现象的影响,可以采用一些滤波器或补偿技术来平滑这些波动,但这些方法可能会引入新的误差或计算复杂度‌。

投影,化散为0 – Projection

求一个合适的标量场p使得对应梯度施加在u上之后,u速度场的散度变为0。
有限差分展开:
在这里插入图片描述
得到泊松方程(Poisson‘s equation)
在这里插入图片描述
这里的拉普拉斯算子∆ 不同于变化量的概念!
拉普拉斯方程(Laplace equation)
LearnBlog1LearnBlog2

物理量存放在网格上(离散的),如何用离散方程近似表示连续方程:
在这里插入图片描述
速度场散度:+流出-流入
在这里插入图片描述
压强梯度的散度:
在这里插入图片描述
边界条件:
若:1,2列为流体,第3列为空气:Pi+1,j = 0(压强视为0)
若:1,2列为流体,第3列为固体:Pi,j所在cell的右边速度永远为0,压强的梯度也永远为0, 公式中去掉(Pi+1,j - Pi,j)这一项。即:Pi,j前的系数改为-3, 去掉Pi+1,j

求解 large-scale 线性方程组

在这里插入图片描述

Krylov Subspace Iteration Method

Krylov子空间迭代法
LearnBlog
将复杂问题化简为阶段性的易于计算的子步骤。
在这里插入图片描述
在这里插入图片描述

The Decompositional Approach to Matrix Computations

矩阵分解算法
证明了任何矩阵都可以分解为三角、对角、正交和其他特殊形式的矩阵,该算法的意义使得开发灵活的矩阵计算软件包成为可能。

Fast Fourier Transform

快速傅立叶变换法
时间复杂度仅为O(Nlog(N))

Fast Multipole Method

快速多极算法

在这里插入图片描述
在这里插入图片描述
LearnBlog:CSR、CSC、COO
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当A的condition number比较大时,可以预处理,找一个接近于A、求逆容易的M矩阵,使得M-1A的contidition number 比较小,得到更快的收敛速度,即迭代次数降低。
在这里插入图片描述

Common preconditioners

在这里插入图片描述

例子:Multigrid

在这里插入图片描述
The Multigrid design space
在这里插入图片描述
在这里插入图片描述
Multigrid写得好的话,迭代一次可以减少一个数量级

Summary

Eulerian fluid simulation in graphics
在这里插入图片描述
learn:

 ti example stable_fluid

在这里插入图片描述
组合Advection、Projection
问题:能量损失
经过Projection后有散度的速度场分量被投影掉后,速度场的动能会有损失,涡量会丢
**解决方法1:**重建会丢掉的涡量速度场,降低流体的数值黏性
在这里插入图片描述
解决方法2: Advection到中间点,再Advection一次,再做Projection,这样损失会减少很多。
在这里插入图片描述
在这里插入图片描述
在物理学中,自由表面是在恒定垂直方向的应力和零平行方向的剪应力作用下的流体表面, 诸如两种流体之间的边界,例如液态水和在大气层中的空气。气体不能在其自身形成自由表面。
气体不存在自由表面,也就不存在表面张力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值