文章链接:https://doi.org/10.1016/j.cpc.2021.107849
算例部分在第四章。
4.1基础测试
4.1.1泊肃叶流动
设置一个8*8*2网格,模拟二维正方形水槽内的泊肃叶流动。参数[latex]||\nabla p||=\mu=\rho=1[[……]
渺渺苍天,星光烁烁,美丽家园球外乡
文章链接:https://doi.org/10.1016/j.cpc.2021.107849
算例部分在第四章。
设置一个8*8*2网格,模拟二维正方形水槽内的泊肃叶流动。参数[latex]||\nabla p||=\mu=\rho=1[[……]
现假设我们有一流体格i,和与之相邻的格子j。我们研究投影矩阵A中,代表(i,j)格子对的元素(下简记为A[i,j])和i格子所对应的对角元(下简记为A[i,i])的数值情况。注意,i和j都是格子,本身坐标是一个向量,不要与矩阵坐标相混淆。
现列举j的几种情况。
情况一:j亦是流体格。[……]
Fluid Simulation for Computer Graphics第二版,8.2节。
在求解自由表面流体时,简单地把计算域划分为液体格和气体格,会导致artifact.如果能更精确地追踪表面,可以修改一下在水-气界面附近计算压强差的方式。
根据Gibou et al. 2002[……]
记录一下最近的一次折腾,使用一台安装了Ubuntu 20.04 Server的工控机搭建软路由,并成功配置家庭NAS的内网访问。计算机网络没好好学,全靠本能debug,感谢lcy同志的全程技术科普(
本文讨论使用Octree(八叉树)重建表面的问题。
讨论连续性问题。
如果在Octree上储存数据,那么在不同大小的格子交界的地方,数据可能会不连续。
本文采用的方法:在大小格子交界处,让大格子在小格子上sample数值:
[……]
本文基于维基百科内容写作:
https://en.wikipedia.org/wiki/Marangoni_effect
https://en.wikipedia.org/wiki/Marangoni_number
示例视频(需科学上网):
传给glutMouseFunc()的(x,y)是左上至右下的坐标:x表示离屏幕左边缘的像素数,y表示离屏幕上边缘的像素数,如图:
而glReadPixels()采用的坐标系统则与此不同,它是从左下到右上的。也就是说,x表示离屏幕左边缘的像素数,y表示离屏幕下边缘的像素数,如图:
[……]
流体在薄膜上的流动遵循带有表面张力项的无粘NS方程:
这个x上面一点就是速度的意思。(1)右端第一项是表面张力。里面的u代表气-液界面[……]
我们使用点约束(point constraints),这样一方面施加软体约束(例如bone attachments),一方面解决物体之间的碰撞/自碰撞。特别地,我们在规则网格(lattices)上放一些代理点(proxy points),在这些点上记录力,并用三次插值法把这些力[……]
用“状态向量”表示一个质点的状态:
如果三维,就是六个数。这个Y可以扩展到n个质点:
我们先暂且考虑一个质点。F(t)是该质点t时刻所受合力。假设该点有质量m,那么状态向量的变化率就是:
质点没有方向[……]