initial commit for version 1.6.x patch release
[OpenFOAM-1.6.x.git] / etc / settings.sh
blob9d39e1eb866d49359641f19be0c149556593bed4
1 #----------------------------------*-sh-*--------------------------------------
2 # ========= |
3 # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4 # \\ / O peration |
5 # \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
6 # \\/ M anipulation |
7 #------------------------------------------------------------------------------
8 # License
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
19 # for more details.
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
25 # Script
26 # etc/settings.sh
28 # Description
29 # Startup file for OpenFOAM
30 # Sourced from OpenFOAM-??/etc/bashrc
32 #------------------------------------------------------------------------------
34 # prefix to PATH
35 _foamAddPath()
37 while [ $# -ge 1 ]
39 export PATH=$1:$PATH
40 shift
41 done
44 # prefix to LD_LIBRARY_PATH
45 _foamAddLib()
47 while [ $# -ge 1 ]
49 export LD_LIBRARY_PATH=$1:$LD_LIBRARY_PATH
50 shift
51 done
55 # location of the jobControl directory
56 export FOAM_JOB_DIR=$WM_PROJECT_INST_DIR/jobControl
58 # wmake configuration
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
63 # base configuration
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
74 # user configuration
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
78 # convenience
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
91 # Compiler settings
92 # ~~~~~~~~~~~~~~~~~
93 unset compilerBin compilerLib
95 # Select compiler installation
96 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
97 # compilerInstall = OpenFOAM | System
98 compilerInstall=OpenFOAM
100 case "${compilerInstall:-OpenFOAM}" in
101 OpenFOAM)
102 case "$WM_COMPILER" in
103 Gcc)
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
108 Gcc43)
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
113 Gcc42)
114 export WM_COMPILER_DIR=$WM_THIRD_PARTY_DIR/gcc-4.2.4/platforms/$WM_ARCH$WM_COMPILER_ARCH
116 esac
118 # Check that the compiler directory can be found
119 if [ ! -d "$WM_COMPILER_DIR" ]
120 then
121 echo
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"
126 echo
129 compilerBin=$WM_COMPILER_DIR/bin
130 compilerLib=$WM_COMPILER_DIR/lib$WM_COMPILER_LIB_ARCH:$WM_COMPILER_DIR/lib
132 esac
134 if [ -d "$compilerBin" ]
135 then
136 _foamAddPath $compilerBin
137 _foamAddLib $compilerLib
140 unset compilerBin compilerLib compilerInstall
142 # Communications library
143 # ~~~~~~~~~~~~~~~~~~~~~~
145 unset MPI_ARCH_PATH
147 case "$WM_MPLIB" in
148 OPENMPI)
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
160 unset mpi_version
163 MPICH)
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
173 unset mpi_version
176 MPICH-GM)
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
189 HPMPI)
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
196 case `uname -m` in
197 i686)
198 _foamAddLib $MPI_ARCH_PATH/lib/linux_ia32
201 x86_64)
202 _foamAddLib $MPI_ARCH_PATH/lib/linux_amd64
204 ia64)
205 _foamAddLib $MPI_ARCH_PATH/lib/linux_ia64
208 echo Unknown processor type `uname -m` for Linux
210 esac
212 export FOAM_MPI_LIBBIN=$FOAM_LIBBIN/hpmpi
215 GAMMA)
216 export MPI_ARCH_PATH=/usr
217 export FOAM_MPI_LIBBIN=$FOAM_LIBBIN/gamma
220 MPI)
221 export MPI_ARCH_PATH=/opt/mpi
222 export FOAM_MPI_LIBBIN=$FOAM_LIBBIN/mpi
225 FJMPI)
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
235 QSMPI)
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
247 esac
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 ]
257 then
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 ]
271 #then
272 # export LD_PRELOAD=$FOAM_LIBBIN/libhoard.so:$LD_PRELOAD
276 # cleanup environment:
277 # ~~~~~~~~~~~~~~~~~~~~
278 unset _foamAddPath _foamAddLib minBufferSize
280 # -----------------------------------------------------------------------------