1 #----------------------------------*-sh-*--------------------------------------
3 # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 # \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
7 #------------------------------------------------------------------------------
9 # This file is part of OpenFOAM.
11 # OpenFOAM is free software; you can redistribute it and/or modify it
12 # under the terms of the GNU General Public License as published by the
13 # Free Software Foundation; either version 2 of the License, or (at your
14 # option) any later version.
16 # OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 # You should have received a copy of the GNU General Public License
22 # along with OpenFOAM; if not, write to the Free Software Foundation,
23 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
29 # Startup file for OpenFOAM
30 # Sourced from OpenFOAM-??/etc/bashrc
32 #------------------------------------------------------------------------------
44 # prefix to LD_LIBRARY_PATH
49 export LD_LIBRARY_PATH
=$1:$LD_LIBRARY_PATH
55 # location of the jobControl directory
56 export FOAM_JOB_DIR
=$WM_PROJECT_INST_DIR/jobControl
59 export WM_DIR
=$WM_PROJECT_DIR/wmake
60 export WM_LINK_LANGUAGE
=c
++
61 export WM_OPTIONS
=$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_COMPILE_OPTION
64 export FOAM_APP
=$WM_PROJECT_DIR/applications
65 export FOAM_APPBIN
=$WM_PROJECT_DIR/applications
/bin
/$WM_OPTIONS
66 export FOAM_LIB
=$WM_PROJECT_DIR/lib
67 export FOAM_LIBBIN
=$WM_PROJECT_DIR/lib
/$WM_OPTIONS
68 export FOAM_SRC
=$WM_PROJECT_DIR/src
70 # shared site configuration - similar naming convention as ~OpenFOAM expansion
71 export FOAM_SITE_APPBIN
=$WM_PROJECT_INST_DIR/site
/$WM_PROJECT_VERSION/bin
/$WM_OPTIONS
72 export FOAM_SITE_LIBBIN
=$WM_PROJECT_INST_DIR/site
/$WM_PROJECT_VERSION/lib
/$WM_OPTIONS
75 export FOAM_USER_APPBIN
=$WM_PROJECT_USER_DIR/applications
/bin
/$WM_OPTIONS
76 export FOAM_USER_LIBBIN
=$WM_PROJECT_USER_DIR/lib
/$WM_OPTIONS
79 export FOAM_TUTORIALS
=$WM_PROJECT_DIR/tutorials
80 export FOAM_UTILITIES
=$FOAM_APP/utilities
81 export FOAM_SOLVERS
=$FOAM_APP/solvers
82 export FOAM_RUN
=$WM_PROJECT_USER_DIR/run
84 # add OpenFOAM scripts and wmake to the path
85 export PATH
=$WM_DIR:$WM_PROJECT_DIR/bin
:$PATH
87 _foamAddPath
$FOAM_APPBIN $FOAM_SITE_APPBIN $FOAM_USER_APPBIN
88 _foamAddLib
$FOAM_LIBBIN $FOAM_SITE_LIBBIN $FOAM_USER_LIBBIN
93 unset compilerBin compilerLib
95 # Select compiler installation
96 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
97 # compilerInstall = OpenFOAM | System
98 compilerInstall
=OpenFOAM
100 case "${compilerInstall:-OpenFOAM}" in
102 case "$WM_COMPILER" in
104 export WM_COMPILER_DIR
=$WM_THIRD_PARTY_DIR/gcc-4.3
.3/platforms
/$WM_ARCH$WM_COMPILER_ARCH
105 _foamAddLib
$WM_THIRD_PARTY_DIR/mpfr-2.4
.1/platforms
/$WM_ARCH$WM_COMPILER_ARCH/lib
106 _foamAddLib
$WM_THIRD_PARTY_DIR/gmp-4.2
.4/platforms
/$WM_ARCH$WM_COMPILER_ARCH/lib
109 export WM_COMPILER_DIR
=$WM_THIRD_PARTY_DIR/gcc-4.3
.3/platforms
/$WM_ARCH$WM_COMPILER_ARCH
110 _foamAddLib
$WM_THIRD_PARTY_DIR/mpfr-2.4
.1/platforms
/$WM_ARCH$WM_COMPILER_ARCH/lib
111 _foamAddLib
$WM_THIRD_PARTY_DIR/gmp-4.2
.4/platforms
/$WM_ARCH$WM_COMPILER_ARCH/lib
114 export WM_COMPILER_DIR
=$WM_THIRD_PARTY_DIR/gcc-4.2
.4/platforms
/$WM_ARCH$WM_COMPILER_ARCH
118 # Check that the compiler directory can be found
119 if [ ! -d "$WM_COMPILER_DIR" ]
122 echo "Warning in $WM_PROJECT_DIR/etc/settings.sh:"
123 echo " Cannot find $WM_COMPILER_DIR installation."
124 echo " Please install this compiler version or if you wish to use the system compiler,"
125 echo " change the 'compilerInstall' setting to 'System' in this file"
129 compilerBin
=$WM_COMPILER_DIR/bin
130 compilerLib
=$WM_COMPILER_DIR/lib
$WM_COMPILER_LIB_ARCH:$WM_COMPILER_DIR/lib
134 if [ -d "$compilerBin" ]
136 _foamAddPath
$compilerBin
137 _foamAddLib
$compilerLib
140 unset compilerBin compilerLib compilerInstall
142 # Communications library
143 # ~~~~~~~~~~~~~~~~~~~~~~
149 mpi_version
=openmpi-1.3
.3
150 export MPI_HOME
=$WM_THIRD_PARTY_DIR/$mpi_version
151 export MPI_ARCH_PATH
=$MPI_HOME/platforms
/$WM_OPTIONS
153 # Tell OpenMPI where to find its install directory
154 export OPAL_PREFIX
=$MPI_ARCH_PATH
156 _foamAddPath
$MPI_ARCH_PATH/bin
157 _foamAddLib
$MPI_ARCH_PATH/lib
159 export FOAM_MPI_LIBBIN
=$FOAM_LIBBIN/$mpi_version
164 mpi_version
=mpich-1.2
.4
165 export MPI_HOME
=$WM_THIRD_PARTY_DIR/$mpi_version
166 export MPI_ARCH_PATH
=$MPI_HOME/platforms
/$WM_OPTIONS
167 export MPICH_ROOT
=$MPI_ARCH_PATH
169 _foamAddPath
$MPI_ARCH_PATH/bin
170 _foamAddLib
$MPI_ARCH_PATH/lib
172 export FOAM_MPI_LIBBIN
=$FOAM_LIBBIN/$mpi_version
177 export MPI_ARCH_PATH
=/opt
/mpi
178 export MPICH_PATH
=$MPI_ARCH_PATH
179 export MPICH_ROOT
=$MPI_ARCH_PATH
180 export GM_LIB_PATH
=/opt
/gm
/lib64
182 _foamAddPath
$MPI_ARCH_PATH/bin
183 _foamAddLib
$MPI_ARCH_PATH/lib
184 _foamAddLib
$GM_LIB_PATH
186 export FOAM_MPI_LIBBIN
=$FOAM_LIBBIN/mpich-gm
190 export MPI_HOME
=/opt
/hpmpi
191 export MPI_ARCH_PATH
=$MPI_HOME
192 export MPICH_ROOT
=$MPI_ARCH_PATH
194 _foamAddPath
$MPI_ARCH_PATH/bin
198 _foamAddLib
$MPI_ARCH_PATH/lib
/linux_ia32
202 _foamAddLib
$MPI_ARCH_PATH/lib
/linux_amd64
205 _foamAddLib
$MPI_ARCH_PATH/lib
/linux_ia64
208 echo Unknown processor
type `uname -m` for Linux
212 export FOAM_MPI_LIBBIN
=$FOAM_LIBBIN/hpmpi
216 export MPI_ARCH_PATH
=/usr
217 export FOAM_MPI_LIBBIN
=$FOAM_LIBBIN/gamma
221 export MPI_ARCH_PATH
=/opt
/mpi
222 export FOAM_MPI_LIBBIN
=$FOAM_LIBBIN/mpi
226 export MPI_ARCH_PATH
=/opt
/FJSVmpi2
227 export FOAM_MPI_LIBBIN
=$FOAM_LIBBIN/mpi
229 _foamAddPath
$MPI_ARCH_PATH/bin
230 _foamAddLib
$MPI_ARCH_PATH/lib
/sparcv9
231 _foamAddLib
/opt
/FSUNf90
/lib
/sparcv9
232 _foamAddLib
/opt
/FJSVpnidt
/lib
236 export MPI_ARCH_PATH
=/usr
/lib
/mpi
237 export FOAM_MPI_LIBBIN
=$FOAM_LIBBIN/qsmpi
239 _foamAddPath
$MPI_ARCH_PATH/bin
240 _foamAddLib
$MPI_ARCH_PATH/lib
245 export FOAM_MPI_LIBBIN
=$FOAM_LIBBIN/dummy
249 _foamAddLib
$FOAM_MPI_LIBBIN
252 # Set the minimum MPI buffer size (used by all platforms except SGI MPI)
253 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
254 minBufferSize
=20000000
256 if [ "${MPI_BUFFER_SIZE:=$minBufferSize}" -lt $minBufferSize ]
258 MPI_BUFFER_SIZE
=$minBufferSize
260 export MPI_BUFFER_SIZE
263 # CGAL library if available
264 # ~~~~~~~~~~~~~~~~~~~~~~~~~
265 [ -d "$CGAL_LIB_DIR" ] && _foamAddLib
$CGAL_LIB_DIR
268 # Switch on the hoard memory allocator if available
269 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
270 #if [ -f $FOAM_LIBBIN/libhoard.so ]
272 # export LD_PRELOAD=$FOAM_LIBBIN/libhoard.so:$LD_PRELOAD
276 # cleanup environment:
277 # ~~~~~~~~~~~~~~~~~~~~
278 unset _foamAddPath _foamAddLib minBufferSize
280 # -----------------------------------------------------------------------------