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

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

runApplication blockMesh
runApplication -s generateAlphas foamPostProcess -func generateAlphas
runApplication foamRun

# Compare to reference solution
latestTime=$(foamListTimes -latestTime)
case=$(basename "$PWD")
cp validation/alpha.airD.gz   "${latestTime}/alpha.airD.ref.gz"
cp validation/alpha.waterC.gz "${latestTime}/alpha.waterC.ref.gz"
cp 0/U.airC                   "${latestTime}/U.airC.ref"
runApplication -s "${case}.alpha.airD" foamPostProcess \
    -func \
    "deviation(field=alpha.airD, reference=alpha.airD.ref, maxAbsDev=1e-8)" \
    -latestTime
runApplication -s "${case}.alpha.waterC" foamPostProcess \
    -func \
    "deviation \
    ( \
        field=alpha.waterC, \
        reference=alpha.waterC.ref, \
        maxAbsDev=1e-8 \
    )" \
    -latestTime
runApplication -s "${case}.U.airC" foamPostProcess \
    -func "deviation(field=U.airC, reference=U.airC.ref, maxAbsDev=1e-8)" \
    -latestTime

# Create plot
( cd validation && ./createGraphs )

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