BUG: paraFoam inside processor directory always looks for parent (fixes #452)

This commit is contained in:
Mark Olesen
2017-04-18 09:40:17 +02:00
parent f95dbc2049
commit aec35ee51a

View File

@ -172,14 +172,12 @@ fvControls="system"
if [ -n "$regionName" ] if [ -n "$regionName" ]
then then
if [ ! -d constant/$regionName ] [ -d constant/$regionName ] || {
then
echo "FATAL ERROR: Region $regionName does not exist" 1>&2 echo "FATAL ERROR: Region $regionName does not exist" 1>&2
exit 1 exit 1
else }
caseFile="$caseName{$regionName}.$extension" caseFile="$caseName{$regionName}.$extension"
fvControls="$fvControls/$regionName" fvControls="$fvControls/$regionName"
fi
fi fi
case "${optTouch:-false}" in case "${optTouch:-false}" in
@ -212,11 +210,42 @@ true)
esac esac
# Parent directory for normal or parallel results # Check existence of some essential OpenFOAM files.
case "$caseName" in # If caseName appears to be a processor directory, check parent as fallback
processor*) parentDir=".." ;; hasFiles() {
*) parentDir="." ;; local warn="Cannot locate OpenFOAM-format case files:"
esac local parent
case "$caseName" in (processor*) parent="../" ;; esac
for file
do
if [ -s "$file" ]
then
continue
elif [ -n "$parent" -a -s "$parent$file" ]
then
continue
else
# Not found
[ -n "$warn" ] && echo "$warn" 1>&2
unset warn
if [ -n "$parent" ]
then
echo " $file, or $parent$file" 1>&2
else
echo " $file" 1>&2
fi
fi
done
if [ -n "$warn" ]
then
return 0 # No warnings were triggered
else
echo 1>&2 # Emit an additional separator line
return 1
fi
}
if [ "${hasData:-false}" = true ] if [ "${hasData:-false}" = true ]
@ -228,7 +257,7 @@ then
else else
# Check existence of essential files # Check existence of essential files
warn="WARN file does not exist:" warn=false
case $extension in case $extension in
blockMesh) blockMesh)
blockMeshDict=system/blockMeshDict blockMeshDict=system/blockMeshDict
@ -236,40 +265,22 @@ else
then then
blockMeshDict=constant/polyMesh/blockMeshDict blockMeshDict=constant/polyMesh/blockMeshDict
fi fi
for check in \
system/controlDict \ hasFiles system/controlDict $blockMeshDict || warn=true
$blockMeshDict \
;
do
[ -s "$parentDir/$check" ] || {
[ -n "$warn" ] && echo "$warn" 1>&2
echo " $parentDir/$check" 1>&2
unset warn
}
done
;; ;;
OpenFOAM) OpenFOAM)
for check in \ hasFiles \
system/controlDict \ system/controlDict \
$fvControls/fvSchemes \ $fvControls/fvSchemes \
$fvControls/fvSolution \ $fvControls/fvSolution || warn=true
;
do
[ -s "$parentDir/$check" ] || {
[ -n "$warn" ] && echo "$warn" 1>&2
echo " $parentDir/$check" 1>&2
unset warn
}
done
;; ;;
esac esac
[ -n "$warn" ] || { [ "${warn:-false}" = false ] || {
echo "Cannot locate OpenFOAM-format case files" echo -n "Would you like to open paraview anyway <Y|n>: "
echo -n "Would you like to open ParaView anyway <Y|n>:"
read open read open
[ "$open" = "" ] || echo $open | grep -iqE "^y" && paraview case "${open:-y}" in ([Yy]*) paraview ;; esac
exit exit
} }