Reading Time: 3 minutes

Le projet de simulation de microstructure de microstructure à méso-échelle (MMSP) est un cadre de calcul conçu pour fournir une interface de programmation simple, cohérente et extensible pour les méthodes basées sur le réseau et le maillage utilisées pour simuler l’évolution de la microstructure à la mésoéchelle.

Le projet aborde un défi commun dans la science des matériaux informatiques : permettre aux chercheurs d’appliquer un large éventail de méthodes numériques, telles que Monte Carlo, les automates cellulaires et la modélisation de champ de phase, dans une architecture logicielle unifiée et cohérente.

philosophie du design

Le MSMP est construit autour de trois principes directeurs : la simplicité, la cohérence et l’extensibilité. La simplicité fait référence à une courbe d’apprentissage minimale, permettant aux utilisateurs d’effectuer des simulations de routine avec une quantité relativement faible de code. Cela rend le MSMP accessible même aux chercheurs ayant une expérience de programmation limitée.

La cohérence signifie que les simulations à travers différentes dimensions et environnements de calcul partagent des structures de code presque identiques. Les simulations bidimensionnelles et tridimensionnelles suivent les mêmes modèles de programmation, et les codes à processeur unique peuvent être parallélisés avec une modification minimale. Même des approches numériques fondamentalement différentes, telles que Monte Carlo et les méthodes de phase de phase, sont présentées avec un aspect et une sensation similaires.

L’extensibilité garantit que de nouveaux types de grille, schémas numériques ou comportements physiques peuvent être ajoutés sans perturber les fonctionnalités existantes. Cela rend le MSMP bien adapté aux projets de recherche à long terme et au développement de méthodes.

architecture de base

Le MSMP est entièrement mis en œuvre en C++ conforme à l’ISO, priorisant l’efficacité, la portabilité et les performances. Plutôt que d’être une application monolithique, MMSP consiste en une collection de fichiers d’en-tête C++ qui définissent des objets de grille et implémentent leurs méthodes associées.

Cette structure modulaire permet aux utilisateurs de combiner et de personnaliser des composants tout en conservant une efficacité de calcul élevée. Le framework prend en charge des grilles de dimensionnalité arbitraire et est conçu pour passer des systèmes de bureau à des environnements de calcul haute performance.

Principales caractéristiques

MSMP fournit un ensemble complet d’outils pour la simulation à méso-échelle, notamment :

  • Une interface de programmation simple et extensible,
  • grilles de calcul de dimension arbitraire,
  • Implémentations parallèles à l’aide de MPI,
  • topologies de maillage parallèles automatiques et optimisées,
  • Utilitaires pour la visualisation de la grille,
  • Méthodes de simulation de Monte Carlo,
  • modèles d’automates cellulaires,
  • Méthodes de champ de phase conventionnelles,
  • Implémentations de champ de phase parcimonieuse (SPARSEPF),
  • Solveurs de différences finies générales pour les équations aux dérivées partielles,
  • Plus de vingt exemples de problèmes exécutables en deux et trois dimensions, en mode série et parallèle.

Figure. Exemple de simulation à grande échelle à méso-échelle.

Applications typiques

MSMP est conçu pour prendre en charge un large éventail d’applications en science des matériaux et en physique statistique. Les cas d’utilisation typiques comprennent :

  • croissance et grossissement des grains,
  • réactions de précipitation,
  • Croissance et solidification des cristals,
  • Simulations de Monte Carlo cinétique basée sur le réseau,
  • Modèles classiques de mécanique statistique tels que les modèles Ising et Heisenberg,
  • Décomposition spinodale et autres transformations de phase du second ordre.

Ces applications mettent en évidence la capacité du MSMP à modéliser des phénomènes microstructuraux complexes à travers une gamme de systèmes physiques et d’échelles de longueur.

Configuration système requise

Le MSMP est conçu pour être léger et accessible. Pour travailler avec le framework, les utilisateurs n’ont besoin que :

  • Expérience minimale de programmation préalable,
  • Un compilateur C++ conforme à la norme ISO,
  • Bibliothèques MPI lors de la compilation et de l’exécution de simulations parallèles.

Feuille de route du développement

Les révisions mineures suivant la version 3.0 sont destinées à se concentrer sur les corrections de bogues, la documentation étendue et les codes d’exemple supplémentaires. Les fonctionnalités prévues pour les futures versions majeures incluent l’adaptabilité du maillage et les solveurs multi-grilles pour les problèmes elliptiques tels que l’électrostatique et l’élasticité.

Conclusion

Le projet de simulation de microstructure à méso-échelle représente une plate-forme flexible et puissante pour la modélisation à méso-échelle. En combinant une implémentation C++ axée sur les performances avec une interface cohérente et extensible, MSMP permet aux chercheurs d’explorer des processus complexes d’évolution microstructurale tout en minimisant les frais généraux et de développement des logiciels.