4 resultados para convective upwinding scheme
em Université de Montréal, Canada
Resumo:
Ce mémoire vise à recenser les avantages et les inconvénients de l'utilisation du langage de programmation fonctionnel dynamique Scheme pour le développement de jeux vidéo. Pour ce faire, la méthode utilisée est d'abord basée sur une approche plus théorique. En effet, une étude des besoins au niveau de la programmation exprimés par ce type de développement, ainsi qu'une description détaillant les fonctionnalités du langage Scheme pertinentes au développement de jeux vidéo sont données afin de bien mettre en contexte le sujet. Par la suite, une approche pratique est utilisée en effectuant le développement de deux jeux vidéo de complexités croissantes: Space Invaders et Lode Runner. Le développement de ces jeux vidéo a mené à l'extension du langage Scheme par plusieurs langages spécifiques au domaine et bibliothèques, dont notamment un système de programmation orienté objets et un système de coroutines. L'expérience acquise par le développement de ces jeux est finalement comparée à celle d'autres développeurs de jeux vidéo de l'industrie qui ont utilisé Scheme pour la création de titres commerciaux. En résumé, l'utilisation de ce langage a permis d'atteindre un haut niveau d'abstraction favorisant la modularité des jeux développés sans affecter les performances de ces derniers.
Resumo:
En simulant l’écoulement du sang dans un réseau de capillaires (en l’absence de contrôle biologique), il est possible d’observer la présence d’oscillations de certains paramètres comme le débit volumique, la pression et l’hématocrite (volume des globules rouges par rapport au volume du sang total). Ce comportement semble être en concordance avec certaines expériences in vivo. Malgré cet accord, il faut se demander si les fluctuations observées lors des simulations de l’écoulement sont physiques, numériques ou un artefact de modèles irréalistes puisqu’il existe toujours des différences entre des modélisations et des expériences in vivo. Pour répondre à cette question de façon satisfaisante, nous étudierons et analyserons l’écoulement du sang ainsi que la nature des oscillations observées dans quelques réseaux de capillaires utilisant un modèle convectif et un modèle moyenné pour décrire les équations de conservation de masse des globules rouges. Ces modèles tiennent compte de deux effets rhéologiques importants : l’effet Fåhraeus-Lindqvist décrivant la viscosité apparente dans un vaisseau et l’effet de séparation de phase schématisant la distribution des globules rouges aux points de bifurcation. Pour décrire ce dernier effet, deux lois de séparation de phase (les lois de Pries et al. et de Fenton et al.) seront étudiées et comparées. Dans ce mémoire, nous présenterons une description du problème physiologique (rhéologie du sang). Nous montrerons les modèles mathématiques employés (moyenné et convectif) ainsi que les lois de séparation de phase (Pries et al. et Fenton et al.) accompagnés d’une analyse des schémas numériques implémentés. Pour le modèle moyenné, nous employons le schéma numérique explicite traditionnel d’Euler ainsi qu’un nouveau schéma implicite qui permet de résoudre ce problème d’une manière efficace. Ceci est fait en utilisant une méthode de Newton- Krylov avec gradient conjugué préconditionné et la méthode de GMRES pour les itérations intérieures ainsi qu’une méthode quasi-Newton (la méthode de Broyden). Cette méthode inclura le schéma implicite d’Euler et la méthode des trapèzes. Pour le schéma convectif, la méthode explicite de Kiani et al. sera implémentée ainsi qu’une nouvelle approche implicite. La stabilité des deux modèles sera également explorée. À l’aide de trois différentes topologies, nous comparerons les résultats de ces deux modèles mathématiques ainsi que les lois de séparation de phase afin de déterminer dans quelle mesure les oscillations observées peuvent être attribuables au choix des modèles mathématiques ou au choix des méthodes numériques.
Resumo:
Cette thèse s’intéresse à la modélisation magnétohydrodynamique des écoulements de fluides conducteurs d’électricité multi-échelles en mettant l’emphase sur deux applications particulières de la physique solaire: la modélisation des mécanismes des variations de l’irradiance via la simulation de la dynamo globale et la reconnexion magnétique. Les variations de l’irradiance sur les périodes des jours, des mois et du cycle solaire de 11 ans sont très bien expliquées par le passage des régions actives à la surface du Soleil. Cependant, l’origine ultime des variations se déroulant sur les périodes décadales et multi-décadales demeure un sujet controversé. En particulier, une certaine école de pensée affirme qu’une partie de ces variations à long-terme doit provenir d’une modulation de la structure thermodynamique globale de l’étoile, et que les seuls effets de surface sont incapables d’expliquer la totalité des fluctuations. Nous présentons une simulation globale de la convection solaire produisant un cycle magnétique similaire en plusieurs aspects à celui du Soleil, dans laquelle le flux thermique convectif varie en phase avec l’ ́energie magnétique. La corrélation positive entre le flux convectif et l’énergie magnétique supporte donc l’idée qu’une modulation de la structure thermodynamique puisse contribuer aux variations à long-terme de l’irradiance. Nous analysons cette simulation dans le but d’identifier le mécanisme physique responsable de la corrélation en question et pour prédire de potentiels effets observationnels résultant de la modulation structurelle. La reconnexion magnétique est au coeur du mécanisme de plusieurs phénomènes de la physique solaire dont les éruptions et les éjections de masse, et pourrait expliquer les températures extrêmes caractérisant la couronne. Une correction aux trajectoires du schéma semi-Lagrangien classique est présentée, qui est basée sur la solution à une équation aux dérivées partielles nonlinéaire du second ordre: l’équation de Monge-Ampère. Celle-ci prévient l’intersection des trajectoires et assure la stabilité numérique des simulations de reconnexion magnétique pour un cas de magnéto-fluide relaxant vers un état d’équilibre.
Resumo:
Dans le but d’optimiser la représentation en mémoire des enregistrements Scheme dans le compilateur Gambit, nous avons introduit dans celui-ci un système d’annotations de type et des vecteurs contenant une représentation abrégée des enregistrements. Ces derniers omettent la référence vers le descripteur de type et l’entête habituellement présents sur chaque enregistrement et utilisent plutôt un arbre de typage couvrant toute la mémoire pour retrouver le vecteur contenant une référence. L’implémentation de ces nouvelles fonctionnalités se fait par le biais de changements au runtime de Gambit. Nous introduisons de nouvelles primitives au langage et modifions l’architecture existante pour gérer correctement les nouveaux types de données. On doit modifier le garbage collector pour prendre en compte des enregistrements contenants des valeurs hétérogènes à alignements irréguliers, et l’existence de références contenues dans d’autres objets. La gestion de l’arbre de typage doit aussi être faite automatiquement. Nous conduisons ensuite une série de tests de performance visant à déterminer si des gains sont possibles avec ces nouvelles primitives. On constate une amélioration majeure de performance au niveau de l’allocation et du comportement du gc pour les enregistrements typés de grande taille et des vecteurs d’enregistrements typés ou non. De légers surcoûts sont toutefois encourus lors des accès aux champs et, dans le cas des vecteurs d’enregistrements, au descripteur de type.