#!/bin/bash
#SBATCH --job-name=prop_diag
#SBATCH --time=01:00:00
#SBATCH --nodes=1
#SBATCH --ntasks=24
#SBATCH --mem-per-cpu=2G
#SBATCH --output=diag_%j.out
#SBATCH --error=diag_%j.out
set -u
source /cluster/apps/local/env2lmod.sh 2>/dev/null || true
module purge 2>/dev/null || true
module load stack/2024-06 gcc/12.2.0 openmpi/4.1.6 openfoam/2306
cd $SLURM_SUBMIT_DIR/case || exit 1
echo "reconstructing latest time..."
reconstructPar -latestTime > log.recon 2>&1; echo "recon rc=$?"
ls -d [0-9]* | tr "\n" " "; echo
for N in 12 24; do
  echo "############ ranks=$N ############"
  rm -rf processor*
  sed -i "s/^numberOfSubdomains.*/numberOfSubdomains $N;/" system/decomposeParDict
  decomposePar -force -latestTime > log.dec.$N 2>&1; echo "decompose rc=$?"
  srun -n $N pimpleFoam -parallel > log.t.$N 2>&1; echo "solver rc=$?"
  echo "steps: $(grep -c ^Time =  log.t.$N)  last: $(grep ^Time =  log.t.$N | tail -1)"
  grep "Patch target sum" log.t.$N | tail -2
done
