#!/bin/sh #------------------------------------------------------------------------------ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | # \\ / A nd | www.openfoam.com # \\/ M anipulation | #------------------------------------------------------------------------------- # Copyright (C) 2016-2017 OpenFOAM Foundation # Copyright (C) 2020 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later. # # Script # foamNewFunctionObject # # Description # Create directory with source and compilation files for a new function # object # #------------------------------------------------------------------------------ Script=${0##*/} DIR="$WM_PROJECT_DIR/etc/codeTemplates/functionObject" usage() { while [ "$#" -ge 1 ]; do echo "$1"; shift; done cat< * Create directory with source and compilation files for a new function object (dir) - .H - .C - IO.H - Make (dir) - files - options Compiles a library named libFunctionObject.so in \$FOAM_USER_LIBBIN: $FOAM_USER_LIBBIN USAGE exit 1 } case "$1" in (-h | -help*) usage ;; -*) usage "$1 is not a valid option/filename" ;; esac [ "$#" -eq 1 ] || usage "Wrong number of arguments" [ -d "$1" ] && usage "$1 directory already exists, aborting..." NAME=$1 YEAR=$(date +%Y) echo "Creating function object code directory $NAME" && mkdir $NAME for F in $(ls ${DIR}/*.*) do FILE=$(basename $F | sed "s#FUNCTIONOBJECT#${NAME}#g") sed -e "s#FUNCTIONOBJECT#${NAME}#g" \ -e "s#YEAR#${YEAR}#g" \ ${F} > ${NAME}/${FILE} done echo "Creating Make subdirectory" && mkdir $NAME/Make sed "s#FUNCTIONOBJECT#${NAME}#g" ${DIR}/Make/files > $NAME/Make/files cp ${DIR}/Make/options $NAME/Make #------------------------------------------------------------------------------