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

setDamBreakFine ()
{
    blockMeshDict="system/blockMeshDict"
    controlDict="system/controlDict"
    sed \
    -e s/"23 8"/"46 10"/g \
    -e s/"19 8"/"40 10"/g \
    -e s/"23 42\(.*\) 1 1)"/"46 76\1 2 1)"/g \
    -e s/"4 42\(.*\) 1 1)"/"4 76\1 2 1)"/g \
    -e s/"19 42\(.*\) 1 1)"/"40 76\1 2 1)"/g \
    $blockMeshDict > temp.$$
    mv temp.$$ $blockMeshDict
    sed \
    -e s/"\(deltaT[ \t]*\) 0.001;"/"\1 5e-04;"/g \
    -e s/"\(endTime[ \t]*\) 1;"/"\1 0.4;"/g \
    $controlDict > temp.$$
    mv temp.$$ $controlDict
}

# Do damBreak
(cd damBreak && foamRunTutorials)

if notTest $@
then
    # Clone case
    cloneCase damBreak damBreakFine

    (
        cd damBreakFine || exit

        # Modify case
        setDamBreakFine
        \cp ../damBreak/0/alpha.water.orig 0/alpha.water
        # And execute
        runApplication blockMesh
        runApplication setFields
        runApplication decomposePar
        runParallel $(getApplication)
        runApplication reconstructPar
    )
fi

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