Fluides

L'interface de fluides permet de simuler les propriétés physiques de liquides tels que l'eau, l'huile, le miel ou la lave, mais aussi de reproduire des effets de gravité, des collisions avec des objets et des perturbations à l'aide de champs de mouvement.

Concepts de base

Les simulations de fluides sont créées à partir des composants suivants :

Optimisation des performances

Lorsque vous travaillez sur une simulation de fluide, l'objectif est de créer un résultat visuellement agréable aussi rapidement que possible. Pour ce faire, il est important de comprendre les options disponibles pour équilibrer les détails et la précision avec la mémoire et le temps de calcul.

Le principal paramètre permettant de contrôler les détails de simulation est l’option Taille du voxel de base dans le groupe Propriétés du solveur du groupe de fonctions Paramètres du solveur. Ce paramètre a également une incidence considérable sur la précision. En règle générale, utilisez une valeur élevée pour obtenir un aperçu rapide et moins détaillé de votre travail, et une valeur basse pour obtenir une simulation plus détaillée lorsque vous êtes satisfait de l'effet.

Quelle que soit la taille du voxel de base, les attributs Pas de transport et Pas de temps dans le groupe Paramètres de simulation du groupe de fonctions Paramètres du solveur permettent d’augmenter la précision d’une simulation. Toutefois, cela nécessite davantage de calculs et prend plus de temps. Pour en savoir plus, reportez-vous à la section Paramètres de l'adaptativité ci-dessous.

L’obtention d’une bonne combinaison des paramètres de taille du voxel de base et d’adaptativité dépend de la vitesse des particules par rapport à l’échelle de la scène modélisée. Par exemple, si la vitesse des particules est tellement élevée qu'elles se déplacent d'un côté d'un objet en collision à l'autre dans un seul pas de temps, aucune collision n'aura l'air d'avoir eu lieu. En outre, si les particules traversent un objet en collision trop profondément, elles peuvent atteindre le mauvais côté, comme s'il y avait une fuite. Pour résoudre ces problèmes, vous pouvez examiner les vitesses des particules en définissant un dégradé de couleur pour le canal de vélocité dans le groupe de fonctions Paramètres d'affichage.

Lorsque vous travaillez à très petite échelle, par exemple lors de la simulation d'une seule goutte d'eau, vous devrez peut-être augmenter le nombre d'images de la scène en raison des vélocités très élevées par rapport aux petites distances et aux courtes durées.

Paramètres de l'adaptativité

Utilisez les paramètres d'adaptativité du groupe de fonctions Paramètres de simulation de la fenêtre Vue de la simulation pour ajuster automatiquement la résolution et fournir plus de détails quant au moment et à l'emplacement requis sans perdre de la mémoire et du temps de calcul. Il existe quatre jeux d'options disponibles pour contrôler ces points :

Adaptativité spatiale

L'option Adaptativité spatiale permet de créer des voxels de basse résolution au centre du fluide, là où les détails sont moins nécessaires. La résolution maximale définie par la taille du voxel de base est conservée dans les zones à mouvement rapide, le long des limites avec des objets de collision et le long de la surface libre (limite avec l’air).

Cette option est activée pour la plupart des simulations.

Supprimer le dépassement de particules

L'option Supprimer le dépassement de particules supprime des particules lorsque le nombre par voxel dans les zones à faible résolution dépasse un seuil. Désactivez cette option en cas de perte de volume ou de différences importantes entre les simulations spatialement adaptatives et non adaptatives.

Pas de temps et pas de transport

Les options Pas de transport et Pas de temps du groupe de fonctions Paramètres de simulation contrôlent le nombre de fois que les calculs sont effectués pour chaque image. Un grand nombre d'itérations est synonyme d'une grande précision, mais demande aussi plus de temps pour le calcul. Essayez d'ajuster ces paramètres si vous rencontrez des problèmes, par exemple une perte de volume, un regroupement de particules, des rafales spontanées et des fissures dans des objets en collision.

  • L'option Pas de transport contrôle le nombre d'itérations utilisées pour l'advection des particules le long du champ de vélocité voxel, une fois les calculs de pression effectués. Si vous rencontrez des problèmes tels que des particules traversant des objets en collision statiques, commencez par ajuster ces paramètres pour essayer de résoudre le problème sans augmenter le temps de calcul de manière considérable. Cependant, étant donné que la pression n'est pas recalculée et que les objets en collision et autres solides ne sont pas revoxelisés à chaque itération, les pas de transport ne seront probablement pas d'une grande aide pour les objets en collision se déplaçant rapidement et pour d'autres cas plus compliqués.
  • L'option Pas de temps contrôle le nombre d'itérations de l'intégralité de la simulation par image, y compris les phases de voxelisation, de pression et de transport. Ces paramètres peuvent augmenter considérablement la précision, en particulier à haute vitesse, mais peuvent également entraîner des temps de calcul nettement plus longs.

Ces deux commandes fonctionnent ensemble, avec les pas de transport qui contrôlent le nombre d'itérations de la phase de transport dans chaque pas de temps. En d'autres termes, chaque image peut contenir plusieurs pas de temps en fonction des paramètres Pas de temps, et chaque pas de temps peut contenir plusieurs pas de transport en fonction des paramètres Pas de transport.

L'Adaptativité détermine si des sous-pas sont déclenchés. Le nombre d'itérations effectué par image peut varier en fonction de la distance à parcourir et de la vitesse des particules dans cette image. Les valeurs sont sur une échelle non linéaire :
  • A 0.0, les particules peuvent se déplacer sur une distance illimitée sans déclencher de sous-pas supplémentaires.
  • A 0.1, les particules peuvent se déplacer jusqu'à 10 longueurs de voxel avant de déclencher des sous-pas supplémentaires.
  • A 0.32, les particules peuvent se déplacer d'environ 5 longueurs de voxel avant de déclencher des sous-pas supplémentaires.
  • A 0.5, les particules peuvent se déplacer jusqu'à 1.0 longueur de voxel avant de déclencher des sous-pas supplémentaires.
  • A 0.75, les particules peuvent se déplacer à environ 0,5 longueur de voxel de déclencher des sous-pas supplémentaires.
  • A 1.0, les particules peuvent se déplacer jusqu'à 0.001 longueur de voxel avant de déclencher des sous-pas supplémentaires.
Les itérations Pas de transport/temps min. sont toujours effectuées par image. Cela signifie que vous pouvez forcer un certain nombre de sous-pas, même si les particules ne se déplacent pas très rapidement. Toutefois, il est généralement préférable de définir l'adaptativité pour éviter de calcul inutiles.
Remarque : Une seule itération est effectuée sur la première image de la simulation.

L'option Nbre max. de pas définit le nombre total d'itérations jamais effectuées par image, fournissant ainsi une limite au nombre de calculs effectués. Toutefois, les particules se déplacent toujours sur la distance requise en fonction de leur vélocité et de la longueur de l'image. Cela signifie que les particules peuvent ne pas toujours respecter la limite définie par l'adaptativité. Par exemple, si l'adaptativité est définie sur 0.5, mais pas que la valeur de Nbre max. de pas est très faible, les particules peuvent alors ne pas être en mesure de couvrir toute la distance des pas de 1 longueur de voxel. Dans ce cas, chaque pas est plus long de 1 longueur de voxel afin de parcourir l'intégralité de la distance.

L'option Echelle de temps est un paramètre disponible uniquement pour les pas de transport qui modifie la vitesse du flux de particules. Les valeurs supérieures à 1.0 accélèrent le flux sans introduire de nouvelles vélocités ou accélérations, tandis que des valeurs comprises entre 0.0 et 1.0 le ralentissent. Le résultat ne sera peut-être pas physiquement correct, mais peut être utile si vous souhaitez simplement rapidement resynchroniser une simulation. Soyez toutefois vigilant car cette opération peut entraîner des effets secondaires indésirables, notamment avec des valeurs extrêmes.

Considérations d'échelle

L'échelle est très importante dans les simulations de fluide, car elles affectent directement la crédibilité du résultat final. Par exemple, les modèles physiques réduits des lacs et des mares utilisés dans les anciens films ne sont jamais satisfaisants. Cela est dû au fait que, dans la réalité, une onde d'un mètre dans un plan d'eau est différente d'une onde d'un centimètre. C'est pourquoi il est important d'accorder suffisamment d'importance à vos unités afin d'obtenir des résultats optimaux tout en utilisant une quantité de mémoire et un temps de calcul raisonnables.

Il existe trois paramètres importants à prendre en compte lors de la création d'une simulation :

La taille du voxel permet de déterminer la précision de la simulation. Plus la valeur est petite en centimètres, plus la résolution est précise, au détriment de la mémoire et des ressources. Une valeur plus élevée est moins précise : il est possible que les particules générées ne soient pas visibles, que des particules flottent au-dessus des surfaces de collision ou qu'elles ne traversent pas les trous. La taille du voxel permet de transférer tous les maillages d'une simulation, afin de définir la précision de maillage et la taille minimale des particules.
Avertissement : Les voxels très petite taille peuvent consommer beaucoup de mémoire et rendre le système instable.

La configuration des unités maximales est importante, car c'est ce qui permet de déterminer le comportement des fluides et la quantité de mémoire utilisée. Lorsque vous manipulez des fluides, vous devez tenir compte des cotes réelles de la scène. Par conséquent, n'utilisez jamais d'unités génériques. Dans l'idéal, vous devez définir l'échelle des unités d'affichage en mètres afin d'avoir une idée de la taille de la scène dans le monde réel. Les fluides max. permettent également de prendre en compte des unités personnalisées, mais vous devez être prudent lorsque vous modifiez les unités par défaut. Dans l'idéal, il est préférable de conserver un mètre-ruban à disposition de sorte à pouvoir prendre des mesures et voir la taille réelle de vos objets. Les unités ont également une incidence sur l'apparence de votre scène, étant donné qu'une onde de 15 cm onde sera différente d'une onde de 15 mètres. Vous ne devez avoir recours au remplacement personnalisé des unités des solveurs de liquide que lorsque vous êtes artificiellement contraint par vos unités, par exemple un moteur de jeu, ou que vous avez besoin d'un effet spécial, tel que le rendu réaliste de l'eau à l'échelle d'une maison de poupée.

La taille de la scène correspond à la taille de votre scène avec des dimensions réelles, en fonction de la configuration des unités. La taille de votre scène a un impact direct sur la façon dont vous définissez la taille de votre voxel. Par exemple, si les limites de votre scène liquide sont de 10 km par 10 km, et que vous définissez la taille de votre voxel sur 0,05 cm, vous n'obtiendrez aucune résolution car la mémoire requise est trop importante. Dans l'idéal, commencez par une très grande taille de voxel et réduisez-la jusqu'à ce que vous obteniez des résultats raisonnables avec une utilisation de mémoire raisonnable. Par ailleurs, plus la grille de voxels est dense, plus le calcul de la simulation prend du temps.

Les options de pas et de temps de transport déterminent également la qualité de la simulation, mais ont davantage d'impact sur la vitesse de déplacement des particules que sur la qualité globale.

Remarque : N'utilisez jamais l'outil Mettre à l'échelle dans l'objet Liquide ou le champ de mouvement, étant donné que cela fausse les calculs.

Utilisation des petites échelles

Lors de simulations à petites échelles, il y a d'autres points à prendre en considération en raison des vitesses élevées par rapport aux petites distances et tailles de voxel impliquées. Plus particulièrement, vous devrez peut-être augmenter les paramètres de pas de temps et de pas de transport afin d'obtenir un résultat satisfaisant. Dans certains cas, il peut également être nécessaire d'augmenter le nombre d'images de la scène pour simuler une caméra à grande vitesse.

A très petites échelles, par exemple lors de la simulation d'une seule goutte d'eau, vous pouvez devoir effectuer des ajustements supplémentaires. Par exemple, la tension de surface ne permet pas toujours de donner des résultats précis, même avec des pas de temps, il peut donc être plus efficace d'utiliser des valeurs précises non physiques afin de produire un résultat réaliste. Dans certaines instances, il peut être utile de réduire la gravité de la magnitude.

Vous pouvez également désactiver certains paramètres, tels que la vorticité et gouttelettes, pour éviter d'effectuer des calculs qui n'ont aucun effet sur ces échelles.

Maillages

Le maillage est une autre représentation du résultat. En plus d'être rendu, il peut être exporté en tant qu'élément Alembic ou un autre cache à utiliser dans une autre scène ou un autre logiciel. Il ne contient aucun polygone, sauf si vous activez le maillage sur la forme.