diff --git a/CONFIG b/CONFIG index 3a28c2b96..17561c9cd 100644 --- a/CONFIG +++ b/CONFIG @@ -1,10 +1,9 @@ -# "set syntax" needed only for tcsh (but works with bash etc) +# "set"-syntax needed only for tcsh (but works with bash and zsh) set MSC_ROOT=/opt/MSC set MARC_VERSION=2015 -set DAMASK_NUM_THREADS=4 +set DAMASK_NUM_THREADS = 4 set ABAQUS_VERSION=6.14-5 -#Set DAMASK_BIN if not $DAMASK_ROOT/bin -#DAMASK_BIN +set DAMASK_BIN=${DAMASK_ROOT}/lib diff --git a/DAMASK_env.sh b/DAMASK_env.sh index 535708ed4..760ee056a 100644 --- a/DAMASK_env.sh +++ b/DAMASK_env.sh @@ -1,15 +1,20 @@ # sets up an environment for DAMASK on bash # usage: source DAMASK_env.sh + if [ "$OSTYPE" == "linux-gnu" ] || [ "$OSTYPE" == 'linux' ]; then - DAMASK_ROOT=$(python -c "import os,sys; print(os.path.realpath(os.path.expanduser(sys.argv[1])))" "`dirname $BASH_SOURCE`") + DAMASK_ROOT=$(python -c "import os,sys; print(os.path.realpath(os.path.expanduser(sys.argv[1])))" "$(dirname $BASH_SOURCE)") else [[ "${BASH_SOURCE::1}" == "/" ]] && BASE="" || BASE="`pwd`/" STAT=$(stat "`dirname $BASE$BASH_SOURCE`") DAMASK_ROOT=${STAT##* } fi -[[ -f $HOME/.damask/damask.conf ]] && source $HOME/.damask/damask.conf || source /etc/damask.conf +# allows to source the same file for tcsh and bash, with and without space around = +set() { + export $1$2$3 + } +source $DAMASK_ROOT/CONFIG # if DAMASK_BIN is present and not in $PATH, add it if [[ "x$DAMASK_BIN" != "x" && ! `echo ":$PATH:" | grep $DAMASK_BIN:` ]]; then @@ -24,6 +29,9 @@ PROCESSING=`which postResults 2>/dev/null` if [ "x$PROCESSING" == "x" ]; then PROCESSING='Not found!' fi +if [ "x$DAMASK_NUM_THREADS" == "x" ]; then + DAMASK_NUM_THREADS=1 +fi # according to http://software.intel.com/en-us/forums/topic/501500 # this seems to make sense for the stack size @@ -68,10 +76,12 @@ fi export DAMASK_NUM_THREADS export PYTHONPATH=$DAMASK_ROOT/lib:$PYTHONPATH -for var in BASE STAT SOLVER PROCESSING FREE; do +for var in BASE STAT SOLVER PROCESSING FREE DAMASK_BIN; do unset "${var}" done -for var in DAMASK IMKL ACML LAPACK MSC FFTW HDF5; do +for var in DAMASK MSC; do unset "${var}_ROOT" done - +for var in ABAQUS MARC; do + unset "${var}_VERSION" +done diff --git a/DAMASK_env.zsh b/DAMASK_env.zsh index b4b2d6953..b3666b34b 100644 --- a/DAMASK_env.zsh +++ b/DAMASK_env.zsh @@ -1,5 +1,6 @@ -# sets up an environment for DAMASK on bash -# usage: source DAMASK_env.sh +# sets up an environment for DAMASK on zsh +# usage: source DAMASK_env.zsh + if [ "$OSTYPE" = "linux-gnu" ] || [ "$OSTYPE" = 'linux' ]; then DAMASK_ROOT=$(readlink -f "`dirname ${(%):-%N}`") @@ -7,12 +8,17 @@ else print 'Not done yet' fi -[[ -f $HOME/.damask/damask.conf ]] && source $HOME/.damask/damask.conf || source /etc/damask.conf +# allows to source the same file for tcsh and zsh, with and without space around = +set() { + export $1$2$3 + } +source $DAMASK_ROOT/CONFIG # if DAMASK_BIN is present and not in $PATH, add it -#if [[ [[ "x$DAMASK_BIN" != "x" ]] && ! `echo ":$PATH:" | grep $DAMASK_BIN:` ]]; then +MATCH=`echo ":$PATH:" | grep $DAMASK_BIN:` +if [[ ( "x$DAMASK_BIN" != "x" ) && ( "x$MATCH" = "x" ) ]]; then export PATH=$DAMASK_BIN:$PATH -#fi +fi SOLVER=`which DAMASK_spectral 2>/dev/null` if [ "x$SOLVER" = "x" ]; then @@ -22,6 +28,9 @@ PROCESSING=`which postResults 2>/dev/null` if [ "x$PROCESSING" = "x" ]; then export PROCESSING='Not found!' fi +if [ "x$DAMASK_NUM_THREADS" = "x" ]; then + DAMASK_NUM_THREADS=1 +fi # according to http://software.intel.com/en-us/forums/topic/501500 # this seems to make sense for the stack size @@ -65,10 +74,12 @@ fi export DAMASK_NUM_THREADS export PYTHONPATH=$DAMASK_ROOT/lib:$PYTHONPATH -for var in BASE STAT SOLVER PROCESSING FREE; do +for var in BASE STAT SOLVER PROCESSING FREE DAMASK_BIN MATCH; do unset "${var}" done -for var in DAMASK IMKL ACML LAPACK MSC FFTW HDF5; do +for var in DAMASK MSC; do unset "${var}_ROOT" done - +for var in ABAQUS MARC; do + unset "${var}_VERSION" +done