openfoam/etc/config.sh/petsc

59 lines
1.9 KiB
Bash

#----------------------------------*-sh-*--------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 2018 OpenCFD Ltd.
# \\/ M anipulation |
#------------------------------------------------------------------------------
# License
# This file is part of OpenFOAM, licensed under GNU General Public License
# <http://www.gnu.org/licenses/>.
#
# File
# etc/config.sh/petsc
# [optional/experimental: not sourced by OpenFOAM-*/etc/bashrc]
#
# Description
# Setup for PETSC include/libraries (usually ThirdParty installation).
#
# To disable its use: petsc_version=petsc-none
# For system-wide installations: petsc_version=petsc-system
#
# For central installations not located under ThirdParty:
# 1. use petsc-system
# 2. and provide full path for PETSC_ARCH_PATH
#
#------------------------------------------------------------------------------
# USER EDITABLE PART: Changes made here may be lost with the next upgrade
petsc_version=petsc-3.9.3
export PETSC_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/$petsc_version
# END OF (NORMAL) USER EDITABLE PART
#------------------------------------------------------------------------------
if [ -n "$FOAM_VERBOSE" ] && [ -n "$PS1" ]
then
echo "Using petsc ($petsc_version) -> $PETSC_ARCH_PATH" 1>&2
fi
if command -v _foamAddLibAuto > /dev/null 2>&1 # Normal sourcing (not makePETSC)
then
_foamAddLibAuto $PETSC_ARCH_PATH
unset petsc_version
elif [ "$1" = "-force" ]
then
# Forced command-line sourcing
if output="$($WM_PROJECT_DIR/bin/tools/lib-dir -sh $PETSC_ARCH_PATH 2>/dev/null)"
then
eval "$output"
fi
unset petsc_version output
fi
#------------------------------------------------------------------------------