This repository has been archived on 2023-11-20. You can view files and clone it, but cannot push or open issues or pull requests.
foam-extend4.1-coherent-io/etc/cshrc
Henrik Rusche 67ab0b5abd Vanilla backport
- in FOAM library
updated containers
backported PackedBoolList, hashedWordList, nullObject, wordRe,
backported functions to
backported int32 support
backported tableReaders
backported Function1, TimeFunction1
backported dynamicCode (for codedBCs, ...) -- needs to be mapped out
advanced error macros (FatalIOErrorInFunction, ...) -- needs to be mapped out
backported IOobject::MUST_READ_IF_MODIFIED and added IOobject::READ_IF_PRESENT_IF_MODIFIED (only in FO)

- in postProcessing
backported IO FOs (partialWrite, removeRegisteredObject, writeDictionary, writeRegisteredObject)
backported field FOs (fieldCoordinateSystemTransform, fieldValues, nearWallFields, processorField, readFields, regionSizeDistribution, streamLine, wallBoundedStreamLine)
backported fvTools FOs (calcFvcDiv, calcFvcGrad, calcMag)
backported jobControl FOs (abortCalculation)
backported utilities FOs (ourantNo, Lambda2, Peclet, Q, codedFunctionObject, pressureTools, residuals, scalarTransport, setTimeStep, timeActivatedFileUpdate, turbulenceFields, vorticity, wallShearStress)
2018-02-16 15:07:55 +01:00

401 lines
12 KiB
Bash

#----------------------------------*-sh-*--------------------------------------
# ========= |
# \\ / F ield | foam-extend: Open Source CFD
# \\ / O peration | Version: 4.0
# \\ / A nd | Web: http://www.foam-extend.org
# \\/ M anipulation | For copyright notice see file Copyright
#------------------------------------------------------------------------------
# License
# This file is part of foam-extend.
#
# foam-extend 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.
#
# foam-extend 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 foam-extend. If not, see <http://www.gnu.org/licenses/>.
#
# Script
# etc/cshrc
#
# Description
# Startup file for FOAM
# Sourced from ~/.login or ~/.cshrc
#
#------------------------------------------------------------------------------
setenv WM_PROJECT foam
setenv WM_FORK extend
setenv WM_PROJECT_VERSION 4.0
# helps to easily write #ifdefs to detect a foam-extend version
setenv FOAM_DEV 1
###############################################################################
# USER EDITABLE PART
#
# either setenv FOAM_INST_DIR before sourcing this file or set
# foamInstall below to where FOAM is installed
#
# Location of FOAM installation
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
set foamInstall = $HOME/$WM_PROJECT
# set foamInstall = ~$WM_PROJECT
# set foamInstall = /usr/local/$WM_PROJECT
# set foamInstall = /opt/$WM_PROJECT
#
# END OF (NORMAL) USER EDITABLE PART
###############################################################################
# note the location for later use (eg, in job scripts)
if ( ! $?FOAM_INST_DIR ) setenv FOAM_INST_DIR $foamInstall
# The old dirs to be cleaned from the various environment variables
# - remove anything under top-level directory.
# NB: the WM_PROJECT_INST_DIR might not be identical between versions
set foamOldDirs="$FOAM_INST_DIR $HOME/$WM_PROJECT/$LOGNAME"
# Location of site/user files
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~
setenv WM_PROJECT_INST_DIR $FOAM_INST_DIR
setenv WM_PROJECT_DIR $WM_PROJECT_INST_DIR/$WM_PROJECT-$WM_FORK-$WM_PROJECT_VERSION
setenv WM_PROJECT_USER_DIR $HOME/$WM_PROJECT/$LOGNAME-$WM_PROJECT_VERSION
# Location of third-party software
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#setenv WM_THIRD_PARTY_DIR $WM_PROJECT_INST_DIR/ThirdParty-$WM_PROJECT_VERSION
setenv WM_THIRD_PARTY_DIR $WM_PROJECT_DIR/ThirdParty
# Enabling the usage of third-party software
# This can be overriden in prefs.sh
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# For AllMake.stage1
#setenv WM_THIRD_PARTY_USE_CMAKE_322 1
#
# For AllMake.stage2
setenv WM_THIRD_PARTY_USE_OPENMPI_188 1
#
# For AllMake.stage3
setenv WM_THIRD_PARTY_USE_METIS_510 1
setenv WM_THIRD_PARTY_USE_PARMGRIDGEN_10 1
setenv WM_THIRD_PARTY_USE_LIBCCMIO_261 1
setenv WM_THIRD_PARTY_USE_MESQUITE_212 1
setenv WM_THIRD_PARTY_USE_SCOTCH_604 1
setenv WM_THIRD_PARTY_USE_PARMETIS_403 1
setenv WM_THIRD_PARTY_USE_PYFOAM_064 1
setenv WM_THIRD_PARTY_USE_HWLOC_1101 1
#
# For AllMake.stage4
#setenv WM_THIRD_PARTY_USE_QT_486 1
setenv WM_THIRD_PARTY_USE_PARAVIEW_440 1
# Source files, possibly with some verbosity
alias _foamSource 'if ($?FOAM_VERBOSE && $?prompt) echo "Sourcing: \!*"; source \!*'
# Add in preset user or site preferences:
if ( -e $WM_PROJECT_DIR/etc/prefs.csh ) then
_foamSource $WM_PROJECT_DIR/etc/prefs.csh
else
if ($?FOAM_VERBOSE && $?prompt) echo "No prefs.csh found"
endif
# Evaluate command-line parameters
while ( $#argv > 0 )
switch ($argv[1])
case *=:
# name= -> unsetenv name
eval "unsetenv $argv[1]:s/=//"
breaksw
case *=*:
# name=value -> setenv name value
eval "setenv $argv[1]:s/=/ /"
breaksw
endsw
shift
end
# Operating System/Platform
# ~~~~~~~~~~~~~~~~~~~~~~~~~
# WM_OSTYPE = POSIX | ????
if ( ! $?WM_OSTYPE ) setenv WM_OSTYPE POSIX
# Compiler: set to Gcc, Gcc43 or Icc (for Intel's icc)
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if ( ! $?WM_COMPILER ) setenv WM_COMPILER Gcc
#setenv WM_COMPILER Gcc
#setenv WM_COMPILER Icc
setenv WM_COMPILER_ARCH
setenv WM_COMPILER_LIB_ARCH
# Compilation options (architecture, precision, optimised, debug or profiling)
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# WM_ARCH_OPTION = 32 | 64
if ( ! $?WM_ARCH_OPTION ) setenv WM_ARCH_OPTION 64
# WM_PRECISION_OPTION = LDP | DP | SP
if ( ! $?WM_PRECISION_OPTION ) setenv WM_PRECISION_OPTION DP
# WM_LABEL_SIZE = 32 | 64
if ( ! $?WM_LABEL_SIZE ) setenv WM_LABEL_SIZE 32
# WM_COMPILE_OPTION = Opt | Debug | Prof
if ( ! $?WM_COMPILE_OPTION ) setenv WM_COMPILE_OPTION Opt
setenv WM_COMPILE_OPTION Opt
#setenv WM_COMPILE_OPTION Debug
# WM_MPLIB = SYSTEMOPENMPI | OPENMPI | MPICH | MPICH-GM | HPMPI | GAMMA | MPI | QSMPI | MVAPICH2
if ( ! $?WM_MPLIB ) setenv WM_MPLIB OPENMPI
# WM_NCOMPPROCS = <number of processes to use>
# Warning: Need to use a complete path for foamGetSystemInfo because the PATH
# environment variable is not properly initialized yet.
if ( ! $?WM_NCOMPPROCS ) setenv WM_NCOMPPROCS `$WM_PROJECT_DIR/bin/foamGetSystemInfo -nbrCores`
# Run options (floating-point signal handling and memory initialisation)
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
setenv FOAM_SIGFPE
# setenv FOAM_SETNAN
# Detect system type and set environment variables
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
setenv WM_ARCH `uname -s`
switch ($WM_ARCH)
case Linux:
setenv WM_ARCH linux
switch (`uname -m`)
case i686:
breaksw
case x86_64:
switch ($WM_ARCH_OPTION)
case 32:
setenv WM_ARCH linux
setenv WM_COMPILER_ARCH '-64'
setenv WM_CFLAGS '-m32 -fPIC'
setenv WM_CXXFLAGS '-m32 -fPIC'
setenv WM_LDFLAGS '-m32'
breaksw
case 64:
setenv WM_ARCH linux64
setenv WM_COMPILER_LIB_ARCH 64
setenv WM_CFLAGS '-m64 -fPIC'
setenv WM_CXXFLAGS '-m64 -fPIC'
setenv WM_LDFLAGS '-m64'
breaksw
default:
echo Unknown WM_ARCH_OPTION $WM_ARCH_OPTION, should be 32 or 64
breaksw
endsw
breaksw
case ia64:
setenv WM_ARCH linuxIA64
setenv WM_COMPILER I64
breaksw
case mips64:
setenv WM_ARCH SiCortex64
setenv WM_COMPILER_LIB_ARCH 64
setenv WM_CFLAGS '-mabi=64 -fPIC'
setenv WM_CXXFLAGS '-mabi=64 -fPIC'
setenv WM_LDFLAGS '-mabi=64 -G0'
setenv WM_MPLIB MPI
;;
case ppc64:
setenv WM_ARCH linuxPPC64
setenv WM_COMPILER_LIB_ARCH 64
setenv WM_CFLAGS '-m64 -fPIC'
setenv WM_CXXFLAGS '-m64 -fPIC'
setenv WM_LDFLAGS '-m64'
breaksw
armv7l)
setenv WM_ARCH linuxARM7
setenv WM_COMPILER_LIB_ARCH 32
setenv WM_CC 'gcc'
setenv WM_CXX 'g++'
setenv WM_CFLAGS '-fPIC -mfloat-abi=hard'
setenv WM_CXXFLAGS '-fPIC -mfloat-abi=hard'
setenv WM_LDFLAGS '-mfloat-abi=hard'
;;
default:
echo Unknown processor type `uname -m` for Linux
breaksw
endsw
breaksw
case Darwin:
# this makes certain things easier
setenv WM_ARCH_BASE darwin
# Remove limit on number of open files
ulimit -n 1000
switch (`uname -p`)
case powerpc:
setenv WM_ARCH darwinPpc
breaksw
case i386:
setenv WM_ARCH darwinIntel
breaksw
default:
echo "This seems to be an Intel-Mac please tell me the output of 'uname -p'. Bernhard."
setenv WM_ARCH darwinIntel
breaksw
endsw
switch ($WM_ARCH_OPTION)
case 32:
setenv WM_CFLAGS '-m32 -fPIC'
setenv WM_CXXFLAGS '-m32 -fPIC'
setenv WM_LDFLAGS '-m32'
breaksw;
case 64:
setenv WM_ARCH ${WM_ARCH}64
setenv WM_CFLAGS '-m64 -fPIC'
setenv WM_CXXFLAGS '-m64 -fPIC'
setenv WM_LDFLAGS '-m64'
breaksw;
default:
echo "Unknown WM_ARCH_OPTION $WM_ARCH_OPTION, should be 32 or 64"
breaksw
endsw
# Make sure that binaries use the best features of the used OS-Version
# We need to get rid of the revision number from this string. eg turn "10.7.5" into "10.7"
set v=`sw_vers -productVersion | sed 's/\./ /g'`
setenv MACOSX_DEPLOYMENT_TARGET "$v[1].$v[2]"
# Use Mac-Ports-Compiler instead of Apple-gcc-4.2
if ( ! $?compilerInstall ) setenv compilerInstall System
if ( $compilerInstall == "System" ) then
switch ($WM_COMPILER)
case Gcc43:
setenv WM_CC 'gcc-mp-4.3'
setenv WM_CXX 'g++-mp-4.3'
breaksw;
case Gcc44:
setenv WM_CC 'gcc-mp-4.4'
setenv WM_CXX 'g++-mp-4.4'
breaksw;
case Gcc45:
setenv WM_CC 'gcc-mp-4.5'
setenv WM_CXX 'g++-mp-4.5'
breaksw;
endsw
#setenv WM_COMPILER ""
endif
breaksw
case SunOS:
setenv WM_ARCH SunOS64
setenv WM_COMPILER_LIB_ARCH 64
setenv WM_CFLAGS '-mabi=64 -fPIC'
setenv WM_CXXFLAGS '-mabi=64 -fPIC'
setenv WM_LDFLAGS '-mabi=64 -G0'
setenv WM_MPLIB FJMPI
breaksw
default:
echo
echo "Your '$WM_ARCH' operating system is not supported by this release"
echo "of OpenFOAM. For further assistance, please contact www.OpenFOAM.org"
echo
breaksw
endsw
# Clean standard environment variables (path/PATH, LD_LIBRARY_PATH, MANPATH)
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
set cleanProg=$WM_PROJECT_DIR/bin/foamCleanPath
if (! $?LD_LIBRARY_PATH ) then
setenv LD_LIBRARY_PATH ''
endif
if (! $?MANPATH) then
setenv MANPATH ''
endif
#- Clean path/PATH
set colonPath=`echo "$path" | sed -e 's/ /:/g'`
set cleanEnv=`$cleanProg "$colonPath" "$foamOldDirs"`
if ( $status == 0 ) then
set path=`echo "$cleanEnv" | sed -e 's/:/ /g'`
endif
#- Clean LD_LIBRARY_PATH
setenv LD_LIBRARY_PATH `$cleanProg "$LD_LIBRARY_PATH" "$foamOldDirs"`
#- Clean MANPATH
setenv MANPATH `$cleanProg "$MANPATH" "$foamOldDirs"`
# Source project setup files
# ~~~~~~~~~~~~~~~~~~~~~~~~~~
_foamSource $WM_PROJECT_DIR/etc/settings.csh
_foamSource $WM_PROJECT_DIR/etc/aliases.csh
# Source user setup files for optional packages
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# _foamSource $WM_PROJECT_DIR/etc/apps/paraview/cshrc
#_foamSource $WM_PROJECT_DIR/etc/apps/paraview3/cshrc
# _foamSource $WM_PROJECT_DIR/etc/apps/ensight/cshrc
# Clean environment paths again. Only remove duplicates
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#- Clean path/PATH
set colonPath=`echo "$path" | sed -e 's/ /:/g'`
set cleanEnv=`$cleanProg "$colonPath"`
if ( $status == 0 ) then
set path=`echo "$cleanEnv" | sed -e 's/:/ /g'`
endif
#- Clean LD_LIBRARY_PATH
setenv LD_LIBRARY_PATH `$cleanProg "$LD_LIBRARY_PATH"`
#- Clean MANPATH
setenv MANPATH `$cleanProg "$MANPATH"`:
#- Clean LD_PRELOAD
if ( $?LD_PRELOAD ) then
setenv LD_PRELOAD `$cleanProg "$LD_PRELOAD"`
endif
#- Clean DYLD_LIBRARY_PATH
if ( $?DYLD_LIBRARY_PATH ) then
setenv DYLD_LIBRARY_PATH `$cleanProg "$DYLD_LIBRARY_PATH"`
endif
# cleanup environment:
# ~~~~~~~~~~~~~~~~~~~~
unset cleanEnv cleanProg colonPath foamInstall foamOldDirs
unalias _foamSource
# -----------------------------------------------------------------------------