Cello is a highly scalable, fully-distributed array-of-octree
parallel adaptive mesh refinement (AMR) framework, and Enzo-P
is an Eulerian hydrodynamics and MHD astrophysics application that is
built using Cello.
Enzo-P is a
branch of the Enzo parallel astrophysics and cosmology
application. Enzo-P / Cello is currently funded by the National
Science Foundation (NSF) grant SI2-SSE-1440709, with previous funding
through NSF grants PHY-1104819 and AST-0808184.
Two fundamental differences between Enzo-P and Enzo are their AMR
design and parallelization. Cello implements array of octree
AMR, which has demonstrated scalability to date through 256K
floating-point cores of
the NSF
Blue Waters supercomputer at the
National Center for
Supercomputing Applications. Unlike Enzo, which is parallelized
using MPI, Enzo-P/Cello is parallelized
using Charm++,
an externally-developed OOP parallel programming system targeting
the implementation of Exascale applications.
Enzo-P currently has two hyperbolic
solvers: PPM,
an enhanced piecewise parabolic method solver that was migrated to
Enzo-P from the Enzo code base,
and PPML, an ideal
compressible MHD solver originally implemented in serial Fortran.
More recently, physics and infrastructure capabilities have been
developed for particle methods, including an implementation of Enzo's
CIC particle-mesh gravity solver. Currently we are collaborating
with Prof. Daniel
Reynolds on developing and implementing a highly scalable
multigrid-based linear solver.