diff --git a/BUILD.md b/BUILD.md index 43ca1f9..1e44145 100644 --- a/BUILD.md +++ b/BUILD.md @@ -135,6 +135,9 @@ ThirdParty components prior to building OpenFOAM itself. Automatically invoked from the ThirdParty `Allwmake`, but can be invoked directly to resolve possible build errors. +`makeMGridGen` +- Optional agglomeration routines. + `makeCCMIO` - Only required for conversion to/from STARCD/STARCCM+ files. diff --git a/makeMGridGen b/makeMGridGen new file mode 100755 index 0000000..fdf395f --- /dev/null +++ b/makeMGridGen @@ -0,0 +1,186 @@ +#!/bin/sh +#------------------------------------------------------------------------------ +# ========= | +# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox +# \\ / O peration | +# \\ / A nd | Copyright (C) 2017 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 3 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, see . +# +# Script +# makeMGridGen +# +# Description +# Build script for MGridGen (serial) +# +# ---------------------------------------------- +# NO USER-CONFIGURABLE SETTINGS WITHIN THIS FILE +#------------------------------------------------------------------------------ +# Run from ThirdParty directory only +wmakeCheckPwd "$WM_THIRD_PARTY_DIR" || { + echo "Error: Current directory is not \$WM_THIRD_PARTY_DIR" + echo " The environment variables are inconsistent with the installation." + echo " Check the OpenFOAM entries in your dot-files and source them." + exit 1 +} +. etc/tools/ThirdPartyFunctions +#------------------------------------------------------------------------------ + +# mgridgen version from OpenFOAM etc/config.sh file: +_foamEtc config.sh/mgridgen + +mgridgenPACKAGE=${MGRIDGEN_VERSION:-mgridgen-none} + +#------------------------------------------------------------------------------ +usage() { + exec 1>&2 + while [ "$#" -ge 1 ]; do echo "$1"; shift; done + cat</dev/null + + # Remove any existing build folder and recreate + rm -rf $MGRIDGEN_ARCH_PATH + + serial="${CC:-$WM_CC}" # CC (serial compiler) default=cc + # parallel=$(whichMpicc) # PARCC (parallel compiler) default=mpicc + # PARCC=$parallel + # PARLD=$parallel + # PARLIBS="-L../.. -lparmgrid -lmgrid -lm" + + make \ + COPTIONS="-fPIC" \ + LDOPTIONS="-fPIC" \ + CC=$serial \ + LD=$serial \ + LIBDIR="-L../.." \ + LIBS="-L../.. -lmgrid -lm" \ + make=make \ + serial \ + && install \ + && echo "Built: $mgridgenPACKAGE" +) || { + echo "Error building: $mgridgenPACKAGE" +} +fi + +#------------------------------------------------------------------------------