Simulation d’écoulement de fluide à l’aide de l’équation d’Euler

igntec

Simulation d’écoulement de fluide à l’aide de l’équation d’Euler


Je regarde les équations d’Euler depuis un moment et je ne peux pas saisir une chose.

Supposons que nous ayons un état initial du système avec des volumes de fluide « suspendus » dans l’air (le temps est figé et égal à zéro), chacun d’eux a ses coordonnées initiales (x, y) et son vecteur vitesse (Vx, Vy). L’espace est divisé en volumes stationnaires dans lesquels la mesure a lieu (modèle de mesure d’Euler). Représentation bidimensionnelle de l'espace segmenté et restrictions

Si je comprends bien, les équations d’Euler imposent des restrictions mutuelles entre les fonctions de vitesse (u (x, y, t)), de densité de masse (m (x, y, t)) et de pression (p (x, y, t)) à tout instance de temps pour un volume d’espace stationnaire avec des coordonnées (x, y) qui contient un volume de fluide (dans ce cas).

Alors pourquoi chaque fonction a un paramètre de temps alors que les équations doivent être résolues pour n’importe quelle instance de temps (processus d’itération)? Nous devons avoir un nouvel ensemble de ces fonctions pour tout moment qui satisfasse les équations. Et il n’est pas clair si le volume d’espace contient du volume de fluide ou non, comment prenons-nous cela en considération?

Et la deuxième question est de savoir comment l’état de chaque volume de fluide (ses coordonnées et son vecteur vitesse) est lié à ces fonctions? J’ai besoin d’un système qui a un état initial (tableau de volumes de fluide avec leurs coordonnées et vitesses) et utilise les équations d’Euler pour calculer l’état suivant, qui devient initial pour la prochaine itération et ainsi de suite. Quelque chose comme ça: schème

Je n’ai pas besoin de détails mathématiques, je veux juste saisir l’idée de base dans le contexte de la simulation par ordinateur (comment la méthode de simulation peut être liée aux équations analytiques standard). La plupart des articles sont très compliqués, avec des facteurs physiques et une interaction utilisateur supplémentaires, et ils ne couvrent pas ce « lien ». Je veux considérer le cas le plus simple et comment démarrer le processus d’itération (juste une idée et comment cela se fait généralement). Désolé si certaines choses vous paraissent ridicules, veuillez ajuster mes déclarations si elles sont erronées. Si mon modèle de compréhension est complètement faux, dirigez-moi dans la bonne direction, merci.

Kyle Oman

Jetez un oeil à cela pour quelques informations sur la façon d’entrer des équations bien formatées dans vos messages. Désolé, c’est un peu un mur de texte, mais après avoir trouvé quelques équations simples, c’est vraiment assez intuitif.

tpg2114

Je recommanderais toujours que vous commenciez à apprendre un sujet en trouvant un livre de texte. Les articles de journaux sont très difficiles à apprendre d’un tout nouveau sujet – ils sont censés communiquer un sujet avancé à des experts dans le domaine. Les manuels sont destinés à éduquer quelqu’un à devenir un expert.

Kyle Kanos

J’appuie l’idée de tpg d’obtenir un livre. Je recommande fortement l’excellent texte de Randall LeVeque sur les lois de conservation hyperbolique.

Réponses


 Kyle Oman

Concernant la première moitié de votre question: votre large compréhension semble être correcte. Pour répondre à votre question sur la façon de savoir s’il y a du liquide dans une cellule donnée, réfléchissez à la densité massique

m ( X , y , t )

est dans une cellule vide. C’est juste zéro. Cela est déjà géré de manière transparente par votre système d’équations.

Concernant la seconde moitié de votre question, c’est un sujet très large. La simulation des fluides est, en règle générale, difficile, et il existe de nombreuses méthodes qui sont appropriées dans différentes situations (par exemple, des deux algorithmes que je connais le mieux, l’un est très bon pour résoudre les chocs, mais pas si bon pour la modélisation certaines instabilités comme Rayleigh-Taylor, tandis que la seconde est bonne en instabilités mais mauvaise pour résoudre les chocs). Au lieu d’essayer de vous donner une énorme introduction au sujet, pour lequel vous devriez probablement essayer de trouver un bon livre, je vais vous montrer un concept qui, je l’espère, vous aidera à vous lancer dans le monde fascinant des méthodes numériques.

Le point de départ classique des solutions numériques aux équations différentielles est l’équation de la chaleur dans une dimension, car elle est simple et relativement facile à résoudre:

u t α 2 u X 2 = 0

u t α 2 u X 2 = 0

Considérez la dérivée temporelle. Une définition mathématique de la dérivée est:

u t = lim Δ t 0 u ( x , t + Δ t ) u ( x , t ) Δ t

u t = lim Δ t 0 u ( X , t + Δ t ) u ( X , t ) Δ t

Une approximation possible de cette dérivée est de ne pas prendre la limite comme

Δ t 0

, mais simplement pour choisir une petite valeur pour

Δ t

, donnant:

u t u ( x , t + Δ t ) u ( x , t ) Δ t

u t u ( X , t + Δ t ) u ( X , t ) Δ t

Une approche similaire peut être utilisée sur la dérivée spatiale pour arriver à (une parmi plusieurs approximations possibles):

2 u X 2 u ( x + Δ x , t ) 2 u ( x , t ) + u ( x Δ x , t ) Δ x 2

2 u X 2 u ( X + Δ X , t ) 2 u ( X , t ) + u ( X Δ X , t ) Δ X 2

Mettre tout cela ensemble dans l’équation de chaleur et réorganiser un peu donne:

u ( x , t + Δ t ) = u ( x , t ) + α Δ t Δ x 2 [ u ( x + Δ x , t ) 2 u ( x , t ) + u ( x Δ x , t ) ]

u ( X , t + Δ t ) = u ( X , t ) + α Δ t Δ X 2 [ u ( X + Δ X , t ) 2 u ( X , t ) + u ( X Δ X , t ) ]

Notez que le prochain état du système (à

t + Δ t

, du côté gauche) s’exprime entièrement en termes de l’état actuel du système (à

t

) sur le côté droit. Vous pouvez donc coder cela sur un ordinateur et évaluer à plusieurs reprises de nouveaux états avec des choix convenablement petits pour

Δ X

et

Δ t

pour connaître l’évolution du système.

Conceptuellement, vous allez vouloir faire la même chose avec votre système d’équations d’Euler, mais bien sûr les équations sont plus compliquées (elles ont plus de termes et plus de champs à suivre). Gardez à l’esprit qu’avec une solution numérique, vous construisez TOUJOURS une approximation, il y a donc par définition une erreur dans votre solution. Maintenant, le jeu consiste à (1) comprendre la précision de votre approximation, lorsqu’elle est valide, convergente, etc. et (2) essayer de garder vos erreurs aussi petites que possible tout en payant un coût raisonnable en ressources de calcul. L’exemple que j’ai donné est facile à comprendre et donne une réponse à peu près correcte pour certains scénarios simples, mais il est généralement notoirement mal convergé et comporte de grandes erreurs. Mais une fois que vous aurez compris cet exemple de base, la lecture de schémas de solution plus complexes sera beaucoup plus facile.

 

#à, #de, d’écoulement, d’Euler?, fluide », l’aide, l’équation, simulation

 

google

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *