NUMA at a Glance
NUMA at a Glance
What is NUMA?
NUMA is a modeling environment for solving the 3D compressible Euler and/or Navier-Stokes equations. NUMA is highly scalable on massively parallel computers and relatively general meaning that as long as you can create a 3D grid, it is able to run with it. For stratified flow, as in atmospheric modeling where gravity is important, one needs to tell NUMA in which way gravity acts. Once this is done, NUMA does
not care whether the flow is in a 3D box (as in mesoscale flow) or on a collection of 3D concentric
spheres (as in global flow).
Who is Developing NUMA?
NUMA is being developed by the Department of Applied Mathematics of the Naval Postgraduate School in collaboration with the Naval Research Laboratory, Marine Meteorology Division; both are located in Monterey California. NUMA is funded by the Office of Naval Research Battlespace Environments.
NUMA Equations
NUMA uses various forms of the Euler and full compressible Navier-Stokes equations including the form using density and potential temperature (in advective and conservation forms) as well as the form using density and total energy (only in conservation form); this last set is the form used for the full compressible Navier-Stokes equations.
NUMA Spatial Discretization
NUMA uses continuous Galerkin (CG) and discontinuous Galerkin (DG) methods for approximating the spatial differential operators. The methods are both high-order accurate, local, and highly efficient on massively parallel computers.
NUMA Time-Integration
NUMA contains a suite of time-integrators including:
1)explicit Runge-Kutta Methods (SSP and non-SSP methods)
2)Implicit-Explicit (IMEX) Backward Difference Formula (order 2)
3)IMEX Crank-Nicholson/Leapfrog Method (order 2)
4)IMEX Additive Runge-Kutta Methods (orders 2 through 5)
NUMA Grids
NUMA can use any unstructured grid as long as it is comprised of hexahedra; this is true for both the CG and DG versions of the code. In the future NUMA-DG will be able to use triangular prismatic elements.
NUMA Software Development
NUMA is written in Fortran 95 in a modular fashion using the Message-Passing Interface for distributed computing. NUMA is stored using the GIT, a distributed version control system. The domain decomposition in NUMA is handled with METIS graph-partitioning.