Some of these codes also solve the magnetic induction equation simultaneously with the Navier-Stokes equation and heat equation. These codes can be used to perform dynamo simulations.

All these codes involve substantial programming, and debugging such codes typically takes much longer than their initial construction time. To facilitate such debugging, benchmarks can be helpful. These are particular solutions at particular parameter values which have been computed by several different groups. Their results can be compared and they can provide a reliable test that can help validate new codes.

A benchmark for Boussinesq MHD convection in a spherical shell has been published,
Christensen, U.R. et al. (2001), A numerical dynamo benchmark, * Phys. Earth Planet.
Inter.,* **128**, 25-34. This has proved useful for the dynamo community.

At the KITP, Santa Barbara, programme on 'Dynamo Theory' in 2008 the community agreed to publish some anelastic dynamo benchmarks for dynamos driven by convection in a rotating spherical shell. These are now available in the paper accessible below.

There are choices to be made in a Boussinesq run, but there are also additional choices for an anelastic convection run.

- Density stratification of shell: polytropic or non-polytropic?
- Thermodynamic variables used: entropy only, or pressure, density and temperature?
- Viscous diffusion: constant kinematic or dynamic viscosity?
- Thermal diffusion: diffusion of entropy and/or diffusion of temperature?
- Form of gravity field?
- Internal heating or applied flux from below?
- Boundary conditions?

1. The agreed benchmarks use a polytropic model.

2. The Lantz/Braginsky/Roberts formulation of the anelastic equations is used. This uses entropy as the only thermodynamic variable.

3. Constant kinematic viscosity is used.

4. Entropy diffusion, appropriate in a turbulent medium, is used rather than temperature diffusion. Constant turbulent entropy diffusivity is assumed.

5. Gravity field. Boussinesq models take the acceleration due to gravity g proportional
to r, distance from centre, consistent with a constant density.
Compressible objects usually have most
of the mass near the core, so in the convecting shell gravity falls off almost as an inverse
square law. The benchmarks assume g ~ 1 / r^{2}.

6. The benchmarks assume there is a constant flux of heat coming from the interior, and no heat generation in the convecting region, so the total heat flux entering the inner surface must on long time-average equal the flux emerging at the outer surface. This is provides a useful check on the code. Adding internal heating is likely to be a simple matter in most codes.

7. Boundary conditions. These benchmarks use stress-free, impermeable mechanical conditions at both surfaces, and constant entropy at both surfaces, that is a given entropy drop is imposed between the outer and inner surface of the shell. The region inside the inner boundary, the inner core, is assumed electrically insulating, as is the region outside the outer spherical boundary.

Here is the detailed description of the equations solved, dimensionless parameters and boundary conditions. anelastic equations.pdf

Note there are seven dimensionless parameters in the anelastic dynamo problem.
Five relate closely to the Boussinesq problem, the Rayleigh number *Ra*,
the Ekman number *E* (no factor 2 in the denominator, consistent with
the Christensen et al. benchmark), the Prandtl numbers *Pr* and *Pm*, and the radius
ratio of the shell. Two are purely anelastic, the polytropic index
and the number of density scale heights in the layer. Note that the assumption
that the layer is close to adiabatic fixes the ratio of specific heats once
the polytropic index *n* is chosen at gamma = 1 + 1/n.

benchmark paper

tar file of Asley's original code