This commit is contained in:
Martin Diehl 2020-03-16 15:36:34 +01:00
parent ecd74ff8b5
commit 8d5d31988a
1 changed files with 13 additions and 32 deletions

View File

@ -34,11 +34,9 @@ submodule(constitutive) plastic_nonlocal
mob_scr_pos = 3, & !< mobile screw positive mob_scr_pos = 3, & !< mobile screw positive
mob_scr_neg = 4 !< mobile screw positive mob_scr_neg = 4 !< mobile screw positive
! BEGIN DEPRECATES ! BEGIN DEPRECATED
integer, dimension(:,:,:), allocatable :: & integer, dimension(:,:,:), allocatable :: &
iRhoU, & !< state indices for unblocked density iRhoU, & !< state indices for unblocked density
iRhoB, & !< state indices for blocked density
iRhoD, & !< state indices for dipole density
iV, & !< state indices for dislcation velocities iV, & !< state indices for dislcation velocities
iD !< state indices for stable dipole height iD !< state indices for stable dipole height
integer, dimension(:), allocatable :: & integer, dimension(:), allocatable :: &
@ -131,12 +129,12 @@ submodule(constitutive) plastic_nonlocal
rho_sgl_mob_edg_neg, & rho_sgl_mob_edg_neg, &
rho_sgl_mob_scr_pos, & rho_sgl_mob_scr_pos, &
rho_sgl_mob_scr_neg, & rho_sgl_mob_scr_neg, &
rhoSglImmobile, & ! iRhoB rhoSglImmobile, &
rho_sgl_imm_edg_pos, & rho_sgl_imm_edg_pos, &
rho_sgl_imm_edg_neg, & rho_sgl_imm_edg_neg, &
rho_sgl_imm_scr_pos, & rho_sgl_imm_scr_pos, &
rho_sgl_imm_scr_neg, & rho_sgl_imm_scr_neg, &
rhoDip, & ! iRhoD rhoDip, &
rho_dip_edg, & rho_dip_edg, &
rho_dip_scr, & rho_dip_scr, &
rho_forest, & rho_forest, &
@ -175,10 +173,8 @@ module subroutine plastic_nonlocal_init
s, & s, &
t, & t, &
c c
character(len=pStringLen) :: & character(len=pStringLen) :: &
extmsg = '', & extmsg = ''
structure
integer :: NofMyPhase integer :: NofMyPhase
write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_NONLOCAL_LABEL//' init -+>>>'; flush(6) write(6,'(/,a)') ' <<<+- constitutive_'//PLASTICITY_NONLOCAL_LABEL//' init -+>>>'; flush(6)
@ -217,14 +213,12 @@ module subroutine plastic_nonlocal_init
prm%atol_rho = config%getFloat('atol_rho',defaultVal=1.0e4_pReal) prm%atol_rho = config%getFloat('atol_rho',defaultVal=1.0e4_pReal)
structure = config%getString('lattice_structure')
! This data is read in already in lattice ! This data is read in already in lattice
prm%mu = lattice_mu(p) prm%mu = lattice_mu(p)
prm%nu = lattice_nu(p) prm%nu = lattice_nu(p)
prm%Nslip = config%getInts('nslip',defaultVal=emptyIntArray) prm%Nslip = config%getInts('nslip',defaultVal=emptyIntArray)
prm%totalNslip = sum(prm%Nslip) prm%totalNslip = sum(abs(prm%Nslip))
slipActive: if (prm%totalNslip > 0) then slipActive: if (prm%totalNslip > 0) then
prm%Schmid = lattice_SchmidMatrix_slip(prm%Nslip,config%getString('lattice_structure'),& prm%Schmid = lattice_SchmidMatrix_slip(prm%Nslip,config%getString('lattice_structure'),&
config%getFloat('c/a',defaultVal=0.0_pReal)) config%getFloat('c/a',defaultVal=0.0_pReal))
@ -487,15 +481,13 @@ module subroutine plastic_nonlocal_init
enddo enddo
allocate(compatibility(2,maxval(totalNslip),maxval(totalNslip),nIPneighbors,& allocate(compatibility(2,maxval(param%totalNslip),maxval(param%totalNslip),nIPneighbors,&
discretization_nIP,discretization_nElem), source=0.0_pReal) discretization_nIP,discretization_nElem), source=0.0_pReal)
! BEGIN DEPRECATED---------------------------------------------------------------------------------- ! BEGIN DEPRECATED----------------------------------------------------------------------------------
allocate(iRhoU(maxval(totalNslip),4,maxNinstances), source=0) allocate(iRhoU(maxval(param%totalNslip),4,maxNinstances), source=0)
allocate(iRhoB(maxval(totalNslip),4,maxNinstances), source=0) allocate(iV(maxval(param%totalNslip),4,maxNinstances), source=0)
allocate(iRhoD(maxval(totalNslip),2,maxNinstances), source=0) allocate(iD(maxval(param%totalNslip),2,maxNinstances), source=0)
allocate(iV(maxval(totalNslip),4,maxNinstances), source=0)
allocate(iD(maxval(totalNslip),2,maxNinstances), source=0)
initializeInstances: do p = 1, size(phase_plasticity) initializeInstances: do p = 1, size(phase_plasticity)
NofMyPhase = count(material_phaseAt==p) * discretization_nIP NofMyPhase = count(material_phaseAt==p) * discretization_nIP
@ -510,19 +502,8 @@ module subroutine plastic_nonlocal_init
iRhoU(s,t,phase_plasticityInstance(p)) = l iRhoU(s,t,phase_plasticityInstance(p)) = l
enddo enddo
enddo enddo
do t = 1,4 l = l + 4*param(phase_plasticityInstance(p))%totalNslip ! immobile
do s = 1,param(phase_plasticityInstance(p))%totalNslip l = l + 2*param(phase_plasticityInstance(p))%totalNslip ! dipole
l = l + 1
iRhoB(s,t,phase_plasticityInstance(p)) = l
enddo
enddo
do c = 1,2
do s = 1,param(phase_plasticityInstance(p))%totalNslip
l = l + 1
iRhoD(s,c,phase_plasticityInstance(p)) = l
enddo
enddo
l = l + param(phase_plasticityInstance(p))%totalNslip ! shear(rates) l = l + param(phase_plasticityInstance(p))%totalNslip ! shear(rates)
l = l + param(phase_plasticityInstance(p))%totalNslip ! rho_forest l = l + param(phase_plasticityInstance(p))%totalNslip ! rho_forest