Added some modifications in constitutive_LpandItsTangent
This commit is contained in:
parent
db12071577
commit
092bff57d3
|
@ -293,9 +293,10 @@ do l=1,3
|
||||||
constitutive_Sslip_v(1,k,l)=constitutive_Sslip(1,1,k,l)
|
constitutive_Sslip_v(1,k,l)=constitutive_Sslip(1,1,k,l)
|
||||||
constitutive_Sslip_v(2,k,l)=constitutive_Sslip(2,2,k,l)
|
constitutive_Sslip_v(2,k,l)=constitutive_Sslip(2,2,k,l)
|
||||||
constitutive_Sslip_v(3,k,l)=constitutive_Sslip(3,3,k,l)
|
constitutive_Sslip_v(3,k,l)=constitutive_Sslip(3,3,k,l)
|
||||||
constitutive_Sslip_v(4,k,l)=constitutive_Sslip(1,2,k,l)+constitutive_Sslip(2,1,k,l)
|
!* be compatible with Mandel notation of Tstar
|
||||||
constitutive_Sslip_v(5,k,l)=constitutive_Sslip(2,3,k,l)+constitutive_Sslip(3,3,k,l)
|
constitutive_Sslip_v(4,k,l)=(constitutive_Sslip(1,2,k,l)+constitutive_Sslip(2,1,k,l))/dsqrt(2.0_pReal)
|
||||||
constitutive_Sslip_v(6,k,l)=constitutive_Sslip(1,3,k,l)+constitutive_Sslip(3,1,k,l)
|
constitutive_Sslip_v(5,k,l)=(constitutive_Sslip(2,3,k,l)+constitutive_Sslip(3,3,k,l))/dsqrt(2.0_pReal)
|
||||||
|
constitutive_Sslip_v(6,k,l)=(constitutive_Sslip(1,3,k,l)+constitutive_Sslip(3,1,k,l))/dsqrt(2.0_pReal)
|
||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
|
@ -903,12 +904,12 @@ return
|
||||||
end function
|
end function
|
||||||
|
|
||||||
|
|
||||||
subroutine constitutive_LpAndItsTangent(Lp,dLp_dTstar,Tstar_v_m,ipc,ip,el)
|
subroutine constitutive_LpAndItsTangent(Lp,dLp_dTstar,Tstar_v,ipc,ip,el)
|
||||||
!*********************************************************************
|
!*********************************************************************
|
||||||
!* This subroutine contains the constitutive equation for *
|
!* This subroutine contains the constitutive equation for *
|
||||||
!* calculating the velocity gradient *
|
!* calculating the velocity gradient *
|
||||||
!* INPUT: *
|
!* INPUT: *
|
||||||
!* - Tstar_v_m : 2nd Piola Kirchhoff stress tensor (Mandel) *
|
!* - Tstar_v : 2nd Piola Kirchhoff stress tensor (Mandel) *
|
||||||
!* - ipc : component-ID of current integration point *
|
!* - ipc : component-ID of current integration point *
|
||||||
!* - ip : current integration point *
|
!* - ip : current integration point *
|
||||||
!* - el : current element *
|
!* - el : current element *
|
||||||
|
@ -922,7 +923,7 @@ implicit none
|
||||||
!* Definition of variables
|
!* Definition of variables
|
||||||
integer(pInt) ipc,ip,el
|
integer(pInt) ipc,ip,el
|
||||||
integer(pInt) matID,i,k,l,m,n
|
integer(pInt) matID,i,k,l,m,n
|
||||||
real(pReal) Tstar_v(6),Tstar_v_m(6)
|
real(pReal) Tstar_v(6)
|
||||||
real(pReal) Lp(3,3)
|
real(pReal) Lp(3,3)
|
||||||
real(pReal) dLp_dTstar(3,3,3,3)
|
real(pReal) dLp_dTstar(3,3,3,3)
|
||||||
real(pReal), dimension(constitutive_matID(ipc,ip,el)) :: gdot_slip
|
real(pReal), dimension(constitutive_matID(ipc,ip,el)) :: gdot_slip
|
||||||
|
@ -932,11 +933,6 @@ real(preal), dimension(constitutive_matID(ipc,ip,el)) :: tau_slip
|
||||||
!* Get the material-ID from the triplet(ipc,ip,el)
|
!* Get the material-ID from the triplet(ipc,ip,el)
|
||||||
matID=constitutive_matID(ipc,ip,el)
|
matID=constitutive_matID(ipc,ip,el)
|
||||||
|
|
||||||
!* Tstar_v tranformed
|
|
||||||
Tstar_v(4)=Tstar_v_m(4)/dsqrt(2.0_pReal)
|
|
||||||
Tstar_v(5)=Tstar_v_m(5)/dsqrt(2.0_pReal)
|
|
||||||
Tstar_v(6)=Tstar_v_m(6)/dsqrt(2.0_pReal)
|
|
||||||
|
|
||||||
!* Calculation of Lp
|
!* Calculation of Lp
|
||||||
Lp=0.0_pReal
|
Lp=0.0_pReal
|
||||||
do i=1,material_Nslip(matID)
|
do i=1,material_Nslip(matID)
|
||||||
|
@ -961,12 +957,12 @@ return
|
||||||
end subroutine
|
end subroutine
|
||||||
|
|
||||||
|
|
||||||
function constitutive_DotState(Tstar_v_m,ipc,ip,el)
|
function constitutive_DotState(Tstar_v,ipc,ip,el)
|
||||||
!*********************************************************************
|
!*********************************************************************
|
||||||
!* This subroutine contains the constitutive equation for *
|
!* This subroutine contains the constitutive equation for *
|
||||||
!* calculating the velocity gradient *
|
!* calculating the velocity gradient *
|
||||||
!* INPUT: *
|
!* INPUT: *
|
||||||
!* - Tstar_v_m : 2nd Piola Kirchhoff stress tensor (Mandel) *
|
!* - Tstar_v : 2nd Piola Kirchhoff stress tensor (Mandel) *
|
||||||
!* - ipc : component-ID of current integration point *
|
!* - ipc : component-ID of current integration point *
|
||||||
!* - ip : current integration point *
|
!* - ip : current integration point *
|
||||||
!* - el : current element *
|
!* - el : current element *
|
||||||
|
@ -979,7 +975,7 @@ implicit none
|
||||||
!* Definition of variables
|
!* Definition of variables
|
||||||
integer(pInt) ipc,ip,el
|
integer(pInt) ipc,ip,el
|
||||||
integer(pInt) matID,i
|
integer(pInt) matID,i
|
||||||
real(pReal) Tstar_v(6),Tstar_v_m(6)
|
real(pReal) Tstar_v(6)
|
||||||
real(pReal), dimension(constitutive_matID(ipc,ip,el)) :: constitutive_DotState
|
real(pReal), dimension(constitutive_matID(ipc,ip,el)) :: constitutive_DotState
|
||||||
real(pReal), dimension(constitutive_matID(ipc,ip,el)) :: gdot_slip
|
real(pReal), dimension(constitutive_matID(ipc,ip,el)) :: gdot_slip
|
||||||
real(pReal), dimension(constitutive_matID(ipc,ip,el)) :: tau_slip
|
real(pReal), dimension(constitutive_matID(ipc,ip,el)) :: tau_slip
|
||||||
|
@ -988,11 +984,6 @@ real(pReal), dimension(constitutive_matID(ipc,ip,el)) :: self_hardening
|
||||||
!* Get the material-ID from the triplet(ipc,ip,el)
|
!* Get the material-ID from the triplet(ipc,ip,el)
|
||||||
matID=constitutive_matID(ipc,ip,el)
|
matID=constitutive_matID(ipc,ip,el)
|
||||||
|
|
||||||
!* Tstar_v tranformed
|
|
||||||
Tstar_v(4)=Tstar_v_m(4)/dsqrt(2.0_pReal)
|
|
||||||
Tstar_v(5)=Tstar_v_m(5)/dsqrt(2.0_pReal)
|
|
||||||
Tstar_v(6)=Tstar_v_m(6)/dsqrt(2.0_pReal)
|
|
||||||
|
|
||||||
!* Self-Hardening of each system
|
!* Self-Hardening of each system
|
||||||
do i=1,constitutive_Nstatevars(ipc,ip,el)
|
do i=1,constitutive_Nstatevars(ipc,ip,el)
|
||||||
tau_slip(i)=dot_product(Tstar_v,constitutive_Sslip_v(:,i,material_CrystalStructure(matID)))
|
tau_slip(i)=dot_product(Tstar_v,constitutive_Sslip_v(:,i,material_CrystalStructure(matID)))
|
||||||
|
|
Loading…
Reference in New Issue