Fluids —— MicroSolvers DOP

目录

Gas SubStep —— 重复执行对应的子步

Switch Solver —— 切换解算器

Gas Attribute Swap —— 交换、复制或移动几何体属性

Gas Intermittent Solve —— 固定时间间隔计算子解算器

Gas External Forces —— 计算外部力并更新速度或速度场

Gas Particle Separate —— 通过调整相邻位置来分离粒子

Gas Match Field —— 构建指定场以匹配参考场的尺寸和精度

Gas Seed Volume —— 在新区域生成粒子

Gas Linear Combination —— 合并多个场或属性

Gas Resize Field —— 调整场的尺寸

Gas Synchronize Fields —— 同步场的变换

Gas Particle to SDF —— 将粒子转化为SDF场

Gas Particle to Field —— 复制粒子点属性到指定场

Gas Reinitialize SDF —— 保留零表面并重初始化SDF场

Gas Buid Collision Mask —— 根据碰撞对象构建碰撞场

Gas SDF to Fog  —— 将SDF场转化为Fog场

Gas Limit  —— 限制场的值

Gas Enforce Boundary —— 对场强制边界条件

Gas Project Non Divergent Variational —— 无散度投射(可变)

 Gas Project Non Divergent Adaptive —— 无散度投射(自适应)

Gas Viscosity —— 将粘性应用到速度场

Gas Adaptive Viscosity —— 将粘性应用到速度场(自适应)

Gas Feedback —— 计算并应用反馈力到碰撞体

Gas Extrapolate —— 沿SDF外推场的值

Gas Seed Markers —— 在surface边界周围生成标记粒子

Gas Seed Fluid Particles —— 创建、删除、或重生成粒子

Gas Integrator —— 将力应用于粒子

Gas Particle Move to Iso —— 将粒子移动到指定的SDF等值面上

Gas Limit Particles  —— 将粒子限制在box内

Gas Particle Count  —— 计算每体素的粒子数量

Gas Stick On Collision —— 在碰撞上粘连


Gas SubStep —— 重复执行对应的子步

        该节点为microsolver,用于构建更大流体解算;Fluid Solver/Smoke Solver DOP可在主solver前或后添加microsolver,以扩展或调整模拟;该节点将对输入的solver,从左到右依次执行,并重复执行子步;

  • 以Geometry判断要执行的子步数,如FLIP Solver;
    • 假定pscale=1、v={1,0,0},则一帧运动0.0417米,如0.0417 > CFL Condition,则就执行2个子步;
  • 以vel判断要执行的子步数,如Smoke Solver;
    • 假定voxel size=0.1、vel={1,0,0},则一帧运动0.0417米,0.417个体素,如0.417 > CFL Condition,则就执行2个子步;

Switch Solver —— 切换解算器

        此节点可让对象被多个解算器中的一个解算,由switch value数据确定;不像Blend Solver或Multiple Solver,仅使用一个子解算器;

  • 如使用merge合并多个子解算器,相对于直接连接多个子解算器;
  • 参数Value Enables All,为切换启用或禁用(类似Enable Solver DOP);

Gas Attribute Swap —— 交换、复制或移动几何体属性

        常用于复制属性,在执行一些破坏性操作之前;

Gas Intermittent Solve —— 固定时间间隔计算子解算器

        以规定时间间隔计算附加的子解算器,确保以不同的速率进行操作,或独立于子步的速率进行操作;

Gas External Forces —— 计算外部力并更新速度或速度场

        在速度场内,对每个点计算外部力,然后更新速度场;每个体素的mass被指定为1,以用于力计算;torque被忽略;在粒子系统内,对每个点计算外部力;

  • 更新Geometry的速度;
  • 更新vel场;

Gas Particle Separate —— 通过调整相邻位置来分离粒子

        当粒子靠的太近时,通常是使用力将其分开;不幸,如FLIP Solver正在移除divergence,力会被抵消;此节点通过直接调整粒子位置,使其分离;也确保没有能量被添加到系统;

Gas Match Field —— 构建指定场以匹配参考场的尺寸和精度

        此节点会创建、调整尺寸、重采样,以匹配参考场的精度和大小;对于创建中间结果,但又不想显式地附加;如想移除该中间场,可设置为0;

注,由于匹配导致尺寸或精度改变,则数据会重置为0;

Gas Seed Volume —— 在新区域生成粒子

        在新体积区域,创建flip粒子;可被用于填充新空间(当体积运动时形成的空间);可在较大流体区域模拟移动的小片;

Gas Linear Combination —— 合并多个场或属性

        使用简单的方式,以快速合并多个场或属性;

coef_1 * val_1 OP coef_2 * val_2 OP coef_3 * val_3 + constant* totalcoefficient

Gas Resize Field —— 调整场的尺寸

        调整场的边界框,使其最接近匹配size、center(保持相同的体素尺寸和体素对齐);可追踪移动的流体;

参考场设置的尺寸计算,在与源场计算;

Gas Synchronize Fields —— 同步场的变换

        此节点匹配参考场的sizecenter;仅与参考场具有相同的体素量,才可变换;

  • 精度、size 相同,直接匹配center、size;

  • 精度、size 不相同,匹配center、size后,精度不变、体素量已变化;

Gas Particle to SDF —— 将粒子转化为SDF场

        从粒子系统构建SDF场,粒子pscale属性用于描述半径球;

  • Bandwidth,体素倍数的距离,超过此距离的体素均为此值;
  • Use Max Speed,使用粒子的最大速度去扩展bandwidth,需v属性;有用于对快速运动的流体增加外推;

Gas Particle to Field —— 复制粒子点属性到指定场

        复制粒子的点属性到指定场,粒子需pscale属性;

Gas Reinitialize SDF —— 保留零表面并重初始化SDF场

        在各种操作下(如advection),SDF可能扭曲且不再表示到表面的实际距离;此节点会恢复SDF的“到表面距离”的特性,同时保留表面的零等容线;

Gas Buid Collision Mask —— 根据碰撞对象构建碰撞场

        可根据碰撞对象构建碰撞场,表示碰撞体与流体场重叠处;生成内负外正的有符号距离场;还生成碰撞速度场(存储碰撞体点的速度);

  • collision,重叠处的碰撞场(内正外负);
  • collisionvel,存储碰撞体最近点的速度;
  • collisionindex,最近碰撞对象的ID(表示离体素最近的碰撞对象);

Gas SDF to Fog  —— 将SDF场转化为Fog场

Sampling Method,如何计算在SDF内的体素百分比;

  • Supersampling,对每个体素进行多次采样,以设置内部百分比;
  • Voxel Face Area,仅适用face-sample,计算更精确的权重(基于face-edge);
  • Volume Fraction,使用构成体素的四面体体积估算,并以大约同super-sampling相同的成本,获得平滑准确的结果;

Gas Limit  —— 限制场的值

        限制(clamp)场值,可使用Field或Constant模式;

Gas Enforce Boundary —— 对场强制边界条件

有两种类型边界条件

  • 创建场时,侧边界;
  • 由碰撞体指定的碰撞边界;

Field,强制边界的场,默认Vel(Faces);

Collision Field(SDF),在其内部体素强制为collision value;

Collision Value,与Field类型一致,强制碰撞边界值,无则值为0;

Collision Index,碰撞对象ID,仅当勾选velocity enforcement才适用,用于局部速度计算;

  • 可由Gas Build Collision Mask创建;

Boundary Value,与Field类型一致,指定场的边界值,无则为默认值;

Velocity Enforcement,允许速度离开碰撞体非进入,避免被追踪的surface黏附在碰撞体上;

Velocity Type,rigid不考虑变形,point点数不变,volume以SDF计算变形;

Use Friction and Bounce,使用碰撞对象和流体本身physical的Friction 、Bounce影响对应场;需有碰撞索引场Collision Index;
Collision Weights,可由Gas SDF to Fog创建;

Gas Project Non Divergent Variational —— 无散度投射(可变)

        此节点会移除速度场的散度(表示扩展或收缩),通过计算压力场(pressure抵消任何压缩或稀薄作用),并立即应用该场;

        不同于Gas Project Non Divergent DOP,会考虑体素分量的覆盖,可更好地计算沿倾斜边界的速度场,避免出现阶梯效果;

流体力学中不可压缩条件为,速度场的散度为0;

注,常与POP Force DOP、Gas Turbulence DOP节点一起使用;Gas Advection依赖无散度场;

 Gas Project Non Divergent Adaptive —— 无散度投射(自适应)

        此节点会移除速度场的散度(表示扩展或收缩);散度被投射出速度场(通过计算流体的压力场,然后将压力场的梯度应用到速度场);压力场会在自适应(octree)背景网格解算,以显著提高性能(Gas Project Non Divergent Variational使用均匀统一的网格);

        为保持高精度细节,会沿流体边界构建精细的网格带,网格会逐渐向内变粗;为最小化自适应和均匀统一网格的压力解算差异,在更新速度场前,自适应压力会被上采样然后平滑回到均匀统一网格;

注,需开启Solve Pressure with Adaptivity参数;

Gas Viscosity —— 将粘性应用到速度场

        该节点会将粘性效果应用到速度场,粘性力可使流体附近的部分具有类似的速度;可被认为是局部阻力,流体的每部分都会被减慢到相邻流体的速度;

        对少量粘度,可简单的使用Gas Blur DOP节点(对速度场)来实现;

        此节点执行一个隐性的解算,类似Gas Project Non Divergent Variational节点,但大约三倍复杂,会相应地更慢;

注,为更准确的结果,速度场应已是无散度的(通常为应用Gas Project Non Divergent Variational的结果),然而由粘性解算的速度场可能不再是无散度的,所以粘性流体解算会在粘性解算前后都解算无散度;

Gas Adaptive Viscosity —— 将粘性应用到速度场(自适应)

        该节点会将粘性效果应用到速度场,粘性力可使流体附近的部分具有类似的速度;可被认为是局部阻力,流体的每部分都会被减慢到相邻流体的速度;

        粘性效果会在自适应(octree)背景网格解算,以显著提高性能(Gas Viscosity使用均匀统一的网格);

        对少量粘度,可简单的使用Gas Blur DOP节点(对速度场)来实现;

注,为更准确的结果,速度场应已是无散度的(通常为应用Gas Project Non Divergent Variational的结果),然而由粘性解算的速度场可能不再是无散度的,所以粘性流体解算会在粘性解算前后都解算无散度;

Gas Feedback —— 计算并应用反馈力到碰撞体

        使用压力场pressure(由无散度方程生成的),对碰撞体应用反馈力;影响会被添加到碰撞体的Feedback数据内;

Gas Extrapolate —— 沿SDF外推场的值

        场的值(在等值线)将沿surface场增加的方向复制;

        如Surface IndexGeometry被提供,将通过查找最近点(Surface Index指定的)并在该点位置对场插值,来执行外推;

注,最终的外推距离是在最大体素量和计算的速度值中取最大值;surface的bandwidth范围也影响外推;

Gas Seed Markers —— 在surface边界周围生成标记粒子

        该节点创建标记粒子,或surfels,沿SDF边界;用于修正流体,以帮助保留体积并维持边界的高细节;

        被创建的surfels,具有属性Cd(表示其在surfels的内部还是外部,内红外绿),还有属性pscale(到surface的距离,会钳制在0.1-0.5个体素尺寸之间);

Gas Seed Fluid Particles —— 创建、删除、或重生成粒子

        该节点是在指定体积内,创建、删除、或重删除粒子,为Fluid Slover量身设计的;

注,Geometry需要pscale属性;

Gas Integrator —— 将力应用于粒子

        将力应用于流体系统中的粒子,根据应用的力调整粒子的速度和位置;

Simulation Method,应用力到粒子时的解算模式;

  • Euler,first-order,最快有效模式;可能需要较小的子步才可保持稳定;
  • Midpoint,second-order,比Euler更慢但更稳定;
  • Runge-Kutta,fourth-order,比Euler/Midpoint更慢但更稳定;
  • Runge-Kutta-Fehlberg,fourth/fifth-order,能自适应决定合适的子步长度;必需和Gas Substep节点一起使用;
  • Runge-Kutta2(1),类似Runge-Kutta-Fehlberg模式,first/second-order,能自适应决定合适的子步长度;必需和Gas Substep节点一起使用;
  • Runge-Kutta3(2),类似Runge-Kutta-Fehlberg模式,second/third-order,能自适应决定合适的子步长度;必需和Gas Substep节点一起使用;
  • Leapfrog

Advection Method,更新粒子位置;

  • Standard,粒子位置被直接更新,使用当前粒子速度和步幅长度;
  • XSPH,更新粒子位置,使用速度(融合每粒子当前速度和其相邻粒子的平均速度);

Gas Particle Move to Iso —— 将粒子移动到指定的SDF等值面上

        将粒子移动到指定的SDF等值面上;可使用此方法,强制粒子移出表面;

Not Equal,不等于指定值的所有粒子;

Less,小于指定值的所有粒子;

Greater,大于指定值的所有粒子;

Gas Limit Particles  —— 将粒子限制在box内

        此节点会将点限制在给定的box内,box外的点也会调整其速度,以确保不会立即再次离开到界外;

Pos Behavior,如何对待超出边界的点;

  • None,不修正位置;
  • Clamp,将点位置钳制在边界;
  • Bounce,反弹点位置,如在外0.5就反弹为在内0.5;可保留逃逸粒子的运动,并避免所有粒子具有相同位置;
  • Wrap,右边外的0.1点,将移动到左边内的0.1的位置;

Vel Behavior,如何修正速度;
  • None,不修正速度;
  • Clamp,位于碰撞方向的速度分量,设置为0;
  • Bounce,位于碰撞方向的速度分量,设置为相反;

Gas Particle Count  —— 计算每体素的粒子数量

        在场的每体素内,计算粒子数量并存储其值在对应场;

Gas Stick On Collision —— 在碰撞上粘连

        此节点添加“sticky velocity”到流体素材vel上,以匹配碰撞速度(在碰撞体周围);此修改会使流体像粘连在碰撞体上;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/311787.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

D3121是什么?主要有哪些特点呢?为什么可以应用在车载音响系统上

D3121 是一块对地能动冲放大器集成电路,该电路能有效消除由线 路电阻所引起的问题及噪声。所需外围电容小,便于设计时小型化的同 时可靠性不降低。广泛应用于车载音响系统内。 D3121 系列采用 DIP8 、 SOP8 、 SIP8 的封装形式封装。 主要特点&#…

面试算法115:重建序列

题目 长度为n的数组org是数字1~n的一个排列,seqs是若干序列,请判断数组org是否为可以由seqs重建的唯一序列。重建的序列是指seqs所有序列的最短公共超序列,即seqs中的任意序列都是该序列的子序列。 例如,如果数组org为…

python绘制热力图-数据处理-VOC数据类别标签分布及数量统计(附代码)

前言 当你需要统计训练数据中每个类别标签有多少,并且想知道坐标中心分布在图像的位置信息时,你可以利用一下脚本进行计算! 步骤 要绘制热力图来分析VOC数据的分布统计,可以按照以下步骤进行: 数据处理&#xff1…

移动通信系统关键技术多址接入MIMO学习(8)

1.Multiple-antenna Techniques多天线技术MIMO,从SISO到SIMO到MISO到如今的MIMO; 2.SIMO单发多收,分为选择合并、增益合并;SIMO,基站通过两路路径将信号发送到终端,因为终端接收到的两路信号都是来自同一天…

计算机速成课Crash Course - 18. 操作系统

今天继续计算机速成课Crash Course的系列讲解。 更多技术文章,全网首发公众号 “摸鱼IT” 锁定 -上午11点 - ,感谢大家关注、转发、点赞! 计算机速成课Crash Course - 17. 集成电路&摩尔定律 18. 操作系统 1940,1950 年代的电脑&#…

rime中州韵小狼毫 词组注释 滤镜

在rime中州韵小狼毫 联想词组 滤镜一文中,我们通过Filter滤镜功能配置了联想词组的功能,这使得我们在输入一些关键词汇时,可以联想补充一些附加的词组,例如我输入“手机”,就可以联想补充对应的手机号,如下…

Kali Linux —— 漏洞分析工具

Cisco-torch与Global Exploiter专攻Cisco漏洞 一、Cisco 工具 Kali 有许多工具,比如信息收集工具、密码爆破工具等等,还有一些可用于攻击 Cisco 路由器的工具。Cisco-torch就是这样,用于大规模扫描、指纹识别和利用的工具之一。 打开终端控…

关于CAD导入**地球的一些问题讨论

先上示例: 上图是将北京王佐停车场的红线CAD图导入到图新地球效果,如果看官正是需要这样的效果,那么请你继续往下看,全是干货! 在地球中导入CAD图可以做为电子沙盘。对于工程人来说,是极有帮助的。以前一直用谷歌地球,大约在2020年左右,就被和谐了。当时感觉挺可惜的。…

[渗透测试学习] Surveillance -HackTheBox

文章目录 信息搜集getshell提权信息搜集 nmap扫描端口 nmap -sV -sC -v -p- --min-rate 1000 10.10.11.245扫出来两个端口,其中80端口有http服务并且重定向到surveillance.htb 那么我们添加下域名然后访问80端口,发现是企业网站尝试扫描子域名和目录无果后,用Wappalyzer插…

【STM32】HAL库的STOP低功耗模式UART串口唤醒BUG,第一个接收字节出错的问题(尚未解决,疑难杂症)

【STM32】HAL库的STOP低功耗模式UART串口唤醒BUG,第一个接收字节出错的问题(尚未解决,疑难杂症) 文章目录 BUG复现调试代码推测原因及改进方案尝试中断时钟供电外设唤醒方式校验码硬件问题 切换到STOP0模式尝试最终结论和猜想附录…

社区团购配送超市与小程序的共赢之路

对于社区服务来说,搭建一个小程序可以提供更加便捷、高效的服务,提升用户体验。下面我们将详细介绍如何通过乔拓云第三方平台搭建一个社区团购小程序。 首先,你需要打开乔拓云第三方平台,这是一个专门为小程序开发提供的平台。在浏…

戴尔服务器有8条内存条,开机有一条内存条自检提示出错,可以不用管他吗,有影响吗?

环境 戴尔R730 问题描述 戴尔服务器有8条内存条,开机有一条内存条自检提示出错,可以不用管他吗,有影响吗? 提示B1内存有问题 解决方案 不能,有影响,安装系统时卡住在启动节目无法正常安装,…

【PyQt5设计】:自动点击神器 - 解决重复性的点击和输入操作

文章目录 自动点击神器介绍测试窗口介绍自动点击神器的使用教程资源领取注意事项 自动点击神器介绍 本次使用PyQt5设计的【自动点击神器】旨在解决重复性的点击工作,解放双手,具有及时性和准确性,可选择坐标位置或图片两种方式实现鼠标的定位…

【Linux】Linux系统编程——Linux目录结构

Linux的文件系统呈现为一种树状结构,以根目录/为最顶层,其下分布着各种不同的子目录,每个目录都有其特定的用途和功能。下面是Linux目录结构的详细介绍: 1. 根目录 / 根目录是整个文件系统的基础。所有的目录和文件都从这里开始…

亚信安慧AntDB数据库容灾复制原理

AntDB数据库作为通信运营商领域的杰出的数据服务提供者,一直以来都十分重视数据安全问题,不断通过技术进步、方案创新等方式提升数据容灾能力。在信息化的时代,数据已经成为了重要的资源,对于企业来说,如何存储和管理这…

RK3399平台入门到精通系列讲解(驱动篇)eventpoll结构体详解

🚀返回总目录 文章目录 一、eventpoll 结构体二 、epitem 结构体三、eppoll_entry 结构体eventpoll 结构体:eventpoll 结构体是 epoll 在内核中的核心结构epitem 结构体:epitem 结构体用于表示 epoll 实例中的事件项eppoll_entry 结构体:它的作用就是关联Socket等待队列中…

动态规划day03

343. 整数拆分(第二次做还是没弄明白) 力扣题目链接(opens new window) 给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。 示例 1: 输入: 2输出: 1解释: 2 1 1, 1 1 1。 示例 2: 输入: …

植物大战僵尸-C语言搭建童年游戏(easyx)

游戏索引 游戏名称&#xff1a;植物大战僵尸 游戏介绍&#xff1a; 本游戏是在B站博主<程序员Rock>的视频指导下完成 想学的更详细的小伙伴可以移步到<程序员Rock>视频 语言项目&#xff1a;完整版植物大战僵尸&#xff01;可能是B站最好的植物大战僵尸教程了&…

【高等数学之不定积分】

一、什么是不定积分? 我们可以简单地从英文层面来基础剖析一下&#xff0c;什么是不定积分? 1.1、基本概念 小tips: 二、不定积分运算法则 三、常用积分公式 四、第一类换元积分法 4.1、定义 4.2、常用凑微分公式 4.3、小calculate 五、第二类换元积分法 5.1、定义 …

2024年云服务器配置推荐,看看哪家便宜?

作为多年站长使市面上大多数的云厂商的云服务器都使用过&#xff0c;很多特价云服务器都是新用户专享的&#xff0c;本文有老用户特价云服务器&#xff0c;阿腾云atengyun.com有多个网站、小程序等&#xff0c;国内头部云厂商阿里云、腾讯云、华为云、UCloud、京东云都有用过&a…