"
SAMRAI (Structured Adaptive Mesh Refinement Application Infrastructure) is an object-oriented C++ software library
that enables exploration of numerical, algorithmic, parallel computing,
and software issues associated with applying structured adaptive mesh
refinement (
SAMR) technology in large-scale parallel application development.
SAMRAI provides software tools for developing
SAMR
applications that involve coupled physics models, sophisticated
numerical solution methods, and which require high-performance parallel
computing hardware.
SAMRAI enables integration of
SAMR technology into existing codes and simplifies the exploration of
SAMR methods in new application domains. Due to judicious application of object-oriented design,
SAMRAI capabilities are readily enhanced and extended to meet specific problem requirements. The
SAMRAI team collaborates with application researchers at
LLNL and other institutions. These interactions motivate the continued evolution of the
SAMRAI library.
The
SAMRAI library provides a rich set of reusable, extensible software components for
SAMR application development. The capabilities provided by
SAMRAI include:
- Automatic (user-controlled) dynamic mesh refinement
- Uniform, non-uniform, and user-defined load balancing
- Various array data types for representing simulation quantities on a
mesh with different centerings (e.g., node, face, cell, etc.), and
support for data defined on irregular sets of cell indices
- Support for user-defined data on a SAMR mesh hierarchy with full to parallel data communication functionality (w/o recompiling the library)
- Customizable adaptive meshing and integration algorithms (via object-oriented composition and inheritance)
- Support for meshes with arbitrary spatial dimension
- Multiblock AMR allowing irregular block connectivity
- Interfaces to solver libraries, such as hypre, PETSc, and SUNDIALS
- Flexible parallel restart (HDF5) and input parser
- Tools for measuring performance, gathering statistics
- Visualization support via VisIt
The
SAMRAI library is partitioned into
a collection of software “packages”. Each package is a set of
logically-related C++ classes that constitutes a functional role in
SAMR application development."
http://computation.llnl.gov/projects/samrai/software
http://computation.llnl.gov/projects/samrai
No comments:
Post a Comment