clarified tolerances in prec (abs vs rel)
all units conform to SI now !! (especially MPa --> Pa) CONSEQUENCE: mattex files need to respect SI
This commit is contained in:
parent
e86a288a21
commit
ad3ccf22c2
|
@ -441,13 +441,13 @@ stress: do ! inner iteration: stress
|
||||||
Rstress = Tstar_v - T_elastic
|
Rstress = Tstar_v - T_elastic
|
||||||
! step size control: if residuum does not improve redo iteration with reduced step size
|
! step size control: if residuum does not improve redo iteration with reduced step size
|
||||||
if(maxval(abs(Rstress)) > maxval(abs(Rstress_old)) .and. &
|
if(maxval(abs(Rstress)) > maxval(abs(Rstress_old)) .and. &
|
||||||
maxval(abs(Rstress)) > 1.0e-6 .and. iStress > 1) then
|
maxval(abs(Rstress)) > abstol_ResStress .and. iStress > 1) then
|
||||||
! write(6,*) 'Hallo', iStress
|
|
||||||
Tstar_v=Tstar_v+0.5*dTstar_v
|
Tstar_v=Tstar_v+0.5*dTstar_v
|
||||||
dTstar_v=0.5*dTstar_v
|
dTstar_v=0.5*dTstar_v
|
||||||
cycle
|
cycle
|
||||||
endif
|
endif
|
||||||
if (iStress > 1 .and. (maxval(abs(Tstar_v)) < 1.0e-3_pReal .or. maxval(abs(Rstress/maxval(abs(Tstar_v)))) < tol_Stress)) exit stress
|
if (iStress > 1 .and. &
|
||||||
|
(maxval(abs(Tstar_v)) < abstol_Stress .or. maxval(abs(Rstress/maxval(abs(Tstar_v)))) < reltol_Stress)) exit stress
|
||||||
|
|
||||||
! update stress guess using inverse of dRes/dTstar (Newton--Raphson)
|
! update stress guess using inverse of dRes/dTstar (Newton--Raphson)
|
||||||
LTL = 0.0_pReal
|
LTL = 0.0_pReal
|
||||||
|
@ -488,7 +488,7 @@ stress: do ! inner iteration: stress
|
||||||
forall (i=1:constitutive_Nstatevars(grain,CPFEM_in,cp_en), state_new(i)/=0.0_pReal) &
|
forall (i=1:constitutive_Nstatevars(grain,CPFEM_in,cp_en), state_new(i)/=0.0_pReal) &
|
||||||
RstateS(i) = Rstate(i)/state_new(i)
|
RstateS(i) = Rstate(i)/state_new(i)
|
||||||
state_new = state_old+dstate
|
state_new = state_old+dstate
|
||||||
if (maxval(abs(RstateS)) < tol_State) exit state
|
if (maxval(abs(RstateS)) < reltol_State) exit state
|
||||||
|
|
||||||
enddo state
|
enddo state
|
||||||
! write(6,*) 'istate', istate
|
! write(6,*) 'istate', istate
|
||||||
|
|
|
@ -19,13 +19,14 @@
|
||||||
! *** Maximum number of iterations in outer (state variables) loop ***
|
! *** Maximum number of iterations in outer (state variables) loop ***
|
||||||
integer(pInt), parameter :: nState = 50_pInt
|
integer(pInt), parameter :: nState = 50_pInt
|
||||||
! *** Convergence criteria for outer (state variables) loop ***
|
! *** Convergence criteria for outer (state variables) loop ***
|
||||||
real(pReal), parameter :: tol_State = 1.0e-6_pReal
|
real(pReal), parameter :: reltol_State = 1.0e-6_pReal
|
||||||
! *** Maximum number of iterations in inner (stress) loop ***
|
! *** Maximum number of iterations in inner (stress) loop ***
|
||||||
integer(pInt), parameter :: nStress = 500_pInt
|
integer(pInt), parameter :: nStress = 500_pInt
|
||||||
! *** Convergence criteria for inner (stress) loop ***
|
! *** Convergence criteria for inner (stress) loop ***
|
||||||
real(pReal), parameter :: tol_Stress = 1.0e-6_pReal
|
real(pReal), parameter :: reltol_Stress = 1.0e-6_pReal
|
||||||
! *** Factor for maximum stress correction in inner (stress) loop ***
|
! *** Convergence criteria for inner (stress) loop ***
|
||||||
! real(pReal), parameter :: crite = 0.1_pReal
|
real(pReal), parameter :: abstol_Stress = 1.0e3_pReal
|
||||||
|
! *** Convergence criteria for inner (stress) loop ***
|
||||||
|
real(pReal), parameter :: abstol_ResStress = 1.0_pReal
|
||||||
|
|
||||||
END MODULE prec
|
END MODULE prec
|
||||||
|
|
Loading…
Reference in New Issue