change the debug level of cutback reporting to non-selective, of central solution from basic to extensive, of stiffness perturbation to selective.
fixed few typos and deleted excess whitespace.
This commit is contained in:
parent
e8649ded56
commit
5bc49e6441
|
@ -664,7 +664,7 @@ subroutine crystallite_stressAndItsTangent(updateJaco)
|
||||||
timeSyncing1: if (any(.not. crystallite_localPlasticity) .and. numerics_timeSyncing) then
|
timeSyncing1: if (any(.not. crystallite_localPlasticity) .and. numerics_timeSyncing) then
|
||||||
|
|
||||||
! Time synchronization can only be used for nonlocal calculations, and only there it makes sense.
|
! Time synchronization can only be used for nonlocal calculations, and only there it makes sense.
|
||||||
! The idea is that in nonlocal calculations often the vast amjority of the ips
|
! The idea is that in nonlocal calculations often the vast majority of the ips
|
||||||
! converges in one iteration whereas a small fraction of ips has to do a lot of cutbacks.
|
! converges in one iteration whereas a small fraction of ips has to do a lot of cutbacks.
|
||||||
! Hence, we try to minimize the computational effort by just doing a lot of cutbacks
|
! Hence, we try to minimize the computational effort by just doing a lot of cutbacks
|
||||||
! in the vicinity of the "bad" ips and leave the easily converged volume more or less as it is.
|
! in the vicinity of the "bad" ips and leave the easily converged volume more or less as it is.
|
||||||
|
@ -677,8 +677,8 @@ subroutine crystallite_stressAndItsTangent(updateJaco)
|
||||||
if (any(crystallite_syncSubFrac)) then
|
if (any(crystallite_syncSubFrac)) then
|
||||||
|
|
||||||
! Just did a time synchronization.
|
! Just did a time synchronization.
|
||||||
! If all synchrnizers converged, then do nothing else than winding them forward.
|
! If all synchronizers converged, then do nothing else than winding them forward.
|
||||||
! If any of the cynchronizers did not converge, something went completely wrong
|
! If any of the synchronizers did not converge, something went completely wrong
|
||||||
! and its not clear how to fix this, so all nonlocals become terminally ill.
|
! and its not clear how to fix this, so all nonlocals become terminally ill.
|
||||||
|
|
||||||
if (any(crystallite_syncSubFrac .and. .not. crystallite_converged(1,:,:))) then
|
if (any(crystallite_syncSubFrac .and. .not. crystallite_converged(1,:,:))) then
|
||||||
|
@ -973,9 +973,7 @@ subroutine crystallite_stressAndItsTangent(updateJaco)
|
||||||
crystallite_todo(g,i,e) = crystallite_subStep(g,i,e) > subStepMinCryst ! still on track or already done (beyond repair)
|
crystallite_todo(g,i,e) = crystallite_subStep(g,i,e) > subStepMinCryst ! still on track or already done (beyond repair)
|
||||||
!$OMP FLUSH(crystallite_todo)
|
!$OMP FLUSH(crystallite_todo)
|
||||||
#ifndef _OPENMP
|
#ifndef _OPENMP
|
||||||
if(iand(debug_level(debug_crystallite),debug_levelBasic) /= 0_pInt &
|
if (iand(debug_level(debug_crystallite),debug_levelBasic) /= 0_pInt) then
|
||||||
.and. ((e == debug_e .and. i == debug_i .and. g == debug_g) &
|
|
||||||
.or. .not. iand(debug_level(debug_crystallite), debug_levelSelective) /= 0_pInt)) then
|
|
||||||
if (crystallite_todo(g,i,e)) then
|
if (crystallite_todo(g,i,e)) then
|
||||||
write(6,'(a,f12.8,a,i8,1x,i2,1x,i3,/)') '<< CRYST >> cutback step in crystallite_stressAndItsTangent &
|
write(6,'(a,f12.8,a,i8,1x,i2,1x,i3,/)') '<< CRYST >> cutback step in crystallite_stressAndItsTangent &
|
||||||
&with new crystallite_subStep: ',&
|
&with new crystallite_subStep: ',&
|
||||||
|
@ -1075,8 +1073,8 @@ subroutine crystallite_stressAndItsTangent(updateJaco)
|
||||||
call constitutive_TandItsTangent(Tstar, junk2, Fe_guess,g,i,e)
|
call constitutive_TandItsTangent(Tstar, junk2, Fe_guess,g,i,e)
|
||||||
crystallite_P(1:3,1:3,g,i,e) = math_mul33x33(Fe_guess,math_mul33x33(Tstar,transpose(invFp)))
|
crystallite_P(1:3,1:3,g,i,e) = math_mul33x33(Fe_guess,math_mul33x33(Tstar,transpose(invFp)))
|
||||||
endif
|
endif
|
||||||
if(iand(debug_level(debug_crystallite), debug_levelBasic) /= 0_pInt &
|
if (iand(debug_level(debug_crystallite), debug_levelExtensive) /= 0_pInt &
|
||||||
.and. ((e == debug_e .and. i == debug_i .and. g == debug_g) &
|
.and. ((e == debug_e .and. i == debug_i .and. g == debug_g) &
|
||||||
.or. .not. iand(debug_level(debug_crystallite),debug_levelSelective) /= 0_pInt)) then
|
.or. .not. iand(debug_level(debug_crystallite),debug_levelSelective) /= 0_pInt)) then
|
||||||
write(6,'(a,i8,1x,i2,1x,i3)') '<< CRYST >> central solution of cryst_StressAndTangent at el ip g ',e,i,g
|
write(6,'(a,i8,1x,i2,1x,i3)') '<< CRYST >> central solution of cryst_StressAndTangent at el ip g ',e,i,g
|
||||||
write(6,'(/,a,/,3(12x,3(f12.4,1x)/))') '<< CRYST >> P / MPa', &
|
write(6,'(/,a,/,3(12x,3(f12.4,1x)/))') '<< CRYST >> P / MPa', &
|
||||||
|
@ -1194,7 +1192,9 @@ subroutine crystallite_stressAndItsTangent(updateJaco)
|
||||||
if (iand(pert_method,perturbation) > 0_pInt) then ! mask for desired direction
|
if (iand(pert_method,perturbation) > 0_pInt) then ! mask for desired direction
|
||||||
myPert = -pert_Fg * (-1.0_pReal)**perturbation ! set perturbation step
|
myPert = -pert_Fg * (-1.0_pReal)**perturbation ! set perturbation step
|
||||||
do k = 1,3; do l = 1,3 ! ...alter individual components
|
do k = 1,3; do l = 1,3 ! ...alter individual components
|
||||||
if (iand(debug_level(debug_crystallite), debug_levelExtensive) /= 0_pInt) &
|
if (iand(debug_level(debug_crystallite), debug_levelExtensive) /= 0_pInt &
|
||||||
|
.and. ((e == debug_e .and. i == debug_i .and. g == debug_g) &
|
||||||
|
.or. .not. iand(debug_level(debug_crystallite),debug_levelSelective) /= 0_pInt)) &
|
||||||
write(6,'(a,2(1x,i1),1x,a,/)') '<< CRYST >> [[[[[[ Stiffness perturbation',k,l,']]]]]]'
|
write(6,'(a,2(1x,i1),1x,a,/)') '<< CRYST >> [[[[[[ Stiffness perturbation',k,l,']]]]]]'
|
||||||
! --- INITIALIZE UNPERTURBED STATE ---
|
! --- INITIALIZE UNPERTURBED STATE ---
|
||||||
|
|
||||||
|
@ -1796,7 +1796,7 @@ subroutine crystallite_integrateStateRKCK45()
|
||||||
|
|
||||||
eIter = FEsolving_execElem(1:2)
|
eIter = FEsolving_execElem(1:2)
|
||||||
if (iand(debug_level(debug_crystallite), debug_levelExtensive) /= 0_pInt) &
|
if (iand(debug_level(debug_crystallite), debug_levelExtensive) /= 0_pInt) &
|
||||||
write(6,'(a,1x,i1)') '<< CRYST >> RUNGE KUTTA STEP',1
|
write(6,'(a,1x,i1)') '<< CRYST >> Runge--Kutta step',1
|
||||||
|
|
||||||
! --- LOOP ITERATOR FOR ELEMENT, GRAIN, IP ---
|
! --- LOOP ITERATOR FOR ELEMENT, GRAIN, IP ---
|
||||||
do e = eIter(1),eIter(2)
|
do e = eIter(1),eIter(2)
|
||||||
|
|
Loading…
Reference in New Issue