Running stgMADDs Benchmarks
The Magma Development team has finished the alpha release of the Magma Dynamics Demonstration Suite (MADDs). The initial code implements the zero porosity/no melting magma benchmark for mid-ocean ridge solid flows in 2D and 3D built on the Underworld framework. The purpose of this code is principally to validate accurate pressure solvers for Stokes flow in current CIG supported software. The stgMADDs source code is available in CIG's Mercurial Repository (geodynamics.org/hg).
Download and Install stgMADDs
For a first time download of the stgMADDs repository, do the following:
- Create the topmost repository with:
hg clone http://geodynamics.org/hg/magma/3D/stgMADDs - Then clone all the subdirectories using:
./cloneall.sh
Building against the PETSc extension
stgMAADS must be built against the PETSc extension package. Downloads and installation details for this package may be accessed from Monash U at scExt - Extending PETSc functionality .
Note: Currently the PETSc extension package is only compatible with PETSc version 2.3.3, so this must also be installed and configured. The PETSc extension library directory must also be added to your load library path as:
[sh/bash]: export LD_LIBRARY_PATH=$PETSCEXT_DIR/lib/$PETSC_ARCH:$LD_LIBRARY_PATH
[csh/tcsh]: setenv LD_LIBRARY_PATH=$PETSCEXT_DIR/lib/$PETSC_ARCH:$LD_LIBRARY_PATH
Updating the Repositories
For updates to all repositories, simply type the following from the topmost directory:
./pullall.sh
For more information on repository commands, see Using the Mercurial Repository .
To build the stgMADDs code
- From the topmost directory, type:
./configure.sh --without-python make
NOTE: This has been built against PETSc 2.3.2-p10 but will not necessarily build against PETSc 2.3.3 or petsc-dev.
- To insure off-screen rendering and movies, you may need to install the SDL libraries and set the environment variable:
OSMESA_DIR=/usr/X11R6 - To run the Underworld executable, add
./build/binto your path
To run the stgMADDs benchmarks
Milestone1: Accuracy runs for the 2D ridge model with quadratic velocity-linear pressure elements:
cd Magma/Models/Milestone1/Ridge2D_Quadratic
Underworld Ridge2D.xml (with gLucifer graphics)
Underworld Ridge2D_noGraphics.xml (without graphics)
For parallel runs:
mpiexec -np <# processors> Underworld Ridge2D.xml etc.
Milestone1: Accuracy runs for the 3D ridge model with quadratic velocity-linear pressure elements:
cd Magma/Models/Milestone1/Ridge3D_Quadratic/input
gzip -v Spectral*.rpt.gz (uncompress the Spectral comparison files if compressed)
cd ..
Underworld Ridge3D.xml (with graphics)
Underworld Ridge3D_noGraphics.xml (without graphics)
Notes
The default size of this run is 32x16x32 quadratic elements (65x33x65 velocity nodes). To change the size of the run, change the lines in ridge_Setup.xml:
<param name="elementResI"> 32 </param>
<param name="elementResJ"> 16 </param>
<param name="elementResK"> 32 </param>The maximum size is 64x32x64.
Caveat Emptor: This is very much an alpha release code for experimentation with the accuracy of different mixed FEM pressure solvers. Questions, complaints and bug reports should be directed to cig-magma@geodynamics.org.