ESS Project: FY98 Annual Report 

System Software R&D


PARAMESH: Structured Adaptive Mesh Refinement

Objective

To provide a tool to enable code developers to easily add a parallel adaptive mesh refinement (AMR) capability to their applications that currently use uniform regular meshes, and may currently also execute on only one processor.

Approach

A package of FORTRAN 90 routines, called PARAMESH, has been developed to provide an application developer with an easy route to extend an existing serial code that uses a logically Cartesian structured mesh into a parallel code with AMR.

PARAMESH builds a hierarchy of sub-grids to cover the computational domain, with spatial resolution varying to satisfy the demands of the application. These sub-grid blocks form the nodes of a tree data-structure (quad-tree in 2-D or oct-tree in 3-D). Each grid block has a logically Cartesian mesh, and the index ranges are the same for every block. Thus, in 2-D, if we begin with a 10 x 20 grid on one block covering the entire domain, the first refinement step would produce 4 child blocks, each with its own 10 x 20 mesh, but now with mesh spacing 1/2 that of its parent. Any or all of these children can themselves be refined in the same manner. This process continues until the domain is covered with a quilt-like pattern of blocks with the desired spatial resolution everywhere.

Diagrams of Block and Tree Structures

PARAMESH provides a new parallel superstructure to the application. The necessary sections of the original serial application are inserted into this superstructure at the appropriate places. The package manages the grid-block tree structure and all inter-block and inter-processor communications. It has been designed to perform efficiently on cache-based architectures.

Visualization with PARAMESH Blocks

Significance

Several of the Grand Challenge teams, whose applications originally used uniform meshes, have milestones that demand a high-performance AMR capability. The PARAMESH software will provide them with a tool that can enable them to meet these milestones. The package, which implements basic domain decomposition strategies, should also be useful as an aid in migrating general user's applications from a serial to parallel environment.

Status/Plans

Version 1.0 of PARAMESH was released in early 1998 and has been distributed to a number of application developers, including three of the Grand Challenge teams (Gardner, Malagoli, Saylor). A paper describing the package was submitted for publication to the journal Computer Physics Communications. A comprehensive user's manual written in HTML is contained within the software distribution.

The Naval Research Laboratory Grand Challenge team, led by John Gardner, achieved their Year 3 milestone, on schedule in June 1998, using an adaptively refining version of their MHDFCT3D code that was developed with PARAMESH.

Development plans include optimization of memory usage and improvement of performance when using MPI on clustered workstations such as Beowolf. We also intend to work closely with a small selected number of user groups to speed their code development, acquire useful user feedback, and through their progress help to promote the use of the package.

Points of Contact

Peter MacNeice
Drexel University
NASA Goddard Space Flight Center
Peter.J.Macneice.1@gsfc.nasa.gov
301-286-2061

Clark Mobarry
NASA Goddard Space Flight Center
Clark.M.Mobarry.1@gsfc.nasa.gov
301-286-2081

Rosalinda de Fainchtein
Raytheon STX Corp.
NASA Goddard Space Flight Center
Rosalinda.K.DeFainchtein.1@gsfc.nasa.gov
301-286-7066

http://ess.gsfc.nasa.gov/rib/repositories/inhouse_gsfc/Users_manual/amr.html