Les codes proposés
josiepy
Méthodes volumes finis en Python
josiepy
Josiepy est une librairie en Python qui permet de mettre en place des simulations pour des problèmes qui sont gouvernés par des EDP avec simplicité avec la méthode des volumes finis. Tous les aspects d'un problème sont codé directement en Python, en évitant les difficultés que très souvent on rencontre dans des autres codes dans lesquels les configurations se font avec des DSL très limités
Mercurve
Outils de post-traitement
Mercurve
Mercurve est une librairie en C++ qui permet d'effectuer le post-traitement de simulations DNS diphasiques. Mercurve effectue une triangulation de l'interface entre les deux phases de l'écoulement, il calcule des propriétés géométriques comme la courbure moyenne et la courbure de Gauss avec une approche qui préserve certains invariants topologiques, en donnant la possibilité d'obtenir plus d'information à travers ces simulations qui sont après utilisées pour le développement de modèles réduits.
pylbm
Méthodes lattice Boltzmann
pylbm
Pylbm est un logiciel open source écrit en Python. Il propose une implémentation flexible de la méthode Lattice Boltzmann pour les problèmes 1D/2D/3D et a été créé pour s'adresser à diverses communautés : mathématiciens, physiciens et informaticiens. La principale caractéristique de pylbm est sa grande flexibilité en termes de schémas LBM et d'implémentations de code numérique. De plus, il possède d'excellentes capacités parallèles et utilise MPI pour le calcul distribué et openCL pour les GPU.
Samurai
Adaptation de maillage
Samurai
L'objectif principal de Samourai est de fournir une nouvelle structure de données basée sur les intervalles et l'algèbre d'ensembles pour traiter efficacement les méthodes de raffinement de maillage adaptatif basées sur une grille cartésienne. Une telle approche doit être suffisamment polyvalente pour traiter les méthodes AMR et multi-résolution. La plupart des structures de données existantes utilisées à cette fin sont basées sur la construction d'un arbre (quadtree en 2d ou octree en 3d).