From e0c2dbc948d39790b127980ec0defcd88bc09a90 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 6 Jul 2020 16:33:48 +0200 Subject: [PATCH 01/18] look for new name --- env/DAMASK.csh | 6 +++--- env/DAMASK.sh | 4 ++-- env/DAMASK.zsh | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/env/DAMASK.csh b/env/DAMASK.csh index 98693d6b2..5529eac23 100644 --- a/env/DAMASK.csh +++ b/env/DAMASK.csh @@ -9,8 +9,8 @@ source $ENV_ROOT/CONFIG set path = ($DAMASK_ROOT/bin $path) -set SOLVER=`which DAMASK_spectral` -if ( "x$DAMASK_NUM_THREADS" == "x" ) then +set SOLVER=`which DAMASK_grid` +if ( "x$DAMASK_NUM_THREADS" == "x" ) then set DAMASK_NUM_THREADS=1 endif @@ -30,7 +30,7 @@ if ( $?prompt ) then echo echo Using environment with ... echo "DAMASK $DAMASK_ROOT" - echo "Grid Solver $SOLVER" + echo "Grid Solver $SOLVER" if ( $?PETSC_DIR) then echo "PETSc location $PETSC_DIR" endif diff --git a/env/DAMASK.sh b/env/DAMASK.sh index 5c3d2ba85..2151e842b 100644 --- a/env/DAMASK.sh +++ b/env/DAMASK.sh @@ -35,7 +35,7 @@ cd $DAMASK_ROOT >/dev/null; BRANCH=$(git branch 2>/dev/null| grep -E '^\* '); cd PATH=${DAMASK_ROOT}/bin:$PATH -SOLVER=$(type -p DAMASK_spectral || true 2>/dev/null) +SOLVER=$(type -p DAMASK_grid || true 2>/dev/null) [ "x$SOLVER" == "x" ] && SOLVER=$(blink 'Not found!') [ "x$DAMASK_NUM_THREADS" == "x" ] && DAMASK_NUM_THREADS=1 @@ -56,7 +56,7 @@ if [ ! -z "$PS1" ]; then echo echo Using environment with ... echo "DAMASK $DAMASK_ROOT $BRANCH" - echo "Grid Solver $SOLVER" + echo "Grid Solver $SOLVER" if [ "x$PETSC_DIR" != "x" ]; then echo -n "PETSc location " [ -d $PETSC_DIR ] && echo $PETSC_DIR || blink $PETSC_DIR diff --git a/env/DAMASK.zsh b/env/DAMASK.zsh index 831268a7e..377aa5304 100644 --- a/env/DAMASK.zsh +++ b/env/DAMASK.zsh @@ -27,7 +27,7 @@ cd $DAMASK_ROOT >/dev/null; BRANCH=$(git branch 2>/dev/null| grep -E '^\* '); cd PATH=${DAMASK_ROOT}/bin:$PATH -SOLVER=$(which DAMASK_spectral || true 2>/dev/null) +SOLVER=$(which DAMASK_grid || true 2>/dev/null) [[ "x$SOLVER" == "x" ]] && SOLVER=$(blink 'Not found!') [[ "x$DAMASK_NUM_THREADS" == "x" ]] && DAMASK_NUM_THREADS=1 @@ -48,7 +48,7 @@ if [ ! -z "$PS1" ]; then echo echo "Using environment with ..." echo "DAMASK $DAMASK_ROOT $BRANCH" - echo "Grid Solver $SOLVER" + echo "Grid Solver $SOLVER" if [ "x$PETSC_DIR" != "x" ]; then echo -n "PETSc location " [ -d $PETSC_DIR ] && echo $PETSC_DIR || blink $PETSC_DIR From defe0a8dd8620c350512e40dfdbf3e71e2a36283 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 8 Jul 2020 10:21:13 +0200 Subject: [PATCH 02/18] coordinates are stored in fixed format width of numers is fixed, if negative numbers are given there is no space --- src/marc/discretization_marc.f90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index be16f5fc0..eee635065 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -492,8 +492,8 @@ subroutine inputRead_mapNodes(FEM2DAMASK, & chunkPos = IO_stringPos(fileContent(l)) if(chunkPos(1) < 1) cycle if(IO_lc(IO_stringValue(fileContent(l),chunkPos,1)) == 'coordinates') then + chunkPos = [1,1,10] do i = 1,nNodes - chunkPos = IO_stringPos(fileContent(l+1+i)) map_unsorted(:,i) = [IO_intValue(fileContent(l+1+i),chunkPos,1),i] enddo exit @@ -528,8 +528,8 @@ subroutine inputRead_elemNodes(nodes, & chunkPos = IO_stringPos(fileContent(l)) if(chunkPos(1) < 1) cycle if(IO_lc(IO_stringValue(fileContent(l),chunkPos,1)) == 'coordinates') then + chunkPos = [4,1,10,11,30,31,50,51,70] do i=1,nNode - chunkPos = IO_stringPos(fileContent(l+1+i)) m = mesh_FEM2DAMASK_node(IO_intValue(fileContent(l+1+i),chunkPos,1)) do j = 1,3 nodes(j,m) = mesh_unitlength * IO_floatValue(fileContent(l+1+i),chunkPos,j+1) From 3150673f2d1c8d04cac840a7f78da63836d20a9a Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Wed, 8 Jul 2020 14:03:10 +0200 Subject: [PATCH 03/18] also remove intermediate submodul files --- .../2018.1/Marc_tools/comp_damask_hmp | 3 +- .../2018.1/Marc_tools/comp_damask_lmp | 3 +- .../2018.1/Marc_tools/comp_damask_mp | 3 +- .../2018.1/Marc_tools/run_damask_hmp | 209 +++++++++--------- .../2018.1/Marc_tools/run_damask_lmp | 209 +++++++++--------- .../2018.1/Marc_tools/run_damask_mp | 209 +++++++++--------- .../2018/Marc_tools/comp_damask_hmp | 3 +- .../2018/Marc_tools/comp_damask_lmp | 3 +- .../2018/Marc_tools/comp_damask_mp | 3 +- .../2018/Marc_tools/run_damask_hmp | 209 +++++++++--------- .../2018/Marc_tools/run_damask_lmp | 209 +++++++++--------- .../2018/Marc_tools/run_damask_mp | 209 +++++++++--------- .../2019/Marc_tools/comp_damask_hmp | 3 +- .../2019/Marc_tools/comp_damask_lmp | 3 +- .../2019/Marc_tools/comp_damask_mp | 3 +- .../2019/Marc_tools/run_damask_hmp | 209 +++++++++--------- .../2019/Marc_tools/run_damask_lmp | 209 +++++++++--------- .../2019/Marc_tools/run_damask_mp | 209 +++++++++--------- 18 files changed, 972 insertions(+), 936 deletions(-) diff --git a/installation/mods_MarcMentat/2018.1/Marc_tools/comp_damask_hmp b/installation/mods_MarcMentat/2018.1/Marc_tools/comp_damask_hmp index 36ced6543..2e6f44b77 100644 --- a/installation/mods_MarcMentat/2018.1/Marc_tools/comp_damask_hmp +++ b/installation/mods_MarcMentat/2018.1/Marc_tools/comp_damask_hmp @@ -49,4 +49,5 @@ echo "program: $program" exit 1 } /bin/rm $userobj - /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.smod diff --git a/installation/mods_MarcMentat/2018.1/Marc_tools/comp_damask_lmp b/installation/mods_MarcMentat/2018.1/Marc_tools/comp_damask_lmp index 8a0c1255d..d908d68ed 100644 --- a/installation/mods_MarcMentat/2018.1/Marc_tools/comp_damask_lmp +++ b/installation/mods_MarcMentat/2018.1/Marc_tools/comp_damask_lmp @@ -49,4 +49,5 @@ echo "program: $program" exit 1 } /bin/rm $userobj - /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.smod diff --git a/installation/mods_MarcMentat/2018.1/Marc_tools/comp_damask_mp b/installation/mods_MarcMentat/2018.1/Marc_tools/comp_damask_mp index 986d9ae04..b31d84d48 100644 --- a/installation/mods_MarcMentat/2018.1/Marc_tools/comp_damask_mp +++ b/installation/mods_MarcMentat/2018.1/Marc_tools/comp_damask_mp @@ -49,4 +49,5 @@ echo "program: $program" exit 1 } /bin/rm $userobj - /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.smod diff --git a/installation/mods_MarcMentat/2018.1/Marc_tools/run_damask_hmp b/installation/mods_MarcMentat/2018.1/Marc_tools/run_damask_hmp index ac376673a..24a931500 100644 --- a/installation/mods_MarcMentat/2018.1/Marc_tools/run_damask_hmp +++ b/installation/mods_MarcMentat/2018.1/Marc_tools/run_damask_hmp @@ -63,7 +63,7 @@ # =1, element storage out-of-core # # -dll run marc using shared library libmarc.so and exe_marc # # =1, used # -# =2, do not free streaming input memory # +# =2, do not free streaming input memory # # =3, run with marc input deck # # -trk run marc for post-tracking # # -gpuid run marc using GPGPU capability # @@ -177,16 +177,16 @@ fi # MARC_MODE i8 # it can also be set by the environmental variable MARC_INTEGER_SIZE # and by the command line option "-mo" -# +# mode= modeerror= modeoption= if test -f $DIRSCRIPT/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available - echo + echo line= fi line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults` @@ -203,7 +203,7 @@ fi if test -f $HOME/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available echo line= @@ -226,7 +226,7 @@ if test -z "$mode" ; then mode=i8 fi case $mode in - i4) + i4) modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported." modeoption=error echo $modeerror @@ -246,7 +246,7 @@ for arg in $* ; do if $setmode ; then mode=$arg case $mode in - i4) + i4) modeerror="bad value for mode option; only i8 is supported." modeoption=error echo @@ -269,7 +269,7 @@ for arg in $* ; do setmode=false fi if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then - echo + echo echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available echo setmode=true @@ -333,7 +333,7 @@ case "`echo '\c'`" in ;; esac -# +# # Variables for the MARC environment # @@ -388,7 +388,7 @@ LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH export LD_LIBRARY_PATH export LD_LIBRARY64_PATH export LD_LIBRARYN32_PATH - + atexit() { kill -15 $$ # @@ -498,7 +498,7 @@ MDSRCLIB=$MARC_LIB/mdsrc.a # or in the user's home directory # format: # MARC_MPI -# +# value= file= if test -f $DIRSCRIPT/run_marc_defaults; then @@ -523,7 +523,7 @@ if test -n "$value"; then notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then @@ -543,7 +543,7 @@ if test -n "$value"; then fi fi fi -# +# # # allow scratch directory to be specified with environmental variable # MARCSCRATCH @@ -613,7 +613,7 @@ do *) DIRJID=`pwd`/$DIRJID ;; - esac + esac ;; -r* | -R*) rid=`$BASENAME $value .t08` @@ -624,7 +624,7 @@ do *) DIRRID=`pwd`/$DIRRID ;; - esac + esac ;; -si* | -SI*) sid=$value @@ -635,7 +635,7 @@ do *) DIRSID=`pwd`/$DIRSID ;; - esac + esac ;; -pi* | -PI*) if test -f $value.t19 @@ -651,7 +651,7 @@ do *) DIRPID=`pwd`/$DIRPID ;; - esac + esac ;; -bdf | -BDF) makebdf=1 @@ -665,7 +665,7 @@ do *) DIRDID=`pwd`/$DIRDID ;; - esac + esac ;; -vf | -VF) vid=`$BASENAME $value .vfs` @@ -676,7 +676,7 @@ do *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; -u* | -U*) user=$value @@ -847,7 +847,7 @@ do *) DIRSCR=`pwd`/$DIRSCR ;; - esac + esac ;; -ho* | -HO*) host=$value @@ -898,7 +898,7 @@ fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -934,7 +934,7 @@ fi ntprint=$nt nteprint=$nte # copy from -nprocd[s] -if test $nprocdddm -gt 1 +if test $nprocdddm -gt 1 then nteprint=$nprocdddm fi @@ -943,7 +943,7 @@ if test $nte -ne 0 then nteprint=$nte fi -# check for minimum 1 threads per processes for DDM +# check for minimum 1 threads per processes for DDM if test $nprocdddm -gt 1 then if test $nteprint -lt $nprocdddm @@ -998,24 +998,24 @@ export OMP_STACKSIZE=7M # deprecate -nthread option at arugment of marc nt=0 # Reset nprocdddmm, nsolver and threads if not given. -if test $nprocdddm -eq 0 -then +if test $nprocdddm -eq 0 +then nprocdarg= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddmprint= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddm= -fi +fi nsolverprint=$nsolver -if test $nsolver -eq 0 -then +if test $nsolver -eq 0 +then nsolverprint= -fi +fi # end of threads setting. gpuoption= if test "$gpuids" = "" ; then @@ -1030,7 +1030,7 @@ else MARCCUDALIBS=$MARCCUDALIBS2 export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH fi -# Linux 64 + HPMPI, Below code is taken from include_linux64 +# Linux 64 + HPMPI, Below code is taken from include_linux64 if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" then export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" @@ -1059,7 +1059,7 @@ if test "$dllrun" -gt 0; then fi if test "$progdll"; then - /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll + /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll rmdll=yes pathdll=yes progdll=${progdll}_$marcdll @@ -1093,14 +1093,14 @@ while test forever; do if test $nprocdddm -gt 1 -a $icreated -eq 0; then if test ! -f $DIRJID/1$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/1$jid$dotdat not accessible" fi fi else if test ! -f $DIRJID/$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/$jid$dotdat not accessible" fi fi @@ -1108,7 +1108,7 @@ fi if test $nprocd -gt 1; then if test "$host" ; then if test ! -f $host; then - error="$error + error="$error host name file $host not accessible" fi fi @@ -1222,11 +1222,11 @@ view factor file $DIRVID/$vid.vfs not accessible" notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)" fi fi @@ -1291,7 +1291,7 @@ defaults file $DIRDID/$did$dotdat not accessible" then if test $nauto -gt 2 then - error="$error + error="$error incorrect option for auto restart " fi fi @@ -1299,7 +1299,7 @@ incorrect option for auto restart " then if test $ndcoup -gt 3 then - error="$error + error="$error incorrect option for contact decoupling " fi fi @@ -1307,7 +1307,7 @@ incorrect option for contact decoupling " then if test $ndytran -gt 1 then - error="$error + error="$error incorrect option for Marc-Dytran Switch " fi fi @@ -1315,7 +1315,7 @@ incorrect option for Marc-Dytran Switch " then if test ! -x $MARC_BIN/$exefile then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE " fi fi @@ -1642,7 +1642,7 @@ Program name ($prog)? $ECHOTXT" *) DIRJID=`pwd`/$DIRJID ;; - esac + esac fi $ECHO "User subroutine name ($user)? $ECHOTXT" read value @@ -1660,7 +1660,7 @@ Program name ($prog)? $ECHOTXT" *) user=`pwd`/$user ;; - esac + esac usernoext=$user usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` @@ -1783,7 +1783,7 @@ Program name ($prog)? $ECHOTXT" *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; esac fi @@ -1825,7 +1825,7 @@ Program name ($prog)? $ECHOTXT" fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -1975,7 +1975,7 @@ Program name ($prog)? $ECHOTXT" then qid=$value fi - case $qid in + case $qid in s* | S* | l* | L* | v* | V* ) $ECHO "Queue priority ($priority)? $ECHOTXT" read value @@ -2039,42 +2039,42 @@ esac done # -if test $nt -eq 0 -then +if test $nt -eq 0 +then ntarg= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then ntprint= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then nt= fi -if test $nte -eq 0 -then +if test $nte -eq 0 +then ntearg= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nteprint= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nte= fi -if test $nts -eq 0 -then +if test $nts -eq 0 +then ntsarg= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then ntsprint= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then nts= fi # @@ -2327,7 +2327,7 @@ fi execpath=$usernoext.marc usersub=1 fi - export execpath + export execpath execname=`$BASENAME $execpath` if test "$host" @@ -2360,7 +2360,7 @@ fi exit 1 fi -# check for Myrinet that the number of processes per host is +# check for Myrinet that the number of processes per host is # less than number of available user ports, 5 # .gmpi directory must exist in user's home directory # and must have write permission from remote hosts @@ -2474,9 +2474,9 @@ fi then # Intel MPI if test -f $jid.mfile - then + then /bin/rm $jid.mfile 2> /dev/null - fi + fi /bin/cp $host $jid.host grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile # end Intel MPI for DMP @@ -2560,7 +2560,7 @@ fi else host=$jid.host host_filt=$host - if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" then host_filt=$jid.mfile fi @@ -2569,7 +2569,7 @@ fi # or distributed and set the variable "dirstatus" accordingly. # only perform the check if user subroutine is used # or a user subroutine executable is used - + numfield=1 if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware then @@ -2729,7 +2729,7 @@ fi fi # modify new host file if NFS mounted heterogeneous machine doit= - if test $program = $prog.marc + if test $program = $prog.marc then doit=yes fi @@ -2753,23 +2753,23 @@ if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} /bin/mv $jid.host{$$} $jid.host host=$jid.host - fi + fi fi - done + done fi fi # if test $program = $prog.marc -o $user -o $obj - + else # if test $host # assume shared memory machine if no hostfile given and # MPITYPE is set to mpich or Myrinet - # check for Myrinet that the total number of processes is + # check for Myrinet that the total number of processes is # less than number of available user ports, 5 if test $MPITYPE = "mpich" -o $MPITYPE = "scali" then numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` echo `hostname` $numproc $execpath > $jid.host host=$jid.host - elif test $MPITYPE = "myrinet" + elif test $MPITYPE = "myrinet" then if test $nprocd -gt 5 then @@ -2809,7 +2809,7 @@ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} fi # if test $host fi # if test $nprocd -gt 1 - + fi # if test $program = $exefile -o $program = $prog.marc ############################################################################## @@ -2859,7 +2859,7 @@ else nsolverarg="$nsolverarg $nsolver" fi if test $nprocdddm -lt 2 -a $nsolver -eq 0 -then +then nprocd=0 fi if test $nprocd -gt 0 @@ -2870,7 +2870,7 @@ then then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -2975,7 +2975,7 @@ $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -3267,6 +3267,7 @@ else fi /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3309,7 +3310,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null fi else if test $cpdll = yes; then @@ -3318,10 +3319,10 @@ else fi if test $rmdll = yes then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi - + if test $nprocdddm -gt 1 then numdom=$nprocdddm @@ -3389,15 +3390,15 @@ else # QUENAME=qsub SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid" -if test "$priority" +if test "$priority" then SUBMCMD=$SUBMCMD" -p $priority" fi -if test "$att" +if test "$att" then SUBMCMD=$SUBMCMD" -a $att" fi -if test "$cpu" +if test "$cpu" then SUBMCMD=$SUBMCMD" -lt $cpu" fi @@ -3579,7 +3580,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3599,6 +3600,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3647,7 +3649,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null # for network run, remove executable on remote machines # and executables with modified name if test $nprocd -gt 1 @@ -3696,7 +3698,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi if test $nprocdddm -gt 1 @@ -3913,7 +3915,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3933,6 +3935,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # done if no job id given if test -z "$jid" then @@ -3972,7 +3975,7 @@ if test $ddm_arc -gt 0; then RUN_JOB="$MESHERDIR/sf_exeddm $RUN_JOB -ddm $ddm_arc " fi - $RUN_JOB + $RUN_JOB if test $nprocd -gt 1 then @@ -4055,7 +4058,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi diff --git a/installation/mods_MarcMentat/2018.1/Marc_tools/run_damask_lmp b/installation/mods_MarcMentat/2018.1/Marc_tools/run_damask_lmp index 0417ce4d6..49b6b81fd 100644 --- a/installation/mods_MarcMentat/2018.1/Marc_tools/run_damask_lmp +++ b/installation/mods_MarcMentat/2018.1/Marc_tools/run_damask_lmp @@ -63,7 +63,7 @@ # =1, element storage out-of-core # # -dll run marc using shared library libmarc.so and exe_marc # # =1, used # -# =2, do not free streaming input memory # +# =2, do not free streaming input memory # # =3, run with marc input deck # # -trk run marc for post-tracking # # -gpuid run marc using GPGPU capability # @@ -177,16 +177,16 @@ fi # MARC_MODE i8 # it can also be set by the environmental variable MARC_INTEGER_SIZE # and by the command line option "-mo" -# +# mode= modeerror= modeoption= if test -f $DIRSCRIPT/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available - echo + echo line= fi line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults` @@ -203,7 +203,7 @@ fi if test -f $HOME/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available echo line= @@ -226,7 +226,7 @@ if test -z "$mode" ; then mode=i8 fi case $mode in - i4) + i4) modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported." modeoption=error echo $modeerror @@ -246,7 +246,7 @@ for arg in $* ; do if $setmode ; then mode=$arg case $mode in - i4) + i4) modeerror="bad value for mode option; only i8 is supported." modeoption=error echo @@ -269,7 +269,7 @@ for arg in $* ; do setmode=false fi if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then - echo + echo echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available echo setmode=true @@ -333,7 +333,7 @@ case "`echo '\c'`" in ;; esac -# +# # Variables for the MARC environment # @@ -388,7 +388,7 @@ LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH export LD_LIBRARY_PATH export LD_LIBRARY64_PATH export LD_LIBRARYN32_PATH - + atexit() { kill -15 $$ # @@ -498,7 +498,7 @@ MDSRCLIB=$MARC_LIB/mdsrc.a # or in the user's home directory # format: # MARC_MPI -# +# value= file= if test -f $DIRSCRIPT/run_marc_defaults; then @@ -523,7 +523,7 @@ if test -n "$value"; then notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then @@ -543,7 +543,7 @@ if test -n "$value"; then fi fi fi -# +# # # allow scratch directory to be specified with environmental variable # MARCSCRATCH @@ -613,7 +613,7 @@ do *) DIRJID=`pwd`/$DIRJID ;; - esac + esac ;; -r* | -R*) rid=`$BASENAME $value .t08` @@ -624,7 +624,7 @@ do *) DIRRID=`pwd`/$DIRRID ;; - esac + esac ;; -si* | -SI*) sid=$value @@ -635,7 +635,7 @@ do *) DIRSID=`pwd`/$DIRSID ;; - esac + esac ;; -pi* | -PI*) if test -f $value.t19 @@ -651,7 +651,7 @@ do *) DIRPID=`pwd`/$DIRPID ;; - esac + esac ;; -bdf | -BDF) makebdf=1 @@ -665,7 +665,7 @@ do *) DIRDID=`pwd`/$DIRDID ;; - esac + esac ;; -vf | -VF) vid=`$BASENAME $value .vfs` @@ -676,7 +676,7 @@ do *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; -u* | -U*) user=$value @@ -847,7 +847,7 @@ do *) DIRSCR=`pwd`/$DIRSCR ;; - esac + esac ;; -ho* | -HO*) host=$value @@ -898,7 +898,7 @@ fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -934,7 +934,7 @@ fi ntprint=$nt nteprint=$nte # copy from -nprocd[s] -if test $nprocdddm -gt 1 +if test $nprocdddm -gt 1 then nteprint=$nprocdddm fi @@ -943,7 +943,7 @@ if test $nte -ne 0 then nteprint=$nte fi -# check for minimum 1 threads per processes for DDM +# check for minimum 1 threads per processes for DDM if test $nprocdddm -gt 1 then if test $nteprint -lt $nprocdddm @@ -998,24 +998,24 @@ export OMP_STACKSIZE=7M # deprecate -nthread option at arugment of marc nt=0 # Reset nprocdddmm, nsolver and threads if not given. -if test $nprocdddm -eq 0 -then +if test $nprocdddm -eq 0 +then nprocdarg= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddmprint= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddm= -fi +fi nsolverprint=$nsolver -if test $nsolver -eq 0 -then +if test $nsolver -eq 0 +then nsolverprint= -fi +fi # end of threads setting. gpuoption= if test "$gpuids" = "" ; then @@ -1030,7 +1030,7 @@ else MARCCUDALIBS=$MARCCUDALIBS2 export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH fi -# Linux 64 + HPMPI, Below code is taken from include_linux64 +# Linux 64 + HPMPI, Below code is taken from include_linux64 if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" then export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" @@ -1059,7 +1059,7 @@ if test "$dllrun" -gt 0; then fi if test "$progdll"; then - /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll + /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll rmdll=yes pathdll=yes progdll=${progdll}_$marcdll @@ -1093,14 +1093,14 @@ while test forever; do if test $nprocdddm -gt 1 -a $icreated -eq 0; then if test ! -f $DIRJID/1$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/1$jid$dotdat not accessible" fi fi else if test ! -f $DIRJID/$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/$jid$dotdat not accessible" fi fi @@ -1108,7 +1108,7 @@ fi if test $nprocd -gt 1; then if test "$host" ; then if test ! -f $host; then - error="$error + error="$error host name file $host not accessible" fi fi @@ -1222,11 +1222,11 @@ view factor file $DIRVID/$vid.vfs not accessible" notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)" fi fi @@ -1291,7 +1291,7 @@ defaults file $DIRDID/$did$dotdat not accessible" then if test $nauto -gt 2 then - error="$error + error="$error incorrect option for auto restart " fi fi @@ -1299,7 +1299,7 @@ incorrect option for auto restart " then if test $ndcoup -gt 3 then - error="$error + error="$error incorrect option for contact decoupling " fi fi @@ -1307,7 +1307,7 @@ incorrect option for contact decoupling " then if test $ndytran -gt 1 then - error="$error + error="$error incorrect option for Marc-Dytran Switch " fi fi @@ -1315,7 +1315,7 @@ incorrect option for Marc-Dytran Switch " then if test ! -x $MARC_BIN/$exefile then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE " fi fi @@ -1642,7 +1642,7 @@ Program name ($prog)? $ECHOTXT" *) DIRJID=`pwd`/$DIRJID ;; - esac + esac fi $ECHO "User subroutine name ($user)? $ECHOTXT" read value @@ -1660,7 +1660,7 @@ Program name ($prog)? $ECHOTXT" *) user=`pwd`/$user ;; - esac + esac usernoext=$user usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` @@ -1783,7 +1783,7 @@ Program name ($prog)? $ECHOTXT" *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; esac fi @@ -1825,7 +1825,7 @@ Program name ($prog)? $ECHOTXT" fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -1975,7 +1975,7 @@ Program name ($prog)? $ECHOTXT" then qid=$value fi - case $qid in + case $qid in s* | S* | l* | L* | v* | V* ) $ECHO "Queue priority ($priority)? $ECHOTXT" read value @@ -2039,42 +2039,42 @@ esac done # -if test $nt -eq 0 -then +if test $nt -eq 0 +then ntarg= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then ntprint= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then nt= fi -if test $nte -eq 0 -then +if test $nte -eq 0 +then ntearg= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nteprint= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nte= fi -if test $nts -eq 0 -then +if test $nts -eq 0 +then ntsarg= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then ntsprint= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then nts= fi # @@ -2327,7 +2327,7 @@ fi execpath=$usernoext.marc usersub=1 fi - export execpath + export execpath execname=`$BASENAME $execpath` if test "$host" @@ -2360,7 +2360,7 @@ fi exit 1 fi -# check for Myrinet that the number of processes per host is +# check for Myrinet that the number of processes per host is # less than number of available user ports, 5 # .gmpi directory must exist in user's home directory # and must have write permission from remote hosts @@ -2474,9 +2474,9 @@ fi then # Intel MPI if test -f $jid.mfile - then + then /bin/rm $jid.mfile 2> /dev/null - fi + fi /bin/cp $host $jid.host grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile # end Intel MPI for DMP @@ -2560,7 +2560,7 @@ fi else host=$jid.host host_filt=$host - if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" then host_filt=$jid.mfile fi @@ -2569,7 +2569,7 @@ fi # or distributed and set the variable "dirstatus" accordingly. # only perform the check if user subroutine is used # or a user subroutine executable is used - + numfield=1 if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware then @@ -2729,7 +2729,7 @@ fi fi # modify new host file if NFS mounted heterogeneous machine doit= - if test $program = $prog.marc + if test $program = $prog.marc then doit=yes fi @@ -2753,23 +2753,23 @@ if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} /bin/mv $jid.host{$$} $jid.host host=$jid.host - fi + fi fi - done + done fi fi # if test $program = $prog.marc -o $user -o $obj - + else # if test $host # assume shared memory machine if no hostfile given and # MPITYPE is set to mpich or Myrinet - # check for Myrinet that the total number of processes is + # check for Myrinet that the total number of processes is # less than number of available user ports, 5 if test $MPITYPE = "mpich" -o $MPITYPE = "scali" then numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` echo `hostname` $numproc $execpath > $jid.host host=$jid.host - elif test $MPITYPE = "myrinet" + elif test $MPITYPE = "myrinet" then if test $nprocd -gt 5 then @@ -2809,7 +2809,7 @@ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} fi # if test $host fi # if test $nprocd -gt 1 - + fi # if test $program = $exefile -o $program = $prog.marc ############################################################################## @@ -2859,7 +2859,7 @@ else nsolverarg="$nsolverarg $nsolver" fi if test $nprocdddm -lt 2 -a $nsolver -eq 0 -then +then nprocd=0 fi if test $nprocd -gt 0 @@ -2870,7 +2870,7 @@ then then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -2975,7 +2975,7 @@ $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -3267,6 +3267,7 @@ else fi /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3309,7 +3310,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null fi else if test $cpdll = yes; then @@ -3318,10 +3319,10 @@ else fi if test $rmdll = yes then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi - + if test $nprocdddm -gt 1 then numdom=$nprocdddm @@ -3389,15 +3390,15 @@ else # QUENAME=qsub SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid" -if test "$priority" +if test "$priority" then SUBMCMD=$SUBMCMD" -p $priority" fi -if test "$att" +if test "$att" then SUBMCMD=$SUBMCMD" -a $att" fi -if test "$cpu" +if test "$cpu" then SUBMCMD=$SUBMCMD" -lt $cpu" fi @@ -3579,7 +3580,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3599,6 +3600,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3647,7 +3649,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null # for network run, remove executable on remote machines # and executables with modified name if test $nprocd -gt 1 @@ -3696,7 +3698,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi if test $nprocdddm -gt 1 @@ -3913,7 +3915,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3933,6 +3935,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # done if no job id given if test -z "$jid" then @@ -3972,7 +3975,7 @@ if test $ddm_arc -gt 0; then RUN_JOB="$MESHERDIR/sf_exeddm $RUN_JOB -ddm $ddm_arc " fi - $RUN_JOB + $RUN_JOB if test $nprocd -gt 1 then @@ -4055,7 +4058,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi diff --git a/installation/mods_MarcMentat/2018.1/Marc_tools/run_damask_mp b/installation/mods_MarcMentat/2018.1/Marc_tools/run_damask_mp index dcf5a10d0..f42b973cf 100644 --- a/installation/mods_MarcMentat/2018.1/Marc_tools/run_damask_mp +++ b/installation/mods_MarcMentat/2018.1/Marc_tools/run_damask_mp @@ -63,7 +63,7 @@ # =1, element storage out-of-core # # -dll run marc using shared library libmarc.so and exe_marc # # =1, used # -# =2, do not free streaming input memory # +# =2, do not free streaming input memory # # =3, run with marc input deck # # -trk run marc for post-tracking # # -gpuid run marc using GPGPU capability # @@ -177,16 +177,16 @@ fi # MARC_MODE i8 # it can also be set by the environmental variable MARC_INTEGER_SIZE # and by the command line option "-mo" -# +# mode= modeerror= modeoption= if test -f $DIRSCRIPT/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available - echo + echo line= fi line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults` @@ -203,7 +203,7 @@ fi if test -f $HOME/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available echo line= @@ -226,7 +226,7 @@ if test -z "$mode" ; then mode=i8 fi case $mode in - i4) + i4) modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported." modeoption=error echo $modeerror @@ -246,7 +246,7 @@ for arg in $* ; do if $setmode ; then mode=$arg case $mode in - i4) + i4) modeerror="bad value for mode option; only i8 is supported." modeoption=error echo @@ -269,7 +269,7 @@ for arg in $* ; do setmode=false fi if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then - echo + echo echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available echo setmode=true @@ -333,7 +333,7 @@ case "`echo '\c'`" in ;; esac -# +# # Variables for the MARC environment # @@ -388,7 +388,7 @@ LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH export LD_LIBRARY_PATH export LD_LIBRARY64_PATH export LD_LIBRARYN32_PATH - + atexit() { kill -15 $$ # @@ -498,7 +498,7 @@ MDSRCLIB=$MARC_LIB/mdsrc.a # or in the user's home directory # format: # MARC_MPI -# +# value= file= if test -f $DIRSCRIPT/run_marc_defaults; then @@ -523,7 +523,7 @@ if test -n "$value"; then notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then @@ -543,7 +543,7 @@ if test -n "$value"; then fi fi fi -# +# # # allow scratch directory to be specified with environmental variable # MARCSCRATCH @@ -613,7 +613,7 @@ do *) DIRJID=`pwd`/$DIRJID ;; - esac + esac ;; -r* | -R*) rid=`$BASENAME $value .t08` @@ -624,7 +624,7 @@ do *) DIRRID=`pwd`/$DIRRID ;; - esac + esac ;; -si* | -SI*) sid=$value @@ -635,7 +635,7 @@ do *) DIRSID=`pwd`/$DIRSID ;; - esac + esac ;; -pi* | -PI*) if test -f $value.t19 @@ -651,7 +651,7 @@ do *) DIRPID=`pwd`/$DIRPID ;; - esac + esac ;; -bdf | -BDF) makebdf=1 @@ -665,7 +665,7 @@ do *) DIRDID=`pwd`/$DIRDID ;; - esac + esac ;; -vf | -VF) vid=`$BASENAME $value .vfs` @@ -676,7 +676,7 @@ do *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; -u* | -U*) user=$value @@ -847,7 +847,7 @@ do *) DIRSCR=`pwd`/$DIRSCR ;; - esac + esac ;; -ho* | -HO*) host=$value @@ -898,7 +898,7 @@ fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -934,7 +934,7 @@ fi ntprint=$nt nteprint=$nte # copy from -nprocd[s] -if test $nprocdddm -gt 1 +if test $nprocdddm -gt 1 then nteprint=$nprocdddm fi @@ -943,7 +943,7 @@ if test $nte -ne 0 then nteprint=$nte fi -# check for minimum 1 threads per processes for DDM +# check for minimum 1 threads per processes for DDM if test $nprocdddm -gt 1 then if test $nteprint -lt $nprocdddm @@ -998,24 +998,24 @@ export OMP_STACKSIZE=7M # deprecate -nthread option at arugment of marc nt=0 # Reset nprocdddmm, nsolver and threads if not given. -if test $nprocdddm -eq 0 -then +if test $nprocdddm -eq 0 +then nprocdarg= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddmprint= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddm= -fi +fi nsolverprint=$nsolver -if test $nsolver -eq 0 -then +if test $nsolver -eq 0 +then nsolverprint= -fi +fi # end of threads setting. gpuoption= if test "$gpuids" = "" ; then @@ -1030,7 +1030,7 @@ else MARCCUDALIBS=$MARCCUDALIBS2 export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH fi -# Linux 64 + HPMPI, Below code is taken from include_linux64 +# Linux 64 + HPMPI, Below code is taken from include_linux64 if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" then export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" @@ -1059,7 +1059,7 @@ if test "$dllrun" -gt 0; then fi if test "$progdll"; then - /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll + /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll rmdll=yes pathdll=yes progdll=${progdll}_$marcdll @@ -1093,14 +1093,14 @@ while test forever; do if test $nprocdddm -gt 1 -a $icreated -eq 0; then if test ! -f $DIRJID/1$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/1$jid$dotdat not accessible" fi fi else if test ! -f $DIRJID/$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/$jid$dotdat not accessible" fi fi @@ -1108,7 +1108,7 @@ fi if test $nprocd -gt 1; then if test "$host" ; then if test ! -f $host; then - error="$error + error="$error host name file $host not accessible" fi fi @@ -1222,11 +1222,11 @@ view factor file $DIRVID/$vid.vfs not accessible" notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)" fi fi @@ -1291,7 +1291,7 @@ defaults file $DIRDID/$did$dotdat not accessible" then if test $nauto -gt 2 then - error="$error + error="$error incorrect option for auto restart " fi fi @@ -1299,7 +1299,7 @@ incorrect option for auto restart " then if test $ndcoup -gt 3 then - error="$error + error="$error incorrect option for contact decoupling " fi fi @@ -1307,7 +1307,7 @@ incorrect option for contact decoupling " then if test $ndytran -gt 1 then - error="$error + error="$error incorrect option for Marc-Dytran Switch " fi fi @@ -1315,7 +1315,7 @@ incorrect option for Marc-Dytran Switch " then if test ! -x $MARC_BIN/$exefile then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE " fi fi @@ -1642,7 +1642,7 @@ Program name ($prog)? $ECHOTXT" *) DIRJID=`pwd`/$DIRJID ;; - esac + esac fi $ECHO "User subroutine name ($user)? $ECHOTXT" read value @@ -1660,7 +1660,7 @@ Program name ($prog)? $ECHOTXT" *) user=`pwd`/$user ;; - esac + esac usernoext=$user usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` @@ -1783,7 +1783,7 @@ Program name ($prog)? $ECHOTXT" *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; esac fi @@ -1825,7 +1825,7 @@ Program name ($prog)? $ECHOTXT" fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -1975,7 +1975,7 @@ Program name ($prog)? $ECHOTXT" then qid=$value fi - case $qid in + case $qid in s* | S* | l* | L* | v* | V* ) $ECHO "Queue priority ($priority)? $ECHOTXT" read value @@ -2039,42 +2039,42 @@ esac done # -if test $nt -eq 0 -then +if test $nt -eq 0 +then ntarg= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then ntprint= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then nt= fi -if test $nte -eq 0 -then +if test $nte -eq 0 +then ntearg= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nteprint= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nte= fi -if test $nts -eq 0 -then +if test $nts -eq 0 +then ntsarg= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then ntsprint= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then nts= fi # @@ -2327,7 +2327,7 @@ fi execpath=$usernoext.marc usersub=1 fi - export execpath + export execpath execname=`$BASENAME $execpath` if test "$host" @@ -2360,7 +2360,7 @@ fi exit 1 fi -# check for Myrinet that the number of processes per host is +# check for Myrinet that the number of processes per host is # less than number of available user ports, 5 # .gmpi directory must exist in user's home directory # and must have write permission from remote hosts @@ -2474,9 +2474,9 @@ fi then # Intel MPI if test -f $jid.mfile - then + then /bin/rm $jid.mfile 2> /dev/null - fi + fi /bin/cp $host $jid.host grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile # end Intel MPI for DMP @@ -2560,7 +2560,7 @@ fi else host=$jid.host host_filt=$host - if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" then host_filt=$jid.mfile fi @@ -2569,7 +2569,7 @@ fi # or distributed and set the variable "dirstatus" accordingly. # only perform the check if user subroutine is used # or a user subroutine executable is used - + numfield=1 if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware then @@ -2729,7 +2729,7 @@ fi fi # modify new host file if NFS mounted heterogeneous machine doit= - if test $program = $prog.marc + if test $program = $prog.marc then doit=yes fi @@ -2753,23 +2753,23 @@ if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} /bin/mv $jid.host{$$} $jid.host host=$jid.host - fi + fi fi - done + done fi fi # if test $program = $prog.marc -o $user -o $obj - + else # if test $host # assume shared memory machine if no hostfile given and # MPITYPE is set to mpich or Myrinet - # check for Myrinet that the total number of processes is + # check for Myrinet that the total number of processes is # less than number of available user ports, 5 if test $MPITYPE = "mpich" -o $MPITYPE = "scali" then numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` echo `hostname` $numproc $execpath > $jid.host host=$jid.host - elif test $MPITYPE = "myrinet" + elif test $MPITYPE = "myrinet" then if test $nprocd -gt 5 then @@ -2809,7 +2809,7 @@ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} fi # if test $host fi # if test $nprocd -gt 1 - + fi # if test $program = $exefile -o $program = $prog.marc ############################################################################## @@ -2859,7 +2859,7 @@ else nsolverarg="$nsolverarg $nsolver" fi if test $nprocdddm -lt 2 -a $nsolver -eq 0 -then +then nprocd=0 fi if test $nprocd -gt 0 @@ -2870,7 +2870,7 @@ then then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -2975,7 +2975,7 @@ $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -3267,6 +3267,7 @@ else fi /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3309,7 +3310,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null fi else if test $cpdll = yes; then @@ -3318,10 +3319,10 @@ else fi if test $rmdll = yes then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi - + if test $nprocdddm -gt 1 then numdom=$nprocdddm @@ -3389,15 +3390,15 @@ else # QUENAME=qsub SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid" -if test "$priority" +if test "$priority" then SUBMCMD=$SUBMCMD" -p $priority" fi -if test "$att" +if test "$att" then SUBMCMD=$SUBMCMD" -a $att" fi -if test "$cpu" +if test "$cpu" then SUBMCMD=$SUBMCMD" -lt $cpu" fi @@ -3579,7 +3580,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3599,6 +3600,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3647,7 +3649,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null # for network run, remove executable on remote machines # and executables with modified name if test $nprocd -gt 1 @@ -3696,7 +3698,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi if test $nprocdddm -gt 1 @@ -3913,7 +3915,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3933,6 +3935,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # done if no job id given if test -z "$jid" then @@ -3972,7 +3975,7 @@ if test $ddm_arc -gt 0; then RUN_JOB="$MESHERDIR/sf_exeddm $RUN_JOB -ddm $ddm_arc " fi - $RUN_JOB + $RUN_JOB if test $nprocd -gt 1 then @@ -4055,7 +4058,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi diff --git a/installation/mods_MarcMentat/2018/Marc_tools/comp_damask_hmp b/installation/mods_MarcMentat/2018/Marc_tools/comp_damask_hmp index 36ced6543..2e6f44b77 100644 --- a/installation/mods_MarcMentat/2018/Marc_tools/comp_damask_hmp +++ b/installation/mods_MarcMentat/2018/Marc_tools/comp_damask_hmp @@ -49,4 +49,5 @@ echo "program: $program" exit 1 } /bin/rm $userobj - /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.smod diff --git a/installation/mods_MarcMentat/2018/Marc_tools/comp_damask_lmp b/installation/mods_MarcMentat/2018/Marc_tools/comp_damask_lmp index 8a0c1255d..d908d68ed 100644 --- a/installation/mods_MarcMentat/2018/Marc_tools/comp_damask_lmp +++ b/installation/mods_MarcMentat/2018/Marc_tools/comp_damask_lmp @@ -49,4 +49,5 @@ echo "program: $program" exit 1 } /bin/rm $userobj - /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.smod diff --git a/installation/mods_MarcMentat/2018/Marc_tools/comp_damask_mp b/installation/mods_MarcMentat/2018/Marc_tools/comp_damask_mp index 986d9ae04..b31d84d48 100644 --- a/installation/mods_MarcMentat/2018/Marc_tools/comp_damask_mp +++ b/installation/mods_MarcMentat/2018/Marc_tools/comp_damask_mp @@ -49,4 +49,5 @@ echo "program: $program" exit 1 } /bin/rm $userobj - /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.smod diff --git a/installation/mods_MarcMentat/2018/Marc_tools/run_damask_hmp b/installation/mods_MarcMentat/2018/Marc_tools/run_damask_hmp index 7cc0b7149..cfd8ab35f 100644 --- a/installation/mods_MarcMentat/2018/Marc_tools/run_damask_hmp +++ b/installation/mods_MarcMentat/2018/Marc_tools/run_damask_hmp @@ -63,7 +63,7 @@ # =1, element storage out-of-core # # -dll run marc using shared library libmarc.so and exe_marc # # =1, used # -# =2, do not free streaming input memory # +# =2, do not free streaming input memory # # =3, run with marc input deck # # -trk run marc for post-tracking # # -gpuid run marc using GPGPU capability # @@ -177,16 +177,16 @@ fi # MARC_MODE i8 # it can also be set by the environmental variable MARC_INTEGER_SIZE # and by the command line option "-mo" -# +# mode= modeerror= modeoption= if test -f $DIRSCRIPT/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available - echo + echo line= fi line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults` @@ -203,7 +203,7 @@ fi if test -f $HOME/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available echo line= @@ -226,7 +226,7 @@ if test -z "$mode" ; then mode=i8 fi case $mode in - i4) + i4) modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported." modeoption=error echo $modeerror @@ -246,7 +246,7 @@ for arg in $* ; do if $setmode ; then mode=$arg case $mode in - i4) + i4) modeerror="bad value for mode option; only i8 is supported." modeoption=error echo @@ -269,7 +269,7 @@ for arg in $* ; do setmode=false fi if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then - echo + echo echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available echo setmode=true @@ -333,7 +333,7 @@ case "`echo '\c'`" in ;; esac -# +# # Variables for the MARC environment # @@ -388,7 +388,7 @@ LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH export LD_LIBRARY_PATH export LD_LIBRARY64_PATH export LD_LIBRARYN32_PATH - + atexit() { kill -15 $$ # @@ -498,7 +498,7 @@ MDSRCLIB=$MARC_LIB/mdsrc.a # or in the user's home directory # format: # MARC_MPI -# +# value= file= if test -f $DIRSCRIPT/run_marc_defaults; then @@ -523,7 +523,7 @@ if test -n "$value"; then notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then @@ -543,7 +543,7 @@ if test -n "$value"; then fi fi fi -# +# # # allow scratch directory to be specified with environmental variable # MARCSCRATCH @@ -613,7 +613,7 @@ do *) DIRJID=`pwd`/$DIRJID ;; - esac + esac ;; -r* | -R*) rid=`$BASENAME $value .t08` @@ -624,7 +624,7 @@ do *) DIRRID=`pwd`/$DIRRID ;; - esac + esac ;; -si* | -SI*) sid=$value @@ -635,7 +635,7 @@ do *) DIRSID=`pwd`/$DIRSID ;; - esac + esac ;; -pi* | -PI*) if test -f $value.t19 @@ -651,7 +651,7 @@ do *) DIRPID=`pwd`/$DIRPID ;; - esac + esac ;; -bdf | -BDF) makebdf=1 @@ -665,7 +665,7 @@ do *) DIRDID=`pwd`/$DIRDID ;; - esac + esac ;; -vf | -VF) vid=`$BASENAME $value .vfs` @@ -676,7 +676,7 @@ do *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; -u* | -U*) user=$value @@ -847,7 +847,7 @@ do *) DIRSCR=`pwd`/$DIRSCR ;; - esac + esac ;; -ho* | -HO*) host=$value @@ -898,7 +898,7 @@ fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -934,7 +934,7 @@ fi ntprint=$nt nteprint=$nte # copy from -nprocd[s] -if test $nprocdddm -gt 1 +if test $nprocdddm -gt 1 then nteprint=$nprocdddm fi @@ -943,7 +943,7 @@ if test $nte -ne 0 then nteprint=$nte fi -# check for minimum 1 threads per processes for DDM +# check for minimum 1 threads per processes for DDM if test $nprocdddm -gt 1 then if test $nteprint -lt $nprocdddm @@ -998,24 +998,24 @@ export OMP_STACKSIZE=7M # deprecate -nthread option at arugment of marc nt=0 # Reset nprocdddmm, nsolver and threads if not given. -if test $nprocdddm -eq 0 -then +if test $nprocdddm -eq 0 +then nprocdarg= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddmprint= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddm= -fi +fi nsolverprint=$nsolver -if test $nsolver -eq 0 -then +if test $nsolver -eq 0 +then nsolverprint= -fi +fi # end of threads setting. gpuoption= if test "$gpuids" = "" ; then @@ -1030,7 +1030,7 @@ else MARCCUDALIBS=$MARCCUDALIBS2 export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH fi -# Linux 64 + HPMPI, Below code is taken from include_linux64 +# Linux 64 + HPMPI, Below code is taken from include_linux64 if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" then export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" @@ -1059,7 +1059,7 @@ if test "$dllrun" -gt 0; then fi if test "$progdll"; then - /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll + /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll rmdll=yes pathdll=yes progdll=${progdll}_$marcdll @@ -1093,14 +1093,14 @@ while test forever; do if test $nprocdddm -gt 1 -a $icreated -eq 0; then if test ! -f $DIRJID/1$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/1$jid$dotdat not accessible" fi fi else if test ! -f $DIRJID/$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/$jid$dotdat not accessible" fi fi @@ -1108,7 +1108,7 @@ fi if test $nprocd -gt 1; then if test "$host" ; then if test ! -f $host; then - error="$error + error="$error host name file $host not accessible" fi fi @@ -1222,11 +1222,11 @@ view factor file $DIRVID/$vid.vfs not accessible" notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)" fi fi @@ -1291,7 +1291,7 @@ defaults file $DIRDID/$did$dotdat not accessible" then if test $nauto -gt 2 then - error="$error + error="$error incorrect option for auto restart " fi fi @@ -1299,7 +1299,7 @@ incorrect option for auto restart " then if test $ndcoup -gt 3 then - error="$error + error="$error incorrect option for contact decoupling " fi fi @@ -1307,7 +1307,7 @@ incorrect option for contact decoupling " then if test $ndytran -gt 1 then - error="$error + error="$error incorrect option for Marc-Dytran Switch " fi fi @@ -1315,7 +1315,7 @@ incorrect option for Marc-Dytran Switch " then if test ! -x $MARC_BIN/$exefile then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE " fi fi @@ -1642,7 +1642,7 @@ Program name ($prog)? $ECHOTXT" *) DIRJID=`pwd`/$DIRJID ;; - esac + esac fi $ECHO "User subroutine name ($user)? $ECHOTXT" read value @@ -1660,7 +1660,7 @@ Program name ($prog)? $ECHOTXT" *) user=`pwd`/$user ;; - esac + esac usernoext=$user usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` @@ -1783,7 +1783,7 @@ Program name ($prog)? $ECHOTXT" *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; esac fi @@ -1825,7 +1825,7 @@ Program name ($prog)? $ECHOTXT" fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -1975,7 +1975,7 @@ Program name ($prog)? $ECHOTXT" then qid=$value fi - case $qid in + case $qid in s* | S* | l* | L* | v* | V* ) $ECHO "Queue priority ($priority)? $ECHOTXT" read value @@ -2039,42 +2039,42 @@ esac done # -if test $nt -eq 0 -then +if test $nt -eq 0 +then ntarg= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then ntprint= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then nt= fi -if test $nte -eq 0 -then +if test $nte -eq 0 +then ntearg= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nteprint= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nte= fi -if test $nts -eq 0 -then +if test $nts -eq 0 +then ntsarg= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then ntsprint= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then nts= fi # @@ -2327,7 +2327,7 @@ fi execpath=$usernoext.marc usersub=1 fi - export execpath + export execpath execname=`$BASENAME $execpath` if test "$host" @@ -2360,7 +2360,7 @@ fi exit 1 fi -# check for Myrinet that the number of processes per host is +# check for Myrinet that the number of processes per host is # less than number of available user ports, 5 # .gmpi directory must exist in user's home directory # and must have write permission from remote hosts @@ -2474,9 +2474,9 @@ fi then # Intel MPI if test -f $jid.mfile - then + then /bin/rm $jid.mfile 2> /dev/null - fi + fi /bin/cp $host $jid.host grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile # end Intel MPI for DMP @@ -2560,7 +2560,7 @@ fi else host=$jid.host host_filt=$host - if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" then host_filt=$jid.mfile fi @@ -2569,7 +2569,7 @@ fi # or distributed and set the variable "dirstatus" accordingly. # only perform the check if user subroutine is used # or a user subroutine executable is used - + numfield=1 if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware then @@ -2729,7 +2729,7 @@ fi fi # modify new host file if NFS mounted heterogeneous machine doit= - if test $program = $prog.marc + if test $program = $prog.marc then doit=yes fi @@ -2753,23 +2753,23 @@ if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} /bin/mv $jid.host{$$} $jid.host host=$jid.host - fi + fi fi - done + done fi fi # if test $program = $prog.marc -o $user -o $obj - + else # if test $host # assume shared memory machine if no hostfile given and # MPITYPE is set to mpich or Myrinet - # check for Myrinet that the total number of processes is + # check for Myrinet that the total number of processes is # less than number of available user ports, 5 if test $MPITYPE = "mpich" -o $MPITYPE = "scali" then numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` echo `hostname` $numproc $execpath > $jid.host host=$jid.host - elif test $MPITYPE = "myrinet" + elif test $MPITYPE = "myrinet" then if test $nprocd -gt 5 then @@ -2809,7 +2809,7 @@ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} fi # if test $host fi # if test $nprocd -gt 1 - + fi # if test $program = $exefile -o $program = $prog.marc ############################################################################## @@ -2859,7 +2859,7 @@ else nsolverarg="$nsolverarg $nsolver" fi if test $nprocdddm -lt 2 -a $nsolver -eq 0 -then +then nprocd=0 fi if test $nprocd -gt 0 @@ -2870,7 +2870,7 @@ then then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -2975,7 +2975,7 @@ $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -3267,6 +3267,7 @@ else fi /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3309,7 +3310,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null fi else if test $cpdll = yes; then @@ -3318,10 +3319,10 @@ else fi if test $rmdll = yes then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi - + if test $nprocdddm -gt 1 then numdom=$nprocdddm @@ -3389,15 +3390,15 @@ else # QUENAME=qsub SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid" -if test "$priority" +if test "$priority" then SUBMCMD=$SUBMCMD" -p $priority" fi -if test "$att" +if test "$att" then SUBMCMD=$SUBMCMD" -a $att" fi -if test "$cpu" +if test "$cpu" then SUBMCMD=$SUBMCMD" -lt $cpu" fi @@ -3579,7 +3580,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3599,6 +3600,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3647,7 +3649,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null # for network run, remove executable on remote machines # and executables with modified name if test $nprocd -gt 1 @@ -3696,7 +3698,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi if test $nprocdddm -gt 1 @@ -3913,7 +3915,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3933,6 +3935,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # done if no job id given if test -z "$jid" then @@ -3972,7 +3975,7 @@ if test $ddm_arc -gt 0; then RUN_JOB="$MESHERDIR/sf_exeddm $RUN_JOB -ddm $ddm_arc " fi - $RUN_JOB + $RUN_JOB if test $nprocd -gt 1 then @@ -4055,7 +4058,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi diff --git a/installation/mods_MarcMentat/2018/Marc_tools/run_damask_lmp b/installation/mods_MarcMentat/2018/Marc_tools/run_damask_lmp index 1945e08c2..599e8c523 100644 --- a/installation/mods_MarcMentat/2018/Marc_tools/run_damask_lmp +++ b/installation/mods_MarcMentat/2018/Marc_tools/run_damask_lmp @@ -63,7 +63,7 @@ # =1, element storage out-of-core # # -dll run marc using shared library libmarc.so and exe_marc # # =1, used # -# =2, do not free streaming input memory # +# =2, do not free streaming input memory # # =3, run with marc input deck # # -trk run marc for post-tracking # # -gpuid run marc using GPGPU capability # @@ -177,16 +177,16 @@ fi # MARC_MODE i8 # it can also be set by the environmental variable MARC_INTEGER_SIZE # and by the command line option "-mo" -# +# mode= modeerror= modeoption= if test -f $DIRSCRIPT/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available - echo + echo line= fi line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults` @@ -203,7 +203,7 @@ fi if test -f $HOME/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available echo line= @@ -226,7 +226,7 @@ if test -z "$mode" ; then mode=i8 fi case $mode in - i4) + i4) modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported." modeoption=error echo $modeerror @@ -246,7 +246,7 @@ for arg in $* ; do if $setmode ; then mode=$arg case $mode in - i4) + i4) modeerror="bad value for mode option; only i8 is supported." modeoption=error echo @@ -269,7 +269,7 @@ for arg in $* ; do setmode=false fi if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then - echo + echo echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available echo setmode=true @@ -333,7 +333,7 @@ case "`echo '\c'`" in ;; esac -# +# # Variables for the MARC environment # @@ -388,7 +388,7 @@ LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH export LD_LIBRARY_PATH export LD_LIBRARY64_PATH export LD_LIBRARYN32_PATH - + atexit() { kill -15 $$ # @@ -498,7 +498,7 @@ MDSRCLIB=$MARC_LIB/mdsrc.a # or in the user's home directory # format: # MARC_MPI -# +# value= file= if test -f $DIRSCRIPT/run_marc_defaults; then @@ -523,7 +523,7 @@ if test -n "$value"; then notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then @@ -543,7 +543,7 @@ if test -n "$value"; then fi fi fi -# +# # # allow scratch directory to be specified with environmental variable # MARCSCRATCH @@ -613,7 +613,7 @@ do *) DIRJID=`pwd`/$DIRJID ;; - esac + esac ;; -r* | -R*) rid=`$BASENAME $value .t08` @@ -624,7 +624,7 @@ do *) DIRRID=`pwd`/$DIRRID ;; - esac + esac ;; -si* | -SI*) sid=$value @@ -635,7 +635,7 @@ do *) DIRSID=`pwd`/$DIRSID ;; - esac + esac ;; -pi* | -PI*) if test -f $value.t19 @@ -651,7 +651,7 @@ do *) DIRPID=`pwd`/$DIRPID ;; - esac + esac ;; -bdf | -BDF) makebdf=1 @@ -665,7 +665,7 @@ do *) DIRDID=`pwd`/$DIRDID ;; - esac + esac ;; -vf | -VF) vid=`$BASENAME $value .vfs` @@ -676,7 +676,7 @@ do *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; -u* | -U*) user=$value @@ -847,7 +847,7 @@ do *) DIRSCR=`pwd`/$DIRSCR ;; - esac + esac ;; -ho* | -HO*) host=$value @@ -898,7 +898,7 @@ fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -934,7 +934,7 @@ fi ntprint=$nt nteprint=$nte # copy from -nprocd[s] -if test $nprocdddm -gt 1 +if test $nprocdddm -gt 1 then nteprint=$nprocdddm fi @@ -943,7 +943,7 @@ if test $nte -ne 0 then nteprint=$nte fi -# check for minimum 1 threads per processes for DDM +# check for minimum 1 threads per processes for DDM if test $nprocdddm -gt 1 then if test $nteprint -lt $nprocdddm @@ -998,24 +998,24 @@ export OMP_STACKSIZE=7M # deprecate -nthread option at arugment of marc nt=0 # Reset nprocdddmm, nsolver and threads if not given. -if test $nprocdddm -eq 0 -then +if test $nprocdddm -eq 0 +then nprocdarg= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddmprint= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddm= -fi +fi nsolverprint=$nsolver -if test $nsolver -eq 0 -then +if test $nsolver -eq 0 +then nsolverprint= -fi +fi # end of threads setting. gpuoption= if test "$gpuids" = "" ; then @@ -1030,7 +1030,7 @@ else MARCCUDALIBS=$MARCCUDALIBS2 export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH fi -# Linux 64 + HPMPI, Below code is taken from include_linux64 +# Linux 64 + HPMPI, Below code is taken from include_linux64 if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" then export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" @@ -1059,7 +1059,7 @@ if test "$dllrun" -gt 0; then fi if test "$progdll"; then - /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll + /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll rmdll=yes pathdll=yes progdll=${progdll}_$marcdll @@ -1093,14 +1093,14 @@ while test forever; do if test $nprocdddm -gt 1 -a $icreated -eq 0; then if test ! -f $DIRJID/1$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/1$jid$dotdat not accessible" fi fi else if test ! -f $DIRJID/$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/$jid$dotdat not accessible" fi fi @@ -1108,7 +1108,7 @@ fi if test $nprocd -gt 1; then if test "$host" ; then if test ! -f $host; then - error="$error + error="$error host name file $host not accessible" fi fi @@ -1222,11 +1222,11 @@ view factor file $DIRVID/$vid.vfs not accessible" notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)" fi fi @@ -1291,7 +1291,7 @@ defaults file $DIRDID/$did$dotdat not accessible" then if test $nauto -gt 2 then - error="$error + error="$error incorrect option for auto restart " fi fi @@ -1299,7 +1299,7 @@ incorrect option for auto restart " then if test $ndcoup -gt 3 then - error="$error + error="$error incorrect option for contact decoupling " fi fi @@ -1307,7 +1307,7 @@ incorrect option for contact decoupling " then if test $ndytran -gt 1 then - error="$error + error="$error incorrect option for Marc-Dytran Switch " fi fi @@ -1315,7 +1315,7 @@ incorrect option for Marc-Dytran Switch " then if test ! -x $MARC_BIN/$exefile then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE " fi fi @@ -1642,7 +1642,7 @@ Program name ($prog)? $ECHOTXT" *) DIRJID=`pwd`/$DIRJID ;; - esac + esac fi $ECHO "User subroutine name ($user)? $ECHOTXT" read value @@ -1660,7 +1660,7 @@ Program name ($prog)? $ECHOTXT" *) user=`pwd`/$user ;; - esac + esac usernoext=$user usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` @@ -1783,7 +1783,7 @@ Program name ($prog)? $ECHOTXT" *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; esac fi @@ -1825,7 +1825,7 @@ Program name ($prog)? $ECHOTXT" fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -1975,7 +1975,7 @@ Program name ($prog)? $ECHOTXT" then qid=$value fi - case $qid in + case $qid in s* | S* | l* | L* | v* | V* ) $ECHO "Queue priority ($priority)? $ECHOTXT" read value @@ -2039,42 +2039,42 @@ esac done # -if test $nt -eq 0 -then +if test $nt -eq 0 +then ntarg= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then ntprint= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then nt= fi -if test $nte -eq 0 -then +if test $nte -eq 0 +then ntearg= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nteprint= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nte= fi -if test $nts -eq 0 -then +if test $nts -eq 0 +then ntsarg= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then ntsprint= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then nts= fi # @@ -2327,7 +2327,7 @@ fi execpath=$usernoext.marc usersub=1 fi - export execpath + export execpath execname=`$BASENAME $execpath` if test "$host" @@ -2360,7 +2360,7 @@ fi exit 1 fi -# check for Myrinet that the number of processes per host is +# check for Myrinet that the number of processes per host is # less than number of available user ports, 5 # .gmpi directory must exist in user's home directory # and must have write permission from remote hosts @@ -2474,9 +2474,9 @@ fi then # Intel MPI if test -f $jid.mfile - then + then /bin/rm $jid.mfile 2> /dev/null - fi + fi /bin/cp $host $jid.host grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile # end Intel MPI for DMP @@ -2560,7 +2560,7 @@ fi else host=$jid.host host_filt=$host - if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" then host_filt=$jid.mfile fi @@ -2569,7 +2569,7 @@ fi # or distributed and set the variable "dirstatus" accordingly. # only perform the check if user subroutine is used # or a user subroutine executable is used - + numfield=1 if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware then @@ -2729,7 +2729,7 @@ fi fi # modify new host file if NFS mounted heterogeneous machine doit= - if test $program = $prog.marc + if test $program = $prog.marc then doit=yes fi @@ -2753,23 +2753,23 @@ if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} /bin/mv $jid.host{$$} $jid.host host=$jid.host - fi + fi fi - done + done fi fi # if test $program = $prog.marc -o $user -o $obj - + else # if test $host # assume shared memory machine if no hostfile given and # MPITYPE is set to mpich or Myrinet - # check for Myrinet that the total number of processes is + # check for Myrinet that the total number of processes is # less than number of available user ports, 5 if test $MPITYPE = "mpich" -o $MPITYPE = "scali" then numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` echo `hostname` $numproc $execpath > $jid.host host=$jid.host - elif test $MPITYPE = "myrinet" + elif test $MPITYPE = "myrinet" then if test $nprocd -gt 5 then @@ -2809,7 +2809,7 @@ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} fi # if test $host fi # if test $nprocd -gt 1 - + fi # if test $program = $exefile -o $program = $prog.marc ############################################################################## @@ -2859,7 +2859,7 @@ else nsolverarg="$nsolverarg $nsolver" fi if test $nprocdddm -lt 2 -a $nsolver -eq 0 -then +then nprocd=0 fi if test $nprocd -gt 0 @@ -2870,7 +2870,7 @@ then then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -2975,7 +2975,7 @@ $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -3267,6 +3267,7 @@ else fi /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3309,7 +3310,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null fi else if test $cpdll = yes; then @@ -3318,10 +3319,10 @@ else fi if test $rmdll = yes then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi - + if test $nprocdddm -gt 1 then numdom=$nprocdddm @@ -3389,15 +3390,15 @@ else # QUENAME=qsub SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid" -if test "$priority" +if test "$priority" then SUBMCMD=$SUBMCMD" -p $priority" fi -if test "$att" +if test "$att" then SUBMCMD=$SUBMCMD" -a $att" fi -if test "$cpu" +if test "$cpu" then SUBMCMD=$SUBMCMD" -lt $cpu" fi @@ -3579,7 +3580,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3599,6 +3600,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3647,7 +3649,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null # for network run, remove executable on remote machines # and executables with modified name if test $nprocd -gt 1 @@ -3696,7 +3698,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi if test $nprocdddm -gt 1 @@ -3913,7 +3915,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3933,6 +3935,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # done if no job id given if test -z "$jid" then @@ -3972,7 +3975,7 @@ if test $ddm_arc -gt 0; then RUN_JOB="$MESHERDIR/sf_exeddm $RUN_JOB -ddm $ddm_arc " fi - $RUN_JOB + $RUN_JOB if test $nprocd -gt 1 then @@ -4055,7 +4058,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi diff --git a/installation/mods_MarcMentat/2018/Marc_tools/run_damask_mp b/installation/mods_MarcMentat/2018/Marc_tools/run_damask_mp index 3e99d3068..5261654e3 100644 --- a/installation/mods_MarcMentat/2018/Marc_tools/run_damask_mp +++ b/installation/mods_MarcMentat/2018/Marc_tools/run_damask_mp @@ -63,7 +63,7 @@ # =1, element storage out-of-core # # -dll run marc using shared library libmarc.so and exe_marc # # =1, used # -# =2, do not free streaming input memory # +# =2, do not free streaming input memory # # =3, run with marc input deck # # -trk run marc for post-tracking # # -gpuid run marc using GPGPU capability # @@ -177,16 +177,16 @@ fi # MARC_MODE i8 # it can also be set by the environmental variable MARC_INTEGER_SIZE # and by the command line option "-mo" -# +# mode= modeerror= modeoption= if test -f $DIRSCRIPT/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available - echo + echo line= fi line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults` @@ -203,7 +203,7 @@ fi if test -f $HOME/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available echo line= @@ -226,7 +226,7 @@ if test -z "$mode" ; then mode=i8 fi case $mode in - i4) + i4) modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported." modeoption=error echo $modeerror @@ -246,7 +246,7 @@ for arg in $* ; do if $setmode ; then mode=$arg case $mode in - i4) + i4) modeerror="bad value for mode option; only i8 is supported." modeoption=error echo @@ -269,7 +269,7 @@ for arg in $* ; do setmode=false fi if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then - echo + echo echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available echo setmode=true @@ -333,7 +333,7 @@ case "`echo '\c'`" in ;; esac -# +# # Variables for the MARC environment # @@ -388,7 +388,7 @@ LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH export LD_LIBRARY_PATH export LD_LIBRARY64_PATH export LD_LIBRARYN32_PATH - + atexit() { kill -15 $$ # @@ -498,7 +498,7 @@ MDSRCLIB=$MARC_LIB/mdsrc.a # or in the user's home directory # format: # MARC_MPI -# +# value= file= if test -f $DIRSCRIPT/run_marc_defaults; then @@ -523,7 +523,7 @@ if test -n "$value"; then notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then @@ -543,7 +543,7 @@ if test -n "$value"; then fi fi fi -# +# # # allow scratch directory to be specified with environmental variable # MARCSCRATCH @@ -613,7 +613,7 @@ do *) DIRJID=`pwd`/$DIRJID ;; - esac + esac ;; -r* | -R*) rid=`$BASENAME $value .t08` @@ -624,7 +624,7 @@ do *) DIRRID=`pwd`/$DIRRID ;; - esac + esac ;; -si* | -SI*) sid=$value @@ -635,7 +635,7 @@ do *) DIRSID=`pwd`/$DIRSID ;; - esac + esac ;; -pi* | -PI*) if test -f $value.t19 @@ -651,7 +651,7 @@ do *) DIRPID=`pwd`/$DIRPID ;; - esac + esac ;; -bdf | -BDF) makebdf=1 @@ -665,7 +665,7 @@ do *) DIRDID=`pwd`/$DIRDID ;; - esac + esac ;; -vf | -VF) vid=`$BASENAME $value .vfs` @@ -676,7 +676,7 @@ do *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; -u* | -U*) user=$value @@ -847,7 +847,7 @@ do *) DIRSCR=`pwd`/$DIRSCR ;; - esac + esac ;; -ho* | -HO*) host=$value @@ -898,7 +898,7 @@ fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -934,7 +934,7 @@ fi ntprint=$nt nteprint=$nte # copy from -nprocd[s] -if test $nprocdddm -gt 1 +if test $nprocdddm -gt 1 then nteprint=$nprocdddm fi @@ -943,7 +943,7 @@ if test $nte -ne 0 then nteprint=$nte fi -# check for minimum 1 threads per processes for DDM +# check for minimum 1 threads per processes for DDM if test $nprocdddm -gt 1 then if test $nteprint -lt $nprocdddm @@ -998,24 +998,24 @@ export OMP_STACKSIZE=7M # deprecate -nthread option at arugment of marc nt=0 # Reset nprocdddmm, nsolver and threads if not given. -if test $nprocdddm -eq 0 -then +if test $nprocdddm -eq 0 +then nprocdarg= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddmprint= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddm= -fi +fi nsolverprint=$nsolver -if test $nsolver -eq 0 -then +if test $nsolver -eq 0 +then nsolverprint= -fi +fi # end of threads setting. gpuoption= if test "$gpuids" = "" ; then @@ -1030,7 +1030,7 @@ else MARCCUDALIBS=$MARCCUDALIBS2 export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH fi -# Linux 64 + HPMPI, Below code is taken from include_linux64 +# Linux 64 + HPMPI, Below code is taken from include_linux64 if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" then export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" @@ -1059,7 +1059,7 @@ if test "$dllrun" -gt 0; then fi if test "$progdll"; then - /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll + /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll rmdll=yes pathdll=yes progdll=${progdll}_$marcdll @@ -1093,14 +1093,14 @@ while test forever; do if test $nprocdddm -gt 1 -a $icreated -eq 0; then if test ! -f $DIRJID/1$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/1$jid$dotdat not accessible" fi fi else if test ! -f $DIRJID/$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/$jid$dotdat not accessible" fi fi @@ -1108,7 +1108,7 @@ fi if test $nprocd -gt 1; then if test "$host" ; then if test ! -f $host; then - error="$error + error="$error host name file $host not accessible" fi fi @@ -1222,11 +1222,11 @@ view factor file $DIRVID/$vid.vfs not accessible" notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)" fi fi @@ -1291,7 +1291,7 @@ defaults file $DIRDID/$did$dotdat not accessible" then if test $nauto -gt 2 then - error="$error + error="$error incorrect option for auto restart " fi fi @@ -1299,7 +1299,7 @@ incorrect option for auto restart " then if test $ndcoup -gt 3 then - error="$error + error="$error incorrect option for contact decoupling " fi fi @@ -1307,7 +1307,7 @@ incorrect option for contact decoupling " then if test $ndytran -gt 1 then - error="$error + error="$error incorrect option for Marc-Dytran Switch " fi fi @@ -1315,7 +1315,7 @@ incorrect option for Marc-Dytran Switch " then if test ! -x $MARC_BIN/$exefile then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE " fi fi @@ -1642,7 +1642,7 @@ Program name ($prog)? $ECHOTXT" *) DIRJID=`pwd`/$DIRJID ;; - esac + esac fi $ECHO "User subroutine name ($user)? $ECHOTXT" read value @@ -1660,7 +1660,7 @@ Program name ($prog)? $ECHOTXT" *) user=`pwd`/$user ;; - esac + esac usernoext=$user usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` @@ -1783,7 +1783,7 @@ Program name ($prog)? $ECHOTXT" *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; esac fi @@ -1825,7 +1825,7 @@ Program name ($prog)? $ECHOTXT" fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -1975,7 +1975,7 @@ Program name ($prog)? $ECHOTXT" then qid=$value fi - case $qid in + case $qid in s* | S* | l* | L* | v* | V* ) $ECHO "Queue priority ($priority)? $ECHOTXT" read value @@ -2039,42 +2039,42 @@ esac done # -if test $nt -eq 0 -then +if test $nt -eq 0 +then ntarg= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then ntprint= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then nt= fi -if test $nte -eq 0 -then +if test $nte -eq 0 +then ntearg= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nteprint= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nte= fi -if test $nts -eq 0 -then +if test $nts -eq 0 +then ntsarg= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then ntsprint= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then nts= fi # @@ -2327,7 +2327,7 @@ fi execpath=$usernoext.marc usersub=1 fi - export execpath + export execpath execname=`$BASENAME $execpath` if test "$host" @@ -2360,7 +2360,7 @@ fi exit 1 fi -# check for Myrinet that the number of processes per host is +# check for Myrinet that the number of processes per host is # less than number of available user ports, 5 # .gmpi directory must exist in user's home directory # and must have write permission from remote hosts @@ -2474,9 +2474,9 @@ fi then # Intel MPI if test -f $jid.mfile - then + then /bin/rm $jid.mfile 2> /dev/null - fi + fi /bin/cp $host $jid.host grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile # end Intel MPI for DMP @@ -2560,7 +2560,7 @@ fi else host=$jid.host host_filt=$host - if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" then host_filt=$jid.mfile fi @@ -2569,7 +2569,7 @@ fi # or distributed and set the variable "dirstatus" accordingly. # only perform the check if user subroutine is used # or a user subroutine executable is used - + numfield=1 if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware then @@ -2729,7 +2729,7 @@ fi fi # modify new host file if NFS mounted heterogeneous machine doit= - if test $program = $prog.marc + if test $program = $prog.marc then doit=yes fi @@ -2753,23 +2753,23 @@ if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} /bin/mv $jid.host{$$} $jid.host host=$jid.host - fi + fi fi - done + done fi fi # if test $program = $prog.marc -o $user -o $obj - + else # if test $host # assume shared memory machine if no hostfile given and # MPITYPE is set to mpich or Myrinet - # check for Myrinet that the total number of processes is + # check for Myrinet that the total number of processes is # less than number of available user ports, 5 if test $MPITYPE = "mpich" -o $MPITYPE = "scali" then numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` echo `hostname` $numproc $execpath > $jid.host host=$jid.host - elif test $MPITYPE = "myrinet" + elif test $MPITYPE = "myrinet" then if test $nprocd -gt 5 then @@ -2809,7 +2809,7 @@ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} fi # if test $host fi # if test $nprocd -gt 1 - + fi # if test $program = $exefile -o $program = $prog.marc ############################################################################## @@ -2859,7 +2859,7 @@ else nsolverarg="$nsolverarg $nsolver" fi if test $nprocdddm -lt 2 -a $nsolver -eq 0 -then +then nprocd=0 fi if test $nprocd -gt 0 @@ -2870,7 +2870,7 @@ then then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -2975,7 +2975,7 @@ $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -3267,6 +3267,7 @@ else fi /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3309,7 +3310,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null fi else if test $cpdll = yes; then @@ -3318,10 +3319,10 @@ else fi if test $rmdll = yes then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi - + if test $nprocdddm -gt 1 then numdom=$nprocdddm @@ -3389,15 +3390,15 @@ else # QUENAME=qsub SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid" -if test "$priority" +if test "$priority" then SUBMCMD=$SUBMCMD" -p $priority" fi -if test "$att" +if test "$att" then SUBMCMD=$SUBMCMD" -a $att" fi -if test "$cpu" +if test "$cpu" then SUBMCMD=$SUBMCMD" -lt $cpu" fi @@ -3579,7 +3580,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3599,6 +3600,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3647,7 +3649,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null # for network run, remove executable on remote machines # and executables with modified name if test $nprocd -gt 1 @@ -3696,7 +3698,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi if test $nprocdddm -gt 1 @@ -3913,7 +3915,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3933,6 +3935,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # done if no job id given if test -z "$jid" then @@ -3972,7 +3975,7 @@ if test $ddm_arc -gt 0; then RUN_JOB="$MESHERDIR/sf_exeddm $RUN_JOB -ddm $ddm_arc " fi - $RUN_JOB + $RUN_JOB if test $nprocd -gt 1 then @@ -4055,7 +4058,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi diff --git a/installation/mods_MarcMentat/2019/Marc_tools/comp_damask_hmp b/installation/mods_MarcMentat/2019/Marc_tools/comp_damask_hmp index 36ced6543..2e6f44b77 100644 --- a/installation/mods_MarcMentat/2019/Marc_tools/comp_damask_hmp +++ b/installation/mods_MarcMentat/2019/Marc_tools/comp_damask_hmp @@ -49,4 +49,5 @@ echo "program: $program" exit 1 } /bin/rm $userobj - /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.smod diff --git a/installation/mods_MarcMentat/2019/Marc_tools/comp_damask_lmp b/installation/mods_MarcMentat/2019/Marc_tools/comp_damask_lmp index 8a0c1255d..d908d68ed 100644 --- a/installation/mods_MarcMentat/2019/Marc_tools/comp_damask_lmp +++ b/installation/mods_MarcMentat/2019/Marc_tools/comp_damask_lmp @@ -49,4 +49,5 @@ echo "program: $program" exit 1 } /bin/rm $userobj - /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.smod diff --git a/installation/mods_MarcMentat/2019/Marc_tools/comp_damask_mp b/installation/mods_MarcMentat/2019/Marc_tools/comp_damask_mp index 986d9ae04..b31d84d48 100644 --- a/installation/mods_MarcMentat/2019/Marc_tools/comp_damask_mp +++ b/installation/mods_MarcMentat/2019/Marc_tools/comp_damask_mp @@ -49,4 +49,5 @@ echo "program: $program" exit 1 } /bin/rm $userobj - /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.mod + /bin/rm $DIRJOB/*.smod diff --git a/installation/mods_MarcMentat/2019/Marc_tools/run_damask_hmp b/installation/mods_MarcMentat/2019/Marc_tools/run_damask_hmp index 2a35ecb37..4a9200e8b 100644 --- a/installation/mods_MarcMentat/2019/Marc_tools/run_damask_hmp +++ b/installation/mods_MarcMentat/2019/Marc_tools/run_damask_hmp @@ -62,7 +62,7 @@ # =1, element storage out-of-core # # -dll run marc using shared library libmarc.so and exe_marc # # =1, used # -# =2, do not free streaming input memory # +# =2, do not free streaming input memory # # =3, run with marc input deck # # -trk run marc for post-tracking # # -gpuid run marc using GPGPU capability # @@ -176,16 +176,16 @@ fi # MARC_MODE i8 # it can also be set by the environmental variable MARC_INTEGER_SIZE # and by the command line option "-mo" -# +# mode= modeerror= modeoption= if test -f $DIRSCRIPT/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available - echo + echo line= fi line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults` @@ -202,7 +202,7 @@ fi if test -f $HOME/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available echo line= @@ -225,7 +225,7 @@ if test -z "$mode" ; then mode=i8 fi case $mode in - i4) + i4) modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported." modeoption=error echo $modeerror @@ -245,7 +245,7 @@ for arg in $* ; do if $setmode ; then mode=$arg case $mode in - i4) + i4) modeerror="bad value for mode option; only i8 is supported." modeoption=error echo @@ -268,7 +268,7 @@ for arg in $* ; do setmode=false fi if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then - echo + echo echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available echo setmode=true @@ -332,7 +332,7 @@ case "`echo '\c'`" in ;; esac -# +# # Variables for the MARC environment # @@ -387,7 +387,7 @@ LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH export LD_LIBRARY_PATH export LD_LIBRARY64_PATH export LD_LIBRARYN32_PATH - + atexit() { kill -15 $$ # @@ -497,7 +497,7 @@ MDSRCLIB=$MARC_LIB/mdsrc.a # or in the user's home directory # format: # MARC_MPI -# +# value= file= if test -f $DIRSCRIPT/run_marc_defaults; then @@ -522,7 +522,7 @@ if test -n "$value"; then notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then @@ -542,7 +542,7 @@ if test -n "$value"; then fi fi fi -# +# # # allow scratch directory to be specified with environmental variable # MARCSCRATCH @@ -612,7 +612,7 @@ do *) DIRJID=`pwd`/$DIRJID ;; - esac + esac ;; -r* | -R*) rid=`$BASENAME $value .t08` @@ -623,7 +623,7 @@ do *) DIRRID=`pwd`/$DIRRID ;; - esac + esac ;; -si* | -SI*) sid=$value @@ -634,7 +634,7 @@ do *) DIRSID=`pwd`/$DIRSID ;; - esac + esac ;; -pi* | -PI*) if test -f $value.t19 @@ -650,7 +650,7 @@ do *) DIRPID=`pwd`/$DIRPID ;; - esac + esac ;; -bdf | -BDF) makebdf=1 @@ -664,7 +664,7 @@ do *) DIRDID=`pwd`/$DIRDID ;; - esac + esac ;; -vf | -VF) vid=`$BASENAME $value .vfs` @@ -675,7 +675,7 @@ do *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; -u* | -U*) user=$value @@ -777,7 +777,7 @@ do ;; -au* | -AU*) nauto=$value - echo + echo echo warning: the option -au is no longer supported and will be ignored echo ;; @@ -849,7 +849,7 @@ do *) DIRSCR=`pwd`/$DIRSCR ;; - esac + esac ;; -ho* | -HO*) host=$value @@ -900,7 +900,7 @@ fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -936,7 +936,7 @@ fi ntprint=$nt nteprint=$nte # copy from -nprocd[s] -if test $nprocdddm -gt 1 +if test $nprocdddm -gt 1 then nteprint=$nprocdddm fi @@ -945,7 +945,7 @@ if test $nte -ne 0 then nteprint=$nte fi -# check for minimum 1 threads per processes for DDM +# check for minimum 1 threads per processes for DDM if test $nprocdddm -gt 1 then if test $nteprint -lt $nprocdddm @@ -1000,24 +1000,24 @@ export OMP_STACKSIZE=7M # deprecate -nthread option at arugment of marc nt=0 # Reset nprocdddmm, nsolver and threads if not given. -if test $nprocdddm -eq 0 -then +if test $nprocdddm -eq 0 +then nprocdarg= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddmprint= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddm= -fi +fi nsolverprint=$nsolver -if test $nsolver -eq 0 -then +if test $nsolver -eq 0 +then nsolverprint= -fi +fi # end of threads setting. gpuoption= if test "$gpuids" = "" ; then @@ -1032,7 +1032,7 @@ else MARCCUDALIBS=$MARCCUDALIBS2 export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH fi -# Linux 64 + HPMPI, Below code is taken from include_linux64 +# Linux 64 + HPMPI, Below code is taken from include_linux64 if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" then export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" @@ -1061,7 +1061,7 @@ if test "$dllrun" -gt 0; then fi if test "$progdll"; then - /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll + /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll rmdll=yes pathdll=yes progdll=${progdll}_$marcdll @@ -1095,14 +1095,14 @@ while test forever; do if test $nprocdddm -gt 1 -a $icreated -eq 0; then if test ! -f $DIRJID/1$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/1$jid$dotdat not accessible" fi fi else if test ! -f $DIRJID/$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/$jid$dotdat not accessible" fi fi @@ -1110,7 +1110,7 @@ fi if test $nprocd -gt 1; then if test "$host" ; then if test ! -f $host; then - error="$error + error="$error host name file $host not accessible" fi fi @@ -1224,11 +1224,11 @@ view factor file $DIRVID/$vid.vfs not accessible" notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)" fi fi @@ -1293,7 +1293,7 @@ defaults file $DIRDID/$did$dotdat not accessible" then if test $ndcoup -gt 3 then - error="$error + error="$error incorrect option for contact decoupling " fi fi @@ -1301,7 +1301,7 @@ incorrect option for contact decoupling " then if test $ndytran -gt 1 then - error="$error + error="$error incorrect option for Marc-Dytran Switch " fi fi @@ -1309,7 +1309,7 @@ incorrect option for Marc-Dytran Switch " then if test ! -x $MARC_BIN/$exefile then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE " fi fi @@ -1626,7 +1626,7 @@ Program name ($prog)? $ECHOTXT" *) DIRJID=`pwd`/$DIRJID ;; - esac + esac fi $ECHO "User subroutine name ($user)? $ECHOTXT" read value @@ -1644,7 +1644,7 @@ Program name ($prog)? $ECHOTXT" *) user=`pwd`/$user ;; - esac + esac usernoext=$user usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` @@ -1767,7 +1767,7 @@ Program name ($prog)? $ECHOTXT" *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; esac fi @@ -1809,7 +1809,7 @@ Program name ($prog)? $ECHOTXT" fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -1959,7 +1959,7 @@ Program name ($prog)? $ECHOTXT" then qid=$value fi - case $qid in + case $qid in s* | S* | l* | L* | v* | V* ) $ECHO "Queue priority ($priority)? $ECHOTXT" read value @@ -2017,42 +2017,42 @@ esac done # -if test $nt -eq 0 -then +if test $nt -eq 0 +then ntarg= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then ntprint= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then nt= fi -if test $nte -eq 0 -then +if test $nte -eq 0 +then ntearg= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nteprint= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nte= fi -if test $nts -eq 0 -then +if test $nts -eq 0 +then ntsarg= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then ntsprint= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then nts= fi # @@ -2305,7 +2305,7 @@ fi execpath=$usernoext.marc usersub=1 fi - export execpath + export execpath execname=`$BASENAME $execpath` if test "$host" @@ -2338,7 +2338,7 @@ fi exit 1 fi -# check for Myrinet that the number of processes per host is +# check for Myrinet that the number of processes per host is # less than number of available user ports, 5 # .gmpi directory must exist in user's home directory # and must have write permission from remote hosts @@ -2452,9 +2452,9 @@ fi then # Intel MPI if test -f $jid.mfile - then + then /bin/rm $jid.mfile 2> /dev/null - fi + fi /bin/cp $host $jid.host grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile # end Intel MPI for DMP @@ -2538,7 +2538,7 @@ fi else host=$jid.host host_filt=$host - if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" then host_filt=$jid.mfile fi @@ -2547,7 +2547,7 @@ fi # or distributed and set the variable "dirstatus" accordingly. # only perform the check if user subroutine is used # or a user subroutine executable is used - + numfield=1 if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware then @@ -2707,7 +2707,7 @@ fi fi # modify new host file if NFS mounted heterogeneous machine doit= - if test $program = $prog.marc + if test $program = $prog.marc then doit=yes fi @@ -2731,23 +2731,23 @@ if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} /bin/mv $jid.host{$$} $jid.host host=$jid.host - fi + fi fi - done + done fi fi # if test $program = $prog.marc -o $user -o $obj - + else # if test $host # assume shared memory machine if no hostfile given and # MPITYPE is set to mpich or Myrinet - # check for Myrinet that the total number of processes is + # check for Myrinet that the total number of processes is # less than number of available user ports, 5 if test $MPITYPE = "mpich" -o $MPITYPE = "scali" then numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` echo `hostname` $numproc $execpath > $jid.host host=$jid.host - elif test $MPITYPE = "myrinet" + elif test $MPITYPE = "myrinet" then if test $nprocd -gt 5 then @@ -2787,7 +2787,7 @@ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} fi # if test $host fi # if test $nprocd -gt 1 - + fi # if test $program = $exefile -o $program = $prog.marc ############################################################################## @@ -2837,7 +2837,7 @@ else nsolverarg="$nsolverarg $nsolver" fi if test $nprocdddm -lt 2 -a $nsolver -eq 0 -then +then nprocd=0 fi if test $nprocd -gt 0 @@ -2848,7 +2848,7 @@ then then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -2953,7 +2953,7 @@ $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -3241,6 +3241,7 @@ else fi /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3283,7 +3284,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null fi else if test $cpdll = yes; then @@ -3292,10 +3293,10 @@ else fi if test $rmdll = yes then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi - + if test $nprocdddm -gt 1 then numdom=$nprocdddm @@ -3363,15 +3364,15 @@ else # QUENAME=qsub SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid" -if test "$priority" +if test "$priority" then SUBMCMD=$SUBMCMD" -p $priority" fi -if test "$att" +if test "$att" then SUBMCMD=$SUBMCMD" -a $att" fi -if test "$cpu" +if test "$cpu" then SUBMCMD=$SUBMCMD" -lt $cpu" fi @@ -3553,7 +3554,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3573,6 +3574,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3621,7 +3623,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null # for network run, remove executable on remote machines # and executables with modified name if test $nprocd -gt 1 @@ -3670,7 +3672,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi if test $nprocdddm -gt 1 @@ -3887,7 +3889,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3907,6 +3909,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # done if no job id given if test -z "$jid" then @@ -3946,7 +3949,7 @@ if test $ddm_arc -gt 0; then RUN_JOB="$MESHERDIR/sf_exeddm $RUN_JOB -ddm $ddm_arc " fi - $RUN_JOB + $RUN_JOB if test $nprocd -gt 1 then @@ -4029,7 +4032,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi diff --git a/installation/mods_MarcMentat/2019/Marc_tools/run_damask_lmp b/installation/mods_MarcMentat/2019/Marc_tools/run_damask_lmp index 32f115dc6..ea6872059 100644 --- a/installation/mods_MarcMentat/2019/Marc_tools/run_damask_lmp +++ b/installation/mods_MarcMentat/2019/Marc_tools/run_damask_lmp @@ -62,7 +62,7 @@ # =1, element storage out-of-core # # -dll run marc using shared library libmarc.so and exe_marc # # =1, used # -# =2, do not free streaming input memory # +# =2, do not free streaming input memory # # =3, run with marc input deck # # -trk run marc for post-tracking # # -gpuid run marc using GPGPU capability # @@ -176,16 +176,16 @@ fi # MARC_MODE i8 # it can also be set by the environmental variable MARC_INTEGER_SIZE # and by the command line option "-mo" -# +# mode= modeerror= modeoption= if test -f $DIRSCRIPT/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available - echo + echo line= fi line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults` @@ -202,7 +202,7 @@ fi if test -f $HOME/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available echo line= @@ -225,7 +225,7 @@ if test -z "$mode" ; then mode=i8 fi case $mode in - i4) + i4) modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported." modeoption=error echo $modeerror @@ -245,7 +245,7 @@ for arg in $* ; do if $setmode ; then mode=$arg case $mode in - i4) + i4) modeerror="bad value for mode option; only i8 is supported." modeoption=error echo @@ -268,7 +268,7 @@ for arg in $* ; do setmode=false fi if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then - echo + echo echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available echo setmode=true @@ -332,7 +332,7 @@ case "`echo '\c'`" in ;; esac -# +# # Variables for the MARC environment # @@ -387,7 +387,7 @@ LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH export LD_LIBRARY_PATH export LD_LIBRARY64_PATH export LD_LIBRARYN32_PATH - + atexit() { kill -15 $$ # @@ -497,7 +497,7 @@ MDSRCLIB=$MARC_LIB/mdsrc.a # or in the user's home directory # format: # MARC_MPI -# +# value= file= if test -f $DIRSCRIPT/run_marc_defaults; then @@ -522,7 +522,7 @@ if test -n "$value"; then notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then @@ -542,7 +542,7 @@ if test -n "$value"; then fi fi fi -# +# # # allow scratch directory to be specified with environmental variable # MARCSCRATCH @@ -612,7 +612,7 @@ do *) DIRJID=`pwd`/$DIRJID ;; - esac + esac ;; -r* | -R*) rid=`$BASENAME $value .t08` @@ -623,7 +623,7 @@ do *) DIRRID=`pwd`/$DIRRID ;; - esac + esac ;; -si* | -SI*) sid=$value @@ -634,7 +634,7 @@ do *) DIRSID=`pwd`/$DIRSID ;; - esac + esac ;; -pi* | -PI*) if test -f $value.t19 @@ -650,7 +650,7 @@ do *) DIRPID=`pwd`/$DIRPID ;; - esac + esac ;; -bdf | -BDF) makebdf=1 @@ -664,7 +664,7 @@ do *) DIRDID=`pwd`/$DIRDID ;; - esac + esac ;; -vf | -VF) vid=`$BASENAME $value .vfs` @@ -675,7 +675,7 @@ do *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; -u* | -U*) user=$value @@ -777,7 +777,7 @@ do ;; -au* | -AU*) nauto=$value - echo + echo echo warning: the option -au is no longer supported and will be ignored echo ;; @@ -849,7 +849,7 @@ do *) DIRSCR=`pwd`/$DIRSCR ;; - esac + esac ;; -ho* | -HO*) host=$value @@ -900,7 +900,7 @@ fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -936,7 +936,7 @@ fi ntprint=$nt nteprint=$nte # copy from -nprocd[s] -if test $nprocdddm -gt 1 +if test $nprocdddm -gt 1 then nteprint=$nprocdddm fi @@ -945,7 +945,7 @@ if test $nte -ne 0 then nteprint=$nte fi -# check for minimum 1 threads per processes for DDM +# check for minimum 1 threads per processes for DDM if test $nprocdddm -gt 1 then if test $nteprint -lt $nprocdddm @@ -1000,24 +1000,24 @@ export OMP_STACKSIZE=7M # deprecate -nthread option at arugment of marc nt=0 # Reset nprocdddmm, nsolver and threads if not given. -if test $nprocdddm -eq 0 -then +if test $nprocdddm -eq 0 +then nprocdarg= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddmprint= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddm= -fi +fi nsolverprint=$nsolver -if test $nsolver -eq 0 -then +if test $nsolver -eq 0 +then nsolverprint= -fi +fi # end of threads setting. gpuoption= if test "$gpuids" = "" ; then @@ -1032,7 +1032,7 @@ else MARCCUDALIBS=$MARCCUDALIBS2 export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH fi -# Linux 64 + HPMPI, Below code is taken from include_linux64 +# Linux 64 + HPMPI, Below code is taken from include_linux64 if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" then export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" @@ -1061,7 +1061,7 @@ if test "$dllrun" -gt 0; then fi if test "$progdll"; then - /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll + /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll rmdll=yes pathdll=yes progdll=${progdll}_$marcdll @@ -1095,14 +1095,14 @@ while test forever; do if test $nprocdddm -gt 1 -a $icreated -eq 0; then if test ! -f $DIRJID/1$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/1$jid$dotdat not accessible" fi fi else if test ! -f $DIRJID/$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/$jid$dotdat not accessible" fi fi @@ -1110,7 +1110,7 @@ fi if test $nprocd -gt 1; then if test "$host" ; then if test ! -f $host; then - error="$error + error="$error host name file $host not accessible" fi fi @@ -1224,11 +1224,11 @@ view factor file $DIRVID/$vid.vfs not accessible" notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)" fi fi @@ -1293,7 +1293,7 @@ defaults file $DIRDID/$did$dotdat not accessible" then if test $ndcoup -gt 3 then - error="$error + error="$error incorrect option for contact decoupling " fi fi @@ -1301,7 +1301,7 @@ incorrect option for contact decoupling " then if test $ndytran -gt 1 then - error="$error + error="$error incorrect option for Marc-Dytran Switch " fi fi @@ -1309,7 +1309,7 @@ incorrect option for Marc-Dytran Switch " then if test ! -x $MARC_BIN/$exefile then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE " fi fi @@ -1626,7 +1626,7 @@ Program name ($prog)? $ECHOTXT" *) DIRJID=`pwd`/$DIRJID ;; - esac + esac fi $ECHO "User subroutine name ($user)? $ECHOTXT" read value @@ -1644,7 +1644,7 @@ Program name ($prog)? $ECHOTXT" *) user=`pwd`/$user ;; - esac + esac usernoext=$user usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` @@ -1767,7 +1767,7 @@ Program name ($prog)? $ECHOTXT" *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; esac fi @@ -1809,7 +1809,7 @@ Program name ($prog)? $ECHOTXT" fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -1959,7 +1959,7 @@ Program name ($prog)? $ECHOTXT" then qid=$value fi - case $qid in + case $qid in s* | S* | l* | L* | v* | V* ) $ECHO "Queue priority ($priority)? $ECHOTXT" read value @@ -2017,42 +2017,42 @@ esac done # -if test $nt -eq 0 -then +if test $nt -eq 0 +then ntarg= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then ntprint= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then nt= fi -if test $nte -eq 0 -then +if test $nte -eq 0 +then ntearg= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nteprint= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nte= fi -if test $nts -eq 0 -then +if test $nts -eq 0 +then ntsarg= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then ntsprint= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then nts= fi # @@ -2305,7 +2305,7 @@ fi execpath=$usernoext.marc usersub=1 fi - export execpath + export execpath execname=`$BASENAME $execpath` if test "$host" @@ -2338,7 +2338,7 @@ fi exit 1 fi -# check for Myrinet that the number of processes per host is +# check for Myrinet that the number of processes per host is # less than number of available user ports, 5 # .gmpi directory must exist in user's home directory # and must have write permission from remote hosts @@ -2452,9 +2452,9 @@ fi then # Intel MPI if test -f $jid.mfile - then + then /bin/rm $jid.mfile 2> /dev/null - fi + fi /bin/cp $host $jid.host grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile # end Intel MPI for DMP @@ -2538,7 +2538,7 @@ fi else host=$jid.host host_filt=$host - if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" then host_filt=$jid.mfile fi @@ -2547,7 +2547,7 @@ fi # or distributed and set the variable "dirstatus" accordingly. # only perform the check if user subroutine is used # or a user subroutine executable is used - + numfield=1 if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware then @@ -2707,7 +2707,7 @@ fi fi # modify new host file if NFS mounted heterogeneous machine doit= - if test $program = $prog.marc + if test $program = $prog.marc then doit=yes fi @@ -2731,23 +2731,23 @@ if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} /bin/mv $jid.host{$$} $jid.host host=$jid.host - fi + fi fi - done + done fi fi # if test $program = $prog.marc -o $user -o $obj - + else # if test $host # assume shared memory machine if no hostfile given and # MPITYPE is set to mpich or Myrinet - # check for Myrinet that the total number of processes is + # check for Myrinet that the total number of processes is # less than number of available user ports, 5 if test $MPITYPE = "mpich" -o $MPITYPE = "scali" then numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` echo `hostname` $numproc $execpath > $jid.host host=$jid.host - elif test $MPITYPE = "myrinet" + elif test $MPITYPE = "myrinet" then if test $nprocd -gt 5 then @@ -2787,7 +2787,7 @@ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} fi # if test $host fi # if test $nprocd -gt 1 - + fi # if test $program = $exefile -o $program = $prog.marc ############################################################################## @@ -2837,7 +2837,7 @@ else nsolverarg="$nsolverarg $nsolver" fi if test $nprocdddm -lt 2 -a $nsolver -eq 0 -then +then nprocd=0 fi if test $nprocd -gt 0 @@ -2848,7 +2848,7 @@ then then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -2953,7 +2953,7 @@ $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -3241,6 +3241,7 @@ else fi /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3283,7 +3284,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null fi else if test $cpdll = yes; then @@ -3292,10 +3293,10 @@ else fi if test $rmdll = yes then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi - + if test $nprocdddm -gt 1 then numdom=$nprocdddm @@ -3363,15 +3364,15 @@ else # QUENAME=qsub SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid" -if test "$priority" +if test "$priority" then SUBMCMD=$SUBMCMD" -p $priority" fi -if test "$att" +if test "$att" then SUBMCMD=$SUBMCMD" -a $att" fi -if test "$cpu" +if test "$cpu" then SUBMCMD=$SUBMCMD" -lt $cpu" fi @@ -3553,7 +3554,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3573,6 +3574,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3621,7 +3623,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null # for network run, remove executable on remote machines # and executables with modified name if test $nprocd -gt 1 @@ -3670,7 +3672,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi if test $nprocdddm -gt 1 @@ -3887,7 +3889,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3907,6 +3909,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # done if no job id given if test -z "$jid" then @@ -3946,7 +3949,7 @@ if test $ddm_arc -gt 0; then RUN_JOB="$MESHERDIR/sf_exeddm $RUN_JOB -ddm $ddm_arc " fi - $RUN_JOB + $RUN_JOB if test $nprocd -gt 1 then @@ -4029,7 +4032,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi diff --git a/installation/mods_MarcMentat/2019/Marc_tools/run_damask_mp b/installation/mods_MarcMentat/2019/Marc_tools/run_damask_mp index 471a63eaf..8aa27505c 100644 --- a/installation/mods_MarcMentat/2019/Marc_tools/run_damask_mp +++ b/installation/mods_MarcMentat/2019/Marc_tools/run_damask_mp @@ -62,7 +62,7 @@ # =1, element storage out-of-core # # -dll run marc using shared library libmarc.so and exe_marc # # =1, used # -# =2, do not free streaming input memory # +# =2, do not free streaming input memory # # =3, run with marc input deck # # -trk run marc for post-tracking # # -gpuid run marc using GPGPU capability # @@ -176,16 +176,16 @@ fi # MARC_MODE i8 # it can also be set by the environmental variable MARC_INTEGER_SIZE # and by the command line option "-mo" -# +# mode= modeerror= modeoption= if test -f $DIRSCRIPT/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available - echo + echo line= fi line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults` @@ -202,7 +202,7 @@ fi if test -f $HOME/run_marc_defaults; then line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults` if test "$line" = "MARC_MODE"; then - echo + echo echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available echo line= @@ -225,7 +225,7 @@ if test -z "$mode" ; then mode=i8 fi case $mode in - i4) + i4) modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported." modeoption=error echo $modeerror @@ -245,7 +245,7 @@ for arg in $* ; do if $setmode ; then mode=$arg case $mode in - i4) + i4) modeerror="bad value for mode option; only i8 is supported." modeoption=error echo @@ -268,7 +268,7 @@ for arg in $* ; do setmode=false fi if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then - echo + echo echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available echo setmode=true @@ -332,7 +332,7 @@ case "`echo '\c'`" in ;; esac -# +# # Variables for the MARC environment # @@ -387,7 +387,7 @@ LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH export LD_LIBRARY_PATH export LD_LIBRARY64_PATH export LD_LIBRARYN32_PATH - + atexit() { kill -15 $$ # @@ -497,7 +497,7 @@ MDSRCLIB=$MARC_LIB/mdsrc.a # or in the user's home directory # format: # MARC_MPI -# +# value= file= if test -f $DIRSCRIPT/run_marc_defaults; then @@ -522,7 +522,7 @@ if test -n "$value"; then notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then @@ -542,7 +542,7 @@ if test -n "$value"; then fi fi fi -# +# # # allow scratch directory to be specified with environmental variable # MARCSCRATCH @@ -612,7 +612,7 @@ do *) DIRJID=`pwd`/$DIRJID ;; - esac + esac ;; -r* | -R*) rid=`$BASENAME $value .t08` @@ -623,7 +623,7 @@ do *) DIRRID=`pwd`/$DIRRID ;; - esac + esac ;; -si* | -SI*) sid=$value @@ -634,7 +634,7 @@ do *) DIRSID=`pwd`/$DIRSID ;; - esac + esac ;; -pi* | -PI*) if test -f $value.t19 @@ -650,7 +650,7 @@ do *) DIRPID=`pwd`/$DIRPID ;; - esac + esac ;; -bdf | -BDF) makebdf=1 @@ -664,7 +664,7 @@ do *) DIRDID=`pwd`/$DIRDID ;; - esac + esac ;; -vf | -VF) vid=`$BASENAME $value .vfs` @@ -675,7 +675,7 @@ do *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; -u* | -U*) user=$value @@ -777,7 +777,7 @@ do ;; -au* | -AU*) nauto=$value - echo + echo echo warning: the option -au is no longer supported and will be ignored echo ;; @@ -849,7 +849,7 @@ do *) DIRSCR=`pwd`/$DIRSCR ;; - esac + esac ;; -ho* | -HO*) host=$value @@ -900,7 +900,7 @@ fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -936,7 +936,7 @@ fi ntprint=$nt nteprint=$nte # copy from -nprocd[s] -if test $nprocdddm -gt 1 +if test $nprocdddm -gt 1 then nteprint=$nprocdddm fi @@ -945,7 +945,7 @@ if test $nte -ne 0 then nteprint=$nte fi -# check for minimum 1 threads per processes for DDM +# check for minimum 1 threads per processes for DDM if test $nprocdddm -gt 1 then if test $nteprint -lt $nprocdddm @@ -1000,24 +1000,24 @@ export OMP_STACKSIZE=7M # deprecate -nthread option at arugment of marc nt=0 # Reset nprocdddmm, nsolver and threads if not given. -if test $nprocdddm -eq 0 -then +if test $nprocdddm -eq 0 +then nprocdarg= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddmprint= -fi -if test $nprocdddm -eq 0 -then +fi +if test $nprocdddm -eq 0 +then nprocdddm= -fi +fi nsolverprint=$nsolver -if test $nsolver -eq 0 -then +if test $nsolver -eq 0 +then nsolverprint= -fi +fi # end of threads setting. gpuoption= if test "$gpuids" = "" ; then @@ -1032,7 +1032,7 @@ else MARCCUDALIBS=$MARCCUDALIBS2 export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH fi -# Linux 64 + HPMPI, Below code is taken from include_linux64 +# Linux 64 + HPMPI, Below code is taken from include_linux64 if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64" then export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH" @@ -1061,7 +1061,7 @@ if test "$dllrun" -gt 0; then fi if test "$progdll"; then - /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll + /bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll rmdll=yes pathdll=yes progdll=${progdll}_$marcdll @@ -1095,14 +1095,14 @@ while test forever; do if test $nprocdddm -gt 1 -a $icreated -eq 0; then if test ! -f $DIRJID/1$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/1$jid$dotdat not accessible" fi fi else if test ! -f $DIRJID/$jid$dotdat; then if test "$jid" != "" ; then - error="$error + error="$error input file $DIRJID/$jid$dotdat not accessible" fi fi @@ -1110,7 +1110,7 @@ fi if test $nprocd -gt 1; then if test "$host" ; then if test ! -f $host; then - error="$error + error="$error host name file $host not accessible" fi fi @@ -1224,11 +1224,11 @@ view factor file $DIRVID/$vid.vfs not accessible" notok=false fi done - if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then + if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then notok=false fi if $notok; then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)" fi fi @@ -1293,7 +1293,7 @@ defaults file $DIRDID/$did$dotdat not accessible" then if test $ndcoup -gt 3 then - error="$error + error="$error incorrect option for contact decoupling " fi fi @@ -1301,7 +1301,7 @@ incorrect option for contact decoupling " then if test $ndytran -gt 1 then - error="$error + error="$error incorrect option for Marc-Dytran Switch " fi fi @@ -1309,7 +1309,7 @@ incorrect option for Marc-Dytran Switch " then if test ! -x $MARC_BIN/$exefile then - error="$error + error="$error incorrect option for -mpi option: $MARC_MPITYPE " fi fi @@ -1626,7 +1626,7 @@ Program name ($prog)? $ECHOTXT" *) DIRJID=`pwd`/$DIRJID ;; - esac + esac fi $ECHO "User subroutine name ($user)? $ECHOTXT" read value @@ -1644,7 +1644,7 @@ Program name ($prog)? $ECHOTXT" *) user=`pwd`/$user ;; - esac + esac usernoext=$user usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f` usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F` @@ -1767,7 +1767,7 @@ Program name ($prog)? $ECHOTXT" *) DIRVID=`pwd`/$DIRVID ;; - esac + esac ;; esac fi @@ -1809,7 +1809,7 @@ Program name ($prog)? $ECHOTXT" fi if test $nsolver -gt 0 then - if test $nsolver -gt $nprocd + if test $nsolver -gt $nprocd then nprocd=$nsolver fi @@ -1959,7 +1959,7 @@ Program name ($prog)? $ECHOTXT" then qid=$value fi - case $qid in + case $qid in s* | S* | l* | L* | v* | V* ) $ECHO "Queue priority ($priority)? $ECHOTXT" read value @@ -2017,42 +2017,42 @@ esac done # -if test $nt -eq 0 -then +if test $nt -eq 0 +then ntarg= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then ntprint= -fi -if test $nt -eq 0 -then +fi +if test $nt -eq 0 +then nt= fi -if test $nte -eq 0 -then +if test $nte -eq 0 +then ntearg= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nteprint= -fi -if test $nte -eq 0 -then +fi +if test $nte -eq 0 +then nte= fi -if test $nts -eq 0 -then +if test $nts -eq 0 +then ntsarg= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then ntsprint= -fi -if test $nts -eq 0 -then +fi +if test $nts -eq 0 +then nts= fi # @@ -2305,7 +2305,7 @@ fi execpath=$usernoext.marc usersub=1 fi - export execpath + export execpath execname=`$BASENAME $execpath` if test "$host" @@ -2338,7 +2338,7 @@ fi exit 1 fi -# check for Myrinet that the number of processes per host is +# check for Myrinet that the number of processes per host is # less than number of available user ports, 5 # .gmpi directory must exist in user's home directory # and must have write permission from remote hosts @@ -2452,9 +2452,9 @@ fi then # Intel MPI if test -f $jid.mfile - then + then /bin/rm $jid.mfile 2> /dev/null - fi + fi /bin/cp $host $jid.host grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile # end Intel MPI for DMP @@ -2538,7 +2538,7 @@ fi else host=$jid.host host_filt=$host - if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" + if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi" then host_filt=$jid.mfile fi @@ -2547,7 +2547,7 @@ fi # or distributed and set the variable "dirstatus" accordingly. # only perform the check if user subroutine is used # or a user subroutine executable is used - + numfield=1 if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware then @@ -2707,7 +2707,7 @@ fi fi # modify new host file if NFS mounted heterogeneous machine doit= - if test $program = $prog.marc + if test $program = $prog.marc then doit=yes fi @@ -2731,23 +2731,23 @@ if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} /bin/mv $jid.host{$$} $jid.host host=$jid.host - fi + fi fi - done + done fi fi # if test $program = $prog.marc -o $user -o $obj - + else # if test $host # assume shared memory machine if no hostfile given and # MPITYPE is set to mpich or Myrinet - # check for Myrinet that the total number of processes is + # check for Myrinet that the total number of processes is # less than number of available user ports, 5 if test $MPITYPE = "mpich" -o $MPITYPE = "scali" then numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'` echo `hostname` $numproc $execpath > $jid.host host=$jid.host - elif test $MPITYPE = "myrinet" + elif test $MPITYPE = "myrinet" then if test $nprocd -gt 5 then @@ -2787,7 +2787,7 @@ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$} fi # if test $host fi # if test $nprocd -gt 1 - + fi # if test $program = $exefile -o $program = $prog.marc ############################################################################## @@ -2837,7 +2837,7 @@ else nsolverarg="$nsolverarg $nsolver" fi if test $nprocdddm -lt 2 -a $nsolver -eq 0 -then +then nprocd=0 fi if test $nprocd -gt 0 @@ -2848,7 +2848,7 @@ then then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -2953,7 +2953,7 @@ $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB " then echo " " echo "error: parallel job attempted on non-parallel version," - echo " or, if parallel version is installed, the include " + echo " or, if parallel version is installed, the include " echo " file is probably corrupted" echo " " if test "$deletelog" = no @@ -3241,6 +3241,7 @@ else fi /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3283,7 +3284,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null fi else if test $cpdll = yes; then @@ -3292,10 +3293,10 @@ else fi if test $rmdll = yes then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi - + if test $nprocdddm -gt 1 then numdom=$nprocdddm @@ -3363,15 +3364,15 @@ else # QUENAME=qsub SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid" -if test "$priority" +if test "$priority" then SUBMCMD=$SUBMCMD" -p $priority" fi -if test "$att" +if test "$att" then SUBMCMD=$SUBMCMD" -a $att" fi -if test "$cpu" +if test "$cpu" then SUBMCMD=$SUBMCMD" -lt $cpu" fi @@ -3553,7 +3554,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3573,6 +3574,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # # run marc @@ -3621,7 +3623,7 @@ fi if test $dllrun -eq 0; then if test $prgsav = no then - /bin/rm -f $bd$program 2>/dev/null + /bin/rm -f $bd$program 2>/dev/null # for network run, remove executable on remote machines # and executables with modified name if test $nprocd -gt 1 @@ -3670,7 +3672,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi if test $nprocdddm -gt 1 @@ -3887,7 +3889,7 @@ then then counter=$((counter+1)) if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes" - then + then DIR1=$DIRJOB line=`grep -v '^#' $userhost | grep "^$ibase "` workdir=`echo $line | $AWK '{print $3}'` @@ -3907,6 +3909,7 @@ else # if test $link fi # if test $link /bin/rm $userobj 2>/dev/null /bin/rm $DIRJOB/*.mod 2>/dev/null +/bin/rm $DIRJOB/*.smod 2>/dev/null # done if no job id given if test -z "$jid" then @@ -3946,7 +3949,7 @@ if test $ddm_arc -gt 0; then RUN_JOB="$MESHERDIR/sf_exeddm $RUN_JOB -ddm $ddm_arc " fi - $RUN_JOB + $RUN_JOB if test $nprocd -gt 1 then @@ -4029,7 +4032,7 @@ else /bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null fi if test $rmdll = yes;then - /bin/rm -f $DIRJOB/$marcdll 2>/dev/null + /bin/rm -f $DIRJOB/$marcdll 2>/dev/null fi fi From dbca47f113b64ad87ba1391a8a43bdd7bdf669e0 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 13 Jul 2020 12:38:21 +0200 Subject: [PATCH 04/18] better handling of corner cases copy and paste from python code --- src/quaternions.f90 | 2 ++ src/rotations.f90 | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/quaternions.f90 b/src/quaternions.f90 index c337bd681..a396f7f67 100644 --- a/src/quaternions.f90 +++ b/src/quaternions.f90 @@ -464,6 +464,8 @@ subroutine selfTest real(pReal), dimension(4) :: qu type(quaternion) :: q, q_2 + if(dNeq(abs(P),1.0_pReal)) call IO_error(0,ext_msg='P not in {-1,+1}') + call random_number(qu) qu = (qu-0.5_pReal) * 2.0_pReal q = quaternion(qu) diff --git a/src/rotations.f90 b/src/rotations.f90 index f95c54e98..7879523d2 100644 --- a/src/rotations.f90 +++ b/src/rotations.f90 @@ -581,7 +581,7 @@ pure function om2eu(om) result(eu) real(pReal), dimension(3) :: eu real(pReal) :: zeta - if (abs(om(3,3)) < 1.0_pReal) then + if(dNeq(abs(om(3,3)),1.0_pReal,1.e-9_pReal)) then zeta = 1.0_pReal/sqrt(1.0_pReal-om(3,3)**2.0_pReal) eu = [atan2(om(3,1)*zeta,-om(3,2)*zeta), & acos(om(3,3)), & @@ -589,8 +589,8 @@ pure function om2eu(om) result(eu) else eu = [atan2(om(1,2),om(1,1)), 0.5_pReal*PI*(1.0_pReal-om(3,3)),0.0_pReal ] end if - - where(eu<0.0_pReal) eu = mod(eu+2.0_pReal*PI,[2.0_pReal*PI,PI,2.0_pReal*PI]) + where(abs(eu) < 1.e-8_pReal) eu = 0.0_pReal + where(eu<0.0_pReal) eu = mod(eu+2.0_pReal*PI,[2.0_pReal*PI,PI,2.0_pReal*PI]) end function om2eu From 8de3b67c2694b2cf89a0137e3c784d5e075fa701 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 13 Jul 2020 21:13:53 +0200 Subject: [PATCH 05/18] no silent crash --- src/IO.f90 | 2 ++ src/constitutive_plastic_nonlocal.f90 | 6 +++++- src/grid/discretization_grid.f90 | 1 + src/marc/discretization_marc.f90 | 1 + 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/IO.f90 b/src/IO.f90 index aae5f69cc..0092fd1e2 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -529,6 +529,8 @@ subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) msg = 'unknown material parameter:' case (211) msg = 'material parameter out of bounds:' + case (212) + msg = 'nonlocal model not supported' !-------------------------------------------------------------------------------------------------- ! numerics error messages diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index ea55024b9..19f9794d7 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -386,7 +386,11 @@ module subroutine plastic_nonlocal_init call material_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,sizeDeltaState) - plasticState(p)%nonlocal = config%KeyExists('/nonlocal/') + plasticState(p)%nonlocal = config%KeyExists('/nonlocal/') + if(plasticState(p)%nonlocal .and. .not. allocated(geometry_plastic_nonlocal_IPneighborhood)) & + call IO_error(212,ext_msg='IPneighborhood does not exist') + + plasticState(p)%offsetDeltaState = 0 ! ToDo: state structure does not follow convention st0%rho => plasticState(p)%state0 (0*prm%sum_N_sl+1:10*prm%sum_N_sl,:) diff --git a/src/grid/discretization_grid.f90 b/src/grid/discretization_grid.f90 index dad7036cf..ce1c07fc2 100644 --- a/src/grid/discretization_grid.f90 +++ b/src/grid/discretization_grid.f90 @@ -118,6 +118,7 @@ subroutine discretization_grid_init(restart) call results_addAttribute('origin',origin, 'geometry') call results_closeJobFile endif + !-------------------------------------------------------------------------------------------------- ! geometry information required by the nonlocal CP model call geometry_plastic_nonlocal_setIPvolume(reshape([(product(mySize/real(myGrid,pReal)),j=1,product(myGrid))], & diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index eee635065..989c4aeb1 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -119,6 +119,7 @@ subroutine discretization_marc_init unscaledNormals = IPareaNormal(elem,nElems,connectivity_cell,node0_cell) call geometry_plastic_nonlocal_setIParea(norm2(unscaledNormals,1)) call geometry_plastic_nonlocal_setIPareaNormal(unscaledNormals/spread(norm2(unscaledNormals,1),1,3)) + !call geometry_plastic_nonlocal_setIPneighborhood ToDo: Support nonlocal call geometry_plastic_nonlocal_results end subroutine discretization_marc_init From 9f79faf819026061cb16e2e2aa210bc1bcbb5e68 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 13 Jul 2020 22:48:08 +0200 Subject: [PATCH 06/18] using tolerances as in python results in invalid operations --- src/rotations.f90 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/rotations.f90 b/src/rotations.f90 index 7879523d2..5d865c2c3 100644 --- a/src/rotations.f90 +++ b/src/rotations.f90 @@ -574,6 +574,7 @@ end function om2qu !--------------------------------------------------------------------------------------------------- !> @author Marc De Graef, Carnegie Mellon University !> @brief orientation matrix to Euler angles +!> @details Two step check for special cases to avoid invalid operations (not needed for python) !--------------------------------------------------------------------------------------------------- pure function om2eu(om) result(eu) @@ -581,11 +582,13 @@ pure function om2eu(om) result(eu) real(pReal), dimension(3) :: eu real(pReal) :: zeta - if(dNeq(abs(om(3,3)),1.0_pReal,1.e-9_pReal)) then + if (dNeq(abs(om(3,3)),1.0_pReal,1.e-5_pReal)) then zeta = 1.0_pReal/sqrt(1.0_pReal-om(3,3)**2.0_pReal) eu = [atan2(om(3,1)*zeta,-om(3,2)*zeta), & acos(om(3,3)), & atan2(om(1,3)*zeta, om(2,3)*zeta)] + elseif(dNeq(abs(om(3,3)),1.0_pReal,1.e-8_pReal)) then + eu = [PI*.75_pReal,acos(math_clip(om(3,3),-1.0_pReal,1.0_pReal)),PI*.25_pReal] else eu = [atan2(om(1,2),om(1,1)), 0.5_pReal*PI*(1.0_pReal-om(3,3)),0.0_pReal ] end if From b0e06f180a18941bf47d00b86987825393c1ee15 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 13 Jul 2020 22:48:29 +0200 Subject: [PATCH 07/18] reading numpy manual ... https://numpy.org/doc/stable/reference/generated/numpy.isclose.html rtol=1.e-8, b=1 gives atol+btol=1.e-8+1e-9, simplified to 1e-8 --- python/damask/_rotation.py | 2 +- python/tests/test_Rotation.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/python/damask/_rotation.py b/python/damask/_rotation.py index 9bb2d300a..4c01bd430 100644 --- a/python/damask/_rotation.py +++ b/python/damask/_rotation.py @@ -805,7 +805,7 @@ class Rotation: """Rotation matrix to Bunge-Euler angles.""" with np.errstate(invalid='ignore',divide='ignore'): zeta = 1.0/np.sqrt(1.0-om[...,2,2:3]**2) - eu = np.where(np.isclose(np.abs(om[...,2,2:3]),1.0,1e-9), + eu = np.where(np.isclose(np.abs(om[...,2,2:3]),1.0,0.0), np.block([np.arctan2(om[...,0,1:2],om[...,0,0:1]), np.pi*0.5*(1-om[...,2,2:3]), np.zeros(om.shape[:-2]+(1,)), diff --git a/python/tests/test_Rotation.py b/python/tests/test_Rotation.py index 21d0b5fae..46c10d8c2 100644 --- a/python/tests/test_Rotation.py +++ b/python/tests/test_Rotation.py @@ -150,7 +150,7 @@ def om2qu(a): def om2eu(om): """Rotation matrix to Bunge-Euler angles.""" - if not np.isclose(np.abs(om[2,2]),1.0,1.e-9): + if not np.isclose(np.abs(om[2,2]),1.0,0.0): zeta = 1.0/np.sqrt(1.0-om[2,2]**2) eu = np.array([np.arctan2(om[2,0]*zeta,-om[2,1]*zeta), np.arccos(om[2,2]), From 2b58b3df971887b92396eb28ee7a533c7d8063c9 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 14 Jul 2020 06:55:40 +0200 Subject: [PATCH 08/18] closer to thoroughly tested python code but with extra safety measures to prevent invalid operations --- src/rotations.f90 | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/rotations.f90 b/src/rotations.f90 index 5d865c2c3..07053545d 100644 --- a/src/rotations.f90 +++ b/src/rotations.f90 @@ -582,13 +582,11 @@ pure function om2eu(om) result(eu) real(pReal), dimension(3) :: eu real(pReal) :: zeta - if (dNeq(abs(om(3,3)),1.0_pReal,1.e-5_pReal)) then - zeta = 1.0_pReal/sqrt(1.0_pReal-om(3,3)**2.0_pReal) + if (dNeq(abs(om(3,3)),1.0_pReal,1.e-8_pReal)) then + zeta = 1.0_pReal/sqrt(math_clip(1.0_pReal-om(3,3)**2.0_pReal,1e-64_pReal,1.0_pReal)) eu = [atan2(om(3,1)*zeta,-om(3,2)*zeta), & - acos(om(3,3)), & + acos(math_clip(om(3,3),-1.0_pReal,1.0_pReal)), & atan2(om(1,3)*zeta, om(2,3)*zeta)] - elseif(dNeq(abs(om(3,3)),1.0_pReal,1.e-8_pReal)) then - eu = [PI*.75_pReal,acos(math_clip(om(3,3),-1.0_pReal,1.0_pReal)),PI*.25_pReal] else eu = [atan2(om(1,2),om(1,1)), 0.5_pReal*PI*(1.0_pReal-om(3,3)),0.0_pReal ] end if From 133aa9111c86f3cca0aa911b337b23c4c73dc744 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 14 Jul 2020 07:18:32 +0200 Subject: [PATCH 09/18] small polishing --- src/marc/discretization_marc.f90 | 159 +++++++++++++++---------------- 1 file changed, 79 insertions(+), 80 deletions(-) diff --git a/src/marc/discretization_marc.f90 b/src/marc/discretization_marc.f90 index be16f5fc0..f0b77543b 100644 --- a/src/marc/discretization_marc.f90 +++ b/src/marc/discretization_marc.f90 @@ -21,24 +21,24 @@ module discretization_marc implicit none private - + type tCellNodeDefinition integer, dimension(:,:), allocatable :: parents integer, dimension(:,:), allocatable :: weights end type tCellNodeDefinition - + type(tCellNodeDefinition), dimension(:), allocatable :: cellNodeDefinition - + real(pReal), public, protected :: & mesh_unitlength !< physical length of one unit in mesh - + integer, dimension(:), allocatable, public :: & mesh_FEM2DAMASK_elem, & !< DAMASK element ID for Marc element ID mesh_FEM2DAMASK_node !< DAMASK node ID for Marc node ID public :: & discretization_marc_init - + contains !-------------------------------------------------------------------------------------------------- @@ -68,16 +68,16 @@ subroutine discretization_marc_init connectivity_elem real(pReal), dimension(:,:,:,:),allocatable :: & unscaledNormals - + class(tNode), pointer :: & num_commercialFEM - + write(6,'(/,a)') ' <<<+- discretization_marc init -+>>>'; flush(6) !--------------------------------------------------------------------------------- ! read debug parameters - debug_e = debug_root%get_asInt('element',defaultVal=1) - debug_i = debug_root%get_asInt('integrationpoint',defaultVal=1) + debug_e = debug_root%get_asInt('element',defaultVal=1) + debug_i = debug_root%get_asInt('integrationpoint',defaultVal=1) !-------------------------------------------------------------------------------- ! read numerics parameter and do sanity check @@ -90,10 +90,10 @@ subroutine discretization_marc_init if (debug_e < 1 .or. debug_e > nElems) call IO_error(602,ext_msg='element') if (debug_i < 1 .or. debug_i > elem%nIPs) call IO_error(602,ext_msg='IP') - + FEsolving_execElem = [1,nElems] FEsolving_execIP = [1,elem%nIPs] - + allocate(cellNodeDefinition(elem%nNodes-1)) allocate(connectivity_cell(elem%NcellNodesPerCell,elem%nIPs,nElems)) call buildCells(connectivity_cell,cellNodeDefinition,& @@ -108,7 +108,7 @@ subroutine discretization_marc_init call discretization_init(microstructureAt,homogenizationAt,& IP_reshaped,& node0_cell) - + call writeGeometry(elem,connectivity_elem,& reshape(connectivity_cell,[elem%NcellNodesPerCell,elem%nIPs*nElems]),& node0_cell,IP_reshaped) @@ -120,7 +120,7 @@ subroutine discretization_marc_init call geometry_plastic_nonlocal_setIParea(norm2(unscaledNormals,1)) call geometry_plastic_nonlocal_setIPareaNormal(unscaledNormals/spread(norm2(unscaledNormals,1),1,3)) call geometry_plastic_nonlocal_results - + end subroutine discretization_marc_init @@ -139,7 +139,7 @@ subroutine writeGeometry(elem, & real(pReal), dimension(:,:), intent(in) :: & coordinates_nodes, & coordinates_points - + integer, dimension(:,:), allocatable :: & connectivity_temp real(pReal), dimension(:,:), allocatable :: & @@ -147,24 +147,24 @@ subroutine writeGeometry(elem, & call results_openJobFile call results_closeGroup(results_addGroup('geometry')) - + connectivity_temp = connectivity_elem call results_writeDataset('geometry',connectivity_temp,'T_e',& 'connectivity of the elements','-') - + connectivity_temp = connectivity_cell call results_writeDataset('geometry',connectivity_temp,'T_c', & 'connectivity of the cells','-') call results_addAttribute('VTK_TYPE',elem%vtkType,'geometry/T_c') - + coordinates_temp = coordinates_nodes call results_writeDataset('geometry',coordinates_temp,'x_n', & 'initial coordinates of the nodes','m') - + coordinates_temp = coordinates_points call results_writeDataset('geometry',coordinates_temp,'x_p', & 'initial coordinates of the materialpoints','m') - + call results_closeJobFile end subroutine writeGeometry @@ -183,7 +183,7 @@ subroutine inputRead(elem,node0_elem,connectivity_elem,microstructureAt,homogeni integer, dimension(:), allocatable, intent(out) :: & microstructureAt, & homogenizationAt - + integer :: & fileFormatVersion, & hypoelasticTableStyle, & @@ -193,7 +193,7 @@ subroutine inputRead(elem,node0_elem,connectivity_elem,microstructureAt,homogeni integer, dimension(:), allocatable :: & matNumber !< material numbers for hypoelastic material character(len=pStringLen), dimension(:), allocatable :: inputFile !< file content, separated per lines - + character(len=pStringLen), dimension(:), allocatable :: & nameElemSet integer, dimension(:,:), allocatable :: & @@ -209,8 +209,8 @@ subroutine inputRead(elem,node0_elem,connectivity_elem,microstructureAt,homogeni hypoelasticTableStyle,inputFile) call inputRead_NnodesAndElements(nNodes,nElems,& inputFile) - - + + call inputRead_mapElemSets(nameElemSet,mapElemSet,& inputFile) @@ -239,13 +239,13 @@ end subroutine inputRead !> @brief Figures out version of Marc input file format !-------------------------------------------------------------------------------------------------- subroutine inputRead_fileFormat(fileFormat,fileContent) - + integer, intent(out) :: fileFormat character(len=*), dimension(:), intent(in) :: fileContent !< file content, separated per lines - + integer, allocatable, dimension(:) :: chunkPos integer :: l - + do l = 1, size(fileContent) chunkPos = IO_stringPos(fileContent(l)) if(chunkPos(1) < 2) cycle @@ -262,13 +262,13 @@ end subroutine inputRead_fileFormat !> @brief Figures out table styles for initial cond and hypoelastic !-------------------------------------------------------------------------------------------------- subroutine inputRead_tableStyles(initialcond,hypoelastic,fileContent) - + integer, intent(out) :: initialcond, hypoelastic character(len=*), dimension(:), intent(in) :: fileContent !< file content, separated per lines integer, allocatable, dimension(:) :: chunkPos integer :: l - + initialcond = 0 hypoelastic = 0 @@ -290,7 +290,7 @@ end subroutine inputRead_tableStyles !-------------------------------------------------------------------------------------------------- subroutine inputRead_matNumber(matNumber, & tableStyle,fileContent) - + integer, allocatable, dimension(:), intent(out) :: matNumber integer, intent(in) :: tableStyle character(len=*), dimension(:), intent(in) :: fileContent !< file content, separated per lines @@ -326,7 +326,7 @@ end subroutine inputRead_matNumber !-------------------------------------------------------------------------------------------------- subroutine inputRead_NnodesAndElements(nNodes,nElems,& fileContent) - + integer, intent(out) :: nNodes, nElems character(len=*), dimension(:), intent(in) :: fileContent !< file content, separated per lines @@ -355,7 +355,7 @@ end subroutine inputRead_NnodesAndElements !-------------------------------------------------------------------------------------------------- subroutine inputRead_NelemSets(nElemSets,maxNelemInSet,& fileContent) - + integer, intent(out) :: nElemSets, maxNelemInSet character(len=*), dimension(:), intent(in) :: fileContent !< file content, separated per lines @@ -401,7 +401,7 @@ end subroutine inputRead_NelemSets !-------------------------------------------------------------------------------------------------- subroutine inputRead_mapElemSets(nameElemSet,mapElemSet,& fileContent) - + character(len=pStringLen), dimension(:), allocatable, intent(out) :: nameElemSet integer, dimension(:,:), allocatable, intent(out) :: mapElemSet character(len=*), dimension(:), intent(in) :: fileContent !< file content, separated per lines @@ -434,7 +434,7 @@ end subroutine inputRead_mapElemSets !-------------------------------------------------------------------------------------------------- subroutine inputRead_mapElems(FEM2DAMASK, & nElems,nNodesPerElem,fileContent) - + integer, allocatable, dimension(:), intent(out) :: FEM2DAMASK integer, intent(in) :: nElems, & !< number of elements @@ -515,10 +515,10 @@ end subroutine inputRead_mapNodes subroutine inputRead_elemNodes(nodes, & nNode,fileContent) - real(pReal), allocatable, dimension(:,:), intent(out) :: nodes + real(pReal), allocatable, dimension(:,:), intent(out) :: nodes integer, intent(in) :: nNode character(len=*), dimension(:), intent(in) :: fileContent !< file content, separated per lines - + integer, allocatable, dimension(:) :: chunkPos integer :: i,j,m,l @@ -580,15 +580,15 @@ subroutine inputRead_elemType(elem, & endif enddo - contains + contains !-------------------------------------------------------------------------------------------------- !> @brief mapping of Marc element types to internal representation !-------------------------------------------------------------------------------------------------- integer function mapElemtype(what) - + character(len=*), intent(in) :: what - + select case (IO_lc(what)) case ( '6') mapElemtype = 1 ! Two-dimensional Plane Strain Triangle @@ -630,20 +630,20 @@ end subroutine inputRead_elemType !> @brief Stores node IDs !-------------------------------------------------------------------------------------------------- function inputRead_connectivityElem(nElem,nNodes,fileContent) - + integer, intent(in) :: & nElem, & nNodes !< number of nodes per element character(len=*), dimension(:), intent(in) :: fileContent !< file content, separated per lines - + integer, dimension(nNodes,nElem) :: & inputRead_connectivityElem - + integer, allocatable, dimension(:) :: chunkPos - + integer, dimension(1+nElem) :: contInts integer :: i,k,j,t,e,l,nNodesAlreadyRead - + do l = 1, size(fileContent) chunkPos = IO_stringPos(fileContent(l)) if(chunkPos(1) < 1) cycle @@ -694,7 +694,7 @@ subroutine inputRead_microstructureAndHomogenization(microstructureAt,homogeniza character(len=*), dimension(:), intent(in) :: fileContent !< file content, separated per lines integer, allocatable, dimension(:) :: chunkPos - + integer, dimension(1+nElem) :: contInts integer :: i,j,t,sv,myVal,e,nNodesAlreadyRead,l,k,m @@ -727,42 +727,41 @@ subroutine inputRead_microstructureAndHomogenization(microstructureAt,homogeniza endif endif enddo - + end subroutine inputRead_microstructureAndHomogenization !-------------------------------------------------------------------------------------------------- -!> @brief Calculates cell node coordinates from element node coordinates +!> @brief Determine cell connectivity and definition of cell nodes !-------------------------------------------------------------------------------------------------- subroutine buildCells(connectivity_cell,cellNodeDefinition, & elem,connectivity_elem) type(tCellNodeDefinition), dimension(:), intent(out) :: cellNodeDefinition ! definition of cell nodes for increasing number of parents integer, dimension(:,:,:),intent(out) :: connectivity_cell - + type(tElement), intent(in) :: elem ! element definition integer, dimension(:,:), intent(in) :: connectivity_elem ! connectivity of the elements - + integer,dimension(:), allocatable :: candidates_local integer,dimension(:,:), allocatable :: parentsAndWeights,candidates_global - - integer :: e, n, c, p, s,i,m,j,nParentNodes,nCellNode,Nelem,candidateID - + + integer :: e,n,c,p,s,i,m,j,& + nParentNodes,nCellNode,Nelem,candidateID + Nelem = size(connectivity_elem,2) !--------------------------------------------------------------------------------------------------- ! initialize global connectivity to negative local connectivity connectivity_cell = -spread(elem%cell,3,Nelem) ! local cell node ID - + !--------------------------------------------------------------------------------------------------- ! set connectivity of cell nodes that coincide with FE nodes (defined by 1 parent node) ! and renumber local (negative) to global (positive) node ID do e = 1, Nelem do c = 1, elem%NcellNodes realNode: if (count(elem%cellNodeParentNodeWeights(:,c) /= 0) == 1) then - where(connectivity_cell(:,:,e) == -c) - connectivity_cell(:,:,e) = connectivity_elem(c,e) - end where + where(connectivity_cell(:,:,e) == -c) connectivity_cell(:,:,e) = connectivity_elem(c,e) endif realNode enddo enddo @@ -772,7 +771,7 @@ subroutine buildCells(connectivity_cell,cellNodeDefinition, & !--------------------------------------------------------------------------------------------------- ! set connectivity of cell nodes that are defined by 2,...,nNodes real nodes do nParentNodes = 2, elem%nNodes - + ! get IDs of local cell nodes that are defined by the current number of parent nodes candidates_local = [integer::] do c = 1, elem%NcellNodes @@ -780,11 +779,11 @@ subroutine buildCells(connectivity_cell,cellNodeDefinition, & candidates_local = [candidates_local,c] enddo s = size(candidates_local) - + if (allocated(candidates_global)) deallocate(candidates_global) allocate(candidates_global(nParentNodes*2+2,s*Nelem)) ! stores parent node ID + weight together with element ID and cellnode id (local) parentsAndWeights = reshape([(0, i = 1,2*nParentNodes)],[nParentNodes,2]) ! (re)allocate - + do e = 1, Nelem do i = 1, size(candidates_local) candidateID = (e-1)*size(candidates_local)+i ! including duplicates, runs to (Nelem*size(candidates_local)) @@ -792,18 +791,18 @@ subroutine buildCells(connectivity_cell,cellNodeDefinition, & p = 0 do j = 1, size(elem%cellNodeParentNodeWeights(:,c)) if (elem%cellNodeParentNodeWeights(j,c) /= 0) then ! real node 'j' partly defines cell node 'c' - p = p + 1 + p = p + 1 parentsAndWeights(p,1:2) = [connectivity_elem(j,e),elem%cellNodeParentNodeWeights(j,c)] endif enddo ! store (and order) real node IDs and their weights together with the element number and local ID do p = 1, nParentNodes m = maxloc(parentsAndWeights(:,1),1) - + candidates_global(p, candidateID) = parentsAndWeights(m,1) candidates_global(p+nParentNodes, candidateID) = parentsAndWeights(m,2) candidates_global(nParentNodes*2+1:nParentNodes*2+2,candidateID) = [e,c] - + parentsAndWeights(m,1) = -huge(parentsAndWeights(m,1)) ! out of the competition enddo enddo @@ -811,7 +810,7 @@ subroutine buildCells(connectivity_cell,cellNodeDefinition, & ! sort according to real node IDs + weight (from left to right) call math_sort(candidates_global,sortDim=1) ! sort according to first column - + do p = 2, nParentNodes*2 n = 1 do while(n <= size(candidates_local)*Nelem) @@ -826,11 +825,11 @@ subroutine buildCells(connectivity_cell,cellNodeDefinition, & n = e+1 enddo enddo - + i = uniqueRows(candidates_global(1:2*nParentNodes,:)) allocate(cellNodeDefinition(nParentNodes-1)%parents(i,nParentNodes)) allocate(cellNodeDefinition(nParentNodes-1)%weights(i,nParentNodes)) - + i = 1 n = 1 do while(n <= size(candidates_local)*Nelem) @@ -846,7 +845,7 @@ subroutine buildCells(connectivity_cell,cellNodeDefinition, & where (connectivity_cell(:,:,candidates_global(nParentNodes*2+1,n+j)) == -candidates_global(nParentNodes*2+2,n+j)) ! still locally defined connectivity_cell(:,:,candidates_global(nParentNodes*2+1,n+j)) = nCellNode + 1 ! gets current new cell node id end where - + j = j+1 enddo nCellNode = nCellNode + 1 @@ -863,7 +862,7 @@ subroutine buildCells(connectivity_cell,cellNodeDefinition, & !> @brief count unique rows (same rows need to be stored consecutively) !------------------------------------------------------------------------------------------------ pure function uniqueRows(A) result(u) - + integer, dimension(:,:), intent(in) :: A !< array, rows need to be sorted integer :: & @@ -882,14 +881,14 @@ subroutine buildCells(connectivity_cell,cellNodeDefinition, & u = u+1 r = r+d enddo - + end function uniqueRows end subroutine buildCells !-------------------------------------------------------------------------------------------------- -!> @brief Calculates cell node coordinates from element node coordinates +!> @brief Calculate cell node coordinates from element node coordinates !-------------------------------------------------------------------------------------------------- subroutine buildCellNodes(node_cell, & definition,node_elem) @@ -897,9 +896,9 @@ subroutine buildCellNodes(node_cell, & real(pReal), dimension(:,:), intent(out) :: node_cell !< cell node coordinates type(tCellNodeDefinition), dimension(:), intent(in) :: definition !< cell node definition (weights and parents) real(pReal), dimension(:,:), intent(in) :: node_elem !< element nodes - + integer :: i, j, k, n - + n = size(node_elem,2) node_cell(:,1:n) = node_elem !< initial nodes coincide with element nodes @@ -914,12 +913,12 @@ subroutine buildCellNodes(node_cell, & node_cell(:,n) = node_cell(:,n)/real(sum(definition(i)%weights(j,:)),pReal) enddo enddo - + end subroutine buildCellNodes !-------------------------------------------------------------------------------------------------- -!> @brief Calculates IP coordinates as center of cell +!> @brief Calculate IP coordinates as center of cell !-------------------------------------------------------------------------------------------------- subroutine buildIPcoordinates(IPcoordinates, & connectivity_cell,node_cell) @@ -927,7 +926,7 @@ subroutine buildIPcoordinates(IPcoordinates, & real(pReal), dimension(:,:), intent(out):: IPcoordinates !< cell-center/IP coordinates integer, dimension(:,:), intent(in) :: connectivity_cell !< connectivity for each cell real(pReal), dimension(:,:), intent(in) :: node_cell !< cell node coordinates - + integer :: i, n do i = 1, size(connectivity_cell,2) @@ -938,7 +937,7 @@ subroutine buildIPcoordinates(IPcoordinates, & enddo IPcoordinates(:,i) = IPcoordinates(:,i)/real(size(connectivity_cell,1),pReal) enddo - + end subroutine buildIPcoordinates @@ -948,11 +947,11 @@ end subroutine buildIPcoordinates !> 2D cells assume an element depth of 1.0 !--------------------------------------------------------------------------------------------------- function IPvolume(elem,node,connectivity) - + type(tElement), intent(in) :: elem real(pReal), dimension(:,:), intent(in) :: node integer, dimension(:,:,:), intent(in) :: connectivity - + real(pReal), dimension(elem%nIPs,size(connectivity,3)) :: IPvolume real(pReal), dimension(3) :: x0,x1,x2,x3,x4,x5,x6,x7 @@ -1011,19 +1010,19 @@ function IPareaNormal(elem,nElem,connectivity,node) integer, intent(in) :: nElem integer, dimension(:,:,:), intent(in) :: connectivity real(pReal), dimension(:,:), intent(in) :: node - + real(pReal), dimension(3,elem%nIPneighbors,elem%nIPs,nElem) :: ipAreaNormal real(pReal), dimension (3,size(elem%cellFace,1)) :: nodePos integer :: e,i,f,n,m - + m = size(elem%cellFace,1) do e = 1,nElem do i = 1,elem%nIPs do f = 1,elem%nIPneighbors nodePos = node(1:3,connectivity(elem%cellface(1:m,f),i,e)) - + select case (elem%cellType) case (1,2) ! 2D 3 or 4 node IPareaNormal(1,f,i,e) = nodePos(2,2) - nodePos(2,1) ! x_normal = y_connectingVector @@ -1038,7 +1037,7 @@ function IPareaNormal(elem,nElem,connectivity,node) ! the sum has to be divided by two; this whole prcedure tries to compensate for ! probable non-planar cell surfaces IPareaNormal(1:3,f,i,e) = 0.0_pReal - do n = 1, m + do n = 1, m IPareaNormal(1:3,f,i,e) = IPareaNormal(1:3,f,i,e) & + math_cross(nodePos(1:3,mod(n+0,m)+1) - nodePos(1:3,n), & nodePos(1:3,mod(n+1,m)+1) - nodePos(1:3,n)) * 0.5_pReal From b16508dd6cd3cafc6f37f494311a8b310032cd62 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 14 Jul 2020 07:40:42 +0200 Subject: [PATCH 10/18] clean namespace --- src/constitutive.f90 | 3 ++- src/constitutive_plastic_nonlocal.f90 | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/constitutive.f90 b/src/constitutive.f90 index d920c481f..128b45d53 100644 --- a/src/constitutive.f90 +++ b/src/constitutive.f90 @@ -15,7 +15,8 @@ module constitutive use results use lattice use discretization - use geometry_plastic_nonlocal + use geometry_plastic_nonlocal, only: & + geometry_plastic_nonlocal_disable use source_thermal_dissipation use source_thermal_externalheat use source_damage_isoBrittle diff --git a/src/constitutive_plastic_nonlocal.f90 b/src/constitutive_plastic_nonlocal.f90 index 19f9794d7..dfd9dbaac 100644 --- a/src/constitutive_plastic_nonlocal.f90 +++ b/src/constitutive_plastic_nonlocal.f90 @@ -387,7 +387,7 @@ module subroutine plastic_nonlocal_init call material_allocateState(plasticState(p),NipcMyPhase,sizeState,sizeDotState,sizeDeltaState) plasticState(p)%nonlocal = config%KeyExists('/nonlocal/') - if(plasticState(p)%nonlocal .and. .not. allocated(geometry_plastic_nonlocal_IPneighborhood)) & + if(plasticState(p)%nonlocal .and. .not. allocated(IPneighborhood)) & call IO_error(212,ext_msg='IPneighborhood does not exist') From 78eee9fe962d80b8a9dbc94ed41fd84469e305e3 Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 15 Jul 2020 00:54:16 +0200 Subject: [PATCH 11/18] unnecessary debug output --- src/CPFEM.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CPFEM.f90 b/src/CPFEM.f90 index e257f8e55..f2b906b89 100644 --- a/src/CPFEM.f90 +++ b/src/CPFEM.f90 @@ -248,7 +248,7 @@ subroutine CPFEM_general(mode, ffn, ffn1, temperature_inp, dt, elFE, ip, cauchyS endif validCalculation if (debugCPFEM%extensive & - .and. (debugCPFEM%element == elCP .and. debugCPFEM%ip == ip) .or. .not. debugCPFEM%selective) then + .and. ((debugCPFEM%element == elCP .and. debugCPFEM%ip == ip) .or. .not. debugCPFEM%selective)) then write(6,'(a,i8,1x,i2,/,12x,6(f10.3,1x)/)') & '<< CPFEM >> stress/MPa at elFE ip ', elFE, ip, CPFEM_cs(1:6,ip,elCP)*1.0e-6_pReal write(6,'(a,i8,1x,i2,/,6(12x,6(f10.3,1x)/))') & From 633836b5fa5a4e1ed6e79e125ecce3a30199a27e Mon Sep 17 00:00:00 2001 From: Sharan Roongta Date: Wed, 15 Jul 2020 14:46:41 +0200 Subject: [PATCH 12/18] [skip ci] relevant file added --- examples/SpectralMethod/Polycrystal/numerics.config | 2 -- examples/SpectralMethod/Polycrystal/numerics.yaml | 3 +++ 2 files changed, 3 insertions(+), 2 deletions(-) delete mode 100644 examples/SpectralMethod/Polycrystal/numerics.config create mode 100644 examples/SpectralMethod/Polycrystal/numerics.yaml diff --git a/examples/SpectralMethod/Polycrystal/numerics.config b/examples/SpectralMethod/Polycrystal/numerics.config deleted file mode 100644 index 5008d45a7..000000000 --- a/examples/SpectralMethod/Polycrystal/numerics.config +++ /dev/null @@ -1,2 +0,0 @@ -itmin 4 -itmax 40 diff --git a/examples/SpectralMethod/Polycrystal/numerics.yaml b/examples/SpectralMethod/Polycrystal/numerics.yaml new file mode 100644 index 000000000..1a069cb76 --- /dev/null +++ b/examples/SpectralMethod/Polycrystal/numerics.yaml @@ -0,0 +1,3 @@ +grid: + itmin: 4 + itmax: 40 From 04aecba3f2bd9e2368d198cc868b42de3627889e Mon Sep 17 00:00:00 2001 From: Test User Date: Wed, 15 Jul 2020 19:54:17 +0200 Subject: [PATCH 13/18] [skip ci] updated version information after successful test of v2.0.3-2881-gc07efe84 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index b76d77510..e78e2c589 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.3-2872-g0a2d3046 +v2.0.3-2881-gc07efe84 From 6259984e93dbb2c9d93b0f9f44e61b5b9076fa99 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 15 Jul 2020 20:54:37 +0200 Subject: [PATCH 14/18] simplified complicated, but allows to use functions as properties --- python/damask/__init__.py | 4 +++- python/damask/_geom.py | 4 ++-- python/damask/_result.py | 3 +-- python/damask/_test.py | 2 +- python/damask/_vtk.py | 3 +-- python/damask/solver/_marc.py | 12 +++++------- 6 files changed, 13 insertions(+), 15 deletions(-) diff --git a/python/damask/__init__.py b/python/damask/__init__.py index b2b94b6a5..4c031758f 100644 --- a/python/damask/__init__.py +++ b/python/damask/__init__.py @@ -7,7 +7,8 @@ with open(_Path(__file__).parent/_Path('VERSION')) as _f: version = _re.sub(r'^v','',_f.readline().strip()) # make classes directly accessible as damask.Class -from ._environment import Environment # noqa +from ._environment import Environment as _ # noqa +environment = _() from ._table import Table # noqa from ._vtk import VTK # noqa from ._colormap import Colormap # noqa @@ -19,6 +20,7 @@ from ._geom import Geom # noqa from . import solver # noqa # deprecated +Environment = _ from ._asciitable import ASCIItable # noqa from ._test import Test # noqa from .config import Material # noqa diff --git a/python/damask/_geom.py b/python/damask/_geom.py index bbdcaf9f8..59da5e117 100644 --- a/python/damask/_geom.py +++ b/python/damask/_geom.py @@ -6,9 +6,9 @@ from functools import partial import numpy as np from scipy import ndimage,spatial +import damask from . import VTK from . import util -from . import Environment from . import grid_filters @@ -362,7 +362,7 @@ class Geom: seeds_p = seeds coords = grid_filters.cell_coord0(grid,size).reshape(-1,3) - pool = multiprocessing.Pool(processes = int(Environment().options['DAMASK_NUM_THREADS'])) + pool = multiprocessing.Pool(processes = int(damask.environment.options['DAMASK_NUM_THREADS'])) result = pool.map_async(partial(Geom._find_closest_seed,seeds_p,weights_p), [coord for coord in coords]) pool.close() pool.join() diff --git a/python/damask/_result.py b/python/damask/_result.py index 4b32798f1..a12ee467a 100644 --- a/python/damask/_result.py +++ b/python/damask/_result.py @@ -18,7 +18,6 @@ from . import VTK from . import Table from . import Rotation from . import Orientation -from . import Environment from . import grid_filters from . import mechanics from . import util @@ -1060,7 +1059,7 @@ class Result: Arguments parsed to func. """ - num_threads = Environment().options['DAMASK_NUM_THREADS'] + num_threads = damask.environment.options['DAMASK_NUM_THREADS'] pool = mp.Pool(int(num_threads) if num_threads is not None else None) lock = mp.Manager().Lock() diff --git a/python/damask/_test.py b/python/damask/_test.py index 9c4c7ad3d..78616fabf 100644 --- a/python/damask/_test.py +++ b/python/damask/_test.py @@ -180,7 +180,7 @@ class Test: def fileInRoot(self,dir,file): """Path to a file in the root directory of DAMASK.""" - return os.path.join(damask.Environment().rootDir(),dir,file) + return str(damask.environment.root_dir/dir/file) def fileInReference(self,file): diff --git a/python/damask/_vtk.py b/python/damask/_vtk.py index 656d68412..51175fdd7 100644 --- a/python/damask/_vtk.py +++ b/python/damask/_vtk.py @@ -9,7 +9,6 @@ from vtk.util.numpy_support import numpy_to_vtkIdTypeArray as np_to_vtkIdTypeArr import damask from . import Table -from . import Environment class VTK: @@ -258,7 +257,7 @@ class VTK: ren.AddActor(actor) ren.SetBackground(0.2,0.2,0.2) - window.SetSize(Environment().screen_size[0],Environment().screen_size[1]) + window.SetSize(damask.environment.screen_size[0],damask.environment.screen_size[1]) iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(window) diff --git a/python/damask/solver/_marc.py b/python/damask/solver/_marc.py index 23ae5639d..d0d8cc2fb 100644 --- a/python/damask/solver/_marc.py +++ b/python/damask/solver/_marc.py @@ -3,12 +3,12 @@ import shlex import string from pathlib import Path -from .._environment import Environment +import damask class Marc: """Wrapper to run DAMASK with MSCMarc.""" - def __init__(self,version=Environment().options['MARC_VERSION']): + def __init__(self,version=damask.environment.options['MARC_VERSION']): """ Create a Marc solver object. @@ -24,7 +24,7 @@ class Marc: @property def library_path(self): - path_MSC = Environment().options['MSC_ROOT'] + path_MSC = damask.environment.options['MSC_ROOT'] path_lib = Path(f'{path_MSC}/mentat{self.version}/shlib/linux64') return path_lib if path_lib.is_dir() else None @@ -33,7 +33,7 @@ class Marc: @property def tools_path(self): - path_MSC = Environment().options['MSC_ROOT'] + path_MSC = damsk.environment.options['MSC_ROOT'] path_tools = Path(f'{path_MSC}/marc{self.version}/tools') return path_tools if path_tools.is_dir() else None @@ -49,9 +49,7 @@ class Marc: ): - env = Environment() - - usersub = env.root_dir/Path(f'src/DAMASK_marc{self.version}').with_suffix('.f90' if compile else '.marc') + usersub = damask.environment.root_dir/Path(f'src/DAMASK_marc{self.version}').with_suffix('.f90' if compile else '.marc') if not usersub.is_file(): raise FileNotFoundError("DAMASK4Marc ({}) '{}' not found".format(('source' if compile else 'binary'),usersub)) From 333e840b09433cb1796390441748b6f38e2cb894 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 15 Jul 2020 20:57:56 +0200 Subject: [PATCH 15/18] standard behavior most modules have an __version__ attribute --- python/damask/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/python/damask/__init__.py b/python/damask/__init__.py index 4c031758f..b0feee4ac 100644 --- a/python/damask/__init__.py +++ b/python/damask/__init__.py @@ -5,6 +5,7 @@ import re as _re name = 'damask' with open(_Path(__file__).parent/_Path('VERSION')) as _f: version = _re.sub(r'^v','',_f.readline().strip()) + __version__ = version # make classes directly accessible as damask.Class from ._environment import Environment as _ # noqa From fa7f7e6fa433307bd0d1230f0e5c1f065bed16a5 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 15 Jul 2020 21:19:09 +0200 Subject: [PATCH 16/18] don't complain if ssh without -X/-Y --- python/damask/_colormap.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index 9d57f234b..b95253189 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -3,6 +3,8 @@ import functools import numpy as np import matplotlib as mpl +if os.name == 'posix' and 'DISPLAY' not in os.environ: + mpl.use('Agg') import matplotlib.pyplot as plt from matplotlib import cm From 9225d439ab46a7a05014949c961e477d5bb201d3 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 15 Jul 2020 21:58:24 +0200 Subject: [PATCH 17/18] object oriented path handling --- python/damask/_colormap.py | 1 + python/setup.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/python/damask/_colormap.py b/python/damask/_colormap.py index b95253189..73e7d0936 100644 --- a/python/damask/_colormap.py +++ b/python/damask/_colormap.py @@ -1,3 +1,4 @@ +import os import json import functools diff --git a/python/setup.py b/python/setup.py index a1b5ea166..798d8e4bf 100644 --- a/python/setup.py +++ b/python/setup.py @@ -1,8 +1,8 @@ import setuptools -import os +from pathlib import Path import re -with open(os.path.join(os.path.dirname(__file__),'damask/VERSION')) as f: +with open(Path(__file__).parent/'damask/VERSION') as f: version = re.sub(r'(-([^-]*)).*$',r'.\2',re.sub(r'^v(\d+\.\d+(\.\d+)?)',r'\1',f.readline().strip())) setuptools.setup( From 199ec51bf818deee0c1ade4db4d31a34ae4d4166 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 15 Jul 2020 21:59:43 +0200 Subject: [PATCH 18/18] typo --- python/damask/solver/_marc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/damask/solver/_marc.py b/python/damask/solver/_marc.py index d0d8cc2fb..e148ed362 100644 --- a/python/damask/solver/_marc.py +++ b/python/damask/solver/_marc.py @@ -33,7 +33,7 @@ class Marc: @property def tools_path(self): - path_MSC = damsk.environment.options['MSC_ROOT'] + path_MSC = damask.environment.options['MSC_ROOT'] path_tools = Path(f'{path_MSC}/marc{self.version}/tools') return path_tools if path_tools.is_dir() else None