ENigMA es una biblioteca de plantillas C ++ orientada a objetos cuyo objetivo es proporcionar simulación multi-física en un entorno multi-dominio.El código implementa varios métodos numéricos, como los métodos de volumen finito (FVM), los métodos de diferencia finita (FDM), los métodos de elementos finitos (FEM), los métodos de elementos de límite (BEM), la hidrodinámica de partículas suavizadas (SPH), etc. para la aproximación numérica de parcialEcuaciones diferenciales (PDE) en cada dominio.También proporciona clases para la generación robusta de malla (triangular, bloque, tetraédrica restringida, etc.), operaciones de intersección y recorte e implementa métodos de árbol R, octree y hashgrid para búsqueda espacial.Se puede utilizar para flujo tridimensional, análisis térmico y estructural ...