Skip to content
Snippets Groups Projects
foamSolverSweeps 2.63 KiB
Newer Older
  • Learn to ignore specific revisions
  • #!/bin/sh
    #------------------------------------------------------------------------------
    # =========                 |
    
    # \\      /  F ield         | foam-extend: Open Source CFD
    
    #  \\    /   O peration     | Version:     4.1
    
    Henrik's avatar
    Henrik committed
    #   \\  /    A nd           | Web:         http://www.foam-extend.org
    #    \\/     M anipulation  | For copyright notice see file Copyright
    
    Hrvoje Jasak's avatar
    Hrvoje Jasak committed
    #------------------------------------------------------------------------------
    
    #     This file is part of foam-extend.
    
    #     foam-extend 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 3 of the License, or (at your
    
    #     option) any later version.
    #
    
    #     foam-extend 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 foam-extend.  If not, see <http://www.gnu.org/licenses/>.
    
    #
    # Script
    #     foamSolverSweeps
    #
    # Description
    
    Hrvoje Jasak's avatar
    Hrvoje Jasak committed
    #
    
    #------------------------------------------------------------------------------
    
    #-- settings
    timeFile=/tmp/FOAM_iters.time
    runTimeFile=/tmp/FOAM_iters.rtime
    piterFile=/tmp/FOAM_iters.piters
    uiterFile=/tmp/FOAM_iters.uiters
    
    echo "timeFile=$timeFile"
    echo "runTimeFile=$runTimeFile"
    echo "piterFile=$piterFile"
    echo "uiterFile=$uiterFile"
    echo ""
    
    
    # sumFile <file>
    #
    # prints sum of all numbers in file
    sumFile () {
      sum=0
      for num in `cat $1`
      do
        sum=`expr $sum + $num`
      done
      echo $sum
    }
    
    
    
    # Main
    #~~~~~~
    
    echo "Name of log file (LOG) : \c"
    read logFile
    logFile=${logFile:-LOG}
    
    
    foamProgram=`grep '< .* >' ${logFile} | awk '{print $2}'`
    echo ""
    echo "Program: ${foamProgram}"
    
    
    grep 'ExecutionTime =' ${logFile} > ${runTimeFile}
    echo ""
    echo "Runtime:"
    echo "  1st iter  : "`head -1 ${runTimeFile}`
    echo "  overall   : "`tail -1 ${runTimeFile}`
    
    grep '^Time =' ${logFile} > ${timeFile}
    echo ""
    echo "Simulation:"
    echo "  steps: "`wc -l ${timeFile} | awk '{print $1}'`
    echo "  from : "`head -1 ${timeFile}`
    echo "  to   : "`tail -1 ${timeFile}`
    echo ""
    
    grep 'Solving for p,' ${logFile} | awk '{print $15}' > ${piterFile}
    grep 'Solving for U' ${logFile} | awk '{print $15}' > ${uiterFile}
    
    
    echo "Solver sweeps:"
    echo "  p           : "`sumFile ${piterFile}`
    echo "  U(U0,U1,U2) : "`sumFile ${uiterFile}`
    echo ""
    
    
    rm ${timeFile}
    rm ${runTimeFile}
    rm ${piterFile}
    rm ${uiterFile}
    
    #------------------------------------------------------------------------------