摘要

Here it is documented how an existing code for modelling mantle convection in a cartesian domain, Stag3D, has been converted to model a 3D spherical shell by using the recently introduced yin-yang grid. StagYY is thus the latest evolution of a code that has been in continuous use and development for about 15 years so incorporates much physics and several features including compressibility, phase transitions, compositional variations, non-linear rheology, parallelisation, tracers to track composition, partial melting and melt migration, and the ability to also model spherical patches, cartesian boxes, and various 2D geometries by changing one input switch. StagYY uses a multigrid solver to obtain a velocity-pressure solution at each timestep on a staggered grid, a finite-volume scheme for advection of temperature and tracers to track composition. Convergence of multigrid solvers in the presence of realistically large viscosity variations has always been a problem; here a new pressure interpolation scheme is presented that can dramatically improve the robustness of the iterations to large viscosity variations, with up to 19 orders of magnitude variation in presented tests. Benchmark tests show that StagYY produces results that are consistent with those produced by other codes. Performance tests show reasonable scaling on a parallel Beowulf cluster up to 64 CPUs, with up to 1.2 billion unknowns solved for in a few minutes. StagYY is designed to be a stand-alone application with no libraries required and if MPI is installed it can be run in parallel. Technical issues and goals for the future are discussed.

  • 出版日期2008-12