Using+PETSc+With+Jetstream

Click here to return to top level Jetstream page.

Support has been added to solve the mesh movement and mesh adjoint equations in parallel with CG preconditioned with Additive-Schwarz using PETSc. If you want to use that feature you'll need to download, compile and install PETSc yourself.

Follow the steps below to install PETSc for use with Jetstream:

>> http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-3.8.4.tar.gz > code cd tar -xvf petsc-3.8.4.tar.gz
 * 1. Get version 3.8.4**
 * Download the tarball from here and move it to your home on the HPC system, then unpack it

code

code cd $HOME/petsc-3.8.4 ./configure --with-debugging=0 --with-c2html=0 --with-blas-lapack-dir=$MKLROOT code code cd $HOME/petsc-3.8.4 ./configure --with-debugging=0 --with-blas-lapack-dir=$MKLROOT code
 * 2. Configure PETSc to compile on your system **
 * For Graham, execute the following commands: NOTE: On Graham, you should be using the Petsc module instead!
 * For Niagara, execute the following

code xxx=========================================================================xxx
 * 4. Compile PETSc library **
 * After the configuration from the previous step is complete, you will see output similar to below. Execute the first make command.

Configure stage complete. Now build PETSc libraries with (cmake build):

make PETSC_DIR=/home/z/zingg//petsc-3.8.4/ PETSC_ARCH=arch-linux2-c-opt all

or (experimental with python):

PETSC_DIR=/home/z/zingg//petsc-3.8.4/ PETSC_ARCH=arch-linux2-c-opt ./config/builder.py

xxx=========================================================================xxx code

code cd $HOME/jetstream make clean make code
 * 5. Compile Jetstream with PETSc **
 * In the jetstream Makefile set "petsc = on", then make Jetstream


 * 6. Set PETSc flag in input.param file**
 * To use PETSc for parallel mesh move and mesh adjoint calculations when running an optimization case in Jetstream, in //input.param// file, in the &MESH namelist:
 * GRID% PETSC = .true.
 * Otherwise, for serial mesh move and mesh adjoint calculations:
 * GRID% PETSC = .false.