diff --git a/bin/foamSequenceVTKFiles b/bin/foamSequenceVTKFiles index df5028205b..3515c11f69 100755 --- a/bin/foamSequenceVTKFiles +++ b/bin/foamSequenceVTKFiles @@ -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 specify case directory (default = local dir) -d | -dir post-processing directory (default = postProcessing) - -h | -help help -o | -out output links directory (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 + +# -----------------------------------------------------------------------------