From 4a627161d57b8acd47f5b04558ef92f4b36fcac1 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 16 Sep 2016 03:23:59 +0200 Subject: [PATCH 01/32] clarified fixed expression --- DAMASK_env.zsh | 99 +++++++++++++----------------- processing/pre/geom_grainGrowth.py | 7 +-- 2 files changed, 46 insertions(+), 60 deletions(-) diff --git a/DAMASK_env.zsh b/DAMASK_env.zsh index 3bbab82df..730993bf8 100644 --- a/DAMASK_env.zsh +++ b/DAMASK_env.zsh @@ -1,87 +1,74 @@ -# sets up an environment for DAMASK on zsh -# usage: source DAMASK_env.zsh +# sets up an environment for DAMASK on bash +# usage: source DAMASK_env.sh -DAMASK_ROOT=${0:a:h} - -# defining set() allows to source the same file for tcsh and zsh, with and without space around = -set() { - export $1$2$3 - } -source $DAMASK_ROOT/CONFIG -unset -f set - -# add DAMASK_BIN if present but not yet in $PATH -MATCH=`echo ":$PATH:" | grep $DAMASK_BIN:` -if [[ ( "x$DAMASK_BIN" != "x" ) && ( "x$MATCH" = "x" ) ]]; then - export PATH=$DAMASK_BIN:$PATH +if [ "$OSTYPE" = "linux-gnu" ] || [ "$OSTYPE" = 'linux' ]; then + DAMASK_ROOT=$(readlink -f "`dirname ${(%):-%N}`") +else + print 'Not done yet' fi +[[ -f $HOME/.damask/damask.conf ]] && source $HOME/.damask/damask.conf || source /etc/damask.conf + +# if DAMASK_BIN is present and not in $PATH, add it +#if [[ [[ "x$DAMASK_BIN" != "x" ]] && ! `echo ":$PATH:" | grep $DAMASK_BIN:` ]]; then + export PATH=$DAMASK_BIN:$PATH +#fi + SOLVER=`which DAMASK_spectral 2>/dev/null` +if [ "x$SOLVER" = "x" ]; then + export SOLVER='Not found!' +fi PROCESSING=`which postResults 2>/dev/null` -if [ "x$DAMASK_NUM_THREADS" = "x" ]; then - DAMASK_NUM_THREADS=1 +if [ "x$PROCESSING" = "x" ]; then + export PROCESSING='Not found!' fi # according to http://software.intel.com/en-us/forums/topic/501500 # this seems to make sense for the stack size -if [ "`which free 2>/dev/null`" != "free not found" ]; then - freeMem=`free -k | grep -E '(Mem|Speicher):' | awk '{print $4;}'` - - # http://superuser.com/questions/220059/what-parameters-has-ulimit - ulimit -s `expr $freeMem / $DAMASK_NUM_THREADS / 2` 2>/dev/null # maximum stack size (kB) - ulimit -d `expr $freeMem / 2` 2>/dev/null # maximum heap size (kB) -fi -ulimit -v unlimited 2>/dev/null # maximum virtual memory size +#FREE=`which free 2>/dev/null` +#if [ "x$FREE" != "x" ]; then +# freeMem=`free -k | grep -E '(Mem|Speicher):' | awk '{print $4;}'` +# heap=`expr $freeMem / 2` +# stack=`expr $freeMem / 2` +# +# # http://superuser.com/questions/220059/what-parameters-has-ulimit +# ulimit -s $stack 2>/dev/null # maximum stack size (kB) +# ulimit -d $heap 2>/dev/null # maximum heap size (kB) +#fi +#ulimit -c 2000 2>/dev/null # core file size (512-byte blocks) +#ulimit -v unlimited 2>/dev/null # maximum virtual memory size ulimit -m unlimited 2>/dev/null # maximum physical memory size # disable output in case of scp if [ ! -z "$PS1" ]; then echo - echo Düsseldorf Advanced Materials Simulation Kit --- DAMASK - echo Max-Planck-Institut für Eisenforschung GmbH, Düsseldorf - echo https://damask.mpie.de + echo Düsseldorf Advanced Materials Simulation Kit - DAMASK + echo Max-Planck-Institut für Eisenforschung, Düsseldorf + echo http://damask.mpie.de echo - echo "Using environment with ..." + echo Using environment with ... echo "DAMASK $DAMASK_ROOT" - echo "Spectral Solver $SOLVER" - echo "Post Processing $PROCESSING" + [[ "x$SOLVER" != "x" ]] && echo "Spectral Solver $SOLVER" + [[ "x$PROCESSING" != "x" ]] && echo "Post Processing $PROCESSING" echo "Multithreading DAMASK_NUM_THREADS=$DAMASK_NUM_THREADS" if [ "x$PETSC_DIR" != "x" ]; then echo "PETSc location $PETSC_DIR" - [[ $(python -c "import os,sys; print(os.path.realpath(os.path.expanduser(sys.argv[1])))" "$PETSC_DIR") == $PETSC_DIR ]] \ - || echo " ~~> "$(python -c "import os,sys; print(os.path.realpath(os.path.expanduser(sys.argv[1])))" "$PETSC_DIR") + [[ `readlink -f $PETSC_DIR` == $PETSC_DIR ]] || echo " ~~> "`readlink -f $PETSC_DIR` fi - [[ "x$PETSC_ARCH" == "x" ]] \ - || echo "PETSc architecture $PETSC_ARCH" + [[ "x$PETSC_ARCH" != "x" ]] && echo "PETSc architecture $PETSC_ARCH" echo "MSC.Marc/Mentat $MSC_ROOT" echo - echo -n "heap size " - [[ "$(ulimit -d)" == "unlimited" ]] \ - && echo "unlimited" \ - || echo $(python -c \ - "import math; \ - size=$(( 1024*$(ulimit -d) )); \ - print('{:.4g} {}'.format(size / (1 << ((int(math.log(size,2) / 10) if size else 0) * 10)), \ - ['bytes','KiB','MiB','GiB','TiB','EiB','ZiB'][int(math.log(size,2) / 10) if size else 0]))") - echo -n "stack size " - [[ "$(ulimit -s)" == "unlimited" ]] \ - && echo "unlimited" \ - || echo $(python -c \ - "import math; \ - size=$(( 1024*$(ulimit -s) )); \ - print('{:.4g} {}'.format(size / (1 << ((int(math.log(size,2) / 10) if size else 0) * 10)), \ - ['bytes','KiB','MiB','GiB','TiB','EiB','ZiB'][int(math.log(size,2) / 10) if size else 0]))") + echo -n "heap size/MiB "; echo "`ulimit -d`/1024" | bc + echo -n "stack size/MiB "; echo "`ulimit -s`/1024" | bc fi export DAMASK_NUM_THREADS export PYTHONPATH=$DAMASK_ROOT/lib:$PYTHONPATH -for var in BASE STAT SOLVER PROCESSING FREE DAMASK_BIN MATCH; do +for var in BASE STAT SOLVER PROCESSING FREE; do unset "${var}" done -for var in DAMASK MSC; do +for var in DAMASK IMKL ACML LAPACK MSC FFTW HDF5; do unset "${var}_ROOT" done -for var in ABAQUS MARC; do - unset "${var}_VERSION" -done + diff --git a/processing/pre/geom_grainGrowth.py b/processing/pre/geom_grainGrowth.py index 95c67fb28..ac7af9e85 100755 --- a/processing/pre/geom_grainGrowth.py +++ b/processing/pre/geom_grainGrowth.py @@ -99,16 +99,15 @@ for name in filenames: for smoothIter in xrange(options.N): - boundary = np.zeros(microstructure.shape) + interfaceEnergy = np.zeros(microstructure.shape) for i in (-1,0,1): for j in (-1,0,1): for k in (-1,0,1): # assign interfacial energy to all voxels that have a differing neighbor (in Moore neighborhood) - boundary = np.maximum(boundary, + interfaceEnergy = np.maximum(interfaceEnergy, interfacialEnergy(microstructure,np.roll(np.roll(np.roll( microstructure,i,axis=0), j,axis=1), k,axis=2))) - interfaceEnergy = boundary - + # periodically extend interfacial energy array by half a grid size in positive and negative directions periodic_interfaceEnergy = np.tile(interfaceEnergy,(3,3,3))[grid[0]/2:-grid[0]/2, grid[1]/2:-grid[1]/2, From b86d91e8a48d363525349673d687cbd3cf6f8329 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 11 Nov 2016 06:42:35 +0100 Subject: [PATCH 02/32] not used --- lib/damask/util.py | 25 +------------------------ 1 file changed, 1 insertion(+), 24 deletions(-) diff --git a/lib/damask/util.py b/lib/damask/util.py index 6cea7c54b..c8aba4a5a 100644 --- a/lib/damask/util.py +++ b/lib/damask/util.py @@ -101,29 +101,6 @@ def execute(cmd, if process.returncode != 0: raise RuntimeError('{} failed with returncode {}'.format(cmd,process.returncode)) return out,error - -# ----------------------------- -# Matlab like trigonometric functions that take and return angles in degrees. -# ----------------------------- -for f in ['cos', 'sin', 'tan']: - exec('def %sd(deg): return (np.%s(np.deg2rad(deg)))'%(f,f)) - exec('def a%sd(val): return (np.rad2deg(np.arc%s(val)))'%(f,f)) - - -# ----------------------------- -def gridLocation(idx,res): - return ( idx % res[0], \ - ( idx // res[0]) % res[1], \ - ( idx // res[0] // res[1]) % res[2] ) - - -# ----------------------------- -def gridIndex(location,res): - return ( location[0] % res[0] + \ - ( location[1] % res[1]) * res[0] + \ - ( location[2] % res[2]) * res[1] * res[0] ) - - # ----------------------------- class extendableOption(Option): """ @@ -469,4 +446,4 @@ def curve_fit_bound(f, xdata, ydata, p0=None, sigma=None, bounds=None, **kw): else: pcov = np.inf - return (popt, pcov, infodict, errmsg, ier) if return_full else (popt, pcov) \ No newline at end of file + return (popt, pcov, infodict, errmsg, ier) if return_full else (popt, pcov) From f6669a4a81938a7be0c5cca3b23be64d4ebcd788 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 5 May 2017 17:20:22 +0200 Subject: [PATCH 03/32] less verbose compilation --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 891d4b5f2..0ba67963e 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ all: spectral FEM marc processing .PHONY: spectral spectral: build/spectral - @(cd build/spectral;make --no-print-directory -ws all install VERBOSE=1;) + @(cd build/spectral;make --no-print-directory -ws all install;) .PHONY: FEM FEM: build/FEM From 05bd760bc7a9d0a9c79d0d1de2439167a58c2ca1 Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Fri, 5 May 2017 11:49:15 -0400 Subject: [PATCH 04/32] removed debug message that broke stack unlimiting --- DAMASK_env.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/DAMASK_env.sh b/DAMASK_env.sh index 0ae3a2abf..264ae9c94 100644 --- a/DAMASK_env.sh +++ b/DAMASK_env.sh @@ -46,8 +46,7 @@ if [ "x$FREE" != "x" ]; then ulimit -d unlimited 2>/dev/null \ || ulimit -d $(expr $freeMem / 2) 2>/dev/null # maximum heap size (kB) ulimit -s unlimited 2>/dev/null \ - || echo "cannot unlimit stack..." \ - && ulimit -s $(expr $freeMem / $DAMASK_NUM_THREADS / 2) 2>/dev/null # maximum stack size (kB) + || ulimit -s $(expr $freeMem / $DAMASK_NUM_THREADS / 2) 2>/dev/null # maximum stack size (kB) fi ulimit -v unlimited 2>/dev/null # maximum virtual memory size ulimit -m unlimited 2>/dev/null # maximum physical memory size From 91ec0f1454e048edfff820863332a00f9e00f71d Mon Sep 17 00:00:00 2001 From: Test User Date: Fri, 5 May 2017 21:43:45 +0200 Subject: [PATCH 05/32] [skip ci] updated version information after successful test of v2.0.1-691-gf6669a4 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index b69932daf..66fa2ba89 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.1-684-gb7a138e +v2.0.1-691-gf6669a4 From 153f49fd1c6325224af45e0ad4d789c9a929694b Mon Sep 17 00:00:00 2001 From: Test User Date: Sat, 6 May 2017 02:10:02 +0200 Subject: [PATCH 06/32] [skip ci] updated version information after successful test of v2.0.1-692-g05bd760 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index b69932daf..9135e0cbb 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.1-684-gb7a138e +v2.0.1-692-g05bd760 From 742d01765ee98f118b2262dfb2e3ee5d34915ca0 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 8 May 2017 23:52:07 +0200 Subject: [PATCH 07/32] now also running runtime test --- .gitlab-ci.yml | 48 +++++++++++++++++++++++++++++++----------------- 1 file changed, 31 insertions(+), 17 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f472d2bb8..a40a90ec9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -14,6 +14,7 @@ stages: - compileAbaqus2016 - compileAbaqus2017 - example + - performance - createDocumentation - updateMaster - clean @@ -425,25 +426,19 @@ AbaqusExample: only: - development -################################################################################################## -mergeIntoMaster: - stage: updateMaster +################################################################################################### +SpectralRuntime: + stage: performance script: + - module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel - cd $DAMASKROOT - - export TESTEDREV=$(git describe) # might be detached from development branch - - echo $TESTEDREV > VERSION - - git commit VERSION -m "[skip ci] updated version information after successful test of $TESTEDREV" - - export UPDATEDREV=$(git describe) # tested state + 1 commit - - git checkout master - - git merge $UPDATEDREV -s recursive -X ours # conflicts occur only for inconsistent state - - git push origin master # master is now tested version and has updated VERSION file - - git checkout development - - git pull - - git merge master -s recursive -X ours -m "[skip ci] Merge branch 'master' into development" # only possible conflict is in VERSION file - - git push origin development # development is unchanged (as master is based on it) but has updated VERSION file - only: - - development - + - make clean spectral processing OPTIMIZATION=AGGRESSIVE + - cd $DAMASKROOT/PRIVATE/testing + - SpectralAll_runtime/test.py + except: + - master + - release + ################################################################################################### AbaqusExp: stage: createDocumentation @@ -481,6 +476,25 @@ Spectral: - master - release +################################################################################################## +mergeIntoMaster: + stage: updateMaster + script: + - cd $DAMASKROOT + - export TESTEDREV=$(git describe) # might be detached from development branch + - echo $TESTEDREV > VERSION + - git commit VERSION -m "[skip ci] updated version information after successful test of $TESTEDREV" + - export UPDATEDREV=$(git describe) # tested state + 1 commit + - git checkout master + - git merge $UPDATEDREV -s recursive -X ours # conflicts occur only for inconsistent state + - git push origin master # master is now tested version and has updated VERSION file + - git checkout development + - git pull + - git merge master -s recursive -X ours -m "[skip ci] Merge branch 'master' into development" # only possible conflict is in VERSION file + - git push origin development # development is unchanged (as master is based on it) but has updated VERSION file + only: + - development + ################################################################################################### removeLock: stage: clean From eb7ef4d4eaa0bf90e94c9d8c343b9444cf4a1c1b Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 9 May 2017 13:50:21 +0200 Subject: [PATCH 08/32] runtime test now active --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 02c172417..38c5d829e 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 02c172417e5f170b8b00b1f4c4b65b7b7aeb310b +Subproject commit 38c5d829ee336afec8335ead1d7a509e073f2d03 From 9ffdf81e30c38be47493b55a476690fd60a4c2e8 Mon Sep 17 00:00:00 2001 From: Test User Date: Tue, 9 May 2017 20:13:08 +0200 Subject: [PATCH 09/32] [skip ci] updated version information after successful test of v2.0.1-700-geb7ef4d --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 66fa2ba89..7f7d75b9a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.1-691-gf6669a4 +v2.0.1-700-geb7ef4d From 25865d4b54dd893fb96765d317dbb786441a1350 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Wed, 10 May 2017 07:40:26 +0200 Subject: [PATCH 10/32] using asinh (defined in F2008) instead of equivalent formulation using log --- src/plastic_isotropic.f90 | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/src/plastic_isotropic.f90 b/src/plastic_isotropic.f90 index 5e3722e6a..a82b9c820 100644 --- a/src/plastic_isotropic.f90 +++ b/src/plastic_isotropic.f90 @@ -568,18 +568,13 @@ subroutine plastic_isotropic_dotState(Tstar_v,ipc,ip,el) if (dEq0(param(instance)%tausat_SinhFitA)) then saturation = param(instance)%tausat else - saturation = ( param(instance)%tausat & - + ( log( ( gamma_dot / param(instance)%tausat_SinhFitA& - )**(1.0_pReal / param(instance)%tausat_SinhFitD)& - + sqrt( ( gamma_dot / param(instance)%tausat_SinhFitA & - )**(2.0_pReal / param(instance)%tausat_SinhFitD) & - + 1.0_pReal ) & - ) & ! asinh(K) = ln(K + sqrt(K^2 +1)) + saturation = param(instance)%tausat & + + asinh( (gamma_dot / param(instance)%tausat_SinhFitA& + )**(1.0_pReal / param(instance)%tausat_SinhFitD)& )**(1.0_pReal / param(instance)%tausat_SinhFitC) & - / ( param(instance)%tausat_SinhFitB & - * (gamma_dot / param(instance)%gdot0)**(1.0_pReal / param(instance)%n) & - ) & - ) + / ( param(instance)%tausat_SinhFitB & + * (gamma_dot / param(instance)%gdot0)**(1.0_pReal / param(instance)%n) & + ) endif hardening = ( param(instance)%h0 + param(instance)%h0_slopeLnRate * log(gamma_dot) ) & * abs( 1.0_pReal - state(instance)%flowstress(of)/saturation )**param(instance)%a & From 7e15885efdedf79e45100849c8a54e3d4a70fc37 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 11 May 2017 07:10:55 +0200 Subject: [PATCH 11/32] incorporating Yannicks changes --- PRIVATE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRIVATE b/PRIVATE index 38c5d829e..bc2d351db 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 38c5d829ee336afec8335ead1d7a509e073f2d03 +Subproject commit bc2d351db9d0fdc08b879c63f2667af34a6aab8b From 6d4bb38f11c5e122011a129391f06d16d711bbdf Mon Sep 17 00:00:00 2001 From: Test User Date: Thu, 11 May 2017 20:34:13 +0200 Subject: [PATCH 12/32] [skip ci] updated version information after successful test of v2.0.1-703-g7e15885 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 7f7d75b9a..76e549d1d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.1-700-geb7ef4d +v2.0.1-703-g7e15885 From 5f90230dbd183c29ade98ac3180a4eb3756a7834 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Thu, 11 May 2017 21:02:10 +0200 Subject: [PATCH 13/32] last one cleans (for manual start after one stage failed) --- .gitlab-ci.yml | 13 +++++++------ PRIVATE | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a40a90ec9..3aa2bfb20 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -21,8 +21,8 @@ stages: ################################################################################################### before_script: - - if [ $(awk "/$CI_PIPELINE_ID/{print NR}" $HOME/GitLabCI.queue)x == 'x' ]; then echo $CI_PIPELINE_ID >> $HOME/GitLabCI.queue; fi - - while [ $(awk "/$CI_PIPELINE_ID/{print NR}" $HOME/GitLabCI.queue) -ne 1 ];do sleep 5m; done + - if [ $(awk "/$CI_PIPELINE_ID/{print NR}" $TESTROOT/GitLabCI.queue)x == 'x' ]; then echo $CI_PIPELINE_ID >> $TESTROOT/GitLabCI.queue; fi + - while [ $(awk "/$CI_PIPELINE_ID/{print NR}" $TESTROOT/GitLabCI.queue) -ne 1 ];do sleep 5m; done - source $DAMASKROOT/DAMASK_env.sh - cd $DAMASKROOT/PRIVATE/testing @@ -36,7 +36,7 @@ variables: #================================================================================================ # Shortcut names #================================================================================================ - DAMASKROOT: "$HOME/GitLabCI_Pipeline_$CI_PIPELINE_ID/DAMASK" + DAMASKROOT: "$TESTROOT/GitLabCI_Pipeline_$CI_PIPELINE_ID/DAMASK" #================================================================================================ # Names of module files to load @@ -82,8 +82,8 @@ variables: checkout: stage: prepareAll before_script: - - echo $CI_PIPELINE_ID >> $HOME/GitLabCI.queue - - while [ $(awk "/$CI_PIPELINE_ID/{print NR}" $HOME/GitLabCI.queue) -ne 1 ];do sleep 5m; done + - echo $CI_PIPELINE_ID >> $TESTROOT/GitLabCI.queue + - while [ $(awk "/$CI_PIPELINE_ID/{print NR}" $TESTROOT/GitLabCI.queue) -ne 1 ];do sleep 5m; done script: - mkdir -p $DAMASKROOT - cd $DAMASKROOT @@ -492,6 +492,7 @@ mergeIntoMaster: - git pull - git merge master -s recursive -X ours -m "[skip ci] Merge branch 'master' into development" # only possible conflict is in VERSION file - git push origin development # development is unchanged (as master is based on it) but has updated VERSION file + - sed -i "/$CI_PIPELINE_ID/d" $TESTROOT/GitLabCI.queue only: - development @@ -501,7 +502,7 @@ removeLock: before_script: - echo 'Do nothing' when: always - script: sed -i "/$CI_PIPELINE_ID/d" $HOME/GitLabCI.queue + script: sed -i "/$CI_PIPELINE_ID/d" $TESTROOT/GitLabCI.queue except: - master - release diff --git a/PRIVATE b/PRIVATE index bc2d351db..3ba3671e3 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit bc2d351db9d0fdc08b879c63f2667af34a6aab8b +Subproject commit 3ba3671e3d0ec9ac1dcc6a5521822b4828574581 From 464fafa736471e400a054c3f2afa1b49ee295d12 Mon Sep 17 00:00:00 2001 From: Test User Date: Fri, 12 May 2017 08:07:50 +0200 Subject: [PATCH 14/32] [skip ci] updated version information after successful test of v2.0.1-705-g5f90230 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 76e549d1d..239d87251 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.1-703-g7e15885 +v2.0.1-705-g5f90230 From c7632dcf427ad8a3703d4d48fb4291f55561d2bb Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Fri, 12 May 2017 09:39:33 +0200 Subject: [PATCH 15/32] storing documentation and results of runtime tests --- .gitlab-ci.yml | 33 ++++++++++++++++++++++++++++++--- PRIVATE | 2 +- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3aa2bfb20..b523aaf34 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -16,8 +16,10 @@ stages: - example - performance - createDocumentation + - saveDocumentation - updateMaster - clean + - releaseLock ################################################################################################### before_script: @@ -92,6 +94,7 @@ checkout: - git submodule update --init - source DAMASK_env.sh - make processing + - mkdir $BACKUP/$CI_COMMIT_SHA except: - master - release @@ -434,7 +437,7 @@ SpectralRuntime: - cd $DAMASKROOT - make clean spectral processing OPTIMIZATION=AGGRESSIVE - cd $DAMASKROOT/PRIVATE/testing - - SpectralAll_runtime/test.py + - SpectralAll_runtime/test.py -d $TESTROOT except: - master - release @@ -476,6 +479,19 @@ Spectral: - master - release +################################################################################################## +mergeIntoMaster: + stage: saveDocumentation + script: + - cp $TESTROOT/time.txt $BACKUP/$CI_COMMIT_SHA + - mv $TESTROOT/time.png $BACKUP/$CI_COMMIT_SHA + - cp $TESTROOT/time.txt $BACKUP/$CI_COMMIT_SHA + - mv $TESTROOT/time.png $BACKUP/$CI_COMMIT_SHA + - mv $DAMASKROOT/PRIVATE/documenting/DAMASK_* $BACKUP/$CI_COMMIT_SHA/ + except: + - master + - release + ################################################################################################## mergeIntoMaster: stage: updateMaster @@ -492,13 +508,24 @@ mergeIntoMaster: - git pull - git merge master -s recursive -X ours -m "[skip ci] Merge branch 'master' into development" # only possible conflict is in VERSION file - git push origin development # development is unchanged (as master is based on it) but has updated VERSION file - - sed -i "/$CI_PIPELINE_ID/d" $TESTROOT/GitLabCI.queue only: - development ################################################################################################### -removeLock: +removeData: stage: clean + before_script: + - echo 'Do nothing' + script: + - rm -rf $TESTROOT/GitLabCI_Pipeline_$CI_PIPELINE_ID + - sed -i "/$CI_PIPELINE_ID/d" $TESTROOT/GitLabCI.queue # in case pipeline was manually (web GUI) restarted and releaseLock was performed already + except: + - master + - release + +################################################################################################### +removeLock: + stage: releaseLock before_script: - echo 'Do nothing' when: always diff --git a/PRIVATE b/PRIVATE index 3ba3671e3..a629ee95c 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit 3ba3671e3d0ec9ac1dcc6a5521822b4828574581 +Subproject commit a629ee95c53924f2da16e8981855f9abcc1d50f7 From 393e7d58878dfdd04c14195c849f4428d2f30c90 Mon Sep 17 00:00:00 2001 From: Test User Date: Fri, 12 May 2017 18:28:28 +0200 Subject: [PATCH 16/32] [skip ci] updated version information after successful test of v2.0.1-707-gc7632dc --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 239d87251..a452662a1 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.1-705-g5f90230 +v2.0.1-707-gc7632dc From 1dfe6972652ab8b671ec8fb4821903d623d72c22 Mon Sep 17 00:00:00 2001 From: Test User Date: Sat, 13 May 2017 03:02:19 +0200 Subject: [PATCH 17/32] [skip ci] updated version information after successful test of v2.0.1-715-g5d58752 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index a452662a1..0b350382b 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.1-707-gc7632dc +v2.0.1-715-g5d58752 From 4437f7900033c574201944c519b8683453ba66b7 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 13 May 2017 16:27:11 +0200 Subject: [PATCH 18/32] wrong name cause 'backup' stage not to run --- .gitlab-ci.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b523aaf34..2701edcc0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -94,7 +94,6 @@ checkout: - git submodule update --init - source DAMASK_env.sh - make processing - - mkdir $BACKUP/$CI_COMMIT_SHA except: - master - release @@ -480,14 +479,15 @@ Spectral: - release ################################################################################################## -mergeIntoMaster: +backupData: stage: saveDocumentation script: - - cp $TESTROOT/time.txt $BACKUP/$CI_COMMIT_SHA - - mv $TESTROOT/time.png $BACKUP/$CI_COMMIT_SHA - - cp $TESTROOT/time.txt $BACKUP/$CI_COMMIT_SHA - - mv $TESTROOT/time.png $BACKUP/$CI_COMMIT_SHA - - mv $DAMASKROOT/PRIVATE/documenting/DAMASK_* $BACKUP/$CI_COMMIT_SHA/ + - mkdir $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA} + - cp $TESTROOT/time.txt $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ + - mv $TESTROOT/time.png $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ + - cp $TESTROOT/time.txt $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ + - mv $TESTROOT/time.png $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ + - mv $DAMASKROOT/PRIVATE/documenting/DAMASK_* $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ except: - master - release @@ -512,9 +512,9 @@ mergeIntoMaster: - development ################################################################################################### -removeData: +removeData: stage: clean - before_script: + before_script: - echo 'Do nothing' script: - rm -rf $TESTROOT/GitLabCI_Pipeline_$CI_PIPELINE_ID From eeed5c76417a14fe3431135c13f0b6d6be2d2050 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 13 May 2017 22:03:55 +0200 Subject: [PATCH 19/32] tried to adjust to Cereceda IJP paper --- .../Phase_DisloUCLA_Tungsten.config | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/examples/ConfigFiles/Phase_DisloUCLA_Tungsten.config b/examples/ConfigFiles/Phase_DisloUCLA_Tungsten.config index 6d7dd6859..d69a4b82a 100644 --- a/examples/ConfigFiles/Phase_DisloUCLA_Tungsten.config +++ b/examples/ConfigFiles/Phase_DisloUCLA_Tungsten.config @@ -29,21 +29,20 @@ SolidSolutionStrength 0.0 # Strength due to elements in solid solution #per family Nslip 12 0 slipburgers 2.72e-10 # Burgers vector of slip system [m] -rhoedge0 1.0e12 # Initial edge dislocation density [m/m**3] 1.0e12 +rhoedge0 1.0e12 # Initial edge dislocation density [m/m**3] rhoedgedip0 1.0 # Initial edged dipole dislocation density [m/m**3] -Qedge 2.725e-19 # Activation energy for dislocation glide [J] -v0 3693.4 # Initial glide velocity [m/s] 1.0e-4 (kmC 3693.4 ; 755.59) +Qedge 2.61154e-19 # Activation energy for dislocation glide [J], 1.63 eV +v0 1 # Initial glide velocity [m/s] p_slip 0.86 # p-exponent in glide velocity q_slip 1.69 # q-exponent in glide velocity tau_peierls 2.03e9 # peierls stress [Pa] #mobility law -kink_height 2.567e-10 # kink height sqrt(6)/3*lattice_parameter [m] -omega 9.1e11 # attemp frequency (from kMC paper) [s^(-1)] +kink_height 2.567e-10 # kink height sqrt(6)/3*lattice_parameter [m] +omega 9.1e11 # attemp frequency (from kMC paper) [s^(-1)] kink_width 29.95e-10 # kink pair width ~ 11 b (kMC paper) [m] -dislolength 78.0e-10 # dislocation length (ideally lambda) [m] initial value 25b -friction_coeff 8.3e-5 # friction coeff. B (kMC) [Pa*s] -# +dislolength 78e-10 # dislocation length (ideally lambda) [m] initial value 11b +friction_coeff 8.3e-5 # friction coeff. B [Pa*s] #hardening dipoleformationfactor 0 # to have hardening due to dipole formation off @@ -52,5 +51,5 @@ D0 4.0e-5 # Vacancy diffusion prefactor [m**2/ Qsd 4.5e-19 # Activation energy for climb [J] Catomicvolume 1.0 # Adj. parameter controlling the atomic volume [in b] Cedgedipmindistance 1.0 # Adj. parameter controlling the minimum dipole distance [in b] -interaction_slipslip 0.0625 0.0625 0.72 0.05 0.09 0.06 # Queyreau -#nonschmid_coefficients 0 0.56 0.75 0 0 0 #?????????????? +interaction_slipslip 0.009 0.009 0.72 0.05 009 006 +nonschmid_coefficients 0.938 0.71 4.43 0.0 0.0 0.0 From 4bcc57add7ead54ad18f02d093baf9aad8d1fd1b Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sun, 14 May 2017 08:48:54 +0200 Subject: [PATCH 20/32] typo, tried to copy time data again instead of memory data --- .gitlab-ci.yml | 4 ++-- PRIVATE | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2701edcc0..6eb527fbb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -485,8 +485,8 @@ backupData: - mkdir $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA} - cp $TESTROOT/time.txt $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ - mv $TESTROOT/time.png $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ - - cp $TESTROOT/time.txt $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ - - mv $TESTROOT/time.png $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ + - cp $TESTROOT/memory.txt $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ + - mv $TESTROOT/memory.png $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ - mv $DAMASKROOT/PRIVATE/documenting/DAMASK_* $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ except: - master diff --git a/PRIVATE b/PRIVATE index a629ee95c..19a53f622 160000 --- a/PRIVATE +++ b/PRIVATE @@ -1 +1 @@ -Subproject commit a629ee95c53924f2da16e8981855f9abcc1d50f7 +Subproject commit 19a53f6229603aeafb2466b58679a1cd04fc0142 From 4f3b0e4c34fb2503b9fda652d348884e010621a8 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 15 May 2017 06:45:53 +0200 Subject: [PATCH 21/32] symlinks should not be part of the repository --- src/DAMASK_marc2011.f90 | 1 - src/DAMASK_marc2012.f90 | 1 - src/DAMASK_marc2013.1.f90 | 1 - src/DAMASK_marc2013.f90 | 1 - src/DAMASK_marc2014.2.f90 | 1 - src/DAMASK_marc2014.f90 | 1 - src/DAMASK_marc2015.f90 | 1 - 7 files changed, 7 deletions(-) delete mode 120000 src/DAMASK_marc2011.f90 delete mode 120000 src/DAMASK_marc2012.f90 delete mode 120000 src/DAMASK_marc2013.1.f90 delete mode 120000 src/DAMASK_marc2013.f90 delete mode 120000 src/DAMASK_marc2014.2.f90 delete mode 120000 src/DAMASK_marc2014.f90 delete mode 120000 src/DAMASK_marc2015.f90 diff --git a/src/DAMASK_marc2011.f90 b/src/DAMASK_marc2011.f90 deleted file mode 120000 index 2c5bec706..000000000 --- a/src/DAMASK_marc2011.f90 +++ /dev/null @@ -1 +0,0 @@ -DAMASK_marc.f90 \ No newline at end of file diff --git a/src/DAMASK_marc2012.f90 b/src/DAMASK_marc2012.f90 deleted file mode 120000 index 2c5bec706..000000000 --- a/src/DAMASK_marc2012.f90 +++ /dev/null @@ -1 +0,0 @@ -DAMASK_marc.f90 \ No newline at end of file diff --git a/src/DAMASK_marc2013.1.f90 b/src/DAMASK_marc2013.1.f90 deleted file mode 120000 index 2c5bec706..000000000 --- a/src/DAMASK_marc2013.1.f90 +++ /dev/null @@ -1 +0,0 @@ -DAMASK_marc.f90 \ No newline at end of file diff --git a/src/DAMASK_marc2013.f90 b/src/DAMASK_marc2013.f90 deleted file mode 120000 index 2c5bec706..000000000 --- a/src/DAMASK_marc2013.f90 +++ /dev/null @@ -1 +0,0 @@ -DAMASK_marc.f90 \ No newline at end of file diff --git a/src/DAMASK_marc2014.2.f90 b/src/DAMASK_marc2014.2.f90 deleted file mode 120000 index 2c5bec706..000000000 --- a/src/DAMASK_marc2014.2.f90 +++ /dev/null @@ -1 +0,0 @@ -DAMASK_marc.f90 \ No newline at end of file diff --git a/src/DAMASK_marc2014.f90 b/src/DAMASK_marc2014.f90 deleted file mode 120000 index 2c5bec706..000000000 --- a/src/DAMASK_marc2014.f90 +++ /dev/null @@ -1 +0,0 @@ -DAMASK_marc.f90 \ No newline at end of file diff --git a/src/DAMASK_marc2015.f90 b/src/DAMASK_marc2015.f90 deleted file mode 120000 index 2c5bec706..000000000 --- a/src/DAMASK_marc2015.f90 +++ /dev/null @@ -1 +0,0 @@ -DAMASK_marc.f90 \ No newline at end of file From 73040c91c56be53d2b9022310f8e5f8087cba9b5 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 15 May 2017 07:42:48 +0200 Subject: [PATCH 22/32] comparison was done twice --- lib/damask/test/test.py | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/damask/test/test.py b/lib/damask/test/test.py index 1bb80a939..d67b31f72 100644 --- a/lib/damask/test/test.py +++ b/lib/damask/test/test.py @@ -99,7 +99,6 @@ class Test(): self.run(variant) self.postprocess(variant) - self.compare(variant) if self.options.update: if self.update(variant) != 0: logging.critical('update for "{}" failed.'.format(name)) From 9724c95f58de5a8f6a82ef3843735871749bc25d Mon Sep 17 00:00:00 2001 From: Test User Date: Mon, 15 May 2017 15:23:16 +0200 Subject: [PATCH 23/32] [skip ci] updated version information after successful test of v2.0.1-719-g4f3b0e4 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 0b350382b..e39f391eb 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.1-715-g5d58752 +v2.0.1-719-g4f3b0e4 From c813e98d22df5e742f5f85614b21e588c258b140 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 15 May 2017 17:40:49 +0200 Subject: [PATCH 24/32] clean root directory, symbolic links for transition compatibility --- DAMASK_env.csh | 66 +---------------------------- DAMASK_env.sh | 103 +-------------------------------------------- DAMASK_env.zsh | 91 +-------------------------------------- env/DAMASK_env.csh | 65 ++++++++++++++++++++++++++++ env/DAMASK_env.sh | 102 ++++++++++++++++++++++++++++++++++++++++++++ env/DAMASK_env.zsh | 90 +++++++++++++++++++++++++++++++++++++++ 6 files changed, 260 insertions(+), 257 deletions(-) mode change 100644 => 120000 DAMASK_env.csh mode change 100644 => 120000 DAMASK_env.sh mode change 100644 => 120000 DAMASK_env.zsh create mode 100644 env/DAMASK_env.csh create mode 100644 env/DAMASK_env.sh create mode 100644 env/DAMASK_env.zsh diff --git a/DAMASK_env.csh b/DAMASK_env.csh deleted file mode 100644 index 81d4de421..000000000 --- a/DAMASK_env.csh +++ /dev/null @@ -1,65 +0,0 @@ -# sets up an environment for DAMASK on tcsh -# usage: source DAMASK_env.csh - -set CALLED=($_) -set DIRNAME=`dirname $CALLED[2]` -set DAMASK_ROOT=`python -c "import os,sys; print(os.path.realpath(os.path.expanduser(sys.argv[1])))" $DIRNAME` - -source $DAMASK_ROOT/CONFIG - -# if DAMASK_BIN is present and not in $PATH, add it -if ( $?DAMASK_BIN) then - set MATCH=`echo :${PATH}: | grep ${DAMASK_BIN}:` - if ( "x$MATCH" == "x" ) then - set PATH=${DAMASK_BIN}:${PATH} - endif -endif - -set SOLVER=`which DAMASK_spectral` -set PROCESSING=`which postResults` -if ( "x$DAMASK_NUM_THREADS" == "x" ) then - set DAMASK_NUM_THREADS=1 -endif - -# according to http://software.intel.com/en-us/forums/topic/501500 -# this seems to make sense for the stack size -if ( `which free` != "free: Command not found." ) then - set freeMem=`free -k | grep -E '(Mem|Speicher):' | awk '{print $4;}'` - set heap=` expr $freeMem / 2` - set stack=`expr $freeMem / $DAMASK_NUM_THREADS / 2` - # http://superuser.com/questions/220059/what-parameters-has-ulimit - limit datasize $heap # maximum heap size (kB) - limit stacksize $stack # maximum stack size (kB) -endif -if ( `limit | grep memoryuse` != "" ) then - limit memoryuse unlimited # maximum physical memory size -endif -if ( `limit | grep vmemoryuse` != "" ) then - limit vmemoryuse unlimited # maximum virtual memory size -endif - -# disable output in case of scp -if ( $?prompt ) then - echo '' - echo Düsseldorf Advanced Materials Simulation Kit --- DAMASK - echo Max-Planck-Institut für Eisenforschung GmbH, Düsseldorf - echo https://damask.mpie.de - echo - echo Using environment with ... - echo "DAMASK $DAMASK_ROOT" - echo "Spectral Solver $SOLVER" - echo "Post Processing $PROCESSING" - echo "Multithreading DAMASK_NUM_THREADS=$DAMASK_NUM_THREADS" - if ( $?PETSC_DIR) then - echo "PETSc location $PETSC_DIR" - endif - if ( $?MSC_ROOT) then - echo "MSC.Marc/Mentat $MSC_ROOT" - endif - echo - echo `limit datasize` - echo `limit stacksize` -endif - -setenv DAMASK_NUM_THREADS $DAMASK_NUM_THREADS -setenv PYTHONPATH $DAMASK_ROOT/lib:$PYTHONPATH diff --git a/DAMASK_env.csh b/DAMASK_env.csh new file mode 120000 index 000000000..4535015d8 --- /dev/null +++ b/DAMASK_env.csh @@ -0,0 +1 @@ +env/DAMASK_env.csh \ No newline at end of file diff --git a/DAMASK_env.sh b/DAMASK_env.sh deleted file mode 100644 index 264ae9c94..000000000 --- a/DAMASK_env.sh +++ /dev/null @@ -1,102 +0,0 @@ -# sets up an environment for DAMASK on bash -# usage: source DAMASK_env.sh - - -if [ "$OSTYPE" == "linux-gnu" ] || [ "$OSTYPE" == 'linux' ]; then - DAMASK_ROOT=$(python -c "import os,sys; print(os.path.realpath(os.path.expanduser(sys.argv[1])))" "$(dirname $BASH_SOURCE)") -else - [[ "${BASH_SOURCE::1}" == "/" ]] && BASE="" || BASE="$(pwd)/" - STAT=$(stat "$(dirname $BASE$BASH_SOURCE)") - DAMASK_ROOT=${STAT##* } -fi - -# shorthand command to change to DAMASK_ROOT directory -eval "function damask() { cd $DAMASK_ROOT; }" - -# defining set() allows to source the same file for tcsh and bash, with and without space around = -set() { - export $1$2$3 - } -source $DAMASK_ROOT/CONFIG -unset -f set - -# add DAMASK_BIN if present but not yet in $PATH -if [[ "x$DAMASK_BIN" != "x" && ! $(echo ":$PATH:" | grep $DAMASK_BIN:) ]]; then - export PATH=$DAMASK_BIN:$PATH -fi - -SOLVER=$(which DAMASK_spectral || true 2>/dev/null) -if [ "x$SOLVER" == "x" ]; then - SOLVER='Not found!' -fi -PROCESSING=$(which postResults || true 2>/dev/null) -if [ "x$PROCESSING" == "x" ]; then - PROCESSING='Not found!' -fi -if [ "x$DAMASK_NUM_THREADS" == "x" ]; then - DAMASK_NUM_THREADS=1 -fi - -# according to http://software.intel.com/en-us/forums/topic/501500 -# this seems to make sense for the stack size -FREE=$(type -p free 2>/dev/null) -if [ "x$FREE" != "x" ]; then - freeMem=$(free -k | grep -E '(Mem|Speicher):' | awk '{print $4;}') - # http://superuser.com/questions/220059/what-parameters-has-ulimit - ulimit -d unlimited 2>/dev/null \ - || ulimit -d $(expr $freeMem / 2) 2>/dev/null # maximum heap size (kB) - ulimit -s unlimited 2>/dev/null \ - || ulimit -s $(expr $freeMem / $DAMASK_NUM_THREADS / 2) 2>/dev/null # maximum stack size (kB) -fi -ulimit -v unlimited 2>/dev/null # maximum virtual memory size -ulimit -m unlimited 2>/dev/null # maximum physical memory size - -# disable output in case of scp -if [ ! -z "$PS1" ]; then - echo - echo Düsseldorf Advanced Materials Simulation Kit --- DAMASK - echo Max-Planck-Institut für Eisenforschung GmbH, Düsseldorf - echo https://damask.mpie.de - echo - echo Using environment with ... - echo "DAMASK $DAMASK_ROOT" - echo "Spectral Solver $SOLVER" - echo "Post Processing $PROCESSING" - echo "Multithreading DAMASK_NUM_THREADS=$DAMASK_NUM_THREADS" - if [ "x$PETSC_DIR" != "x" ]; then - echo "PETSc location $PETSC_DIR" - [[ $(python -c "import os,sys; print(os.path.realpath(os.path.expanduser(sys.argv[1])))" "$PETSC_DIR") == $PETSC_DIR ]] \ - || echo " ~~> "$(python -c "import os,sys; print(os.path.realpath(os.path.expanduser(sys.argv[1])))" "$PETSC_DIR") - fi - echo "MSC.Marc/Mentat $MSC_ROOT" - echo - echo -n "heap size " - [[ "$(ulimit -d)" == "unlimited" ]] \ - && echo "unlimited" \ - || echo $(python -c \ - "import math; \ - size=$(( 1024*$(ulimit -d) )); \ - print('{:.4g} {}'.format(size / (1 << ((int(math.log(size,2) / 10) if size else 0) * 10)), \ - ['bytes','KiB','MiB','GiB','TiB','EiB','ZiB'][int(math.log(size,2) / 10) if size else 0]))") - echo -n "stack size " - [[ "$(ulimit -s)" == "unlimited" ]] \ - && echo "unlimited" \ - || echo $(python -c \ - "import math; \ - size=$(( 1024*$(ulimit -s) )); \ - print('{:.4g} {}'.format(size / (1 << ((int(math.log(size,2) / 10) if size else 0) * 10)), \ - ['bytes','KiB','MiB','GiB','TiB','EiB','ZiB'][int(math.log(size,2) / 10) if size else 0]))") -fi - -export DAMASK_NUM_THREADS -export PYTHONPATH=$DAMASK_ROOT/lib:$PYTHONPATH - -for var in BASE STAT SOLVER PROCESSING FREE DAMASK_BIN; do - unset "${var}" -done -for var in DAMASK MSC; do - unset "${var}_ROOT" -done -for var in ABAQUS MARC; do - unset "${var}_VERSION" -done diff --git a/DAMASK_env.sh b/DAMASK_env.sh new file mode 120000 index 000000000..e49b7df7c --- /dev/null +++ b/DAMASK_env.sh @@ -0,0 +1 @@ +env/DAMASK_env.sh \ No newline at end of file diff --git a/DAMASK_env.zsh b/DAMASK_env.zsh deleted file mode 100644 index 9098352bf..000000000 --- a/DAMASK_env.zsh +++ /dev/null @@ -1,90 +0,0 @@ -# sets up an environment for DAMASK on zsh -# usage: source DAMASK_env.zsh - -DAMASK_ROOT=${0:a:h} - -# shorthand command to change to DAMASK_ROOT directory -eval "function damask() { cd $DAMASK_ROOT; }" - -# defining set() allows to source the same file for tcsh and zsh, with and without space around = -set() { - export $1$2$3 - } -source $DAMASK_ROOT/CONFIG -unset -f set - -# add DAMASK_BIN if present but not yet in $PATH -MATCH=`echo ":$PATH:" | grep $DAMASK_BIN:` -if [[ ( "x$DAMASK_BIN" != "x" ) && ( "x$MATCH" = "x" ) ]]; then - export PATH=$DAMASK_BIN:$PATH -fi - -SOLVER=`which DAMASK_spectral || True 2>/dev/null` -PROCESSING=`which postResults || True 2>/dev/null` -if [ "x$DAMASK_NUM_THREADS" = "x" ]; then - DAMASK_NUM_THREADS=1 -fi - -# according to http://software.intel.com/en-us/forums/topic/501500 -# this seems to make sense for the stack size -if [ "`which free 2>/dev/null`" != "free not found" ]; then - freeMem=`free -k | grep -E '(Mem|Speicher):' | awk '{print $4;}'` - - # http://superuser.com/questions/220059/what-parameters-has-ulimit - #ulimit -d `expr $freeMem / 2` 2>/dev/null # maximum heap size (kB) - ulimit -s `expr $freeMem / $DAMASK_NUM_THREADS / 2` 2>/dev/null # maximum stack size (kB) -fi -ulimit -v unlimited 2>/dev/null # maximum virtual memory size -ulimit -m unlimited 2>/dev/null # maximum physical memory size - -# disable output in case of scp -if [ ! -z "$PS1" ]; then - echo - echo Düsseldorf Advanced Materials Simulation Kit --- DAMASK - echo Max-Planck-Institut für Eisenforschung GmbH, Düsseldorf - echo https://damask.mpie.de - echo - echo "Using environment with ..." - echo "DAMASK $DAMASK_ROOT" - echo "Spectral Solver $SOLVER" - echo "Post Processing $PROCESSING" - echo "Multithreading DAMASK_NUM_THREADS=$DAMASK_NUM_THREADS" - if [ "x$PETSC_DIR" != "x" ]; then - echo "PETSc location $PETSC_DIR" - [[ $(python -c "import os,sys; print(os.path.realpath(os.path.expanduser(sys.argv[1])))" "$PETSC_DIR") == $PETSC_DIR ]] \ - || echo " ~~> "$(python -c "import os,sys; print(os.path.realpath(os.path.expanduser(sys.argv[1])))" "$PETSC_DIR") - fi - [[ "x$PETSC_ARCH" == "x" ]] \ - || echo "PETSc architecture $PETSC_ARCH" - echo "MSC.Marc/Mentat $MSC_ROOT" - echo - echo -n "heap size " - [[ "$(ulimit -d)" == "unlimited" ]] \ - && echo "unlimited" \ - || echo $(python -c \ - "import math; \ - size=$(( 1024*$(ulimit -d) )); \ - print('{:.4g} {}'.format(size / (1 << ((int(math.log(size,2) / 10) if size else 0) * 10)), \ - ['bytes','KiB','MiB','GiB','TiB','EiB','ZiB'][int(math.log(size,2) / 10) if size else 0]))") - echo -n "stack size " - [[ "$(ulimit -s)" == "unlimited" ]] \ - && echo "unlimited" \ - || echo $(python -c \ - "import math; \ - size=$(( 1024*$(ulimit -s) )); \ - print('{:.4g} {}'.format(size / (1 << ((int(math.log(size,2) / 10) if size else 0) * 10)), \ - ['bytes','KiB','MiB','GiB','TiB','EiB','ZiB'][int(math.log(size,2) / 10) if size else 0]))") -fi - -export DAMASK_NUM_THREADS -export PYTHONPATH=$DAMASK_ROOT/lib:$PYTHONPATH - -for var in BASE STAT SOLVER PROCESSING FREE DAMASK_BIN MATCH; do - unset "${var}" -done -for var in DAMASK MSC; do - unset "${var}_ROOT" -done -for var in ABAQUS MARC; do - unset "${var}_VERSION" -done diff --git a/DAMASK_env.zsh b/DAMASK_env.zsh new file mode 120000 index 000000000..22da3bd4d --- /dev/null +++ b/DAMASK_env.zsh @@ -0,0 +1 @@ +env/DAMASK_env.zsh \ No newline at end of file diff --git a/env/DAMASK_env.csh b/env/DAMASK_env.csh new file mode 100644 index 000000000..81d4de421 --- /dev/null +++ b/env/DAMASK_env.csh @@ -0,0 +1,65 @@ +# sets up an environment for DAMASK on tcsh +# usage: source DAMASK_env.csh + +set CALLED=($_) +set DIRNAME=`dirname $CALLED[2]` +set DAMASK_ROOT=`python -c "import os,sys; print(os.path.realpath(os.path.expanduser(sys.argv[1])))" $DIRNAME` + +source $DAMASK_ROOT/CONFIG + +# if DAMASK_BIN is present and not in $PATH, add it +if ( $?DAMASK_BIN) then + set MATCH=`echo :${PATH}: | grep ${DAMASK_BIN}:` + if ( "x$MATCH" == "x" ) then + set PATH=${DAMASK_BIN}:${PATH} + endif +endif + +set SOLVER=`which DAMASK_spectral` +set PROCESSING=`which postResults` +if ( "x$DAMASK_NUM_THREADS" == "x" ) then + set DAMASK_NUM_THREADS=1 +endif + +# according to http://software.intel.com/en-us/forums/topic/501500 +# this seems to make sense for the stack size +if ( `which free` != "free: Command not found." ) then + set freeMem=`free -k | grep -E '(Mem|Speicher):' | awk '{print $4;}'` + set heap=` expr $freeMem / 2` + set stack=`expr $freeMem / $DAMASK_NUM_THREADS / 2` + # http://superuser.com/questions/220059/what-parameters-has-ulimit + limit datasize $heap # maximum heap size (kB) + limit stacksize $stack # maximum stack size (kB) +endif +if ( `limit | grep memoryuse` != "" ) then + limit memoryuse unlimited # maximum physical memory size +endif +if ( `limit | grep vmemoryuse` != "" ) then + limit vmemoryuse unlimited # maximum virtual memory size +endif + +# disable output in case of scp +if ( $?prompt ) then + echo '' + echo Düsseldorf Advanced Materials Simulation Kit --- DAMASK + echo Max-Planck-Institut für Eisenforschung GmbH, Düsseldorf + echo https://damask.mpie.de + echo + echo Using environment with ... + echo "DAMASK $DAMASK_ROOT" + echo "Spectral Solver $SOLVER" + echo "Post Processing $PROCESSING" + echo "Multithreading DAMASK_NUM_THREADS=$DAMASK_NUM_THREADS" + if ( $?PETSC_DIR) then + echo "PETSc location $PETSC_DIR" + endif + if ( $?MSC_ROOT) then + echo "MSC.Marc/Mentat $MSC_ROOT" + endif + echo + echo `limit datasize` + echo `limit stacksize` +endif + +setenv DAMASK_NUM_THREADS $DAMASK_NUM_THREADS +setenv PYTHONPATH $DAMASK_ROOT/lib:$PYTHONPATH diff --git a/env/DAMASK_env.sh b/env/DAMASK_env.sh new file mode 100644 index 000000000..264ae9c94 --- /dev/null +++ b/env/DAMASK_env.sh @@ -0,0 +1,102 @@ +# sets up an environment for DAMASK on bash +# usage: source DAMASK_env.sh + + +if [ "$OSTYPE" == "linux-gnu" ] || [ "$OSTYPE" == 'linux' ]; then + DAMASK_ROOT=$(python -c "import os,sys; print(os.path.realpath(os.path.expanduser(sys.argv[1])))" "$(dirname $BASH_SOURCE)") +else + [[ "${BASH_SOURCE::1}" == "/" ]] && BASE="" || BASE="$(pwd)/" + STAT=$(stat "$(dirname $BASE$BASH_SOURCE)") + DAMASK_ROOT=${STAT##* } +fi + +# shorthand command to change to DAMASK_ROOT directory +eval "function damask() { cd $DAMASK_ROOT; }" + +# defining set() allows to source the same file for tcsh and bash, with and without space around = +set() { + export $1$2$3 + } +source $DAMASK_ROOT/CONFIG +unset -f set + +# add DAMASK_BIN if present but not yet in $PATH +if [[ "x$DAMASK_BIN" != "x" && ! $(echo ":$PATH:" | grep $DAMASK_BIN:) ]]; then + export PATH=$DAMASK_BIN:$PATH +fi + +SOLVER=$(which DAMASK_spectral || true 2>/dev/null) +if [ "x$SOLVER" == "x" ]; then + SOLVER='Not found!' +fi +PROCESSING=$(which postResults || true 2>/dev/null) +if [ "x$PROCESSING" == "x" ]; then + PROCESSING='Not found!' +fi +if [ "x$DAMASK_NUM_THREADS" == "x" ]; then + DAMASK_NUM_THREADS=1 +fi + +# according to http://software.intel.com/en-us/forums/topic/501500 +# this seems to make sense for the stack size +FREE=$(type -p free 2>/dev/null) +if [ "x$FREE" != "x" ]; then + freeMem=$(free -k | grep -E '(Mem|Speicher):' | awk '{print $4;}') + # http://superuser.com/questions/220059/what-parameters-has-ulimit + ulimit -d unlimited 2>/dev/null \ + || ulimit -d $(expr $freeMem / 2) 2>/dev/null # maximum heap size (kB) + ulimit -s unlimited 2>/dev/null \ + || ulimit -s $(expr $freeMem / $DAMASK_NUM_THREADS / 2) 2>/dev/null # maximum stack size (kB) +fi +ulimit -v unlimited 2>/dev/null # maximum virtual memory size +ulimit -m unlimited 2>/dev/null # maximum physical memory size + +# disable output in case of scp +if [ ! -z "$PS1" ]; then + echo + echo Düsseldorf Advanced Materials Simulation Kit --- DAMASK + echo Max-Planck-Institut für Eisenforschung GmbH, Düsseldorf + echo https://damask.mpie.de + echo + echo Using environment with ... + echo "DAMASK $DAMASK_ROOT" + echo "Spectral Solver $SOLVER" + echo "Post Processing $PROCESSING" + echo "Multithreading DAMASK_NUM_THREADS=$DAMASK_NUM_THREADS" + if [ "x$PETSC_DIR" != "x" ]; then + echo "PETSc location $PETSC_DIR" + [[ $(python -c "import os,sys; print(os.path.realpath(os.path.expanduser(sys.argv[1])))" "$PETSC_DIR") == $PETSC_DIR ]] \ + || echo " ~~> "$(python -c "import os,sys; print(os.path.realpath(os.path.expanduser(sys.argv[1])))" "$PETSC_DIR") + fi + echo "MSC.Marc/Mentat $MSC_ROOT" + echo + echo -n "heap size " + [[ "$(ulimit -d)" == "unlimited" ]] \ + && echo "unlimited" \ + || echo $(python -c \ + "import math; \ + size=$(( 1024*$(ulimit -d) )); \ + print('{:.4g} {}'.format(size / (1 << ((int(math.log(size,2) / 10) if size else 0) * 10)), \ + ['bytes','KiB','MiB','GiB','TiB','EiB','ZiB'][int(math.log(size,2) / 10) if size else 0]))") + echo -n "stack size " + [[ "$(ulimit -s)" == "unlimited" ]] \ + && echo "unlimited" \ + || echo $(python -c \ + "import math; \ + size=$(( 1024*$(ulimit -s) )); \ + print('{:.4g} {}'.format(size / (1 << ((int(math.log(size,2) / 10) if size else 0) * 10)), \ + ['bytes','KiB','MiB','GiB','TiB','EiB','ZiB'][int(math.log(size,2) / 10) if size else 0]))") +fi + +export DAMASK_NUM_THREADS +export PYTHONPATH=$DAMASK_ROOT/lib:$PYTHONPATH + +for var in BASE STAT SOLVER PROCESSING FREE DAMASK_BIN; do + unset "${var}" +done +for var in DAMASK MSC; do + unset "${var}_ROOT" +done +for var in ABAQUS MARC; do + unset "${var}_VERSION" +done diff --git a/env/DAMASK_env.zsh b/env/DAMASK_env.zsh new file mode 100644 index 000000000..9098352bf --- /dev/null +++ b/env/DAMASK_env.zsh @@ -0,0 +1,90 @@ +# sets up an environment for DAMASK on zsh +# usage: source DAMASK_env.zsh + +DAMASK_ROOT=${0:a:h} + +# shorthand command to change to DAMASK_ROOT directory +eval "function damask() { cd $DAMASK_ROOT; }" + +# defining set() allows to source the same file for tcsh and zsh, with and without space around = +set() { + export $1$2$3 + } +source $DAMASK_ROOT/CONFIG +unset -f set + +# add DAMASK_BIN if present but not yet in $PATH +MATCH=`echo ":$PATH:" | grep $DAMASK_BIN:` +if [[ ( "x$DAMASK_BIN" != "x" ) && ( "x$MATCH" = "x" ) ]]; then + export PATH=$DAMASK_BIN:$PATH +fi + +SOLVER=`which DAMASK_spectral || True 2>/dev/null` +PROCESSING=`which postResults || True 2>/dev/null` +if [ "x$DAMASK_NUM_THREADS" = "x" ]; then + DAMASK_NUM_THREADS=1 +fi + +# according to http://software.intel.com/en-us/forums/topic/501500 +# this seems to make sense for the stack size +if [ "`which free 2>/dev/null`" != "free not found" ]; then + freeMem=`free -k | grep -E '(Mem|Speicher):' | awk '{print $4;}'` + + # http://superuser.com/questions/220059/what-parameters-has-ulimit + #ulimit -d `expr $freeMem / 2` 2>/dev/null # maximum heap size (kB) + ulimit -s `expr $freeMem / $DAMASK_NUM_THREADS / 2` 2>/dev/null # maximum stack size (kB) +fi +ulimit -v unlimited 2>/dev/null # maximum virtual memory size +ulimit -m unlimited 2>/dev/null # maximum physical memory size + +# disable output in case of scp +if [ ! -z "$PS1" ]; then + echo + echo Düsseldorf Advanced Materials Simulation Kit --- DAMASK + echo Max-Planck-Institut für Eisenforschung GmbH, Düsseldorf + echo https://damask.mpie.de + echo + echo "Using environment with ..." + echo "DAMASK $DAMASK_ROOT" + echo "Spectral Solver $SOLVER" + echo "Post Processing $PROCESSING" + echo "Multithreading DAMASK_NUM_THREADS=$DAMASK_NUM_THREADS" + if [ "x$PETSC_DIR" != "x" ]; then + echo "PETSc location $PETSC_DIR" + [[ $(python -c "import os,sys; print(os.path.realpath(os.path.expanduser(sys.argv[1])))" "$PETSC_DIR") == $PETSC_DIR ]] \ + || echo " ~~> "$(python -c "import os,sys; print(os.path.realpath(os.path.expanduser(sys.argv[1])))" "$PETSC_DIR") + fi + [[ "x$PETSC_ARCH" == "x" ]] \ + || echo "PETSc architecture $PETSC_ARCH" + echo "MSC.Marc/Mentat $MSC_ROOT" + echo + echo -n "heap size " + [[ "$(ulimit -d)" == "unlimited" ]] \ + && echo "unlimited" \ + || echo $(python -c \ + "import math; \ + size=$(( 1024*$(ulimit -d) )); \ + print('{:.4g} {}'.format(size / (1 << ((int(math.log(size,2) / 10) if size else 0) * 10)), \ + ['bytes','KiB','MiB','GiB','TiB','EiB','ZiB'][int(math.log(size,2) / 10) if size else 0]))") + echo -n "stack size " + [[ "$(ulimit -s)" == "unlimited" ]] \ + && echo "unlimited" \ + || echo $(python -c \ + "import math; \ + size=$(( 1024*$(ulimit -s) )); \ + print('{:.4g} {}'.format(size / (1 << ((int(math.log(size,2) / 10) if size else 0) * 10)), \ + ['bytes','KiB','MiB','GiB','TiB','EiB','ZiB'][int(math.log(size,2) / 10) if size else 0]))") +fi + +export DAMASK_NUM_THREADS +export PYTHONPATH=$DAMASK_ROOT/lib:$PYTHONPATH + +for var in BASE STAT SOLVER PROCESSING FREE DAMASK_BIN MATCH; do + unset "${var}" +done +for var in DAMASK MSC; do + unset "${var}_ROOT" +done +for var in ABAQUS MARC; do + unset "${var}_VERSION" +done From 1f1a1826a131e85a44306c79333d10c856494cc9 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Mon, 15 May 2017 21:53:25 +0200 Subject: [PATCH 25/32] string length was wrong, IO_warning now also with new style --- src/IO.f90 | 93 ++++++++++++++++++++++++------------------------------ 1 file changed, 42 insertions(+), 51 deletions(-) diff --git a/src/IO.f90 b/src/IO.f90 index 452bc0588..3d80feefa 100644 --- a/src/IO.f90 +++ b/src/IO.f90 @@ -14,10 +14,11 @@ module IO private character(len=5), parameter, public :: & IO_EOF = '#EOF#' !< end of file string - character(len=168), parameter, private :: & - IO_divider = '───────────────────'//& + character(len=207), parameter, private :: & + IO_DIVIDER = '───────────────────'//& '───────────────────'//& - '──────────────────' + '───────────────────'//& + '────────────' public :: & IO_init, & IO_read, & @@ -1457,11 +1458,11 @@ end function IO_timeStamp !> @brief write error statements to standard out and terminate the Marc/spectral run with exit #9xxx !> in ABAQUS either time step is reduced or execution terminated !-------------------------------------------------------------------------------------------------- -subroutine IO_error(error_ID,el,ip,g,ext_msg) +subroutine IO_error(error_ID,el,ip,g,instance,ext_msg) implicit none integer(pInt), intent(in) :: error_ID - integer(pInt), optional, intent(in) :: el,ip,g + integer(pInt), optional, intent(in) :: el,ip,g,instance character(len=*), optional, intent(in) :: ext_msg external :: quit @@ -1672,34 +1673,28 @@ subroutine IO_error(error_ID,el,ip,g,ext_msg) end select !$OMP CRITICAL (write2out) - write(0,'(/,a)') ' ┌'//IO_divider//'┐' - write(0,'(a)') ' │ error │' - write(0,'(a)') ' ├'//IO_divider//'┤' - write(0,'(a,i3,a)') ' │ ',error_ID,' │' - write(0,'(a)') ' │ │' + write(0,'(/,a)') ' ┌'//IO_DIVIDER//'┐' + write(0,'(a,24x,a,40x,a)') ' │','error', '│' + write(0,'(a,24x,i3,42x,a)') ' │',error_ID, '│' + write(0,'(a)') ' ├'//IO_DIVIDER//'┤' write(formatString,'(a,i6.6,a,i6.6,a)') '(1x,a4,a',max(1,len(trim(msg))),',',& - max(1,60-len(trim(msg))-5),'x,a)' - write(0,formatString) '│ ',trim(msg),'│' + max(1,72-len(trim(msg))-4),'x,a)' + write(0,formatString) '│ ',trim(msg), '│' if (present(ext_msg)) then write(formatString,'(a,i6.6,a,i6.6,a)') '(1x,a4,a',max(1,len(trim(ext_msg))),',',& - max(1,60-len(trim(ext_msg))-5),'x,a)' - write(0,formatString) '│ ',trim(ext_msg),'│' + max(1,72-len(trim(ext_msg))-4),'x,a)' + write(0,formatString) '│ ',trim(ext_msg), '│' endif - if (present(el)) then - if (present(ip)) then - if (present(g)) then - write(0,'(a13,1x,i9,1x,a2,1x,i2,1x,a5,1x,i4,18x,a1)') ' │ at element',el,'IP',ip,'grain',g,'│' - else - write(0,'(a13,1x,i9,1x,a2,1x,i2,29x,a1)') ' │ at element',el,'IP',ip,'│' - endif - else - write(0,'(a13,1x,i9,35x,a1)') ' │ at element',el,'│' - endif - elseif (present(ip)) then ! now having the meaning of "instance" - write(0,'(a14,1x,i9,34x,a1)') ' │ at instance',ip,'│' - endif - write(0,'(a)') ' │ │' - write(0,'(a)') ' └'//IO_divider//'┘' + if (present(el)) & + write(0,'(a19,1x,i9,44x,a3)') ' │ at element ',el, '│' + if (present(ip)) & + write(0,'(a19,1x,i9,44x,a3)') ' │ at IP ',ip, '│' + if (present(g)) & + write(0,'(a19,1x,i9,44x,a3)') ' │ at constituent',g, '│' + if (present(instance)) & + write(0,'(a19,1x,i9,44x,a3)') ' │ at instance ',instance, '│' + write(0,'(a,69x,a)') ' │', '│' + write(0,'(a)') ' └'//IO_DIVIDER//'┘' flush(0) call quit(9000_pInt+error_ID) !$OMP END CRITICAL (write2out) @@ -1766,30 +1761,26 @@ subroutine IO_warning(warning_ID,el,ip,g,ext_msg) end select !$OMP CRITICAL (write2out) - write(6,'(/,a)') ' +--------------------------------------------------------+' - write(6,'(a)') ' + warning +' - write(6,'(a,i3,a)') ' + ',warning_ID,' +' - write(6,'(a)') ' + +' - write(formatString,'(a,i6.6,a,i6.6,a)') '(1x,a2,a',max(1,len(trim(msg))),',',& - max(1,60-len(trim(msg))-5),'x,a)' - write(6,formatString) '+ ', trim(msg),'+' + write(6,'(/,a)') ' ┌'//IO_DIVIDER//'┐' + write(6,'(a,24x,a,38x,a)') ' │','warning', '│' + write(6,'(a,24x,i3,42x,a)') ' │',warning_ID, '│' + write(6,'(a)') ' ├'//IO_DIVIDER//'┤' + write(formatString,'(a,i6.6,a,i6.6,a)') '(1x,a4,a',max(1,len(trim(msg))),',',& + max(1,72-len(trim(msg))-4),'x,a)' + write(6,formatString) '│ ',trim(msg), '│' if (present(ext_msg)) then - write(formatString,'(a,i6.6,a,i6.6,a)') '(1x,a2,a',max(1,len(trim(ext_msg))),',',& - max(1,60-len(trim(ext_msg))-5),'x,a)' - write(6,formatString) '+ ', trim(ext_msg),'+' + write(formatString,'(a,i6.6,a,i6.6,a)') '(1x,a4,a',max(1,len(trim(ext_msg))),',',& + max(1,72-len(trim(ext_msg))-4),'x,a)' + write(6,formatString) '│ ',trim(ext_msg), '│' endif - if (present(el)) then - if (present(ip)) then - if (present(g)) then - write(6,'(a13,1x,i9,1x,a2,1x,i2,1x,a5,1x,i4,18x,a1)') ' + at element',el,'IP',ip,'grain',g,'+' - else - write(6,'(a13,1x,i9,1x,a2,1x,i2,29x,a1)') ' + at element',el,'IP',ip,'+' - endif - else - write(6,'(a13,1x,i9,35x,a1)') ' + at element',el,'+' - endif - endif - write(6,'(a)') ' +--------------------------------------------------------+' + if (present(el)) & + write(6,'(a19,1x,i9,44x,a3)') ' │ at element ',el, '│' + if (present(ip)) & + write(6,'(a19,1x,i9,44x,a3)') ' │ at IP ',ip, '│' + if (present(g)) & + write(6,'(a19,1x,i9,44x,a3)') ' │ at constituent',g, '│' + write(6,'(a,69x,a)') ' │', '│' + write(6,'(a)') ' └'//IO_DIVIDER//'┘' flush(6) !$OMP END CRITICAL (write2out) From 5118111ed9ee71eb9bbf2e6d8bda125700c31fb7 Mon Sep 17 00:00:00 2001 From: Test User Date: Tue, 16 May 2017 00:29:10 +0200 Subject: [PATCH 26/32] [skip ci] updated version information after successful test of v2.0.1-722-g3633a03 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index e39f391eb..742dc6632 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.1-719-g4f3b0e4 +v2.0.1-722-g3633a03 From f9375f432582e058d1095477a179f5ccb81526b4 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 16 May 2017 03:16:27 +0200 Subject: [PATCH 27/32] backup runtime measurements and documentation only for development --- .gitlab-ci.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6eb527fbb..0084e70b5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -488,9 +488,8 @@ backupData: - cp $TESTROOT/memory.txt $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ - mv $TESTROOT/memory.png $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ - mv $DAMASKROOT/PRIVATE/documenting/DAMASK_* $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ - except: - - master - - release + only: + - development ################################################################################################## mergeIntoMaster: From 629a30b1a89e4c9a845c756a1be009a80afdca30 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 16 May 2017 06:28:46 +0200 Subject: [PATCH 28/32] saving runtime results only for development branch --- .gitlab-ci.yml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0084e70b5..709655863 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -435,8 +435,10 @@ SpectralRuntime: - module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel - cd $DAMASKROOT - make clean spectral processing OPTIMIZATION=AGGRESSIVE + - cd $TESTROOT/performance # location of old results + - git checkout . # undo any changes (i.e. run time data from non-development branch) - cd $DAMASKROOT/PRIVATE/testing - - SpectralAll_runtime/test.py -d $TESTROOT + - SpectralAll_runtime/test.py -d $TESTROOT/performance except: - master - release @@ -482,11 +484,13 @@ Spectral: backupData: stage: saveDocumentation script: + - cd $TESTROOT/performance # location of new runtime results + - git commit -am"${CI_PIPELINE_ID}_${CI_COMMIT_SHA}" - mkdir $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA} - - cp $TESTROOT/time.txt $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ - - mv $TESTROOT/time.png $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ - - cp $TESTROOT/memory.txt $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ - - mv $TESTROOT/memory.png $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ + - cp $TESTROOT/performance/time.txt $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ + - mv $TESTROOT/performance/time.png $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ + - cp $TESTROOT/performance/memory.txt $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ + - mv $TESTROOT/performance/memory.png $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ - mv $DAMASKROOT/PRIVATE/documenting/DAMASK_* $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/ only: - development From 7da8bc8d4a890053c3246d9327fe9dd8a7d28f24 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Tue, 16 May 2017 11:10:01 +0200 Subject: [PATCH 29/32] symlinks can be handled by Git, so we can store them and simplify the installation --- installation/mods_MarcMentat/apply_DAMASK_modifications.sh | 7 +------ src/.gitignore | 1 - src/DAMASK_marc2014.2.f90 | 1 + src/DAMASK_marc2014.f90 | 1 + src/DAMASK_marc2015.f90 | 1 + src/DAMASK_marc2016.f90 | 1 + 6 files changed, 5 insertions(+), 7 deletions(-) create mode 120000 src/DAMASK_marc2014.2.f90 create mode 120000 src/DAMASK_marc2014.f90 create mode 120000 src/DAMASK_marc2015.f90 create mode 120000 src/DAMASK_marc2016.f90 diff --git a/installation/mods_MarcMentat/apply_DAMASK_modifications.sh b/installation/mods_MarcMentat/apply_DAMASK_modifications.sh index 761883de5..d1c1e37dd 100755 --- a/installation/mods_MarcMentat/apply_DAMASK_modifications.sh +++ b/installation/mods_MarcMentat/apply_DAMASK_modifications.sh @@ -129,7 +129,7 @@ for filename in marc$VERSION/tools/run_damask* \ chmod 755 $INSTALLDIR/${filename} done -#creating symlinks for run_damask_scripts in /usr/local/bin +#creating symlinks for run_damask_scripts if [ -d "$BIN_DIR" ]; then echo '' @@ -158,11 +158,6 @@ if [ -d "$BIN_DIR" ]; then esac fi -# cloning user subroutine -echo '' -echo 'cloning $VERSION HYPELA2 user subroutine...' -ln -s DAMASK_marc.f90 ${DAMASK_ROOT}/src/DAMASK_marc${VERSION}.f90 - # precompiling user subroutine echo '' echo 'precompiling $VERSION HYPELA2 user subroutine...' diff --git a/src/.gitignore b/src/.gitignore index c90e213cf..e9956554e 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -1,4 +1,3 @@ -DAMASK_marc*.f90 Makefile cmake_install.cmake quit__genmod.f90 diff --git a/src/DAMASK_marc2014.2.f90 b/src/DAMASK_marc2014.2.f90 new file mode 120000 index 000000000..2c5bec706 --- /dev/null +++ b/src/DAMASK_marc2014.2.f90 @@ -0,0 +1 @@ +DAMASK_marc.f90 \ No newline at end of file diff --git a/src/DAMASK_marc2014.f90 b/src/DAMASK_marc2014.f90 new file mode 120000 index 000000000..2c5bec706 --- /dev/null +++ b/src/DAMASK_marc2014.f90 @@ -0,0 +1 @@ +DAMASK_marc.f90 \ No newline at end of file diff --git a/src/DAMASK_marc2015.f90 b/src/DAMASK_marc2015.f90 new file mode 120000 index 000000000..2c5bec706 --- /dev/null +++ b/src/DAMASK_marc2015.f90 @@ -0,0 +1 @@ +DAMASK_marc.f90 \ No newline at end of file diff --git a/src/DAMASK_marc2016.f90 b/src/DAMASK_marc2016.f90 new file mode 120000 index 000000000..2c5bec706 --- /dev/null +++ b/src/DAMASK_marc2016.f90 @@ -0,0 +1 @@ +DAMASK_marc.f90 \ No newline at end of file From ed59f3d7e0f2f47712d779ffa3cc1776a5344c2f Mon Sep 17 00:00:00 2001 From: Test User Date: Tue, 16 May 2017 11:55:11 +0200 Subject: [PATCH 30/32] [skip ci] updated version information after successful test of v2.0.1-728-g66efd90 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 742dc6632..5a76f3ec4 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.1-722-g3633a03 +v2.0.1-728-g66efd90 From f52e62e6b9d5c67d62d6e6a19e9f8bb76b397c96 Mon Sep 17 00:00:00 2001 From: Test User Date: Tue, 16 May 2017 20:39:45 +0200 Subject: [PATCH 31/32] [skip ci] updated version information after successful test of v2.0.1-734-g64fde94 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 5a76f3ec4..8484dacfc 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.1-728-g66efd90 +v2.0.1-734-g64fde94 From 60b7870abea949456f8706f74c0a06586ff7647e Mon Sep 17 00:00:00 2001 From: Test User Date: Tue, 16 May 2017 23:00:49 +0200 Subject: [PATCH 32/32] [skip ci] updated version information after successful test of v2.0.1-735-gf52e62e --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 8484dacfc..5dabd576c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v2.0.1-734-g64fde94 +v2.0.1-735-gf52e62e