#!/bin/sh
cd "${0%/*}" || exit                                # Run from this directory
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions        # Tutorial run functions
#------------------------------------------------------------------------------

## ./Allclean

restore0Dir

runApplication blockMesh

rm -rf test-distribute
masterDecompParDict="test-distribute/machineA/testcase/system/decomposeParDict"

for subdir in machineA machineB machineC machineD
do
    mkdir -p test-distribute/"$subdir"/testcase
done

# master
cp -R 0 constant system test-distribute/machineA/testcase
# others (nothing to copy)


cat<< CASE_ROOTS >> "$masterDecompParDict"

distributed true;

roots
(
    //master: "$PWD/test-distribute/machineA"
    "$PWD/test-distribute/machineA"
    "$PWD/test-distribute/machineA"

    "$PWD/test-distribute/machineB"
    "$PWD/test-distribute/machineB"
    "$PWD/test-distribute/machineB"

    "$PWD/test-distribute/machineC"
    "$PWD/test-distribute/machineC"
    "$PWD/test-distribute/machineC"

    "$PWD/test-distribute/machineD"
    "$PWD/test-distribute/machineD"
    "$PWD/test-distribute/machineD"
);
CASE_ROOTS

#export FOAM_ABORT=true

runParallel -s decompose redistributePar -decompose -case test-distribute/machineA/testcase

# Currently fails (OpenFOAM-v2206)
runParallel checkFaMesh -case test-distribute/machineA/testcase

exit 0

#------------------------------------------------------------------------------
