Chango的数学Shader世界(十一)流体模拟-Helmholtz分解,边界,场性质

目的:

参考《GPU Gems》,尝试重现2D流体模拟。

本节解释文中对上上节Navier–Stokes equations的变形,及需要变形的原因,导出最终算法的结构。

 

参考:

《GPU Gems》

 

观察:

Why so serious

 

分析:

1.边界

归于实际,我们的这些场是要应用在一个有限的2D区域上的,不妨称此区域为D。一般来说,只有在其边界\partial D上处处可微,才能应用这些定理和公式。不过我们由于是离散形式,又可以不考虑4个角,也能在边界上进行一般操作,问题不大,后面会谈到。

不过,我发现了一个从大学时期就没懂的问题,为啥区域D的边界总是写成\partial D ?这跟偏导有啥关系?

经过科学搜索,竟然发现了陶哲轩?的回答:

其实本质道理十分显然,下图既可以适用于2D,也可以想象成3D:

(注意:已更换符号)

 

|\Delta \boldsymbol{r}|趋向0,D区域增加的体积趋向于D区域的表面积(D区域边界的模),去除掉绝对值符号,把\partial D当作D的边界也合情合理。

对于答主下面拿圆举例的公式,我觉得有失细致,乍看会误导人,以为圆面积对r导数一下就是周长,其他图像也一样。其误导之处在于这里的半径r与上面的r-neighbourhoods不是同一个东西。在圆这个例子中,如果要和上面的思想保持一致,那么就该这么写,这里我根据第一段的r(r-neighbourhoods)的思想,引出圆的位矢变化长度p。重设圆的半径为R。

那么,所谓的|S_{r}|就是函数G(p)=\pi ((R+p)^{2}-R^{2}),对p求导并令p=0,得G^{'}(p)|_{p=0}=2\pi R,这样,这个形式和p就和上面的r-neighbourhoods对应了。

注意这里的函数G也不是唯一的。因为把一个图形扩出去&#

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值