- suppress error messages that appear with zsh. According to unset(1p), 'unset -f' unsets a function. If the function was not previously defined, this is a no-op. This is similar for zsh, but there it emits a warning if the function was not previously defined. - avoid 'local' in functions sources from etc/bashrc. ksh does not support this. - use 'command' shell builtin instead of 'type'. Seems to be more consistent between shell flavours.
111 lines
3.2 KiB
Bash
111 lines
3.2 KiB
Bash
#----------------------------------*-sh-*--------------------------------------
|
|
# ========= |
|
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
# \\ / O peration |
|
|
# \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
|
# \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd.
|
|
#------------------------------------------------------------------------------
|
|
# 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 <http://www.gnu.org/licenses/>.
|
|
#
|
|
# File
|
|
# etc/config.sh/aliases
|
|
#
|
|
# Description
|
|
# Aliases for working with OpenFOAM
|
|
# Sourced from OpenFOAM-<VERSION>/etc/bashrc and/or ~/.bashrc
|
|
#
|
|
#------------------------------------------------------------------------------
|
|
|
|
# Change compiled version aliases
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
alias wmSet='. $WM_PROJECT_DIR/etc/bashrc'
|
|
alias wmInt32='wmSet WM_LABEL_SIZE=32'
|
|
alias wmInt64='wmSet WM_LABEL_SIZE=64'
|
|
alias wmSP='wmSet WM_PRECISION_OPTION=SP'
|
|
alias wmDP='wmSet WM_PRECISION_OPTION=DP'
|
|
|
|
# Clear env
|
|
alias wmUnset='. $WM_PROJECT_DIR/etc/config.sh/unset'
|
|
|
|
# Toggle wmakeScheduler on/off
|
|
# - also need to set WM_HOSTS
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
alias wmSchedOn='export WM_SCHEDULER=$WM_PROJECT_DIR/wmake/wmakeScheduler'
|
|
alias wmSchedOff='unset WM_SCHEDULER'
|
|
|
|
# Change directory aliases
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~
|
|
alias foam='cd $WM_PROJECT_DIR'
|
|
|
|
if [ -n "$WM_PROJECT_SITE" ]
|
|
then
|
|
alias foamSite='cd $WM_PROJECT_SITE'
|
|
else
|
|
alias foamSite='cd $WM_PROJECT_INST_DIR/site'
|
|
fi
|
|
|
|
alias src='cd $FOAM_SRC'
|
|
alias lib='cd $FOAM_LIBBIN'
|
|
alias app='cd $FOAM_APP'
|
|
alias sol='cd $FOAM_SOLVERS'
|
|
alias util='cd $FOAM_UTILITIES'
|
|
alias tut='cd $FOAM_TUTORIALS'
|
|
alias run='cd $FOAM_RUN'
|
|
|
|
|
|
# Refresh the environment
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~
|
|
unset -f wmRefresh 2>/dev/null
|
|
wmRefresh()
|
|
{
|
|
wmProjectDir=$WM_PROJECT_DIR
|
|
foamSettings=$FOAM_SETTINGS
|
|
wmUnset
|
|
. $wmProjectDir/etc/bashrc $foamSettings
|
|
}
|
|
|
|
|
|
# Change OpenFOAM version
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~
|
|
unset -f foamVersion 2>/dev/null
|
|
foamVersion()
|
|
{
|
|
if [ "$1" ]; then
|
|
foamInstDir=$FOAM_INST_DIR
|
|
wmUnset
|
|
. $foamInstDir/OpenFOAM-$1/etc/bashrc
|
|
foam
|
|
echo "Changed to OpenFOAM-$1" 1>&2
|
|
else
|
|
echo "OpenFOAM-$WM_PROJECT_VERSION" 1>&2
|
|
fi
|
|
}
|
|
|
|
|
|
# Change ParaView version
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~
|
|
unset -f foamPV 2>/dev/null
|
|
foamPV()
|
|
{
|
|
. $WM_PROJECT_DIR/etc/config.sh/paraview "${@+ParaView_VERSION=$1}"
|
|
local pvdir="${ParaView_DIR##*/}"
|
|
echo "${pvdir:-ParaView_DIR not set}" 1>&2
|
|
}
|
|
|
|
|
|
#------------------------------------------------------------------------------
|