Introduction

Introduction#

MOLE is a high-quality (C++ & MATLAB/Octave) library that implements high-order mimetic operators to solve partial differential equations. It provides discrete analogs of the most common vector calculus operators: Gradient, Divergence, Laplacian, Bilaplacian, and Curl. These operators (highly sparse matrices) act on staggered grids (uniform, non-uniform, curvilinear) and satisfy local and global conservation laws.

Mathematics is based on the work of Corbino and Castillo. However, the user may find helpful previous publications, such as Castillo and Grone, in which similar operators were derived using a matrix analysis approach.

MOLE comes with comprehensive documentation:

Important Note: Performing non-unary operations involving operands constructed over different grids may lead to unexpected results. While MOLE allows such operations without throwing errors, users must exercise caution when manipulating operators across different grids.

Licensing#

MOLE is distributed under a GNU General Public License; please refer to the LICENSE file for more details.

Community Guidelines#

We welcome contributions to MOLE, including:

  • Adding new functionalities

  • Providing examples

  • Addressing existing issues

  • Reporting bugs

  • Requesting new features

Please refer to our Contribution Guidelines for more details.

Citations#

Please cite our work if you use MOLE in your research or software. Citations are helpful for the continued development and maintenance of the library.