ENigMA est une bibliothèque de modèles C ++ orientée objet dont le but est de fournir une simulation multi-physique dans un environnement multi-domaine.Le code implémente plusieurs méthodes numériques telles que les méthodes de volumes finis (FVM), les méthodes de différences finies (FDM), les méthodes d'éléments finis (FEM), les méthodes d'éléments de frontière (BEM), l'hydrodynamique des particules lissées (SPH), etc. pour l'approximation numérique de partielleÉquations différentielles (PDE) dans chaque domaine.Il fournit également des classes pour la génération de maillage robuste (triangulaire, bloc, tétraédrique contraint, etc.), les opérations d'intersection et d'écrêtage et implémente les méthodes R-tree, octree et hashgrid pour la recherche spatiale.Il peut être utilisé pour l'analyse de flux tridimensionnel, thermique et structurelle ....