How To: Parallel OGS5 for big domains (mesh decomposition)

  1. Download a parallelized version of OGS5 from:
    https://jenkins.opengeosys.org/job/ufz/job/ogs5/job/master/
    e.g. this version for MPI on Linux systems.
    Or compile your own parallelized OGS5 executable (load modules from cli.sh!, UFZ-EVE specific):
cd build
module purge
source ../ogs5/scripts/env/envinf1/cli.sh
cmake ../ogs5 -DOGS_CONFIG=FEM -DCMAKE_BUILD_TYPE=Release
make
  1. Compile partmesh to partition the OGS domain:
    https://github.com/ufz/mesh_partition

  2. Follow the instructions on https://github.com/ufz/mesh_partition to partition your domain.

  3. Write a submit script for e.g. EVE like this:

#!/bin/bash
#$ -S /bin/bash
#$ -N NameOfModelRun
#$ -o /work/$USER/MPI-TEST.log
# merge stdout and stderr in one file
#$ -j y
#$ -l h_rt=86400
#$ -l h_vmem=4G

# specify the number of cores: 2 (same number like parts of mesh)
#$ -pe openmpi-orte 2
 
# eventually load modules which have been used to compile
module load openmpi/gcc/1.8.8-1
source ../ogs5/scripts/env/envinf1/cli.sh
 
mpirun -np $NSLOTS path/to/parallel/ogs5/executable/ path/to/ogs5/project/name

If you encounter any errors or notice any missing information, please let me know!

Best,
Timo

Since the latest stable build link is always updated (and the one given above is already outdated), go with this:
https://jenkins.opengeosys.org/job/ufz/job/ogs5/job/master/lastSuccessfulBuild/artifact/build_MPI/

Cheers,
Sebastian