diff --git a/joss.06288/10.21105.joss.06288.crossref.xml b/joss.06288/10.21105.joss.06288.crossref.xml new file mode 100644 index 0000000000..66679a1720 --- /dev/null +++ b/joss.06288/10.21105.joss.06288.crossref.xml @@ -0,0 +1,367 @@ + + + + 20240717204818-1db0cdde2eaef2eb51fbe1182b36f3b54244d5be + 20240717204818 + + JOSS Admin + admin@theoj.org + + The Open Journal + + + + + Journal of Open Source Software + JOSS + 2475-9066 + + 10.21105/joss + https://joss.theoj.org + + + + + 07 + 2024 + + + 9 + + 99 + + + + MOLE: Mimetic Operators Library Enhanced + + + + Johnny + Corbino + https://orcid.org/0000-0002-2638-9216 + + + Miguel A. + Dumett + + + Jose E. + Castillo + + + + 07 + 17 + 2024 + + + 6288 + + + 10.21105/joss.06288 + + + http://creativecommons.org/licenses/by/4.0/ + http://creativecommons.org/licenses/by/4.0/ + http://creativecommons.org/licenses/by/4.0/ + + + + Software archive + 10.5281/zenodo.12752946 + + + GitHub review issue + https://github.com/openjournals/joss-reviews/issues/6288 + + + + 10.21105/joss.06288 + https://joss.theoj.org/papers/10.21105/joss.06288 + + + https://joss.theoj.org/papers/10.21105/joss.06288.pdf + + + + + + High-order mimetic finite-difference +operators satisfying the extended Gauss divergence +theorem + Corbino + Computational and Applied +Mathematics + 364 + 10.1016/j.cam.2019.06.042 + 2020 + Corbino, J., & Castillo, J. E. +(2020). High-order mimetic finite-difference operators satisfying the +extended Gauss divergence theorem. Computational and Applied +Mathematics, 364. +https://doi.org/10.1016/j.cam.2019.06.042 + + + An overview of SuperLU: Algorithms, +implementation, and user interface + Li + ACM Trans. Math. Softw. + 3 + 31 + 10.1145/1089014.1089017 + 0098-3500 + 2005 + Li, X. S. (2005). An overview of +SuperLU: Algorithms, implementation, and user interface. ACM Trans. +Math. Softw., 31(3), 302–325. +https://doi.org/10.1145/1089014.1089017 + + + OpenBLAS: An optimized BLAS +library + Zhang + ACM Transactions on Mathematical Software +(TOMS) + 3 + 46 + 2020 + Zhang, X., Zhao, Q., Wang, H., Zhu, +C., & Liu, J. (2020). OpenBLAS: An optimized BLAS library. ACM +Transactions on Mathematical Software (TOMS), 46(3), +34:1–34:19. + + + Mimetic finite difference methods for +restoration of fundus images for automatic detection of glaucoma +suspects + Villamizar + Computer Methods in Biomechanics and +Biomedical Engineering: Imaging & Visualization + 10.1080/21681163.2021.1914733 + 2021 + Villamizar, J., Calderón, G., +Carrillo, J., Bautista Rozo, L., Carrillo, J., Rueda, J., & +Castillo, J. (2021). Mimetic finite difference methods for restoration +of fundus images for automatic detection of glaucoma suspects. Computer +Methods in Biomechanics and Biomedical Engineering: Imaging & +Visualization, 1–8. +https://doi.org/10.1080/21681163.2021.1914733 + + + Stability and performance analysis of the +Castillo-Grone mimetic operators in conjunction with RK3 time +discretization in solving advective equations + Abouali + Procedia Computer Science + 18 + 10.1016/j.procs.2013.05.210 + 2013 + Abouali, M., & Castillo, J. E. +(2013). Stability and performance analysis of the Castillo-Grone mimetic +operators in conjunction with RK3 time discretization in solving +advective equations. Procedia Computer Science, 18, 465–472. +https://doi.org/10.1016/j.procs.2013.05.210 + + + Mimetic seismic wave modeling including +topography on deformed staggered grids + Puente + Geophysics + 3 + 79 + 10.1190/geo2013-0371.1 + 2014 + Puente, J. de la, Ferrer, M., +Hanzich, M., Castillo, J. E., & Cela, J. M. (2014). Mimetic seismic +wave modeling including topography on deformed staggered grids. +Geophysics, 79(3), T125–T141. +https://doi.org/10.1190/geo2013-0371.1 + + + Modelling of rupture propagation using +high-order mimetic finite differences + Rojas + Geophysical Journal +International + 2 + 172 + 10.1111/j.1365-246X.2007.03651.x + 2008 + Rojas, O., Day, S., Castillo, J., +& Dalguer, L. A. (2008). Modelling of rupture propagation using +high-order mimetic finite differences. Geophysical Journal +International, 172(2), 631–650. +https://doi.org/10.1111/j.1365-246X.2007.03651.x + + + Mimetic discretization methods + Castillo + 10.1201/b14575 + 2013 + Castillo, J. E., & Miranda, G. F. +(2013). Mimetic discretization methods. CRC Press. +https://doi.org/10.1201/b14575 + + + A matrix analysis approach to higher-order +approximations for divergence and gradients satisfying a global +conservation law + Castillo + Matrix Analysis and +Applications + 25 + 10.1137/S0895479801398025 + 2003 + Castillo, J. E., & Grone, R. D. +(2003). A matrix analysis approach to higher-order approximations for +divergence and gradients satisfying a global conservation law. Matrix +Analysis and Applications, 25. +https://doi.org/10.1137/S0895479801398025 + + + Armadillo: A template-based C++ library for +linear algebra + Sanderson + Journal of Open Source +Software + 1 + 10.21105/joss.00026 + 2016 + Sanderson, C., & Curtin, R. +(2016). Armadillo: A template-based C++ library for linear algebra. +Journal of Open Source Software, 1. +https://doi.org/10.21105/joss.00026 + + + The mimetic methods toolkit: An +object-oriented api for mimetic finite differences + Sanchez + Journal of Computational and Applied +Mathematics + 270 + 10.1016/j.cam.2013.12.046 + 2014 + Sanchez, E. J., Paolini, C. P., & +Castillo, J. E. (2014). The mimetic methods toolkit: An object-oriented +api for mimetic finite differences. Journal of Computational and Applied +Mathematics, 270, 308–322. +https://doi.org/10.1016/j.cam.2013.12.046 + + + Mimetic finite difference methods in image +processing + Bazan + Computational & Applied +Mathematics + 3 + 30 + 10.1590/S1807-03022011000300012 + 2011 + Bazan, C., Abouali, M., Castillo, J., +& Blomgren, P. (2011). Mimetic finite difference methods in image +processing. Computational & Applied Mathematics, 30(3), 701–720. +https://doi.org/10.1590/S1807-03022011000300012 + + + High-order mimetic finite differences for +anisotropic elliptic equations + Boada + Computers & Fluids + 213 + 10.1016/j.compfluid.2020.104746 + 2020 + Boada, A., Paolini, C., & +Castillo, J. E. (2020). High-order mimetic finite differences for +anisotropic elliptic equations. Computers & Fluids, 213, 104746. +https://doi.org/10.1016/j.compfluid.2020.104746 + + + High order mimetic difference simulation of +unsaturated flow using Richards equation + Velazco + Mathematics in Applied Sciences and +Engineering + 4 + 1 + 10.5206/mase/10874 + 2020 + Velazco, A. B., Corbino, J., & +Castillo, J. (2020). High order mimetic difference simulation of +unsaturated flow using Richards equation. Mathematics in Applied +Sciences and Engineering, 1(4), 401–409. +https://doi.org/10.5206/mase/10874 + + + Solving Navier–Stokes with mimetic +operators + Brzenski + Computers & Fluids + 254 + 10.1016/j.compfluid.2023.105817 + 0045-7930 + 2023 + Brzenski, J., & Castillo, J. E. +(2023). Solving Navier–Stokes with mimetic operators. Computers & +Fluids, 254, 105817. +https://doi.org/10.1016/j.compfluid.2023.105817 + + + Interpolation operators for staggered +grids + Dumett + 10.13140/RG.2.2.31741.95204 + 2022 + Dumett, M., & Castillo, J. E. +(2022). Interpolation operators for staggered grids (No. CSRC2022-02). +San Diego State University Computational Science Research Center. +https://doi.org/10.13140/RG.2.2.31741.95204 + + + Energy conservation of second-order mimetic +difference schemes for the 1D advection equation + Dumett + 10.13140/RG.2.2.19919.25767 + 2022 + Dumett, M., & Castillo, J. E. +(2022). Energy conservation of second-order mimetic difference schemes +for the 1D advection equation (No. CSRC2022-03). San Diego State +University Computational Science Research Center. +https://doi.org/10.13140/RG.2.2.19919.25767 + + + Mimetic analogs of vector calculus +identities + Dumett + 10.13140/RG.2.2.26630.14400 + 2023 + Dumett, M., & Castillo, J. E. +(2023). Mimetic analogs of vector calculus identities (CSRC2023-01, +submitted for publication). San Diego State University Computational +Science Research Center. +https://doi.org/10.13140/RG.2.2.26630.14400 + + + Energy conservation and convergence of +high-order mimetic schemes for the 3D advection equation + Dumett + 10.13140/RG.2.2.28307.86561 + 2023 + Dumett, M., & Castillo, J. E. +(2023). Energy conservation and convergence of high-order mimetic +schemes for the 3D advection equation (CSRC2023-05, submitted for +publication). San Diego State University Computational Science Research +Center. +https://doi.org/10.13140/RG.2.2.28307.86561 + + + + + + diff --git a/joss.06288/10.21105.joss.06288.pdf b/joss.06288/10.21105.joss.06288.pdf new file mode 100644 index 0000000000..e0706d9057 Binary files /dev/null and b/joss.06288/10.21105.joss.06288.pdf differ diff --git a/joss.06288/paper.jats/10.21105.joss.06288.jats b/joss.06288/paper.jats/10.21105.joss.06288.jats new file mode 100644 index 0000000000..03ec4aadaa --- /dev/null +++ b/joss.06288/paper.jats/10.21105.joss.06288.jats @@ -0,0 +1,613 @@ + + +
+ + + + +Journal of Open Source Software +JOSS + +2475-9066 + +Open Journals + + + +6288 +10.21105/joss.06288 + +MOLE: Mimetic Operators Library Enhanced + + + +https://orcid.org/0000-0002-2638-9216 + +Corbino +Johnny + + +* + + + +Dumett +Miguel A. + + + + + +Castillo +Jose E. + + + + + +Computational Research Division, Lawrence Berkeley National +Laboratory, Berkeley, California, 94720, USA. + + + + +Computational Science Research Center, San Diego State +University, 5500 Campanile Dr, San Diego, California, 92182, +USA. + + + + +* E-mail: + + +17 +7 +2024 + +9 +99 +6288 + +Authors of papers retain copyright and release the +work under a Creative Commons Attribution 4.0 International License (CC +BY 4.0) +2022 +The article authors + +Authors of papers retain copyright and release the work under +a Creative Commons Attribution 4.0 International License (CC BY +4.0) + + + +Mimetic +PDE +Discrete vector calculus +High-order +Conservative + + + + + + Summary +

MOLE is an open-source library that implements high-order mimetic + operators. It provides discrete analogs of the most common vector + calculus operators: divergence, gradient, curl, and Laplacian. These + operators act on functions discretized over staggered grids (uniform, + nonuniform, and curvilinear), and they satisfy local and global + conservation laws + (Dumett + & Castillo, 2022a, + 2023a). + MOLE’s operators can be utilized to develop code for solving partial + differential equations (PDEs).

+

The mathematics are based on the work of Corbino & Castillo + (2020). In + addition, the user may find useful previous publications such as J. E. + Castillo & Grone + (2003), in + which similar operators are derived using a matrix analysis + approach.

+
+ + Mimetic operators +

Mimetic operators, divergence (D), gradient + (G), curl (C), and Laplacian + (L), are discrete analogs of their corresponding + continuum operators. These operators satisfy in the discrete sense the + vector identities that the continuum ones do + (Dumett + & Castillo, 2023b), making them more faithful to the + physics in specific contexts.

+

The basis of higher-dimensional operators, as well as more + sophisticated operators such as the Laplacian or the biharmonic + operator, are the one-dimensional mimetic G and + D operators, together with high-order mimetic + interpolation operators + (Dumett + & Castillo, 2022b), which are also contained in the + library. These finite-dimensional operators can be reused throughout + the mathematical model and they provide a higher level of abstraction + at the time of solving PDEs.

+

These operators have been used to write codes to solve PDEs of + different types + (Abouali + & Castillo, 2013; + Bazan + et al., 2011; + Boada + et al., 2020; + Brzenski + & Castillo, 2023; + Puente + et al., 2014; + Rojas + et al., 2008; + Velazco + et al., 2020; + Villamizar + et al., 2021). For an overview of mimetic methods of different + types see the book by Castillo and Miranda and the references therein + (José + E. Castillo & Miranda, 2013).

+
+ + Statement of need +

Implementing mimetic operators, particularly in three dimensions, + presents significant challenges, yet MOLE streamlines this process, + allowing users to focus their efforts on their specific problems. For + instance, solving equations like the Poisson equation + + + 2u=f + becomes straightforward with MOLE, as users can employ its well-tested + mimetic operators with just a few lines of code. This versatility + extends to a diverse user base, including physicists, engineers, and + numerical analysts, who benefit from MOLE’s comprehensive library. + Moreover, the library’s flexibility enables users to seamlessly + transition between grids, resolutions, and discretization orders, + enhancing their ability to tailor solutions to their unique needs.

+
+ + State of the field +

A previous library + (Sanchez + et al., 2014) was developed to implement the mimetic operators + presented in J. E. Castillo & Grone + (2003). + This library was only capable of handling dense matrices so it was + limited to solve small problems hence its development was stopped. + MOLE implements the operators presented in Corbino & Castillo + (2020). + These operators are optimal from the number of points in each stencil + and produce more accurate results. MOLE deals with sparse matrices + efficiently and is capable of solving problems with millions of cells. + To the best of the authors’ knowledge, there are no other libraries + that implement mimetic methods as the ones presented in this + paper.

+
+ + The library +

MOLE was designed to be an intuitive software package to construct + mimetic operators based on the method of Corbino & Castillo + (2020). MOLE + is implemented in C++ and in MATLAB (these are two independent + flavors) and every function in MOLE returns a sparse matrix of the + requested mimetic operator. For information on the installation or + usage of the library, please read the + documentation + included in the repository.

+

Mimetic operators can be easily used to build codes to solve PDEs + with a few lines of code. For example, if the user wants to get a + one-dimensional k-order mimetic Laplacian, they just + need to invoke:

+ lap(k, m, dx); +

where k is the desired order of accuracy, + m is the number of cell centers (of the spatial grid), + and dx is the distance between consecutive cell centers. + All functions in MOLE are quite consistent with this syntax, and more + information regarding the signature of the function can be accessed + via the help command. The C++ version of the + library depends on + Armadillo, + which is an open-source package for dense and sparse linear algebra + (Sanderson + & Curtin, 2016), + SuperLU + for LU factorization + (Li, 2005), + and + OpenBLAS + for parallel matrix-vector and matrix-matrix operations + (Zhang + et al., 2020).

+

It is important to mention that MOLE’s main role is the + construction of matrices that represent spatial derivative operators + and boundary conditions; other components such as solvers and time + steppers are only provided via self-contained examples.

+

The following code snippet shows how easy is to solve a 1D Poisson + problem (with Robin’s boundary conditions) through MOLE:

+ % File: elliptic1D.m +addpath('../mole_MATLAB') % Add path to library + +west = 0; % Domain's limits +east = 1; + +k = 4; % Operator's order of accuracy +m = 2*k+1; % Minimum number of cells to attain the desired accuracy +dx = (east-west)/m; % Step length + +L = lap(k, m, dx); % 1D Mimetic Laplacian operator + +% Impose Robin BC on Laplacian operator +a = 1; % Dirichlet coefficient +b = 1; % Neumann coefficient +L = L + robinBC(k, m, dx, a, b); % Add BCs to Laplacian operator + +% 1D Staggered grid +grid = [west west+dx/2 : dx : east-dx/2 east]; + +% RHS +U = exp(grid)'; +U(1) = 0; % West BC +U(end) = 2*exp(1); % East BC + +U = L\U; % Solve a system of linear equations + +% Plot result +plot(grid, U, 'o-') +title('Poisson''s equation with Robin BC') +xlabel('x') +ylabel('u(x)') + +

Solution to the problem using k=4 and + m=9.

+ +
+
+ + Concluding remarks +

In this short article we introduced MOLE, an open-source library + that implements the mimetic operators from Corbino & Castillo + (2020). For + conciseness purposes, we showed a one-dimensional Poisson problem as + an example. However, MOLE includes over 30 examples that span a wide + range of applications, from the one-way wave equation to highly + nonlinear and computationally demanding problems, including the + Navier-Stokes equation for fluid dynamics and Richard’s equation for + unsaturated flow in porous media. The user can find such examples in + the + Examples + folder.

+
+ + Acknowledgements +

We acknowledge contributions from Dr. Angel Boada, and Jared + Brzenski, whose dedicated efforts and insightful discussions + significantly enhanced the development of the software tool.

+
+ + + + + + + + CorbinoJ. + CastilloJ. E. + + High-order mimetic finite-difference operators satisfying the extended Gauss divergence theorem + Computational and Applied Mathematics + 2020 + 364 + https://doi.org/10.1016/j.cam.2019.06.042 + 10.1016/j.cam.2019.06.042 + + + + + + LiXiaoye S. + + An overview of SuperLU: Algorithms, implementation, and user interface + ACM Trans. Math. Softw. + Association for Computing Machinery + New York, NY, USA + 200509 + 31 + 3 + 0098-3500 + https://doi.org/10.1145/1089014.1089017 + 10.1145/1089014.1089017 + 302 + 325 + + + + + + ZhangXianyi + ZhaoQian + WangHang + ZhuChao + LiuJiangning + + OpenBLAS: An optimized BLAS library + ACM Transactions on Mathematical Software (TOMS) + ACM + 2020 + 46 + 3 + 34:1 + 34:19 + + + + + + VillamizarJorge + CalderónGiovanni + CarrilloJulio + Bautista RozoLola + CarrilloJuan + RuedaJuan + CastilloJosé + + Mimetic finite difference methods for restoration of fundus images for automatic detection of glaucoma suspects + Computer Methods in Biomechanics and Biomedical Engineering: Imaging & Visualization + Taylor & Francis + 2021 + https://doi.org/10.1080/21681163.2021.1914733 + 10.1080/21681163.2021.1914733 + 1 + 8 + + + + + + AboualiMohammad + CastilloJose E + + Stability and performance analysis of the Castillo-Grone mimetic operators in conjunction with RK3 time discretization in solving advective equations + Procedia Computer Science + Elsevier + 2013 + 18 + https://doi.org/10.1016/j.procs.2013.05.210 + 10.1016/j.procs.2013.05.210 + 465 + 472 + + + + + + PuenteJosep de la + FerrerMiguel + HanzichMauricio + CastilloJosé E + CelaJosé M + + Mimetic seismic wave modeling including topography on deformed staggered grids + Geophysics + Society of Exploration Geophysicists + 2014 + 79 + 3 + https://doi.org/10.1190/geo2013-0371.1 + 10.1190/geo2013-0371.1 + T125 + T141 + + + + + + RojasOtilio + DaySteven + CastilloJose + DalguerLuis A + + Modelling of rupture propagation using high-order mimetic finite differences + Geophysical Journal International + Blackwell Publishing Ltd Oxford, UK + 2008 + 172 + 2 + https://doi.org/10.1111/j.1365-246X.2007.03651.x + 10.1111/j.1365-246X.2007.03651.x + 631 + 650 + + + + + + CastilloJosé E + MirandaGuillermo F + + Mimetic discretization methods + CRC Press + 2013 + https://doi.org/10.1201/b14575 + 10.1201/b14575 + + + + + + CastilloJ. E. + GroneR. D. + + A matrix analysis approach to higher-order approximations for divergence and gradients satisfying a global conservation law + Matrix Analysis and Applications + 2003 + 25 + https://doi.org/10.1137/S0895479801398025 + 10.1137/S0895479801398025 + + + + + + SandersonConrad + CurtinRyan + + Armadillo: A template-based C++ library for linear algebra + Journal of Open Source Software + 2016 + 1 + https://joss.theoj.org/papers/10.21105/joss.00026 + 10.21105/joss.00026 + + + + + + SanchezEduardo J + PaoliniChristopher P + CastilloJose E + + The mimetic methods toolkit: An object-oriented api for mimetic finite differences + Journal of Computational and Applied Mathematics + Elsevier + 2014 + 270 + https://doi.org/10.1016/j.cam.2013.12.046 + 10.1016/j.cam.2013.12.046 + 308 + 322 + + + + + + BazanCarlos + AboualiM + CastilloJ + BlomgrenP + + Mimetic finite difference methods in image processing + Computational & Applied Mathematics + SciELO Brasil + 2011 + 30 + 3 + https://doi.org/10.1590/S1807-03022011000300012 + 10.1590/S1807-03022011000300012 + 701 + 720 + + + + + + BoadaAngel + PaoliniChristopher + CastilloJose E + + High-order mimetic finite differences for anisotropic elliptic equations + Computers & Fluids + Elsevier + 2020 + 213 + https://doi.org/10.1016/j.compfluid.2020.104746 + 10.1016/j.compfluid.2020.104746 + 104746 + + + + + + + VelazcoAngel Boada + CorbinoJohnny + CastilloJose + + High order mimetic difference simulation of unsaturated flow using Richards equation + Mathematics in Applied Sciences and Engineering + 2020 + 1 + 4 + https://doi.org/10.5206/mase/10874 + 10.5206/mase/10874 + 401 + 409 + + + + + + BrzenskiJared + CastilloJose E. + + Solving Navier–Stokes with mimetic operators + Computers & Fluids + 2023 + 254 + 0045-7930 + https://doi.org/10.1016/j.compfluid.2023.105817 + 10.1016/j.compfluid.2023.105817 + 105817 + + + + + + + DumettM. + CastilloJ. E. + + Interpolation operators for staggered grids + San Diego State University Computational Science Research Center + 2022 + http://dx.doi.org/10.13140/RG.2.2.31741.95204 + 10.13140/RG.2.2.31741.95204 + + + + + + DumettM. + CastilloJ. E. + + Energy conservation of second-order mimetic difference schemes for the 1D advection equation + San Diego State University Computational Science Research Center + 2022 + http://dx.doi.org/10.13140/RG.2.2.19919.25767 + 10.13140/RG.2.2.19919.25767 + + + + + + DumettM. + CastilloJ. E. + + Mimetic analogs of vector calculus identities + San Diego State University Computational Science Research Center + 2023 + http://dx.doi.org/10.13140/RG.2.2.26630.14400 + 10.13140/RG.2.2.26630.14400 + + + + + + DumettM. + CastilloJ. E. + + Energy conservation and convergence of high-order mimetic schemes for the 3D advection equation + San Diego State University Computational Science Research Center + 2023 + http://dx.doi.org/10.13140/RG.2.2.28307.86561 + 10.13140/RG.2.2.28307.86561 + + + + +
diff --git a/joss.06288/paper.jats/fig1.png b/joss.06288/paper.jats/fig1.png new file mode 100644 index 0000000000..b784e8b4dd Binary files /dev/null and b/joss.06288/paper.jats/fig1.png differ