Snoopy Version 6.0 (Albert)
The Snoopy Code Documentation

          |  |    _   ,
        .',  L.-'` `\ ||
     |    %     `=`       |
     | ___%_______________|
     |    `               |
     | -------------------|
       | ---------------|  ,
   \|  | _______________| / /
\. \,\\|, .   .   /,  / |///, /


This is the Snoopy code documentation. Snoopy is a general purpose Spectral solver, solving MHD and Boussinesq equations Including Shear, rotation, compressibility and several other physical effects when required. It can run on parallel machine using MPI OpenMP or Both at the same time. The ffts are based on FFTW3, using a custom MPI parallelisation, or using the alpha version of the MPI implementation included in fftw 3.3

Why Snoopy?

Why not? I felt that since Zeus, Athena and Ramses were already used, a bit of modern history would sound good (and cool). Snoopy actually means nothing (appart from a dog), although one might say that S stands for Spectral, and noopy stands for... (I still don't know).

Getting started

To start with Snoopy, you will need to read the following documentation pages:

What's new?

Albert (v6.0)

  • solid particles interaction+feedback (alpha version, not totally tested)
  • Braginskii viscosity
  • Hall effect
  • Isothermal compressibility
  • Subgrid scale models (Chollet-Lesieur) for the hydro cascade
  • Use of fftw-mpi when available
  • Faster MHD algorithm thanks to a formulation using Elssaser variables
  • new layout for the timevar file
  • and many bug fixes...

Jude (v5.0)

  • Free slip boundary conditions to replace the standard periodic BCs are allowed. See boundary.c for details.
  • 2D (x,y) large scale noise implemented
  • Spatially varying Brunt-Vaisala frequency, for non homogeneous stratification.
  • User can ask for vorticity output in the VTK files
  • MRI problem consistant with Hawley, Gammie, Balbus (1995) in terms of time units
  • Added more spectra in spectrum.dat, including transfer spectra and fix a binning problem
  • Possible to add "hard" object in the flow (this is an alpha feature)
  • Subcritical baroclinic instability setup provided (--with-problem=sbi when using the configure script)
  • Several improvement in the I/O routine
  • Include example Matlab scripts in the distribution
  • fixed a bug with some intel compilers concerning the optimisation (-ansi-alias)
  • added ABC forcing (see forcing.c), thanks to E. Rempel
  • fixed a bug in the restart routine when no dump file was found

Igor (v4.0)

Initial release


The Snoopy code is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Snoopy code is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Snoopy code. If not, see .