corrected some bugs in the last commits
This commit is contained in:
parent
c8be3a03bd
commit
1896c07c70
|
@ -145,7 +145,8 @@ integer(pInt), intent(in) :: file
|
||||||
integer(pInt), parameter :: maxNchunks = 21_pInt
|
integer(pInt), parameter :: maxNchunks = 21_pInt
|
||||||
integer(pInt), dimension(1+2*maxNchunks) :: positions
|
integer(pInt), dimension(1+2*maxNchunks) :: positions
|
||||||
integer(pInt) :: section, maxNinstance,mySize,myStructure,maxTotalNslip,maxTotalNtwin,&
|
integer(pInt) :: section, maxNinstance,mySize,myStructure,maxTotalNslip,maxTotalNtwin,&
|
||||||
f,i,j,k,l,m,n,o,p,q,r,s,s1,s2,t1,t2,ns,nt
|
f,i,j,k,l,m,n,o,p,q,r,s,ns,nt, &
|
||||||
|
index_myFamily, index_otherFamily
|
||||||
character(len=64) tag
|
character(len=64) tag
|
||||||
character(len=1024) line
|
character(len=1024) line
|
||||||
|
|
||||||
|
@ -678,7 +679,6 @@ do i = 1_pInt,maxNinstance
|
||||||
|
|
||||||
enddo ! instances
|
enddo ! instances
|
||||||
|
|
||||||
return
|
|
||||||
end subroutine
|
end subroutine
|
||||||
|
|
||||||
|
|
||||||
|
@ -695,7 +695,7 @@ implicit none
|
||||||
integer(pInt) :: myInstance
|
integer(pInt) :: myInstance
|
||||||
real(pReal), dimension(constitutive_dislotwin_sizeState(myInstance)) :: constitutive_dislotwin_stateInit
|
real(pReal), dimension(constitutive_dislotwin_sizeState(myInstance)) :: constitutive_dislotwin_stateInit
|
||||||
!* Local variables
|
!* Local variables
|
||||||
integer(pInt) i,j,f,ns,nt
|
integer(pInt) :: i,j,f,ns,nt, index_myFamily
|
||||||
real(pReal), dimension(constitutive_dislotwin_totalNslip(myInstance)) :: rhoEdge0, &
|
real(pReal), dimension(constitutive_dislotwin_totalNslip(myInstance)) :: rhoEdge0, &
|
||||||
rhoEdgeDip0, &
|
rhoEdgeDip0, &
|
||||||
invLambdaSlip0, &
|
invLambdaSlip0, &
|
||||||
|
@ -711,40 +711,43 @@ constitutive_dislotwin_stateInit = 0.0_pReal
|
||||||
|
|
||||||
do f = 1_pInt,lattice_maxNslipFamily
|
do f = 1_pInt,lattice_maxNslipFamily
|
||||||
index_myFamily = sum(constitutive_dislotwin_Nslip(1:f-1_pInt,myInstance)) ! index in truncated slip system list
|
index_myFamily = sum(constitutive_dislotwin_Nslip(1:f-1_pInt,myInstance)) ! index in truncated slip system list
|
||||||
rhoEdge0(index_myFamily: &
|
rhoEdge0(index_myFamily+1_pInt: &
|
||||||
index_myFamily+constitutive_dislotwin_Nslip(f)-1_pInt) = constitutive_dislotwin_rhoEdge0(f,myInstance)
|
index_myFamily+constitutive_dislotwin_Nslip(f,myInstance)) = &
|
||||||
rhoEdgeDip0(index_myFamily: &
|
constitutive_dislotwin_rhoEdge0(f,myInstance)
|
||||||
index_myFamily+constitutive_dislotwin_Nslip(f)-1_pInt) = constitutive_dislotwin_rhoEdgeDip0(f,myInstance)
|
rhoEdgeDip0(index_myFamily+1_pInt: &
|
||||||
|
index_myFamily+constitutive_dislotwin_Nslip(f,myInstance)) = &
|
||||||
|
constitutive_dislotwin_rhoEdgeDip0(f,myInstance)
|
||||||
|
enddo
|
||||||
|
|
||||||
constitutive_dislotwin_stateInit(1_pInt:ns) = rhoEdge0
|
constitutive_dislotwin_stateInit(1_pInt:ns) = rhoEdge0
|
||||||
constitutive_dislotwin_stateInit(ns+1_pInt:2_pInt*ns) = rhoEdgeDip0
|
constitutive_dislotwin_stateInit(ns+1_pInt:2_pInt*ns) = rhoEdgeDip0
|
||||||
|
|
||||||
!* Initialize dependent slip microstructural variables
|
!* Initialize dependent slip microstructural variables
|
||||||
forall (s = 1_pInt:ns) &
|
forall (i = 1_pInt:ns) &
|
||||||
invLambdaSlip0(s) = sqrt(dot_product((rhoEdge0+rhoEdgeDip0),constitutive_dislotwin_forestProjectionEdge(1:ns,s,myInstance)))/ &
|
invLambdaSlip0(i) = sqrt(dot_product((rhoEdge0+rhoEdgeDip0),constitutive_dislotwin_forestProjectionEdge(1:ns,i,myInstance)))/ &
|
||||||
constitutive_dislotwin_CLambdaSlipPerSlipSystem(s,myInstance)
|
constitutive_dislotwin_CLambdaSlipPerSlipSystem(i,myInstance)
|
||||||
constitutive_dislotwin_stateInit(2_pInt*ns+nt+1_pInt:3_pInt*ns+nt) = invLambdaSlip0
|
constitutive_dislotwin_stateInit(2_pInt*ns+nt+1_pInt:3_pInt*ns+nt) = invLambdaSlip0
|
||||||
|
|
||||||
forall (s = 1_pInt:ns) &
|
forall (i = 1_pInt:ns) &
|
||||||
MeanFreePathSlip0(s) = &
|
MeanFreePathSlip0(i) = &
|
||||||
constitutive_dislotwin_GrainSize(myInstance)/(1.0_pReal+invLambdaSlip0(s)*constitutive_dislotwin_GrainSize(myInstance))
|
constitutive_dislotwin_GrainSize(myInstance)/(1.0_pReal+invLambdaSlip0(i)*constitutive_dislotwin_GrainSize(myInstance))
|
||||||
constitutive_dislotwin_stateInit(4_pInt*ns+2_pInt*nt+1:5_pInt*ns+2_pInt*nt) = MeanFreePathSlip0
|
constitutive_dislotwin_stateInit(4_pInt*ns+2_pInt*nt+1:5_pInt*ns+2_pInt*nt) = MeanFreePathSlip0
|
||||||
|
|
||||||
forall (s = 1_pInt:ns) &
|
forall (i = 1_pInt:ns) &
|
||||||
tauSlipThreshold0(s) = constitutive_dislotwin_SolidSolutionStrength(myInstance) + &
|
tauSlipThreshold0(i) = constitutive_dislotwin_SolidSolutionStrength(myInstance) + &
|
||||||
constitutive_dislotwin_Gmod(myInstance)*constitutive_dislotwin_burgersPerSlipSystem(s,myInstance) * &
|
constitutive_dislotwin_Gmod(myInstance)*constitutive_dislotwin_burgersPerSlipSystem(i,myInstance) * &
|
||||||
sqrt(dot_product((rhoEdge0+rhoEdgeDip0),constitutive_dislotwin_interactionMatrix_SlipSlip(s,1:ns,myInstance)))
|
sqrt(dot_product((rhoEdge0+rhoEdgeDip0),constitutive_dislotwin_interactionMatrix_SlipSlip(i,1:ns,myInstance)))
|
||||||
constitutive_dislotwin_stateInit(5_pInt*ns+3_pInt*nt+1:6_pInt*ns+3_pInt*nt) = tauSlipThreshold0
|
constitutive_dislotwin_stateInit(5_pInt*ns+3_pInt*nt+1:6_pInt*ns+3_pInt*nt) = tauSlipThreshold0
|
||||||
|
|
||||||
!* Initialize dependent twin microstructural variables
|
!* Initialize dependent twin microstructural variables
|
||||||
forall (t = 1_pInt:nt) &
|
forall (j = 1_pInt:nt) &
|
||||||
MeanFreePathTwin0(t) = constitutive_dislotwin_GrainSize(myInstance)
|
MeanFreePathTwin0(j) = constitutive_dislotwin_GrainSize(myInstance)
|
||||||
constitutive_dislotwin_stateInit(5_pInt*ns+2_pInt*nt+1_pInt:5_pInt*ns+3_pInt*nt) = MeanFreePathTwin0
|
constitutive_dislotwin_stateInit(5_pInt*ns+2_pInt*nt+1_pInt:5_pInt*ns+3_pInt*nt) = MeanFreePathTwin0
|
||||||
|
|
||||||
forall (t = 1_pInt:nt) &
|
forall (j = 1_pInt:nt) &
|
||||||
TwinVolume0(t) = &
|
TwinVolume0(j) = &
|
||||||
(pi/6.0_pReal)*constitutive_dislotwin_twinsizePerTwinSystem(t,myInstance)*MeanFreePathTwin0(t)**(2.0_pReal)
|
(pi/6.0_pReal)*constitutive_dislotwin_twinsizePerTwinSystem(j,myInstance)*MeanFreePathTwin0(j)**(2.0_pReal)
|
||||||
constitutive_dislotwin_stateInit(6_pInt*ns+4_pInt*nt+1_pInt:6_pInt*ns+5_pInt*nt) = TwinVolume0
|
constitutive_dislotwin_stateInit(6_pInt*ns+4_pInt*nt+1_pInt:6_pInt*ns+5_pInt*nt) = TwinVolume0
|
||||||
|
|
||||||
!write(6,*) '#STATEINIT#'
|
!write(6,*) '#STATEINIT#'
|
||||||
!write(6,*)
|
!write(6,*)
|
||||||
|
@ -756,7 +759,6 @@ forall (t = 1_pInt:nt) &
|
||||||
!write(6,'(a,/,4(3(f30.20,1x)/))') 'MeanFreePathTwin', MeanFreePathTwin0
|
!write(6,'(a,/,4(3(f30.20,1x)/))') 'MeanFreePathTwin', MeanFreePathTwin0
|
||||||
!write(6,'(a,/,4(3(f30.20,1x)/))') 'TwinVolume', TwinVolume0
|
!write(6,'(a,/,4(3(f30.20,1x)/))') 'TwinVolume', TwinVolume0
|
||||||
|
|
||||||
return
|
|
||||||
end function
|
end function
|
||||||
|
|
||||||
|
|
||||||
|
@ -773,8 +775,7 @@ real(pReal), dimension(constitutive_dislotwin_sizeState(myInstance)) :: constitu
|
||||||
|
|
||||||
constitutive_dislotwin_aTolState = constitutive_dislotwin_aTolRho(myInstance)
|
constitutive_dislotwin_aTolState = constitutive_dislotwin_aTolRho(myInstance)
|
||||||
|
|
||||||
return
|
end function constitutive_dislotwin_aTolState
|
||||||
endfunction
|
|
||||||
|
|
||||||
|
|
||||||
pure function constitutive_dislotwin_homogenizedC(state,g,ip,el)
|
pure function constitutive_dislotwin_homogenizedC(state,g,ip,el)
|
||||||
|
@ -813,7 +814,6 @@ do i=1_pInt,nt
|
||||||
constitutive_dislotwin_homogenizedC + state(g,ip,el)%p(2_pInt*ns+i)*constitutive_dislotwin_Ctwin_66(:,:,i,myInstance)
|
constitutive_dislotwin_homogenizedC + state(g,ip,el)%p(2_pInt*ns+i)*constitutive_dislotwin_Ctwin_66(:,:,i,myInstance)
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
return
|
|
||||||
end function
|
end function
|
||||||
|
|
||||||
|
|
||||||
|
@ -940,8 +940,6 @@ forall (t = 1_pInt:nt) &
|
||||||
! write(6,'(a,/,4(3(f10.4,1x)/))') 'Fraction',state(g,ip,el)%p(2*ns+1:2*ns+nt)
|
! write(6,'(a,/,4(3(f10.4,1x)/))') 'Fraction',state(g,ip,el)%p(2*ns+1:2*ns+nt)
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
|
|
||||||
return
|
|
||||||
end subroutine
|
end subroutine
|
||||||
|
|
||||||
|
|
||||||
|
@ -1163,7 +1161,6 @@ dLp_dTstar = math_Plain3333to99(dLp_dTstar3333)
|
||||||
! write(6,'(a,/,9(9(f10.4,1x)/))') 'dLp_dTstar',dLp_dTstar
|
! write(6,'(a,/,9(9(f10.4,1x)/))') 'dLp_dTstar',dLp_dTstar
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
return
|
|
||||||
end subroutine
|
end subroutine
|
||||||
|
|
||||||
|
|
||||||
|
@ -1336,7 +1333,6 @@ enddo
|
||||||
!write(6,'(a,/,4(3(f30.20,1x)/))') 'SingleDipole',DotRhoEdgeDipAnnihilation
|
!write(6,'(a,/,4(3(f30.20,1x)/))') 'SingleDipole',DotRhoEdgeDipAnnihilation
|
||||||
!write(6,'(a,/,4(3(f30.20,1x)/))') 'DipClimb',DotRhoEdgeDipClimb
|
!write(6,'(a,/,4(3(f30.20,1x)/))') 'DipClimb',DotRhoEdgeDipClimb
|
||||||
|
|
||||||
return
|
|
||||||
end function
|
end function
|
||||||
|
|
||||||
|
|
||||||
|
@ -1373,8 +1369,7 @@ real(pReal), dimension(constitutive_dislotwin_sizeDotState(phase_plasticityInsta
|
||||||
|
|
||||||
|
|
||||||
constitutive_dislotwin_deltaState = 0.0_pReal
|
constitutive_dislotwin_deltaState = 0.0_pReal
|
||||||
|
end function
|
||||||
endfunction
|
|
||||||
|
|
||||||
|
|
||||||
pure function constitutive_dislotwin_dotTemperature(Tstar_v,Temperature,state,g,ip,el)
|
pure function constitutive_dislotwin_dotTemperature(Tstar_v,Temperature,state,g,ip,el)
|
||||||
|
@ -1402,8 +1397,6 @@ type(p_vec), dimension(homogenization_maxNgrains,mesh_maxNips,mesh_NcpElems), in
|
||||||
real(pReal) constitutive_dislotwin_dotTemperature
|
real(pReal) constitutive_dislotwin_dotTemperature
|
||||||
|
|
||||||
constitutive_dislotwin_dotTemperature = 0.0_pReal
|
constitutive_dislotwin_dotTemperature = 0.0_pReal
|
||||||
|
|
||||||
return
|
|
||||||
end function
|
end function
|
||||||
|
|
||||||
|
|
||||||
|
@ -1640,7 +1633,6 @@ do o = 1_pInt,phase_Noutput(material_phase(g,ip,el))
|
||||||
end select
|
end select
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
return
|
|
||||||
end function
|
end function
|
||||||
|
|
||||||
END MODULE
|
END MODULE
|
||||||
|
|
183
code/lattice.f90
183
code/lattice.f90
|
@ -154,7 +154,7 @@ module lattice
|
||||||
],[lattice_fcc_Ntwin]) !< Twin system <112>{111} Sorted according to Eisenlohr & Hantcherli
|
],[lattice_fcc_Ntwin]) !< Twin system <112>{111} Sorted according to Eisenlohr & Hantcherli
|
||||||
|
|
||||||
integer(pInt), dimension(lattice_fcc_Nslip,lattice_fcc_Nslip), target, private :: &
|
integer(pInt), dimension(lattice_fcc_Nslip,lattice_fcc_Nslip), target, private :: &
|
||||||
lattice_fcc_interactionSlipSlip = transpose(reshape(int( [&
|
lattice_fcc_interactionSlipSlip = reshape(int( [&
|
||||||
1,2,2,4,6,5,3,5,5,4,5,6, & ! ---> slip
|
1,2,2,4,6,5,3,5,5,4,5,6, & ! ---> slip
|
||||||
2,1,2,6,4,5,5,4,6,5,3,5, & ! |
|
2,1,2,6,4,5,5,4,6,5,3,5, & ! |
|
||||||
2,2,1,5,5,3,5,6,4,6,5,4, & ! |
|
2,2,1,5,5,3,5,6,4,6,5,4, & ! |
|
||||||
|
@ -167,7 +167,7 @@ module lattice
|
||||||
4,5,6,3,5,5,4,6,5,1,2,2, &
|
4,5,6,3,5,5,4,6,5,1,2,2, &
|
||||||
5,3,5,5,4,6,6,4,5,2,1,2, &
|
5,3,5,5,4,6,6,4,5,2,1,2, &
|
||||||
6,5,4,5,6,4,5,5,3,2,2,1 &
|
6,5,4,5,6,4,5,5,3,2,2,1 &
|
||||||
],pInt),[lattice_fcc_Nslip,lattice_fcc_Nslip]))
|
],pInt),[lattice_fcc_Nslip,lattice_fcc_Nslip],order=[2,1])
|
||||||
!< Interaction types
|
!< Interaction types
|
||||||
!< 1 --- self interaction
|
!< 1 --- self interaction
|
||||||
!< 2 --- coplanar interaction
|
!< 2 --- coplanar interaction
|
||||||
|
@ -177,7 +177,7 @@ module lattice
|
||||||
!< 6 --- Lomer locks
|
!< 6 --- Lomer locks
|
||||||
|
|
||||||
integer(pInt), dimension(lattice_fcc_Nslip,lattice_fcc_Ntwin), target, private :: &
|
integer(pInt), dimension(lattice_fcc_Nslip,lattice_fcc_Ntwin), target, private :: &
|
||||||
lattice_fcc_interactionSlipTwin = transpose(reshape(int( [&
|
lattice_fcc_interactionSlipTwin = reshape(int( [&
|
||||||
1,1,1,3,3,3,2,2,2,3,3,3, & ! ---> twin
|
1,1,1,3,3,3,2,2,2,3,3,3, & ! ---> twin
|
||||||
1,1,1,3,3,3,3,3,3,2,2,2, & ! |
|
1,1,1,3,3,3,3,3,3,2,2,2, & ! |
|
||||||
1,1,1,2,2,2,3,3,3,3,3,3, & ! |
|
1,1,1,2,2,2,3,3,3,3,3,3, & ! |
|
||||||
|
@ -190,7 +190,7 @@ module lattice
|
||||||
3,3,3,2,2,2,3,3,3,1,1,1, &
|
3,3,3,2,2,2,3,3,3,1,1,1, &
|
||||||
2,2,2,3,3,3,3,3,3,1,1,1, &
|
2,2,2,3,3,3,3,3,3,1,1,1, &
|
||||||
3,3,3,3,3,3,2,2,2,1,1,1 &
|
3,3,3,3,3,3,2,2,2,1,1,1 &
|
||||||
],pInt),[lattice_fcc_Ntwin,lattice_fcc_Nslip]))
|
],pInt),[lattice_fcc_Nslip,lattice_fcc_Ntwin],order=[2,1])
|
||||||
!< Interaction types
|
!< Interaction types
|
||||||
!< 1 --- coplanar interaction
|
!< 1 --- coplanar interaction
|
||||||
!< 2 --- colinenar interaction
|
!< 2 --- colinenar interaction
|
||||||
|
@ -200,7 +200,7 @@ module lattice
|
||||||
lattice_fcc_interactionTwinSlip = 0_pInt
|
lattice_fcc_interactionTwinSlip = 0_pInt
|
||||||
|
|
||||||
integer(pInt), dimension(lattice_fcc_Ntwin,lattice_fcc_Ntwin), target, private :: &
|
integer(pInt), dimension(lattice_fcc_Ntwin,lattice_fcc_Ntwin), target, private :: &
|
||||||
lattice_fcc_interactionTwinTwin = transpose(reshape(int( [&
|
lattice_fcc_interactionTwinTwin = reshape(int( [&
|
||||||
1,1,1,2,2,2,2,2,2,2,2,2, & ! ---> twin
|
1,1,1,2,2,2,2,2,2,2,2,2, & ! ---> twin
|
||||||
1,1,1,2,2,2,2,2,2,2,2,2, & ! |
|
1,1,1,2,2,2,2,2,2,2,2,2, & ! |
|
||||||
1,1,1,2,2,2,2,2,2,2,2,2, & ! |
|
1,1,1,2,2,2,2,2,2,2,2,2, & ! |
|
||||||
|
@ -213,20 +213,20 @@ module lattice
|
||||||
2,2,2,2,2,2,2,2,2,1,1,1, &
|
2,2,2,2,2,2,2,2,2,1,1,1, &
|
||||||
2,2,2,2,2,2,2,2,2,1,1,1, &
|
2,2,2,2,2,2,2,2,2,1,1,1, &
|
||||||
2,2,2,2,2,2,2,2,2,1,1,1 &
|
2,2,2,2,2,2,2,2,2,1,1,1 &
|
||||||
],pInt),[lattice_fcc_Ntwin,lattice_fcc_Ntwin]))
|
],pInt),[lattice_fcc_Ntwin,lattice_fcc_Ntwin],order=[2,1])
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
! bcc (2)
|
! bcc (2)
|
||||||
|
|
||||||
integer(pInt), dimension(lattice_maxNslipFamily), parameter, private :: &
|
integer(pInt), dimension(lattice_maxNslipFamily), parameter, private :: &
|
||||||
lattice_bcc_NslipSystem = int([ 12,12,24, 0, 0], pInt)
|
lattice_bcc_NslipSystem = int([ 12, 12, 0, 0, 0], pInt)
|
||||||
|
|
||||||
integer(pInt), dimension(lattice_maxNtwinFamily), parameter, private :: &
|
integer(pInt), dimension(lattice_maxNtwinFamily), parameter, private :: &
|
||||||
lattice_bcc_NtwinSystem = int([ 12, 0, 0, 0], pInt)
|
lattice_bcc_NtwinSystem = int([ 12, 0, 0, 0], pInt)
|
||||||
|
|
||||||
integer(pInt), parameter, private :: &
|
integer(pInt), parameter, private :: &
|
||||||
lattice_bcc_Nslip = 48_pInt ! sum(lattice_bcc_NslipSystem)
|
lattice_bcc_Nslip = 24_pInt ! sum(lattice_bcc_NslipSystem)
|
||||||
|
|
||||||
integer(pInt), parameter, private :: &
|
integer(pInt), parameter, private :: &
|
||||||
lattice_bcc_Ntwin = 12_pInt ! sum(lattice_bcc_NtwinSystem)
|
lattice_bcc_Ntwin = 12_pInt ! sum(lattice_bcc_NtwinSystem)
|
||||||
|
@ -261,32 +261,32 @@ module lattice
|
||||||
1, 1,-1, 1, 1, 2, &
|
1, 1,-1, 1, 1, 2, &
|
||||||
1,-1, 1, -1, 1, 2, &
|
1,-1, 1, -1, 1, 2, &
|
||||||
-1, 1, 1, 1,-1, 2, &
|
-1, 1, 1, 1,-1, 2, &
|
||||||
1, 1, 1, 1, 1,-2, &
|
1, 1, 1, 1, 1,-2 &
|
||||||
! Slip system <111>{123}
|
! Slip system <111>{123}
|
||||||
! 1, 1,-1, 1, 2, 3, &
|
! 1, 1,-1, 1, 2, 3, &
|
||||||
! 1,-1, 1, -1, 2, 3, &
|
! 1,-1, 1, -1, 2, 3, &
|
||||||
!-1, 1, 1, 1,-2, 3, &
|
! -1, 1, 1, 1,-2, 3, &
|
||||||
! 1, 1, 1, 1, 2,-3, &
|
! 1, 1, 1, 1, 2,-3, &
|
||||||
! 1,-1, 1, 1, 3, 2, &
|
! 1,-1, 1, 1, 3, 2, &
|
||||||
! 1, 1,-1, -1, 3, 2, &
|
! 1, 1,-1, -1, 3, 2, &
|
||||||
! 1, 1, 1, 1,-3, 2, &
|
! 1, 1, 1, 1,-3, 2, &
|
||||||
!-1, 1, 1, 1, 3,-2, &
|
! -1, 1, 1, 1, 3,-2, &
|
||||||
! 1, 1,-1, 2, 1, 3, &
|
! 1, 1,-1, 2, 1, 3, &
|
||||||
! 1,-1, 1, -2, 1, 3, &
|
! 1,-1, 1, -2, 1, 3, &
|
||||||
!-1, 1, 1, 2,-1, 3, &
|
! -1, 1, 1, 2,-1, 3, &
|
||||||
! 1, 1, 1, 2, 1,-3, &
|
! 1, 1, 1, 2, 1,-3, &
|
||||||
! 1,-1, 1, 2, 3, 1, &
|
! 1,-1, 1, 2, 3, 1, &
|
||||||
! 1, 1,-1, -2, 3, 1, &
|
! 1, 1,-1, -2, 3, 1, &
|
||||||
! 1, 1, 1, 2,-3, 1, &
|
! 1, 1, 1, 2,-3, 1, &
|
||||||
!-1, 1, 1, 2, 3,-1, &
|
! -1, 1, 1, 2, 3,-1, &
|
||||||
!-1, 1, 1, 3, 1, 2, &
|
! -1, 1, 1, 3, 1, 2, &
|
||||||
! 1, 1, 1, -3, 1, 2, &
|
! 1, 1, 1, -3, 1, 2, &
|
||||||
! 1, 1,-1, 3,-1, 2, &
|
! 1, 1,-1, 3,-1, 2, &
|
||||||
! 1,-1, 1, 3, 1,-2, &
|
! 1,-1, 1, 3, 1,-2, &
|
||||||
!-1, 1, 1, 3, 2, 1, &
|
! -1, 1, 1, 3, 2, 1, &
|
||||||
! 1, 1, 1, -3, 2, 1, &
|
! 1, 1, 1, -3, 2, 1, &
|
||||||
! 1, 1,-1, 3,-2, 1, &
|
! 1, 1,-1, 3,-2, 1, &
|
||||||
! 1,-1, 1, 3, 2,-1 &
|
! 1,-1, 1, 3, 2,-1 &
|
||||||
],pReal),[ 3_pInt + 3_pInt ,lattice_bcc_Nslip])
|
],pReal),[ 3_pInt + 3_pInt ,lattice_bcc_Nslip])
|
||||||
|
|
||||||
real(pReal), dimension(3+3,lattice_bcc_Ntwin), parameter, private :: &
|
real(pReal), dimension(3+3,lattice_bcc_Ntwin), parameter, private :: &
|
||||||
|
@ -324,59 +324,35 @@ module lattice
|
||||||
|
|
||||||
!> slip--slip interactions for BCC structures (2)
|
!> slip--slip interactions for BCC structures (2)
|
||||||
integer(pInt), dimension(lattice_bcc_Nslip,lattice_bcc_Nslip), target, private :: &
|
integer(pInt), dimension(lattice_bcc_Nslip,lattice_bcc_Nslip), target, private :: &
|
||||||
lattice_bcc_interactionSlipSlip = transpose(reshape(int( [&
|
lattice_bcc_interactionSlipSlip = reshape(int( [&
|
||||||
1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, & ! ---> slip
|
1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, & ! ---> slip
|
||||||
2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, & ! |
|
2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, & ! |
|
||||||
2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, & ! |
|
2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, & ! |
|
||||||
2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, & ! v slip
|
2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, & ! v slip
|
||||||
2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
||||||
2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
||||||
2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
||||||
2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
||||||
2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
||||||
2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
||||||
2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
||||||
2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2, &
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2, &
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2, &
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2, &
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2, &
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2, &
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2, &
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2, &
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2, &
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2, &
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2, &
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2, &
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1 &
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
],pInt),[lattice_bcc_Nslip,lattice_bcc_Nslip],order=[2,1])
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2, &
|
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2, &
|
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2, &
|
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2, &
|
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2, &
|
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2, &
|
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2, &
|
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2, &
|
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2, &
|
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2, &
|
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2, &
|
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2, &
|
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2, &
|
|
||||||
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1 &
|
|
||||||
],pInt),[lattice_bcc_Nslip,lattice_bcc_Nslip]))
|
|
||||||
|
|
||||||
integer(pInt), dimension(lattice_bcc_Nslip,lattice_bcc_Ntwin), target, private :: &
|
integer(pInt), dimension(lattice_bcc_Nslip,lattice_bcc_Ntwin), target, private :: &
|
||||||
lattice_bcc_interactionSlipTwin = transpose(reshape(int( [&
|
lattice_bcc_interactionSlipTwin = reshape(int( [&
|
||||||
3,3,3,2,2,3,3,3,3,2,3,3, & ! ---> twin
|
3,3,3,2,2,3,3,3,3,2,3,3, & ! ---> twin
|
||||||
3,3,2,3,3,2,3,3,2,3,3,3, & ! |
|
3,3,2,3,3,2,3,3,2,3,3,3, & ! |
|
||||||
3,2,3,3,3,3,2,3,3,3,3,2, & ! |
|
3,2,3,3,3,3,2,3,3,3,3,2, & ! |
|
||||||
|
@ -400,33 +376,20 @@ module lattice
|
||||||
3,3,2,3,3,2,3,3,1,3,3,3, &
|
3,3,2,3,3,2,3,3,1,3,3,3, &
|
||||||
3,3,3,2,2,3,3,3,3,1,3,3, &
|
3,3,3,2,2,3,3,3,3,1,3,3, &
|
||||||
2,3,3,3,3,3,3,2,3,3,1,3, &
|
2,3,3,3,3,3,3,2,3,3,1,3, &
|
||||||
3,2,3,3,3,3,2,3,3,3,3,1 &
|
3,2,3,3,3,3,2,3,3,3,3,1 &
|
||||||
],pInt),[lattice_bcc_Ntwin,lattice_bcc_Nslip]))
|
],pInt),[lattice_bcc_Nslip,lattice_bcc_Ntwin],order=[2,1])
|
||||||
!< Interaction types
|
!< Interaction types
|
||||||
!< 1 --- coplanar interaction
|
!< 1 --- coplanar interaction
|
||||||
!< 2 --- colinenar interaction
|
!< 2 --- colinear interaction
|
||||||
!< 3 --- hardened interaction
|
!< 3 --- hardened interaction
|
||||||
|
|
||||||
!>twin--slip interactions for BCC structures (2) MISSING: not implemented yet
|
!>twin--slip interactions for BCC structures (2) MISSING: not implemented yet
|
||||||
integer(pInt), dimension(lattice_bcc_Ntwin,lattice_bcc_Nslip), target, private :: &
|
integer(pInt), dimension(lattice_bcc_Ntwin,lattice_bcc_Nslip), target, private :: &
|
||||||
lattice_fcc_interactionTwinSlip = 0_pInt
|
lattice_bcc_interactionTwinSlip = 0_pInt
|
||||||
|
|
||||||
!> twin-twin interactions for BCC structures (2) MISSING: not implemented yet
|
!> twin-twin interactions for BCC structures (2) MISSING: not implemented yet
|
||||||
integer(pInt), dimension(lattice_bcc_Ntwin,lattice_bcc_Ntwin), target, private :: &
|
integer(pInt), dimension(lattice_bcc_Ntwin,lattice_bcc_Ntwin), target, private :: &
|
||||||
lattice_bcc_interactionTwinTwin = transpose(reshape(int( [&
|
lattice_bcc_interactionTwinTwin = 0_pInt
|
||||||
0,0,0,0,0,0,0,0,0,0,0,0, & ! ---> twin
|
|
||||||
0,0,0,0,0,0,0,0,0,0,0,0, & ! |
|
|
||||||
0,0,0,0,0,0,0,0,0,0,0,0, & ! |
|
|
||||||
0,0,0,0,0,0,0,0,0,0,0,0, & ! v twin
|
|
||||||
0,0,0,0,0,0,0,0,0,0,0,0, &
|
|
||||||
0,0,0,0,0,0,0,0,0,0,0,0, &
|
|
||||||
0,0,0,0,0,0,0,0,0,0,0,0, &
|
|
||||||
0,0,0,0,0,0,0,0,0,0,0,0, &
|
|
||||||
0,0,0,0,0,0,0,0,0,0,0,0, &
|
|
||||||
0,0,0,0,0,0,0,0,0,0,0,0, &
|
|
||||||
0,0,0,0,0,0,0,0,0,0,0,0, &
|
|
||||||
0,0,0,0,0,0,0,0,0,0,0,0 &
|
|
||||||
],pInt),[lattice_bcc_Ntwin,lattice_bcc_Ntwin]))
|
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
@ -550,7 +513,7 @@ module lattice
|
||||||
!* 4. twin-slip interaction - 16 types
|
!* 4. twin-slip interaction - 16 types
|
||||||
|
|
||||||
integer(pInt), dimension(lattice_hex_Nslip,lattice_hex_Nslip), target, private :: &
|
integer(pInt), dimension(lattice_hex_Nslip,lattice_hex_Nslip), target, private :: &
|
||||||
lattice_hex_interactionSlipSlip = transpose(reshape(int( [&
|
lattice_hex_interactionSlipSlip = reshape(int( [&
|
||||||
1, 6, 6, 11,11,11, 15,15,15,15,15,15, 18,18,18,18,18,18,18,18,18,18,18,18, 20,20,20,20,20,20, & ! ---> slip
|
1, 6, 6, 11,11,11, 15,15,15,15,15,15, 18,18,18,18,18,18,18,18,18,18,18,18, 20,20,20,20,20,20, & ! ---> slip
|
||||||
6, 1, 6, 11,11,11, 15,15,15,15,15,15, 18,18,18,18,18,18,18,18,18,18,18,18, 20,20,20,20,20,20, & ! |
|
6, 1, 6, 11,11,11, 15,15,15,15,15,15, 18,18,18,18,18,18,18,18,18,18,18,18, 20,20,20,20,20,20, & ! |
|
||||||
6, 6, 1, 11,11,11, 15,15,15,15,15,15, 18,18,18,18,18,18,18,18,18,18,18,18, 20,20,20,20,20,20, & ! |
|
6, 6, 1, 11,11,11, 15,15,15,15,15,15, 18,18,18,18,18,18,18,18,18,18,18,18, 20,20,20,20,20,20, & ! |
|
||||||
|
@ -585,11 +548,11 @@ module lattice
|
||||||
30,30,30, 29,29,29, 27,27,27,27,27,27, 24,24,24,24,24,24,24,24,24,24,24,24, 10,10,10, 5,10,10, &
|
30,30,30, 29,29,29, 27,27,27,27,27,27, 24,24,24,24,24,24,24,24,24,24,24,24, 10,10,10, 5,10,10, &
|
||||||
30,30,30, 29,29,29, 27,27,27,27,27,27, 24,24,24,24,24,24,24,24,24,24,24,24, 10,10,10,10, 5,10, &
|
30,30,30, 29,29,29, 27,27,27,27,27,27, 24,24,24,24,24,24,24,24,24,24,24,24, 10,10,10,10, 5,10, &
|
||||||
30,30,30, 29,29,29, 27,27,27,27,27,27, 24,24,24,24,24,24,24,24,24,24,24,24, 10,10,10,10,10, 5 &
|
30,30,30, 29,29,29, 27,27,27,27,27,27, 24,24,24,24,24,24,24,24,24,24,24,24, 10,10,10,10,10, 5 &
|
||||||
],pInt),[lattice_hex_Nslip,lattice_hex_Nslip]))
|
],pInt),[lattice_hex_Nslip,lattice_hex_Nslip],order=[2,1])
|
||||||
|
|
||||||
!* isotropic interaction at the moment
|
!* isotropic interaction at the moment
|
||||||
integer(pInt), dimension(lattice_hex_Nslip,lattice_hex_Ntwin), target, private :: &
|
integer(pInt), dimension(lattice_hex_Nslip,lattice_hex_Ntwin), target, private :: &
|
||||||
lattice_hex_interactionSlipTwin = transpose(reshape(int( [&
|
lattice_hex_interactionSlipTwin = reshape(int( [&
|
||||||
1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, & ! --> twin
|
1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, & ! --> twin
|
||||||
1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, & ! |
|
1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, & ! |
|
||||||
1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, & ! |
|
1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, & ! |
|
||||||
|
@ -624,11 +587,11 @@ module lattice
|
||||||
17,17,17,17,17,17, 18,18,18,18,18,18, 19,19,19,19,19,19, 20,20,20,20,20,20, &
|
17,17,17,17,17,17, 18,18,18,18,18,18, 19,19,19,19,19,19, 20,20,20,20,20,20, &
|
||||||
17,17,17,17,17,17, 18,18,18,18,18,18, 19,19,19,19,19,19, 20,20,20,20,20,20, &
|
17,17,17,17,17,17, 18,18,18,18,18,18, 19,19,19,19,19,19, 20,20,20,20,20,20, &
|
||||||
17,17,17,17,17,17, 18,18,18,18,18,18, 19,19,19,19,19,19, 20,20,20,20,20,20 &
|
17,17,17,17,17,17, 18,18,18,18,18,18, 19,19,19,19,19,19, 20,20,20,20,20,20 &
|
||||||
],pInt),[lattice_hex_Ntwin,lattice_hex_Nslip]))
|
],pInt),[lattice_hex_Nslip,lattice_hex_Ntwin],order=[2,1])
|
||||||
|
|
||||||
!* isotropic interaction at the moment
|
!* isotropic interaction at the moment
|
||||||
integer(pInt), dimension(lattice_hex_Ntwin,lattice_hex_Nslip), target, private :: &
|
integer(pInt), dimension(lattice_hex_Ntwin,lattice_hex_Nslip), target, private :: &
|
||||||
lattice_hex_interactionTwinSlip = transpose(reshape(int( [&
|
lattice_hex_interactionTwinSlip = reshape(int( [&
|
||||||
1, 1, 1, 5, 5, 5, 9, 9, 9, 9, 9, 9, 13,13,13,13,13,13,13,13,13,13,13,13, 17,17,17,17,17,17, & ! --> slip
|
1, 1, 1, 5, 5, 5, 9, 9, 9, 9, 9, 9, 13,13,13,13,13,13,13,13,13,13,13,13, 17,17,17,17,17,17, & ! --> slip
|
||||||
1, 1, 1, 5, 5, 5, 9, 9, 9, 9, 9, 9, 13,13,13,13,13,13,13,13,13,13,13,13, 17,17,17,17,17,17, & ! |
|
1, 1, 1, 5, 5, 5, 9, 9, 9, 9, 9, 9, 13,13,13,13,13,13,13,13,13,13,13,13, 17,17,17,17,17,17, & ! |
|
||||||
1, 1, 1, 5, 5, 5, 9, 9, 9, 9, 9, 9, 13,13,13,13,13,13,13,13,13,13,13,13, 17,17,17,17,17,17, & ! |
|
1, 1, 1, 5, 5, 5, 9, 9, 9, 9, 9, 9, 13,13,13,13,13,13,13,13,13,13,13,13, 17,17,17,17,17,17, & ! |
|
||||||
|
@ -656,11 +619,11 @@ module lattice
|
||||||
4, 4, 4, 8, 8, 8, 12,12,12,12,12,12, 16,16,16,16,16,16,16,16,16,16,16,16, 20,20,20,20,20,20, &
|
4, 4, 4, 8, 8, 8, 12,12,12,12,12,12, 16,16,16,16,16,16,16,16,16,16,16,16, 20,20,20,20,20,20, &
|
||||||
4, 4, 4, 8, 8, 8, 12,12,12,12,12,12, 16,16,16,16,16,16,16,16,16,16,16,16, 20,20,20,20,20,20, &
|
4, 4, 4, 8, 8, 8, 12,12,12,12,12,12, 16,16,16,16,16,16,16,16,16,16,16,16, 20,20,20,20,20,20, &
|
||||||
4, 4, 4, 8, 8, 8, 12,12,12,12,12,12, 16,16,16,16,16,16,16,16,16,16,16,16, 20,20,20,20,20,20 &
|
4, 4, 4, 8, 8, 8, 12,12,12,12,12,12, 16,16,16,16,16,16,16,16,16,16,16,16, 20,20,20,20,20,20 &
|
||||||
],pInt),[lattice_hex_Nslip,lattice_hex_Ntwin]))
|
],pInt),[lattice_hex_Ntwin,lattice_hex_Nslip],order=[2,1])
|
||||||
|
|
||||||
|
|
||||||
integer(pInt), dimension(lattice_hex_Ntwin,lattice_hex_Ntwin), target, private :: &
|
integer(pInt), dimension(lattice_hex_Ntwin,lattice_hex_Ntwin), target, private :: &
|
||||||
lattice_hex_interactionTwinTwin = transpose(reshape(int( [&
|
lattice_hex_interactionTwinTwin = reshape(int( [&
|
||||||
1, 5, 5, 5, 5, 5, 9, 9, 9, 9, 9, 9, 12,12,12,12,12,12, 14,14,14,14,14,14, & ! ---> twin
|
1, 5, 5, 5, 5, 5, 9, 9, 9, 9, 9, 9, 12,12,12,12,12,12, 14,14,14,14,14,14, & ! ---> twin
|
||||||
5, 1, 5, 5, 5, 5, 9, 9, 9, 9, 9, 9, 12,12,12,12,12,12, 14,14,14,14,14,14, & ! |
|
5, 1, 5, 5, 5, 5, 9, 9, 9, 9, 9, 9, 12,12,12,12,12,12, 14,14,14,14,14,14, & ! |
|
||||||
5, 5, 1, 5, 5, 5, 9, 9, 9, 9, 9, 9, 12,12,12,12,12,12, 14,14,14,14,14,14, & ! |
|
5, 5, 1, 5, 5, 5, 9, 9, 9, 9, 9, 9, 12,12,12,12,12,12, 14,14,14,14,14,14, & ! |
|
||||||
|
@ -688,7 +651,7 @@ module lattice
|
||||||
20,20,20,20,20,20, 19,19,19,19,19,19, 17,17,17,17,17,17, 8, 8, 8, 4, 8, 8, &
|
20,20,20,20,20,20, 19,19,19,19,19,19, 17,17,17,17,17,17, 8, 8, 8, 4, 8, 8, &
|
||||||
20,20,20,20,20,20, 19,19,19,19,19,19, 17,17,17,17,17,17, 8, 8, 8, 8, 4, 8, &
|
20,20,20,20,20,20, 19,19,19,19,19,19, 17,17,17,17,17,17, 8, 8, 8, 8, 4, 8, &
|
||||||
20,20,20,20,20,20, 19,19,19,19,19,19, 17,17,17,17,17,17, 8, 8, 8, 8, 8, 4 &
|
20,20,20,20,20,20, 19,19,19,19,19,19, 17,17,17,17,17,17, 8, 8, 8, 8, 8, 4 &
|
||||||
],pInt),[lattice_hex_Ntwin,lattice_hex_Ntwin]))
|
],pInt),[lattice_hex_Ntwin,lattice_hex_Ntwin],order=[2,1])
|
||||||
|
|
||||||
public :: &
|
public :: &
|
||||||
lattice_init, &
|
lattice_init, &
|
||||||
|
|
Loading…
Reference in New Issue