Skip to main content

Pyro Solver

Introduction:

Le pyro est responsable de toute votre simulation, des forces qui peuvent etre ajoutees, la resolution etc...

Il est compose de differents onglets:

image.png

Setup:

Contient les differents parametres de la simulation globale. Voici une explication des parametres principaux et de ce qu'ils font.

  • Voxel Size: definit la resolution de la simulation. Plus la valeur est petite, plus la resolution est grande.

Si l'on passe par exemple la resolution de 0.04 a 0.02, la quantite de voxel a ete multiplie par 8 (2x2x2). Il faut donc etre extremement prudent avec ce parametre.

  • Time Scale: Definit la vitesse de la simulation. Une valeur de 1, par default, siginifie que la simulation est a la vitesse normale, c'est-a-dire 24fps la plupart du temps. En dessous de 1, la simulation aura un aspect slow-mo et au-dessus de 1, la simulation aura plutot l'air accelere.
  • Global Substeps: Indique le nombre de substeps mais pour le dopnet en entier. Cela signifie que tous les colliders, autres objets de la sim auront aussi des substeps.
  • Min/Max substeps: Definit le nombre de substeps mais uniquement au niveau du solver. Contrairement au parametre "Global Substep", les autres objets de la simulation ne seront pas affectes.
  • Cache Memory: Definit la quantite de la ram qui peut etre utilise pour le cache pour visualiser la sim. Si l'ordinateur est assez puissant, cela peut etre augmmente afin d'avoir des playblasts/preview plus facilement.

Bounds:

image.png

Cet onglet sert a definir les limites de votre simulation. Par exemple, il est possible de limiter la taille de la simulation pour raison d'optimisation en activant la case "Limit Maximum Size".

Un autre parametre important est le resizing.

Le resizing correspond a la quantite que peut grossir votre simulation d'une frame a l'autre. Par exemple, pour une explosion avec beaucoup d'expansion, on va bouloir augmenter le padding pour eviter que la simulation soit "coupee". Il est aussi possible d'utiliser la velocite pour gerer ce parametre en activant l'expand by Velocity.

Collision:

image.png

Cet ongle gere tous les parametres pour les collisions de la sim.

  • Collision TypeCollision Geometry ou SDF + Volume Velocity. Si le collision type est Geometry, la conversion sera directement faite a l'interieur du network. Je recommande le deuxieme type, ou l'on cree nous-meme la collision. En effet, on peut alors en faire un cache afin d'alleger la simulation en retirant une etape.
  • Ground Planes: Pour de simples RnD, il est possible aussi d'utiliser le ground plane soit en X, Y ou Z. On aura alors differentes  options, tel que:
    • Open: La simulation n'aura pas de collision avec cet axe donc cela va n'avoir aucun effet.
    • Closed Below: la simulation va collider avec la valeur indique a droite. Dans ce mode, toutes les valeurs inferieures seront off-limit donc ignorees.
    • Closed Above: Comme precedement, mais les valeurs au-dessus du chiffre indiquee a droite seront off-limites donc ignores.
  • HeightField: Il est possible d'utiliser aussi ce que l'on appelle un "heighfield", c'est a dire un terrain en tant que collider.


Sourcing

image.png

Dans cet onglet, on vient ajouter les fields necessaires a la simulation. Les Volumes importants sont:

  • density: definit la quantite de smoke, la plupart du temps on va le mettre en mode add, c'est-a-dire que la fumee va s'accumuler.
  • temperature: comme indique dans le nom, definit la temperature. Le mode va etre la plupart du temps en pull. C'est a dire que l'on vient prendre les valeurs de notre volume en source pour ensuite les pousser vers le vield en destination. Cela est controle par l'acceleration strength (a quel vitesse les valeurs vont etre envoyes dans le nouveau field).
  • velocity: definit la vitesse/direction initiale de la simulation. C'est le seul vector field, on le laisse la plupart du temps en default, c'est-a-dire en mode add.
  • burn: definit la zone ou le fuel est. Par example, cela peut correspondre a l'essence qui est en train de bruler, etc... On le met en mode maximum la plupart. Aussi, contrairement aux autres fields ou le Source Volume et le Target Volume correspondent, celui-ci doit aller burn -> Flame.
  • divergence: correspond a l'expansion de la simulation. Pour une explosion, il peut etre utile d'en rajouter afin d'etre sur que l'on ait cette idee d'expansion de l'explosion.
 
Fields

image.png

Contient tous les parametres a propos de l'evolution et du comportement des fields dans la simulation.

  • Field Guides: Utiliser pour visualiser les differents guides de la simulation, que ce soit la pression, temperature, densite, etc... Cette option est tres utile afin de pouvoir debugger et ajuster les valeurs des differentes options en-dessous.
  • Density: Controle les differents parametres de la densite.
    • Dissipation: definit a quel vitesse la densite va disparaitre. Plus la valeur va etre eleve, plus la densite va rester longtemps. Par exemple, pour un feu de camp, peu de densite existe donc la dissipation sera elevee. Au contraire, un feu avec des barils d'essence, par exemple, aura une fumee dense qui va reste longtemps en l'air.
    • Emit From Flame: activer cet option afin que de la densite soit emise des flammes. Utile dans les explosions ou les feux bien denses.
  • Temperature: Controle les parametres de la temperature
    • Diffusion: Definit un facteur de "blur" au niveau du temperature field, evite d'avoir un temperature field trop sharp.
    • Cooling Rate: Comme la densite, definit la vitesse a laquelle la temperature disparait de la simulation. Plus la valeur est haute, plus la temperature diminue rapidement.
  • Flame: Controle les parametres de la flame. Le flame lifespan definit la duree de vie de la flamme. Cela correspond a la vitesse a laquelle le combustible est utilise dans la simulation. Par example, si l'on a une flame de 1 au debut de la simulation et un flame lifespan de 2, cela mettre donc 2s afin d'utiliser tout le flame field.
  • Color: Il est aussi possible d'ajouter un Color field, afin d'eviter d'avoir une couleur uniforme. 
    • dissipation: vitesse a laquelle la couleur "disparait".
    • Blur: applique un blur aux niveaux des couleurs, creant un effet de blending au niveau des smokes
    • Sharpening: empeche le mix de couleur. Cela correspond donc a l'inverse de l'option precedente.