RealFlow Hybrido 白皮书中文版

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

HYBRIDO---白皮书

目录

1.介绍 (3)

2.破船残骸:一个学习案例 (7)

2.01 设置网格域 (7)

2.0.2设置网格发射器 (8)

2.0.3 设置力(动力学场) (9)

2.04运行模拟 (10)

2.0.5配置曲面 (10)

2.0.6添加网格mesh (11)

2.0.7增加次级元素飞溅 (11)

2.0.8增加次级元素:润湿发射器 (13)

2.09增加次级元素:薄雾 (13)

2.10 增加次级元素,泡沫 (14)

2.10增加次级元素,水线 (15)

2.12改善模拟次数:IDOC概念 (15)

2.13渲染 (17)

3 总结 (18)

译者序

了解HYBRIDO模型的工作原理,在译者看来很有必要。虽然是2012版本的,但大部分工作模式是相同的,对于学习RealFlow有莫大帮助,译者在阅读后收益良多,因此将该篇短书翻译为中文,希望对RealFlow的热爱者有所帮助。

另因水平有限,译文有不正之处,希望大家批评指正,某度真的越来越不要脸了。

RealFlow爱好者

2016.3.19

1.介绍

HYBRIDO 是realflow5中第一次引入的流体技术名称;它指HYBrid大尺寸流体解算器。从realflow5发行以来这项技术已做重大修正和提升,所有那些工作已被编辑并提给用户。

这份文档是写给那些想了解HYBRIDO到底是怎么回事的读者--也写给那些知道HYBRIDO但想找出其在realflow2012中的新功能的用户。

在5版本以前,用realflow模拟中大尺寸的真实流体是比较困难的。主要问题是realflow使用基于粒子的方法解算流体方程式。这种方法易于获得有细节的飞溅,但是对于模拟核心中不需要细节的流体,你仍需使用大量粒子。这样虽然可以,但却使用了大量的模拟时间。

有效处理这种核心的液体模拟,最好的途径是使用基于网格的算法。在模拟将要发生的空间中建立网格,流体方程式被离散化,并在网格点上解算。但是这种方法不能有效的获得飞溅所需的优质细节--模拟优质细节的流体将需要一个超高分辨率的网格。

有一些方法和技术能够分别缓和基于粒子和基于网格的问题,但我们认为,解决这种局限最好的方式是使用hybrido模型,基于网格方法用作解算该种核心流体,而基于粒子的方法用作解算细节。

HYBRIDO是一个创新技术,整合了基于网格和基于粒子的方法,用来处理模拟中大尺寸场景的复杂工作,其它现象(也被称作次级元素)是类似的大尺寸流体,如泡沫,薄雾,很好的表面细节(置换)也被添加到这项技术中。

例如,下图中看到的截图就是HYBRIDO创建的典型模拟。所有的模拟数据都是用新版realflow中RenderKit工具MaxwellRender渲染的。

图--使用HYBRIDO创建的模拟

※网格域:模拟发生的空间。示例,计算的网格。

图--网格域

在一个场景中你可以有无数个网格域,但是它们之间不交互。

※网格发射器:发射器源。发射器必需附加到一个物体,这个物体定义液体创建的体积。在失船残赅场景中有两个发射器--一个用作主要水体,一个用作波浪。

图--网格发射器

※网格飞溅:当基于网格流体的一个下层分解区被侦测到时飞溅将自动生成。飞溅节点与基于粒子的发射器类似,因此你能使用所有realflow提供的基于粒子的方法。例如,你可以附加一个力给飞溅,你能更改飞溅粒子行为到弹性粒子,这些并无限制。

图--网格飞溅

表述飞溅节点的是一个简单的立方盒。这个立方盒限定了飞溅将要生成的体积,例如,只有在该立方盒内的下层分解区才会产生飞溅。飞溅粒子离开立方盒时并不会移除;当它们通过基于网格的液体的表面时才会移除,同时进入“空气”。注意飞溅粒子并不会增加基于网格流体的质量,这很重要。示例中基于网格的流体和基于粒子的流体间并没有什么联结。因此并不会生成泡沫。

※网格润湿:这是realflow2012中的新发射器。飞溅粒子将会在对象的湿润区创建并与主体水域交互。粒子一经创建它们的行为类似飞溅粒子。

※网格泡沫:基于贴图和/或基于粒子的泡沫。当飞溅粒子从“空气”进入基于网格流体的表面时,将生成泡沫。基于贴图的方法中一张灰度图指代泡沫;基于粒子方法中粒子指代泡沫。当使用基于粒子的方法生成泡沫时,你拥有和传统基于粒子的发射器一样的灵活性,因此泡沫粒子的模拟犹如基于粒子的模拟。

图--基于粒子的泡沫

※网格水线:这是realflow中的一个新粒子发射器。泡沫粒子将会在与主体水域交互的对象的周围创建。粒子一经创建它们的行为类似飞溅粒子。

※网格薄雾:薄雾是飞溅粒子破碎后形成的白色云雾状小液滴,飞溅粒子被追踪用于侦测何时破碎进程将要发生。当破碎条件具备后,蒲雾在那个点生成同时飞溅粒子失去的质量被转移到薄雾区。一但飞溅粒子低于一个阈值它将从模拟中移除。

※网格mesh【译者注:原文Grid mesh】:这个节点使用一个多边形网格指代基于网格液体的曲面。通常,你主要的观注将是,置换生成到添加网格曲面细节。

图--网格mesh和置换

2.破船残骸:一个学习案例

2.01 设置网格域

我们开始导入几何体场景到reallow中,然后在模拟发生的区域创建网格域。在这个场景中我们使用代理几何体用以避免太多数量的多边形模型。高数量的多边形模型使模拟变得更为缓慢,因此无论何时一个低数模型都受偏爱。几何体处于场景中时我们创建一个“网格域”节点,然后变换域使其包围我们模拟的关注区。

图--一个网格域和流体参数

现在我们不管网格域的默认参数。这将允许我们非常快速的模拟,以此快速检查设置是否创建正确。注意上图中的参数并非默认值--而是最终模拟值。

最重要的参数是“分辨率”。这是网格将会具有的单元近似数基础。拥有很多单元将会创建更精确的模拟,但会需要更长的模拟时间。“粒子采样”是另一个重要参数。增加这个值将会在你的模拟中引入更多粒子,因此你将获得更好的液体表现;液体的动力学也在改变,因为粒子被用于追踪液体的自由面【译者注:充液系统中液体与气体的接触边界面称为液体的自由面,属流体动力学范畴】。引入更多粒子比增加分辨率计算代价小,根据你的需求创建平衡。

另一个重要参数是“可压缩性”。这个参数数主要对液体反弹的趋势起作用。0值代表当前液体已不可被压缩,因此你可以除去一些反弹效果;但进行这种计算将会花费较长时间。我们的模拟中液体不进行反弹,因此该值我们设为0.25.

给液体表面增加细节,你可以创建置换,这些参数与RealWave中统计波谱波变型器参数类似。想要转换可视化你需要一个曲面和一个“网格mesh”节点。

2.0.2设置网格发射器

我们创建一个主体水,和一个分开的发射器用于产生波浪,波浪朝前冲击船赅和海岸。这些可由多种方法建立;例如,你可以公创建主体水,然后创建一个平面用于晃动器、并用正弦函数给平面做动画。在另一个方法中我们取得了更好的结果;通过给初始速度做动画创建第二个处于“流”模式的发射器。一个0.8的“跳动”值使粒子的初始位置乱序,避免流体模式化。

相关文档
最新文档