
Fluid Simulation
文章平均质量分 82
hijackedbycsdn
这个作者很懒,什么都没留下…
展开
-
浸没边界 直接强迫法 圆球绕流验证 阅读笔记
我们还引入了一种改进的体积力分布函数,它将IB点离散体积中的体积力完全传递到周围的笛卡尔网格。所得到的求解器的总体精度是二阶的,这在涉及流经球体的层流的两个测试案例中得到了证明。在每个时刻,通过沿着物体表面的局部法线重建解,在位于物体外部但紧邻物体的笛卡尔网格节点处应用边界条件,来考虑物体对流动的影响。注意到振荡是由直接强迫点处数值描述的瞬时变化引起的,我们提出了一种允许这些点处数值描述平滑过渡的公式。使用 VPM 方法。研究圆球绕流对平面边界的影响的,研究的是速度分布、边界层厚度,湍流强度等。原创 2024-10-06 23:16:24 · 1415 阅读 · 0 评论 -
制造解法 Manufactured Solutions 相关的论文的阅读笔记
对于本文提出的纳维-斯托克斯模拟,绝对粘度被选择为一个大的常数值(μ = 10 N · s/m^2),以获得对流和扩散之间的平衡。导热系数 k 由粘度通过指定常数确定。他这里是直接把制造解代入偏微分方程式,并且把所有项移到一边,得到的就是源项。解结构也必须足够复杂,以便测试所测试的控制方程中的所有项都得到执行。他的写法似乎也是,直接写了 NS 方程全部移到一边作为源项。然后 sci hub 下载的都是公式不全的。但是他没有讲制造解的源项具体是怎么构造的。用制造解法还可以找出编程错误。原创 2024-09-22 22:20:10 · 609 阅读 · 0 评论 -
共轭传热和浸没边界耦合相关的论文的阅读笔记
我有点不知道这是哪里体现了曲线网格了可能是体现在,他在开篇说,它使用的 IBM 方案是曲线坐标系的但是我是不知道他之后提出的那些算法有什么是特定需要曲线坐标系才能完成的。原创 2024-09-21 19:21:47 · 1093 阅读 · 0 评论 -
浸没边界法精度相关的论文的阅读笔记
这个浸没边界上的坐标系的定义方式,这个记号,之前我也没见过。原创 2024-09-15 19:32:36 · 1240 阅读 · 0 评论 -
使用 MPI 做 3D 带状矩阵的转置
一开始我大概有一个想法,假设两个进程的话,就把整个大矩阵分成 4 * 4 的块,进行分配,但是我不知道怎么分,就算是把转置之前的数据分布和转置之后的数据分布写出来了,也似乎找不到规律。后面通过 chatgpt 做出来了。每个进程的输入:大矩阵的。每个进程的输出:大矩阵的。原创 2024-05-25 14:55:34 · 307 阅读 · 0 评论 -
Efficient monolithic immersed boundary projection method for incompressible... 阅读笔记
lambda* 通过 A1 lambda* = R1 解出来,A1 是 A 的左上角,R1 是 R 的前四项,那 lambda* 似乎也应该具有类似的物理意义。他这个的构造的第一行是能量方程,第二行是动量方程,第三行是能量外力的插值方程,第四行是动能外力的插值方程,都是 IBM 的经典核函数插值。我大概理解 bc 是 boundary condition 的缩写,m 是动量的缩写,e 是能量的缩写。第三行是能量外力的插值方程,第四行是动能外力的插值方程,都是 IBM 的经典核函数插值。原创 2024-09-19 07:27:49 · 805 阅读 · 0 评论 -
用于模拟颗粒流的直接强迫浸没边界法 An immersed boundary method with direct forcing 笔记
使用固定且均匀的计算网格来计算悬浮刚性颗粒周围的不可压缩粘性流主要思想是将 Peskin 的正则化 delta 函数方法 [Acta Numerica 11 (2002) 1] 纳入流固相互作用力的直接公式中,以便允许欧拉和拉格朗日表示之间的平滑转换,同时避免时间步长的严格限制。该技术是在有限差分和分数步环境中实现的。我们提出了一种改进的浸入边界方法,直接公式化了流固相互作用力。Peskin [23] 的正则化 delta 函数用于任意拉格朗日位置和离散欧拉位置之间的关联。原创 2024-02-26 11:26:10 · 1794 阅读 · 0 评论 -
RLE 稀疏水平集 RLE sparse level sets 论文阅读笔记
看上去核心就是那个随机访问的过程但是我理解不了他是怎么做到的。原创 2024-02-20 11:19:27 · 1345 阅读 · 0 评论 -
动态管状网格:高分辨率水平集的有效数据结构和算法 Dynamic tubular grid: An efficient data structure... 论文阅读笔记
XN−1X_{N-1}XN−1表示对于 N 维情况,把网格点投影到前 N - 1 维张成的空间里得到的点集称为 p-column (projection column 的简称) number所以对于 2 维情况,p-column 就是一维的N 维的连通分量 connected component 被定义为 p-column 内相邻网格点的最大集合例如,在 2D 中,p-column x 被定义为管状网格中通过正交投影到 X 轴而投影到 (x, 0) 的网格点集。原创 2024-02-20 01:29:12 · 1203 阅读 · 0 评论 -
使用动态网格的流体动画 Fluid Animation with Dynamic Meshes 论文阅读笔记
原文:Klingner, Bryan M., et al. “Fluid animation with dynamic meshes.” ACM SIGGRAPH 2006 Papers. 2006. 820-825.使用 [Alliez et al., 2005] 的方法动态生成不规则的四面体网格根据边界的位置、边界的形状、基于流体和速度场的视觉重点部分的标准来构建一个尺寸场。这个尺寸场表明要生成的四面体网格在某点处的尺寸使用不规则的网格,而不是轴对称的,因为不规则的网格更加适应弯曲边界和不规则边界并且不原创 2024-02-19 00:50:04 · 1327 阅读 · 0 评论 -
使用八叉树模拟水和烟雾 Simulating Water and Smoke with an Octree Data Structure 论文阅读笔记
后面的都无关紧要了总之他这个文章的核心就是,现在八叉树的两个网格就只考虑彼此,暴力忽略其他网格,就这么得到了对称的模板忽然发现称为模板隐含着一个很优雅的事情,就是它可以包括某个点是流体或者是固体的情况这样,我们只需要最后讨论一下边界条件怎么放进来就好了,一开始推公式的时候就不用想边界好酷啊总之好羡慕啊,我现在的心情就跟我第一次看到半拉格朗日平流的 stable fluid 一样,感觉这么简单但是有效的东西,他们就能够研究到,然后发出来,就很优雅,很有应用上的美感的这么一件事。原创 2024-02-18 01:17:25 · 1260 阅读 · 0 评论 -
Windows 编译 yangfengzzz/fluid-engine-OpenVDB
我想将 OpenVDB 接入 doyubkim 的流体引擎然后搜到已经有人做过这件事了。原创 2024-02-17 10:04:50 · 1214 阅读 · 0 评论 -
OpenVDB Cookbook 笔记
如果不是对应同一个世界坐标,那就是两个网格的变换不同,一般的方法是先将一个网格重新采样到另一个网格的索引空间。可以获得元数据的 string 形式的类型名称,进而得知某个元数据的数据类型,进而进行类型转换。两层循环,外层迭代树结构的所有叶子节点,内层对于每一个叶子节点,根据属性的名字构建。遍历到的元素的 SDF 值如果在这个区间内,也就是在窄带内,那么就赋值,否则跳过。为了单线程调试 TBB,可以把输入的范围做成没有拆分的,对于。,这个迭代器的范围是由 tbb 划分的,原始迭代范围的子区间。原创 2024-02-15 15:51:27 · 1486 阅读 · 0 评论 -
Fluid Engine Development 创建 PIC, FLIP, Level Set 演示 Demo
然后他这个 Marching Cube 的算法里面写了对于边界的处理,原仓库的代码里面特意设置了不创建底部的面的标志,我不知道为什么要这么做。一开始我还不知道有这个标记,于是等那个溃坝的模拟,一帧五分钟,等了五十帧,之后才开始做,这个时候才开始发现模型没有底面……用 Blender 渲染的话,为了做光线追踪,液体网格应该封闭才能达成正确的光线反射,现在这个不创建底面直接就没有那个正确的效果了。提供了自己创建求解器的模板,但是现在暂时应该用不到,现在想输出他的求解器的图像。项目的 CMakeList。原创 2024-01-30 14:58:16 · 465 阅读 · 0 评论 -
Fluid Engine Development PIC/FLIP 代码分析
把 Fluid Engine Development 看完了,但是仍然感觉不懂感觉还是应该了解整体代码怎么写的,所以做个总结看着看着,感觉还是从底层开始看起从底层重新开始看的时候,感觉就来了而且作者也有很多注释,感觉能够体会到别人的思路他这里也有很多内容,我选择从 PIC/FLIP 开始看起然后我选择它的 hybrid_liquid_sim 工程它的 main 文件就很容易找到了,在 src\examples\hybrid_liquid_sim\main.cpp。原创 2024-01-24 10:09:17 · 1031 阅读 · 0 评论 -
Fluid Engine Development Windows 编译出现 xmemory ‘_invalid_parameter‘: is not a member of ‘`global 解决方法
Windows 编译《Fluid Engine Development》配套的代码时出现了 ‘_invalid_parameter’: is not a member of ‘`global namespace’’ 类似的错误。在代码中找到 pybind11 的 common.h 去更改如下部分的代码。原创 2024-01-23 14:28:10 · 478 阅读 · 0 评论 -
计算机图形学流体模拟 blender 渲染脚本
做流体模拟的时候,想要复现别人的成果,但是别人的代码都是每帧输出 ply 格式的文件,渲染部分需要自己完成看了一下,似乎用 blender 是最简单的,于是记录一下过程中用到的代码Blender 版本 4.0。原创 2024-01-09 17:00:37 · 1259 阅读 · 0 评论