Introduction
MOAB, a Mesh-Oriented datABase, is a software component for creating,
storing and accessing finite element mesh data. This web
page includes information on MOAB software design, applications, and
links
to projects using MOAB. MOAB is being designed in close
collaboration
with the SciDAC Terascale
Simulation
Tools and Technologies (TSTT) Center and with the CUBIT project.
Quick Design
Summary
MOAB regards a mesh as a collection of data of a limited number of
types. The
four primary data types are:
- Mesh: An interface "instance" or component
which owns
the data stored in it.
- Entity: Mesh entities like vertices, edges,
faces,
regions.
- Entity Set: An arbitrary collection of entities
and other entity sets.
- Tag: Arbitrary data associated with entities,
entity sets,
and a mesh.
Applications interact with MOAB by calling functions on
a Mesh. Entities, entity sets and tags are passed through the
interface
using "handles"; using this opaque data type allows MOAB flexibility in
how
these objects are represented. In particular, MOAB does not
represent
mesh entities as objects, in order to minimize memory cost.
Tags are used to associate data with mesh, entities, and entity sets,
and are
quite versatile. Entity
sets also
provide a powerful mechanism for grouping entities, and are used to
represent
things like boundary conditions and material groupings in the mesh.
Tags
and entity sets can be used together to represent arbitrary meta-data
with a
mesh, without making the MOAB implementation depend on other
applications.
For a more complete description of MOAB, see this
presentation.
MOAB Email List
***OUTDATED***
MOAB Applications
Here are a few of the applications being built using MOAB:
- VERDE:
the VERDE code is being used as a prototyping environment in which to
develop MOAB. The next release of VERDE will be based entirely on
MOAB, and most
of the important tools and algorithms in VERDE will use MOAB-native
data and
functions. We expect improved memory and time efficiency due to
using MOAB, and plan to develop more advanced functionality based on
the added power
of MOAB.
- CUBIT: integration
of MOAB into CUBIT is underway, and should be completed in late fall
2002.
This integration will motivate the implementation of mesh modification
functions
in MOAB, to support CUBIT mesh generation functionality.
- NEMESIS:
a NEMESIS data reader is being constructed for MOAB, at UW-Madison.
Once
written, this reader will allow inspection of processor partitions and
interfaces
generated using the NEMESIS and CHACO libraries.
Bibliography
R. Meyers et. al, "SNL Implementation of the TSTT Mesh Interface", 8th
International
conference on numerical grid generation in computational field
simulations,
Honolulu, HA, June 2-6, 2002.
Download
***OUTDATED***
The MOAB Team
Corey Ernst, Elemental Technologies, Inc.
Karl Merkley, Elemental Technologies, Inc.
Ray Meyers, Elemental Technologies, Inc.
Clint Stimpson, Elemental Technologies, Inc.
Tim Tautges, Sandia National Labs (Lead)
Links
It's hard to believe, but others have been working on mesh and grid
representation
components too. Here are links to a few of them. If you
know of
others we've missed, please email
me.
AOMD, the
Algorithm
Oriented Mesh Database
LLNL's
OVERTURE
project
Structured AMR Group in CCA (mailing list archive,
initial
statement of purpose)
Terascale Parallel Mesh
Object (PMO)
GrAL
- Grid Algorithms
Library
MSTKLA
- Mesh ToolKit interface to LAgrit
NASA Field
Encapsulation
Library (FEL)
CFD General Notation
System
(CGNS)
HDF5 Mesh
API
libMesh - A C++ Finite Element Library
Last modified: 3/24/2008, Kevin Pendley, kpendle@sandia.gov
|