Files
openfoam/etc/cshrc
Mark Olesen 9dee2cad3e ENH: integrate memory pool support for List allocations (#3381)
- provides an optional memory management using a memory pool.
  Currently can support Umpire (https://github.com/LLNL/Umpire)

  When available, its use can be controlled by the FOAM_MEMORY_POOL
  environment variable, or the memory_pool Optimisation switch
  (etc/controlDict).

Notes:

  Use of the memory-pool is controlled by the 'is_aligned_type()' test
  and the minimum field size, controlled by the 'use_memory_pool()' test.

  If the memory-pool is not enabled or not required according to the two
  above tests, the allocation falls back to either an aligned or unaligned
  allocation (depending on the field size).

  The thresholds for aligned, unaligned, memory-pool allocation
  are still a compile-time option. Made by direct edit of the
  corrsponding functions.
2025-06-23 11:08:38 +02:00

237 lines
8.5 KiB
Bash

#----------------------------------*-sh-*--------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | www.openfoam.com
# \\/ M anipulation |
#------------------------------------------------------------------------------
# Copyright (C) 2011-2016 OpenFOAM Foundation
# Copyright (C) 2016-2024 OpenCFD Ltd.
#------------------------------------------------------------------------------
# License
# This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
#
# File
# etc/cshrc
#
# Description
# The OpenFOAM environment for C-shell (csh, tcsh).
# Source manually or from the ~/.cshrc or ~/.login files.
#
# Most settings can be overridden with a <prefs.csh> file:
#
# - Base values (eg, from system admin):
# - $WM_PROJECT_DIR/etc/prefs.csh
#
# - User or group values (first file found):
# - ~/.OpenFOAM/$FOAM_API/prefs.csh
# - ~/.OpenFOAM/prefs.csh
# - $WM_PROJECT_SITE/$FOAM_API/etc/prefs.csh
# - $WM_PROJECT_SITE/prefs.csh
#
# Some settings can also be overridden on the command-line when
# sourcing this file. For example,
#
# source /path/etc/cshrc WM_COMPILER=Clang WM_LABEL_SIZE=64
#
# Environment
# FOAM_CONFIG_ETC
# - alternative/additional location for OpenFOAM etc/ directory
#
# FOAM_CONFIG_MODE (search mode for etc config files - see foamEtcFile)
# - eg, FOAM_CONFIG_MODE="o" to only use OpenFOAM config files
# - no influence on OpenFOAM applications, just the config files
#
# FOAM_VERBOSE (set/unset)
# - add extra verbosity when sourcing files
#
# WM_PROJECT_SITE (optional directory)
# - local site-specific directory, uses WM_PROJECT_DIR/site if unset
#
# Note
# Changes made to this file will be lost with the next upgrade.
#
#------------------------------------------------------------------------------
# [WM_PROJECT_VERSION] - A human-readable version name
# A development version is often named 'com' - as in www.openfoam.com
setenv WM_PROJECT_VERSION v2412
#------------------------------------------------------------------------------
# Configuration environment variables.
# Override with <prefs.csh> instead of editing here.
# [WM_COMPILER_TYPE] - Compiler location:
# = system | ThirdParty
setenv WM_COMPILER_TYPE system
# [WM_COMPILER] - Compiler:
# = Gcc | Clang | Icc | Icx | Amd | Arm | Cray | Fujitsu | Nvidia |
# Gcc<digits> | Clang<digits>
setenv WM_COMPILER Gcc
# [WM_PRECISION_OPTION] - Floating-point precision:
# = DP | SP | SPDP
setenv WM_PRECISION_OPTION DP
# [WM_LABEL_SIZE] - Label size in bits:
# = 32 | 64
setenv WM_LABEL_SIZE 32
# [WM_COMPILE_OPTION] - Optimised(default), debug, profiling, other:
# = Opt | Dbg | Debug | Prof
setenv WM_COMPILE_OPTION Opt
# [WM_COMPILE_CONTROL] - additional control for compilation/linking
# +gold : use gold linker
# +link-ld: use ld linker [clang]
# +lld : use lld linker [clang]
# +mold : use mold linker [clang]
# ~libz : without libz compression
# ~rpath : without rpath handling [MacOS]
# +openmp : with openmp
# ~openmp : without openmp
# +ccache : use ccache
# +xcrun : use xcrun and native compilers [MacOS]
# +strict : more deprecation warnings (may generate *many* warnings)
# ++strict : even more deprecation warnings
# ccache=... : ccache command (unquoted, single/double or <> quoted)
# version=... : compiler suffix (eg, version=11 -> gcc-11)
# lnInclude-extra : add '-extra' option for wmakeLnInclude
#setenv WM_COMPILE_CONTROL "+strict"
# [WM_MPLIB] - MPI implementation:
# = SYSTEMOPENMPI | OPENMPI | SYSTEMMPI | MPI | MPICH | MPICH-GM |
# HPMPI | CRAY-MPICH | FJMPI | QSMPI | SGIMPI | INTELMPI | USERMPI
# Specify SYSTEMOPENMPI1, SYSTEMOPENMPI2 for internal tracking (if desired)
# Can also use INTELMPI-xyz etc and define your own wmake rule
setenv WM_MPLIB SYSTEMOPENMPI
#------------------------------------------------------------------------------
# (advanced / legacy)
# [WM_PROJECT] - This project is "OpenFOAM" - do not change
setenv WM_PROJECT OpenFOAM
# [projectDir] - directory containing this OpenFOAM version.
# \- When this file is located as $WM_PROJECT_DIR/etc/cshrc, the next lines
# should work when sourced by CSH or TCSH shells. If this however fails,
# set one of the fallback values to an appropriate path.
#
# This can be removed if an absolute path is provided for WM_PROJECT_DIR
# later on in this file.
# --
# If the directory naming does not match WM_PROJECT, need to change here
# Important! No line continuation in the lsof evaluation (#1668)
set projectName="$WM_PROJECT"
set projectDir=`lsof +p $$ |& sed -ne 's#^[^/]*##;\@/'"$projectName"'[^/]*/etc/cshrc@{s#/etc/cshrc.*##p;q; }'`
# set projectDir="$HOME/OpenFOAM/OpenFOAM-$WM_PROJECT_VERSION"
# set projectDir="/opt/openfoam/OpenFOAM-$WM_PROJECT_VERSION"
# set projectDir="/usr/local/OpenFOAM/OpenFOAM-$WM_PROJECT_VERSION"
################################################################################
# Or optionally hard-coded (eg, with autoconfig)
# set projectDir="@PROJECT_DIR@"
# [FOAM_MEMORY_POOL] - Optional memory management
# - overrides the 'memory_pool' etc/controlDict entry
# = "true | false | host [size=nn] [incr=nn]"
#setenv FOAM_MEMORY_POOL "host"
# [FOAM_SIGFPE] - Trap floating-point exceptions.
# - overrides the 'trapFpe' controlDict entry
# = true | false
#setenv FOAM_SIGFPE true
# [FOAM_SETNAN] - Initialize memory with NaN
# - overrides the 'setNaN' controlDict entry
# = true | false
#setenv FOAM_SETNAN false
# [FOAM_ABORT] - Treat exit() on FatalError as abort()
# = true | false
#setenv FOAM_ABORT false
# [FOAM_CODE_TEMPLATES] - dynamicCode templates
# - unset: uses 'foamEtcFile -list codeTemplates/dynamicCode'
##setenv FOAM_CODE_TEMPLATES "$WM_PROJECT_DIR/etc/codeTemplates/dynamicCode"
# [FOAM_JOB_DIR] - location of jobControl
# - unset: equivalent to ~/.OpenFOAM/jobControl
#setenv FOAM_JOB_DIR "$HOME/.OpenFOAM/jobControl"
# [WM_OSTYPE] - Operating System Type (set automatically)
# = POSIX | MSwindows
#setenv WM_OSTYPE POSIX
# [WM_ARCH_OPTION] - compiling with -m32 option on 64-bit system
# = 32 | 64
# * on a 64-bit OS this can be 32 or 64
# * on a 32-bit OS this option is ignored (always 32-bit)
#setenv WM_ARCH_OPTION 64
# [FOAM_EXTRA_CFLAGS, FOAM_EXTRA_CXXFLAGS, FOAM_EXTRA_LDFLAGS]
# Additional compilation flags - do not inherit from the environment.
# Set after sourcing or via <prefs.csh> to avoid surprises.
unsetenv FOAM_EXTRA_CFLAGS FOAM_EXTRA_CXXFLAGS FOAM_EXTRA_LDFLAGS
################################################################################
# NO (NORMAL) USER EDITING BELOW HERE
# Capture values of old directories to be cleaned from PATH, LD_LIBRARY_PATH
set foamOldDirs=
if ( $?WM_PROJECT_DIR ) then
set foamOldDirs="$foamOldDirs $WM_PROJECT_DIR"
endif
if ( $?WM_THIRD_PARTY_DIR ) then
set foamOldDirs="$foamOldDirs $WM_THIRD_PARTY_DIR"
endif
if ( $?WM_PROJECT ) then
set foamOldDirs="$foamOldDirs $HOME/$WM_PROJECT/$LOGNAME"
endif
if ( $?FOAM_SITE_APPBIN ) then
set foamOldDirs="$foamOldDirs $FOAM_SITE_APPBIN"
endif
if ( $?FOAM_SITE_LIBBIN ) then
set foamOldDirs="$foamOldDirs $FOAM_SITE_LIBBIN"
endif
if ( $?FOAM_MODULE_APPBIN ) then
set foamOldDirs="$foamOldDirs $FOAM_MODULE_APPBIN"
endif
if ( $?FOAM_MODULE_LIBBIN ) then
set foamOldDirs="$foamOldDirs $FOAM_MODULE_LIBBIN"
endif
# [WM_PROJECT_DIR] - Location of this OpenFOAM version
setenv WM_PROJECT_DIR "$projectDir"
# [WM_PROJECT_USER_DIR] - Location of user files
setenv WM_PROJECT_USER_DIR "$HOME/$WM_PROJECT/$LOGNAME-$WM_PROJECT_VERSION"
# [WM_PROJECT_SITE] - Location of site-specific (group) files
# Default (unset) implies WM_PROJECT_DIR/site
# Normally defined in calling environment
if ( $?WM_PROJECT_SITE ) then
set foamOldDirs="$WM_PROJECT_SITE $foamOldDirs"
if ( ! -d "$WM_PROJECT_SITE" ) unsetenv WM_PROJECT_SITE
else
unsetenv WM_PROJECT_SITE
endif
# Finalize setup of OpenFOAM environment
if ( -d "$WM_PROJECT_DIR" ) then
if ($?FOAM_VERBOSE && $?prompt) echo "source $WM_PROJECT_DIR/etc/config.csh/setup"
source "$WM_PROJECT_DIR/etc/config.csh/setup" $argv[*]
else
echo "Error: did not locate installation path for $WM_PROJECT-$WM_PROJECT_VERSION"
echo "No directory: $WM_PROJECT_DIR"
endif
# Cleanup variables (done as final statement for a clean exit code)
unset foamOldDirs projectDir projectName
#------------------------------------------------------------------------------