DOC: Curle: fix typo in header file (fixes #2498) TUT: airfoil2D: apply standard freestream conditions for nuTilda and nut
172 lines
4.3 KiB
Bash
Executable File
172 lines
4.3 KiB
Bash
Executable File
#!/bin/sh
|
|
cd "${0%/*}" || exit # Run from this directory
|
|
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions
|
|
#------------------------------------------------------------------------------
|
|
|
|
# settings
|
|
|
|
# operand setups
|
|
setups="
|
|
kEpsilon
|
|
kOmegaSST
|
|
"
|
|
|
|
# flag to enable computations
|
|
run=true
|
|
|
|
# flag to enable computations in parallel mode
|
|
parallel=true
|
|
|
|
# flag to enable to use a common mesh
|
|
common_mesh=true
|
|
|
|
# flag to enable to use a common dynamic code
|
|
common_dynamic_code=false
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
#######################################
|
|
# Create the given setup
|
|
# Arguments:
|
|
# $1 = Path to create the setup
|
|
# Outputs:
|
|
# Writes info to stdout
|
|
#######################################
|
|
dry_run_setup() {
|
|
|
|
[ $# -eq 0 ] && { echo "Usage error: $0"; exit 1; }
|
|
|
|
setup="$1"
|
|
dirSetup="setups/$setup"
|
|
dirSetupOrig="setups.orig/$setup"
|
|
dirOrig="$dirSetupOrig/0.orig"
|
|
dirConstant="$dirSetupOrig/constant"
|
|
dirSystem="$dirSetupOrig/system"
|
|
|
|
printf "\n# Create the setup: %s\n" "$setup"
|
|
|
|
if [ ! -d "$dirSetup" ]
|
|
then
|
|
mkdir -p "$dirSetup"
|
|
|
|
cp -aRfL "setups.orig/common/." "$dirSetup"
|
|
cp -afL "$dirSetupOrig"/All* "$dirSetup" 2>/dev/null || :
|
|
[ -d "$dirOrig" ] && cp -aRfL "$dirOrig/." "$dirSetup/0.orig"
|
|
[ -d "$dirConstant" ] && cp -aRfL "$dirConstant/." "$dirSetup/constant"
|
|
[ -d "$dirSystem" ] && cp -aRfL "$dirSystem/." "$dirSetup/system"
|
|
else
|
|
printf "\n # Directory %s already exists\n" "$dirSetup"
|
|
printf " # Skipping the creation of a new setup\n"
|
|
fi
|
|
}
|
|
|
|
|
|
#######################################
|
|
# Run the given setup
|
|
# Arguments:
|
|
# $1 = Path to the setup to run
|
|
# Outputs:
|
|
# Writes info to stdout
|
|
#######################################
|
|
run_setup() {
|
|
|
|
[ $# -eq 0 ] && { echo "Usage error: $0"; exit 1; }
|
|
|
|
setup="$1"
|
|
dirSetup="setups/$setup"
|
|
dirResult="results/$setup"
|
|
|
|
dry_run_setup "$setup"
|
|
[ -d results ] || mkdir -p results
|
|
|
|
printf "\n# Run the setup: %s\n\n" "$setup"
|
|
|
|
if [ ! -d "$dirResult" ]
|
|
then
|
|
cp -Rf "$dirSetup" "$dirResult"
|
|
|
|
if [ "$common_mesh" = true ]
|
|
then
|
|
if [ -d results/mesh ]
|
|
then
|
|
printf "## Copy the common mesh to the setup: %s\n\n" "$setup"
|
|
cp -Rf results/mesh/polyMesh "$dirResult"/constant/.
|
|
fi
|
|
fi
|
|
|
|
if [ "$common_dynamic_code" = true ]
|
|
then
|
|
if [ -d results/dynamicCode ]
|
|
then
|
|
printf "## Copy the common dynamic code to the setup: %s\n\n" "$setup"
|
|
cp -Rf results/dynamicCode "$dirResult"/.
|
|
fi
|
|
fi
|
|
|
|
|
|
if [ "$parallel" = true ]
|
|
then
|
|
( cd "$dirResult" && ./Allrun-parallel )
|
|
else
|
|
( cd "$dirResult" && ./Allrun )
|
|
fi
|
|
|
|
|
|
if [ "$common_mesh" = true ]
|
|
then
|
|
if [ ! -d results/mesh ]
|
|
then
|
|
printf "\n## Store the mesh of %s as the common mesh\n\n" "$setup"
|
|
mkdir -p results/mesh
|
|
cp -Rf "$dirResult"/constant/polyMesh results/mesh/.
|
|
fi
|
|
fi
|
|
|
|
if [ "$common_dynamic_code" = true ]
|
|
then
|
|
if [ ! -d results/dynamicCode ] && [ -d "$dirResult"/dynamicCode ]
|
|
then
|
|
printf "\n## Store the dynamic code of %s as the common dynamic code\n\n" "$setup"
|
|
cp -Rf "$dirResult"/dynamicCode results/.
|
|
fi
|
|
fi
|
|
|
|
|
|
else
|
|
printf " # Directory %s already exists\n" "$dirResult"
|
|
printf " # Skipping the computation of the given setup\n"
|
|
fi
|
|
}
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
for setup in $setups
|
|
do
|
|
dirSetupOrig="setups.orig/$setup"
|
|
|
|
if [ ! -d "$dirSetupOrig" ]
|
|
then
|
|
echo "Setup directory: $dirSetupOrig" \
|
|
"could not be found - skipping execution" 1>&2
|
|
continue
|
|
fi
|
|
|
|
if [ "$run" = true ]
|
|
then
|
|
run_setup "$setup"
|
|
else
|
|
dry_run_setup "$setup"
|
|
fi
|
|
done
|
|
|
|
|
|
if notTest "$@" && [ "$run" = true ]
|
|
then
|
|
./plot
|
|
fi
|
|
|
|
|
|
#------------------------------------------------------------------------------
|