Skip to content
Rayleigh: Pseudo-spectral MHD
Branch: master
Clone or download
gassmoeller Merge pull request #121 from tjesser-ucdavis-edu/docker-jenkins
Change Jenkinsfile from Kubernetes to Docker
Latest commit b9d70be Apr 18, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmake/modules Add initial version of a cmake configuration system. Sep 27, 2018
doc Reference State output now contains the heating function. Dec 18, 2018
docker Don't checkout devel, using master in the future Sep 18, 2018
etc Use /bin/sh instead of /bin/csh (#12) Sep 13, 2018
input_examples Added notebook file Dec 15, 2018
post_processing Merge pull request #113 from illorenzo7/fix_ReferenceState_class Feb 5, 2019
src Added MPI_Bcast call to OpenFile_Par. Feb 7, 2019
.gitignore updated .gitignore files Sep 18, 2018
.zenodo.json Added zonodo json file and edited authors file (version info) Jan 23, 2018
ACKNOWLEDGE Housecleaning before initial commit of source code. Jan 23, 2018
CMakeLists.txt Also detect the C compiler. Sep 27, 2018
INSTALL added instructions to INSTALL for Macs Nov 2, 2018
Jenkinsfile Change Jenkinsfile from Kubernetes to Docker Apr 16, 2019
LICENSE Added license file (GPL3) Dec 20, 2017
Makefile Add a link to Contributing to Readme Sep 19, 2018
VERSION updated version number Apr 28, 2018
dev_build removed extra option from dev_build Jan 10, 2019

Rayleigh Version 0.9.1


Rayleigh is a 3-D convection code designed for the study of dynamo behavior in spherical geometry. It evolves the incompressible and anelastic MHD equations in spherical geometry using a pseudo-spectral approach. Rayleigh employs spherical harmonics in the horizontal direction and Chebyshev polynomials in the radial direction. The code has undergone extensive accuracy testing using the Christensen et al. (2001) Boussinesq benchmarks and the Jones et al. (2011) anelastic benchmarks. Rayleigh has been developed with NSF support through the Computational Infrastructure for Geodynamics (CIG).

Contributing to Rayleigh

Rayleigh is a community project that lives by the participation of its members -- i.e., including you! It is our goal to build an inclusive and participatory community so we are happy that you are interested in participating! We have collected a set of guidelines and advice on how to get involved in the community and keep them in the file in Rayleigh's repository.


The pseudo-spectral nature of Rayleigh means that its parallelization necessarily relies heavily on global communication patterns. That said, Rayleigh's parallelization is based around a 2-D domain decomposition and large-message-size all-to-alls. These features allow the code to overcome many of the obstacles that traditionally limit the scalability of spectral methods. The end result is a pseudo-spectral code optimized for petascale machines. Rayleigh's pure-MPI mode has demonstrated highly efficient strong scaling on 131,000 cores of the Mira Blue Gene/Q supercomputer for problems with approximately 2048^3 grid points (2048 spherical harmonics). Performance numbers from Mira are shown below. A summary of Rayleigh's performance and how it compares against other popular dynamo codes (albeit at at smaller process counts) may be found in the recent performance benchmark results of Matsui et al. (2016).

Getting Started

The following documents form the initial Rayleigh documentation. Note that the html version of the Diagnostics_Plotting document, which is automatically generated from a Jupyter notebook, is more cleanly formatted than the pdf version.

Document Description
INSTALL in-depth installation instructions
doc/Rayleigh_User_Guide.pdf Overview of compiling and running Rayleigh
doc/Diagnostic_Plotting.{html,pdf} Guide to generating and plotting Rayleigh output (text version)
etc/analysis/Diagnostic_Plotting.ipynb Same as above (interactive Jupyter notebook)
doc/Rayleigh_Output_Variables.pdf Tables of Rayleigh output menu codes


Rayleigh was written by Nicholas Featherstone with NSF support through CIG. Please see the ACKNOWLEDGEMENT file for citation information.


Raleigh v0.9.1 is released under the GPL v3 license.

You can’t perform that action at this time.