exchanged mappingConstitutive array for more descriptive "phaseAt and phasememberAt"

This commit is contained in:
Philip Eisenlohr 2016-01-15 00:19:44 +00:00
parent 4b10e4792e
commit 684992bf50
30 changed files with 350 additions and 347 deletions

View File

@ -321,7 +321,7 @@ subroutine CPFEM_general(mode, ffn, ffn1, dt, elFE, ip)
damageState, &
vacancyfluxState, &
hydrogenfluxState, &
mappingConstitutive, &
phaseAt, phasememberAt, &
material_phase, &
phase_plasticity, &
temperature, &
@ -441,7 +441,7 @@ subroutine CPFEM_general(mode, ffn, ffn1, dt, elFE, ip)
if (debug_e <= mesh_NcpElems .and. debug_i <= mesh_maxNips) then
write(6,'(a,1x,i8,1x,i2,1x,i4,/,(12x,6(e20.8,1x)),/)') &
'<< CPFEM >> aged state of elFE ip grain',debug_e, debug_i, 1, &
plasticState(mappingConstitutive(2,1,debug_i,debug_e))%state(:,mappingConstitutive(1,1,debug_i,debug_e))
plasticState(phaseAt(1,debug_i,debug_e))%state(:,phasememberAt(1,debug_i,debug_e))
endif
endif

View File

@ -650,7 +650,7 @@ subroutine constitutive_LiAndItsTangent(Li, dLi_dTstar3333, dLi_dFi3333, Tstar_v
phase_plasticity, &
material_phase, &
material_homog, &
mappingConstitutive, &
phaseAt, phasememberAt, &
phase_kinematics, &
phase_Nkinematics, &
PLASTICITY_isotropic_ID, &

View File

@ -579,7 +579,7 @@ subroutine crystallite_stressAndItsTangent(updateJaco)
plasticState, &
sourceState, &
phase_Nsources, &
mappingConstitutive, &
phaseAt, phasememberAt, &
homogenization_maxNgrains
use constitutive, only: &
constitutive_TandItsTangent, &
@ -675,11 +675,11 @@ subroutine crystallite_stressAndItsTangent(updateJaco)
myNgrains = homogenization_Ngrains(mesh_element(3,e))
do i = FEsolving_execIP(1,e),FEsolving_execIP(2,e); do g = 1_pInt,myNgrains
if (crystallite_requested(g,i,e)) then
plasticState (mappingConstitutive(2,g,i,e))%subState0( :,mappingConstitutive(1,g,i,e)) = &
plasticState (mappingConstitutive(2,g,i,e))%partionedState0(:,mappingConstitutive(1,g,i,e))
do mySource = 1_pInt, phase_Nsources(mappingConstitutive(2,g,i,e))
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%subState0( :,mappingConstitutive(1,g,i,e)) = &
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%partionedState0(:,mappingConstitutive(1,g,i,e))
plasticState (phaseAt(g,i,e))%subState0( :,phasememberAt(g,i,e)) = &
plasticState (phaseAt(g,i,e))%partionedState0(:,phasememberAt(g,i,e))
do mySource = 1_pInt, phase_Nsources(phaseAt(g,i,e))
sourceState(phaseAt(g,i,e))%p(mySource)%subState0( :,phasememberAt(g,i,e)) = &
sourceState(phaseAt(g,i,e))%p(mySource)%partionedState0(:,phasememberAt(g,i,e))
enddo
crystallite_subFp0(1:3,1:3,g,i,e) = crystallite_partionedFp0(1:3,1:3,g,i,e) ! ...plastic def grad
crystallite_subLp0(1:3,1:3,g,i,e) = crystallite_partionedLp0(1:3,1:3,g,i,e) ! ...plastic velocity grad
@ -967,11 +967,11 @@ subroutine crystallite_stressAndItsTangent(updateJaco)
crystallite_invFp(1:3,1:3,g,i,e)), &
crystallite_invFi(1:3,1:3,g,i,e)) ! only needed later on for stiffness calculation
!if abbrevation, make c and p private in omp
plasticState (mappingConstitutive(2,g,i,e))%subState0(:,mappingConstitutive(1,g,i,e)) = &
plasticState (mappingConstitutive(2,g,i,e))%state( :,mappingConstitutive(1,g,i,e))
do mySource = 1_pInt, phase_Nsources(mappingConstitutive(2,g,i,e))
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%subState0(:,mappingConstitutive(1,g,i,e)) = &
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%state( :,mappingConstitutive(1,g,i,e))
plasticState (phaseAt(g,i,e))%subState0(:,phasememberAt(g,i,e)) = &
plasticState (phaseAt(g,i,e))%state( :,phasememberAt(g,i,e))
do mySource = 1_pInt, phase_Nsources(phaseAt(g,i,e))
sourceState(phaseAt(g,i,e))%p(mySource)%subState0(:,phasememberAt(g,i,e)) = &
sourceState(phaseAt(g,i,e))%p(mySource)%state( :,phasememberAt(g,i,e))
enddo
crystallite_subTstar0_v(1:6,g,i,e) = crystallite_Tstar_v(1:6,g,i,e) ! ...2nd PK stress
if (crystallite_syncSubFrac(i,e)) then ! if we just did a synchronization of states, then we wind forward without any further time integration
@ -1021,11 +1021,11 @@ subroutine crystallite_stressAndItsTangent(updateJaco)
!$OMP FLUSH(crystallite_invFi)
crystallite_Lp(1:3,1:3,g,i,e) = crystallite_subLp0(1:3,1:3,g,i,e) ! ...plastic velocity grad
crystallite_Li(1:3,1:3,g,i,e) = crystallite_subLi0(1:3,1:3,g,i,e) ! ...intermediate velocity grad
plasticState (mappingConstitutive(2,g,i,e))%state( :,mappingConstitutive(1,g,i,e)) = &
plasticState (mappingConstitutive(2,g,i,e))%subState0(:,mappingConstitutive(1,g,i,e))
do mySource = 1_pInt, phase_Nsources(mappingConstitutive(2,g,i,e))
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%state( :,mappingConstitutive(1,g,i,e)) = &
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%subState0(:,mappingConstitutive(1,g,i,e))
plasticState (phaseAt(g,i,e))%state( :,phasememberAt(g,i,e)) = &
plasticState (phaseAt(g,i,e))%subState0(:,phasememberAt(g,i,e))
do mySource = 1_pInt, phase_Nsources(phaseAt(g,i,e))
sourceState(phaseAt(g,i,e))%p(mySource)%state( :,phasememberAt(g,i,e)) = &
sourceState(phaseAt(g,i,e))%p(mySource)%subState0(:,phasememberAt(g,i,e))
enddo
crystallite_Tstar_v(1:6,g,i,e) = crystallite_subTstar0_v(1:6,g,i,e) ! ...2nd PK stress
@ -1302,18 +1302,18 @@ subroutine crystallite_stressAndItsTangent(updateJaco)
myNgrains = homogenization_Ngrains(mesh_element(3,e))
do i = FEsolving_execIP(1,e),FEsolving_execIP(2,e); do g = 1,myNgrains
plasticState (mappingConstitutive(2,g,i,e))%state_backup(:,mappingConstitutive(1,g,i,e)) = &
plasticState (mappingConstitutive(2,g,i,e))%state( :,mappingConstitutive(1,g,i,e))
do mySource = 1_pInt, phase_Nsources(mappingConstitutive(2,g,i,e))
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%state_backup(:,mappingConstitutive(1,g,i,e)) = &
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%state( :,mappingConstitutive(1,g,i,e))
plasticState (phaseAt(g,i,e))%state_backup(:,phasememberAt(g,i,e)) = &
plasticState (phaseAt(g,i,e))%state( :,phasememberAt(g,i,e))
do mySource = 1_pInt, phase_Nsources(phaseAt(g,i,e))
sourceState(phaseAt(g,i,e))%p(mySource)%state_backup(:,phasememberAt(g,i,e)) = &
sourceState(phaseAt(g,i,e))%p(mySource)%state( :,phasememberAt(g,i,e))
enddo
plasticState (mappingConstitutive(2,g,i,e))%dotState_backup(:,mappingConstitutive(1,g,i,e)) = &
plasticState (mappingConstitutive(2,g,i,e))%dotState( :,mappingConstitutive(1,g,i,e))
do mySource = 1_pInt, phase_Nsources(mappingConstitutive(2,g,i,e))
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%dotState_backup(:,mappingConstitutive(1,g,i,e)) = &
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%dotState( :,mappingConstitutive(1,g,i,e))
plasticState (phaseAt(g,i,e))%dotState_backup(:,phasememberAt(g,i,e)) = &
plasticState (phaseAt(g,i,e))%dotState( :,phasememberAt(g,i,e))
do mySource = 1_pInt, phase_Nsources(phaseAt(g,i,e))
sourceState(phaseAt(g,i,e))%p(mySource)%dotState_backup(:,phasememberAt(g,i,e)) = &
sourceState(phaseAt(g,i,e))%p(mySource)%dotState( :,phasememberAt(g,i,e))
enddo
F_backup(1:3,1:3,g,i,e) = crystallite_subF(1:3,1:3,g,i,e) ! ... and kinematics
@ -1351,18 +1351,18 @@ subroutine crystallite_stressAndItsTangent(updateJaco)
myNgrains = homogenization_Ngrains(mesh_element(3,e))
do i = FEsolving_execIP(1,e),FEsolving_execIP(2,e); do g = 1,myNgrains
plasticState (mappingConstitutive(2,g,i,e))%state( :,mappingConstitutive(1,g,i,e)) = &
plasticState (mappingConstitutive(2,g,i,e))%state_backup(:,mappingConstitutive(1,g,i,e))
do mySource = 1_pInt, phase_Nsources(mappingConstitutive(2,g,i,e))
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%state( :,mappingConstitutive(1,g,i,e)) = &
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%state_backup(:,mappingConstitutive(1,g,i,e))
plasticState (phaseAt(g,i,e))%state( :,phasememberAt(g,i,e)) = &
plasticState (phaseAt(g,i,e))%state_backup(:,phasememberAt(g,i,e))
do mySource = 1_pInt, phase_Nsources(phaseAt(g,i,e))
sourceState(phaseAt(g,i,e))%p(mySource)%state( :,phasememberAt(g,i,e)) = &
sourceState(phaseAt(g,i,e))%p(mySource)%state_backup(:,phasememberAt(g,i,e))
enddo
plasticState (mappingConstitutive(2,g,i,e))%dotState( :,mappingConstitutive(1,g,i,e)) = &
plasticState (mappingConstitutive(2,g,i,e))%dotState_backup(:,mappingConstitutive(1,g,i,e))
do mySource = 1_pInt, phase_Nsources(mappingConstitutive(2,g,i,e))
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%dotState( :,mappingConstitutive(1,g,i,e)) = &
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%dotState_backup(:,mappingConstitutive(1,g,i,e))
plasticState (phaseAt(g,i,e))%dotState( :,phasememberAt(g,i,e)) = &
plasticState (phaseAt(g,i,e))%dotState_backup(:,phasememberAt(g,i,e))
do mySource = 1_pInt, phase_Nsources(phaseAt(g,i,e))
sourceState(phaseAt(g,i,e))%p(mySource)%dotState( :,phasememberAt(g,i,e)) = &
sourceState(phaseAt(g,i,e))%p(mySource)%dotState_backup(:,phasememberAt(g,i,e))
enddo
crystallite_Fp(1:3,1:3,g,i,e) = Fp_backup(1:3,1:3,g,i,e)
@ -1382,18 +1382,18 @@ subroutine crystallite_stressAndItsTangent(updateJaco)
myNgrains = homogenization_Ngrains(mesh_element(3,e))
do i = FEsolving_execIP(1,e),FEsolving_execIP(2,e); do g = 1,myNgrains
plasticState (mappingConstitutive(2,g,i,e))%state( :,mappingConstitutive(1,g,i,e)) = &
plasticState (mappingConstitutive(2,g,i,e))%subState0(:,mappingConstitutive(1,g,i,e))
do mySource = 1_pInt, phase_Nsources(mappingConstitutive(2,g,i,e))
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%state( :,mappingConstitutive(1,g,i,e)) = &
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%subState0(:,mappingConstitutive(1,g,i,e))
plasticState (phaseAt(g,i,e))%state( :,phasememberAt(g,i,e)) = &
plasticState (phaseAt(g,i,e))%subState0(:,phasememberAt(g,i,e))
do mySource = 1_pInt, phase_Nsources(phaseAt(g,i,e))
sourceState(phaseAt(g,i,e))%p(mySource)%state( :,phasememberAt(g,i,e)) = &
sourceState(phaseAt(g,i,e))%p(mySource)%subState0(:,phasememberAt(g,i,e))
enddo
plasticState (mappingConstitutive(2,g,i,e))%dotState( :,mappingConstitutive(1,g,i,e)) = &
plasticState (mappingConstitutive(2,g,i,e))%dotState_backup(:,mappingConstitutive(1,g,i,e))
do mySource = 1_pInt, phase_Nsources(mappingConstitutive(2,g,i,e))
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%dotState( :,mappingConstitutive(1,g,i,e)) = &
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%dotState_backup(:,mappingConstitutive(1,g,i,e))
plasticState (phaseAt(g,i,e))%dotState( :,phasememberAt(g,i,e)) = &
plasticState (phaseAt(g,i,e))%dotState_backup(:,phasememberAt(g,i,e))
do mySource = 1_pInt, phase_Nsources(phaseAt(g,i,e))
sourceState(phaseAt(g,i,e))%p(mySource)%dotState( :,phasememberAt(g,i,e)) = &
sourceState(phaseAt(g,i,e))%p(mySource)%dotState_backup(:,phasememberAt(g,i,e))
enddo
crystallite_Fp(1:3,1:3,g,i,e) = crystallite_subFp0(1:3,1:3,g,i,e)
@ -1484,18 +1484,18 @@ subroutine crystallite_stressAndItsTangent(updateJaco)
myNgrains = homogenization_Ngrains(mesh_element(3,e))
do i = FEsolving_execIP(1,e),FEsolving_execIP(2,e); do g = 1,myNgrains
plasticState (mappingConstitutive(2,g,i,e))%state( :,mappingConstitutive(1,g,i,e)) = &
plasticState (mappingConstitutive(2,g,i,e))%state_backup(:,mappingConstitutive(1,g,i,e))
do mySource = 1_pInt, phase_Nsources(mappingConstitutive(2,g,i,e))
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%state( :,mappingConstitutive(1,g,i,e)) = &
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%state_backup(:,mappingConstitutive(1,g,i,e))
plasticState (phaseAt(g,i,e))%state( :,phasememberAt(g,i,e)) = &
plasticState (phaseAt(g,i,e))%state_backup(:,phasememberAt(g,i,e))
do mySource = 1_pInt, phase_Nsources(phaseAt(g,i,e))
sourceState(phaseAt(g,i,e))%p(mySource)%state( :,phasememberAt(g,i,e)) = &
sourceState(phaseAt(g,i,e))%p(mySource)%state_backup(:,phasememberAt(g,i,e))
enddo
plasticState (mappingConstitutive(2,g,i,e))%dotState( :,mappingConstitutive(1,g,i,e)) = &
plasticState (mappingConstitutive(2,g,i,e))%dotState_backup(:,mappingConstitutive(1,g,i,e))
do mySource = 1_pInt, phase_Nsources(mappingConstitutive(2,g,i,e))
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%dotState( :,mappingConstitutive(1,g,i,e)) = &
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%dotState_backup(:,mappingConstitutive(1,g,i,e))
plasticState (phaseAt(g,i,e))%dotState( :,phasememberAt(g,i,e)) = &
plasticState (phaseAt(g,i,e))%dotState_backup(:,phasememberAt(g,i,e))
do mySource = 1_pInt, phase_Nsources(phaseAt(g,i,e))
sourceState(phaseAt(g,i,e))%p(mySource)%dotState( :,phasememberAt(g,i,e)) = &
sourceState(phaseAt(g,i,e))%p(mySource)%dotState_backup(:,phasememberAt(g,i,e))
enddo
crystallite_subF(1:3,1:3,g,i,e) = F_backup(1:3,1:3,g,i,e)
@ -1563,7 +1563,7 @@ subroutine crystallite_integrateStateRK4()
sourceState, &
phase_Nsources, &
material_Nphase, &
mappingConstitutive
phaseAt, phasememberAt
use constitutive, only: &
constitutive_collectDotState, &
constitutive_microstructure
@ -1610,9 +1610,9 @@ subroutine crystallite_integrateStateRK4()
e = eIter(1)
i = iIter(1,e)
do g = iIter(1,e), iIter(2,e)
plasticState (mappingConstitutive(2,g,i,e))%RK4dotState(:,mappingConstitutive(1,g,i,e)) = 0.0_pReal
do mySource = 1_pInt, phase_Nsources(mappingConstitutive(2,g,i,e))
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%RK4dotState(:,mappingConstitutive(1,g,i,e)) = 0.0_pReal
plasticState (phaseAt(g,i,e))%RK4dotState(:,phasememberAt(g,i,e)) = 0.0_pReal
do mySource = 1_pInt, phase_Nsources(phaseAt(g,i,e))
sourceState(phaseAt(g,i,e))%p(mySource)%RK4dotState(:,phasememberAt(g,i,e)) = 0.0_pReal
enddo
enddo
endif
@ -1634,8 +1634,8 @@ subroutine crystallite_integrateStateRK4()
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
!$OMP FLUSH(crystallite_todo)
if (crystallite_todo(g,i,e)) then
c = mappingConstitutive(1,g,i,e)
p = mappingConstitutive(2,g,i,e)
c = phasememberAt(g,i,e)
p = phaseAt(g,i,e)
NaN = any(prec_isNaN(plasticState(p)%dotState(:,c)))
do mySource = 1_pInt, phase_Nsources(p)
NaN = NaN .or. any(prec_isNaN(sourceState(p)%p(mySource)%dotState(:,c)))
@ -1663,8 +1663,8 @@ subroutine crystallite_integrateStateRK4()
!$OMP DO PRIVATE(p,c)
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
if (crystallite_todo(g,i,e)) then
p = mappingConstitutive(2,g,i,e)
c = mappingConstitutive(1,g,i,e)
p = phaseAt(g,i,e)
c = phasememberAt(g,i,e)
plasticState(p)%RK4dotState(:,c) = plasticState(p)%RK4dotState(:,c) &
+ weight(n)*plasticState(p)%dotState(:,c)
do mySource = 1_pInt, phase_Nsources(p)
@ -1679,8 +1679,8 @@ subroutine crystallite_integrateStateRK4()
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
if (crystallite_todo(g,i,e)) then
p = mappingConstitutive(2,g,i,e)
c = mappingConstitutive(1,g,i,e)
p = phaseAt(g,i,e)
c = phasememberAt(g,i,e)
mySizePlasticDotState = plasticState(p)%sizeDotState
plasticState(p)%state (1:mySizePlasticDotState,c) = &
plasticState(p)%subState0(1:mySizePlasticDotState,c) &
@ -1779,8 +1779,8 @@ subroutine crystallite_integrateStateRK4()
!$OMP FLUSH(crystallite_todo)
if (crystallite_todo(g,i,e)) then
p = mappingConstitutive(2,g,i,e)
c = mappingConstitutive(1,g,i,e)
p = phaseAt(g,i,e)
c = phasememberAt(g,i,e)
NaN = any(prec_isNaN(plasticState(p)%dotState(:,c)))
do mySource = 1_pInt, phase_Nsources(p)
NaN = NaN .or. any(prec_isNaN(sourceState(p)%p(mySource)%dotState(:,c)))
@ -1861,7 +1861,7 @@ subroutine crystallite_integrateStateRKCK45()
plasticState, &
sourceState, &
phase_Nsources, &
mappingConstitutive, &
phaseAt, phasememberAt, &
homogenization_maxNgrains
use constitutive, only: &
constitutive_collectDotState, &
@ -1952,8 +1952,8 @@ subroutine crystallite_integrateStateRKCK45()
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
!$OMP FLUSH(crystallite_todo)
if (crystallite_todo(g,i,e)) then
cc = mappingConstitutive(1,g,i,e)
p = mappingConstitutive(2,g,i,e)
cc = phasememberAt(g,i,e)
p = phaseAt(g,i,e)
NaN = any(prec_isNaN(plasticState(p)%dotState(:,cc)))
do mySource = 1_pInt, phase_Nsources(p)
NaN = NaN .or. any(prec_isNaN(sourceState(p)%p(mySource)%dotState(:,cc)))
@ -1983,8 +1983,8 @@ subroutine crystallite_integrateStateRKCK45()
!$OMP DO PRIVATE(p,cc)
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
if (crystallite_todo(g,i,e)) then
p = mappingConstitutive(2,g,i,e)
cc = mappingConstitutive(1,g,i,e)
p = phaseAt(g,i,e)
cc = phasememberAt(g,i,e)
plasticState(p)%RKCK45dotState(stage,:,cc) = plasticState(p)%dotState(:,cc) ! store Runge-Kutta dotState
do mySource = 1_pInt, phase_Nsources(p)
sourceState(p)%p(mySource)%RKCK45dotState(stage,:,cc) = sourceState(p)%p(mySource)%dotState(:,cc)
@ -1996,8 +1996,8 @@ subroutine crystallite_integrateStateRKCK45()
!$OMP DO PRIVATE(p,cc,n)
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
if (crystallite_todo(g,i,e)) then
p = mappingConstitutive(2,g,i,e)
cc = mappingConstitutive(1,g,i,e)
p = phaseAt(g,i,e)
cc = phasememberAt(g,i,e)
plasticState(p)%dotState(:,cc) = A(1,stage) * plasticState(p)%RKCK45dotState(1,:,cc)
do mySource = 1_pInt, phase_Nsources(p)
@ -2018,8 +2018,8 @@ subroutine crystallite_integrateStateRKCK45()
!$OMP DO PRIVATE(mySizePlasticDotState,mySizeSourceDotState,p,cc)
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
if (crystallite_todo(g,i,e)) then
p = mappingConstitutive(2,g,i,e)
cc = mappingConstitutive(1,g,i,e)
p = phaseAt(g,i,e)
cc = phasememberAt(g,i,e)
mySizePlasticDotState = plasticState(p)%sizeDotState
plasticState (p)%state (1:mySizePlasticDotState, cc) = &
plasticState (p)%subState0(1:mySizePlasticDotState, cc) &
@ -2107,8 +2107,8 @@ subroutine crystallite_integrateStateRKCK45()
!$OMP FLUSH(crystallite_todo)
if (crystallite_todo(g,i,e)) then
p = mappingConstitutive(2,g,i,e)
cc = mappingConstitutive(1,g,i,e)
p = phaseAt(g,i,e)
cc = phasememberAt(g,i,e)
NaN = any(prec_isNaN(plasticState(p)%dotState(:,cc)))
do mySource = 1_pInt, phase_Nsources(p)
NaN = NaN .or. any(prec_isNaN(sourceState(p)%p(mySource)%dotState(:,cc)))
@ -2139,8 +2139,8 @@ subroutine crystallite_integrateStateRKCK45()
!$OMP DO PRIVATE(p,cc)
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
if (crystallite_todo(g,i,e)) then
p = mappingConstitutive(2,g,i,e)
cc = mappingConstitutive(1,g,i,e)
p = phaseAt(g,i,e)
cc = phasememberAt(g,i,e)
plasticState(p)%RKCK45dotState(6,:,cc) = plasticState (p)%dotState(:,cc) ! store Runge-Kutta dotState
do mySource = 1_pInt, phase_Nsources(p)
sourceState(p)%p(mySource)%RKCK45dotState(6,:,cc) = sourceState(p)%p(mySource)%dotState(:,cc) ! store Runge-Kutta dotState
@ -2152,8 +2152,8 @@ subroutine crystallite_integrateStateRKCK45()
!$OMP DO PRIVATE(mySizePlasticDotState,mySizeSourceDotState,p,cc)
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
if (crystallite_todo(g,i,e)) then
p = mappingConstitutive(2,g,i,e)
cc = mappingConstitutive(1,g,i,e)
p = phaseAt(g,i,e)
cc = phasememberAt(g,i,e)
! --- absolute residuum in state ---
mySizePlasticDotState = plasticState(p)%sizeDotState
@ -2185,8 +2185,8 @@ subroutine crystallite_integrateStateRKCK45()
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
if (crystallite_todo(g,i,e)) then
p = mappingConstitutive(2,g,i,e)
cc = mappingConstitutive(1,g,i,e)
p = phaseAt(g,i,e)
cc = phasememberAt(g,i,e)
mySizePlasticDotState = plasticState(p)%sizeDotState
plasticState(p)%state (1:mySizePlasticDotState,cc) = &
plasticState(p)%subState0(1:mySizePlasticDotState,cc) &
@ -2208,8 +2208,8 @@ subroutine crystallite_integrateStateRKCK45()
!$OMP DO PRIVATE(mySizePlasticDotState,mySizeSourceDotState,p,cc,s)
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
if (crystallite_todo(g,i,e)) then
p = mappingConstitutive(2,g,i,e)
cc = mappingConstitutive(1,g,i,e)
p = phaseAt(g,i,e)
cc = phasememberAt(g,i,e)
mySizePlasticDotState = plasticState(p)%sizeDotState
forall (s = 1_pInt:mySizePlasticDotState, abs(plasticState(p)%state(s,cc)) > 0.0_pReal) &
relPlasticStateResiduum(s,g,i,e) = &
@ -2366,7 +2366,7 @@ subroutine crystallite_integrateStateAdaptiveEuler()
homogenization_Ngrains, &
plasticState, &
sourceState, &
mappingConstitutive, &
phaseAt, phasememberAt, &
phase_Nsources, &
homogenization_maxNgrains
use constitutive, only: &
@ -2440,8 +2440,8 @@ subroutine crystallite_integrateStateAdaptiveEuler()
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
!$OMP FLUSH(crystallite_todo)
if (crystallite_todo(g,i,e)) then
p = mappingConstitutive(2,g,i,e)
c = mappingConstitutive(1,g,i,e)
p = phaseAt(g,i,e)
c = phasememberAt(g,i,e)
NaN = any(prec_isNaN(plasticState(p)%dotState(:,c)))
do mySource = 1_pInt, phase_Nsources(p)
NaN = NaN .or. any(prec_isNaN(sourceState(p)%p(mySource)%dotState(:,c)))
@ -2465,8 +2465,8 @@ subroutine crystallite_integrateStateAdaptiveEuler()
!$OMP DO PRIVATE(mySizePlasticDotState,mySizeSourceDotState,p,c)
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
if (crystallite_todo(g,i,e)) then
p = mappingConstitutive(2,g,i,e)
c = mappingConstitutive(1,g,i,e)
p = phaseAt(g,i,e)
c = phasememberAt(g,i,e)
mySizePlasticDotState = plasticState(p)%sizeDotState
plasticStateResiduum(1:mySizePlasticDotState,g,i,e) = &
- 0.5_pReal &
@ -2562,8 +2562,8 @@ subroutine crystallite_integrateStateAdaptiveEuler()
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
!$OMP FLUSH(crystallite_todo)
if (crystallite_todo(g,i,e)) then
p = mappingConstitutive(2,g,i,e)
c = mappingConstitutive(1,g,i,e)
p = phaseAt(g,i,e)
c = phasememberAt(g,i,e)
NaN = any(prec_isNaN(plasticState(p)%dotState(:,c)))
do mySource = 1_pInt, phase_Nsources(p)
NaN = NaN .or. any(prec_isNaN(sourceState(p)%p(mySource)%dotState(:,c)))
@ -2592,8 +2592,8 @@ subroutine crystallite_integrateStateAdaptiveEuler()
!$OMP DO PRIVATE(mySizePlasticDotState,mySizeSourceDotState,converged,p,c,s)
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
if (crystallite_todo(g,i,e)) then
p = mappingConstitutive(2,g,i,e)
c = mappingConstitutive(1,g,i,e)
p = phaseAt(g,i,e)
c = phasememberAt(g,i,e)
! --- contribution of heun step to absolute residui ---
mySizePlasticDotState = plasticState(p)%sizeDotState
plasticStateResiduum(1:mySizePlasticDotState,g,i,e) = &
@ -2725,7 +2725,7 @@ subroutine crystallite_integrateStateEuler()
use material, only: &
plasticState, &
sourceState, &
mappingConstitutive, &
phaseAt, phasememberAt, &
phase_Nsources, &
homogenization_Ngrains
use constitutive, only: &
@ -2779,8 +2779,8 @@ eIter = FEsolving_execElem(1:2)
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
!$OMP FLUSH(crystallite_todo)
if (crystallite_todo(g,i,e) .and. .not. crystallite_converged(g,i,e)) then
c = mappingConstitutive(1,g,i,e)
p = mappingConstitutive(2,g,i,e)
c = phasememberAt(g,i,e)
p = phaseAt(g,i,e)
NaN = any(prec_isNaN(plasticState(p)%dotState(:,c)))
do mySource = 1_pInt, phase_Nsources(p)
NaN = NaN .or. any(prec_isNaN(sourceState(p)%p(mySource)%dotState(:,c)))
@ -2804,8 +2804,8 @@ eIter = FEsolving_execElem(1:2)
!$OMP DO PRIVATE(mySizePlasticDotState,mySizeSourceDotState,p,c)
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
if (crystallite_todo(g,i,e) .and. .not. crystallite_converged(g,i,e)) then
p = mappingConstitutive(2,g,i,e)
c = mappingConstitutive(1,g,i,e)
p = phaseAt(g,i,e)
c = phasememberAt(g,i,e)
mySizePlasticDotState = plasticState(p)%sizeDotState
plasticState(p)%state( 1:mySizePlasticDotState,c) = &
plasticState(p)%state( 1:mySizePlasticDotState,c) &
@ -2823,8 +2823,8 @@ eIter = FEsolving_execElem(1:2)
if (iand(debug_level(debug_crystallite), debug_levelExtensive) /= 0_pInt &
.and. ((e == debug_e .and. i == debug_i .and. g == debug_g) &
.or. .not. iand(debug_level(debug_crystallite), debug_levelSelective) /= 0_pInt)) then
p = mappingConstitutive(2,g,i,e)
c = mappingConstitutive(1,g,i,e)
p = phaseAt(g,i,e)
c = phasememberAt(g,i,e)
write(6,'(a,i8,1x,i2,1x,i3,/)') '<< CRYST >> update state at el ip g ',e,i,g
write(6,'(a,/,(12x,12(e12.5,1x)),/)') '<< CRYST >> dotState', plasticState(p)%dotState(1:mySizePlasticDotState,c)
write(6,'(a,/,(12x,12(e12.5,1x)),/)') '<< CRYST >> new state', plasticState(p)%state (1:mySizePlasticDotState,c)
@ -2950,7 +2950,7 @@ subroutine crystallite_integrateStateFPI()
use material, only: &
plasticState, &
sourceState, &
mappingConstitutive, &
phaseAt, phasememberAt, &
phase_Nsources, &
homogenization_Ngrains
use constitutive, only: &
@ -3016,8 +3016,8 @@ subroutine crystallite_integrateStateFPI()
e = eIter(1)
i = iIter(1,e)
do g = gIter(1,e), gIter(2,e)
p = mappingConstitutive(2,g,i,e)
c = mappingConstitutive(1,g,i,e)
p = phaseAt(g,i,e)
c = phasememberAt(g,i,e)
plasticState(p)%previousDotState (:,c) = 0.0_pReal
plasticState(p)%previousDotState2(:,c) = 0.0_pReal
do mySource = 1_pInt, phase_Nsources(p)
@ -3046,8 +3046,8 @@ subroutine crystallite_integrateStateFPI()
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
!$OMP FLUSH(crystallite_todo)
if (crystallite_todo(g,i,e)) then
p = mappingConstitutive(2,g,i,e)
c = mappingConstitutive(1,g,i,e)
p = phaseAt(g,i,e)
c = phasememberAt(g,i,e)
NaN = any(prec_isNaN(plasticState(p)%dotState(:,c)))
do mySource = 1_pInt, phase_Nsources(p)
NaN = NaN .or. any(prec_isNaN(sourceState(p)%p(mySource)%dotState(:,c)))
@ -3070,8 +3070,8 @@ subroutine crystallite_integrateStateFPI()
!$OMP DO PRIVATE(mySizePlasticDotState,mySizeSourceDotState,p,c)
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
if (crystallite_todo(g,i,e)) then
p = mappingConstitutive(2,g,i,e)
c = mappingConstitutive(1,g,i,e)
p = phaseAt(g,i,e)
c = phasememberAt(g,i,e)
mySizePlasticDotState = plasticState(p)%sizeDotState
plasticState(p)%state(1:mySizePlasticDotState,c) = &
plasticState(p)%subState0(1:mySizePlasticDotState,c) &
@ -3109,8 +3109,8 @@ subroutine crystallite_integrateStateFPI()
crystallite_Fe(1:3,1:3,g,i,e), &
crystallite_Fp(1:3,1:3,g,i,e), &
g, i, e) ! update dependent state variables to be consistent with basic states
p = mappingConstitutive(2,g,i,e)
c = mappingConstitutive(1,g,i,e)
p = phaseAt(g,i,e)
c = phasememberAt(g,i,e)
plasticState(p)%previousDotState2(:,c) = plasticState(p)%previousDotState(:,c)
plasticState(p)%previousDotState (:,c) = plasticState(p)%dotState(:,c)
do mySource = 1_pInt, phase_Nsources(p)
@ -3161,8 +3161,8 @@ subroutine crystallite_integrateStateFPI()
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
!$OMP FLUSH(crystallite_todo)
if (crystallite_todo(g,i,e) .and. .not. crystallite_converged(g,i,e)) then
p = mappingConstitutive(2,g,i,e)
c = mappingConstitutive(1,g,i,e)
p = phaseAt(g,i,e)
c = phasememberAt(g,i,e)
NaN = any(prec_isNaN(plasticState(p)%dotState(:,c)))
do mySource = 1_pInt, phase_Nsources(p)
NaN = NaN .or. any(prec_isNaN(sourceState(p)%p(mySource)%dotState(:,c)))
@ -3191,8 +3191,8 @@ subroutine crystallite_integrateStateFPI()
do e = eIter(1),eIter(2); do i = iIter(1,e),iIter(2,e); do g = gIter(1,e),gIter(2,e) ! iterate over elements, ips and grains
if (crystallite_todo(g,i,e) .and. .not. crystallite_converged(g,i,e)) then
p = mappingConstitutive(2,g,i,e)
c = mappingConstitutive(1,g,i,e)
p = phaseAt(g,i,e)
c = phasememberAt(g,i,e)
dot_prod12 = dot_product( plasticState(p)%dotState (:,c) &
- plasticState(p)%previousDotState (:,c), &
plasticState(p)%previousDotState (:,c) &
@ -3388,7 +3388,7 @@ logical function crystallite_stateJump(g,i,e)
plasticState, &
sourceState, &
phase_Nsources, &
mappingConstitutive
phaseAt, phasememberAt
use constitutive, only: &
constitutive_collectDeltaState
@ -3405,8 +3405,8 @@ logical function crystallite_stateJump(g,i,e)
mySizePlasticDeltaState, &
mySizeSourceDeltaState
c = mappingConstitutive(1,g,i,e)
p = mappingConstitutive(2,g,i,e)
c = phasememberAt(g,i,e)
p = phaseAt(g,i,e)
call constitutive_collectDeltaState(crystallite_Tstar_v(1:6,g,i,e), crystallite_Fe(1:3,1:3,g,i,e), g,i,e)
mySizePlasticDeltaState = plasticState(p)%sizeDeltaState
if( any(prec_isNaN(plasticState(p)%deltaState(:,c)))) then ! NaN occured in deltaState

View File

@ -226,7 +226,7 @@ subroutine damage_local_getSourceAndItsTangent(phiDot, dPhiDot_dPhi, phi, ip, el
use material, only: &
homogenization_Ngrains, &
mappingHomogenization, &
mappingConstitutive, &
phaseAt, phasememberAt, &
phase_source, &
phase_Nsources, &
SOURCE_damage_isoBrittle_ID, &
@ -258,7 +258,7 @@ subroutine damage_local_getSourceAndItsTangent(phiDot, dPhiDot_dPhi, phi, ip, el
phiDot = 0.0_pReal
dPhiDot_dPhi = 0.0_pReal
do grain = 1, homogenization_Ngrains(mappingHomogenization(2,ip,el))
phase = mappingConstitutive(2,grain,ip,el)
phase = phaseAt(grain,ip,el)
do source = 1, phase_Nsources(phase)
select case(phase_source(source,phase))
case (SOURCE_damage_isoBrittle_ID)

View File

@ -187,7 +187,7 @@ subroutine damage_nonlocal_getSourceAndItsTangent(phiDot, dPhiDot_dPhi, phi, ip,
use material, only: &
homogenization_Ngrains, &
mappingHomogenization, &
mappingConstitutive, &
phaseAt, phasememberAt, &
phase_source, &
phase_Nsources, &
SOURCE_damage_isoBrittle_ID, &
@ -219,7 +219,7 @@ subroutine damage_nonlocal_getSourceAndItsTangent(phiDot, dPhiDot_dPhi, phi, ip,
phiDot = 0.0_pReal
dPhiDot_dPhi = 0.0_pReal
do grain = 1, homogenization_Ngrains(mappingHomogenization(2,ip,el))
phase = mappingConstitutive(2,grain,ip,el)
phase = phaseAt(grain,ip,el)
do source = 1_pInt, phase_Nsources(phase)
select case(phase_source(source,phase))
case (SOURCE_damage_isoBrittle_ID)

View File

@ -530,7 +530,7 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt)
hydrogenfluxState, &
phase_Nsources, &
mappingHomogenization, &
mappingConstitutive, &
phaseAt, phasememberAt, &
homogenization_Ngrains
use crystallite, only: &
crystallite_F0, &
@ -600,11 +600,11 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt)
myNgrains = homogenization_Ngrains(mesh_element(3,e))
do i = FEsolving_execIP(1,e),FEsolving_execIP(2,e); do g = 1,myNgrains
plasticState (mappingConstitutive(2,g,i,e))%partionedState0(:,mappingConstitutive(1,g,i,e)) = &
plasticState (mappingConstitutive(2,g,i,e))%state0( :,mappingConstitutive(1,g,i,e))
do mySource = 1_pInt, phase_Nsources(mappingConstitutive(2,g,i,e))
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%partionedState0(:,mappingConstitutive(1,g,i,e)) = &
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%state0( :,mappingConstitutive(1,g,i,e))
plasticState (phaseAt(g,i,e))%partionedState0(:,phasememberAt(g,i,e)) = &
plasticState (phaseAt(g,i,e))%state0( :,phasememberAt(g,i,e))
do mySource = 1_pInt, phase_Nsources(phaseAt(g,i,e))
sourceState(phaseAt(g,i,e))%p(mySource)%partionedState0(:,phasememberAt(g,i,e)) = &
sourceState(phaseAt(g,i,e))%p(mySource)%state0( :,phasememberAt(g,i,e))
enddo
crystallite_partionedFp0(1:3,1:3,g,i,e) = crystallite_Fp0(1:3,1:3,g,i,e) ! ...plastic def grads
@ -702,11 +702,11 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt)
crystallite_Tstar_v(1:6,1:myNgrains,i,e) ! ...2nd PK stress
do g = 1,myNgrains
plasticState (mappingConstitutive(2,g,i,e))%partionedState0(:,mappingConstitutive(1,g,i,e)) = &
plasticState (mappingConstitutive(2,g,i,e))%state( :,mappingConstitutive(1,g,i,e))
do mySource = 1_pInt, phase_Nsources(mappingConstitutive(2,g,i,e))
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%partionedState0(:,mappingConstitutive(1,g,i,e)) = &
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%state( :,mappingConstitutive(1,g,i,e))
plasticState (phaseAt(g,i,e))%partionedState0(:,phasememberAt(g,i,e)) = &
plasticState (phaseAt(g,i,e))%state( :,phasememberAt(g,i,e))
do mySource = 1_pInt, phase_Nsources(phaseAt(g,i,e))
sourceState(phaseAt(g,i,e))%p(mySource)%partionedState0(:,phasememberAt(g,i,e)) = &
sourceState(phaseAt(g,i,e))%p(mySource)%state( :,phasememberAt(g,i,e))
enddo
enddo
@ -787,11 +787,11 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt)
crystallite_Tstar_v(1:6,1:myNgrains,i,e) = &
crystallite_partionedTstar0_v(1:6,1:myNgrains,i,e) ! ...2nd PK stress
do g = 1, myNgrains
plasticState (mappingConstitutive(2,g,i,e))%state( :,mappingConstitutive(1,g,i,e)) = &
plasticState (mappingConstitutive(2,g,i,e))%partionedState0(:,mappingConstitutive(1,g,i,e))
do mySource = 1_pInt, phase_Nsources(mappingConstitutive(2,g,i,e))
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%state( :,mappingConstitutive(1,g,i,e)) = &
sourceState(mappingConstitutive(2,g,i,e))%p(mySource)%partionedState0(:,mappingConstitutive(1,g,i,e))
plasticState (phaseAt(g,i,e))%state( :,phasememberAt(g,i,e)) = &
plasticState (phaseAt(g,i,e))%partionedState0(:,phasememberAt(g,i,e))
do mySource = 1_pInt, phase_Nsources(phaseAt(g,i,e))
sourceState(phaseAt(g,i,e))%p(mySource)%state( :,phasememberAt(g,i,e)) = &
sourceState(phaseAt(g,i,e))%p(mySource)%partionedState0(:,phasememberAt(g,i,e))
enddo
enddo
forall(i = FEsolving_execIP(1,e):FEsolving_execIP(2,e), &
@ -931,7 +931,7 @@ subroutine materialpoint_postResults
use material, only: &
mappingHomogenization, &
#ifdef FEM
mappingConstitutive, &
phaseAt, phasememberAt, &
homogenization_maxNgrains, &
material_Ncrystallite, &
material_Nphase, &
@ -995,7 +995,7 @@ subroutine materialpoint_postResults
thePos) = homogenization_postResults(i,e)
grainLooping :do g = 1,myNgrains
myPhase = mappingConstitutive(2,g,i,e)
myPhase = phaseAt(g,i,e)
crystalliteResults(1:1+crystallite_sizePostResults(myCrystallite) + &
1+plasticState(myPhase)%sizePostResults + &
sum(sourceState(myPhase)%p(:)%sizePostResults)) = crystallite_postResults(g,i,e)

View File

@ -207,7 +207,7 @@ subroutine kinematics_cleavage_opening_LiAndItsTangent(Ld, dLd_dTstar3333, Tstar
use prec, only: &
tol_math_check
use material, only: &
mappingConstitutive, &
phaseAt, phasememberAt, &
material_homog, &
damage, &
damageMapping
@ -238,8 +238,8 @@ subroutine kinematics_cleavage_opening_LiAndItsTangent(Ld, dLd_dTstar3333, Tstar
traction_d, traction_t, traction_n, traction_crit, &
udotd, dudotd_dt, udott, dudott_dt, udotn, dudotn_dt
phase = mappingConstitutive(2,ipc,ip,el)
constituent = mappingConstitutive(1,ipc,ip,el)
phase = phaseAt(ipc,ip,el)
constituent = phasememberAt(ipc,ip,el)
instance = kinematics_cleavage_opening_instance(phase)
homog = material_homog(ip,el)
damageOffset = damageMapping(homog)%p(ip,el)

View File

@ -212,7 +212,7 @@ subroutine kinematics_slipplane_opening_LiAndItsTangent(Ld, dLd_dTstar3333, Tsta
lattice_st, &
lattice_sn
use material, only: &
mappingConstitutive, &
phaseAt, phasememberAt, &
material_homog, &
damage, &
damageMapping
@ -251,8 +251,8 @@ subroutine kinematics_slipplane_opening_LiAndItsTangent(Ld, dLd_dTstar3333, Tsta
traction_d, traction_t, traction_n, traction_crit, &
udotd, dudotd_dt, udott, dudott_dt, udotn, dudotn_dt
phase = mappingConstitutive(2,ipc,ip,el)
constituent = mappingConstitutive(1,ipc,ip,el)
phase = phaseAt(ipc,ip,el)
constituent = phasememberAt(ipc,ip,el)
instance = kinematics_slipplane_opening_instance(phase)
homog = material_homog(ip,el)
damageOffset = damageMapping(homog)%p(ip,el)

View File

@ -287,10 +287,11 @@ module material
logical, dimension(:), allocatable, private :: &
homogenization_active
integer(pInt), dimension(:,:,:,:), allocatable, public, target :: mappingConstitutive
integer(pInt), dimension(:,:,:), allocatable, public, target :: mappingCrystallite
integer(pInt), dimension(:,:,:), allocatable, public, target :: mappingHomogenization !< mapping from material points to offset in heterogenous state/field
integer(pInt), dimension(:,:), allocatable, public, target :: mappingHomogenizationConst !< mapping from material points to offset in constant state/field
integer(pInt), dimension(:,:,:), allocatable, public :: phaseAt !< phase ID of every material point (ipc,ip,el)
integer(pInt), dimension(:,:,:), allocatable, public :: phasememberAt !< memberID of given phase at every material point (ipc,ip,el)
integer(pInt), dimension(:,:,:), allocatable, public, target :: mappingCrystallite
integer(pInt), dimension(:,:,:), allocatable, public, target :: mappingHomogenization !< mapping from material points to offset in heterogenous state/field
integer(pInt), dimension(:,:), allocatable, public, target :: mappingHomogenizationConst !< mapping from material points to offset in constant state/field
type(tHomogMapping), allocatable, dimension(:), public :: &
thermalMapping, & !< mapping for thermal state/fields
@ -497,7 +498,8 @@ subroutine material_init()
call material_populateGrains
allocate(mappingConstitutive (2,homogenization_maxNgrains,mesh_maxNips,mesh_NcpElems),source=0_pInt)
allocate(phaseAt ( homogenization_maxNgrains,mesh_maxNips,mesh_NcpElems),source=0_pInt)
allocate(phasememberAt ( homogenization_maxNgrains,mesh_maxNips,mesh_NcpElems),source=0_pInt)
allocate(mappingHomogenization (2, mesh_maxNips,mesh_NcpElems),source=0_pInt)
allocate(mappingCrystallite (2,homogenization_maxNgrains, mesh_NcpElems),source=0_pInt)
allocate(mappingHomogenizationConst( mesh_maxNips,mesh_NcpElems),source=1_pInt)
@ -514,7 +516,8 @@ subroutine material_init()
GrainLoop:do g = 1_pInt,homogenization_Ngrains(mesh_element(3,e)) ! loop over grains
phase = material_phase(g,i,e)
ConstitutivePosition(phase) = ConstitutivePosition(phase)+1_pInt ! not distinguishing between instances of same phase
mappingConstitutive(1:2,g,i,e) = [ConstitutivePosition(phase),phase]
phaseAt(g,i,e) = phase
phasememberAt(g,i,e) = ConstitutivePosition(phase)
enddo GrainLoop
enddo IPloop
enddo ElemLoop

View File

@ -958,7 +958,7 @@ function plastic_disloUCLA_homogenizedC(ipc,ip,el)
use material, only: &
phase_plasticityInstance, &
plasticState, &
mappingConstitutive
phaseAt, phasememberAt
use lattice, only: &
lattice_C66
@ -976,8 +976,8 @@ function plastic_disloUCLA_homogenizedC(ipc,ip,el)
real(pReal) :: sumf
!* Shortened notation
of = mappingConstitutive(1,ipc,ip,el)
ph = mappingConstitutive(2,ipc,ip,el)
of = phasememberAt(ipc,ip,el)
ph = phaseAt(ipc,ip,el)
instance = phase_plasticityInstance(ph)
ns = plastic_disloUCLA_totalNslip(instance)
nt = plastic_disloUCLA_totalNtwin(instance)
@ -1003,7 +1003,7 @@ subroutine plastic_disloUCLA_microstructure(temperature,ipc,ip,el)
material_phase, &
phase_plasticityInstance, &
plasticState, &
mappingConstitutive
phaseAt, phasememberAt
use lattice, only: &
lattice_mu, &
lattice_nu
@ -1026,8 +1026,8 @@ subroutine plastic_disloUCLA_microstructure(temperature,ipc,ip,el)
real(pReal), dimension(plastic_disloUCLA_totalNtwin(phase_plasticityInstance(material_phase(ipc,ip,el)))) :: fOverStacksize
!* Shortened notation
of = mappingConstitutive(1,ipc,ip,el)
ph = mappingConstitutive(2,ipc,ip,el)
of = phasememberAt(ipc,ip,el)
ph = phaseAt(ipc,ip,el)
instance = phase_plasticityInstance(ph)
ns = plastic_disloUCLA_totalNslip(instance)
nt = plastic_disloUCLA_totalNtwin(instance)
@ -1146,7 +1146,7 @@ subroutine plastic_disloUCLA_LpAndItsTangent(Lp,dLp_dTstar99,Tstar_v,Temperature
material_phase, &
phase_plasticityInstance, &
plasticState, &
mappingConstitutive
phaseAt, phasememberAt
use lattice, only: &
lattice_Sslip, &
lattice_Sslip_v, &
@ -1181,8 +1181,8 @@ subroutine plastic_disloUCLA_LpAndItsTangent(Lp,dLp_dTstar99,Tstar_v,Temperature
gdot_slip_pos,gdot_slip_neg
!* Shortened notation
of = mappingConstitutive(1,ipc,ip,el)
ph = mappingConstitutive(2,ipc,ip,el)
of = phasememberAt(ipc,ip,el)
ph = phaseAt(ipc,ip,el)
instance = phase_plasticityInstance(ph)
ns = plastic_disloUCLA_totalNslip(instance)
nt = plastic_disloUCLA_totalNtwin(instance)
@ -1442,7 +1442,7 @@ subroutine plastic_disloUCLA_dotState(Tstar_v,Temperature,ipc,ip,el)
material_phase, &
phase_plasticityInstance, &
plasticState, &
mappingConstitutive
phaseAt, phasememberAt
use lattice, only: &
lattice_Sslip_v, &
lattice_Stwin_v, &
@ -1497,8 +1497,8 @@ subroutine plastic_disloUCLA_dotState(Tstar_v,Temperature,ipc,ip,el)
gdot_slip_pos, gdot_slip_neg
!* Shortened notation
of = mappingConstitutive(1,ipc,ip,el)
ph = mappingConstitutive(2,ipc,ip,el)
of = phasememberAt(ipc,ip,el)
ph = phaseAt(ipc,ip,el)
instance = phase_plasticityInstance(ph)
ns = plastic_disloUCLA_totalNslip(instance)
nt = plastic_disloUCLA_totalNtwin(instance)
@ -1694,7 +1694,7 @@ function plastic_disloUCLA_postResults(Tstar_v,Temperature,ipc,ip,el)
material_phase, &
phase_plasticityInstance,&
plasticState, &
mappingConstitutive
phaseAt, phasememberAt
use lattice, only: &
lattice_Sslip_v, &
lattice_Stwin_v, &
@ -1736,8 +1736,8 @@ function plastic_disloUCLA_postResults(Tstar_v,Temperature,ipc,ip,el)
gdot_slip_pos,dgdot_dtauslip_pos,tau_slip_pos,gdot_slip_neg,dgdot_dtauslip_neg,tau_slip_neg
!* Shortened notation
of = mappingConstitutive(1,ipc,ip,el)
ph = mappingConstitutive(2,ipc,ip,el)
of = phasememberAt(ipc,ip,el)
ph = phaseAt(ipc,ip,el)
instance = phase_plasticityInstance(ph)
ns = plastic_disloUCLA_totalNslip(instance)
nt = plastic_disloUCLA_totalNtwin(instance)

View File

@ -1398,7 +1398,7 @@ end subroutine plastic_dislotwin_aTolState
function plastic_dislotwin_homogenizedC(ipc,ip,el)
use material, only: &
phase_plasticityInstance, &
mappingConstitutive
phaseAt, phasememberAt
use lattice, only: &
lattice_C66
@ -1416,8 +1416,8 @@ function plastic_dislotwin_homogenizedC(ipc,ip,el)
real(pReal) :: sumf, sumftr
!* Shortened notation
of = mappingConstitutive(1,ipc,ip,el)
ph = mappingConstitutive(2,ipc,ip,el)
of = phasememberAt(ipc,ip,el)
ph = phaseAt(ipc,ip,el)
instance = phase_plasticityInstance(ph)
ns = plastic_dislotwin_totalNslip(instance)
nt = plastic_dislotwin_totalNtwin(instance)
@ -1454,7 +1454,7 @@ subroutine plastic_dislotwin_microstructure(temperature,ipc,ip,el)
material_phase, &
phase_plasticityInstance, &
!plasticState, & !!!!delete
mappingConstitutive
phaseAt, phasememberAt
use lattice, only: &
lattice_mu, &
lattice_nu
@ -1479,8 +1479,8 @@ subroutine plastic_dislotwin_microstructure(temperature,ipc,ip,el)
ftransOverLamellarSize
!* Shortened notation
of = mappingConstitutive(1,ipc,ip,el)
ph = mappingConstitutive(2,ipc,ip,el)
of = phasememberAt(ipc,ip,el)
ph = phaseAt(ipc,ip,el)
instance = phase_plasticityInstance(ph)
ns = plastic_dislotwin_totalNslip(instance)
nt = plastic_dislotwin_totalNtwin(instance)
@ -1645,7 +1645,7 @@ subroutine plastic_dislotwin_LpAndItsTangent(Lp,dLp_dTstar99,Tstar_v,Temperature
use material, only: &
material_phase, &
phase_plasticityInstance, &
mappingConstitutive
phaseAt, phasememberAt
use lattice, only: &
lattice_Sslip, &
lattice_Sslip_v, &
@ -1705,8 +1705,8 @@ subroutine plastic_dislotwin_LpAndItsTangent(Lp,dLp_dTstar99,Tstar_v,Temperature
],pReal),[ 3,6])
logical error
!* Shortened notation
of = mappingConstitutive(1,ipc,ip,el)
ph = mappingConstitutive(2,ipc,ip,el)
of = phasememberAt(ipc,ip,el)
ph = phaseAt(ipc,ip,el)
instance = phase_plasticityInstance(ph)
ns = plastic_dislotwin_totalNslip(instance)
nt = plastic_dislotwin_totalNtwin(instance)
@ -1954,7 +1954,7 @@ subroutine plastic_dislotwin_dotState(Tstar_v,Temperature,ipc,ip,el)
material_phase, &
phase_plasticityInstance, &
plasticState, &
mappingConstitutive
phaseAt, phasememberAt
use lattice, only: &
lattice_Sslip_v, &
lattice_Stwin_v, &
@ -1999,8 +1999,8 @@ subroutine plastic_dislotwin_dotState(Tstar_v,Temperature,ipc,ip,el)
tau_trans
!* Shortened notation
of = mappingConstitutive(1,ipc,ip,el)
ph = mappingConstitutive(2,ipc,ip,el)
of = phasememberAt(ipc,ip,el)
ph = phaseAt(ipc,ip,el)
instance = phase_plasticityInstance(ph)
ns = plastic_dislotwin_totalNslip(instance)
nt = plastic_dislotwin_totalNtwin(instance)
@ -2202,7 +2202,7 @@ function plastic_dislotwin_postResults(Tstar_v,Temperature,ipc,ip,el)
use material, only: &
material_phase, &
phase_plasticityInstance,&
mappingConstitutive
phaseAt, phasememberAt
use lattice, only: &
lattice_Sslip_v, &
lattice_Stwin_v, &
@ -2245,8 +2245,8 @@ function plastic_dislotwin_postResults(Tstar_v,Temperature,ipc,ip,el)
!* Shortened notation
of = mappingConstitutive(1,ipc,ip,el)
ph = mappingConstitutive(2,ipc,ip,el)
of = phasememberAt(ipc,ip,el)
ph = phaseAt(ipc,ip,el)
instance = phase_plasticityInstance(ph)
ns = plastic_dislotwin_totalNslip(instance)
nt = plastic_dislotwin_totalNtwin(instance)

View File

@ -393,7 +393,7 @@ subroutine plastic_isotropic_LpAndItsTangent(Lp,dLp_dTstar99,Tstar_v,ipc,ip,el)
math_mul33xx33, &
math_transpose33
use material, only: &
mappingConstitutive, &
phaseAt, phasememberAt, &
plasticState, &
material_phase, &
phase_plasticityInstance
@ -434,7 +434,7 @@ subroutine plastic_isotropic_LpAndItsTangent(Lp,dLp_dTstar99,Tstar_v,ipc,ip,el)
else
gamma_dot = plastic_isotropic_gdot0(instance) &
* (sqrt(1.5_pReal) * norm_Tstar_dev / (plastic_isotropic_fTaylor(instance) * &
plasticState(mappingConstitutive(2,ipc,ip,el))%state(1,mappingConstitutive(1,ipc,ip,el)))) &
plasticState(phaseAt(ipc,ip,el))%state(1,phasememberAt(ipc,ip,el)))) &
**plastic_isotropic_n(instance)
Lp = Tstar_dev_33/norm_Tstar_dev * gamma_dot/plastic_isotropic_fTaylor(instance)
@ -473,7 +473,7 @@ subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dTstar_3333,Tstar_v,ipc,ip,e
math_spherical33, &
math_mul33xx33
use material, only: &
mappingConstitutive, &
phaseAt, phasememberAt, &
plasticState, &
material_phase, &
phase_plasticityInstance
@ -514,7 +514,7 @@ subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dTstar_3333,Tstar_v,ipc,ip,e
else
gamma_dot = plastic_isotropic_gdot0(instance) &
* (sqrt(1.5_pReal) * norm_Tstar_sph / (plastic_isotropic_fTaylor(instance) * &
plasticState(mappingConstitutive(2,ipc,ip,el))%state(1,mappingConstitutive(1,ipc,ip,el)))) &
plasticState(phaseAt(ipc,ip,el))%state(1,phasememberAt(ipc,ip,el)))) &
**plastic_isotropic_n(instance)
Li = Tstar_sph_33/norm_Tstar_sph * gamma_dot/plastic_isotropic_fTaylor(instance)
@ -542,7 +542,7 @@ subroutine plastic_isotropic_dotState(Tstar_v,ipc,ip,el)
use math, only: &
math_mul6x6
use material, only: &
mappingConstitutive, &
phaseAt, phasememberAt, &
plasticState, &
material_phase, &
phase_plasticityInstance
@ -566,8 +566,8 @@ subroutine plastic_isotropic_dotState(Tstar_v,ipc,ip,el)
of, & !< shortcut notation for offset position in state array
ph !< shortcut notation for phase ID (unique number of all phases, regardless of constitutive model)
of = mappingConstitutive(1,ipc,ip,el)
ph = mappingConstitutive(2,ipc,ip,el)
of = phasememberAt(ipc,ip,el)
ph = phaseAt(ipc,ip,el)
instance = phase_plasticityInstance(material_phase(ipc,ip,el))
!--------------------------------------------------------------------------------------------------
@ -625,7 +625,7 @@ function plastic_isotropic_postResults(Tstar_v,ipc,ip,el)
use material, only: &
material_phase, &
plasticState, &
mappingConstitutive, &
phaseAt, phasememberAt, &
phase_plasticityInstance
implicit none
@ -649,8 +649,8 @@ function plastic_isotropic_postResults(Tstar_v,ipc,ip,el)
c, &
o
of = mappingConstitutive(1,ipc,ip,el)
ph = mappingConstitutive(2,ipc,ip,el)
of = phasememberAt(ipc,ip,el)
ph = phaseAt(ipc,ip,el)
instance = phase_plasticityInstance(material_phase(ipc,ip,el))
!--------------------------------------------------------------------------------------------------

View File

@ -375,7 +375,7 @@ subroutine plastic_j2_LpAndItsTangent(Lp,dLp_dTstar99,Tstar_v,ipc,ip,el)
math_deviatoric33, &
math_mul33xx33
use material, only: &
mappingConstitutive, &
phaseAt, phasememberAt, &
plasticState, &
material_phase, &
phase_plasticityInstance
@ -416,7 +416,7 @@ subroutine plastic_j2_LpAndItsTangent(Lp,dLp_dTstar99,Tstar_v,ipc,ip,el)
else
gamma_dot = plastic_j2_gdot0(instance) &
* (sqrt(1.5_pReal) * norm_Tstar_dev / (plastic_j2_fTaylor(instance) * &
plasticState(mappingConstitutive(2,ipc,ip,el))%state(1,mappingConstitutive(1,ipc,ip,el)))) &
plasticState(phaseAt(ipc,ip,el))%state(1,phasememberAt(ipc,ip,el)))) &
**plastic_j2_n(instance)
Lp = Tstar_dev_33/norm_Tstar_dev * gamma_dot/plastic_j2_fTaylor(instance)
@ -443,7 +443,7 @@ subroutine plastic_j2_dotState(Tstar_v,ipc,ip,el)
use math, only: &
math_mul6x6
use material, only: &
mappingConstitutive, &
phaseAt, phasememberAt, &
plasticState, &
material_phase, &
phase_plasticityInstance
@ -467,8 +467,8 @@ subroutine plastic_j2_dotState(Tstar_v,ipc,ip,el)
of, & !< shortcut notation for offset position in state array
ph !< shortcut notation for phase ID (unique number of all phases, regardless of constitutive model)
of = mappingConstitutive(1,ipc,ip,el)
ph = mappingConstitutive(2,ipc,ip,el)
of = phasememberAt(ipc,ip,el)
ph = phaseAt(ipc,ip,el)
instance = phase_plasticityInstance(material_phase(ipc,ip,el))
!--------------------------------------------------------------------------------------------------
@ -523,7 +523,7 @@ function plastic_j2_postResults(Tstar_v,ipc,ip,el)
use material, only: &
material_phase, &
plasticState, &
mappingConstitutive, &
phaseAt, phasememberAt, &
phase_plasticityInstance
implicit none
@ -547,8 +547,8 @@ function plastic_j2_postResults(Tstar_v,ipc,ip,el)
c, &
o
of = mappingConstitutive(1,ipc,ip,el)
ph = mappingConstitutive(2,ipc,ip,el)
of = phasememberAt(ipc,ip,el)
ph = phaseAt(ipc,ip,el)
instance = phase_plasticityInstance(material_phase(ipc,ip,el))
!--------------------------------------------------------------------------------------------------

View File

@ -1422,7 +1422,7 @@ use mesh, only: mesh_ipVolume, &
use material, only: material_phase, &
phase_plasticityInstance, &
plasticState, &
mappingConstitutive, &
phaseAt, phasememberAt, &
phase_plasticity ,&
PLASTICITY_NONLOCAL_ID
implicit none
@ -1480,8 +1480,8 @@ do instance = 1_pInt,maxNinstances
s = nint(rnd(3)*real(ns,pReal)+0.5_pReal,pInt)
t = nint(rnd(4)*4.0_pReal+0.5_pReal,pInt)
meanDensity = meanDensity + densityBinning * mesh_ipVolume(i,e) / totalVolume
plasticState(mappingConstitutive(2,1,i,e))%state0(iRhoU(s,t,instance),mappingConstitutive(2,1,i,e)) = &
plasticState(mappingConstitutive(2,1,i,e))%state0(iRhoU(s,t,instance),mappingConstitutive(2,1,i,e)) &
plasticState(phaseAt(1,i,e))%state0(iRhoU(s,t,instance),phaseAt(1,i,e)) = &
plasticState(phaseAt(1,i,e))%state0(iRhoU(s,t,instance),phaseAt(1,i,e)) &
+ densityBinning
endif
enddo
@ -1498,18 +1498,18 @@ do instance = 1_pInt,maxNinstances
do j = 1_pInt,2_pInt
noise(j) = math_sampleGaussVar(0.0_pReal, rhoSglScatter(instance))
enddo
plasticState(mappingConstitutive(2,1,i,e))%state0(iRhoU(s,1,instance),mappingConstitutive(1,1,i,e)) = &
plasticState(phaseAt(1,i,e))%state0(iRhoU(s,1,instance),phasememberAt(1,i,e)) = &
rhoSglEdgePos0(f,instance) + noise(1)
plasticState(mappingConstitutive(2,1,i,e))%state0(iRhoU(s,2,instance),mappingConstitutive(1,1,i,e)) = &
plasticState(phaseAt(1,i,e))%state0(iRhoU(s,2,instance),phasememberAt(1,i,e)) = &
rhoSglEdgeNeg0(f,instance) + noise(1)
plasticState(mappingConstitutive(2,1,i,e))%state0(iRhoU(s,3,instance),mappingConstitutive(1,1,i,e)) = &
plasticState(phaseAt(1,i,e))%state0(iRhoU(s,3,instance),phasememberAt(1,i,e)) = &
rhoSglScrewPos0(f,instance) + noise(2)
plasticState(mappingConstitutive(2,1,i,e))%state0(iRhoU(s,4,instance),mappingConstitutive(1,1,i,e)) = &
plasticState(phaseAt(1,i,e))%state0(iRhoU(s,4,instance),phasememberAt(1,i,e)) = &
rhoSglScrewNeg0(f,instance) + noise(2)
enddo
plasticState(mappingConstitutive(2,1,i,e))%state0(iRhoD(from:upto,1,instance),mappingConstitutive(1,1,i,e)) = &
plasticState(phaseAt(1,i,e))%state0(iRhoD(from:upto,1,instance),phasememberAt(1,i,e)) = &
rhoDipEdge0(f,instance)
plasticState(mappingConstitutive(2,1,i,e))%state0(iRhoD(from:upto,2,instance),mappingConstitutive(1,1,i,e)) = &
plasticState(phaseAt(1,i,e))%state0(iRhoD(from:upto,2,instance),phasememberAt(1,i,e)) = &
rhoDipScrew0(f,instance)
enddo
endif
@ -1582,7 +1582,7 @@ use material, only: &
material_phase, &
phase_localPlasticity, &
plasticState, &
mappingConstitutive, &
phaseAt, phasememberAt, &
phase_plasticityInstance
use lattice, only: &
lattice_sd, &
@ -1654,8 +1654,8 @@ real(pReal), dimension(2,maxval(totalNslip),mesh_maxNipNeighbors) :: &
real(pReal), dimension(3,totalNslip(phase_plasticityInstance(material_phase(1_pInt,ip,el))),2) :: &
m ! direction of dislocation motion
ph = mappingConstitutive(2,1,ip,el)
of = mappingConstitutive(1,1,ip,el)
ph = phaseAt(1,ip,el)
of = phasememberAt(1,ip,el)
instance = phase_plasticityInstance(ph)
ns = totalNslip(instance)
@ -1726,8 +1726,8 @@ if (.not. phase_localPlasticity(ph) .and. shortRangeStressCorrection(instance))
do n = 1_pInt,FE_NipNeighbors(FE_celltype(FE_geomtype(mesh_element(2,el))))
neighbor_el = mesh_ipNeighborhood(1,n,ip,el)
neighbor_ip = mesh_ipNeighborhood(2,n,ip,el)
np = mappingConstitutive(2,1,neighbor_ip,neighbor_el)
no = mappingConstitutive(1,1,neighbor_ip,neighbor_el)
np = phaseAt(1,neighbor_ip,neighbor_el)
no = phasememberAt(1,neighbor_ip,neighbor_el)
if (neighbor_el > 0 .and. neighbor_ip > 0) then
neighbor_phase = material_phase(1,neighbor_ip,neighbor_el)
neighbor_instance = phase_plasticityInstance(neighbor_phase)
@ -2020,7 +2020,7 @@ use debug, only: debug_level, &
debug_e
use material, only: material_phase, &
plasticState, &
mappingConstitutive,&
phaseAt, phasememberAt,&
phase_plasticityInstance
use lattice, only: lattice_Sslip, &
lattice_Sslip_v, &
@ -2066,8 +2066,8 @@ real(pReal), dimension(totalNslip(phase_plasticityInstance(material_phase(1_pInt
tauBack, & !< back stress from dislocation gradients on same slip system
tauThreshold !< threshold shear stress
!*** shortcut for mapping
ph = mappingConstitutive(2,1_pInt,ip,el)
of = mappingConstitutive(1,1_pInt,ip,el)
ph = phaseAt(1_pInt,ip,el)
of = phasememberAt(1_pInt,ip,el)
!*** initialize local variables
@ -2218,7 +2218,7 @@ use lattice, only: lattice_Sslip_v ,&
use mesh, only: mesh_ipVolume
use material, only: material_phase, &
plasticState, &
mappingConstitutive, &
phaseAt, phasememberAt, &
phase_plasticityInstance
implicit none
@ -2262,8 +2262,8 @@ real(pReal), dimension(totalNslip(phase_plasticityInstance(material_phase(1,ip,e
write(6,'(/,a,i8,1x,i2,1x,i1,/)') '<< CONST >> nonlocal_deltaState at el ip ',el,ip
#endif
ph = mappingConstitutive(2,1,ip,el)
of = mappingConstitutive(1,1,ip,el)
ph = phaseAt(1,ip,el)
of = phasememberAt(1,ip,el)
instance = phase_plasticityInstance(ph)
ns = totalNslip(instance)
@ -2420,7 +2420,7 @@ use material, only: homogenization_maxNgrains, &
phase_plasticityInstance, &
phase_localPlasticity, &
plasticState, &
mappingConstitutive, &
phaseAt, phasememberAt, &
phase_plasticity ,&
PLASTICITY_NONLOCAL_ID
use lattice, only: lattice_Sslip_v, &
@ -2521,8 +2521,8 @@ logical considerEnteringFlux, &
considerLeavingFlux
p = mappingConstitutive(2,1,ip,el)
o = mappingConstitutive(1,1,ip,el)
p = phaseAt(1,ip,el)
o = phasememberAt(1,ip,el)
@ -2726,8 +2726,8 @@ if (.not. phase_localPlasticity(material_phase(1_pInt,ip,el))) then
neighbor_el = mesh_ipNeighborhood(1,n,ip,el)
neighbor_ip = mesh_ipNeighborhood(2,n,ip,el)
neighbor_n = mesh_ipNeighborhood(3,n,ip,el)
np = mappingConstitutive(2,1,neighbor_ip,neighbor_el)
no = mappingConstitutive(1,1,neighbor_ip,neighbor_el)
np = phaseAt(1,neighbor_ip,neighbor_el)
no = phasememberAt(1,neighbor_ip,neighbor_el)
opposite_neighbor = n + mod(n,2_pInt) - mod(n+1_pInt,2_pInt)
opposite_el = mesh_ipNeighborhood(1,opposite_neighbor,ip,el)
@ -3197,7 +3197,7 @@ use mesh, only: mesh_NcpElems, &
use material, only: homogenization_maxNgrains, &
material_phase, &
plasticState, &
mappingConstitutive,&
phaseAt, phasememberAt,&
phase_localPlasticity, &
phase_plasticityInstance
use lattice, only: lattice_mu, &
@ -3266,8 +3266,8 @@ real(pReal), dimension(totalNslip(phase_plasticityInstance(material_phase(1_pInt
ph = material_phase(1_pInt,ip,el)
instance = phase_plasticityInstance(ph)
ns = totalNslip(instance)
p = mappingConstitutive(2,1,ip,el)
o = mappingConstitutive(1,1,ip,el)
p = phaseAt(1,ip,el)
o = phasememberAt(1,ip,el)
!*** get basic states
@ -3309,8 +3309,8 @@ if (.not. phase_localPlasticity(ph)) then
do neighbor_el = 1_pInt,mesh_NcpElems
ipLoop: do neighbor_ip = 1_pInt,FE_Nips(FE_geomtype(mesh_element(2,neighbor_el)))
neighbor_phase = material_phase(1_pInt,neighbor_ip,neighbor_el)
np = mappingConstitutive(2,1,neighbor_ip,neighbor_el)
no = mappingConstitutive(1,1,neighbor_ip,neighbor_el)
np = phaseAt(1,neighbor_ip,neighbor_el)
no = phasememberAt(1,neighbor_ip,neighbor_el)
if (phase_localPlasticity(neighbor_phase)) cycle
neighbor_instance = phase_plasticityInstance(neighbor_phase)
@ -3537,7 +3537,7 @@ function plastic_nonlocal_postResults(Tstar_v,Fe,ip,el)
use material, only: &
homogenization_maxNgrains, &
material_phase, &
mappingConstitutive, &
phaseAt, phasememberAt, &
plasticState, &
phase_plasticityInstance
use lattice, only: &
@ -3596,8 +3596,8 @@ function plastic_nonlocal_postResults(Tstar_v,Fe,ip,el)
real(pReal), dimension(3,3) :: &
sigma
ph = mappingConstitutive(2,1,ip,el)
of = mappingConstitutive(1,1,ip,el)
ph = phaseAt(1,ip,el)
of = phasememberAt(1,ip,el)
instance = phase_plasticityInstance(ph)
ns = totalNslip(instance)

View File

@ -762,7 +762,7 @@ subroutine plastic_phenoplus_microstructure(orientation,ipc,ip,el)
use material, only: material_phase, &
material_texture, &
phase_plasticityInstance, &
mappingConstitutive, &
phaseAt, phasememberAt, &
homogenization_maxNgrains, &
plasticState
@ -828,8 +828,8 @@ subroutine plastic_phenoplus_microstructure(orientation,ipc,ip,el)
!***Get my properties
Nneighbors = FE_NipNeighbors(FE_celltype(FE_geomtype(mesh_element(2,el))))
ph = mappingConstitutive(2,ipc,ip,el) !get my phase
of = mappingConstitutive(1,ipc,ip,el) !get my spatial location offset in memory
ph = phaseAt(ipc,ip,el) !get my phase
of = phasememberAt(ipc,ip,el) !get my spatial location offset in memory
textureID = material_texture(1,ip,el) !get my texture ID
instance = phase_plasticityInstance(ph) !get my instance based on phase ID
ns = plastic_phenoplus_totalNslip(instance)
@ -861,8 +861,8 @@ subroutine plastic_phenoplus_microstructure(orientation,ipc,ip,el)
neighbor_el = mesh_ipNeighborhood(1,n,ip,el)
neighbor_ip = mesh_ipNeighborhood(2,n,ip,el)
neighbor_n = 1 !It is ipc
neighbor_of = mappingConstitutive(1, neighbor_n, neighbor_ip, neighbor_el)
neighbor_ph = mappingConstitutive(2, neighbor_n, neighbor_ip, neighbor_el)
neighbor_of = phasememberAt( neighbor_n, neighbor_ip, neighbor_el)
neighbor_ph = phaseAt( neighbor_n, neighbor_ip, neighbor_el)
neighbor_tex = material_texture(1,neighbor_ip,neighbor_el)
neighbor_orientation = orientation(1:4, neighbor_n, neighbor_ip, neighbor_el) !ipc is always 1.
absMisorientation = lattice_qDisorientation(my_orientation, &
@ -941,7 +941,7 @@ subroutine plastic_phenoplus_LpAndItsTangent(Lp,dLp_dTstar99,Tstar_v,ipc,ip,el)
lattice_NnonSchmid
use material, only: &
plasticState, &
mappingConstitutive, &
phaseAt, phasememberAt, &
phase_plasticityInstance
implicit none
@ -974,8 +974,8 @@ subroutine plastic_phenoplus_LpAndItsTangent(Lp,dLp_dTstar99,Tstar_v,ipc,ip,el)
real(pReal), dimension(3,3,2) :: &
nonSchmid_tensor
of = mappingConstitutive(1,ipc,ip,el)
ph = mappingConstitutive(2,ipc,ip,el)
of = phasememberAt(ipc,ip,el)
ph = phaseAt(ipc,ip,el)
instance = phase_plasticityInstance(ph)
nSlip = plastic_phenoplus_totalNslip(instance)
nTwin = plastic_phenoplus_totalNtwin(instance)
@ -1106,7 +1106,7 @@ subroutine plastic_phenoplus_dotState(Tstar_v,ipc,ip,el)
lattice_NnonSchmid
use material, only: &
material_phase, &
mappingConstitutive, &
phaseAt, phasememberAt, &
plasticState, &
phase_plasticityInstance
@ -1135,8 +1135,8 @@ subroutine plastic_phenoplus_dotState(Tstar_v,ipc,ip,el)
real(pReal), dimension(plastic_phenoplus_totalNtwin(phase_plasticityInstance(material_phase(ipc,ip,el)))) :: &
gdot_twin,left_TwinSlip,left_TwinTwin,right_SlipTwin,right_TwinTwin
of = mappingConstitutive(1,ipc,ip,el)
ph = mappingConstitutive(2,ipc,ip,el)
of = phasememberAt(ipc,ip,el)
ph = phaseAt(ipc,ip,el)
instance = phase_plasticityInstance(ph)
nSlip = plastic_phenoplus_totalNslip(instance)
@ -1269,7 +1269,7 @@ function plastic_phenoplus_postResults(Tstar_v,ipc,ip,el)
use material, only: &
material_phase, &
plasticState, &
mappingConstitutive, &
phaseAt, phasememberAt, &
phase_plasticityInstance
use lattice, only: &
lattice_Sslip_v, &
@ -1299,8 +1299,8 @@ function plastic_phenoplus_postResults(Tstar_v,ipc,ip,el)
real(pReal) :: &
tau_slip_pos,tau_slip_neg,tau
of = mappingConstitutive(1,ipc,ip,el)
ph = mappingConstitutive(2,ipc,ip,el)
of = phasememberAt(ipc,ip,el)
ph = phaseAt(ipc,ip,el)
instance = phase_plasticityInstance(ph)
nSlip = plastic_phenoplus_totalNslip(instance)

View File

@ -788,7 +788,7 @@ subroutine plastic_phenopowerlaw_LpAndItsTangent(Lp,dLp_dTstar99,Tstar_v,ipc,ip,
lattice_NtwinSystem, &
lattice_NnonSchmid
use material, only: &
mappingConstitutive, &
phaseAt, phasememberAt, &
phase_plasticityInstance
implicit none
@ -820,8 +820,8 @@ subroutine plastic_phenopowerlaw_LpAndItsTangent(Lp,dLp_dTstar99,Tstar_v,ipc,ip,
real(pReal), dimension(3,3,2) :: &
nonSchmid_tensor
of = mappingConstitutive(1,ipc,ip,el)
ph = mappingConstitutive(2,ipc,ip,el)
of = phasememberAt(ipc,ip,el)
ph = phaseAt(ipc,ip,el)
instance = phase_plasticityInstance(ph)
Lp = 0.0_pReal
@ -928,7 +928,7 @@ subroutine plastic_phenopowerlaw_dotState(Tstar_v,ipc,ip,el)
lattice_NnonSchmid
use material, only: &
material_phase, &
mappingConstitutive, &
phaseAt, phasememberAt, &
plasticState, &
phase_plasticityInstance
@ -957,8 +957,8 @@ subroutine plastic_phenopowerlaw_dotState(Tstar_v,ipc,ip,el)
real(pReal), dimension(plastic_phenopowerlaw_totalNtwin(phase_plasticityInstance(material_phase(ipc,ip,el)))) :: &
gdot_twin,left_TwinSlip,left_TwinTwin,right_SlipTwin,right_TwinTwin
of = mappingConstitutive(1,ipc,ip,el)
ph = mappingConstitutive(2,ipc,ip,el)
of = phasememberAt(ipc,ip,el)
ph = phaseAt(ipc,ip,el)
instance = phase_plasticityInstance(ph)
nSlip = plastic_phenopowerlaw_totalNslip(instance)
@ -1083,7 +1083,7 @@ function plastic_phenopowerlaw_postResults(Tstar_v,ipc,ip,el)
use material, only: &
material_phase, &
plasticState, &
mappingConstitutive, &
phaseAt, phasememberAt, &
phase_plasticityInstance
use lattice, only: &
lattice_Sslip_v, &
@ -1113,8 +1113,8 @@ function plastic_phenopowerlaw_postResults(Tstar_v,ipc,ip,el)
real(pReal) :: &
tau_slip_pos,tau_slip_neg,tau
of = mappingConstitutive(1,ipc,ip,el)
ph = mappingConstitutive(2,ipc,ip,el)
of = phasememberAt(ipc,ip,el)
ph = phaseAt(ipc,ip,el)
instance = phase_plasticityInstance(ph)
nSlip = plastic_phenopowerlaw_totalNslip(instance)

View File

@ -1173,7 +1173,7 @@ function plastic_titanmod_homogenizedC(ipc,ip,el)
material_phase, &
phase_plasticityInstance, &
plasticState, &
mappingConstitutive
phaseAt, phasememberAt
use lattice, only: &
lattice_C66
@ -1198,8 +1198,8 @@ real(pReal), dimension(plastic_titanmod_totalNtwin(phase_plasticityInstance(mate
!--------------------------------------------------------------------------------------------------
! shortened notation
! ph = material_phase(ipc,ip,el)
of = mappingConstitutive(1,ipc,ip,el)
ph = mappingConstitutive(2,ipc,ip,el)
of = phasememberAt(ipc,ip,el)
ph = phaseAt(ipc,ip,el)
instance = phase_plasticityInstance(ph)
ns = plastic_titanmod_totalNslip(instance)
nt = plastic_titanmod_totalNtwin(instance)
@ -1233,7 +1233,7 @@ subroutine plastic_titanmod_microstructure(temperature,ipc,ip,el)
material_phase,&
phase_plasticityInstance, &
plasticState, &
mappingConstitutive
phaseAt, phasememberAt
use lattice, only: &
lattice_mu
@ -1260,8 +1260,8 @@ subroutine plastic_titanmod_microstructure(temperature,ipc,ip,el)
!Shortened notation
of = mappingConstitutive(1,ipc,ip,el)
ph = mappingConstitutive(2,ipc,ip,el)
of = phasememberAt(ipc,ip,el)
ph = phaseAt(ipc,ip,el)
instance = phase_plasticityInstance(ph)
ns = plastic_titanmod_totalNslip(instance)
nt = plastic_titanmod_totalNtwin(instance)
@ -1345,7 +1345,7 @@ subroutine plastic_titanmod_LpAndItsTangent(Lp,dLp_dTstar99,Tstar_v,temperature,
material_phase, &
phase_plasticityInstance, &
plasticState, &
mappingConstitutive
phaseAt, phasememberAt
implicit none
real(pReal), dimension(3,3), intent(out) :: &
@ -1386,8 +1386,8 @@ subroutine plastic_titanmod_LpAndItsTangent(Lp,dLp_dTstar99,Tstar_v,temperature,
!--------------------------------------------------------------------------------------------------
! shortened notation
of = mappingConstitutive(1,ipc,ip,el)
ph = mappingConstitutive(2,ipc,ip,el)
of = phasememberAt(ipc,ip,el)
ph = phaseAt(ipc,ip,el)
instance = phase_plasticityInstance(ph)
ns = plastic_titanmod_totalNslip(instance)
nt = plastic_titanmod_totalNtwin(instance)
@ -1656,7 +1656,7 @@ subroutine plastic_titanmod_dotState(Tstar_v,temperature,ipc,ip,el)
material_phase, &
phase_plasticityInstance, &
plasticState, &
mappingConstitutive
phaseAt, phasememberAt
implicit none
real(pReal), dimension(6), intent(in):: &
@ -1690,8 +1690,8 @@ implicit none
!--------------------------------------------------------------------------------------------------
! shortened notation
of = mappingConstitutive(1,ipc,ip,el)
ph = mappingConstitutive(2,ipc,ip,el)
of = phasememberAt(ipc,ip,el)
ph = phaseAt(ipc,ip,el)
instance = phase_plasticityInstance(ph)
ns = plastic_titanmod_totalNslip(instance)
nt = plastic_titanmod_totalNtwin(instance)
@ -1772,7 +1772,7 @@ function plastic_titanmod_postResults(ipc,ip,el)
material_phase, &
phase_plasticityInstance, &
plasticState, &
mappingConstitutive
phaseAt, phasememberAt
implicit none
integer(pInt), intent(in) :: &
@ -1795,8 +1795,8 @@ function plastic_titanmod_postResults(ipc,ip,el)
!--------------------------------------------------------------------------------------------------
! shortened notation
of = mappingConstitutive(1,ipc,ip,el)
ph = mappingConstitutive(2,ipc,ip,el)
of = phasememberAt(ipc,ip,el)
ph = phaseAt(ipc,ip,el)
instance = phase_plasticityInstance(ph)
ns = plastic_titanmod_totalNslip(instance)
nt = plastic_titanmod_totalNtwin(instance)

View File

@ -294,7 +294,7 @@ end subroutine source_damage_anisoBrittle_init
!--------------------------------------------------------------------------------------------------
subroutine source_damage_anisoBrittle_dotState(Tstar_v, ipc, ip, el)
use material, only: &
mappingConstitutive, &
phaseAt, phasememberAt, &
sourceState, &
material_homog, &
damage, &
@ -322,8 +322,8 @@ subroutine source_damage_anisoBrittle_dotState(Tstar_v, ipc, ip, el)
real(pReal) :: &
traction_d, traction_t, traction_n, traction_crit
phase = mappingConstitutive(2,ipc,ip,el)
constituent = mappingConstitutive(1,ipc,ip,el)
phase = phaseAt(ipc,ip,el)
constituent = phasememberAt(ipc,ip,el)
instance = source_damage_anisoBrittle_instance(phase)
sourceOffset = source_damage_anisoBrittle_offset(phase)
homog = material_homog(ip,el)
@ -357,7 +357,7 @@ end subroutine source_damage_anisoBrittle_dotState
!--------------------------------------------------------------------------------------------------
subroutine source_damage_anisobrittle_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, ipc, ip, el)
use material, only: &
mappingConstitutive, &
phaseAt, phasememberAt, &
sourceState
implicit none
@ -373,8 +373,8 @@ subroutine source_damage_anisobrittle_getRateAndItsTangent(localphiDot, dLocalph
integer(pInt) :: &
phase, constituent, sourceOffset
phase = mappingConstitutive(2,ipc,ip,el)
constituent = mappingConstitutive(1,ipc,ip,el)
phase = phaseAt(ipc,ip,el)
constituent = phasememberAt(ipc,ip,el)
sourceOffset = source_damage_anisoBrittle_offset(phase)
localphiDot = 1.0_pReal - &
@ -389,7 +389,7 @@ end subroutine source_damage_anisobrittle_getRateAndItsTangent
!--------------------------------------------------------------------------------------------------
function source_damage_anisoBrittle_postResults(ipc,ip,el)
use material, only: &
mappingConstitutive, &
phaseAt, phasememberAt, &
sourceState
implicit none
@ -398,14 +398,14 @@ function source_damage_anisoBrittle_postResults(ipc,ip,el)
ip, & !< integration point
el !< element
real(pReal), dimension(source_damage_anisoBrittle_sizePostResults( &
source_damage_anisoBrittle_instance(mappingConstitutive(2,ipc,ip,el)))) :: &
source_damage_anisoBrittle_instance(phaseAt(ipc,ip,el)))) :: &
source_damage_anisoBrittle_postResults
integer(pInt) :: &
instance, phase, constituent, sourceOffset, o, c
phase = mappingConstitutive(2,ipc,ip,el)
constituent = mappingConstitutive(1,ipc,ip,el)
phase = phaseAt(ipc,ip,el)
constituent = phasememberAt(ipc,ip,el)
instance = source_damage_anisoBrittle_instance(phase)
sourceOffset = source_damage_anisoBrittle_offset(phase)

View File

@ -296,7 +296,7 @@ end subroutine source_damage_anisoDuctile_init
!--------------------------------------------------------------------------------------------------
subroutine source_damage_anisoDuctile_dotState(ipc, ip, el)
use material, only: &
mappingConstitutive, &
phaseAt, phasememberAt, &
plasticState, &
sourceState, &
material_homog, &
@ -318,8 +318,8 @@ subroutine source_damage_anisoDuctile_dotState(ipc, ip, el)
instance, &
index, f, i
phase = mappingConstitutive(2,ipc,ip,el)
constituent = mappingConstitutive(1,ipc,ip,el)
phase = phaseAt(ipc,ip,el)
constituent = phasememberAt(ipc,ip,el)
instance = source_damage_anisoDuctile_instance(phase)
sourceOffset = source_damage_anisoDuctile_offset(phase)
homog = material_homog(ip,el)
@ -346,7 +346,7 @@ end subroutine source_damage_anisoDuctile_dotState
!--------------------------------------------------------------------------------------------------
subroutine source_damage_anisoDuctile_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, ipc, ip, el)
use material, only: &
mappingConstitutive, &
phaseAt, phasememberAt, &
sourceState
implicit none
@ -362,8 +362,8 @@ subroutine source_damage_anisoDuctile_getRateAndItsTangent(localphiDot, dLocalph
integer(pInt) :: &
phase, constituent, sourceOffset
phase = mappingConstitutive(2,ipc,ip,el)
constituent = mappingConstitutive(1,ipc,ip,el)
phase = phaseAt(ipc,ip,el)
constituent = phasememberAt(ipc,ip,el)
sourceOffset = source_damage_anisoDuctile_offset(phase)
localphiDot = 1.0_pReal - &
@ -379,7 +379,7 @@ end subroutine source_damage_anisoDuctile_getRateAndItsTangent
!--------------------------------------------------------------------------------------------------
function source_damage_anisoDuctile_postResults(ipc,ip,el)
use material, only: &
mappingConstitutive, &
phaseAt, phasememberAt, &
sourceState
implicit none
@ -388,14 +388,14 @@ function source_damage_anisoDuctile_postResults(ipc,ip,el)
ip, & !< integration point
el !< element
real(pReal), dimension(source_damage_anisoDuctile_sizePostResults( &
source_damage_anisoDuctile_instance(mappingConstitutive(2,ipc,ip,el)))) :: &
source_damage_anisoDuctile_instance(phaseAt(ipc,ip,el)))) :: &
source_damage_anisoDuctile_postResults
integer(pInt) :: &
instance, phase, constituent, sourceOffset, o, c
phase = mappingConstitutive(2,ipc,ip,el)
constituent = mappingConstitutive(1,ipc,ip,el)
phase = phaseAt(ipc,ip,el)
constituent = phasememberAt(ipc,ip,el)
instance = source_damage_anisoDuctile_instance(phase)
sourceOffset = source_damage_anisoDuctile_offset(phase)

View File

@ -248,7 +248,7 @@ end subroutine source_damage_isoBrittle_init
!--------------------------------------------------------------------------------------------------
subroutine source_damage_isoBrittle_deltaState(C, Fe, ipc, ip, el)
use material, only: &
mappingConstitutive, &
phaseAt, phasememberAt, &
sourceState, &
material_homog, &
phase_NstiffnessDegradations, &
@ -279,8 +279,8 @@ subroutine source_damage_isoBrittle_deltaState(C, Fe, ipc, ip, el)
stiffness(6,6), &
strainenergy
phase = mappingConstitutive(2,ipc,ip,el) !< phase ID at ipc,ip,el
constituent = mappingConstitutive(1,ipc,ip,el) !< state array offset for phase ID at ipc,ip,el
phase = phaseAt(ipc,ip,el) !< phase ID at ipc,ip,el
constituent = phasememberAt(ipc,ip,el) !< state array offset for phase ID at ipc,ip,el
! ToDo: capability for multiple instances of SAME source within given phase. Needs Ninstance loop from here on!
instance = source_damage_isoBrittle_instance(phase) !< instance of damage_isoBrittle source
sourceOffset = source_damage_isoBrittle_offset(phase)
@ -314,7 +314,7 @@ end subroutine source_damage_isoBrittle_deltaState
!--------------------------------------------------------------------------------------------------
subroutine source_damage_isoBrittle_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, ipc, ip, el)
use material, only: &
mappingConstitutive, &
phaseAt, phasememberAt, &
sourceState
implicit none
@ -330,8 +330,8 @@ subroutine source_damage_isoBrittle_getRateAndItsTangent(localphiDot, dLocalphiD
integer(pInt) :: &
phase, constituent, instance, sourceOffset
phase = mappingConstitutive(2,ipc,ip,el)
constituent = mappingConstitutive(1,ipc,ip,el)
phase = phaseAt(ipc,ip,el)
constituent = phasememberAt(ipc,ip,el)
instance = source_damage_isoBrittle_instance(phase)
sourceOffset = source_damage_isoBrittle_offset(phase)
@ -348,7 +348,7 @@ end subroutine source_damage_isoBrittle_getRateAndItsTangent
!--------------------------------------------------------------------------------------------------
function source_damage_isoBrittle_postResults(ipc,ip,el)
use material, only: &
mappingConstitutive, &
phaseAt, phasememberAt, &
sourceState
implicit none
@ -357,14 +357,14 @@ function source_damage_isoBrittle_postResults(ipc,ip,el)
ip, & !< integration point
el !< element
real(pReal), dimension(source_damage_isoBrittle_sizePostResults( &
source_damage_isoBrittle_instance(mappingConstitutive(2,ipc,ip,el)))) :: &
source_damage_isoBrittle_instance(phaseAt(ipc,ip,el)))) :: &
source_damage_isoBrittle_postResults
integer(pInt) :: &
instance, phase, constituent, sourceOffset, o, c
phase = mappingConstitutive(2,ipc,ip,el)
constituent = mappingConstitutive(1,ipc,ip,el)
phase = phaseAt(ipc,ip,el)
constituent = phasememberAt(ipc,ip,el)
instance = source_damage_isoBrittle_instance(phase)
sourceOffset = source_damage_isoBrittle_offset(phase)

View File

@ -248,7 +248,7 @@ end subroutine source_damage_isoDuctile_init
!--------------------------------------------------------------------------------------------------
subroutine source_damage_isoDuctile_dotState(ipc, ip, el)
use material, only: &
mappingConstitutive, &
phaseAt, phasememberAt, &
plasticState, &
sourceState, &
material_homog, &
@ -263,8 +263,8 @@ subroutine source_damage_isoDuctile_dotState(ipc, ip, el)
integer(pInt) :: &
phase, constituent, instance, homog, sourceOffset, damageOffset
phase = mappingConstitutive(2,ipc,ip,el)
constituent = mappingConstitutive(1,ipc,ip,el)
phase = phaseAt(ipc,ip,el)
constituent = phasememberAt(ipc,ip,el)
instance = source_damage_isoDuctile_instance(phase)
sourceOffset = source_damage_isoDuctile_offset(phase)
homog = material_homog(ip,el)
@ -282,7 +282,7 @@ end subroutine source_damage_isoDuctile_dotState
!--------------------------------------------------------------------------------------------------
subroutine source_damage_isoDuctile_getRateAndItsTangent(localphiDot, dLocalphiDot_dPhi, phi, ipc, ip, el)
use material, only: &
mappingConstitutive, &
phaseAt, phasememberAt, &
sourceState
implicit none
@ -298,8 +298,8 @@ subroutine source_damage_isoDuctile_getRateAndItsTangent(localphiDot, dLocalphiD
integer(pInt) :: &
phase, constituent, sourceOffset
phase = mappingConstitutive(2,ipc,ip,el)
constituent = mappingConstitutive(1,ipc,ip,el)
phase = phaseAt(ipc,ip,el)
constituent = phasememberAt(ipc,ip,el)
sourceOffset = source_damage_isoDuctile_offset(phase)
localphiDot = 1.0_pReal - &
@ -315,7 +315,7 @@ end subroutine source_damage_isoDuctile_getRateAndItsTangent
!--------------------------------------------------------------------------------------------------
function source_damage_isoDuctile_postResults(ipc,ip,el)
use material, only: &
mappingConstitutive, &
phaseAt, phasememberAt, &
sourceState
implicit none
@ -324,14 +324,14 @@ function source_damage_isoDuctile_postResults(ipc,ip,el)
ip, & !< integration point
el !< element
real(pReal), dimension(source_damage_isoDuctile_sizePostResults( &
source_damage_isoDuctile_instance(mappingConstitutive(2,ipc,ip,el)))) :: &
source_damage_isoDuctile_instance(phaseAt(ipc,ip,el)))) :: &
source_damage_isoDuctile_postResults
integer(pInt) :: &
instance, phase, constituent, sourceOffset, o, c
phase = mappingConstitutive(2,ipc,ip,el)
constituent = mappingConstitutive(1,ipc,ip,el)
phase = phaseAt(ipc,ip,el)
constituent = phasememberAt(ipc,ip,el)
instance = source_damage_isoDuctile_instance(phase)
sourceOffset = source_damage_isoDuctile_offset(phase)

View File

@ -191,7 +191,7 @@ subroutine source_thermal_dissipation_getRateAndItsTangent(TDot, dTDOT_dT, Tstar
use math, only: &
math_Mandel6to33
use material, only: &
mappingConstitutive
phaseAt, phasememberAt
implicit none
integer(pInt), intent(in) :: &
@ -208,8 +208,8 @@ subroutine source_thermal_dissipation_getRateAndItsTangent(TDot, dTDOT_dT, Tstar
integer(pInt) :: &
instance, phase, constituent
phase = mappingConstitutive(2,ipc,ip,el)
constituent = mappingConstitutive(1,ipc,ip,el)
phase = phaseAt(ipc,ip,el)
constituent = phasememberAt(ipc,ip,el)
instance = source_thermal_dissipation_instance(phase)
TDot = source_thermal_dissipation_coldworkCoeff(instance)* &

View File

@ -215,7 +215,7 @@ end subroutine source_thermal_externalheat_init
!--------------------------------------------------------------------------------------------------
subroutine source_thermal_externalheat_dotState(ipc, ip, el)
use material, only: &
mappingConstitutive, &
phaseAt, phasememberAt, &
sourceState
implicit none
@ -228,8 +228,8 @@ subroutine source_thermal_externalheat_dotState(ipc, ip, el)
constituent, &
sourceOffset
phase = mappingConstitutive(2,ipc,ip,el)
constituent = mappingConstitutive(1,ipc,ip,el)
phase = phaseAt(ipc,ip,el)
constituent = phasememberAt(ipc,ip,el)
sourceOffset = source_thermal_externalheat_offset(phase)
sourceState(phase)%p(sourceOffset)%dotState(1,constituent) = 1.0_pReal
@ -241,7 +241,7 @@ end subroutine source_thermal_externalheat_dotState
!--------------------------------------------------------------------------------------------------
subroutine source_thermal_externalheat_getRateAndItsTangent(TDot, dTDot_dT, ipc, ip, el)
use material, only: &
mappingConstitutive, &
phaseAt, phasememberAt, &
sourceState
implicit none
@ -257,8 +257,8 @@ subroutine source_thermal_externalheat_getRateAndItsTangent(TDot, dTDot_dT, ipc,
real(pReal) :: &
norm_time
phase = mappingConstitutive(2,ipc,ip,el)
constituent = mappingConstitutive(1,ipc,ip,el)
phase = phaseAt(ipc,ip,el)
constituent = phasememberAt(ipc,ip,el)
instance = source_thermal_externalheat_instance(phase)
sourceOffset = source_thermal_externalheat_offset(phase)

View File

@ -195,7 +195,7 @@ end subroutine source_vacancy_irradiation_init
!--------------------------------------------------------------------------------------------------
subroutine source_vacancy_irradiation_deltaState(ipc, ip, el)
use material, only: &
mappingConstitutive, &
phaseAt, phasememberAt, &
sourceState
implicit none
@ -208,8 +208,8 @@ subroutine source_vacancy_irradiation_deltaState(ipc, ip, el)
real(pReal) :: &
randNo
phase = mappingConstitutive(2,ipc,ip,el)
constituent = mappingConstitutive(1,ipc,ip,el)
phase = phaseAt(ipc,ip,el)
constituent = phasememberAt(ipc,ip,el)
sourceOffset = source_vacancy_irradiation_offset(phase)
call random_number(randNo)
@ -226,7 +226,7 @@ end subroutine source_vacancy_irradiation_deltaState
!--------------------------------------------------------------------------------------------------
subroutine source_vacancy_irradiation_getRateAndItsTangent(CvDot, dCvDot_dCv, ipc, ip, el)
use material, only: &
mappingConstitutive, &
phaseAt, phasememberAt, &
sourceState
implicit none
@ -239,8 +239,8 @@ subroutine source_vacancy_irradiation_getRateAndItsTangent(CvDot, dCvDot_dCv, ip
integer(pInt) :: &
instance, phase, constituent, sourceOffset
phase = mappingConstitutive(2,ipc,ip,el)
constituent = mappingConstitutive(1,ipc,ip,el)
phase = phaseAt(ipc,ip,el)
constituent = phasememberAt(ipc,ip,el)
instance = source_vacancy_irradiation_instance(phase)
sourceOffset = source_vacancy_irradiation_offset(phase)

View File

@ -189,7 +189,7 @@ end subroutine source_vacancy_phenoplasticity_init
!--------------------------------------------------------------------------------------------------
subroutine source_vacancy_phenoplasticity_getRateAndItsTangent(CvDot, dCvDot_dCv, ipc, ip, el)
use material, only: &
mappingConstitutive, &
phaseAt, phasememberAt, &
plasticState
implicit none
@ -202,8 +202,8 @@ subroutine source_vacancy_phenoplasticity_getRateAndItsTangent(CvDot, dCvDot_dCv
integer(pInt) :: &
instance, phase, constituent
phase = mappingConstitutive(2,ipc,ip,el)
constituent = mappingConstitutive(1,ipc,ip,el)
phase = phaseAt(ipc,ip,el)
constituent = phasememberAt(ipc,ip,el)
instance = source_vacancy_phenoplasticity_instance(phase)
CvDot = &

View File

@ -196,7 +196,7 @@ end subroutine source_vacancy_thermalfluc_init
!--------------------------------------------------------------------------------------------------
subroutine source_vacancy_thermalfluc_deltaState(ipc, ip, el)
use material, only: &
mappingConstitutive, &
phaseAt, phasememberAt, &
sourceState
implicit none
@ -209,8 +209,8 @@ subroutine source_vacancy_thermalfluc_deltaState(ipc, ip, el)
real(pReal) :: &
randNo
phase = mappingConstitutive(2,ipc,ip,el)
constituent = mappingConstitutive(1,ipc,ip,el)
phase = phaseAt(ipc,ip,el)
constituent = phasememberAt(ipc,ip,el)
sourceOffset = source_vacancy_thermalfluc_offset(phase)
call random_number(randNo)
@ -224,7 +224,7 @@ end subroutine source_vacancy_thermalfluc_deltaState
!--------------------------------------------------------------------------------------------------
subroutine source_vacancy_thermalfluc_getRateAndItsTangent(CvDot, dCvDot_dCv, ipc, ip, el)
use material, only: &
mappingConstitutive, &
phaseAt, phasememberAt, &
material_homog, &
temperature, &
thermalMapping, &
@ -240,8 +240,8 @@ subroutine source_vacancy_thermalfluc_getRateAndItsTangent(CvDot, dCvDot_dCv, ip
integer(pInt) :: &
instance, phase, constituent, sourceOffset
phase = mappingConstitutive(2,ipc,ip,el)
constituent = mappingConstitutive(1,ipc,ip,el)
phase = phaseAt(ipc,ip,el)
constituent = phasememberAt(ipc,ip,el)
instance = source_vacancy_thermalfluc_instance(phase)
sourceOffset = source_vacancy_thermalfluc_offset(phase)

View File

@ -239,7 +239,7 @@ subroutine thermal_adiabatic_getSourceAndItsTangent(Tdot, dTdot_dT, T, ip, el)
use material, only: &
homogenization_Ngrains, &
mappingHomogenization, &
mappingConstitutive, &
phaseAt, phasememberAt, &
thermal_typeInstance, &
phase_Nsources, &
phase_source, &
@ -278,7 +278,7 @@ subroutine thermal_adiabatic_getSourceAndItsTangent(Tdot, dTdot_dT, T, ip, el)
Tdot = 0.0_pReal
dTdot_dT = 0.0_pReal
do grain = 1, homogenization_Ngrains(homog)
phase = mappingConstitutive(2,grain,ip,el)
phase = phaseAt(grain,ip,el)
do source = 1, phase_Nsources(phase)
select case(phase_source(source,phase))
case (SOURCE_thermal_dissipation_ID)

View File

@ -193,7 +193,7 @@ subroutine thermal_conduction_getSourceAndItsTangent(Tdot, dTdot_dT, T, ip, el)
use material, only: &
homogenization_Ngrains, &
mappingHomogenization, &
mappingConstitutive, &
phaseAt, phasememberAt, &
thermal_typeInstance, &
phase_Nsources, &
phase_source, &
@ -232,7 +232,7 @@ subroutine thermal_conduction_getSourceAndItsTangent(Tdot, dTdot_dT, T, ip, el)
Tdot = 0.0_pReal
dTdot_dT = 0.0_pReal
do grain = 1, homogenization_Ngrains(homog)
phase = mappingConstitutive(2,grain,ip,el)
phase = phaseAt(grain,ip,el)
do source = 1, phase_Nsources(phase)
select case(phase_source(source,phase))
case (SOURCE_thermal_dissipation_ID)

View File

@ -222,7 +222,7 @@ subroutine vacancyflux_cahnhilliard_getSourceAndItsTangent(CvDot, dCvDot_dCv, Cv
use material, only: &
homogenization_Ngrains, &
mappingHomogenization, &
mappingConstitutive, &
phaseAt, phasememberAt, &
phase_source, &
phase_Nsources, &
SOURCE_vacancy_phenoplasticity_ID, &
@ -251,7 +251,7 @@ subroutine vacancyflux_cahnhilliard_getSourceAndItsTangent(CvDot, dCvDot_dCv, Cv
CvDot = 0.0_pReal
dCvDot_dCv = 0.0_pReal
do grain = 1, homogenization_Ngrains(mappingHomogenization(2,ip,el))
phase = mappingConstitutive(2,grain,ip,el)
phase = phaseAt(grain,ip,el)
do source = 1_pInt, phase_Nsources(phase)
select case(phase_source(source,phase))
case (SOURCE_vacancy_phenoplasticity_ID)

View File

@ -238,7 +238,7 @@ subroutine vacancyflux_isochempot_getSourceAndItsTangent(CvDot, dCvDot_dCv, Cv,
use material, only: &
homogenization_Ngrains, &
mappingHomogenization, &
mappingConstitutive, &
phaseAt, phasememberAt, &
phase_source, &
phase_Nsources, &
SOURCE_vacancy_phenoplasticity_ID, &
@ -267,7 +267,7 @@ subroutine vacancyflux_isochempot_getSourceAndItsTangent(CvDot, dCvDot_dCv, Cv,
CvDot = 0.0_pReal
dCvDot_dCv = 0.0_pReal
do grain = 1, homogenization_Ngrains(mappingHomogenization(2,ip,el))
phase = mappingConstitutive(2,grain,ip,el)
phase = phaseAt(grain,ip,el)
do source = 1_pInt, phase_Nsources(phase)
select case(phase_source(source,phase))
case (SOURCE_vacancy_phenoplasticity_ID)