Deltastate allocation
This commit is contained in:
parent
f2704a0038
commit
4c3d580688
|
@ -132,7 +132,7 @@ program DAMASK_grid
|
||||||
! reading field paramters from numerics file and do sanity checks
|
! reading field paramters from numerics file and do sanity checks
|
||||||
num_grid => config_numerics%get('grid', defaultVal=emptyDict)
|
num_grid => config_numerics%get('grid', defaultVal=emptyDict)
|
||||||
stagItMax = num_grid%get_asInt('maxStaggeredIter',defaultVal=10)
|
stagItMax = num_grid%get_asInt('maxStaggeredIter',defaultVal=10)
|
||||||
maxCutBack = num_grid%get_asInt('maxCutBack',defaultVal=3)
|
maxCutBack = num_grid%get_asInt('maxCutBack',defaultVal=3) ! Achal. To increase this?
|
||||||
|
|
||||||
if (stagItMax < 0) call IO_error(301,ext_msg='maxStaggeredIter')
|
if (stagItMax < 0) call IO_error(301,ext_msg='maxStaggeredIter')
|
||||||
if (maxCutBack < 0) call IO_error(301,ext_msg='maxCutBack')
|
if (maxCutBack < 0) call IO_error(301,ext_msg='maxCutBack')
|
||||||
|
|
|
@ -404,7 +404,7 @@ module function plastic_deltaState(ph, en) result(broken)
|
||||||
broken = .false.
|
broken = .false.
|
||||||
|
|
||||||
select case (phase_plasticity(ph))
|
select case (phase_plasticity(ph))
|
||||||
case (PLASTIC_NONLOCAL_ID,PLASTIC_KINEHARDENING_ID)!, PLASTIC_PHENOPOWERLAW_ID) !> Achal
|
case (PLASTIC_NONLOCAL_ID,PLASTIC_KINEHARDENING_ID, PLASTIC_PHENOPOWERLAW_ID) !> Achal
|
||||||
|
|
||||||
Mp = matmul(matmul(transpose(phase_mechanical_Fi(ph)%data(1:3,1:3,en)),&
|
Mp = matmul(matmul(transpose(phase_mechanical_Fi(ph)%data(1:3,1:3,en)),&
|
||||||
phase_mechanical_Fi(ph)%data(1:3,1:3,en)),&
|
phase_mechanical_Fi(ph)%data(1:3,1:3,en)),&
|
||||||
|
@ -418,8 +418,8 @@ module function plastic_deltaState(ph, en) result(broken)
|
||||||
case (PLASTIC_NONLOCAL_ID) plasticType
|
case (PLASTIC_NONLOCAL_ID) plasticType
|
||||||
call plastic_nonlocal_deltaState(Mp,ph,en)
|
call plastic_nonlocal_deltaState(Mp,ph,en)
|
||||||
|
|
||||||
!case (PLASTIC_PHENOPOWERLAW_ID) plasticType !> Achal
|
case (PLASTIC_PHENOPOWERLAW_ID) plasticType !> Achal
|
||||||
! call plastic_phenopowerlaw_deltaState(ph,en) !> Achal
|
call plastic_phenopowerlaw_deltaState(ph,en) !> Achal
|
||||||
|
|
||||||
end select plasticType
|
end select plasticType
|
||||||
|
|
||||||
|
|
|
@ -86,7 +86,7 @@ logical, dimension(:), allocatable :: myPlasticity
|
||||||
integer :: &
|
integer :: &
|
||||||
ph, i, o, &
|
ph, i, o, &
|
||||||
Nmembers, &
|
Nmembers, &
|
||||||
sizeState, sizeDotState, &
|
sizeState, sizeDotState, sizeDeltaState, &
|
||||||
startIndex, endIndex
|
startIndex, endIndex
|
||||||
integer, dimension(:), allocatable :: &
|
integer, dimension(:), allocatable :: &
|
||||||
N_sl, N_tw
|
N_sl, N_tw
|
||||||
|
@ -235,13 +235,17 @@ do ph = 1, phases%length
|
||||||
! allocate state arrays
|
! allocate state arrays
|
||||||
Nmembers = count(material_phaseID == ph)
|
Nmembers = count(material_phaseID == ph)
|
||||||
sizeDotState = size(['xi_sl ','gamma_sl']) * prm%sum_N_sl &
|
sizeDotState = size(['xi_sl ','gamma_sl']) * prm%sum_N_sl &
|
||||||
+ size(['xi_tw ','gamma_tw']) * prm%sum_N_tw !&
|
+ size(['xi_tw ','gamma_tw']) * prm%sum_N_tw &
|
||||||
!+ size(['xi_tw ','f_twin ']) * prm%sum_N_tw !Achal
|
+ size(['xi_tw ','f_twin ']) * prm%sum_N_tw !Achal
|
||||||
sizeState = sizeDotState
|
sizeState = sizeDotState
|
||||||
|
|
||||||
!write(6,*)"size fn", size(['xi_sl ','gamma_sl']) ! Achal Delete
|
write(6,*)"size fn", sizeDotState ! Achal Delete
|
||||||
|
|
||||||
call phase_allocateState(plasticState(ph),Nmembers,sizeState,sizeDotState,0)
|
sizeDeltaState = size(['xi_sl ','gamma_sl']) * prm%sum_N_sl & !Achal
|
||||||
|
+ size(['xi_tw ','gamma_tw']) * prm%sum_N_tw &
|
||||||
|
+ size(['xi_tw ','f_twin ']) * prm%sum_N_tw !Achal
|
||||||
|
|
||||||
|
call phase_allocateState(plasticState(ph),Nmembers,sizeState,sizeDotState,sizeDeltaState)
|
||||||
deallocate(plasticState(ph)%dotState) ! ToDo: remove dotState completely
|
deallocate(plasticState(ph)%dotState) ! ToDo: remove dotState completely
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
@ -385,7 +389,7 @@ associate(prm => param(ph), stt => state(ph), &
|
||||||
!write(6,*)'deltaFp', deltaFp ! delete this
|
!write(6,*)'deltaFp', deltaFp ! delete this
|
||||||
!write(6,*)'characteristicShearTwin', prm%gamma_char
|
!write(6,*)'characteristicShearTwin', prm%gamma_char
|
||||||
!write(6,*)'Schmid_twin',prm%P_sl
|
!write(6,*)'Schmid_twin',prm%P_sl
|
||||||
if(en==1) write(6,*)'maxF',maxval(stt%gamma_tw(:,en)/prm%gamma_char)
|
!if(en==1) write(6,*)'maxF',maxval(stt%gamma_tw(:,en)/prm%gamma_char) ! delete Achal
|
||||||
|
|
||||||
sumF = sum(stt%gamma_tw(:,en)/prm%gamma_char)
|
sumF = sum(stt%gamma_tw(:,en)/prm%gamma_char)
|
||||||
xi_sl_sat_offset = prm%f_sat_sl_tw*sqrt(sumF)
|
xi_sl_sat_offset = prm%f_sat_sl_tw*sqrt(sumF)
|
||||||
|
@ -469,7 +473,7 @@ integer, intent(in)::&
|
||||||
ph, &
|
ph, &
|
||||||
en
|
en
|
||||||
|
|
||||||
deltastate(ph)%f_twin=0.0_pReal
|
deltastate(ph)%f_twin=1.0_pReal
|
||||||
|
|
||||||
|
|
||||||
end subroutine plastic_phenopowerlaw_deltaState
|
end subroutine plastic_phenopowerlaw_deltaState
|
||||||
|
|
Loading…
Reference in New Issue