unifying notation
This commit is contained in:
parent
550b6510a5
commit
340617ab65
|
@ -143,6 +143,7 @@ function damage_local_updateState(subdt, ip, el)
|
||||||
err_damage_tolAbs, &
|
err_damage_tolAbs, &
|
||||||
err_damage_tolRel
|
err_damage_tolRel
|
||||||
use material, only: &
|
use material, only: &
|
||||||
|
material_homogenizationAt, &
|
||||||
mappingHomogenization, &
|
mappingHomogenization, &
|
||||||
damageState
|
damageState
|
||||||
|
|
||||||
|
@ -160,7 +161,7 @@ function damage_local_updateState(subdt, ip, el)
|
||||||
real(pReal) :: &
|
real(pReal) :: &
|
||||||
phi, phiDot, dPhiDot_dPhi
|
phi, phiDot, dPhiDot_dPhi
|
||||||
|
|
||||||
homog = mappingHomogenization(2,ip,el)
|
homog = material_homogenizationAt(el)
|
||||||
offset = mappingHomogenization(1,ip,el)
|
offset = mappingHomogenization(1,ip,el)
|
||||||
phi = damageState(homog)%subState0(1,offset)
|
phi = damageState(homog)%subState0(1,offset)
|
||||||
call damage_local_getSourceAndItsTangent(phiDot, dPhiDot_dPhi, phi, ip, el)
|
call damage_local_getSourceAndItsTangent(phiDot, dPhiDot_dPhi, phi, ip, el)
|
||||||
|
@ -182,7 +183,7 @@ end function damage_local_updateState
|
||||||
subroutine damage_local_getSourceAndItsTangent(phiDot, dPhiDot_dPhi, phi, ip, el)
|
subroutine damage_local_getSourceAndItsTangent(phiDot, dPhiDot_dPhi, phi, ip, el)
|
||||||
use material, only: &
|
use material, only: &
|
||||||
homogenization_Ngrains, &
|
homogenization_Ngrains, &
|
||||||
mappingHomogenization, &
|
material_homogenizationAt, &
|
||||||
phaseAt, &
|
phaseAt, &
|
||||||
phasememberAt, &
|
phasememberAt, &
|
||||||
phase_source, &
|
phase_source, &
|
||||||
|
@ -216,7 +217,7 @@ subroutine damage_local_getSourceAndItsTangent(phiDot, dPhiDot_dPhi, phi, ip, el
|
||||||
|
|
||||||
phiDot = 0.0_pReal
|
phiDot = 0.0_pReal
|
||||||
dPhiDot_dPhi = 0.0_pReal
|
dPhiDot_dPhi = 0.0_pReal
|
||||||
do grain = 1, homogenization_Ngrains(mappingHomogenization(2,ip,el))
|
do grain = 1, homogenization_Ngrains(material_homogenizationAt(el))
|
||||||
phase = phaseAt(grain,ip,el)
|
phase = phaseAt(grain,ip,el)
|
||||||
constituent = phasememberAt(grain,ip,el)
|
constituent = phasememberAt(grain,ip,el)
|
||||||
do source = 1, phase_Nsources(phase)
|
do source = 1, phase_Nsources(phase)
|
||||||
|
@ -243,8 +244,8 @@ subroutine damage_local_getSourceAndItsTangent(phiDot, dPhiDot_dPhi, phi, ip, el
|
||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
phiDot = phiDot/real(homogenization_Ngrains(mappingHomogenization(2,ip,el)),pReal)
|
phiDot = phiDot/real(homogenization_Ngrains(material_homogenizationAt(el)),pReal)
|
||||||
dPhiDot_dPhi = dPhiDot_dPhi/real(homogenization_Ngrains(mappingHomogenization(2,ip,el)),pReal)
|
dPhiDot_dPhi = dPhiDot_dPhi/real(homogenization_Ngrains(material_homogenizationAt(el)),pReal)
|
||||||
|
|
||||||
end subroutine damage_local_getSourceAndItsTangent
|
end subroutine damage_local_getSourceAndItsTangent
|
||||||
|
|
||||||
|
@ -253,7 +254,7 @@ end subroutine damage_local_getSourceAndItsTangent
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
function damage_local_postResults(ip,el)
|
function damage_local_postResults(ip,el)
|
||||||
use material, only: &
|
use material, only: &
|
||||||
mappingHomogenization, &
|
material_homogenizationAt, &
|
||||||
damage_typeInstance, &
|
damage_typeInstance, &
|
||||||
damageMapping, &
|
damageMapping, &
|
||||||
damage
|
damage
|
||||||
|
@ -262,13 +263,13 @@ function damage_local_postResults(ip,el)
|
||||||
integer(pInt), intent(in) :: &
|
integer(pInt), intent(in) :: &
|
||||||
ip, & !< integration point
|
ip, & !< integration point
|
||||||
el !< element
|
el !< element
|
||||||
real(pReal), dimension(sum(damage_local_sizePostResult(:,damage_typeInstance(mappingHomogenization(2,ip,el))))) :: &
|
real(pReal), dimension(sum(damage_local_sizePostResult(:,damage_typeInstance(material_homogenizationAt(el))))) :: &
|
||||||
damage_local_postResults
|
damage_local_postResults
|
||||||
|
|
||||||
integer(pInt) :: &
|
integer(pInt) :: &
|
||||||
instance, homog, offset, o, c
|
instance, homog, offset, o, c
|
||||||
|
|
||||||
homog = mappingHomogenization(2,ip,el)
|
homog = material_homogenizationAt(el)
|
||||||
offset = damageMapping(homog)%p(ip,el)
|
offset = damageMapping(homog)%p(ip,el)
|
||||||
instance = damage_typeInstance(homog)
|
instance = damage_typeInstance(homog)
|
||||||
associate(prm => param(instance))
|
associate(prm => param(instance))
|
||||||
|
|
|
@ -136,7 +136,7 @@ end subroutine damage_nonlocal_init
|
||||||
subroutine damage_nonlocal_getSourceAndItsTangent(phiDot, dPhiDot_dPhi, phi, ip, el)
|
subroutine damage_nonlocal_getSourceAndItsTangent(phiDot, dPhiDot_dPhi, phi, ip, el)
|
||||||
use material, only: &
|
use material, only: &
|
||||||
homogenization_Ngrains, &
|
homogenization_Ngrains, &
|
||||||
mappingHomogenization, &
|
material_homogenizationAt, &
|
||||||
phaseAt, &
|
phaseAt, &
|
||||||
phasememberAt, &
|
phasememberAt, &
|
||||||
phase_source, &
|
phase_source, &
|
||||||
|
@ -170,7 +170,7 @@ subroutine damage_nonlocal_getSourceAndItsTangent(phiDot, dPhiDot_dPhi, phi, ip,
|
||||||
|
|
||||||
phiDot = 0.0_pReal
|
phiDot = 0.0_pReal
|
||||||
dPhiDot_dPhi = 0.0_pReal
|
dPhiDot_dPhi = 0.0_pReal
|
||||||
do grain = 1, homogenization_Ngrains(mappingHomogenization(2,ip,el))
|
do grain = 1, homogenization_Ngrains(material_homogenizationAt(el))
|
||||||
phase = phaseAt(grain,ip,el)
|
phase = phaseAt(grain,ip,el)
|
||||||
constituent = phasememberAt(grain,ip,el)
|
constituent = phasememberAt(grain,ip,el)
|
||||||
do source = 1, phase_Nsources(phase)
|
do source = 1, phase_Nsources(phase)
|
||||||
|
@ -197,8 +197,8 @@ subroutine damage_nonlocal_getSourceAndItsTangent(phiDot, dPhiDot_dPhi, phi, ip,
|
||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
phiDot = phiDot/real(homogenization_Ngrains(mappingHomogenization(2,ip,el)),pReal)
|
phiDot = phiDot/real(homogenization_Ngrains(material_homogenizationAt(el)),pReal)
|
||||||
dPhiDot_dPhi = dPhiDot_dPhi/real(homogenization_Ngrains(mappingHomogenization(2,ip,el)),pReal)
|
dPhiDot_dPhi = dPhiDot_dPhi/real(homogenization_Ngrains(material_homogenizationAt(el)),pReal)
|
||||||
|
|
||||||
end subroutine damage_nonlocal_getSourceAndItsTangent
|
end subroutine damage_nonlocal_getSourceAndItsTangent
|
||||||
|
|
||||||
|
@ -213,7 +213,7 @@ function damage_nonlocal_getDiffusion33(ip,el)
|
||||||
use material, only: &
|
use material, only: &
|
||||||
homogenization_Ngrains, &
|
homogenization_Ngrains, &
|
||||||
material_phase, &
|
material_phase, &
|
||||||
mappingHomogenization
|
material_homogenizationAt
|
||||||
use crystallite, only: &
|
use crystallite, only: &
|
||||||
crystallite_push33ToRef
|
crystallite_push33ToRef
|
||||||
|
|
||||||
|
@ -227,7 +227,7 @@ function damage_nonlocal_getDiffusion33(ip,el)
|
||||||
homog, &
|
homog, &
|
||||||
grain
|
grain
|
||||||
|
|
||||||
homog = mappingHomogenization(2,ip,el)
|
homog = material_homogenizationAt(el)
|
||||||
damage_nonlocal_getDiffusion33 = 0.0_pReal
|
damage_nonlocal_getDiffusion33 = 0.0_pReal
|
||||||
do grain = 1, homogenization_Ngrains(homog)
|
do grain = 1, homogenization_Ngrains(homog)
|
||||||
damage_nonlocal_getDiffusion33 = damage_nonlocal_getDiffusion33 + &
|
damage_nonlocal_getDiffusion33 = damage_nonlocal_getDiffusion33 + &
|
||||||
|
@ -299,7 +299,7 @@ end subroutine damage_nonlocal_putNonLocalDamage
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
function damage_nonlocal_postResults(ip,el)
|
function damage_nonlocal_postResults(ip,el)
|
||||||
use material, only: &
|
use material, only: &
|
||||||
mappingHomogenization, &
|
material_homogenizationAt, &
|
||||||
damage_typeInstance, &
|
damage_typeInstance, &
|
||||||
damageMapping, &
|
damageMapping, &
|
||||||
damage
|
damage
|
||||||
|
@ -308,13 +308,13 @@ function damage_nonlocal_postResults(ip,el)
|
||||||
integer(pInt), intent(in) :: &
|
integer(pInt), intent(in) :: &
|
||||||
ip, & !< integration point
|
ip, & !< integration point
|
||||||
el !< element
|
el !< element
|
||||||
real(pReal), dimension(sum(damage_nonlocal_sizePostResult(:,damage_typeInstance(mappingHomogenization(2,ip,el))))) :: &
|
real(pReal), dimension(sum(damage_nonlocal_sizePostResult(:,damage_typeInstance(material_homogenizationAt(el))))) :: &
|
||||||
damage_nonlocal_postResults
|
damage_nonlocal_postResults
|
||||||
|
|
||||||
integer(pInt) :: &
|
integer(pInt) :: &
|
||||||
instance, homog, offset, o, c
|
instance, homog, offset, o, c
|
||||||
|
|
||||||
homog = mappingHomogenization(2,ip,el)
|
homog = material_homogenizationAt(el)
|
||||||
offset = damageMapping(homog)%p(ip,el)
|
offset = damageMapping(homog)%p(ip,el)
|
||||||
instance = damage_typeInstance(homog)
|
instance = damage_typeInstance(homog)
|
||||||
associate(prm => param(instance))
|
associate(prm => param(instance))
|
||||||
|
|
|
@ -302,6 +302,7 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt)
|
||||||
thermalState, &
|
thermalState, &
|
||||||
damageState, &
|
damageState, &
|
||||||
phase_Nsources, &
|
phase_Nsources, &
|
||||||
|
material_homogenizationAt, &
|
||||||
mappingHomogenization, &
|
mappingHomogenization, &
|
||||||
phaseAt, phasememberAt, &
|
phaseAt, phasememberAt, &
|
||||||
homogenization_Ngrains
|
homogenization_Ngrains
|
||||||
|
@ -392,17 +393,17 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt)
|
||||||
materialpoint_requested(i,e) = .true. ! everybody requires calculation
|
materialpoint_requested(i,e) = .true. ! everybody requires calculation
|
||||||
endforall
|
endforall
|
||||||
forall(i = FEsolving_execIP(1,e):FEsolving_execIP(2,e), &
|
forall(i = FEsolving_execIP(1,e):FEsolving_execIP(2,e), &
|
||||||
homogState(mappingHomogenization(2,i,e))%sizeState > 0_pInt) &
|
homogState(material_homogenizationAt(e))%sizeState > 0_pInt) &
|
||||||
homogState(mappingHomogenization(2,i,e))%subState0(:,mappingHomogenization(1,i,e)) = &
|
homogState(material_homogenizationAt(e))%subState0(:,mappingHomogenization(1,i,e)) = &
|
||||||
homogState(mappingHomogenization(2,i,e))%State0( :,mappingHomogenization(1,i,e)) ! ...internal homogenization state
|
homogState(material_homogenizationAt(e))%State0( :,mappingHomogenization(1,i,e)) ! ...internal homogenization state
|
||||||
forall(i = FEsolving_execIP(1,e):FEsolving_execIP(2,e), &
|
forall(i = FEsolving_execIP(1,e):FEsolving_execIP(2,e), &
|
||||||
thermalState(mappingHomogenization(2,i,e))%sizeState > 0_pInt) &
|
thermalState(material_homogenizationAt(e))%sizeState > 0_pInt) &
|
||||||
thermalState(mappingHomogenization(2,i,e))%subState0(:,mappingHomogenization(1,i,e)) = &
|
thermalState(material_homogenizationAt(e))%subState0(:,mappingHomogenization(1,i,e)) = &
|
||||||
thermalState(mappingHomogenization(2,i,e))%State0( :,mappingHomogenization(1,i,e)) ! ...internal thermal state
|
thermalState(material_homogenizationAt(e))%State0( :,mappingHomogenization(1,i,e)) ! ...internal thermal state
|
||||||
forall(i = FEsolving_execIP(1,e):FEsolving_execIP(2,e), &
|
forall(i = FEsolving_execIP(1,e):FEsolving_execIP(2,e), &
|
||||||
damageState(mappingHomogenization(2,i,e))%sizeState > 0_pInt) &
|
damageState(material_homogenizationAt(e))%sizeState > 0_pInt) &
|
||||||
damageState(mappingHomogenization(2,i,e))%subState0(:,mappingHomogenization(1,i,e)) = &
|
damageState(material_homogenizationAt(e))%subState0(:,mappingHomogenization(1,i,e)) = &
|
||||||
damageState(mappingHomogenization(2,i,e))%State0( :,mappingHomogenization(1,i,e)) ! ...internal damage state
|
damageState(material_homogenizationAt(e))%State0( :,mappingHomogenization(1,i,e)) ! ...internal damage state
|
||||||
enddo
|
enddo
|
||||||
NiterationHomog = 0_pInt
|
NiterationHomog = 0_pInt
|
||||||
|
|
||||||
|
@ -462,17 +463,17 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt)
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
forall(i = FEsolving_execIP(1,e):FEsolving_execIP(2,e), &
|
forall(i = FEsolving_execIP(1,e):FEsolving_execIP(2,e), &
|
||||||
homogState(mappingHomogenization(2,i,e))%sizeState > 0_pInt) &
|
homogState(material_homogenizationAt(e))%sizeState > 0_pInt) &
|
||||||
homogState(mappingHomogenization(2,i,e))%subState0(:,mappingHomogenization(1,i,e)) = &
|
homogState(material_homogenizationAt(e))%subState0(:,mappingHomogenization(1,i,e)) = &
|
||||||
homogState(mappingHomogenization(2,i,e))%State( :,mappingHomogenization(1,i,e)) ! ...internal homogenization state
|
homogState(material_homogenizationAt(e))%State( :,mappingHomogenization(1,i,e)) ! ...internal homogenization state
|
||||||
forall(i = FEsolving_execIP(1,e):FEsolving_execIP(2,e), &
|
forall(i = FEsolving_execIP(1,e):FEsolving_execIP(2,e), &
|
||||||
thermalState(mappingHomogenization(2,i,e))%sizeState > 0_pInt) &
|
thermalState(material_homogenizationAt(e))%sizeState > 0_pInt) &
|
||||||
thermalState(mappingHomogenization(2,i,e))%subState0(:,mappingHomogenization(1,i,e)) = &
|
thermalState(material_homogenizationAt(e))%subState0(:,mappingHomogenization(1,i,e)) = &
|
||||||
thermalState(mappingHomogenization(2,i,e))%State( :,mappingHomogenization(1,i,e)) ! ...internal thermal state
|
thermalState(material_homogenizationAt(e))%State( :,mappingHomogenization(1,i,e)) ! ...internal thermal state
|
||||||
forall(i = FEsolving_execIP(1,e):FEsolving_execIP(2,e), &
|
forall(i = FEsolving_execIP(1,e):FEsolving_execIP(2,e), &
|
||||||
damageState(mappingHomogenization(2,i,e))%sizeState > 0_pInt) &
|
damageState(material_homogenizationAt(e))%sizeState > 0_pInt) &
|
||||||
damageState(mappingHomogenization(2,i,e))%subState0(:,mappingHomogenization(1,i,e)) = &
|
damageState(material_homogenizationAt(e))%subState0(:,mappingHomogenization(1,i,e)) = &
|
||||||
damageState(mappingHomogenization(2,i,e))%State( :,mappingHomogenization(1,i,e)) ! ...internal damage state
|
damageState(material_homogenizationAt(e))%State( :,mappingHomogenization(1,i,e)) ! ...internal damage state
|
||||||
materialpoint_subF0(1:3,1:3,i,e) = materialpoint_subF(1:3,1:3,i,e) ! ...def grad
|
materialpoint_subF0(1:3,1:3,i,e) = materialpoint_subF(1:3,1:3,i,e) ! ...def grad
|
||||||
endif steppingNeeded
|
endif steppingNeeded
|
||||||
|
|
||||||
|
@ -523,17 +524,17 @@ subroutine materialpoint_stressAndItsTangent(updateJaco,dt)
|
||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
forall(i = FEsolving_execIP(1,e):FEsolving_execIP(2,e), &
|
forall(i = FEsolving_execIP(1,e):FEsolving_execIP(2,e), &
|
||||||
homogState(mappingHomogenization(2,i,e))%sizeState > 0_pInt) &
|
homogState(material_homogenizationAt(e))%sizeState > 0_pInt) &
|
||||||
homogState(mappingHomogenization(2,i,e))%State( :,mappingHomogenization(1,i,e)) = &
|
homogState(material_homogenizationAt(e))%State( :,mappingHomogenization(1,i,e)) = &
|
||||||
homogState(mappingHomogenization(2,i,e))%subState0(:,mappingHomogenization(1,i,e)) ! ...internal homogenization state
|
homogState(material_homogenizationAt(e))%subState0(:,mappingHomogenization(1,i,e)) ! ...internal homogenization state
|
||||||
forall(i = FEsolving_execIP(1,e):FEsolving_execIP(2,e), &
|
forall(i = FEsolving_execIP(1,e):FEsolving_execIP(2,e), &
|
||||||
thermalState(mappingHomogenization(2,i,e))%sizeState > 0_pInt) &
|
thermalState(material_homogenizationAt(e))%sizeState > 0_pInt) &
|
||||||
thermalState(mappingHomogenization(2,i,e))%State( :,mappingHomogenization(1,i,e)) = &
|
thermalState(material_homogenizationAt(e))%State( :,mappingHomogenization(1,i,e)) = &
|
||||||
thermalState(mappingHomogenization(2,i,e))%subState0(:,mappingHomogenization(1,i,e)) ! ...internal thermal state
|
thermalState(material_homogenizationAt(e))%subState0(:,mappingHomogenization(1,i,e)) ! ...internal thermal state
|
||||||
forall(i = FEsolving_execIP(1,e):FEsolving_execIP(2,e), &
|
forall(i = FEsolving_execIP(1,e):FEsolving_execIP(2,e), &
|
||||||
damageState(mappingHomogenization(2,i,e))%sizeState > 0_pInt) &
|
damageState(material_homogenizationAt(e))%sizeState > 0_pInt) &
|
||||||
damageState(mappingHomogenization(2,i,e))%State( :,mappingHomogenization(1,i,e)) = &
|
damageState(material_homogenizationAt(e))%State( :,mappingHomogenization(1,i,e)) = &
|
||||||
damageState(mappingHomogenization(2,i,e))%subState0(:,mappingHomogenization(1,i,e)) ! ...internal damage state
|
damageState(material_homogenizationAt(e))%subState0(:,mappingHomogenization(1,i,e)) ! ...internal damage state
|
||||||
endif
|
endif
|
||||||
endif converged
|
endif converged
|
||||||
|
|
||||||
|
@ -637,7 +638,7 @@ subroutine materialpoint_postResults
|
||||||
use mesh, only: &
|
use mesh, only: &
|
||||||
mesh_element
|
mesh_element
|
||||||
use material, only: &
|
use material, only: &
|
||||||
mappingHomogenization, &
|
material_homogenizationAt, &
|
||||||
homogState, &
|
homogState, &
|
||||||
thermalState, &
|
thermalState, &
|
||||||
damageState, &
|
damageState, &
|
||||||
|
@ -667,9 +668,9 @@ subroutine materialpoint_postResults
|
||||||
IpLooping: do i = FEsolving_execIP(1,e),FEsolving_execIP(2,e)
|
IpLooping: do i = FEsolving_execIP(1,e),FEsolving_execIP(2,e)
|
||||||
thePos = 0_pInt
|
thePos = 0_pInt
|
||||||
|
|
||||||
theSize = homogState (mappingHomogenization(2,i,e))%sizePostResults &
|
theSize = homogState (material_homogenizationAt(e))%sizePostResults &
|
||||||
+ thermalState (mappingHomogenization(2,i,e))%sizePostResults &
|
+ thermalState (material_homogenizationAt(e))%sizePostResults &
|
||||||
+ damageState (mappingHomogenization(2,i,e))%sizePostResults
|
+ damageState (material_homogenizationAt(e))%sizePostResults
|
||||||
materialpoint_results(thePos+1,i,e) = real(theSize,pReal) ! tell size of homogenization results
|
materialpoint_results(thePos+1,i,e) = real(theSize,pReal) ! tell size of homogenization results
|
||||||
thePos = thePos + 1_pInt
|
thePos = thePos + 1_pInt
|
||||||
|
|
||||||
|
@ -902,9 +903,9 @@ function postResults(ip,el)
|
||||||
integer(pInt), intent(in) :: &
|
integer(pInt), intent(in) :: &
|
||||||
ip, & !< integration point
|
ip, & !< integration point
|
||||||
el !< element number
|
el !< element number
|
||||||
real(pReal), dimension( homogState (mappingHomogenization(2,ip,el))%sizePostResults &
|
real(pReal), dimension( homogState (material_homogenizationAt(el))%sizePostResults &
|
||||||
+ thermalState (mappingHomogenization(2,ip,el))%sizePostResults &
|
+ thermalState (material_homogenizationAt(el))%sizePostResults &
|
||||||
+ damageState (mappingHomogenization(2,ip,el))%sizePostResults) :: &
|
+ damageState (material_homogenizationAt(el))%sizePostResults) :: &
|
||||||
postResults
|
postResults
|
||||||
integer(pInt) :: &
|
integer(pInt) :: &
|
||||||
startPos, endPos ,&
|
startPos, endPos ,&
|
||||||
|
@ -913,7 +914,7 @@ function postResults(ip,el)
|
||||||
|
|
||||||
postResults = 0.0_pReal
|
postResults = 0.0_pReal
|
||||||
startPos = 1_pInt
|
startPos = 1_pInt
|
||||||
endPos = homogState(mappingHomogenization(2,ip,el))%sizePostResults
|
endPos = homogState(material_homogenizationAt(el))%sizePostResults
|
||||||
chosenHomogenization: select case (homogenization_type(mesh_element(3,el)))
|
chosenHomogenization: select case (homogenization_type(mesh_element(3,el)))
|
||||||
|
|
||||||
case (HOMOGENIZATION_RGC_ID) chosenHomogenization
|
case (HOMOGENIZATION_RGC_ID) chosenHomogenization
|
||||||
|
@ -924,22 +925,22 @@ function postResults(ip,el)
|
||||||
end select chosenHomogenization
|
end select chosenHomogenization
|
||||||
|
|
||||||
startPos = endPos + 1_pInt
|
startPos = endPos + 1_pInt
|
||||||
endPos = endPos + thermalState(mappingHomogenization(2,ip,el))%sizePostResults
|
endPos = endPos + thermalState(material_homogenizationAt(el))%sizePostResults
|
||||||
chosenThermal: select case (thermal_type(mesh_element(3,el)))
|
chosenThermal: select case (thermal_type(mesh_element(3,el)))
|
||||||
|
|
||||||
case (THERMAL_adiabatic_ID) chosenThermal
|
case (THERMAL_adiabatic_ID) chosenThermal
|
||||||
homog = mappingHomogenization(2,ip,el)
|
homog = material_homogenizationAt(el)
|
||||||
postResults(startPos:endPos) = &
|
postResults(startPos:endPos) = &
|
||||||
thermal_adiabatic_postResults(homog,thermal_typeInstance(homog),thermalMapping(homog)%p(ip,el))
|
thermal_adiabatic_postResults(homog,thermal_typeInstance(homog),thermalMapping(homog)%p(ip,el))
|
||||||
case (THERMAL_conduction_ID) chosenThermal
|
case (THERMAL_conduction_ID) chosenThermal
|
||||||
homog = mappingHomogenization(2,ip,el)
|
homog = material_homogenizationAt(el)
|
||||||
postResults(startPos:endPos) = &
|
postResults(startPos:endPos) = &
|
||||||
thermal_conduction_postResults(homog,thermal_typeInstance(homog),thermalMapping(homog)%p(ip,el))
|
thermal_conduction_postResults(homog,thermal_typeInstance(homog),thermalMapping(homog)%p(ip,el))
|
||||||
|
|
||||||
end select chosenThermal
|
end select chosenThermal
|
||||||
|
|
||||||
startPos = endPos + 1_pInt
|
startPos = endPos + 1_pInt
|
||||||
endPos = endPos + damageState(mappingHomogenization(2,ip,el))%sizePostResults
|
endPos = endPos + damageState(material_homogenizationAt(el))%sizePostResults
|
||||||
chosenDamage: select case (damage_type(mesh_element(3,el)))
|
chosenDamage: select case (damage_type(mesh_element(3,el)))
|
||||||
|
|
||||||
case (DAMAGE_local_ID) chosenDamage
|
case (DAMAGE_local_ID) chosenDamage
|
||||||
|
|
|
@ -391,6 +391,8 @@ subroutine material_init()
|
||||||
! END DEPRECATED
|
! END DEPRECATED
|
||||||
|
|
||||||
allocate(material_homogenizationAt,source=theMesh%homogenizationAt)
|
allocate(material_homogenizationAt,source=theMesh%homogenizationAt)
|
||||||
|
allocate(material_AggregateAt, source=theMesh%homogenizationAt)
|
||||||
|
|
||||||
allocate(CounterPhase (size(config_phase)), source=0_pInt)
|
allocate(CounterPhase (size(config_phase)), source=0_pInt)
|
||||||
allocate(CounterHomogenization(size(config_homogenization)),source=0_pInt)
|
allocate(CounterHomogenization(size(config_homogenization)),source=0_pInt)
|
||||||
|
|
||||||
|
@ -399,7 +401,7 @@ subroutine material_init()
|
||||||
myHomog = theMesh%homogenizationAt(e)
|
myHomog = theMesh%homogenizationAt(e)
|
||||||
do i = 1_pInt, theMesh%elem%nIPs
|
do i = 1_pInt, theMesh%elem%nIPs
|
||||||
CounterHomogenization(myHomog) = CounterHomogenization(myHomog) + 1_pInt
|
CounterHomogenization(myHomog) = CounterHomogenization(myHomog) + 1_pInt
|
||||||
mappingHomogenization(1:2,i,e) = [CounterHomogenization(myHomog),myHomog]
|
mappingHomogenization(1:2,i,e) = [CounterHomogenization(myHomog),huge(1)]
|
||||||
do g = 1_pInt,homogenization_Ngrains(myHomog)
|
do g = 1_pInt,homogenization_Ngrains(myHomog)
|
||||||
myPhase = material_phase(g,i,e)
|
myPhase = material_phase(g,i,e)
|
||||||
CounterPhase(myPhase) = CounterPhase(myPhase)+1_pInt ! not distinguishing between instances of same phase
|
CounterPhase(myPhase) = CounterPhase(myPhase)+1_pInt ! not distinguishing between instances of same phase
|
||||||
|
|
|
@ -61,7 +61,7 @@ subroutine spectral_thermal_init
|
||||||
thermal_conduction_getMassDensity, &
|
thermal_conduction_getMassDensity, &
|
||||||
thermal_conduction_getSpecificHeat
|
thermal_conduction_getSpecificHeat
|
||||||
use material, only: &
|
use material, only: &
|
||||||
mappingHomogenization, &
|
material_homogenizationAt, &
|
||||||
temperature, &
|
temperature, &
|
||||||
thermalMapping
|
thermalMapping
|
||||||
use numerics, only: &
|
use numerics, only: &
|
||||||
|
@ -118,8 +118,8 @@ subroutine spectral_thermal_init
|
||||||
cell = 0
|
cell = 0
|
||||||
do k = 1, grid3; do j = 1, grid(2); do i = 1,grid(1)
|
do k = 1, grid3; do j = 1, grid(2); do i = 1,grid(1)
|
||||||
cell = cell + 1
|
cell = cell + 1
|
||||||
temperature_current(i,j,k) = temperature(mappingHomogenization(2,1,cell))% &
|
temperature_current(i,j,k) = temperature(material_homogenizationAt(cell))% &
|
||||||
p(thermalMapping(mappingHomogenization(2,1,cell))%p(1,cell))
|
p(thermalMapping(material_homogenizationAt(cell))%p(1,cell))
|
||||||
temperature_lastInc(i,j,k) = temperature_current(i,j,k)
|
temperature_lastInc(i,j,k) = temperature_current(i,j,k)
|
||||||
temperature_stagInc(i,j,k) = temperature_current(i,j,k)
|
temperature_stagInc(i,j,k) = temperature_current(i,j,k)
|
||||||
enddo; enddo; enddo
|
enddo; enddo; enddo
|
||||||
|
|
|
@ -166,6 +166,7 @@ end function thermal_adiabatic_updateState
|
||||||
subroutine thermal_adiabatic_getSourceAndItsTangent(Tdot, dTdot_dT, T, ip, el)
|
subroutine thermal_adiabatic_getSourceAndItsTangent(Tdot, dTdot_dT, T, ip, el)
|
||||||
use material, only: &
|
use material, only: &
|
||||||
homogenization_Ngrains, &
|
homogenization_Ngrains, &
|
||||||
|
material_homogenizationAt, &
|
||||||
mappingHomogenization, &
|
mappingHomogenization, &
|
||||||
phaseAt, &
|
phaseAt, &
|
||||||
phasememberAt, &
|
phasememberAt, &
|
||||||
|
@ -200,7 +201,7 @@ subroutine thermal_adiabatic_getSourceAndItsTangent(Tdot, dTdot_dT, T, ip, el)
|
||||||
source, &
|
source, &
|
||||||
constituent
|
constituent
|
||||||
|
|
||||||
homog = mappingHomogenization(2,ip,el)
|
homog = material_homogenizationAt(el)
|
||||||
instance = thermal_typeInstance(homog)
|
instance = thermal_typeInstance(homog)
|
||||||
|
|
||||||
Tdot = 0.0_pReal
|
Tdot = 0.0_pReal
|
||||||
|
|
|
@ -119,6 +119,7 @@ end subroutine thermal_conduction_init
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
subroutine thermal_conduction_getSourceAndItsTangent(Tdot, dTdot_dT, T, ip, el)
|
subroutine thermal_conduction_getSourceAndItsTangent(Tdot, dTdot_dT, T, ip, el)
|
||||||
use material, only: &
|
use material, only: &
|
||||||
|
material_homogenizationAt, &
|
||||||
homogenization_Ngrains, &
|
homogenization_Ngrains, &
|
||||||
mappingHomogenization, &
|
mappingHomogenization, &
|
||||||
phaseAt, &
|
phaseAt, &
|
||||||
|
@ -155,7 +156,7 @@ subroutine thermal_conduction_getSourceAndItsTangent(Tdot, dTdot_dT, T, ip, el)
|
||||||
source, &
|
source, &
|
||||||
constituent
|
constituent
|
||||||
|
|
||||||
homog = mappingHomogenization(2,ip,el)
|
homog = material_homogenizationAt(el)
|
||||||
offset = mappingHomogenization(1,ip,el)
|
offset = mappingHomogenization(1,ip,el)
|
||||||
instance = thermal_typeInstance(homog)
|
instance = thermal_typeInstance(homog)
|
||||||
|
|
||||||
|
@ -302,7 +303,7 @@ end function thermal_conduction_getMassDensity
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
subroutine thermal_conduction_putTemperatureAndItsRate(T,Tdot,ip,el)
|
subroutine thermal_conduction_putTemperatureAndItsRate(T,Tdot,ip,el)
|
||||||
use material, only: &
|
use material, only: &
|
||||||
mappingHomogenization, &
|
material_homogenizationAt, &
|
||||||
temperature, &
|
temperature, &
|
||||||
temperatureRate, &
|
temperatureRate, &
|
||||||
thermalMapping
|
thermalMapping
|
||||||
|
@ -318,7 +319,7 @@ subroutine thermal_conduction_putTemperatureAndItsRate(T,Tdot,ip,el)
|
||||||
homog, &
|
homog, &
|
||||||
offset
|
offset
|
||||||
|
|
||||||
homog = mappingHomogenization(2,ip,el)
|
homog = material_homogenizationAt(el)
|
||||||
offset = thermalMapping(homog)%p(ip,el)
|
offset = thermalMapping(homog)%p(ip,el)
|
||||||
temperature (homog)%p(offset) = T
|
temperature (homog)%p(offset) = T
|
||||||
temperatureRate(homog)%p(offset) = Tdot
|
temperatureRate(homog)%p(offset) = Tdot
|
||||||
|
|
Loading…
Reference in New Issue