前言

之前使用RealFlow做流体模拟,但是总得和3ds导来导去,略显麻烦,特意学习PhoenixFD插件,直接在3ds中进行流体模拟。若读者有更好的流体模拟方法,欢迎在评论区交流。

原文地址:https://docs.chaosgroup.com/display/PHX3MAX/Liquid+Simulation


流体模拟

本文主要讲解Simulation折叠栏中的内容

主要内容

综述


The Simulation roll-out contains the main panel controlling the simulation process.Simulation折叠栏是控制流体模拟的主要面板。

It also displays some statistical info like simulation times and the content of the cache file for the current frame. 它同时显示了一些像仿真时间、缓存文件的内容等当前帧的统计数据。

The content may be grid channels such as Temperature, Velocity, etc., as well as particle groups.缓存的内容包括 网格通道像温度、速度等还有粒子组。

You can choose the channels from the Output rollout, while the particle groups may be created by the Fire Source | PHXSource, or Splash and Foam sections.你可以在Output折叠栏中选择网格通道,粒子组可以在Fire Source、Splash和Foam处创建。

Most simulations require long time to calculate and it's very convenient to let them run during the night.大多数模拟都要耗费很长时间,在晚上模拟是很方便的。

However, you still have to render the result in the morning and this also consumes a lot of time.然而你同样需要在早上进行渲染,也要很长时间。

The Phoenix FD scripting system allows you to execute any action at the end of the simulation, and that includes the rendering as well. 可以通过Phoenix FD的脚本来完成以上功能。

You just have to enable the scripting from the Simulation roll-out and open the script text.你只需要启用脚本并打开脚本文件即可。

For more information, see the Nightly Simulation and Rendering section on the Tips and Tricks page.更多详情可以参考Tips and Tricks页面。

UI 位置: ||Select Liquid Simulator | LiquidSim object  选中流体模拟物体|| > Modify panel > Simulation rollout

基本操作


Start, Pause, Stop, Resume | A_StartSim, A_StopSim – Start, pause, and stop the simulation. Once the simulation has been paused, the option to Resume(继续)becomes available.

Load & Start | A_StartSim – Loads the data from a single cache as an initial state for the simulation and starts simulating from the Start Frame the same way the Start action works. 加载缓存数据作为初始状态并开始仿真。

The cache can be of the .aur, .vdb, or .f3d formats and so can be imported from a 3rd party software into Phoenix. 规定缓存的文件格式。

The loaded grid will be resized to fit the grid's dimensions at the Start Frame.加载的网格将自动调整大小。

The loaded cache does not need to be a Backup frame or to contain velocity at all  加载的缓存不需要是备份帧或者包含速度

-the simulator will load any available channels from the cache file and the rest of the simulated channels will be empty as when starting a brand new simulation. -模拟器将从缓存文件加载任何可用的通道,其余的模拟通道将在启动全新的模拟时为空

If you wish to smoothly continue a simulated sequence from a given frame, please use the Restore command instead.如果希望从给定帧顺利地继续模拟序列,请使用还原命令。

Restore | A_StartSim – Continues a simulation from the currently viewed frame on the timeline.在当前时间线上继续仿真。

This way a Phoenix simulation that has been stopped previously can be resumed from the point you left off, even after the software was closed and re-opened.通过这种方式,以前停止的Phoenix模拟可以从您停止的地方恢复,即使在软件关闭和重新打开之后也是如此。

Restoring does not work for cache sequences imported from 3rd party software.对于从第三方软件导入的缓存序列,还原不起作用。

It is only possible when the full internal state of a Phoenix simulation is exported (controlled by the Backup Interval parameter in the Output rollout).

Frames with the full state are called Backup frames. 具有完整状态的帧称为备份帧。

When a Backup frame is currently viewed, the text "Can Restore From Here" appears in the Cache File Content list.当前查看备份框架时,“缓存文件内容”列表中将显示“可以从此处还原”文本。

The Restore command finds the latest Backup frame up to the current timeline frame and continues the simulation from there.

Preferences... – Opens up the Phoenix FD Global Preferences window. 打开凤凰FD全局首选项窗口。

? – Opens up the Phoenix documentation and information on the current rollout. 打开帮助文档

About – Opens a splash screen window for Phoenix with information on the version number and access to the log file.

Simulation Presets... | A_LoadRenderPreset – Displays a dropdown menu to either load or save .tpr or .slog files, which hold settings for this simulation. 将仿真的设置保存或打开之前预设的仿真参数。

参数


Start Frame | startframe – Explicitly sets the Start frame of the Simulation. This can also be a negative number. Only available when Timeline (Start Frame) is disabled.

Timeline | parmName - When enabled, the Simulation will run from the Timeline Start Frame.

Stop Frame | stopframe – Explicitly sets the End frame of the Simulation. This can also be a negative number. Only available when Timeline (Stop Frame) is disabled.

Timeline | parmName - When enabled, the Simulation will run to the end of the Timeline.

仿真的开始和结束帧,可以跟随时间线上的开始帧和结束帧。

Use Script | script, use_script – Enables the use of MAXScript during the simulation.使用Max的脚本

Click Edit... to open a window with some skeleton code and a short description of the available commands. 点击编辑会打开一个代码框架

For more information, please see the Phoenix MaxScript page详情可以参见Phoenix MaxScript页面

Threads Limit | maxthreads – Specifies an upper limit for the number of threads used for the simulation.指定最大线程数

When the value is set to 0, the maximum number of threads (cores) will be used.设置为0,将使用最大线程数。

NUMA Nodes – If the simulation is executed over a NUMA machine, you can specify which nodes will be used.如果在NUMA机器上执行模拟,您可以指定将使用哪些节点。

Phoenix FD is very sensitive to memory transfer and if all the nodes are used, performance might decrease due to low bandwidth between the different nodes.Phoenix FD对内存复制很敏感,多节点间的带宽可能限制仿真效率。

Note: NUMA stands for Non-Uniform Memory Access. It can be used to restrict the threads used for simulation based on the physical CPUs available on the system (in a multiprocessor systems). In this way better memory access can be achieved when multiple simulations are run on the same machine.

缓存内容


This area displays information on the current simulation.这块区域显示了当前仿真的信息。

Any data from available channels that have been loaded into the simulator are shown.加载到仿真器中各个通道的数据都被显示。

This includes the minimum and maximum ranges for each channel.包括每个通道值的范围。

Note that the Container Dimensions show the loaded cache size as seen in the scene, in the currently selected units.注意,容器维度显示了当前选择的单元中加载的缓存大小(如图所示)。

This size is not multiplied by the Scene Scale parameter from the Grid rollout.此大小不乘以网格展开中的场景缩放参数。

If you want to see how big the container is as seen by the Phoenix simulator when the Scene Scale parameter is used, check the XYinfo in the Grid rollout.如果您想查看在使用场景缩放参数时Phoenix模拟器显示的容器大小,请检查Grid rollout中的X、Y、Z信息。

PhoenixFD插件流体模拟——UI布局【Simulation】详解的更多相关文章

  1. PhoenixFD插件流体模拟——UI布局【Output】详解

    Liquid Output 流体输出  本文主要讲解Output折叠栏中的内容.原文地址:https://docs.chaosgroup.com/display/PHX3MAX/Liquid+Outp ...

  2. PhoenixFD插件流体模拟——UI布局【Rendering】详解

    Liquid Rendering 流体渲染  本文主要讲解Rendering折叠栏中的内容.原文地址:https://docs.chaosgroup.com/display/PHX3MAX/Liqui ...

  3. PhoenixFD插件流体模拟——UI布局【Splash | Mist】详解

    液体飞溅 | 水雾 本文主要讲解Splash | Mist折叠栏中的内容.原文地址:https://docs.chaosgroup.com/display/PHX3MAX/Liquid+Splash+ ...

  4. PhoenixFD插件流体模拟——UI布局【Foam】详解

    流体泡沫 本文主要讲解Foam折叠栏中的内容.原文地址:https://docs.chaosgroup.com/display/PHX3MAX/Liquid+Foam 主要内容 Overview 综述 ...

  5. PhoenixFD插件流体模拟——UI布局【Preview】详解

    Liquid Preview 流体预览  本文主要讲解Preview折叠栏中的内容.原文地址:https://docs.chaosgroup.com/display/PHX3MAX/Liquid+Pr ...

  6. PhoenixFD插件流体模拟——UI布局【Input】详解

    Liquid Input 流体输入 本文主要讲解Input折叠栏中的内容.原文地址:https://docs.chaosgroup.com/display/PHX3MAX/Liquid+Input 主 ...

  7. PhoenixFD插件流体模拟——UI布局【Dynamics】详解

    流体动力学 本文主要讲解Dynamics折叠栏中的内容.原文地址:https://docs.chaosgroup.com/display/PHX3MAX/Liquid+Dynamics 主要内容 Ov ...

  8. PhoenixFD插件流体模拟——UI布局【Gird】详解

    流体网格 本文主要讲解Grid折叠栏中的内容 主要内容 Overview 综述 Parameters 参数 General 普通参数 Example: Scene Scale Example: Gri ...

  9. PhoenixFD插件流体模拟——UI布局【Resimulation】详解

    Liquid Resimulation 流体再(重)渲染 本文主要讲解Resimulation折叠栏中的内容 主要内容 Overview 综述 Parameters 参数 综述 Liquid Resi ...

随机推荐

  1. 在vue中使用Echarts画曲线图(异步加载数据)

    现实的工作中, 数据不可能写死的,所有的数据都应该通过发送请求进行获取. 所以本项目的需求是请求服务器获得二维数组,并生成曲线图.曲线图的横纵坐标均从获得的数据中取得. Echarts官方文档: ht ...

  2. matplotlib.pyplot展示MNIST图片

    import torch import torch.utils.data as Data import torchvision import torchvision.transforms as tra ...

  3. java_免费视频课程汇总

    xml使用场景    各种配置文件    用于用户界面的开发    传输数据:ajax 这个可能过时,因为程序员更喜欢将xml用json来代替    web service:这些老式的web serv ...

  4. 2017第45周一java多线程创建方法

    1. 从JDK1.5开始,Java提供了3种方式来创建,启动多线程: Ø 继承Thread类来创建线程类,重写run()方法作为线程执行体. Ø 实现Runnable接口来创建线程类,重写run()方 ...

  5. Spring IOC(四)总结升华篇

    本系列目录 Spring IOC(一)概览 Spring IOC(二)容器初始化 Spring IOC(三)依赖注入 Spring IOC(四)总结升华 =============正文分割线===== ...

  6. c 链表和动态内存分配

    兜兜转转又用到了c.c的一些基本却忘记的差不多了(笑哭)!! 动态内存分配 当malloc完将返回的指针类型强制转换成想要的类型后,指针中存有该指针的数据结构,而分配的内存恰好可用于该数据结构. 链表 ...

  7. multiprocessing还是threading?

    今夜看了一篇分析python中多进程与多线程优劣的文章,文章通过几组性能测试强调了多进程的性能优势,同时也深入分析了为何python中多线程性能较差的原因,GIL就是解释器全局锁,该机制限制每个pyt ...

  8. 解决ubuntu16.04桌面左侧栏和顶部栏消失的问题

    重要事情说三遍! 不要轻易重装系统! 不要轻易重装系统! 不要轻易重装系统! 问题所在:误删了unity桌面. 解决方法: $sudo apt-get install unity

  9. Python NLP完整项目实战教程(1)

    一.前言 打算写一个系列的关于自然语言处理技术的文章<Python NLP完整项目实战>,本文算是系列文章的起始篇,为了能够有效集合实际应用场景,避免为了学习而学习,考虑结合一个具体的项目 ...

  10. Python循环语句之break与continue的用法

    摘自原文章: http://www.jb51.net/article/73383.htm Python break 语句Python break语句,就像在C语言中,打破了最小封闭for或while循 ...