#!/bin/bash
cd ${0%/*} || exit 1    # run from this directory

# Source run functions
. $WM_PROJECT_SITE/$WM_PROJECT_VERSION/bin/tools/RunFunctions

TESTCASE=$(basename "$PWD")

# addonMultiphaseEuler - cellMomentum
CASE="01_addonMultiphaseEuler_cellMomentum"
foamCloneCase -add validation/ BasicSetup ${CASE}
${CASE}/Allrun

latestTime=$(foamListTimes -latestTime -case "${CASE}")
cp validation/U.phase1.addonMultiphaseEuler.cellMomentum.gz \
    "${CASE}/${latestTime}/U.phase1.ref.gz"
runApplication -s "${TESTCASE}.addonMultiphaseEuler.cellMomentum" \
    foamPostProcess -func \
    "deviation(field=U.phase1, reference=U.phase1.ref, maxAbsDev=2e-3)" \
    -latestTime \
    -case "${CASE}"


# addonMultiphaseEuler - faceMomentum
CASE="02_addonMultiphaseEuler_faceMomentum"
foamCloneCase -add validation/ BasicSetup ${CASE}
foamDictionary -entry PIMPLE/faceMomentum -set true ${CASE}/system/fvSolution
${CASE}/Allrun

latestTime=$(foamListTimes -latestTime -case "${CASE}")
cp validation/U.phase1.addonMultiphaseEuler.faceMomentum.gz \
    "${CASE}/${latestTime}/U.phase1.ref.gz"
runApplication -s "${TESTCASE}.addonMultiphaseEuler.faceMomentum" \
    foamPostProcess -func \
    "deviation(field=U.phase1, reference=U.phase1.ref, maxAbsDev=2e-3)" \
    -latestTime \
    -case "${CASE}"


# cipsaMultiphaseEuler - cellMomentum
CASE="03_cipsaMultiphaseEuler_cellMomentum"
foamCloneCase -add validation/ BasicSetup ${CASE}
foamDictionary -entry solver -set cipsaMultiphaseEuler \
    ${CASE}/system/controlDict
${CASE}/Allrun

latestTime=$(foamListTimes -latestTime -case "${CASE}")
cp validation/U.phase1.cipsaMultiphaseEuler.cellMomentum.gz \
    "${CASE}/${latestTime}/U.phase1.ref.gz"
runApplication -s "${TESTCASE}.cipsaMultiphaseEuler.cellMomentum" \
    foamPostProcess -func \
    "deviation(field=U.phase1, reference=U.phase1.ref, maxAbsDev=2e-3)" \
    -latestTime \
    -case "${CASE}"


# cipsaMultiphaseEuler - faceMomentum
CASE="04_cipsaMultiphaseEuler_faceMomentum"
foamCloneCase -add validation/ BasicSetup ${CASE}
foamDictionary -entry solver -set cipsaMultiphaseEuler \
    ${CASE}/system/controlDict
foamDictionary -entry PIMPLE/faceMomentum -set true ${CASE}/system/fvSolution
${CASE}/Allrun

latestTime=$(foamListTimes -latestTime -case "${CASE}")
cp validation/U.phase1.cipsaMultiphaseEuler.faceMomentum.gz \
    "${CASE}/${latestTime}/U.phase1.ref.gz"
runApplication -s "${TESTCASE}.cipsaMultiphaseEuler.faceMomentum" \
    foamPostProcess \
    -func "deviation(field=U.phase1, reference=U.phase1.ref, maxAbsDev=2e-3)" \
    -latestTime \
    -case "${CASE}"

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