#!/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 setFields
runApplication foamRun

# Validate functionality of homogeneous heat transfer model (T.gas1 = T.gas2)
case=$(cd .. && basename "$PWD")
runApplication -s "${case}.foamRun.T" foamPostProcess -time 100 \
    -func "deviation(field=T.gas1, reference=T.gas2, maxAbsDev=0)"

# Validate with reference solution field
cp validation/reference/T.gas1.ref.gz 100/T.gas1.ref.gz
runApplication -s "${case}.foamRun.T.ref" foamPostProcess -time 100 \
    -func "deviation(field=T.gas1, reference=T.gas1.ref, maxAbsDev=0)"

# Validate against analytical solution (see README)
# With T0 = 310 K, maxAbsDev=0.1 means ~0.03% relative deviation
cp validation/reference/T.gas1.analytical.gz 100/T.gas1.analytical.gz
runApplication -s "${case}.foamRun.T.analytical" \
     foamPostProcess -time 100 \
     -func "deviation(field=T.gas1, reference=T.gas1.analytical, maxAbsDev=0.1)"

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

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