#!/bin/sh cd "${0%/*}" || exit # Run from this directory . ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions . ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions #------------------------------------------------------------------------------ # settings # operand setups setups=" Gauss-linear leastSquares Gauss-pointLinear iterativeGauss-linear-1 cellLimited-Gauss-linear-1 cellLimited-leastSquares-1 cellLimited-Gauss-pointLinear-1 cellLimited-iterativeGauss-linear-5-1 faceLimited-Gauss-linear-1 faceLimited-leastSquares-1 faceLimited-Gauss-pointLinear-1 faceLimited-iterativeGauss-linear-5-1 cellMDLimited-Gauss-linear-1 cellMDLimited-leastSquares-1 cellMDLimited-Gauss-pointLinear-1 cellMDLimited-iterativeGauss-linear-5-1 faceMDLimited-Gauss-linear-1 faceMDLimited-leastSquares-1 faceMDLimited-Gauss-pointLinear-1 faceMDLimited-iterativeGauss-linear-5-1 iterativeGauss-linear-2 iterativeGauss-linear-3 iterativeGauss-linear-4 iterativeGauss-linear-5 iterativeGauss-linear-10 iterativeGauss-linear-20 " # flag to enable computations in parallel mode parallel=false #------------------------------------------------------------------------------ ####################################### # Collect results into a given path # and clean the case for the next run # Arguments: # $1 = Path to move results # Outputs: # Writes info to stdout ####################################### collect() { [ $# -eq 0 ] && { echo "Usage: $0 dir-model"; exit 1; } collection="$1" dirResult=results/"$collection" if [ ! -d "$dirResult" ] then echo " # Collecting results and settings into $dirResult" mkdir -p "$dirResult" [ -d postProcessing ] && mv -f postProcessing "$dirResult" [ -d processor0 ] && mv -f processor* "$dirResult" mv -f log.* "$dirResult" mv -f constant "$dirResult"/ mv -f system "$dirResult"/ mv -f 0 "$dirResult"/ echo " # Cleaning up the case" cleanTimeDirectories cleanPostProcessing else echo " # Directory $dirResult already exists" echo " # Skipping the computation" fi } #------------------------------------------------------------------------------ for setup in $setups do echo "" echo "# Computations for the setup: $setup" echo "" dirSetup="setups.orig/$setup" if [ ! -d "$dirSetup" ] then echo "Setup directory: $dirSetup" \ "could not be found - skipping execution" 1>&2 exit 1 fi cp -rfL "$dirSetup/constant" . cp -rfL "$dirSetup/system" . [ -d 0 ] && rm -rf 0 mkdir 0 runApplication checkMesh \ -allTopology -allGeometry -constant \ -writeAllFields -writeAllSurfaceFields if [ "$parallel" = true ] then runApplication decomposePar runParallel postProcess -constant runApplication reconstructPar else runApplication postProcess -constant fi collect "$setup" done #------------------------------------------------------------------------------