Deltastate allocation

This commit is contained in:
Achal H P 2024-01-21 11:19:32 +05:30
parent f2704a0038
commit 4c3d580688
3 changed files with 15 additions and 11 deletions

View File

@ -132,7 +132,7 @@ program DAMASK_grid
! reading field paramters from numerics file and do sanity checks
num_grid => config_numerics%get('grid', defaultVal=emptyDict)
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 (maxCutBack < 0) call IO_error(301,ext_msg='maxCutBack')

View File

@ -404,7 +404,7 @@ module function plastic_deltaState(ph, en) result(broken)
broken = .false.
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)),&
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
call plastic_nonlocal_deltaState(Mp,ph,en)
!case (PLASTIC_PHENOPOWERLAW_ID) plasticType !> Achal
! call plastic_phenopowerlaw_deltaState(ph,en) !> Achal
case (PLASTIC_PHENOPOWERLAW_ID) plasticType !> Achal
call plastic_phenopowerlaw_deltaState(ph,en) !> Achal
end select plasticType

View File

@ -86,7 +86,7 @@ logical, dimension(:), allocatable :: myPlasticity
integer :: &
ph, i, o, &
Nmembers, &
sizeState, sizeDotState, &
sizeState, sizeDotState, sizeDeltaState, &
startIndex, endIndex
integer, dimension(:), allocatable :: &
N_sl, N_tw
@ -235,13 +235,17 @@ do ph = 1, phases%length
! allocate state arrays
Nmembers = count(material_phaseID == ph)
sizeDotState = size(['xi_sl ','gamma_sl']) * prm%sum_N_sl &
+ size(['xi_tw ','gamma_tw']) * prm%sum_N_tw !&
!+ size(['xi_tw ','f_twin ']) * prm%sum_N_tw !Achal
+ size(['xi_tw ','gamma_tw']) * prm%sum_N_tw &
+ size(['xi_tw ','f_twin ']) * prm%sum_N_tw !Achal
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
!--------------------------------------------------------------------------------------------------
@ -385,7 +389,7 @@ associate(prm => param(ph), stt => state(ph), &
!write(6,*)'deltaFp', deltaFp ! delete this
!write(6,*)'characteristicShearTwin', prm%gamma_char
!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)
xi_sl_sat_offset = prm%f_sat_sl_tw*sqrt(sumF)
@ -469,7 +473,7 @@ integer, intent(in)::&
ph, &
en
deltastate(ph)%f_twin=0.0_pReal
deltastate(ph)%f_twin=1.0_pReal
end subroutine plastic_phenopowerlaw_deltaState