diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/Allclean b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/Allclean
new file mode 100755
index 0000000000000000000000000000000000000000..e570da4052cc732e47b23b1939d255cd7b8f4011
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/Allclean
@@ -0,0 +1,14 @@
+#!/bin/sh
+cd "${0%/*}" || exit                                # Run from this directory
+. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions      # Tutorial clean functions
+#------------------------------------------------------------------------------
+
+cleanCase0
+
+rm -rf 0.orig
+rm -rf system
+rm -rf constant
+rm -rf results
+rm -rf plots
+
+#------------------------------------------------------------------------------
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/Allrun b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/Allrun
new file mode 100755
index 0000000000000000000000000000000000000000..51d093ba4a56263d76474f37c04285e8da43b862
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/Allrun
@@ -0,0 +1,143 @@
+#!/bin/sh
+cd "${0%/*}" || exit                                # Run from this directory
+. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions        # Tutorial run functions
+. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions      # Tutorial clean functions
+#------------------------------------------------------------------------------
+
+# settings
+
+    # operand setups
+    setups="
+    0
+    10
+    20
+    30
+    40
+    50
+    60
+    70
+    80
+    85
+    "
+
+    # flag to enable computations in parallel mode
+    parallel=true
+
+
+#------------------------------------------------------------------------------
+
+#######################################
+# Collect results into a given path
+# and clean the case for the next run
+# Arguments:
+#    $1 = Path to move results
+# Outputs:
+#    Writes info to stdout
+#######################################
+collect() {
+
+    [ $# -eq 0 ] && { echo "Usage: $0 dir-model"; exit 1; }
+
+    collection="$1"
+
+    dirResult=results/"$collection"
+    dirSettings="$dirResult"/system
+
+    if [ ! -d "$dirResult" ]
+    then
+
+        echo "      # Collecting results and settings into $dirResult"
+
+        mkdir -p "$dirSettings"
+
+        mv -f $(foamListTimes) "$dirResult"
+        [ -d postProcessing ] && mv -f postProcessing "$dirResult"
+        [ -d processor0 ] && mv -f processor* "$dirResult"
+        mv -f log.* "$dirResult"
+        mv -f logs "$dirResult"
+        mv -f constant "$dirResult"/
+        cp -f system/fv* system/controlDict "$dirSettings"
+        mv -f 0/ "$dirSettings"
+
+        echo "      # Cleaning up the case"
+
+        cleanTimeDirectories
+        cleanPostProcessing
+
+    else
+
+        echo "      # Directory $dirResult already exists"
+        echo "      # Skipping the computation"
+
+    fi
+
+}
+
+
+#------------------------------------------------------------------------------
+
+for setup in $setups
+do
+
+    echo ""
+    echo "# Computations for the setup: $setup"
+    echo ""
+
+    dirSetup="setups.orig/$setup"
+
+    if [ ! -d "$dirSetup" ]
+    then
+        echo "Setup directory: $dirSetup" \
+             "could not be found - skipping execution" 1>&2
+        exit 1
+    fi
+
+    cp -rfL "$dirSetup/0.orig" .
+    cp -rfL "$dirSetup/constant" .
+    cp -rfL "$dirSetup/system" .
+    cp -rf 0.orig/ 0/
+
+    runApplication blockMesh
+
+    runApplication renumberMesh -overwrite -constant
+
+    runApplication checkMesh \
+        -allTopology -allGeometry -constant \
+        -writeAllFields -writeAllSurfaceFields
+
+
+    if [ "$parallel" = true ]
+    then
+
+        runApplication decomposePar
+
+        runParallel -s parallel renumberMesh -overwrite
+
+        runParallel $(getApplication)
+
+        runApplication reconstructPar
+
+    else
+
+        runApplication $(getApplication)
+
+    fi
+
+    # runtime sampling has problems in parallel mode (Apr 2021)
+    runApplication \
+        postProcess -func sample -latestTime
+
+    runApplication -s "epsilon" \
+        postProcess -func sampleEpsilon -latestTime
+
+    runApplication -s "G"\
+        postProcess -func sampleG -latestTime
+
+    runApplication foamLog log.$(getApplication)
+
+    collect "$setup"
+
+done
+
+
+#------------------------------------------------------------------------------
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/plot b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/plot
new file mode 100755
index 0000000000000000000000000000000000000000..153118703bf5f0f3d7342155bdf4f04c77981dbf
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/plot
@@ -0,0 +1,663 @@
+#!/bin/bash
+cd "${0%/*}" || exit                                # Run from this directory
+. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions        # Tutorial run functions
+#------------------------------------------------------------------------------
+
+# settings
+
+    # operand setups
+    setups="
+    0
+    10
+    20
+    30
+    40
+    50
+    60
+    70
+    80
+    85
+    "
+
+
+#------------------------------------------------------------------------------
+
+plot_initial_iteration_residuals() {
+
+    setup="$1"
+
+    echo "  Plotting the initial-iteration residuals for $setup"
+
+    # benchmarkFile="..."
+    samples="results/$setup/logs"
+    image="plots/$setup/initial-iteration-residuals.png"
+
+    gnuplot<<PLT_RES
+    set terminal pngcairo font "helvetica,20" size 1000, 1000
+    set grid
+    set logscale y
+    set key right top
+    set key samplen 2
+    set key spacing 0.75
+    set xlabel "Iters"
+    set ylabel "Initial-iteration residuals"
+    set offset .2, .05
+    set output "$image"
+    set title "Max non-orthogonality degree: $setup"
+
+    file_exists(file) = system("[ -f '".file."' ] && echo '1' || echo '0'") + 0
+
+    Ux="$samples/Ux_0"
+    p="$samples/p_0"
+    k="$samples/k_0"
+    omega="$samples/omega_0"
+    nuTilda="$samples/nuTilda_0"
+    gammaInt="$samples/gammaInt_0"
+    ReThetat="$samples/ReThetat_0"
+
+    if ( file_exists(k) ) {
+        if ( ! file_exists(gammaInt) ) {
+            plot \
+                Ux u 1:2 t "Ux" w l lw 2 lc rgb "#009E73", \
+                p u 1:2 t "p" w l lw 2 lc rgb "#F0E440", \
+                k u 1:2 t "k" w l lw 2 lc rgb "#0072B2", \
+                omega u 1:2 t "omega" w l lw 2 lc rgb "#D55E00"
+        } else {
+            plot \
+                Ux u 1:2 t "Ux" w l lw 2 lc rgb "#009E73", \
+                p u 1:2 t "p" w l lw 2 lc rgb "#F0E440", \
+                k u 1:2 t "k" w l lw 2 lc rgb "#0072B2", \
+                omega u 1:2 t "omega" w l lw 2 lc rgb "#D55E00", \
+                gammaInt u 1:2 t "gammaInt" w l lw 2 lc rgb "#CC79A7", \
+                ReThetat u 1:2 t "ReThetat" w l lw 2 lc rgb "#440154"
+            }
+    } else {
+        plot \
+            Ux u 1:2 t "Ux" w l lw 2 lc rgb "#009E73", \
+            p u 1:2 t "p" w l lw 2 lc rgb "#F0E440", \
+            nuTilda u 1:2 t "nuTilda" w l lw 2 lc rgb "#0072B2"
+        }
+PLT_RES
+}
+
+
+plot_final_iteration_residuals() {
+
+    setup="$1"
+
+    echo "  Plotting the final-iteration residuals for $setup"
+
+    # benchmarkFile="..."
+    samples="results/$setup/logs"
+    image="plots/$setup/final-iteration-residuals.png"
+
+    gnuplot<<PLT_RES
+    set terminal pngcairo font "helvetica,20" size 1000, 1000
+    set grid
+    set logscale y
+    set key right top
+    set key samplen 2
+    set key spacing 0.75
+    set xlabel "Iters"
+    set ylabel "Final-iteration residuals"
+    set offset .2, .05
+    set output "$image"
+    set title "Max non-orthogonality degree: $setup"
+
+    file_exists(file) = system("[ -f '".file."' ] && echo '1' || echo '0'") + 0
+
+    Ux="$samples/UxFinalRes_0"
+    p="$samples/pFinalRes_0"
+    k="$samples/kFinalRes_0"
+    omega="$samples/omegaFinalRes_0"
+    nuTilda="$samples/nuTildaFinalRes_0"
+    gammaInt="$samples/gammaIntFinalRes_0"
+    ReThetat="$samples/ReThetatFinalRes_0"
+
+    if ( file_exists(k) ) {
+        if ( ! file_exists(gammaInt) ) {
+            plot \
+                Ux u 1:2 t "Ux" w l lw 2 lc rgb "#009E73", \
+                p u 1:2 t "p" w l lw 2 lc rgb "#F0E440", \
+                k u 1:2 t "k" w l lw 2 lc rgb "#0072B2", \
+                omega u 1:2 t "omega" w l lw 2 lc rgb "#D55E00"
+        } else {
+            plot \
+                Ux u 1:2 t "Ux" w l lw 2 lc rgb "#009E73", \
+                p u 1:2 t "p" w l lw 2 lc rgb "#F0E440", \
+                k u 1:2 t "k" w l lw 2 lc rgb "#0072B2", \
+                omega u 1:2 t "omega" w l lw 2 lc rgb "#D55E00", \
+                gammaInt u 1:2 t "gammaInt" w l lw 2 lc rgb "#CC79A7", \
+                ReThetat u 1:2 t "ReThetat" w l lw 2 lc rgb "#440154"
+            }
+    } else {
+        plot \
+            Ux u 1:2 t "Ux" w l lw 2 lc rgb "#009E73", \
+            p u 1:2 t "p" w l lw 2 lc rgb "#F0E440", \
+            nuTilda u 1:2 t "nuTilda" w l lw 2 lc rgb "#0072B2"
+        }
+PLT_RES
+}
+
+
+plot_yPlus_vs_uPlus() {
+
+    setup="$1"
+    endTime="$2"
+    nu="$3"
+    uTau="$4"
+
+    # benchmarkFile="$FOAM_TUTORIALS/resources/dataset/planeChannelFlow/ReTau-395/chan395.means"
+    sampleFile="results/$setup/postProcessing/sample/$endTime/y_U.xy"
+    image="plots/$setup/yPlus_vs_uPlus.png"
+
+    gnuplot<<PLT_Y_VS_U
+    set terminal pngcairo font "helvetica,20" size 1000, 1000
+    set grid
+    set xrange [0:200]
+    set yrange [0:20]
+    set logscale x
+    set key left top reverse
+    set key samplen 2
+    set key spacing 0.75
+    set xlabel "y^+"
+    set ylabel "u^+"
+    set output "$image"
+    set title "Setup: $setup" noenhanced
+
+    # Benchmark - Experimental
+        # benchmark="$benchmarkFile"
+
+    # OpenFOAM - Numerical
+        samples="$sampleFile"
+
+
+    plot \
+        samples u (\$1*$uTau/$nu):(\$2/$uTau) t "OpenFOAM" w l lw 2 lc rgb "#4169e1"
+        # benchmark u 2:3 t "DNS" w p ps 2 pt 7 lc rgb "#ffc020"
+PLT_Y_VS_U
+}
+
+
+plot_yPlus_vs_R() {
+
+    setup="$1"
+    endTime="$2"
+    nu="$3"
+    uTau="$4"
+
+    # benchmarkFile="$FOAM_TUTORIALS/resources/dataset/planeChannelFlow/ReTau-395/chan395.reystress"
+    sampleFile="results/$setup/postProcessing/sample/$endTime/y_turbulenceProperties:R.xy"
+    sampleFileK="results/$setup/postProcessing/sample/$endTime/y_turbulenceProperties:k.xy"
+    imageUU="plots/$setup/yPlus_vs_Ruu.png"
+    imageVV="plots/$setup/yPlus_vs_Rvv.png"
+    imageWW="plots/$setup/yPlus_vs_Rww.png"
+    imageUV="plots/$setup/yPlus_vs_Ruv.png"
+    imageK0="plots/$setup/yPlus_vs_kPlus0.png"
+    imageK1="plots/$setup/yPlus_vs_kPlus1.png"
+
+    gnuplot<<PLT_Y_VS_R
+    set terminal pngcairo font "helvetica,20" size 1000, 1000
+    set grid
+    #set xrange [0:200]
+    #set yrange [0:1]
+    set logscale x
+    set key left top reverse
+    set key samplen 2
+    set key spacing 0.75
+    set xlabel "y^+"
+    set ylabel "(uu)^+"
+    set output "$imageUU"
+    set title "Setup: $setup" noenhanced
+
+    # Benchmark - Experimental
+        # benchmark="$benchmarkFile"
+
+    # OpenFOAM - Numerical
+        samples="$sampleFile"
+        samplesK="$sampleFileK"
+
+
+    plot \
+        samples u (\$1*$uTau/$nu):(\$2/$uTau**2) t "OpenFOAM" w l lw 2 lc rgb "#4169e1"
+        # benchmark u 2:3 t "DNS" w p ps 2 pt 7 lc rgb "#ffc020"
+
+    set output "$imageVV"
+    set ylabel "(vv)^+"
+    plot \
+        samples u (\$1*$uTau/$nu):(\$5/$uTau**2) t "OpenFOAM" w l lw 2 lc rgb "#4169e1"
+        # benchmark u 2:4 t "DNS" w p ps 2 pt 7 lc rgb "#ffc020"
+
+    set output "$imageWW"
+    set ylabel "(ww)^+"
+    plot \
+        samples u (\$1*$uTau/$nu):(\$7/$uTau**2) t "OpenFOAM" w l lw 2 lc rgb "#4169e1"
+        # benchmark u 2:5 t "DNS" w p ps 2 pt 7 lc rgb "#ffc020"
+
+    set output "$imageUV"
+    set ylabel "(uv)^+"
+    plot \
+        samples u (\$1*$uTau/$nu):(-\$3/$uTau**2) t "OpenFOAM" w l lw 2 lc rgb "#4169e1"
+        # benchmark u 2:(\$6*-1) t "DNS" w p ps 2 pt 7 lc rgb "#ffc020"
+
+    set output "$imageK0"
+    set ylabel "k^+"
+    plot \
+        samples u (\$1*$uTau/$nu):(0.5*(\$2 + \$5 + \$7)/$uTau**2) t "OpenFOAM" w l lw 2 lc rgb "#4169e1"
+        # benchmark u 2:(0.5*(\$3 + \$4 + \$5)) t "DNS" w p ps 2 pt 7 lc rgb "#ffc020"
+
+    set output "$imageK1"
+    set ylabel "k^+"
+    plot \
+        samplesK u (\$1*$uTau/$nu):(\$2/$uTau**2) t "OpenFOAM" w l lw 2 lc rgb "#4169e1"
+        # benchmark u 2:(0.5*(\$3 + \$4 + \$5)) t "DNS" w p ps 2 pt 7 lc rgb "#ffc020"
+PLT_Y_VS_R
+}
+
+
+plot_yPlus_vs_epsilonPlus() {
+
+    setup="$1"
+    endTime="$2"
+    nu="$3"
+    uTau="$4"
+
+    # benchmarkFile="$FOAM_TUTORIALS/resources/dataset/planeChannelFlow/ReTau-395/chan395.kbal"
+    sampleFile="results/$setup/postProcessing/sampleEpsilon/$endTime/y_turbulenceProperties:epsilon.xy"
+    image="plots/$setup/yPlus_vs_epsilonPlus.png"
+
+    gnuplot<<PLT_Y_VS_EPSILON
+    set terminal pngcairo font "helvetica,20" size 1000, 1000
+    set grid
+    #set xrange [0:200]
+    #set yrange [0:20]
+    set logscale x
+    set key left top reverse
+    set key samplen 2
+    set key spacing 0.75
+    set xlabel "y^+"
+    set ylabel "{/Symbol e}^+"
+    set output "$image"
+    set title "Setup: $setup" noenhanced
+
+    # Benchmark - Experimental
+        # benchmark="$benchmarkFile"
+
+    # OpenFOAM - Numerical
+        samples="$sampleFile"
+
+    plot \
+        samples u (\$1*$uTau/$nu):(\$2*$nu/$uTau**4) t "OpenFOAM" w l lw 2 lc rgb "#4169e1"
+        # benchmark u 2:(-\$3) t "DNS" w p ps 2 pt 7 lc rgb "#ffc020"
+PLT_Y_VS_EPSILON
+}
+
+
+plot_yPlus_vs_productionRatePlus() {
+
+    setup="$1"
+    endTime="$2"
+    nu="$3"
+    uTau="$4"
+
+    # benchmarkFile="$FOAM_TUTORIALS/resources/dataset/planeChannelFlow/ReTau-395/chan395.kbal"
+    sampleFile="results/$setup/postProcessing/sampleG/$endTime/y_productionRate.xy"
+    image="plots/$setup/yPlus_vs_productionRatePlus.png"
+
+    gnuplot<<PLT_Y_VS_PRODUCTION_RATE
+    set terminal pngcairo font "helvetica,20" size 1000, 1000
+    set grid
+    #set xrange [0:200]
+    #set yrange [0:20]
+    set logscale x
+    set key left top reverse
+    set key samplen 2
+    set key spacing 0.75
+    set xlabel "y^+"
+    set ylabel "P^+"
+    set output "$image"
+    set title "Setup: $setup" noenhanced
+
+    # Benchmark - Experimental
+        # benchmark="$benchmarkFile"
+
+    # OpenFOAM - Numerical
+        samples="$sampleFile"
+
+    plot \
+        samples u (\$1*$uTau/$nu):(\$2*$nu/$uTau**4) t "OpenFOAM" w l lw 2 lc rgb "#4169e1"
+        # benchmark u 2:4 t "DNS" w p ps 2 pt 7 lc rgb "#ffc020"
+PLT_Y_VS_PRODUCTION_RATE
+}
+
+
+plot_yPlus_vs_uPlus_all_setups() {
+
+    setups=$@
+
+    # benchmarkFile="$FOAM_TUTORIALS/resources/dataset/planeChannelFlow/ReTau-395/chan395.means"
+
+    n=0
+    for setup in $setups
+    do
+        # few manipulations
+        endTime=$(foamDictionary results/$setup/system/controlDict -entry endTime -value)
+        nu=$(foamDictionary results/$setup/constant/transportProperties -entry nu | sed 's|^.*\s\(.*\);|\1|g')
+        tau=$(foamDictionary results/$setup/$endTime/wallShearStress1:wallShearStress -entry boundaryField.bottom.value -value | sed -n '/(/,/)/p' | sed -e 's/[()]//g;/^\s*$/d' | cut -d' ' -f6)
+        uTau=$(awk -v tau="$tau" 'BEGIN { printf "%.16f", sqrt(-1*tau) }')
+
+        sampleFiles[$n]="results/$setup/postProcessing/sample/$endTime/y_U.xy"
+        nus[$n]="$nu"
+        uTaus[$n]="$uTau"
+        n=$(($n+1))
+    done
+
+    image="plots/all_setups_yPlus_vs_uPlus.png"
+
+    gnuplot<<PLT_Y_VS_U_ALL_SETUPS
+    set terminal pngcairo font "helvetica,20" size 1000, 1000
+    set grid
+    set xrange [0:200]
+    set yrange [0:20]
+    set logscale x
+    set key left top reverse
+    set key samplen 2
+    set key spacing 0.75
+    set xlabel "y^+"
+    set ylabel "u^+"
+    set output "$image"
+    set title "Ground-normal profile" noenhanced
+
+    # Benchmark - Experimental
+        # benchmark="$benchmarkFile"
+
+    # OpenFOAM - Numerical
+        models="${setups[*]}"
+        samples="${sampleFiles[*]}"
+        nus="${nus[*]}"
+        uTaus="${uTaus[*]}"
+
+    plot \
+        for [i=1:words(samples)] word(samples, i) \
+            u (\$1*word(uTaus, i)/word(nus, i)):(\$2/word(uTaus, i)) \
+            t word(models, i) w l lw 2
+        # benchmark u 2:3 t "DNS" w p ps 2 pt 7 lc rgb "#ffc020"
+PLT_Y_VS_U_ALL_SETUPS
+}
+
+
+plot_yPlus_vs_R_all_setups() {
+
+    setups=$@
+
+    # benchmarkFile="$FOAM_TUTORIALS/resources/dataset/planeChannelFlow/ReTau-395/chan395.reystress"
+
+    n=0
+    for setup in $setups
+    do
+        # few manipulations
+        endTime=$(foamDictionary results/$setup/system/controlDict -entry endTime -value)
+        nu=$(foamDictionary results/$setup/constant/transportProperties -entry nu | sed 's|^.*\s\(.*\);|\1|g')
+        tau=$(foamDictionary results/$setup/$endTime/wallShearStress1:wallShearStress -entry boundaryField.bottom.value -value | sed -n '/(/,/)/p' | sed -e 's/[()]//g;/^\s*$/d' | cut -d' ' -f6)
+        uTau=$(awk -v tau="$tau" 'BEGIN { printf "%.16f", sqrt(-1*tau) }')
+
+        sampleFiles[$n]="results/$setup/postProcessing/sample/$endTime/y_turbulenceProperties:R.xy"
+        sampleFilesK[$n]="results/$setup/postProcessing/sample/$endTime/y_turbulenceProperties:k.xy"
+        nus[$n]="$nu"
+        uTaus[$n]="$uTau"
+        n=$(($n+1))
+    done
+
+    imageUU="plots/all_setups_yPlus_vs_Ruu.png"
+    imageVV="plots/all_setups_yPlus_vs_Rvv.png"
+    imageWW="plots/all_setups_yPlus_vs_Rww.png"
+    imageUV="plots/all_setups_yPlus_vs_Ruv.png"
+    imageK0="plots/all_setups_yPlus_vs_kPlus0.png"
+    imageK1="plots/all_setups_yPlus_vs_kPlus1.png"
+
+    gnuplot<<PLT_Y_VS_R
+    set terminal pngcairo font "helvetica,20" size 1000, 1000
+    set grid
+    #set xrange [0:200]
+    #set yrange [0:1]
+    set logscale x
+    set key left top reverse
+    set key samplen 2
+    set key spacing 0.75
+    set xlabel "y^+"
+    set ylabel "(uu)^+"
+    set output "$imageUU"
+    set title "Ground-normal profile" noenhanced
+
+    # Benchmark - Experimental
+        # benchmark="$benchmarkFile"
+
+    # OpenFOAM - Numerical
+        models="${setups[*]}"
+        samples="${sampleFiles[*]}"
+        samplesK="${sampleFilesK[*]}"
+        nus="${nus[*]}"
+        uTaus="${uTaus[*]}"
+
+    plot \
+        for [i=1:words(samples)] word(samples, i) \
+            u (\$1*word(uTaus, i)/word(nus, i)):(\$2/word(uTaus, i)**2) \
+            t word(models, i) w l lw 2
+        # benchmark u 2:3 t "DNS" w p ps 2 pt 7 lc rgb "#ffc020"
+
+    set output "$imageVV"
+    set ylabel "(vv)^+"
+    plot \
+        for [i=1:words(samples)] word(samples, i) \
+            u (\$1*word(uTaus, i)/word(nus, i)):(\$5/word(uTaus, i)**2) \
+            t word(models, i) w l lw 2
+        # benchmark u 2:4 t "DNS" w p ps 2 pt 7 lc rgb "#ffc020"
+
+    set output "$imageWW"
+    set ylabel "(ww)^+"
+    plot \
+        for [i=1:words(samples)] word(samples, i) \
+            u (\$1*word(uTaus, i)/word(nus, i)):(\$7/word(uTaus, i)**2) \
+            t word(models, i) w l lw 2
+        # benchmark u 2:5 t "DNS" w p ps 2 pt 7 lc rgb "#ffc020"
+
+    set output "$imageUV"
+    set ylabel "(uv)^+"
+    plot \
+        for [i=1:words(samples)] word(samples, i) \
+            u (\$1*word(uTaus, i)/word(nus, i)):(-\$3/word(uTaus, i)**2) \
+            t word(models, i) w l lw 2
+        # benchmark u 2:(\$6*-1) t "DNS" w p ps 2 pt 7 lc rgb "#ffc020"
+
+    set output "$imageK0"
+    set ylabel "k^+"
+    plot \
+        for [i=1:words(samples)] word(samples, i) \
+            u (\$1*word(uTaus, i)/word(nus, i)):(0.5*(\$2 + \$5 + \$7)/word(uTaus, i)**2) \
+            t word(models, i) w l lw 2
+        # benchmark u 2:(0.5*(\$3 + \$4 + \$5)) t "DNS" w p ps 2 pt 7 lc rgb "#ffc020"
+
+    set output "$imageK1"
+    set ylabel "k^+"
+    plot \
+        for [i=1:words(samplesK)] word(samplesK, i) \
+            u (\$1*word(uTaus, i)/word(nus, i)):(\$2/word(uTaus, i)**2) \
+            t word(models, i) w l lw 2
+        # benchmark u 2:(0.5*(\$3 + \$4 + \$5)) t "DNS" w p ps 2 pt 7 lc rgb "#ffc020"
+PLT_Y_VS_R
+}
+
+
+plot_yPlus_vs_epsilonPlus_all_setups() {
+
+    setups=$@
+
+    # benchmarkFile="$FOAM_TUTORIALS/resources/dataset/planeChannelFlow/ReTau-395/chan395.kbal"
+
+    n=0
+    for setup in $setups
+    do
+        # few manipulations
+        endTime=$(foamDictionary results/$setup/system/controlDict -entry endTime -value)
+        nu=$(foamDictionary results/$setup/constant/transportProperties -entry nu | sed 's|^.*\s\(.*\);|\1|g')
+        tau=$(foamDictionary results/$setup/$endTime/wallShearStress1:wallShearStress -entry boundaryField.bottom.value -value | sed -n '/(/,/)/p' | sed -e 's/[()]//g;/^\s*$/d' | cut -d' ' -f6)
+        uTau=$(awk -v tau="$tau" 'BEGIN { printf "%.16f", sqrt(-1*tau) }')
+
+        sampleFiles[$n]="results/$setup/postProcessing/sampleEpsilon/$endTime/y_turbulenceProperties:epsilon.xy"
+        nus[$n]="$nu"
+        uTaus[$n]="$uTau"
+        n=$(($n+1))
+    done
+
+    image="plots/all_setups_yPlus_vs_epsilonPlus.png"
+
+    gnuplot<<PLT_Y_VS_EPSILON_ALL_SETUPS
+    set terminal pngcairo font "helvetica,20" size 1000, 1000
+    set grid
+    #set xrange [0:200]
+    #set yrange [0:20]
+    set logscale x
+    set key left top reverse
+    set key samplen 2
+    set key spacing 0.75
+    set xlabel "y^+"
+    set ylabel "{/Symbol e}^+"
+    set output "$image"
+    set title "Setup: $setup" noenhanced
+
+    # Benchmark - Experimental
+        # benchmark="$benchmarkFile"
+
+    # OpenFOAM - Numerical
+        models="${setups[*]}"
+        samples="${sampleFiles[*]}"
+        nus="${nus[*]}"
+        uTaus="${uTaus[*]}"
+
+    plot \
+        for [i=1:words(samples)] word(samples, i) \
+            u (\$1*word(uTaus, i)/word(nus, i)):(\$2*word(nus, i)/word(uTaus, i)**4) \
+            t word(models, i) w l lw 2
+        # benchmark u 2:(-\$3) t "DNS" w p ps 2 pt 7 lc rgb "#ffc020"
+PLT_Y_VS_EPSILON_ALL_SETUPS
+}
+
+
+plot_yPlus_vs_productionRatePlus_all_setups() {
+
+    setups=$@
+
+    # benchmarkFile="$FOAM_TUTORIALS/resources/dataset/planeChannelFlow/ReTau-395/chan395.kbal"
+
+    n=0
+    for setup in $setups
+    do
+        # few manipulations
+        endTime=$(foamDictionary results/$setup/system/controlDict -entry endTime -value)
+        nu=$(foamDictionary results/$setup/constant/transportProperties -entry nu | sed 's|^.*\s\(.*\);|\1|g')
+        tau=$(foamDictionary results/$setup/$endTime/wallShearStress1:wallShearStress -entry boundaryField.bottom.value -value | sed -n '/(/,/)/p' | sed -e 's/[()]//g;/^\s*$/d' | cut -d' ' -f6)
+        uTau=$(awk -v tau="$tau" 'BEGIN { printf "%.16f", sqrt(-1*tau) }')
+
+        sampleFiles[$n]="results/$setup/postProcessing/sampleG/$endTime/y_productionRate.xy"
+        nus[$n]="$nu"
+        uTaus[$n]="$uTau"
+        n=$(($n+1))
+    done
+
+    image="plots/all_setups_yPlus_vs_productionRatePlus.png"
+
+    gnuplot<<PLT_Y_VS_PRODUCTION_RATE_ALL_SETUPS
+    set terminal pngcairo font "helvetica,20" size 1000, 1000
+    set grid
+    #set xrange [0:200]
+    #set yrange [0:20]
+    set logscale x
+    set key left top reverse
+    set key samplen 2
+    set key spacing 0.75
+    set xlabel "y^+"
+    set ylabel "P^+"
+    set output "$image"
+    set title "Ground-normal profile" noenhanced
+
+    # Benchmark - Experimental
+        # benchmark="$benchmarkFile"
+
+    # OpenFOAM - Numerical
+        models="${setups[*]}"
+        samples="${sampleFiles[*]}"
+        nus="${nus[*]}"
+        uTaus="${uTaus[*]}"
+
+    plot \
+        for [i=1:words(samples)] word(samples, i) \
+            u (\$1*word(uTaus, i)/word(nus, i)):(\$2*word(nus, i)/word(uTaus, i)**4) \
+            t word(models, i) w l lw 2
+        # benchmark u 2:4 t "DNS" w p ps 2 pt 7 lc rgb "#ffc020"
+PLT_Y_VS_PRODUCTION_RATE_ALL_SETUPS
+}
+
+
+#------------------------------------------------------------------------------
+
+# Requires gnuplot
+command -v gnuplot >/dev/null || {
+    echo "gnuplot not found - skipping graph creation" 1>&2
+    exit 1
+}
+
+# Requires awk
+command -v awk >/dev/null || {
+    echo "awk not found - skipping graph creation" 1>&2
+    exit 1
+}
+
+# Check "results" directory
+[ -d "results" ] || {
+    echo "No results directory found - skipping graph creation" 1>&2
+    exit 1
+}
+
+
+#------------------------------------------------------------------------------
+
+for setup in $setups
+do
+
+    echo ""
+    echo "# Plots for the setup: $setup"
+    echo ""
+
+    dirPlots="plots/$setup"
+    [ -d "$dirPlots" ] || mkdir -p "$dirPlots"
+
+    # few manipulations
+    endTime=$(foamDictionary results/$setup/system/controlDict -entry endTime -value)
+    nu=$(foamDictionary results/$setup/constant/transportProperties -entry nu | sed 's|^.*\s\(.*\);|\1|g')
+    tau=$(foamDictionary results/$setup/$endTime/wallShearStress1:wallShearStress -entry boundaryField.bottom.value -value | sed -n '/(/,/)/p' | sed -e 's/[()]//g;/^\s*$/d' | cut -d' ' -f6)
+    uTau=$(awk -v tau="$tau" 'BEGIN { printf "%.16f", sqrt(-1*tau) }')
+
+    plot_yPlus_vs_uPlus "$setup" "$endTime" "$nu" "$uTau"
+
+    plot_yPlus_vs_R "$setup" "$endTime" "$nu" "$uTau"
+
+    plot_yPlus_vs_epsilonPlus "$setup" "$endTime" "$nu" "$uTau"
+
+    plot_yPlus_vs_productionRatePlus "$setup" "$endTime" "$nu" "$uTau"
+
+    plot_initial_iteration_residuals "$setup"
+
+    plot_final_iteration_residuals "$setup"
+
+done
+
+plot_yPlus_vs_uPlus_all_setups $setups
+
+plot_yPlus_vs_R_all_setups $setups
+
+plot_yPlus_vs_epsilonPlus_all_setups $setups
+
+plot_yPlus_vs_productionRatePlus_all_setups $setups
+
+
+#------------------------------------------------------------------------------
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/0.orig b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/0.orig
new file mode 120000
index 0000000000000000000000000000000000000000..f9966c1c82445726c8b1406d9ce800ba065a718e
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/0.orig
@@ -0,0 +1 @@
+../common/0.orig
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/constant b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/constant
new file mode 120000
index 0000000000000000000000000000000000000000..f62979488680995c237f9e4e76821042a1165ced
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/constant
@@ -0,0 +1 @@
+../common/constant
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/system/blockMeshDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/system/blockMeshDict
new file mode 100644
index 0000000000000000000000000000000000000000..4cd9e46311d7bfd4ff04fa612fd0e50ff80d0a46
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/system/blockMeshDict
@@ -0,0 +1,100 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v2012                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      blockMeshDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+scale               1;
+
+alpha               0;
+nx                  5;
+ny                  100;
+nz                  1;
+xMin                0;
+xMax                1;
+yMin                0;
+yMax                1;
+zMin                0;
+zMax                1;
+yExpansion          9.987905978;
+
+sin0                #eval{sin(degToRad($alpha))};
+cos0                #eval{cos(degToRad($alpha))};
+xMindx              #eval{$xMin + $sin0};
+xMaxdx              #eval{$xMax + $sin0};
+yMaxdy              #eval{$yMax*$cos0};
+
+vertices
+(
+    ($xMin     $yMin    $zMin)
+    ($xMax     $yMin    $zMin)
+    ($xMaxdx   $yMaxdy  $zMin)
+    ($xMindx   $yMaxdy  $zMin)
+    ($xMin     $yMin    $zMax)
+    ($xMax     $yMin    $zMax)
+    ($xMaxdx   $yMaxdy  $zMax)
+    ($xMindx   $yMaxdy  $zMax)
+);
+
+blocks
+(
+    hex (0 1 2 3 4 5 6 7) ($nx $ny $nz)  simpleGrading (1 $yExpansion 1)
+);
+
+boundary
+(
+    inlet
+    {
+        type patch;
+        faces
+        (
+            (0 4 7 3)
+        );
+    }
+    outlet
+    {
+        type patch;
+        faces
+        (
+            (2 6 5 1)
+        );
+    }
+    top
+    {
+        type symmetry;
+        faces
+        (
+            (3 7 6 2)
+        );
+    }
+    bottom
+    {
+        type wall;
+        faces
+        (
+            (1 5 4 0)
+        );
+    }
+    leftAndRight
+    {
+        type empty;
+        faces
+        (
+            (0 3 2 1)
+            (4 5 6 7)
+        );
+    }
+);
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/system/controlDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/system/controlDict
new file mode 120000
index 0000000000000000000000000000000000000000..e38bfb1f6b29ad74081447310151d1d7cb723d8c
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/system/controlDict
@@ -0,0 +1 @@
+../../common/system/controlDict
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/system/decomposeParDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/system/decomposeParDict
new file mode 120000
index 0000000000000000000000000000000000000000..9276e7939a3791b19a21ab0f390795f8b35de238
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/system/decomposeParDict
@@ -0,0 +1 @@
+../../common/system/decomposeParDict
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/system/fvSchemes b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/system/fvSchemes
new file mode 120000
index 0000000000000000000000000000000000000000..274d17e172845cf7de4dddb3e6ed0a5464d437af
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/system/fvSchemes
@@ -0,0 +1 @@
+../../common/system/fvSchemes
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/system/fvSolution b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/system/fvSolution
new file mode 120000
index 0000000000000000000000000000000000000000..504f0b1c9e2057fe941ed5718c4be80647f41b98
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/system/fvSolution
@@ -0,0 +1 @@
+../../common/system/fvSolution
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/system/sample b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/system/sample
new file mode 120000
index 0000000000000000000000000000000000000000..dd0303886fa4a0319e10028dcb3176973f68d715
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/system/sample
@@ -0,0 +1 @@
+../../common/system/sample
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/system/sampleEpsilon b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/system/sampleEpsilon
new file mode 120000
index 0000000000000000000000000000000000000000..c26b1f97d5ce7694fc6042850049abdc2a34e6b0
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/system/sampleEpsilon
@@ -0,0 +1 @@
+../../common/system/sampleEpsilon
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/system/sampleG b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/system/sampleG
new file mode 120000
index 0000000000000000000000000000000000000000..6d73a78c8452a998721af474cf47708d84a66690
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/0/system/sampleG
@@ -0,0 +1 @@
+../../common/system/sampleG
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/0.orig b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/0.orig
new file mode 120000
index 0000000000000000000000000000000000000000..f9966c1c82445726c8b1406d9ce800ba065a718e
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/0.orig
@@ -0,0 +1 @@
+../common/0.orig
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/constant b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/constant
new file mode 120000
index 0000000000000000000000000000000000000000..f62979488680995c237f9e4e76821042a1165ced
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/constant
@@ -0,0 +1 @@
+../common/constant
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/system/blockMeshDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/system/blockMeshDict
new file mode 100644
index 0000000000000000000000000000000000000000..627d7a9ee3199d62a02cedc777c7ff77afb741a7
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/system/blockMeshDict
@@ -0,0 +1,100 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v2012                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      blockMeshDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+scale               1;
+
+alpha               10;
+nx                  5;
+ny                  100;
+nz                  1;
+xMin                0;
+xMax                1;
+yMin                0;
+yMax                1;
+zMin                0;
+zMax                1;
+yExpansion          9.987905978;
+
+sin0                #eval{sin(degToRad($alpha))};
+cos0                #eval{cos(degToRad($alpha))};
+xMindx              #eval{$xMin + $sin0};
+xMaxdx              #eval{$xMax + $sin0};
+yMaxdy              #eval{$yMax*$cos0};
+
+vertices
+(
+    ($xMin     $yMin    $zMin)
+    ($xMax     $yMin    $zMin)
+    ($xMaxdx   $yMaxdy  $zMin)
+    ($xMindx   $yMaxdy  $zMin)
+    ($xMin     $yMin    $zMax)
+    ($xMax     $yMin    $zMax)
+    ($xMaxdx   $yMaxdy  $zMax)
+    ($xMindx   $yMaxdy  $zMax)
+);
+
+blocks
+(
+    hex (0 1 2 3 4 5 6 7) ($nx $ny $nz)  simpleGrading (1 $yExpansion 1)
+);
+
+boundary
+(
+    inlet
+    {
+        type patch;
+        faces
+        (
+            (0 4 7 3)
+        );
+    }
+    outlet
+    {
+        type patch;
+        faces
+        (
+            (2 6 5 1)
+        );
+    }
+    top
+    {
+        type symmetry;
+        faces
+        (
+            (3 7 6 2)
+        );
+    }
+    bottom
+    {
+        type wall;
+        faces
+        (
+            (1 5 4 0)
+        );
+    }
+    leftAndRight
+    {
+        type empty;
+        faces
+        (
+            (0 3 2 1)
+            (4 5 6 7)
+        );
+    }
+);
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/system/controlDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/system/controlDict
new file mode 120000
index 0000000000000000000000000000000000000000..e38bfb1f6b29ad74081447310151d1d7cb723d8c
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/system/controlDict
@@ -0,0 +1 @@
+../../common/system/controlDict
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/system/decomposeParDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/system/decomposeParDict
new file mode 120000
index 0000000000000000000000000000000000000000..9276e7939a3791b19a21ab0f390795f8b35de238
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/system/decomposeParDict
@@ -0,0 +1 @@
+../../common/system/decomposeParDict
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/system/fvSchemes b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/system/fvSchemes
new file mode 120000
index 0000000000000000000000000000000000000000..274d17e172845cf7de4dddb3e6ed0a5464d437af
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/system/fvSchemes
@@ -0,0 +1 @@
+../../common/system/fvSchemes
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/system/fvSolution b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/system/fvSolution
new file mode 120000
index 0000000000000000000000000000000000000000..504f0b1c9e2057fe941ed5718c4be80647f41b98
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/system/fvSolution
@@ -0,0 +1 @@
+../../common/system/fvSolution
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/system/sample b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/system/sample
new file mode 120000
index 0000000000000000000000000000000000000000..dd0303886fa4a0319e10028dcb3176973f68d715
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/system/sample
@@ -0,0 +1 @@
+../../common/system/sample
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/system/sampleEpsilon b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/system/sampleEpsilon
new file mode 120000
index 0000000000000000000000000000000000000000..c26b1f97d5ce7694fc6042850049abdc2a34e6b0
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/system/sampleEpsilon
@@ -0,0 +1 @@
+../../common/system/sampleEpsilon
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/system/sampleG b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/system/sampleG
new file mode 120000
index 0000000000000000000000000000000000000000..6d73a78c8452a998721af474cf47708d84a66690
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/10/system/sampleG
@@ -0,0 +1 @@
+../../common/system/sampleG
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/0.orig b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/0.orig
new file mode 120000
index 0000000000000000000000000000000000000000..f9966c1c82445726c8b1406d9ce800ba065a718e
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/0.orig
@@ -0,0 +1 @@
+../common/0.orig
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/constant b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/constant
new file mode 120000
index 0000000000000000000000000000000000000000..f62979488680995c237f9e4e76821042a1165ced
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/constant
@@ -0,0 +1 @@
+../common/constant
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/system/blockMeshDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/system/blockMeshDict
new file mode 100644
index 0000000000000000000000000000000000000000..73e162e2b63c5ef26358710a1f30bed20c46f498
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/system/blockMeshDict
@@ -0,0 +1,100 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v2012                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      blockMeshDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+scale               1;
+
+alpha               20;
+nx                  5;
+ny                  100;
+nz                  1;
+xMin                0;
+xMax                1;
+yMin                0;
+yMax                1;
+zMin                0;
+zMax                1;
+yExpansion          9.987905978;
+
+sin0                #eval{sin(degToRad($alpha))};
+cos0                #eval{cos(degToRad($alpha))};
+xMindx              #eval{$xMin + $sin0};
+xMaxdx              #eval{$xMax + $sin0};
+yMaxdy              #eval{$yMax*$cos0};
+
+vertices
+(
+    ($xMin     $yMin    $zMin)
+    ($xMax     $yMin    $zMin)
+    ($xMaxdx   $yMaxdy  $zMin)
+    ($xMindx   $yMaxdy  $zMin)
+    ($xMin     $yMin    $zMax)
+    ($xMax     $yMin    $zMax)
+    ($xMaxdx   $yMaxdy  $zMax)
+    ($xMindx   $yMaxdy  $zMax)
+);
+
+blocks
+(
+    hex (0 1 2 3 4 5 6 7) ($nx $ny $nz)  simpleGrading (1 $yExpansion 1)
+);
+
+boundary
+(
+    inlet
+    {
+        type patch;
+        faces
+        (
+            (0 4 7 3)
+        );
+    }
+    outlet
+    {
+        type patch;
+        faces
+        (
+            (2 6 5 1)
+        );
+    }
+    top
+    {
+        type symmetry;
+        faces
+        (
+            (3 7 6 2)
+        );
+    }
+    bottom
+    {
+        type wall;
+        faces
+        (
+            (1 5 4 0)
+        );
+    }
+    leftAndRight
+    {
+        type empty;
+        faces
+        (
+            (0 3 2 1)
+            (4 5 6 7)
+        );
+    }
+);
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/system/controlDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/system/controlDict
new file mode 120000
index 0000000000000000000000000000000000000000..e38bfb1f6b29ad74081447310151d1d7cb723d8c
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/system/controlDict
@@ -0,0 +1 @@
+../../common/system/controlDict
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/system/decomposeParDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/system/decomposeParDict
new file mode 120000
index 0000000000000000000000000000000000000000..9276e7939a3791b19a21ab0f390795f8b35de238
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/system/decomposeParDict
@@ -0,0 +1 @@
+../../common/system/decomposeParDict
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/system/fvSchemes b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/system/fvSchemes
new file mode 120000
index 0000000000000000000000000000000000000000..274d17e172845cf7de4dddb3e6ed0a5464d437af
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/system/fvSchemes
@@ -0,0 +1 @@
+../../common/system/fvSchemes
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/system/fvSolution b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/system/fvSolution
new file mode 120000
index 0000000000000000000000000000000000000000..504f0b1c9e2057fe941ed5718c4be80647f41b98
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/system/fvSolution
@@ -0,0 +1 @@
+../../common/system/fvSolution
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/system/sample b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/system/sample
new file mode 120000
index 0000000000000000000000000000000000000000..dd0303886fa4a0319e10028dcb3176973f68d715
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/system/sample
@@ -0,0 +1 @@
+../../common/system/sample
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/system/sampleEpsilon b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/system/sampleEpsilon
new file mode 120000
index 0000000000000000000000000000000000000000..c26b1f97d5ce7694fc6042850049abdc2a34e6b0
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/system/sampleEpsilon
@@ -0,0 +1 @@
+../../common/system/sampleEpsilon
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/system/sampleG b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/system/sampleG
new file mode 120000
index 0000000000000000000000000000000000000000..6d73a78c8452a998721af474cf47708d84a66690
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/20/system/sampleG
@@ -0,0 +1 @@
+../../common/system/sampleG
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/0.orig b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/0.orig
new file mode 120000
index 0000000000000000000000000000000000000000..f9966c1c82445726c8b1406d9ce800ba065a718e
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/0.orig
@@ -0,0 +1 @@
+../common/0.orig
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/constant b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/constant
new file mode 120000
index 0000000000000000000000000000000000000000..f62979488680995c237f9e4e76821042a1165ced
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/constant
@@ -0,0 +1 @@
+../common/constant
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/system/blockMeshDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/system/blockMeshDict
new file mode 100644
index 0000000000000000000000000000000000000000..f4dc91136896ede1c474d859b5ac2a312a6ad78b
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/system/blockMeshDict
@@ -0,0 +1,100 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v2012                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      blockMeshDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+scale               1;
+
+alpha               30;
+nx                  5;
+ny                  100;
+nz                  1;
+xMin                0;
+xMax                1;
+yMin                0;
+yMax                1;
+zMin                0;
+zMax                1;
+yExpansion          9.987905978;
+
+sin0                #eval{sin(degToRad($alpha))};
+cos0                #eval{cos(degToRad($alpha))};
+xMindx              #eval{$xMin + $sin0};
+xMaxdx              #eval{$xMax + $sin0};
+yMaxdy              #eval{$yMax*$cos0};
+
+vertices
+(
+    ($xMin     $yMin    $zMin)
+    ($xMax     $yMin    $zMin)
+    ($xMaxdx   $yMaxdy  $zMin)
+    ($xMindx   $yMaxdy  $zMin)
+    ($xMin     $yMin    $zMax)
+    ($xMax     $yMin    $zMax)
+    ($xMaxdx   $yMaxdy  $zMax)
+    ($xMindx   $yMaxdy  $zMax)
+);
+
+blocks
+(
+    hex (0 1 2 3 4 5 6 7) ($nx $ny $nz)  simpleGrading (1 $yExpansion 1)
+);
+
+boundary
+(
+    inlet
+    {
+        type patch;
+        faces
+        (
+            (0 4 7 3)
+        );
+    }
+    outlet
+    {
+        type patch;
+        faces
+        (
+            (2 6 5 1)
+        );
+    }
+    top
+    {
+        type symmetry;
+        faces
+        (
+            (3 7 6 2)
+        );
+    }
+    bottom
+    {
+        type wall;
+        faces
+        (
+            (1 5 4 0)
+        );
+    }
+    leftAndRight
+    {
+        type empty;
+        faces
+        (
+            (0 3 2 1)
+            (4 5 6 7)
+        );
+    }
+);
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/system/controlDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/system/controlDict
new file mode 120000
index 0000000000000000000000000000000000000000..e38bfb1f6b29ad74081447310151d1d7cb723d8c
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/system/controlDict
@@ -0,0 +1 @@
+../../common/system/controlDict
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/system/decomposeParDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/system/decomposeParDict
new file mode 120000
index 0000000000000000000000000000000000000000..9276e7939a3791b19a21ab0f390795f8b35de238
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/system/decomposeParDict
@@ -0,0 +1 @@
+../../common/system/decomposeParDict
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/system/fvSchemes b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/system/fvSchemes
new file mode 120000
index 0000000000000000000000000000000000000000..274d17e172845cf7de4dddb3e6ed0a5464d437af
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/system/fvSchemes
@@ -0,0 +1 @@
+../../common/system/fvSchemes
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/system/fvSolution b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/system/fvSolution
new file mode 120000
index 0000000000000000000000000000000000000000..504f0b1c9e2057fe941ed5718c4be80647f41b98
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/system/fvSolution
@@ -0,0 +1 @@
+../../common/system/fvSolution
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/system/sample b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/system/sample
new file mode 120000
index 0000000000000000000000000000000000000000..dd0303886fa4a0319e10028dcb3176973f68d715
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/system/sample
@@ -0,0 +1 @@
+../../common/system/sample
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/system/sampleEpsilon b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/system/sampleEpsilon
new file mode 120000
index 0000000000000000000000000000000000000000..c26b1f97d5ce7694fc6042850049abdc2a34e6b0
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/system/sampleEpsilon
@@ -0,0 +1 @@
+../../common/system/sampleEpsilon
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/system/sampleG b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/system/sampleG
new file mode 120000
index 0000000000000000000000000000000000000000..6d73a78c8452a998721af474cf47708d84a66690
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/30/system/sampleG
@@ -0,0 +1 @@
+../../common/system/sampleG
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/0.orig b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/0.orig
new file mode 120000
index 0000000000000000000000000000000000000000..f9966c1c82445726c8b1406d9ce800ba065a718e
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/0.orig
@@ -0,0 +1 @@
+../common/0.orig
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/constant b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/constant
new file mode 120000
index 0000000000000000000000000000000000000000..f62979488680995c237f9e4e76821042a1165ced
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/constant
@@ -0,0 +1 @@
+../common/constant
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/system/blockMeshDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/system/blockMeshDict
new file mode 100644
index 0000000000000000000000000000000000000000..59bbc543cc192db19c50a855888fa2670d1c571f
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/system/blockMeshDict
@@ -0,0 +1,100 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v2012                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      blockMeshDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+scale               1;
+
+alpha               40;
+nx                  5;
+ny                  100;
+nz                  1;
+xMin                0;
+xMax                1;
+yMin                0;
+yMax                1;
+zMin                0;
+zMax                1;
+yExpansion          9.987905978;
+
+sin0                #eval{sin(degToRad($alpha))};
+cos0                #eval{cos(degToRad($alpha))};
+xMindx              #eval{$xMin + $sin0};
+xMaxdx              #eval{$xMax + $sin0};
+yMaxdy              #eval{$yMax*$cos0};
+
+vertices
+(
+    ($xMin     $yMin    $zMin)
+    ($xMax     $yMin    $zMin)
+    ($xMaxdx   $yMaxdy  $zMin)
+    ($xMindx   $yMaxdy  $zMin)
+    ($xMin     $yMin    $zMax)
+    ($xMax     $yMin    $zMax)
+    ($xMaxdx   $yMaxdy  $zMax)
+    ($xMindx   $yMaxdy  $zMax)
+);
+
+blocks
+(
+    hex (0 1 2 3 4 5 6 7) ($nx $ny $nz)  simpleGrading (1 $yExpansion 1)
+);
+
+boundary
+(
+    inlet
+    {
+        type patch;
+        faces
+        (
+            (0 4 7 3)
+        );
+    }
+    outlet
+    {
+        type patch;
+        faces
+        (
+            (2 6 5 1)
+        );
+    }
+    top
+    {
+        type symmetry;
+        faces
+        (
+            (3 7 6 2)
+        );
+    }
+    bottom
+    {
+        type wall;
+        faces
+        (
+            (1 5 4 0)
+        );
+    }
+    leftAndRight
+    {
+        type empty;
+        faces
+        (
+            (0 3 2 1)
+            (4 5 6 7)
+        );
+    }
+);
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/system/controlDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/system/controlDict
new file mode 120000
index 0000000000000000000000000000000000000000..e38bfb1f6b29ad74081447310151d1d7cb723d8c
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/system/controlDict
@@ -0,0 +1 @@
+../../common/system/controlDict
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/system/decomposeParDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/system/decomposeParDict
new file mode 120000
index 0000000000000000000000000000000000000000..9276e7939a3791b19a21ab0f390795f8b35de238
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/system/decomposeParDict
@@ -0,0 +1 @@
+../../common/system/decomposeParDict
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/system/fvSchemes b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/system/fvSchemes
new file mode 120000
index 0000000000000000000000000000000000000000..274d17e172845cf7de4dddb3e6ed0a5464d437af
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/system/fvSchemes
@@ -0,0 +1 @@
+../../common/system/fvSchemes
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/system/fvSolution b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/system/fvSolution
new file mode 120000
index 0000000000000000000000000000000000000000..504f0b1c9e2057fe941ed5718c4be80647f41b98
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/system/fvSolution
@@ -0,0 +1 @@
+../../common/system/fvSolution
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/system/sample b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/system/sample
new file mode 120000
index 0000000000000000000000000000000000000000..dd0303886fa4a0319e10028dcb3176973f68d715
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/system/sample
@@ -0,0 +1 @@
+../../common/system/sample
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/system/sampleEpsilon b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/system/sampleEpsilon
new file mode 120000
index 0000000000000000000000000000000000000000..c26b1f97d5ce7694fc6042850049abdc2a34e6b0
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/system/sampleEpsilon
@@ -0,0 +1 @@
+../../common/system/sampleEpsilon
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/system/sampleG b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/system/sampleG
new file mode 120000
index 0000000000000000000000000000000000000000..6d73a78c8452a998721af474cf47708d84a66690
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/40/system/sampleG
@@ -0,0 +1 @@
+../../common/system/sampleG
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/0.orig b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/0.orig
new file mode 120000
index 0000000000000000000000000000000000000000..f9966c1c82445726c8b1406d9ce800ba065a718e
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/0.orig
@@ -0,0 +1 @@
+../common/0.orig
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/constant b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/constant
new file mode 120000
index 0000000000000000000000000000000000000000..f62979488680995c237f9e4e76821042a1165ced
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/constant
@@ -0,0 +1 @@
+../common/constant
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/system/blockMeshDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/system/blockMeshDict
new file mode 100644
index 0000000000000000000000000000000000000000..b8ed3c6cf4833cc7c729c8e30908dd47607243d5
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/system/blockMeshDict
@@ -0,0 +1,100 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v2012                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      blockMeshDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+scale               1;
+
+alpha               50;
+nx                  5;
+ny                  100;
+nz                  1;
+xMin                0;
+xMax                1;
+yMin                0;
+yMax                1;
+zMin                0;
+zMax                1;
+yExpansion          9.987905978;
+
+sin0                #eval{sin(degToRad($alpha))};
+cos0                #eval{cos(degToRad($alpha))};
+xMindx              #eval{$xMin + $sin0};
+xMaxdx              #eval{$xMax + $sin0};
+yMaxdy              #eval{$yMax*$cos0};
+
+vertices
+(
+    ($xMin     $yMin    $zMin)
+    ($xMax     $yMin    $zMin)
+    ($xMaxdx   $yMaxdy  $zMin)
+    ($xMindx   $yMaxdy  $zMin)
+    ($xMin     $yMin    $zMax)
+    ($xMax     $yMin    $zMax)
+    ($xMaxdx   $yMaxdy  $zMax)
+    ($xMindx   $yMaxdy  $zMax)
+);
+
+blocks
+(
+    hex (0 1 2 3 4 5 6 7) ($nx $ny $nz)  simpleGrading (1 $yExpansion 1)
+);
+
+boundary
+(
+    inlet
+    {
+        type patch;
+        faces
+        (
+            (0 4 7 3)
+        );
+    }
+    outlet
+    {
+        type patch;
+        faces
+        (
+            (2 6 5 1)
+        );
+    }
+    top
+    {
+        type symmetry;
+        faces
+        (
+            (3 7 6 2)
+        );
+    }
+    bottom
+    {
+        type wall;
+        faces
+        (
+            (1 5 4 0)
+        );
+    }
+    leftAndRight
+    {
+        type empty;
+        faces
+        (
+            (0 3 2 1)
+            (4 5 6 7)
+        );
+    }
+);
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/system/controlDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/system/controlDict
new file mode 120000
index 0000000000000000000000000000000000000000..e38bfb1f6b29ad74081447310151d1d7cb723d8c
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/system/controlDict
@@ -0,0 +1 @@
+../../common/system/controlDict
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/system/decomposeParDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/system/decomposeParDict
new file mode 120000
index 0000000000000000000000000000000000000000..9276e7939a3791b19a21ab0f390795f8b35de238
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/system/decomposeParDict
@@ -0,0 +1 @@
+../../common/system/decomposeParDict
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/system/fvSchemes b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/system/fvSchemes
new file mode 120000
index 0000000000000000000000000000000000000000..274d17e172845cf7de4dddb3e6ed0a5464d437af
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/system/fvSchemes
@@ -0,0 +1 @@
+../../common/system/fvSchemes
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/system/fvSolution b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/system/fvSolution
new file mode 120000
index 0000000000000000000000000000000000000000..504f0b1c9e2057fe941ed5718c4be80647f41b98
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/system/fvSolution
@@ -0,0 +1 @@
+../../common/system/fvSolution
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/system/sample b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/system/sample
new file mode 120000
index 0000000000000000000000000000000000000000..dd0303886fa4a0319e10028dcb3176973f68d715
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/system/sample
@@ -0,0 +1 @@
+../../common/system/sample
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/system/sampleEpsilon b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/system/sampleEpsilon
new file mode 120000
index 0000000000000000000000000000000000000000..c26b1f97d5ce7694fc6042850049abdc2a34e6b0
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/system/sampleEpsilon
@@ -0,0 +1 @@
+../../common/system/sampleEpsilon
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/system/sampleG b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/system/sampleG
new file mode 120000
index 0000000000000000000000000000000000000000..6d73a78c8452a998721af474cf47708d84a66690
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/50/system/sampleG
@@ -0,0 +1 @@
+../../common/system/sampleG
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/0.orig b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/0.orig
new file mode 120000
index 0000000000000000000000000000000000000000..f9966c1c82445726c8b1406d9ce800ba065a718e
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/0.orig
@@ -0,0 +1 @@
+../common/0.orig
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/constant b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/constant
new file mode 120000
index 0000000000000000000000000000000000000000..f62979488680995c237f9e4e76821042a1165ced
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/constant
@@ -0,0 +1 @@
+../common/constant
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/system/blockMeshDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/system/blockMeshDict
new file mode 100644
index 0000000000000000000000000000000000000000..084c8fb332a555f39653ef50ebfe5e6b2185f8cb
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/system/blockMeshDict
@@ -0,0 +1,100 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v2012                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      blockMeshDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+scale               1;
+
+alpha               60;
+nx                  5;
+ny                  100;
+nz                  1;
+xMin                0;
+xMax                1;
+yMin                0;
+yMax                1;
+zMin                0;
+zMax                1;
+yExpansion          9.987905978;
+
+sin0                #eval{sin(degToRad($alpha))};
+cos0                #eval{cos(degToRad($alpha))};
+xMindx              #eval{$xMin + $sin0};
+xMaxdx              #eval{$xMax + $sin0};
+yMaxdy              #eval{$yMax*$cos0};
+
+vertices
+(
+    ($xMin     $yMin    $zMin)
+    ($xMax     $yMin    $zMin)
+    ($xMaxdx   $yMaxdy  $zMin)
+    ($xMindx   $yMaxdy  $zMin)
+    ($xMin     $yMin    $zMax)
+    ($xMax     $yMin    $zMax)
+    ($xMaxdx   $yMaxdy  $zMax)
+    ($xMindx   $yMaxdy  $zMax)
+);
+
+blocks
+(
+    hex (0 1 2 3 4 5 6 7) ($nx $ny $nz)  simpleGrading (1 $yExpansion 1)
+);
+
+boundary
+(
+    inlet
+    {
+        type patch;
+        faces
+        (
+            (0 4 7 3)
+        );
+    }
+    outlet
+    {
+        type patch;
+        faces
+        (
+            (2 6 5 1)
+        );
+    }
+    top
+    {
+        type symmetry;
+        faces
+        (
+            (3 7 6 2)
+        );
+    }
+    bottom
+    {
+        type wall;
+        faces
+        (
+            (1 5 4 0)
+        );
+    }
+    leftAndRight
+    {
+        type empty;
+        faces
+        (
+            (0 3 2 1)
+            (4 5 6 7)
+        );
+    }
+);
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/system/controlDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/system/controlDict
new file mode 120000
index 0000000000000000000000000000000000000000..e38bfb1f6b29ad74081447310151d1d7cb723d8c
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/system/controlDict
@@ -0,0 +1 @@
+../../common/system/controlDict
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/system/decomposeParDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/system/decomposeParDict
new file mode 120000
index 0000000000000000000000000000000000000000..9276e7939a3791b19a21ab0f390795f8b35de238
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/system/decomposeParDict
@@ -0,0 +1 @@
+../../common/system/decomposeParDict
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/system/fvSchemes b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/system/fvSchemes
new file mode 120000
index 0000000000000000000000000000000000000000..274d17e172845cf7de4dddb3e6ed0a5464d437af
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/system/fvSchemes
@@ -0,0 +1 @@
+../../common/system/fvSchemes
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/system/fvSolution b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/system/fvSolution
new file mode 120000
index 0000000000000000000000000000000000000000..504f0b1c9e2057fe941ed5718c4be80647f41b98
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/system/fvSolution
@@ -0,0 +1 @@
+../../common/system/fvSolution
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/system/sample b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/system/sample
new file mode 120000
index 0000000000000000000000000000000000000000..dd0303886fa4a0319e10028dcb3176973f68d715
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/system/sample
@@ -0,0 +1 @@
+../../common/system/sample
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/system/sampleEpsilon b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/system/sampleEpsilon
new file mode 120000
index 0000000000000000000000000000000000000000..c26b1f97d5ce7694fc6042850049abdc2a34e6b0
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/system/sampleEpsilon
@@ -0,0 +1 @@
+../../common/system/sampleEpsilon
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/system/sampleG b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/system/sampleG
new file mode 120000
index 0000000000000000000000000000000000000000..6d73a78c8452a998721af474cf47708d84a66690
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/60/system/sampleG
@@ -0,0 +1 @@
+../../common/system/sampleG
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/0.orig b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/0.orig
new file mode 120000
index 0000000000000000000000000000000000000000..f9966c1c82445726c8b1406d9ce800ba065a718e
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/0.orig
@@ -0,0 +1 @@
+../common/0.orig
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/constant b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/constant
new file mode 120000
index 0000000000000000000000000000000000000000..f62979488680995c237f9e4e76821042a1165ced
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/constant
@@ -0,0 +1 @@
+../common/constant
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/system/blockMeshDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/system/blockMeshDict
new file mode 100644
index 0000000000000000000000000000000000000000..6e484519c18d21789a620dc2e3a053abf4f54904
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/system/blockMeshDict
@@ -0,0 +1,100 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v2012                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      blockMeshDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+scale               1;
+
+alpha               70;
+nx                  5;
+ny                  100;
+nz                  1;
+xMin                0;
+xMax                1;
+yMin                0;
+yMax                1;
+zMin                0;
+zMax                1;
+yExpansion          9.987905978;
+
+sin0                #eval{sin(degToRad($alpha))};
+cos0                #eval{cos(degToRad($alpha))};
+xMindx              #eval{$xMin + $sin0};
+xMaxdx              #eval{$xMax + $sin0};
+yMaxdy              #eval{$yMax*$cos0};
+
+vertices
+(
+    ($xMin     $yMin    $zMin)
+    ($xMax     $yMin    $zMin)
+    ($xMaxdx   $yMaxdy  $zMin)
+    ($xMindx   $yMaxdy  $zMin)
+    ($xMin     $yMin    $zMax)
+    ($xMax     $yMin    $zMax)
+    ($xMaxdx   $yMaxdy  $zMax)
+    ($xMindx   $yMaxdy  $zMax)
+);
+
+blocks
+(
+    hex (0 1 2 3 4 5 6 7) ($nx $ny $nz)  simpleGrading (1 $yExpansion 1)
+);
+
+boundary
+(
+    inlet
+    {
+        type patch;
+        faces
+        (
+            (0 4 7 3)
+        );
+    }
+    outlet
+    {
+        type patch;
+        faces
+        (
+            (2 6 5 1)
+        );
+    }
+    top
+    {
+        type symmetry;
+        faces
+        (
+            (3 7 6 2)
+        );
+    }
+    bottom
+    {
+        type wall;
+        faces
+        (
+            (1 5 4 0)
+        );
+    }
+    leftAndRight
+    {
+        type empty;
+        faces
+        (
+            (0 3 2 1)
+            (4 5 6 7)
+        );
+    }
+);
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/system/controlDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/system/controlDict
new file mode 120000
index 0000000000000000000000000000000000000000..e38bfb1f6b29ad74081447310151d1d7cb723d8c
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/system/controlDict
@@ -0,0 +1 @@
+../../common/system/controlDict
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/system/decomposeParDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/system/decomposeParDict
new file mode 120000
index 0000000000000000000000000000000000000000..9276e7939a3791b19a21ab0f390795f8b35de238
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/system/decomposeParDict
@@ -0,0 +1 @@
+../../common/system/decomposeParDict
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/system/fvSchemes b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/system/fvSchemes
new file mode 120000
index 0000000000000000000000000000000000000000..274d17e172845cf7de4dddb3e6ed0a5464d437af
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/system/fvSchemes
@@ -0,0 +1 @@
+../../common/system/fvSchemes
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/system/fvSolution b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/system/fvSolution
new file mode 120000
index 0000000000000000000000000000000000000000..504f0b1c9e2057fe941ed5718c4be80647f41b98
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/system/fvSolution
@@ -0,0 +1 @@
+../../common/system/fvSolution
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/system/sample b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/system/sample
new file mode 120000
index 0000000000000000000000000000000000000000..dd0303886fa4a0319e10028dcb3176973f68d715
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/system/sample
@@ -0,0 +1 @@
+../../common/system/sample
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/system/sampleEpsilon b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/system/sampleEpsilon
new file mode 120000
index 0000000000000000000000000000000000000000..c26b1f97d5ce7694fc6042850049abdc2a34e6b0
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/system/sampleEpsilon
@@ -0,0 +1 @@
+../../common/system/sampleEpsilon
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/system/sampleG b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/system/sampleG
new file mode 120000
index 0000000000000000000000000000000000000000..6d73a78c8452a998721af474cf47708d84a66690
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/70/system/sampleG
@@ -0,0 +1 @@
+../../common/system/sampleG
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/0.orig b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/0.orig
new file mode 120000
index 0000000000000000000000000000000000000000..f9966c1c82445726c8b1406d9ce800ba065a718e
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/0.orig
@@ -0,0 +1 @@
+../common/0.orig
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/constant b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/constant
new file mode 120000
index 0000000000000000000000000000000000000000..f62979488680995c237f9e4e76821042a1165ced
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/constant
@@ -0,0 +1 @@
+../common/constant
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/system/blockMeshDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/system/blockMeshDict
new file mode 100644
index 0000000000000000000000000000000000000000..c2e7c0f44e10056153b25862f5ebc8feeba6499a
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/system/blockMeshDict
@@ -0,0 +1,100 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v2012                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      blockMeshDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+scale               1;
+
+alpha               80;
+nx                  5;
+ny                  100;
+nz                  1;
+xMin                0;
+xMax                1;
+yMin                0;
+yMax                1;
+zMin                0;
+zMax                1;
+yExpansion          9.987905978;
+
+sin0                #eval{sin(degToRad($alpha))};
+cos0                #eval{cos(degToRad($alpha))};
+xMindx              #eval{$xMin + $sin0};
+xMaxdx              #eval{$xMax + $sin0};
+yMaxdy              #eval{$yMax*$cos0};
+
+vertices
+(
+    ($xMin     $yMin    $zMin)
+    ($xMax     $yMin    $zMin)
+    ($xMaxdx   $yMaxdy  $zMin)
+    ($xMindx   $yMaxdy  $zMin)
+    ($xMin     $yMin    $zMax)
+    ($xMax     $yMin    $zMax)
+    ($xMaxdx   $yMaxdy  $zMax)
+    ($xMindx   $yMaxdy  $zMax)
+);
+
+blocks
+(
+    hex (0 1 2 3 4 5 6 7) ($nx $ny $nz)  simpleGrading (1 $yExpansion 1)
+);
+
+boundary
+(
+    inlet
+    {
+        type patch;
+        faces
+        (
+            (0 4 7 3)
+        );
+    }
+    outlet
+    {
+        type patch;
+        faces
+        (
+            (2 6 5 1)
+        );
+    }
+    top
+    {
+        type symmetry;
+        faces
+        (
+            (3 7 6 2)
+        );
+    }
+    bottom
+    {
+        type wall;
+        faces
+        (
+            (1 5 4 0)
+        );
+    }
+    leftAndRight
+    {
+        type empty;
+        faces
+        (
+            (0 3 2 1)
+            (4 5 6 7)
+        );
+    }
+);
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/system/controlDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/system/controlDict
new file mode 120000
index 0000000000000000000000000000000000000000..e38bfb1f6b29ad74081447310151d1d7cb723d8c
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/system/controlDict
@@ -0,0 +1 @@
+../../common/system/controlDict
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/system/decomposeParDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/system/decomposeParDict
new file mode 120000
index 0000000000000000000000000000000000000000..9276e7939a3791b19a21ab0f390795f8b35de238
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/system/decomposeParDict
@@ -0,0 +1 @@
+../../common/system/decomposeParDict
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/system/fvSchemes b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/system/fvSchemes
new file mode 120000
index 0000000000000000000000000000000000000000..274d17e172845cf7de4dddb3e6ed0a5464d437af
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/system/fvSchemes
@@ -0,0 +1 @@
+../../common/system/fvSchemes
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/system/fvSolution b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/system/fvSolution
new file mode 120000
index 0000000000000000000000000000000000000000..504f0b1c9e2057fe941ed5718c4be80647f41b98
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/system/fvSolution
@@ -0,0 +1 @@
+../../common/system/fvSolution
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/system/sample b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/system/sample
new file mode 120000
index 0000000000000000000000000000000000000000..dd0303886fa4a0319e10028dcb3176973f68d715
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/system/sample
@@ -0,0 +1 @@
+../../common/system/sample
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/system/sampleEpsilon b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/system/sampleEpsilon
new file mode 120000
index 0000000000000000000000000000000000000000..c26b1f97d5ce7694fc6042850049abdc2a34e6b0
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/system/sampleEpsilon
@@ -0,0 +1 @@
+../../common/system/sampleEpsilon
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/system/sampleG b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/system/sampleG
new file mode 120000
index 0000000000000000000000000000000000000000..6d73a78c8452a998721af474cf47708d84a66690
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/80/system/sampleG
@@ -0,0 +1 @@
+../../common/system/sampleG
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/0.orig b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/0.orig
new file mode 120000
index 0000000000000000000000000000000000000000..f9966c1c82445726c8b1406d9ce800ba065a718e
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/0.orig
@@ -0,0 +1 @@
+../common/0.orig
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/constant b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/constant
new file mode 120000
index 0000000000000000000000000000000000000000..f62979488680995c237f9e4e76821042a1165ced
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/constant
@@ -0,0 +1 @@
+../common/constant
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/system/blockMeshDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/system/blockMeshDict
new file mode 100644
index 0000000000000000000000000000000000000000..f31baa38c2ac888f511faacd6032b8a562d55381
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/system/blockMeshDict
@@ -0,0 +1,100 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v2012                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      blockMeshDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+scale               1;
+
+alpha               85;
+nx                  5;
+ny                  100;
+nz                  1;
+xMin                0;
+xMax                1;
+yMin                0;
+yMax                1;
+zMin                0;
+zMax                1;
+yExpansion          9.987905978;
+
+sin0                #eval{sin(degToRad($alpha))};
+cos0                #eval{cos(degToRad($alpha))};
+xMindx              #eval{$xMin + $sin0};
+xMaxdx              #eval{$xMax + $sin0};
+yMaxdy              #eval{$yMax*$cos0};
+
+vertices
+(
+    ($xMin     $yMin    $zMin)
+    ($xMax     $yMin    $zMin)
+    ($xMaxdx   $yMaxdy  $zMin)
+    ($xMindx   $yMaxdy  $zMin)
+    ($xMin     $yMin    $zMax)
+    ($xMax     $yMin    $zMax)
+    ($xMaxdx   $yMaxdy  $zMax)
+    ($xMindx   $yMaxdy  $zMax)
+);
+
+blocks
+(
+    hex (0 1 2 3 4 5 6 7) ($nx $ny $nz)  simpleGrading (1 $yExpansion 1)
+);
+
+boundary
+(
+    inlet
+    {
+        type patch;
+        faces
+        (
+            (0 4 7 3)
+        );
+    }
+    outlet
+    {
+        type patch;
+        faces
+        (
+            (2 6 5 1)
+        );
+    }
+    top
+    {
+        type symmetry;
+        faces
+        (
+            (3 7 6 2)
+        );
+    }
+    bottom
+    {
+        type wall;
+        faces
+        (
+            (1 5 4 0)
+        );
+    }
+    leftAndRight
+    {
+        type empty;
+        faces
+        (
+            (0 3 2 1)
+            (4 5 6 7)
+        );
+    }
+);
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/system/controlDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/system/controlDict
new file mode 120000
index 0000000000000000000000000000000000000000..e38bfb1f6b29ad74081447310151d1d7cb723d8c
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/system/controlDict
@@ -0,0 +1 @@
+../../common/system/controlDict
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/system/decomposeParDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/system/decomposeParDict
new file mode 120000
index 0000000000000000000000000000000000000000..9276e7939a3791b19a21ab0f390795f8b35de238
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/system/decomposeParDict
@@ -0,0 +1 @@
+../../common/system/decomposeParDict
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/system/fvSchemes b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/system/fvSchemes
new file mode 120000
index 0000000000000000000000000000000000000000..274d17e172845cf7de4dddb3e6ed0a5464d437af
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/system/fvSchemes
@@ -0,0 +1 @@
+../../common/system/fvSchemes
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/system/fvSolution b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/system/fvSolution
new file mode 120000
index 0000000000000000000000000000000000000000..504f0b1c9e2057fe941ed5718c4be80647f41b98
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/system/fvSolution
@@ -0,0 +1 @@
+../../common/system/fvSolution
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/system/sample b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/system/sample
new file mode 120000
index 0000000000000000000000000000000000000000..dd0303886fa4a0319e10028dcb3176973f68d715
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/system/sample
@@ -0,0 +1 @@
+../../common/system/sample
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/system/sampleEpsilon b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/system/sampleEpsilon
new file mode 120000
index 0000000000000000000000000000000000000000..c26b1f97d5ce7694fc6042850049abdc2a34e6b0
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/system/sampleEpsilon
@@ -0,0 +1 @@
+../../common/system/sampleEpsilon
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/system/sampleG b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/system/sampleG
new file mode 120000
index 0000000000000000000000000000000000000000..6d73a78c8452a998721af474cf47708d84a66690
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/85/system/sampleG
@@ -0,0 +1 @@
+../../common/system/sampleG
\ No newline at end of file
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/0.orig/U b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/0.orig/U
new file mode 100644
index 0000000000000000000000000000000000000000..e59fd7e55a9c58e94962a2723e57553eb4c4b190
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/0.orig/U
@@ -0,0 +1,51 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v2012                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volVectorField;
+    object      U;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 1 -1 0 0 0 0];
+
+internalField   uniform (0 0 0);
+
+boundaryField
+{
+    bottom
+    {
+        type            fixedValue;
+        value           uniform (0 0 0);
+    }
+
+    top
+    {
+        type            symmetry;
+    }
+
+    inlet
+    {
+        type            zeroGradient;
+    }
+
+    outlet
+    {
+        type            zeroGradient;
+    }
+
+    leftAndRight
+    {
+        type            empty;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/0.orig/k b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/0.orig/k
new file mode 100644
index 0000000000000000000000000000000000000000..02f18bd113f735110611b608beea8ccde976e1ec
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/0.orig/k
@@ -0,0 +1,51 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v2012                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      k;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 2 -2 0 0 0 0];
+
+internalField   uniform 0.325;
+
+boundaryField
+{
+    bottom
+    {
+        type            fixedValue;
+        value           uniform 1e-10;
+    }
+
+    top
+    {
+        type            symmetry;
+    }
+
+    inlet
+    {
+        type            zeroGradient;
+    }
+
+    outlet
+    {
+        type            zeroGradient;
+    }
+
+    leftAndRight
+    {
+        type            empty;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/0.orig/nut b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/0.orig/nut
new file mode 100644
index 0000000000000000000000000000000000000000..3cd40c660ba8fe0c25ea01e82d768fc1b5a99991
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/0.orig/nut
@@ -0,0 +1,53 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v2012                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      nut;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 2 -1 0 0 0 0];
+
+internalField   uniform  0;
+
+boundaryField
+{
+    bottom
+    {
+        type            nutLowReWallFunction;
+        value           $internalField;
+    }
+
+    top
+    {
+        type            symmetry;
+    }
+
+    inlet
+    {
+        type            calculated;
+        value           $internalField;
+    }
+
+    outlet
+    {
+        type            calculated;
+        value           $internalField;
+    }
+
+    leftAndRight
+    {
+        type            empty;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/0.orig/omega b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/0.orig/omega
new file mode 100644
index 0000000000000000000000000000000000000000..bd6cc86d94e2b7b7cb8a1cfeef861f9e3c8a6e6b
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/0.orig/omega
@@ -0,0 +1,51 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v2012                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      omega;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 0 -1 0 0 0 0];
+
+internalField   uniform 400;
+
+boundaryField
+{
+    bottom
+    {
+        type            omegaWallFunction;
+        value           $internalField;
+    }
+
+    top
+    {
+        type            symmetry;
+    }
+
+    inlet
+    {
+        type            zeroGradient;
+    }
+
+    outlet
+    {
+        type            zeroGradient;
+    }
+
+    leftAndRight
+    {
+        type            empty;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/0.orig/p b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/0.orig/p
new file mode 100644
index 0000000000000000000000000000000000000000..7b156f28664997267eac1d674a6047d4db6be8b9
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/0.orig/p
@@ -0,0 +1,52 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v2012                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       volScalarField;
+    object      p;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+dimensions      [0 2 -2 0 0 0 0];
+
+internalField   uniform 0;
+
+boundaryField
+{
+    bottom
+    {
+        type            zeroGradient;
+    }
+
+    top
+    {
+        type            symmetry;
+    }
+
+    inlet
+    {
+        type            fixedValue;
+        value           uniform 1.0;
+    }
+
+    outlet
+    {
+        type            fixedValue;
+        value           uniform 0.0;
+    }
+
+    leftAndRight
+    {
+        type            empty;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/constant/transportProperties b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/constant/transportProperties
new file mode 100644
index 0000000000000000000000000000000000000000..8cf1ea6cbdbd0ba53ba39bb1e9a5ec0c88c1d2dd
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/constant/transportProperties
@@ -0,0 +1,22 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v2012                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      transportProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+transportModel  Newtonian;
+
+nu              0.0025494595145829;
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/constant/turbulenceProperties b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/constant/turbulenceProperties
new file mode 100644
index 0000000000000000000000000000000000000000..46a32a743ffced92a7136d1c241f69d411dba6c6
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/constant/turbulenceProperties
@@ -0,0 +1,25 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v2012                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      turbulenceProperties;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+simulationType  RAS;
+
+RAS
+{
+    RASModel    kOmegaSST;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/system/controlDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/system/controlDict
new file mode 100644
index 0000000000000000000000000000000000000000..82e68c390e0736ee6469833ca64b06f3021be828
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/system/controlDict
@@ -0,0 +1,151 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v2012                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      controlDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+application     simpleFoam;
+
+startFrom       latestTime;
+
+startTime       0;
+
+stopAt          endTime;
+
+endTime         50000;
+
+deltaT          1;
+
+writeControl    timeStep;
+
+writeInterval   50000;
+
+purgeWrite      1;
+
+writeFormat     ascii;
+
+writePrecision  16;
+
+writeCompression off;
+
+timeFormat      general;
+
+timePrecision   8;
+
+runTimeModifiable false;
+
+functions
+{
+    fieldMinMax1
+    {
+        type            fieldMinMax;
+        libs            (fieldFunctionObjects);
+        writeToFile     no;
+        log             yes;
+        location        yes;
+        mode            magnitude;
+        fields          ( p U );
+    }
+
+    wallShearStress1
+    {
+        type            wallShearStress;
+        libs            (fieldFunctionObjects);
+        patches         ( bottom );
+        executeControl  writeTime;
+        writeControl    writeTime;
+    }
+
+    yPlus1
+    {
+        type            yPlus;
+        libs            (fieldFunctionObjects);
+        executeControl  writeTime;
+        writeControl    writeTime;
+    }
+
+    writeCellCentres1
+    {
+        type            writeCellCentres;
+        libs            (fieldFunctionObjects);
+        executeControl  onEnd;
+        writeControl    onEnd;
+    }
+
+    turbulenceFields1
+    {
+        type            turbulenceFields;
+        libs            (fieldFunctionObjects);
+        fields          ( k epsilon R );
+        executeControl  writeTime;
+        writeControl    writeTime;
+    }
+
+    productionRate1
+    {
+        type            coded;
+        libs            (utilityFunctionObjects);
+        name            productionRate;
+        writeControl    writeTime;
+
+        codeExecute
+        #{
+            static autoPtr<volScalarField> productionRate;
+            if
+            (
+                mesh().time().timeIndex() == 1
+                ||
+                mesh().time().startTimeIndex() == mesh().time().timeIndex() - 1
+            )
+            {
+                Info<< "Create production rate field" << nl;
+                productionRate.set
+                (
+                    new volScalarField
+                    (
+                        IOobject
+                        (
+                            "productionRate",
+                            mesh().time().timeName(),
+                            mesh(),
+                            IOobject::NO_READ,
+                            IOobject::AUTO_WRITE
+                        ),
+                        mesh(),
+                        sqr(dimLength)/pow(dimTime, 3)
+                    )
+                );
+            }
+
+            if
+            (
+                mesh().time().timeIndex() != 1
+             && mesh().time().timeIndex() > 1 // = timeStart
+            )
+            {
+                Info<< "Computing production rate field\n" << endl;
+
+                auto& prod =
+                    mesh().lookupObjectRef<volScalarField>("productionRate");
+
+                const auto& nut = mesh().lookupObject<volScalarField>("nut");
+                const auto& U = mesh().lookupObject<volVectorField>("U");
+
+                prod = 2*nut*(symm(fvc::grad(U)) && symm(fvc::grad(U)));
+            }
+        #};
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/system/decomposeParDict b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/system/decomposeParDict
new file mode 100644
index 0000000000000000000000000000000000000000..1f6fb39517753c4670113e88755a978865da0736
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/system/decomposeParDict
@@ -0,0 +1,22 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v2012                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      decomposeParDict;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+numberOfSubdomains  2;
+
+method              scotch;
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/system/fvSchemes b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/system/fvSchemes
new file mode 100644
index 0000000000000000000000000000000000000000..a13d605795331b3d89463ca86bac8a467a6509a2
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/system/fvSchemes
@@ -0,0 +1,75 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v2012                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      fvSchemes;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+ddtSchemes
+{
+    default         steadyState;
+}
+
+gradSchemes
+{
+    default         Gauss linear;
+    grad(U)         cellLimited Gauss linear 1;
+    grad(k)         cellLimited Gauss linear 1;
+    grad(omega)     cellLimited Gauss linear 1;
+}
+
+divSchemes
+{
+    default         none;
+    div(phi,U)      bounded Gauss linearUpwind grad(U);
+
+    turbulence      bounded Gauss limitedLinear 1;
+
+    div(phi,k)      $turbulence;
+    div(phi,omega)  $turbulence;
+    div(phi,nuTilda) $turbulence;
+    div(phi,epsilon) $turbulence;
+    div(phi,phit)   $turbulence;
+    div(phi,f)      $turbulence;
+
+    div((nuEff*dev2(T(grad(U))))) Gauss linear;
+}
+
+laplacianSchemes
+{
+    default         Gauss linear limited corrected 0.33;
+    laplacian((1|((1|(1|A(U)))-H(1))),p) Gauss linear limited relaxed 0.33;
+}
+
+interpolationSchemes
+{
+    default         linear;
+}
+
+snGradSchemes
+{
+    default         limited corrected 0.33;
+}
+
+wallDist
+{
+    method          meshWave;
+}
+
+fluxRequired
+{
+    default         no;
+    p;
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/system/fvSolution b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/system/fvSolution
new file mode 100644
index 0000000000000000000000000000000000000000..dd52d23f1b404f1ef79b57f21135aa2b7b5d9fbd
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/system/fvSolution
@@ -0,0 +1,90 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v2012                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      fvSolution;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+solvers
+{
+    p
+    {
+        solver          GAMG;
+        tolerance       1e-09;
+        relTol          0.01;
+        smoother        DICGaussSeidel;
+        nPreSweeps      0;
+        nPostSweeps     2;
+        cacheAgglomeration on;
+        agglomerator    faceAreaPair;
+        nCellsInCoarsestLevel 10;
+        mergeLevels     1;
+    }
+
+    U
+    {
+        solver          smoothSolver;
+        smoother        symGaussSeidel;
+        tolerance       1e-12;
+        relTol          0;
+    }
+
+    "(k|omega|nuTilda)"
+    {
+        solver          smoothSolver;
+        smoother        symGaussSeidel;
+        tolerance       1e-09;
+        relTol          0.01;
+    }
+
+    "(epsilon|phit)"
+    {
+        solver          PBiCGStab;
+        preconditioner  DILU;
+        tolerance       1e-8;
+        relTol          0;
+    }
+
+    f
+    {
+        solver          PBiCGStab;
+        preconditioner  DIC;
+        tolerance       1e-8;
+        relTol          0;
+    }
+}
+
+SIMPLE
+{
+    nNonOrthogonalCorrectors 0;
+    consistent          true;
+}
+
+relaxationFactors
+{
+    fields
+    {
+        "snGrad(p)"     0.5;
+    }
+    equations
+    {
+        U               0.9;
+        k               0.7;
+        omega           0.7;
+        nuTilda         0.7;
+        epsilon         0.7;
+        "(phit|f)"      0.7;
+    }
+}
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/system/sample b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/system/sample
new file mode 100644
index 0000000000000000000000000000000000000000..ce4645b847a2250c5ecee68ed21f164c767437c3
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/system/sample
@@ -0,0 +1,49 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v2012                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      sample;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+type                sets;
+libs                (sampling);
+interpolationScheme cellPoint;
+setFormat           raw;
+executeControl      writeTime;
+writeControl        writeTime;
+fields
+(
+    U
+    turbulenceProperties:k
+    turbulenceProperties:R
+);
+
+sets
+(
+    ref_point
+    {
+        type    cloud;
+        axis    y;
+        points  ((0.5 1 0.5));
+    }
+
+    y
+    {
+        type    midPoint;
+        axis    y;
+        start   (0.5 0 0.5);
+        end     (0.5 1 0.5);
+    }
+);
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/system/sampleEpsilon b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/system/sampleEpsilon
new file mode 100644
index 0000000000000000000000000000000000000000..de09bff3b16ac8713cf37f6b252166b97a0d7ff8
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/system/sampleEpsilon
@@ -0,0 +1,40 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v2012                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      sample;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+type                sets;
+libs                (sampling);
+interpolationScheme cellPoint;
+setFormat           raw;
+executeControl      writeTime;
+writeControl        writeTime;
+fields
+(
+    turbulenceProperties:epsilon
+);
+
+sets
+(
+    y
+    {
+        type    midPoint;
+        axis    y;
+        start   (0.5 0 0.5);
+        end     (0.5 1 0.5);
+    }
+);
+
+
+// ************************************************************************* //
diff --git a/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/system/sampleG b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/system/sampleG
new file mode 100644
index 0000000000000000000000000000000000000000..7460f2c6ca8a91afc1b127fdb2353fc5c30865cb
--- /dev/null
+++ b/tutorials/incompressible/simpleFoam/nonOrthogonalChannel/setups.orig/common/system/sampleG
@@ -0,0 +1,40 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v2012                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      sample;
+}
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+type                sets;
+libs                (sampling);
+interpolationScheme cellPoint;
+setFormat           raw;
+executeControl      writeTime;
+writeControl        writeTime;
+fields
+(
+    productionRate
+);
+
+sets
+(
+    y
+    {
+        type    midPoint;
+        axis    y;
+        start   (0.5 0 0.5);
+        end     (0.5 1 0.5);
+    }
+);
+
+
+// ************************************************************************* //