Skip to content

Commit adabc2d

Browse files
authored
MD Example files + SVG Parser (#107)
* Jacobian.md * Converted all examples TeX files to markdown * added labels in front of the readme + improved link placement * Added sphinx + GH md parser compitable author metadata * Stable | Added linkers for the SVG format | Examples md are fully compitable for sphinx and md * stable | temp dump | images are being rendered over latexpdf but in lower quality * stable | SVG+PDF generation with some warnings. * UX improvment | Added final path linkers and pointers for doc-html * Conducted a thorough review of the documentation and made several improvements. * Linux PDF build fix | removed hard coded pdfmino rversion 7 from build and readme fix * Jacobian fix * doc-all fix
1 parent d787aca commit adabc2d

24 files changed

Lines changed: 1921 additions & 213 deletions

README.md

Lines changed: 60 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# MOLE: Mimetic Operators Library Enhanced
22

3+
[![JOSS paper][joss-badge]][joss-link]
4+
[![MATLAB File Exchange][matlab-badge]][matlab-link]
5+
[![License][license-badge]][license-link]
6+
[![Build Status][build-badge]][build-link]
7+
[![Documentation][docs-badge]][docs-link]
8+
39
## Description
410

511
MOLE is a high-quality (C++ & MATLAB/Octave) library that implements
@@ -9,17 +15,10 @@ Gradient, Divergence, Laplacian, Bilaplacian, and Curl. These operators (highly
915
on staggered grids (uniform, non-uniform, curvilinear) and satisfy local and
1016
global conservation laws.
1117

12-
Mathematics is based on the work of [Corbino and Castillo, 2020](https://doi.org/10.1016/j.cam.2019.06.042).
13-
However, the user may find helpful previous publications, such as [Castillo and Grone, 2003](https://doi.org/10.1137/S0895479801398025),
18+
Mathematics is based on the work of [Corbino and Castillo][corbino-paper].
19+
However, the user may find helpful previous publications, such as [Castillo and Grone][castillo-paper],
1420
in which similar operators were derived using a matrix analysis approach.
1521

16-
17-
## Licensing
18-
19-
MOLE is distributed under a GNU General Public License; please refer to the _LICENSE_
20-
file for more details.
21-
22-
2322
## Installation
2423

2524
### Prerequisites
@@ -32,7 +31,7 @@ To install the MOLE library, you'll need the following packages:
3231
- LAPACK (Mac only)
3332
- libomp (Mac only)
3433

35-
For documentation build requirements, please refer to the [Documentation Guide](doc/sphinx/README.md).
34+
For documentation build requirements, please refer to the [Documentation Guide][doc-guide].
3635

3736
### Package Installation by OS
3837

@@ -45,7 +44,7 @@ sudo apt install cmake libopenblas-dev libeigen3-dev
4544

4645
#### macOS Systems
4746

48-
Install [Homebrew](https://brew.sh/) if you don't have it already, then run:
47+
Install [Homebrew][homebrew] if you don't have it already, then run:
4948

5049
```bash
5150
# Install all required packages
@@ -70,7 +69,7 @@ brew install cmake openblas eigen libomp lapack
7069
sudo yum install cmake openblas-devel eigen3-devel
7170
```
7271
73-
### Building and Installing MOLE
72+
## Building and Installing
7473

7574
1. Clone the repository:
7675
```bash
@@ -101,40 +100,50 @@ sudo yum install cmake openblas-devel eigen3-devel
101100

102101
**Note:** Armadillo and SuperLU will be automatically installed in the build directory during the build process.
103102

103+
## Testing
104104

105-
## Examples and Tests
105+
### C++
106106

107-
MOLE provides comprehensive examples and tests for both C++ and MATLAB/Octave implementations to help you get started quickly.
107+
A suite of four automatic tests that verify MOLE's installation and dependencies. These tests run automatically during the C++ library construction.
108108
109-
### Available Resources
109+
Run from the `build` directory:
110+
```bash
111+
make run_tests
112+
```
110113
111-
#### Tests
112-
- **tests/cpp**:
113-
A suite of four automatic tests that verify MOLE's installation and dependencies. These tests run automatically during the C++ library construction.
114-
- Run: `make run_tests` in the build directory
114+
### MATLAB/Octave
115115
116-
- **tests/matlab**:
117-
MATLAB/Octave equivalent of the C++ test suite. We recommend running these tests before using MOLE to ensure proper setup.
118-
- Run: Navigate to `tests/matlab` and execute `run_tests.m`
116+
MATLAB/Octave equivalent of the C++ test suite. We recommend running these tests before using MOLE to ensure proper setup.
119117
120-
#### Examples
121-
- **examples/cpp**:
122-
Four self-contained, well-documented examples demonstrating typical PDE solutions. These are automatically built with `make` and serve as an excellent starting point for C++ users.
118+
Run from the `tests/matlab`:
119+
```matlab
120+
run_tests
121+
```
123122
124-
- **examples/matlab**:
125-
A collection of over 30 examples showcasing various PDE solutions, from simple linear one-dimensional problems to complex nonlinear multidimensional scenarios.
123+
## Examples
126124
127-
We recommend running the tests before starting to use the library to ensure everything is working correctly.
125+
### C++
126+
127+
Four self-contained, well-documented examples demonstrating typical PDE solutions. These are automatically built with `make` and serve as an excellent starting point for C++ users.
128+
129+
### MATLAB/Octave Examples
130+
131+
A collection of over 30 examples showcasing various PDE solutions, from simple linear one-dimensional problems to complex nonlinear multidimensional scenarios.
128132
129133
## Documentation
130134
131135
MOLE comes with comprehensive documentation:
132136
133-
- **API Reference & User Guide**: Access our online [Documentation](https://csrc-sdsu.github.io/mole/build/html/)
134-
- **Building Documentation**: To build documentation locally, follow our [Documentation Build Guide](doc/sphinx/README.md)
137+
- **API Reference & User Guide**: Access our online [Documentation][docs-link]
138+
- **Building Documentation**: To build documentation locally, follow our [Documentation Guide][doc-guide].
135139
136140
> **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.
137141
142+
## Licensing
143+
144+
MOLE is distributed under a GNU General Public License; please refer to the _LICENSE_
145+
file for more details.
146+
138147
## Community Guidelines
139148
140149
We welcome contributions to MOLE, including:
@@ -144,16 +153,12 @@ We welcome contributions to MOLE, including:
144153
- Reporting bugs
145154
- Requesting new features
146155
147-
Please refer to our [Contribution Guidelines](https://github.com/csrc-sdsu/mole/blob/master/CONTRIBUTING.md) for more details.
148-
156+
Please refer to our [Contribution Guidelines][contrib-guide] for more details.
149157
150158
## Citations
151159
152160
Please cite our work if you use MOLE in your research or software.
153-
Citations are helpful for the continued development and maintenance of
154-
the library [![DOI](doc/assets/img/joss-status.svg)](https://doi.org/10.21105/joss.06288)
155-
156-
[![View mole on File Exchange](doc/assets/img/matlab-file-exchange.svg)](https://www.mathworks.com/matlabcentral/fileexchange/124870-mole)
161+
Citations are helpful for the continued development and maintenance of the library.
157162
158163
## Gallery
159164
@@ -166,4 +171,22 @@ Now, some cool pictures obtained with MOLE:
166171
![Obtained with curvilinear operators](doc/assets/img/grid.png)
167172
![Obtained with curvilinear operators](doc/assets/img/WavyGrid.png)
168173
![Obtained with curvilinear operators](doc/assets/img/wave2D.png)
169-
![Obtained with curvilinear operators](doc/assets/img/burgers.png)
174+
![Obtained with curvilinear operators](doc/assets/img/burgers.png)
175+
176+
<!-- Link references -->
177+
178+
[joss-badge]: https://joss.theoj.org/papers/10.21105/joss.06288/status.svg
179+
[joss-link]: https://doi.org/10.21105/joss.06288
180+
[matlab-badge]: https://www.mathworks.com/matlabcentral/images/matlab-file-exchange.svg
181+
[matlab-link]: https://www.mathworks.com/matlabcentral/fileexchange/124870-mole
182+
[license-badge]: https://img.shields.io/badge/License-GPLv3-blue.svg
183+
[license-link]: https://www.gnu.org/licenses/gpl-3.0
184+
[build-badge]: https://img.shields.io/github/actions/workflow/status/csrc-sdsu/mole/cmake.yml?branch=master&label=Build
185+
[build-link]: https://github.com/csrc-sdsu/mole/actions
186+
[docs-badge]: https://img.shields.io/badge/docs-latest-brightgreen.svg
187+
[docs-link]: https://csrc-sdsu.github.io/mole/build/html/
188+
[corbino-paper]: https://doi.org/10.1016/j.cam.2019.06.042
189+
[castillo-paper]: https://doi.org/10.1137/S0895479801398025
190+
[doc-guide]: https://github.com/csrc-sdsu/mole/blob/master/doc/sphinx/README.md
191+
[homebrew]: https://brew.sh/
192+
[contrib-guide]: https://github.com/csrc-sdsu/mole/blob/master/CONTRIBUTING.md

doc/assets/img/joss-status.svg

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)