parent
8dbc3d2d47
commit
eca28556ae
|
@ -200,15 +200,6 @@ module constitutive
|
||||||
el !< element
|
el !< element
|
||||||
end function plastic_dislotwin_homogenizedC
|
end function plastic_dislotwin_homogenizedC
|
||||||
|
|
||||||
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)
|
module subroutine plastic_nonlocal_updateCompatibility(orientation,instance,i,e)
|
||||||
integer, intent(in) :: &
|
integer, intent(in) :: &
|
||||||
instance, &
|
instance, &
|
||||||
|
@ -378,7 +369,6 @@ module constitutive
|
||||||
constitutive_LpAndItsTangents, &
|
constitutive_LpAndItsTangents, &
|
||||||
constitutive_dependentState, &
|
constitutive_dependentState, &
|
||||||
constitutive_LiAndItsTangents, &
|
constitutive_LiAndItsTangents, &
|
||||||
constitutive_initialFi, &
|
|
||||||
constitutive_SandItsTangents, &
|
constitutive_SandItsTangents, &
|
||||||
constitutive_collectDotState, &
|
constitutive_collectDotState, &
|
||||||
constitutive_deltaState, &
|
constitutive_deltaState, &
|
||||||
|
@ -607,39 +597,6 @@ subroutine constitutive_LiAndItsTangents(Li, dLi_dS, dLi_dFi, &
|
||||||
end subroutine constitutive_LiAndItsTangents
|
end subroutine constitutive_LiAndItsTangents
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
|
||||||
!> @brief collects initial intermediate deformation gradient
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
|
||||||
pure function constitutive_initialFi(ipc, ip, el)
|
|
||||||
|
|
||||||
integer, intent(in) :: &
|
|
||||||
ipc, & !< component-ID of integration point
|
|
||||||
ip, & !< integration point
|
|
||||||
el !< element
|
|
||||||
real(pReal), dimension(3,3) :: &
|
|
||||||
constitutive_initialFi !< composite initial intermediate deformation gradient
|
|
||||||
integer :: &
|
|
||||||
k !< counter in kinematics loop
|
|
||||||
integer :: &
|
|
||||||
phase, &
|
|
||||||
homog, offset
|
|
||||||
|
|
||||||
constitutive_initialFi = math_I3
|
|
||||||
phase = material_phaseAt(ipc,el)
|
|
||||||
|
|
||||||
KinematicsLoop: do k = 1, phase_Nkinematics(phase) !< Warning: small initial strain assumption
|
|
||||||
kinematicsType: select case (phase_kinematics(k,phase))
|
|
||||||
case (KINEMATICS_thermal_expansion_ID) kinematicsType
|
|
||||||
homog = material_homogenizationAt(el)
|
|
||||||
offset = material_homogenizationMemberAt(ip,el)
|
|
||||||
constitutive_initialFi = constitutive_initialFi &
|
|
||||||
+ kinematics_thermal_expansion_initialStrain(homog,phase,offset)
|
|
||||||
end select kinematicsType
|
|
||||||
enddo KinematicsLoop
|
|
||||||
|
|
||||||
end function constitutive_initialFi
|
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief contains the constitutive equation for calculating the rate of change of microstructure
|
!> @brief contains the constitutive equation for calculating the rate of change of microstructure
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -263,7 +263,7 @@ subroutine crystallite_init
|
||||||
crystallite_Fp0(1:3,1:3,c,i,e) = material_orientation0(c,i,e)%asMatrix() ! Fp reflects initial orientation (see 10.1016/j.actamat.2006.01.005)
|
crystallite_Fp0(1:3,1:3,c,i,e) = material_orientation0(c,i,e)%asMatrix() ! Fp reflects initial orientation (see 10.1016/j.actamat.2006.01.005)
|
||||||
crystallite_Fp0(1:3,1:3,c,i,e) = crystallite_Fp0(1:3,1:3,c,i,e) &
|
crystallite_Fp0(1:3,1:3,c,i,e) = crystallite_Fp0(1:3,1:3,c,i,e) &
|
||||||
/ math_det33(crystallite_Fp0(1:3,1:3,c,i,e))**(1.0_pReal/3.0_pReal)
|
/ math_det33(crystallite_Fp0(1:3,1:3,c,i,e))**(1.0_pReal/3.0_pReal)
|
||||||
crystallite_Fi0(1:3,1:3,c,i,e) = constitutive_initialFi(c,i,e)
|
crystallite_Fi0(1:3,1:3,c,i,e) = math_I3
|
||||||
crystallite_F0(1:3,1:3,c,i,e) = math_I3
|
crystallite_F0(1:3,1:3,c,i,e) = math_I3
|
||||||
crystallite_Fe(1:3,1:3,c,i,e) = math_inv33(matmul(crystallite_Fi0(1:3,1:3,c,i,e), &
|
crystallite_Fe(1:3,1:3,c,i,e) = math_inv33(matmul(crystallite_Fi0(1:3,1:3,c,i,e), &
|
||||||
crystallite_Fp0(1:3,1:3,c,i,e))) ! assuming that euler angles are given in internal strain free configuration
|
crystallite_Fp0(1:3,1:3,c,i,e))) ! assuming that euler angles are given in internal strain free configuration
|
||||||
|
|
|
@ -81,29 +81,6 @@ module function kinematics_thermal_expansion_init(kinematics_length) result(myKi
|
||||||
end function kinematics_thermal_expansion_init
|
end function kinematics_thermal_expansion_init
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
|
||||||
!> @brief report initial thermal strain based on current temperature deviation from reference
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
|
||||||
pure module function kinematics_thermal_expansion_initialStrain(homog,phase,offset) result(initialStrain)
|
|
||||||
|
|
||||||
integer, intent(in) :: &
|
|
||||||
phase, &
|
|
||||||
homog, &
|
|
||||||
offset
|
|
||||||
|
|
||||||
real(pReal), dimension(3,3) :: &
|
|
||||||
initialStrain !< initial thermal strain (should be small strain, though)
|
|
||||||
|
|
||||||
associate(prm => param(kinematics_thermal_expansion_instance(phase)))
|
|
||||||
initialStrain = &
|
|
||||||
(temperature(homog)%p(offset) - prm%T_ref)**1 / 1. * prm%A(1:3,1:3,1) + & ! constant coefficient
|
|
||||||
(temperature(homog)%p(offset) - prm%T_ref)**2 / 2. * prm%A(1:3,1:3,2) + & ! linear coefficient
|
|
||||||
(temperature(homog)%p(offset) - prm%T_ref)**3 / 3. * prm%A(1:3,1:3,3) ! quadratic coefficient
|
|
||||||
end associate
|
|
||||||
|
|
||||||
end function kinematics_thermal_expansion_initialStrain
|
|
||||||
|
|
||||||
|
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
!> @brief constitutive equation for calculating the velocity gradient
|
!> @brief constitutive equation for calculating the velocity gradient
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
|
|
Loading…
Reference in New Issue