Added some modifications in constitutive_LpandItsTangent

This commit is contained in:
Luc Hantcherli 2007-04-10 11:20:05 +00:00
parent db12071577
commit 092bff57d3
1 changed files with 11 additions and 20 deletions

View File

@ -292,10 +292,11 @@ do l=1,3
!* according MARC component order 11,22,33,12,23,13
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(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)
constitutive_Sslip_v(5,k,l)=constitutive_Sslip(2,3,k,l)+constitutive_Sslip(3,3,k,l)
constitutive_Sslip_v(6,k,l)=constitutive_Sslip(1,3,k,l)+constitutive_Sslip(3,1,k,l)
constitutive_Sslip_v(3,k,l)=constitutive_Sslip(3,3,k,l)
!* be compatible with Mandel notation of Tstar
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(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
@ -903,12 +904,12 @@ return
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 *
!* calculating the velocity gradient *
!* 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 *
!* - ip : current integration point *
!* - el : current element *
@ -922,7 +923,7 @@ implicit none
!* Definition of variables
integer(pInt) ipc,ip,el
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) dLp_dTstar(3,3,3,3)
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)
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
Lp=0.0_pReal
do i=1,material_Nslip(matID)
@ -961,12 +957,12 @@ return
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 *
!* calculating the velocity gradient *
!* 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 *
!* - ip : current integration point *
!* - el : current element *
@ -979,7 +975,7 @@ implicit none
!* Definition of variables
integer(pInt) ipc,ip,el
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)) :: gdot_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)
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
do i=1,constitutive_Nstatevars(ipc,ip,el)
tau_slip(i)=dot_product(Tstar_v,constitutive_Sslip_v(:,i,material_CrystalStructure(matID)))