Paracirce

Paracirce

Paracirce a is a C++17/MPI/OpenMP parallel library for the generation of Gaussian Random Fields (GRF). The algorithm is based on the Circulant Embedding method.

Features:

  • 2D and 3D GRFs
  • Correlation functions: exponential, Gaussian, Matérn, others can be added upon requests.
  • Isotropic and anisotropic correlation
  • Distributed and shared memory parallelization for optimal performances on large clusters
  • Reproductibility, thanks to the pseudo-random numbers generator RngStream.
  • Complete Independance of the Monte-Carlo runs.
  • Acceleration of the padding computation.

Dependencies

  • RngStream
  • C++17 compatible compiler
  • MPI >= 1.10
  • CMake >= 3.12
  • FFTW3-MPI >= 3.3.3

2D case
Isotropic Matérn covariance
Correlation length 0.125 Matérn parameter 0.5

2D case
Anisotropic Matérn covariance
Correlation length (0.125, 0.5)
Matérn parameter 0.5

2D case
Isotropic Matérn covariance
Correlation length 0.5 Matérn parameter 4.

2D case – anisotropic Matérn covariance
Correlation length (0.125, 0.5) and Matérn parameter 4.

How to download?

If you are interested to try, download the code via Git repository ParaCirce.

How to install the library and use it?

The documentation can be found here.

How to cite?

Please cite the following publication if you use Paracirce in your work:

Géraldine Pichot, Simon Legrand, Michel Kern, and Nathanael Tepakbong-Tematio. Initialization of the Circulant Embedding method to speed up the generation of Gaussian random fields. SMAI Journal of Computational Mathematics, 8:21, 2022. doi: 10.5802/smai-jcm.89

Paracirce Licence

For academic usage, you can use Paracirce software under the GNU Affero General Public version 3 as published by the Free Software Foundation. Read the LICENSE file in the root directory of the source tree for more information.

For commercial usage, please contact the project members to purchase this software under proprietary license.

Any questions?

Please feel free to contact us:

Comments are closed.