Changed initialization of projection matrix for transformation based on the number of slip systems
This commit is contained in:
parent
4d587b1bf9
commit
6b0a2ed5a4
|
@ -756,7 +756,7 @@ subroutine plastic_dislotwin_init(fileUnit)
|
||||||
maxNinstance), source=0.0_pReal)
|
maxNinstance), source=0.0_pReal)
|
||||||
allocate(plastic_dislotwin_forestProjectionEdge(maxTotalNslip,maxTotalNslip,maxNinstance), &
|
allocate(plastic_dislotwin_forestProjectionEdge(maxTotalNslip,maxTotalNslip,maxNinstance), &
|
||||||
source=0.0_pReal)
|
source=0.0_pReal)
|
||||||
allocate(plastic_dislotwin_projectionMatrix_Trans(maxTotalNtrans,maxTotalNtrans,maxNinstance), &
|
allocate(plastic_dislotwin_projectionMatrix_Trans(maxTotalNtrans,maxTotalNslip,maxNinstance), &
|
||||||
source=0.0_pReal)
|
source=0.0_pReal)
|
||||||
allocate(plastic_dislotwin_Ctwin66(6,6,maxTotalNtwin,maxNinstance), source=0.0_pReal)
|
allocate(plastic_dislotwin_Ctwin66(6,6,maxTotalNtwin,maxNinstance), source=0.0_pReal)
|
||||||
allocate(plastic_dislotwin_Ctwin3333(3,3,3,3,maxTotalNtwin,maxNinstance), source=0.0_pReal)
|
allocate(plastic_dislotwin_Ctwin3333(3,3,3,3,maxTotalNtwin,maxNinstance), source=0.0_pReal)
|
||||||
|
@ -991,11 +991,11 @@ subroutine plastic_dislotwin_init(fileUnit)
|
||||||
|
|
||||||
!* Projection matrices for shear from slip systems to fault-band (twin) systems for strain-induced martensite nucleation
|
!* Projection matrices for shear from slip systems to fault-band (twin) systems for strain-induced martensite nucleation
|
||||||
do o = 1_pInt,lattice_maxNtransFamily
|
do o = 1_pInt,lattice_maxNtransFamily
|
||||||
index_otherFamily = sum(plastic_dislotwin_Ntrans(1:o-1_pInt,instance))
|
index_otherFamily = sum(plastic_dislotwin_Nslip(1:o-1_pInt,instance))
|
||||||
do k = 1_pInt,plastic_dislotwin_Ntrans(o,instance) ! loop over (active) systems in other family (trans)
|
do k = 1_pInt,plastic_dislotwin_Nslip(o,instance) ! loop over (active) systems in other family (trans)
|
||||||
plastic_dislotwin_projectionMatrix_Trans(index_myFamily+j,index_otherFamily+k,instance) = &
|
plastic_dislotwin_projectionMatrix_Trans(index_myFamily+j,index_otherFamily+k,instance) = &
|
||||||
lattice_projectionTrans( sum(lattice_NtransSystem(1:f-1,phase))+j, &
|
lattice_projectionTrans( sum(lattice_NtransSystem(1:f-1,phase))+j, &
|
||||||
sum(lattice_NtransSystem(1:o-1,phase))+k, phase)
|
sum(lattice_NslipSystem(1:o-1,phase))+k, phase)
|
||||||
enddo; enddo
|
enddo; enddo
|
||||||
|
|
||||||
enddo transSystemsLoop
|
enddo transSystemsLoop
|
||||||
|
@ -1877,9 +1877,9 @@ subroutine plastic_dislotwin_dotState(Tstar_v,Temperature,ipc,ip,el)
|
||||||
|
|
||||||
!* Projection of shear and shear rate on fault band (twin) systems
|
!* Projection of shear and shear rate on fault band (twin) systems
|
||||||
if (nr > 0_pInt) then
|
if (nr > 0_pInt) then
|
||||||
shear_trans = matmul(plastic_dislotwin_projectionMatrix_Trans(1:nr,1:ns,instance), &
|
shear_trans = matmul(plastic_dislotwin_projectionMatrix_Trans(:,:,instance), &
|
||||||
plasticState(ph)%state(2_pInt*ns+1_pInt:3_pInt*ns, of))
|
plasticState(ph)%state(2_pInt*ns+1_pInt:3_pInt*ns, of))
|
||||||
shearrate_trans = matmul(plastic_dislotwin_projectionMatrix_Trans(1:nr,1:ns,instance), &
|
shearrate_trans = matmul(plastic_dislotwin_projectionMatrix_Trans(:,:,instance), &
|
||||||
plasticState(ph)%dotState(2_pInt*ns+1_pInt:3_pInt*ns, of))
|
plasticState(ph)%dotState(2_pInt*ns+1_pInt:3_pInt*ns, of))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue