The new flexible and extensible modular solvers structure already provides most
of the simulation functionality needed for single phase, multiphase,
multicomponent etc. fluid flow problems as well as a very effective method of
combining these with solid heat transfer, solid stress, surface film to solve
complex multi-region, multi-physics problems and are now the primary mechanism
for the further development of OpenFOAM simulation capability in future. To
emphasis this for both users and developers the applications/solvers directory
has been separated into applications/modules containing all the solver modules:
├── modules
│ ├── compressibleMultiphaseVoF
│ ├── compressibleVoF
│ ├── film
│ ├── fluid
│ ├── fluidSolver
│ ├── functions
│ ├── incompressibleDenseParticleFluid
│ ├── incompressibleDriftFlux
│ ├── incompressibleFluid
│ ├── incompressibleMultiphaseVoF
│ ├── incompressibleVoF
│ ├── isothermalFilm
│ ├── isothermalFluid
│ ├── movingMesh
│ ├── multicomponentFluid
│ ├── multiphaseEuler
│ ├── multiphaseVoFSolver
│ ├── shockFluid
│ ├── solid
│ ├── solidDisplacement
│ ├── twoPhaseSolver
│ ├── twoPhaseVoFSolver
│ ├── VoFSolver
│ └── XiFluid
applications/solvers containing the foamRun and foamMultiRun solver applications
which instantiate and execute the chosen solver modules and also standalone
solver applications for special initialisation and test activities:
├── solvers
│ ├── boundaryFoam
│ ├── chemFoam
│ ├── foamMultiRun
│ ├── foamRun
│ └── potentialFoam
and applications/legacy containing legacy solver applications which are not
currently being actively developed but the functionality of which will be merged
into the solver modules or form the basis of new solver modules as the need
arises:
├── legacy
│ ├── basic
│ │ ├── financialFoam
│ │ └── laplacianFoam
│ ├── combustion
│ │ └── PDRFoam
│ ├── compressible
│ │ └── rhoPorousSimpleFoam
│ ├── electromagnetics
│ │ ├── electrostaticFoam
│ │ ├── magneticFoam
│ │ └── mhdFoam
│ ├── incompressible
│ │ ├── adjointShapeOptimisationFoam
│ │ ├── dnsFoam
│ │ ├── icoFoam
│ │ ├── porousSimpleFoam
│ │ └── shallowWaterFoam
│ └── lagrangian
│ ├── dsmcFoam
│ ├── mdEquilibrationFoam
│ └── mdFoam
Correspondingly the tutorials directory structure has been reorganised with the
modular solver directories at the top level with names that make it easier for
users to find example cases relating to their particular requirements and a
legacy sub-directory containing cases corresponding to the legacy solver
applications listed above:
├── compressibleMultiphaseVoF
│ └── damBreak4phaseLaminar
├── compressibleVoF
│ ├── ballValve
│ ├── climbingRod
│ ├── damBreak
│ ├── depthCharge2D
│ ├── depthCharge3D
│ ├── sloshingTank2D
│ └── throttle
├── film
│ └── rivuletPanel
├── fluid
│ ├── aerofoilNACA0012
│ ├── aerofoilNACA0012Steady
│ ├── angledDuct
│ ├── angledDuctExplicitFixedCoeff
│ ├── angledDuctLTS
│ ├── annularThermalMixer
│ ├── BernardCells
│ ├── blockedChannel
│ ├── buoyantCavity
│ ├── cavity
│ ├── decompressionTank
│ ├── externalCoupledCavity
│ ├── forwardStep
│ ├── helmholtzResonance
│ ├── hotRadiationRoom
│ ├── hotRadiationRoomFvDOM
│ ├── hotRoom
│ ├── hotRoomBoussinesq
│ ├── hotRoomBoussinesqSteady
│ ├── hotRoomComfort
│ ├── iglooWithFridges
│ ├── mixerVessel2DMRF
│ ├── nacaAirfoil
│ ├── pitzDaily
│ ├── prism
│ ├── shockTube
│ ├── squareBend
│ ├── squareBendLiq
│ └── squareBendLiqSteady
├── incompressibleDenseParticleFluid
│ ├── column
│ ├── cyclone
│ ├── Goldschmidt
│ ├── GoldschmidtMPPIC
│ └── injectionChannel
├── incompressibleDriftFlux
│ ├── dahl
│ ├── mixerVessel2DMRF
│ └── tank3D
├── incompressibleFluid
│ ├── airFoil2D
│ ├── ballValve
│ ├── blockedChannel
│ ├── cavity
│ ├── cavityCoupledU
│ ├── channel395
│ ├── drivaerFastback
│ ├── ductSecondaryFlow
│ ├── elipsekkLOmega
│ ├── flowWithOpenBoundary
│ ├── hopperParticles
│ ├── impeller
│ ├── mixerSRF
│ ├── mixerVessel2D
│ ├── mixerVessel2DMRF
│ ├── mixerVesselHorizontal2DParticles
│ ├── motorBike
│ ├── motorBikeSteady
│ ├── movingCone
│ ├── offsetCylinder
│ ├── oscillatingInlet
│ ├── pipeCyclic
│ ├── pitzDaily
│ ├── pitzDailyLES
│ ├── pitzDailyLESDevelopedInlet
│ ├── pitzDailyLTS
│ ├── pitzDailyPulse
│ ├── pitzDailyScalarTransport
│ ├── pitzDailySteady
│ ├── pitzDailySteadyExperimentalInlet
│ ├── pitzDailySteadyMappedToPart
│ ├── pitzDailySteadyMappedToRefined
│ ├── planarContraction
│ ├── planarCouette
│ ├── planarPoiseuille
│ ├── porousBlockage
│ ├── propeller
│ ├── roomResidenceTime
│ ├── rotor2DRotating
│ ├── rotor2DSRF
│ ├── rotorDisk
│ ├── T3A
│ ├── TJunction
│ ├── TJunctionFan
│ ├── turbineSiting
│ ├── waveSubSurface
│ ├── windAroundBuildings
│ └── wingMotion
├── incompressibleMultiphaseVoF
│ ├── damBreak4phase
│ ├── damBreak4phaseFineLaminar
│ ├── damBreak4phaseLaminar
│ └── mixerVessel2DMRF
├── incompressibleVoF
│ ├── angledDuct
│ ├── capillaryRise
│ ├── cavitatingBullet
│ ├── climbingRod
│ ├── containerDischarge2D
│ ├── damBreak
│ ├── damBreakLaminar
│ ├── damBreakPorousBaffle
│ ├── damBreakWithObstacle
│ ├── DTCHull
│ ├── DTCHullMoving
│ ├── DTCHullWave
│ ├── floatingObject
│ ├── floatingObjectWaves
│ ├── forcedUpstreamWave
│ ├── mixerVessel
│ ├── mixerVessel2DMRF
│ ├── mixerVesselHorizontal2D
│ ├── nozzleFlow2D
│ ├── planingHullW3
│ ├── propeller
│ ├── sloshingCylinder
│ ├── sloshingTank2D
│ ├── sloshingTank2D3DoF
│ ├── sloshingTank3D
│ ├── sloshingTank3D3DoF
│ ├── sloshingTank3D6DoF
│ ├── testTubeMixer
│ ├── waterChannel
│ ├── wave
│ ├── wave3D
│ └── weirOverflow
├── isothermalFilm
│ └── rivuletPanel
├── isothermalFluid
│ ├── potentialFreeSurfaceMovingOscillatingBox
│ └── potentialFreeSurfaceOscillatingBox
├── legacy
│ ├── basic
│ │ ├── financialFoam
│ │ │ └── europeanCall
│ │ └── laplacianFoam
│ │ └── flange
│ ├── combustion
│ │ └── PDRFoam
│ │ └── flamePropagationWithObstacles
│ ├── compressible
│ │ └── rhoPorousSimpleFoam
│ │ ├── angledDuctExplicit
│ │ └── angledDuctImplicit
│ ├── electromagnetics
│ │ ├── electrostaticFoam
│ │ │ └── chargedWire
│ │ └── mhdFoam
│ │ └── hartmann
│ ├── incompressible
│ │ ├── adjointShapeOptimisationFoam
│ │ │ └── pitzDaily
│ │ ├── dnsFoam
│ │ │ └── boxTurb16
│ │ ├── icoFoam
│ │ │ ├── cavity
│ │ │ └── elbow
│ │ ├── porousSimpleFoam
│ │ │ ├── angledDuctExplicit
│ │ │ └── angledDuctImplicit
│ │ └── shallowWaterFoam
│ │ └── squareBump
│ ├── lagrangian
│ │ ├── dsmcFoam
│ │ │ ├── freeSpacePeriodic
│ │ │ ├── freeSpaceStream
│ │ │ ├── supersonicCorner
│ │ │ └── wedge15Ma5
│ │ ├── mdEquilibrationFoam
│ │ │ ├── periodicCubeArgon
│ │ │ └── periodicCubeWater
│ │ └── mdFoam
│ │ └── nanoNozzle
├── mesh
│ ├── blockMesh
│ │ ├── pipe
│ │ ├── sphere
│ │ ├── sphere7
│ │ └── sphere7ProjectedEdges
│ ├── refineMesh
│ │ └── refineFieldDirs
│ └── snappyHexMesh
│ ├── flange
│ └── pipe
├── movingMesh
│ └── SnakeRiverCanyon
├── multicomponentFluid
│ ├── aachenBomb
│ ├── counterFlowFlame2D
│ ├── counterFlowFlame2D_GRI
│ ├── counterFlowFlame2D_GRI_TDAC
│ ├── counterFlowFlame2DLTS
│ ├── counterFlowFlame2DLTS_GRI_TDAC
│ ├── DLR_A_LTS
│ ├── filter
│ ├── lockExchange
│ ├── membrane
│ ├── nc7h16
│ ├── parcelInBox
│ ├── SandiaD_LTS
│ ├── simplifiedSiwek
│ ├── smallPoolFire2D
│ ├── smallPoolFire3D
│ ├── verticalChannel
│ ├── verticalChannelLTS
│ └── verticalChannelSteady
├── multiphaseEuler
│ ├── bed
│ ├── bubbleColumn
│ ├── bubbleColumnEvaporating
│ ├── bubbleColumnEvaporatingDissolving
│ ├── bubbleColumnEvaporatingReacting
│ ├── bubbleColumnIATE
│ ├── bubbleColumnLaminar
│ ├── bubbleColumnLES
│ ├── bubblePipe
│ ├── damBreak4phase
│ ├── fluidisedBed
│ ├── fluidisedBedLaminar
│ ├── Grossetete
│ ├── hydrofoil
│ ├── injection
│ ├── LBend
│ ├── mixerVessel2D
│ ├── mixerVessel2DMRF
│ ├── pipeBend
│ ├── steamInjection
│ ├── titaniaSynthesis
│ ├── titaniaSynthesisSurface
│ ├── wallBoilingIATE
│ ├── wallBoilingPolydisperse
│ └── wallBoilingPolydisperseTwoGroups
├── multiRegion
│ ├── CHT
│ │ ├── circuitBoardCooling
│ │ ├── coolingCylinder2D
│ │ ├── coolingSphere
│ │ ├── heatedDuct
│ │ ├── heatExchanger
│ │ ├── multiphaseCoolingCylinder2D
│ │ ├── reverseBurner
│ │ ├── shellAndTubeHeatExchanger
│ │ ├── VoFcoolingCylinder2D
│ │ └── wallBoiling
│ └── film
│ ├── cylinder
│ ├── cylinderDripping
│ ├── cylinderVoF
│ ├── hotBoxes
│ ├── rivuletBox
│ ├── rivuletPanel
│ ├── splashPanel
│ └── VoFToFilm
├── potentialFoam
│ ├── cylinder
│ └── pitzDaily
├── resources
│ ├── blockMesh
│ ├── geometry
│ └── thermoData
├── shockFluid
│ ├── biconic25-55Run35
│ ├── forwardStep
│ ├── LadenburgJet60psi
│ ├── movingCone
│ ├── obliqueShock
│ ├── shockTube
│ └── wedge15Ma5
├── solidDisplacement
│ ├── beamEndLoad
│ └── plateHole
└── XiFluid
├── kivaTest
└── moriyoshiHomogeneous
301 lines
9.6 KiB
Bash
301 lines
9.6 KiB
Bash
#----------------------------------*-sh-*--------------------------------------
|
|
# ========= |
|
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
# \\ / O peration | Website: https://openfoam.org
|
|
# \\ / A nd | Copyright (C) 2011-2023 OpenFOAM Foundation
|
|
# \\/ 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 <http://www.gnu.org/licenses/>.
|
|
#
|
|
# File
|
|
# etc/config.sh/settings
|
|
#
|
|
# Description
|
|
# Startup file for OpenFOAM
|
|
# Sourced from OpenFOAM-<VERSION>/etc/bashrc
|
|
#
|
|
#------------------------------------------------------------------------------
|
|
|
|
# Set environment variables according to system type
|
|
export WM_ARCH=`uname -s`
|
|
|
|
case "$WM_ARCH" in
|
|
Linux)
|
|
WM_ARCH=linux
|
|
|
|
# Compiler specifics
|
|
case `uname -m` in
|
|
i686)
|
|
export WM_ARCH_OPTION=32
|
|
export WM_CC='gcc'
|
|
export WM_CXX='g++'
|
|
export WM_CFLAGS='-fPIC'
|
|
export WM_CXXFLAGS='-fPIC -std=c++0x'
|
|
export WM_LDFLAGS=
|
|
;;
|
|
|
|
x86_64)
|
|
case "$WM_ARCH_OPTION" in
|
|
32)
|
|
export WM_COMPILER_ARCH=64
|
|
export WM_CC='gcc'
|
|
export WM_CXX='g++'
|
|
export WM_CFLAGS='-m32 -fPIC'
|
|
export WM_CXXFLAGS='-m32 -fPIC -std=c++0x'
|
|
export WM_LDFLAGS='-m32'
|
|
;;
|
|
64)
|
|
WM_ARCH=linux64
|
|
export WM_COMPILER_LIB_ARCH=64
|
|
export WM_CC='gcc'
|
|
export WM_CXX='g++'
|
|
export WM_CFLAGS='-m64 -fPIC'
|
|
export WM_CXXFLAGS='-m64 -fPIC -std=c++0x'
|
|
export WM_LDFLAGS='-m64'
|
|
;;
|
|
*)
|
|
echo "Unknown WM_ARCH_OPTION '$WM_ARCH_OPTION', should be 32 or 64"\
|
|
1>&2
|
|
;;
|
|
esac
|
|
;;
|
|
|
|
aarch64)
|
|
WM_ARCH=linuxArm64
|
|
export WM_COMPILER_LIB_ARCH=64
|
|
export WM_CC='gcc'
|
|
export WM_CXX='g++'
|
|
export WM_CFLAGS='-fPIC'
|
|
export WM_CXXFLAGS='-fPIC -std=c++0x'
|
|
export WM_LDFLAGS=
|
|
;;
|
|
|
|
armv7l)
|
|
WM_ARCH=linuxARM7
|
|
export WM_ARCH_OPTION=32
|
|
export WM_COMPILER_LIB_ARCH=32
|
|
export WM_CC='gcc'
|
|
export WM_CXX='g++'
|
|
export WM_CFLAGS='-fPIC'
|
|
export WM_CXXFLAGS='-fPIC -std=c++0x'
|
|
export WM_LDFLAGS=
|
|
;;
|
|
|
|
ppc64)
|
|
WM_ARCH=linuxPPC64
|
|
export WM_COMPILER_LIB_ARCH=64
|
|
export WM_CC='gcc'
|
|
export WM_CXX='g++'
|
|
export WM_CFLAGS='-m64 -fPIC'
|
|
export WM_CXXFLAGS='-m64 -fPIC -std=c++0x'
|
|
export WM_LDFLAGS='-m64'
|
|
;;
|
|
|
|
ppc64le)
|
|
WM_ARCH=linuxPPC64le
|
|
export WM_COMPILER_LIB_ARCH=64
|
|
export WM_CC='gcc'
|
|
export WM_CXX='g++'
|
|
export WM_CFLAGS='-m64 -fPIC'
|
|
export WM_CXXFLAGS='-m64 -fPIC -std=c++0x'
|
|
export WM_LDFLAGS='-m64'
|
|
;;
|
|
|
|
*)
|
|
echo Unknown processor type `uname -m` for Linux 1>&2
|
|
;;
|
|
esac
|
|
;;
|
|
|
|
SunOS)
|
|
WM_ARCH=SunOS64
|
|
WM_MPLIB=FJMPI
|
|
export WM_COMPILER_LIB_ARCH=64
|
|
export WM_CC='gcc'
|
|
export WM_CXX='g++'
|
|
export WM_CFLAGS='-mabi=64 -fPIC'
|
|
export WM_CXXFLAGS='-mabi=64 -fPIC -std=c++0x'
|
|
export WM_LDFLAGS='-mabi=64 -G0'
|
|
;;
|
|
|
|
*) # An unsupported operating system
|
|
/bin/cat <<USAGE 1>&2
|
|
|
|
Your "$WM_ARCH" operating system is not supported by this release
|
|
of OpenFOAM. For further assistance, please contact https://openfoam.org
|
|
|
|
USAGE
|
|
;;
|
|
esac
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# Location of the jobControl directory
|
|
export FOAM_JOB_DIR=$WM_PROJECT_INST_DIR/jobControl
|
|
|
|
# wmake configuration
|
|
export WM_DIR=$WM_PROJECT_DIR/wmake
|
|
export WM_LINK_LANGUAGE=c++
|
|
export WM_LABEL_OPTION=Int$WM_LABEL_SIZE
|
|
export WM_OPTIONS=$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION$WM_COMPILE_OPTION
|
|
|
|
# Base executables/libraries
|
|
export FOAM_APPBIN=$WM_PROJECT_DIR/platforms/$WM_OPTIONS/bin
|
|
export FOAM_LIBBIN=$WM_PROJECT_DIR/platforms/$WM_OPTIONS/lib
|
|
|
|
# External (ThirdParty) libraries
|
|
export FOAM_EXT_LIBBIN=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/lib
|
|
|
|
# Site-specific directory
|
|
siteDir="${WM_PROJECT_SITE:-$WM_PROJECT_INST_DIR/site}"
|
|
|
|
# Shared site executables/libraries
|
|
# Similar naming convention as ~OpenFOAM expansion
|
|
export FOAM_SITE_APPBIN=$siteDir/$WM_PROJECT_VERSION/platforms/$WM_OPTIONS/bin
|
|
export FOAM_SITE_LIBBIN=$siteDir/$WM_PROJECT_VERSION/platforms/$WM_OPTIONS/lib
|
|
|
|
# User executables/libraries
|
|
export FOAM_USER_APPBIN=$WM_PROJECT_USER_DIR/platforms/$WM_OPTIONS/bin
|
|
export FOAM_USER_LIBBIN=$WM_PROJECT_USER_DIR/platforms/$WM_OPTIONS/lib
|
|
|
|
# DynamicCode templates
|
|
# - default location is the "~OpenFOAM/codeTemplates/dynamicCode" expansion
|
|
# export FOAM_CODE_TEMPLATES=$WM_PROJECT_DIR/etc/codeTemplates/dynamicCode
|
|
|
|
# Convenience
|
|
export FOAM_ETC=$WM_PROJECT_DIR/etc
|
|
export FOAM_APP=$WM_PROJECT_DIR/applications
|
|
export FOAM_SRC=$WM_PROJECT_DIR/src
|
|
export FOAM_TUTORIALS=$WM_PROJECT_DIR/tutorials
|
|
export FOAM_UTILITIES=$FOAM_APP/utilities
|
|
export FOAM_SOLVERS=$FOAM_APP/solvers
|
|
export FOAM_MODULES=$FOAM_APP/modules
|
|
export FOAM_RUN=$WM_PROJECT_USER_DIR/run
|
|
|
|
# Add application bins to the path
|
|
_foamAddPath $FOAM_USER_APPBIN:$FOAM_SITE_APPBIN:$FOAM_APPBIN
|
|
|
|
# Add wmake scripts to the path - not required for runtime-only environment
|
|
[ -d "$WM_DIR" ] && PATH=$WM_DIR:$PATH
|
|
|
|
# Add OpenFOAM scripts to the path
|
|
export PATH=$WM_PROJECT_DIR/bin:$PATH
|
|
|
|
# Add site-specific scripts to path - only if they exist
|
|
if [ -d "$siteDir/bin" ] # Generic
|
|
then
|
|
_foamAddPath "$siteDir/bin"
|
|
fi
|
|
if [ -d "$siteDir/$WM_PROJECT_VERSION/bin" ] # Version-specific
|
|
then
|
|
_foamAddPath "$siteDir/$WM_PROJECT_VERSION/bin"
|
|
fi
|
|
unset siteDir
|
|
|
|
# Make sure to pick up dummy versions of external libraries last
|
|
_foamAddLib $FOAM_USER_LIBBIN:$FOAM_SITE_LIBBIN:$FOAM_LIBBIN:$FOAM_EXT_LIBBIN:$FOAM_LIBBIN/dummy
|
|
|
|
# Compiler settings
|
|
# ~~~~~~~~~~~~~~~~~
|
|
unset gcc_version gmp_version mpfr_version mpc_version
|
|
unset MPFR_ARCH_PATH GMP_ARCH_PATH
|
|
|
|
# Location of compiler installation
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
if [ -z "$WM_COMPILER_TYPE" ]
|
|
then
|
|
WM_COMPILER_TYPE=system
|
|
echo "Warning in $WM_PROJECT_DIR/etc/config.sh/settings:" 1>&2
|
|
echo " WM_COMPILER_TYPE not set, using '$WM_COMPILER_TYPE'" 1>&2
|
|
fi
|
|
|
|
# Load configured compiler versions, regardless of the compiler type
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.sh/compiler`
|
|
|
|
case "$WM_COMPILER_TYPE" in
|
|
OpenFOAM | ThirdParty)
|
|
|
|
if [ -n "$gcc_version" ]
|
|
then
|
|
gccDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$gcc_version
|
|
gmpDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$gmp_version
|
|
mpfrDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$mpfr_version
|
|
mpcDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$mpc_version
|
|
|
|
# Check that the compiler directory can be found
|
|
[ -d "$gccDir" ] || {
|
|
echo 1>&2
|
|
echo "Warning in $WM_PROJECT_DIR/etc/config.sh/settings:" 1>&2
|
|
echo " Cannot find $gccDir installation." 1>&2
|
|
echo " Please install this compiler version or if you wish to" \
|
|
" use the system compiler," 1>&2
|
|
echo " change the 'WM_COMPILER_TYPE' setting to 'system'" 1>&2
|
|
echo
|
|
}
|
|
|
|
_foamAddMan $gccDir/man
|
|
_foamAddPath $gccDir/bin
|
|
|
|
# Add compiler libraries to run-time environment
|
|
_foamAddLib $gccDir/lib$WM_COMPILER_LIB_ARCH
|
|
|
|
# Add gmp/mpfr libraries to run-time environment
|
|
_foamAddLib $gmpDir/lib$WM_COMPILER_LIB_ARCH
|
|
_foamAddLib $mpfrDir/lib$WM_COMPILER_LIB_ARCH
|
|
|
|
# Add mpc libraries (not need for older gcc) to run-time environment
|
|
if [ -n "$mpc_version" ]
|
|
then
|
|
_foamAddLib $mpcDir/lib$WM_COMPILER_LIB_ARCH
|
|
fi
|
|
fi
|
|
unset gcc_version gccDir
|
|
unset gmp_version gmpDir mpfr_version mpfrDir mpc_version mpcDir
|
|
|
|
if [ -n "$clang_version" ]
|
|
then
|
|
clangDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$clang_version
|
|
|
|
# Check that the compiler directory can be found
|
|
[ -d "$clangDir" ] || {
|
|
echo 1>&2
|
|
echo "Warning in $WM_PROJECT_DIR/etc/config.sh/settings:" 1>&2
|
|
echo " Cannot find $clangDir installation." 1>&2
|
|
echo " Please install this compiler version or if you wish to" \
|
|
" use the system compiler," 1>&2
|
|
echo " change the 'WM_COMPILER_TYPE' setting to 'system'" 1>&2
|
|
echo 1>&2
|
|
}
|
|
|
|
_foamAddMan $clangDir/share/man
|
|
_foamAddPath $clangDir/bin
|
|
fi
|
|
unset clang_version clangDir
|
|
;;
|
|
system)
|
|
# Use system compiler
|
|
;;
|
|
*)
|
|
echo "Warn: WM_COMPILER_TYPE='$WM_COMPILER_TYPE' is unsupported" 1>&2
|
|
echo " treating as 'system' instead" 1>&2
|
|
;;
|
|
esac
|
|
|
|
#------------------------------------------------------------------------------
|