Skip to content
Snippets Groups Projects
Commit 75b9f261 authored by Henning Scheufler's avatar Henning Scheufler Committed by Mark OLESEN
Browse files

ENH: support sequencing of vtp/vtu files

parent 3e3193aa
No related merge requests found
......@@ -7,6 +7,7 @@
# \\/ M anipulation |
#-------------------------------------------------------------------------------
# Copyright (C) 2015 OpenFOAM Foundation
# Copyright (C) 2020 DLR
#------------------------------------------------------------------------------
# License
# This file is part of OpenFOAM.
......@@ -44,8 +45,11 @@ Usage: ${0##*/} [OPTIONS] ...
options:
-c | -case <dir> specify case directory (default = local dir)
-d | -dir <dir> post-processing directory <dir> (default = postProcessing)
-h | -help help
-o | -out <dir> output links directory <dir> (default = sequencedVTK)
-vtk create sequence of vtk files (default)
-vtp create sequence of vtp files
-vtu create sequence of vtu files
-h | -help help
Creates symbolic links to all VTK files in a post-processing directory
Links form a sequence like name.0000.vtk, name.0001.vtk, etc.
......@@ -57,30 +61,35 @@ USAGE
exit 1
}
# Set defaults
DIR=postProcessing
OUT=sequencedVTK
fileType=vtk
while [ "$#" -gt 0 ]
do
case "$1" in
-h | -help*)
usage
;;
-c | -case)
[ "$#" -ge 2 ] || usage "'$1' option requires an argument"
cd "$2" 2>/dev/null || usage "directory does not exist: '$2'"
shift 2
shift
;;
-d | -dir)
[ "$#" -ge 2 ] || usage "'$1' option requires an argument"
DIR=$2
shift 2
;;
-h | -help*)
usage
shift
;;
-o | -out)
[ "$#" -ge 2 ] || usage "'$1' option requires an argument"
OUT=$2
shift 2
;;
-vtk | -vtp | -vtu)
fileType="${1#-}"
;;
-*)
usage "invalid option '$1'"
;;
......@@ -88,6 +97,7 @@ do
break
;;
esac
shift
done
if [ ! -d $DIR ]; then
......@@ -95,8 +105,8 @@ if [ ! -d $DIR ]; then
exit 0
fi
FILES=$(find $DIR -name '*.vtk' -type f)
NAMES=$(for f in $FILES; do basename $f .vtk; done | sort -u)
FILES=$(find $DIR -name "*.$fileType" -type f)
NAMES=$(for f in $FILES; do basename $f .$fileType; done | sort -u)
if [ -d $OUT ]; then
echo "$OUT directory already exists. Deleting links within it..."
......@@ -108,12 +118,12 @@ fi
for N in $NAMES
do
echo "Sequencing all VTK files named $N.vtk"
echo "Sequencing all $fileType files named $N.$fileType"
# Create list of VTK files, ordered by time step
# Create list of VTK (vtk, vtp, vtu) files, ordered by time step
FILE_LIST=$(echo $FILES | \
tr " " "\n" | \
grep $N.vtk | \
grep $N.$fileType | \
awk -F'/' '{print($(NF-1)" "$0)}' | \
sort -k 1 -g | \
cut -d' ' -f2)
......@@ -122,7 +132,9 @@ do
for F in $FILE_LIST
do
i=$(expr $i + 1) # Relies on ordered list of $sourceFiles
LINK=$(printf "${N}.%04d.vtk" $i)
LINK=$(printf "${N}.%04d.$fileType" $i)
ln -s ../$F $OUT/$LINK
done
done
# -----------------------------------------------------------------------------
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment