better
This commit is contained in:
parent
4145ac90d7
commit
3563bce6cb
|
@ -141,6 +141,80 @@ module constitutive
|
||||||
el !< element
|
el !< element
|
||||||
end function constitutive_homogenizedC
|
end function constitutive_homogenizedC
|
||||||
|
|
||||||
|
module subroutine constitutive_plastic_dependentState(F, Fp, ipc, ip, el)
|
||||||
|
|
||||||
|
integer, intent(in) :: &
|
||||||
|
ipc, & !< component-ID of integration point
|
||||||
|
ip, & !< integration point
|
||||||
|
el !< element
|
||||||
|
real(pReal), intent(in), dimension(3,3) :: &
|
||||||
|
F, & !< elastic deformation gradient
|
||||||
|
Fp !< plastic deformation gradient
|
||||||
|
end subroutine constitutive_plastic_dependentState
|
||||||
|
|
||||||
|
module subroutine constitutive_plastic_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, &
|
||||||
|
S, Fi, ipc, ip, el)
|
||||||
|
integer, intent(in) :: &
|
||||||
|
ipc, & !< component-ID of integration point
|
||||||
|
ip, & !< integration point
|
||||||
|
el !< element
|
||||||
|
real(pReal), intent(in), dimension(3,3) :: &
|
||||||
|
S, & !< 2nd Piola-Kirchhoff stress
|
||||||
|
Fi !< intermediate deformation gradient
|
||||||
|
real(pReal), intent(out), dimension(3,3) :: &
|
||||||
|
Lp !< plastic velocity gradient
|
||||||
|
real(pReal), intent(out), dimension(3,3,3,3) :: &
|
||||||
|
dLp_dS, &
|
||||||
|
dLp_dFi !< derivative of Lp with respect to Fi
|
||||||
|
|
||||||
|
end subroutine constitutive_plastic_LpAndItsTangents
|
||||||
|
|
||||||
|
pure module function kinematics_thermal_expansion_initialStrain(homog,phase,offset) result(initialStrain)
|
||||||
|
|
||||||
|
integer, intent(in) :: &
|
||||||
|
phase, &
|
||||||
|
homog, &
|
||||||
|
offset
|
||||||
|
real(pReal), dimension(3,3) :: &
|
||||||
|
initialStrain
|
||||||
|
|
||||||
|
end function kinematics_thermal_expansion_initialStrain
|
||||||
|
|
||||||
|
module subroutine plastic_nonlocal_updateCompatibility(orientation,instance,i,e)
|
||||||
|
integer, intent(in) :: &
|
||||||
|
instance, &
|
||||||
|
i, &
|
||||||
|
e
|
||||||
|
type(rotation), dimension(1,discretization_nIP,discretization_nElem), intent(in) :: &
|
||||||
|
orientation !< crystal orientation
|
||||||
|
end subroutine plastic_nonlocal_updateCompatibility
|
||||||
|
|
||||||
|
module subroutine constitutive_damage_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el)
|
||||||
|
integer, intent(in) :: &
|
||||||
|
ip, & !< integration point number
|
||||||
|
el !< element number
|
||||||
|
real(pReal), intent(in) :: &
|
||||||
|
phi
|
||||||
|
real(pReal), intent(inout) :: &
|
||||||
|
phiDot, &
|
||||||
|
dPhiDot_dPhi
|
||||||
|
|
||||||
|
end subroutine constitutive_damage_getRateAndItsTangents
|
||||||
|
|
||||||
|
module subroutine constitutive_thermal_getRateAndItsTangents(TDot, dTDot_dT, T, Tstar, Lp, ip, el)
|
||||||
|
integer, intent(in) :: &
|
||||||
|
ip, & !< integration point number
|
||||||
|
el !< element number
|
||||||
|
real(pReal), intent(in) :: &
|
||||||
|
T
|
||||||
|
real(pReal), intent(in), dimension(:,:,:,:,:) :: &
|
||||||
|
Tstar, &
|
||||||
|
Lp
|
||||||
|
real(pReal), intent(inout) :: &
|
||||||
|
TDot, &
|
||||||
|
dTDot_dT
|
||||||
|
end subroutine constitutive_thermal_getRateAndItsTangents
|
||||||
|
|
||||||
|
|
||||||
module subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dMi,Mi,instance,of)
|
module subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dMi,Mi,instance,of)
|
||||||
real(pReal), dimension(3,3), intent(out) :: &
|
real(pReal), dimension(3,3), intent(out) :: &
|
||||||
|
@ -226,7 +300,6 @@ module constitutive
|
||||||
end subroutine source_damage_isoBrittle_deltaState
|
end subroutine source_damage_isoBrittle_deltaState
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
module subroutine plastic_isotropic_results(instance,group)
|
module subroutine plastic_isotropic_results(instance,group)
|
||||||
integer, intent(in) :: instance
|
integer, intent(in) :: instance
|
||||||
character(len=*), intent(in) :: group
|
character(len=*), intent(in) :: group
|
||||||
|
@ -277,79 +350,6 @@ module constitutive
|
||||||
character(len=*), intent(in) :: group
|
character(len=*), intent(in) :: group
|
||||||
end subroutine source_damage_isoDuctile_results
|
end subroutine source_damage_isoDuctile_results
|
||||||
|
|
||||||
module subroutine constitutive_plastic_dependentState(F, Fp, ipc, ip, el)
|
|
||||||
|
|
||||||
integer, intent(in) :: &
|
|
||||||
ipc, & !< component-ID of integration point
|
|
||||||
ip, & !< integration point
|
|
||||||
el !< element
|
|
||||||
real(pReal), intent(in), dimension(3,3) :: &
|
|
||||||
F, & !< elastic deformation gradient
|
|
||||||
Fp !< plastic deformation gradient
|
|
||||||
end subroutine constitutive_plastic_dependentState
|
|
||||||
|
|
||||||
module subroutine constitutive_plastic_LpAndItsTangents(Lp, dLp_dS, dLp_dFi, &
|
|
||||||
S, Fi, ipc, ip, el)
|
|
||||||
integer, intent(in) :: &
|
|
||||||
ipc, & !< component-ID of integration point
|
|
||||||
ip, & !< integration point
|
|
||||||
el !< element
|
|
||||||
real(pReal), intent(in), dimension(3,3) :: &
|
|
||||||
S, & !< 2nd Piola-Kirchhoff stress
|
|
||||||
Fi !< intermediate deformation gradient
|
|
||||||
real(pReal), intent(out), dimension(3,3) :: &
|
|
||||||
Lp !< plastic velocity gradient
|
|
||||||
real(pReal), intent(out), dimension(3,3,3,3) :: &
|
|
||||||
dLp_dS, &
|
|
||||||
dLp_dFi !< derivative of Lp with respect to Fi
|
|
||||||
|
|
||||||
end subroutine constitutive_plastic_LpAndItsTangents
|
|
||||||
|
|
||||||
pure module function kinematics_thermal_expansion_initialStrain(homog,phase,offset) result(initialStrain)
|
|
||||||
|
|
||||||
integer, intent(in) :: &
|
|
||||||
phase, &
|
|
||||||
homog, &
|
|
||||||
offset
|
|
||||||
real(pReal), dimension(3,3) :: &
|
|
||||||
initialStrain
|
|
||||||
|
|
||||||
end function kinematics_thermal_expansion_initialStrain
|
|
||||||
|
|
||||||
module subroutine plastic_nonlocal_updateCompatibility(orientation,instance,i,e)
|
|
||||||
integer, intent(in) :: &
|
|
||||||
instance, &
|
|
||||||
i, &
|
|
||||||
e
|
|
||||||
type(rotation), dimension(1,discretization_nIP,discretization_nElem), intent(in) :: &
|
|
||||||
orientation !< crystal orientation
|
|
||||||
end subroutine plastic_nonlocal_updateCompatibility
|
|
||||||
|
|
||||||
module subroutine damage_source_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el)
|
|
||||||
integer, intent(in) :: &
|
|
||||||
ip, & !< integration point number
|
|
||||||
el !< element number
|
|
||||||
real(pReal), intent(in) :: &
|
|
||||||
phi
|
|
||||||
real(pReal), intent(inout) :: &
|
|
||||||
phiDot, &
|
|
||||||
dPhiDot_dPhi
|
|
||||||
end subroutine damage_source_getRateAndItsTangents
|
|
||||||
|
|
||||||
module subroutine thermal_source_getRateAndItsTangents(TDot, dTDot_dT, T, Tstar, Lp, ip, el)
|
|
||||||
integer, intent(in) :: &
|
|
||||||
ip, & !< integration point number
|
|
||||||
el !< element number
|
|
||||||
real(pReal), intent(in) :: &
|
|
||||||
T
|
|
||||||
real(pReal), intent(in), dimension(:,:,:,:,:) :: &
|
|
||||||
Tstar, &
|
|
||||||
Lp
|
|
||||||
real(pReal), intent(inout) :: &
|
|
||||||
TDot, &
|
|
||||||
dTDot_dT
|
|
||||||
end subroutine thermal_source_getRateAndItsTangents
|
|
||||||
|
|
||||||
end interface
|
end interface
|
||||||
|
|
||||||
|
|
||||||
|
@ -779,39 +779,6 @@ function constitutive_deltaState(S, Fe, Fi, ipc, ip, el, phase, of) result(broke
|
||||||
|
|
||||||
end function constitutive_deltaState
|
end function constitutive_deltaState
|
||||||
|
|
||||||
subroutine constitutive_thermal_getRateAndItsTangents(Tdot, dTDot_dT, T, Tstar, Lp, ip, el)
|
|
||||||
|
|
||||||
integer, intent(in) :: &
|
|
||||||
ip, & !< integration point number
|
|
||||||
el !< element number
|
|
||||||
real(pReal), intent(in) :: &
|
|
||||||
T
|
|
||||||
real(pReal), intent(in), dimension(:,:,:,:,:) :: &
|
|
||||||
Tstar, &
|
|
||||||
Lp
|
|
||||||
real(pReal), intent(inout) :: &
|
|
||||||
Tdot, &
|
|
||||||
dTdot_dT
|
|
||||||
|
|
||||||
call thermal_source_getRateAndItsTangents(Tdot, dTdot_dT, T, Tstar, Lp, ip, el)
|
|
||||||
|
|
||||||
end subroutine constitutive_thermal_getRateAndItsTangents
|
|
||||||
|
|
||||||
subroutine constitutive_damage_getRateAndItsTangents(phiDot, dPhiDot_dPhi, phi, ip, el)
|
|
||||||
|
|
||||||
integer, intent(in) :: &
|
|
||||||
ip, & !< integration point number
|
|
||||||
el !< element number
|
|
||||||
real(pReal), intent(in) :: &
|
|
||||||
phi
|
|
||||||
real(pReal), intent(inout) :: &
|
|
||||||
phiDot, &
|
|
||||||
dPhiDot_dPhi
|
|
||||||
|
|
||||||
call damage_source_getRateAndItsTangents(phiDot,dPhiDot_dPhi,phi,ip,el)
|
|
||||||
|
|
||||||
end subroutine constitutive_damage_getRateAndItsTangents
|
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief writes constitutive results to HDF5 output file
|
!> @brief writes constitutive results to HDF5 output file
|
||||||
|
|
|
@ -109,7 +109,7 @@ module subroutine damage_init
|
||||||
end subroutine damage_init
|
end subroutine damage_init
|
||||||
|
|
||||||
|
|
||||||
module procedure damage_source_getRateAndItsTangents
|
module procedure constitutive_damage_getRateAndItsTangents
|
||||||
|
|
||||||
real(pReal) :: &
|
real(pReal) :: &
|
||||||
localphiDot, &
|
localphiDot, &
|
||||||
|
@ -150,6 +150,6 @@ module procedure damage_source_getRateAndItsTangents
|
||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
end procedure damage_source_getRateAndItsTangents
|
end procedure constitutive_damage_getRateAndItsTangents
|
||||||
|
|
||||||
end submodule
|
end submodule
|
||||||
|
|
|
@ -56,7 +56,7 @@ module subroutine thermal_init
|
||||||
end subroutine thermal_init
|
end subroutine thermal_init
|
||||||
|
|
||||||
|
|
||||||
module procedure thermal_source_getRateAndItsTangents
|
module procedure constitutive_thermal_getRateAndItsTangents
|
||||||
|
|
||||||
real(pReal) :: &
|
real(pReal) :: &
|
||||||
my_Tdot, &
|
my_Tdot, &
|
||||||
|
@ -96,6 +96,6 @@ module procedure thermal_source_getRateAndItsTangents
|
||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
end procedure thermal_source_getRateAndItsTangents
|
end procedure constitutive_thermal_getRateAndItsTangents
|
||||||
|
|
||||||
end submodule
|
end submodule
|
||||||
|
|
Loading…
Reference in New Issue