MOAB is a software component for representing for creating, storing and accessing mesh data. MOAB can describe structured and unstructured mesh, consisting of elements in the finite element "zoo". The functional interface to MOAB is simple yet powerful, allowing the representation of many types of metadata commonly found on the mesh. MOAB is optimized for efficiency in space and time, based on access to mesh in chunks rather than through individual entities, while also versatile enough to support individual entity access. MOAB can be used in several ways:
A few highlights of the capabilities in MOAB include:
Several computational solvers in various scientific domains such as nuclear engineering, climate modeling, nonlinear thermo-mechanics, CFD, etc have been built on top of MOAB. Other common use-cases where MOAB is often applied are:
MOAB was developed originally as part of the CUBIT project at Sandia National Laboratories, and has been partially funded by the DOE SciDAC program (TSTT, ITAPS, FASTMath), ASCR (CESAR), and DOE-NE (NEAMS program). More recently, DOE-BER programs under the E3SM project have provided support for enabling scalable solution transfer techniques for climate applications.
MOAB is distributed under an open-source, GNU LGPL licensing agreement.
There are several hooks to online continuous integration systems, nightly and commit-based Buildbot/Bitbucket builds that are constantly run during a development day to check the integrity and robustness of the library.
Detailed API documentation and user/development guides are available for the following repository branches, updated daily.
autoreconf -fi to generate the configure scriptconfigure --help script in the top source directory to see a list of available configure options.
--prefix=INSTALL_DIR to specify installation directoryCC, CXX, FC, F77--with-mpi=$MPI_DIR--with-hdf5=$HDF5_DIR and --with-netcdf=$NETCDF_DIR to specify external dependencies.--with-metis=$METIS_DIR and --with-parmetis=$PARMETIS_DIR respectively--with-zoltan=$ZOLTAN_DIR--enable-shared --enable-pymoab options--download-hdf5 OR --download-hdf5=TARBALL_PATH--download-netcdf OR --download-netcdf=TARBALL_PATH--download-metis OR --download-metis=TARBALL_PATH--download-tempestremap OR --download-tempestremap=master (to build from Git master)configure script with desired configuration options either in-source or out-of-source (build) directory.ccmake visual configuration editor or cmake to get a bare configuration of MOAB-DCMAKE_C_COMPILER=mpicc-DCMAKE_CXX_COMPILER=mpicxx-DCMAKE_Fortran_COMPILER=mpif90-DCMAKE_INSTALL_PREFIX=$MOAB_INSTALL_PATH-DENABLE_MPI=ON -DMPI_HOME=$MPI_DIR-DENABLE_HDF5=ON -DHDF5_ROOT=$HDF5_DIR-DENABLE_NETCDF=ON -DNETCDF_ROOT=$NETCDF_DIR.-DENABLE_METIS=ON -DMETIS_DIR=$METIS_DIR and -DENABLE_PARMETIS=ON -DPARMETIS_DIR=$PARMETIS_DIR respectively-DBUILD_SHARED_LIBS=ON -DENABLE_PYMOAB=ON options-DENABLE_ZOLTAN=ON -DZOLTAN_DIR=$ZOLTAN_DIR optionsmake -j4make checkmake installmakefile generated under the build/examples folder and modify it to compile downstream code with MOAB dependencyEven though the MOAB library is written in C++ language (conforming to C++11 standard), several partial bindings and interfaces are available for other languages.
C/Fortran: You can use the iMOAB interface to load, manipulate and query unstructured meshes in memory
--with-mpi option.Note that the ITAPS iMesh interfaces are now deprecated and we encourage users to directly use MOAB or iMOAB interfaces if possible.
Python3: The Python bindings for MOAB can be enabled when configured with --enable-shared --enable-pymoab options.
MOAB is distributed under LGPL(v3) licensing, and we encourage users to submit bug reports (and, if possible, fixes) directly on the Bitbucket interface. Optionally, users can email and discuss the issue with developers at [email protected]. Also refer to FAQ for some commonly asked questions and their resolutions.
MOAB follows a fully transparent, open-source development workflow (refer to our Code of Conduct for further information), and we welcome all contributions that enhance the feature sets provided by MOAB. If you would like to contribute to MOAB, please submit your changes through pull request (PR) using a Bitbucket fork of MOAB (refer to CONTRIBUTING.md for more details), or send us patches that you would like merged upstream. Users are also encouraged to check SIGMA-MOAB documentation pages for news and updates.
If you use MOAB for your research, please use the following bibtex entries for the software and the original report to cite us.
@techreport{moab_2004,
author = {Tautges, T. J. and Meyers, R. and Merkley, K. and Stimpson, C. and Ernst, C.},
type = {{SAND2004-1592}},
title = {{MOAB:} A Mesh-Oriented Database},
institution = {Sandia National Laboratories},
month = apr,
year = {2004},
note = {Report}
}
@software{moab521_2020,
author = {Mahadevan, Vijay and
Grindeanu, Iulian and
Jain, Rajeev and
Shriwise, Patrick and
Wilson, Paul},
title = {MOAB v5.2.1},
month = aug,
year = 2020,
publisher = {Zenodo},
version = {5.2.1},
doi = {10.5281/zenodo.2584862},
url = {https://doi.org/10.5281/zenodo.2584862}
}
Additionally, if you would like us to highlight your application, library or tool that uses MOAB, please contact the developers for more information.
Content type
Image
Digest
Size
606.6 MB
Last updated
about 4 years ago
docker pull vijaysm/moab-root