Merge branch 'development' of magit1.mpie.de:damask/DAMASK into development

This commit is contained in:
Martin Diehl 2017-05-18 17:02:55 +02:00
commit 4580d8e23f
5 changed files with 47 additions and 40 deletions

View File

@ -1 +1 @@
v2.0.1-737-geff2b4c
v2.0.1-755-g12f66fd

2
env/DAMASK.zsh vendored
View File

@ -19,7 +19,7 @@ source $DAMASK_ROOT/CONFIG
unset -f set
# add DAMASK_BIN if present
[ ( "x$DAMASK_BIN" != "x" ) ] && PATH=$DAMASK_BIN:$PATH
[ "x$DAMASK_BIN" != "x" ] && PATH=$DAMASK_BIN:$PATH
SOLVER=`which DAMASK_spectral || True 2>/dev/null`
PROCESSING=`which postResults || True 2>/dev/null`

View File

@ -3179,7 +3179,9 @@ logical function crystallite_integrateStress(&
aTol_crystalliteStress, &
rTol_crystalliteStress, &
iJacoLpresiduum, &
numerics_integrationMode
numerics_integrationMode, &
subStepSizeLp, &
subStepSizeLi
use debug, only: debug_level, &
debug_crystallite, &
debug_levelBasic, &
@ -3265,9 +3267,7 @@ logical function crystallite_integrateStress(&
dLp_dT3333, &
dLi_dT3333
real(pReal) detInvFi, & ! determinant of InvFi
steplengthLp0, &
steplengthLp, &
steplengthLi0, &
steplengthLi, &
dt, & ! time increment
aTolLp, &
@ -3353,8 +3353,7 @@ logical function crystallite_integrateStress(&
NiterationStressLi = 0_pInt
jacoCounterLi = 0_pInt
steplengthLi0 = 1.0_pReal
steplengthLi = steplengthLi0
steplengthLi = 1.0_pReal
residuumLi_old = 0.0_pReal
LiLoop: do
@ -3374,8 +3373,7 @@ logical function crystallite_integrateStress(&
NiterationStressLp = 0_pInt
jacoCounterLp = 0_pInt
steplengthLp0 = 1.0_pReal
steplengthLp = steplengthLp0
steplengthLp = 1.0_pReal
residuumLp_old = 0.0_pReal
Lpguess_old = Lpguess
@ -3447,9 +3445,9 @@ logical function crystallite_integrateStress(&
.or. norm2(residuumLp) < norm2(residuumLp_old)) then ! not converged, but improved norm of residuum (always proceed in first iteration)...
residuumLp_old = residuumLp ! ...remember old values and...
Lpguess_old = Lpguess
steplengthLp = steplengthLp0 ! ...proceed with normal step length (calculate new search direction)
steplengthLp = 1.0_pReal ! ...proceed with normal step length (calculate new search direction)
else ! not converged and residuum not improved...
steplengthLp = 0.5_pReal * steplengthLp ! ...try with smaller step length in same direction
steplengthLp = subStepSizeLp * steplengthLp ! ...try with smaller step length in same direction
Lpguess = Lpguess_old + steplengthLp * deltaLp
cycle LpLoop
endif
@ -3530,9 +3528,9 @@ logical function crystallite_integrateStress(&
.or. norm2(residuumLi) < norm2(residuumLi_old)) then ! not converged, but improved norm of residuum (always proceed in first iteration)...
residuumLi_old = residuumLi ! ...remember old values and...
Liguess_old = Liguess
steplengthLi = steplengthLi0 ! ...proceed with normal step length (calculate new search direction)
steplengthLi = 1.0_pReal ! ...proceed with normal step length (calculate new search direction)
else ! not converged and residuum not improved...
steplengthLi = 0.5_pReal * steplengthLi ! ...try with smaller step length in same direction
steplengthLi = subStepSizeLi * steplengthLi ! ...try with smaller step length in same direction
Liguess = Liguess_old + steplengthLi * deltaLi
cycle LiLoop
endif

View File

@ -923,12 +923,11 @@ subroutine materialpoint_postResults
material_phase, &
homogenization_Ngrains, &
microstructure_crystallite
use constitutive, only: &
#ifdef FEM
use constitutive, only: &
constitutive_plasticity_maxSizePostResults, &
constitutive_source_maxSizePostResults, &
constitutive_source_maxSizePostResults
#endif
constitutive_postResults
use crystallite, only: &
#ifdef FEM
crystallite_maxSizePostResults, &

View File

@ -42,6 +42,8 @@ module numerics
subStepMinHomog = 1.0e-3_pReal, & !< minimum (relative) size of sub-step allowed during cutback in homogenization
subStepSizeCryst = 0.25_pReal, & !< size of first substep when cutback in crystallite
subStepSizeHomog = 0.25_pReal, & !< size of first substep when cutback in homogenization
subStepSizeLp = 0.5_pReal, & !< size of first substep when cutback in Lp calculation
subStepSizeLi = 0.5_pReal, & !< size of first substep when cutback in Li calculation
stepIncreaseCryst = 1.5_pReal, & !< increase of next substep size when previous substep converged in crystallite
stepIncreaseHomog = 1.5_pReal, & !< increase of next substep size when previous substep converged in homogenization
rTol_crystalliteState = 1.0e-6_pReal, & !< relative tolerance in crystallite state loop
@ -295,6 +297,10 @@ subroutine numerics_init
subStepSizeCryst = IO_floatValue(line,chunkPos,2_pInt)
case ('stepincreasecryst')
stepIncreaseCryst = IO_floatValue(line,chunkPos,2_pInt)
case ('substepsizelp')
subStepSizeLp = IO_floatValue(line,chunkPos,2_pInt)
case ('substepsizeli')
subStepSizeLi = IO_floatValue(line,chunkPos,2_pInt)
case ('substepminhomog')
subStepMinHomog = IO_floatValue(line,chunkPos,2_pInt)
case ('substepsizehomog')
@ -515,6 +521,8 @@ subroutine numerics_init
write(6,'(a24,1x,es8.1)') ' subStepMinCryst: ',subStepMinCryst
write(6,'(a24,1x,es8.1)') ' subStepSizeCryst: ',subStepSizeCryst
write(6,'(a24,1x,es8.1)') ' stepIncreaseCryst: ',stepIncreaseCryst
write(6,'(a24,1x,es8.1)') ' subStepSizeLp: ',subStepSizeLp
write(6,'(a24,1x,es8.1)') ' subStepSizeLi: ',subStepSizeLi
write(6,'(a24,1x,i8)') ' nState: ',nState
write(6,'(a24,1x,i8)') ' nStress: ',nStress
write(6,'(a24,1x,es8.1)') ' rTol_crystalliteState: ',rTol_crystalliteState
@ -643,6 +651,8 @@ subroutine numerics_init
if (subStepMinCryst <= 0.0_pReal) call IO_error(301_pInt,ext_msg='subStepMinCryst')
if (subStepSizeCryst <= 0.0_pReal) call IO_error(301_pInt,ext_msg='subStepSizeCryst')
if (stepIncreaseCryst <= 0.0_pReal) call IO_error(301_pInt,ext_msg='stepIncreaseCryst')
if (subStepSizeLp <= 0.0_pReal) call IO_error(301_pInt,ext_msg='subStepSizeLp')
if (subStepSizeLi <= 0.0_pReal) call IO_error(301_pInt,ext_msg='subStepSizeLi')
if (subStepMinHomog <= 0.0_pReal) call IO_error(301_pInt,ext_msg='subStepMinHomog')
if (subStepSizeHomog <= 0.0_pReal) call IO_error(301_pInt,ext_msg='subStepSizeHomog')
if (stepIncreaseHomog <= 0.0_pReal) call IO_error(301_pInt,ext_msg='stepIncreaseHomog')