added calculation for tangent of Lp

This commit is contained in:
Christoph Kords 2009-03-06 11:07:15 +00:00
parent d12904a412
commit ae0eafdb90
1 changed files with 12 additions and 2 deletions

View File

@ -277,21 +277,31 @@ subroutine constitutive_j2_LpAndItsTangent(Lp,dLp_dTstar,Tstar_v,Temperature,sta
real(pReal) Temperature real(pReal) Temperature
type(p_vec), dimension(homogenization_maxNgrains,mesh_maxNips,mesh_NcpElems) :: state type(p_vec), dimension(homogenization_maxNgrains,mesh_maxNips,mesh_NcpElems) :: state
real(pReal), dimension(6) :: Tstar_v real(pReal), dimension(6) :: Tstar_v
real(pReal), dimension(3,3) :: Tstar33
real(pReal), dimension(3,3) :: Lp real(pReal), dimension(3,3) :: Lp
real(pReal), dimension(3,3,3,3) :: dLp_dTstar3333 real(pReal), dimension(3,3,3,3) :: dLp_dTstar3333
real(pReal), dimension(9,9) :: dLp_dTstar real(pReal), dimension(9,9) :: dLp_dTstar
real(pReal) norm_Tstar real(pReal) norm_Tstar
real(pReal) factor
matID = phase_constitutionInstance(material_phase(ipc,ip,el)) matID = phase_constitutionInstance(material_phase(ipc,ip,el))
Tstar33 = math_Mandel6to33(Tstar_v)
norm_Tstar = dsqrt(math_mul6x6(Tstar_v,Tstar_v)) norm_Tstar = dsqrt(math_mul6x6(Tstar_v,Tstar_v))
!* Calculation of Lp !* Calculation of Lp
Lp = math_Mandel6to33(Tstar_v)/norm_Tstar*constitutive_j2_gdot0(matID)/constitutive_j2_fTaylor(matID)* & Lp = Tstar33/norm_Tstar*constitutive_j2_gdot0(matID)/constitutive_j2_fTaylor(matID)* &
(dsqrt(1.5_pReal)/constitutive_j2_fTaylor(matID)*norm_Tstar/state(ipc,ip,el)%p(1))**constitutive_j2_n(matID) (dsqrt(1.5_pReal)/constitutive_j2_fTaylor(matID)*norm_Tstar/state(ipc,ip,el)%p(1))**constitutive_j2_n(matID)
!* Calculation of the tangent of Lp !* Calculation of the tangent of Lp
dLp_dTstar3333 = 0.0_pReal dLp_dTstar3333 = 0.0_pReal
dLp_dTstar = 0.0_pReal dLp_dTstar = 0.0_pReal
factor = constitutive_j2_gdot0(matID)/constitutive_j2_fTaylor(matID)* &
(dsqrt(1.5_pReal)/ constitutive_j2_fTaylor(matID)/state(ipc,ip,el)%p(1))**constitutive_j2_n(matID) * &
* norm_Tstar**(constitutive_j2_n(matID)-1.0_pReal)
forall (k=1:3,l=1:3,m=1:3,n=1:3) &
dLp_dTstar3333(k,l,m,n) = factor * (constitutive_j2_n(matID)-1.0_pReal)/(norm_Tstar**2.0_pReal) * Tstar33(k,l)*Tstar33(m,n)
forall (k=1:3,l=1:3) &
dLp_dTstar3333(k,l,k,l) = dLp_dTstar3333(k,l,k,l) + factor
dLp_dTstar = math_Plain3333to99(dLp_dTstar3333) dLp_dTstar = math_Plain3333to99(dLp_dTstar3333)
return return