Pyro —— Understanding how pyro works

14 篇文章 0 订阅
本文详细介绍了Pyro中的核心模拟领域,包括PyroSolver处理的场(如vel、density、temperature、flame等),其内部运作步骤如温度扩散、冷却、动力学驱动和压力投影。还讨论了如何添加碰撞体以实现交互,并强调了压力投影在流体模拟中的重要性。
摘要由CSDN通过智能技术生成

目录

Simulation fields

Inside the Pyro Solver

Colliders

Pressure projection


Simulation fields

        Pyro是纯体积流体解算器,表示流体状态的数据存于各种标量场和矢量场;Smoke Object会创建这些场,且能可视化这些场;

  • vel场,表示瞬时速度,管理smoke运动;
  • density场,表示烟尘的数量,高密度会更浓;
  • temperature场,表示热量的分布,更热气体会由于浮力上升(背后的物理意义是由Ambient Temp (K)和Reference Temp (K)参数控制);
  • flame场,存储反应物的剩余寿命;
  • divergence场,表示膨胀和收缩;
  • pressure场,包含流体内部压力的辅助标量场;
  • collisioncollisionvel场,表示碰撞体及其速度;
  • active场,表示激活区域(sparse模式时);

Inside the Pyro Solver

Pyro Solver解算上述场,每子步,执行以下步骤:

  • temperature,被扩散(Diffusion)和冷却(cooling);扩散表示热量从高向低传递,冷却表示热量的损失;
  • density、temperature、flame、vel,被驱动,即将运动应用到所有对应的场;
  • flame,老化及生成输出,是反应物的剩余寿命,模拟它们的反应;
  • density,被消散,随时间降低烟雾密度,逐渐消失;
  • Sourcing,被执行,添加新的发射源(如density、temperature);
  • 重置流体款容器,sparse默认时,还会计算active区域;
  • 应用力到vel场(如gravity、wind等);
  • 应用浮力buoyancy,由于温度改变vel场;
  • 应用粘性viscosity于vel场;
  • 应用塑形shape操作,影响运动和外形,包括disturbance、shredding、turbulence;
  • 应用自定义力(解算器的第四个端口);
  • Pressure projection被执行,关键步骤,确保子步结束时与目标divergence一致;

Colliders

        烟雾可与其他对象交互(通过将其添加为碰撞体),最简单的方法是Static Object或Deforming Object;另一种方法是,手动引入collision、collisionvel(Populate Containers->Collide with Objects),可更好的控制碰撞速度;

        此两种添加碰撞体的方法,仅在构建collision、collisionvel方式不同;IOP Iterations参数默认为1,如碰撞体过快或烟雾穿过碰撞体,增加此值;

Pressure projection

        是流体模拟中的关键阶段,负责结合流体与碰撞体,对不可压缩产生涡流,及对爆炸的突然快速膨胀;使用Gas Project Non-Divergent Multigrid DOP节点去执行;

        执行pressure projection会考虑divergence场,如没有添加divergence场(divergence为0),流体将是不可压缩或无散度;使速度场无速度,如下:

 

        直观地说,正divergence场区域为膨胀,反之为压缩;

        查看工具架工具Sparse Fireball,有两种方式添加divergence,一种是直接发射源添加,二种是通过flame场贡献divergence;

  • 15
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值