Mint User GuideΒΆ

Mint provides a comprehensive mesh data model and a mesh-aware, fine-grain, parallel execution model that underpins the development of computational tools and numerical discretization methods. Thereby, enable implementations that are born parallel and portable to new and emerging architectures.

Key Features

  • Support for 1D/2D/3D mesh geometry.
  • Efficient data structures to represent Particle Mesh, Structured Mesh and Unstructured Mesh types, including unstructured meshes with Mixed Cell Type Topology.
  • Native support for a variety of commonly employed Cell Types.
  • A flexible Mesh Storage Management system, which can optionally inter-operate with Sidre as the underlying, in-memory, hierarchical datastore, facilitating the integration across packages.
  • Basic support for Finite Elements, consisting of commonly employed shape functions and quadratures.
  • A Mesh-Aware Execution Model, based on the RAJA programming model abstraction layer that supports on-node parallelism for mesh-traversals, enabling the implementation of computational kernels that are born parallel and portable across different processor architectures.

Requirements

Mint is designed to be light-weight and self-contained. The only requirement for using Mint is a C++11 compliant compiler. However, to realize the full spectrum of capabilities, support for the following third-party libraries is provided:

For further information on how to build the Axom Toolkit using these third-party libraries, consult the Axom Quick Start Guide.

About this Guide

This guide discusses the basic concepts and architecture of Mint.

  • The Getting Started with Mint section provides a quick introduction to Mint, designed to illustrate high-level concepts and key capabilities, in the context of a small working example.
  • The Tutorial section provides code snippets that demonstrate specific topics in a structured and simple format.
  • For complete documentation of the interfaces of the various classes and functions in Mint consult the Mint Doxygen API Documentation.
  • Complete examples and code walk-throughs of mini-apps using Mint are provided in the Examples section.

Additional questions, feature requests or bug reports on Mint can be submitted by creating a new issue on Github or by sending e-mail to the Axom Developers mailing list at axom-dev@llnl.gov.