128 lines
3.5 KiB
Bash
Executable File
128 lines
3.5 KiB
Bash
Executable File
#!/bin/sh
|
|
#------------------------------------------------------------------------------
|
|
# ========= |
|
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
# \\ / O peration |
|
|
# \\ / A nd | Copyright (C) 1991-2007 OpenCFD Ltd.
|
|
# \\/ M anipulation |
|
|
#------------------------------------------------------------------------------
|
|
# License
|
|
# This file is part of OpenFOAM.
|
|
#
|
|
# OpenFOAM is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU General Public License as published by the
|
|
# Free Software Foundation; either version 2 of the License, or (at your
|
|
# option) any later version.
|
|
#
|
|
# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
# for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with OpenFOAM; if not, write to the Free Software Foundation,
|
|
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
#
|
|
# Script
|
|
# Allrun
|
|
#
|
|
# Description
|
|
#
|
|
#------------------------------------------------------------------------------
|
|
|
|
. RunFunctions
|
|
|
|
applications=\
|
|
" \
|
|
icoFoam \
|
|
turbFoam \
|
|
simpleFoam \
|
|
icoDyMFoam \
|
|
nonNewtonianIcoFoam \
|
|
boundaryFoam \
|
|
interFoam \
|
|
lesInterFoam \
|
|
rasInterFoam \
|
|
multiphaseInterFoam \
|
|
buoyantSimpleFoam \
|
|
buoyantFoam \
|
|
potentialFoam \
|
|
laplacianFoam \
|
|
scalarTransportFoam \
|
|
oodles \
|
|
coodles \
|
|
channelOodles \
|
|
dnsFoam \
|
|
mhdFoam \
|
|
electrostaticFoam \
|
|
financialFoam \
|
|
sonicFoam \
|
|
rhoSonicFoam \
|
|
rhopSonicFoam \
|
|
sonicLiquidFoam \
|
|
sonicTurbFoam \
|
|
solidDisplacementFoam \
|
|
solidEquilibriumDisplacementFoam \
|
|
XiFoam \
|
|
Xoodles \
|
|
dieselFoam \
|
|
engineFoam \
|
|
bubbleFoam \
|
|
twoPhaseEulerFoam \
|
|
settlingFoam \
|
|
rhoExplicitPorousSimpleFoam \
|
|
rhoImplicitPorousSimpleFoam \
|
|
rhoTurbFoam \
|
|
cavitatingFoam \
|
|
MRFSimpleFoam \
|
|
interDyMFoam \
|
|
"
|
|
|
|
logReport () {
|
|
case=`dirname $1 | sed s/"\(.*\)\.\/"/""/g`
|
|
app=`echo $1 | sed s/"\(.*\)\."/""/g`
|
|
appAndCase="Application $app - case $case"
|
|
|
|
fatalError=`grep "FOAM FATAL" $1`
|
|
UxSS=`grep -E "Ux[:| ]*solution singularity" $1`
|
|
UySS=`grep -E "Uy[:| ]*solution singularity" $1`
|
|
UzSS=`grep -E "Uz[:| ]*solution singularity" $1`
|
|
completed=`grep -E "^[\t ]*[eE]nd" $1`
|
|
|
|
if [ "$fatalError" ] ; then
|
|
echo "$appAndCase: ** FOAM FATAL ERROR **"
|
|
return
|
|
elif [ "$UxSS" -a "$UySS" -a "$UzSS" ] ; then
|
|
echo "$appAndCase: ** Solution singularity **"
|
|
return
|
|
elif [ "$completed" ] ; then
|
|
completionTime=`tail -10 $log | grep Execution | cut -d= -f2 | sed 's/^[ \t]*//'`
|
|
if [ "$completionTime" ] ; then
|
|
completionTime="in $completionTime"
|
|
fi
|
|
echo "$appAndCase: completed $completionTime"
|
|
return
|
|
else
|
|
echo "$appAndCase: unconfirmed completion"
|
|
fi
|
|
}
|
|
|
|
rm testLoopReport > /dev/null 2>&1 &
|
|
touch testLoopReport
|
|
for application in $applications
|
|
do
|
|
cd $application
|
|
./Allrun
|
|
# echo "$application application completed" >> ../testLoopReport
|
|
for log in `find . -name "log.*" | xargs ls -rt`
|
|
do
|
|
logReport $log >> ../testLoopReport
|
|
done
|
|
echo "" >> ../testLoopReport
|
|
cd ..
|
|
done
|
|
|
|
find . -name "log.*" -exec cat {} \; >> logs
|
|
|
|
#------------------------------------------------------------------------------
|