#!/bin/sh
#------------------------------------------------------------------------------
# =========                 |
# \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
#  \\    /   O peration     |
#   \\  /    A nd           | Copyright (C) 1991-2005 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
#     CleanFunctions
#
# Description
#     
#------------------------------------------------------------------------------

cleanTimeDirectories ()
{
    echo "Cleaning $case case of $application application"
    nZeros=0
    zeros=""
    while [ $nZeros -lt 8 ] ; do
        timeDir="0.${zeros}[1-9]*"
        rm -rf $1/${timeDir} > /dev/null 2>&1
        rm -rf $1/-${timeDir} > /dev/null 2>&1
        zeros=`printf %0${nZeros}d 0`
        let nZeros=nZeros+1
    done
    rm -rf $1/{[1-9]*,-[1-9]*,log,log.*,log-*,logSummary.*,.fxLock,*.xml,ParaView*,paraFoam*,*.foam} > /dev/null 2>&1
}

cleanCase ()
{
    cleanTimeDirectories $1

    rm -rf $1/constant/polyMesh/{allOwner*,cell*,face*,meshModifiers*} \
           $1/constant/polyMesh/{neighbour*,point*,edge*} \ 
           > /dev/null 2>&1

    for f in `find . -name "*Dict"`
    do
        sed -e /arguments/d $f > temp.$$
        mv temp.$$ $f
    done
}

cleanParallelCase ()
{
    cleanCase $1

    rm -rf $1/processor* > /dev/null 2>&1
}

removeCase ()
{
    echo "Removing $case case of $application application"
    rm -rf $1
}

cleanSamples ()
{
    rm -rf $1/{samples,sampleSurfaces} > /dev/null 2>&1
}

cleanUcomponents ()
{
    rm -rf $1/0/{Ux,Uy,Uz} > /dev/null 2>&1
}

#------------------------------------------------------------------------------
