69 lines
2.3 KiB
Tcsh
69 lines
2.3 KiB
Tcsh
# sets up an environment for DAMASK on tcsh
|
|
# usage: source DAMASK_env.csh
|
|
|
|
set CALLED=($_)
|
|
set DIRNAME=`dirname $CALLED[2]`
|
|
set DAMASK_ROOT=`python -c "import os,sys; print(os.path.realpath(os.path.expanduser(sys.argv[1])))" $DIRNAME`
|
|
|
|
source $DAMASK_ROOT/CONFIG
|
|
|
|
# if DAMASK_BIN is present and not in $PATH, add it
|
|
if ( $?DAMASK_BIN) then
|
|
set MATCH=`echo :${PATH}: | grep ${DAMASK_BIN}:`
|
|
if ( "x$MATCH" == "x" ) then
|
|
set PATH=${DAMASK_BIN}:${PATH}
|
|
endif
|
|
endif
|
|
|
|
set SOLVER=`which DAMASK_spectral`
|
|
set PROCESSING=`which postResults`
|
|
if ( "x$DAMASK_NUM_THREADS" == "x" ) then
|
|
set DAMASK_NUM_THREADS=1
|
|
endif
|
|
|
|
# according to http://software.intel.com/en-us/forums/topic/501500
|
|
# this seems to make sense for the stack size
|
|
if ( `which free` != "free: Command not found." ) then
|
|
set freeMem=`free -k | grep -E '(Mem|Speicher):' | awk '{print $4;}'`
|
|
set stack=`expr $freeMem / $DAMASK_NUM_THREADS / 2`
|
|
set heap=` expr $freeMem / 2`
|
|
# http://superuser.com/questions/220059/what-parameters-has-ulimit
|
|
limit stacksize $stack # maximum stack size (kB)
|
|
limit datasize $heap # maximum heap size (kB)
|
|
endif
|
|
if ( `limit | grep memoryuse` != "" ) then
|
|
limit memoryuse unlimited # maximum physical memory size
|
|
endif
|
|
if ( `limit | grep vmemoryuse` != "" ) then
|
|
limit vmemoryuse unlimited # maximum virtual memory size
|
|
endif
|
|
|
|
# disable output in case of scp
|
|
if ( $?prompt ) then
|
|
echo ''
|
|
echo Düsseldorf Advanced Materials Simulation Kit --- DAMASK
|
|
echo Max-Planck-Institut für Eisenforschung GmbH, Düsseldorf
|
|
echo https://damask.mpie.de
|
|
echo
|
|
echo Using environment with ...
|
|
echo "DAMASK $DAMASK_ROOT"
|
|
echo "Spectral Solver $SOLVER"
|
|
echo "Post Processing $PROCESSING"
|
|
echo "Multithreading DAMASK_NUM_THREADS=$DAMASK_NUM_THREADS"
|
|
if ( $?PETSC_DIR) then
|
|
echo "PETSc location $PETSC_DIR"
|
|
endif
|
|
if ( $?PETSC_ARCH) then
|
|
echo "PETSc architecture $PETSC_ARCH"
|
|
endif
|
|
if ( $?MSC_ROOT) then
|
|
echo "MSC.Marc/Mentat $MSC_ROOT"
|
|
endif
|
|
echo
|
|
echo `limit datasize`
|
|
echo `limit stacksize`
|
|
endif
|
|
|
|
setenv DAMASK_NUM_THREADS $DAMASK_NUM_THREADS
|
|
setenv PYTHONPATH $DAMASK_ROOT/lib:$PYTHONPATH
|