improved accuracy of accumulated shear output: take shear rate from LpAndItsTangent for time integration

This commit is contained in:
Christoph Kords 2013-05-21 10:04:52 +00:00
parent 882c3e155f
commit e758ee32be
1 changed files with 7 additions and 3 deletions

View File

@ -159,7 +159,8 @@ constitutive_nonlocal_interactionMatrixSlipSlip ! interacti
real(pReal), dimension(:,:,:,:), allocatable, private :: &
constitutive_nonlocal_lattice2slip, & ! orthogonal transformation matrix from lattice coordinate system to slip coordinate system (passive rotation !!!)
constitutive_nonlocal_rhoDotEdgeJogs, &
constitutive_nonlocal_sourceProbability
constitutive_nonlocal_sourceProbability, &
constitutive_nonlocal_shearrate
real(pReal), dimension(:,:,:,:,:), allocatable, private :: &
constitutive_nonlocal_Cslip_3333, & ! elasticity matrix for each instance
@ -718,6 +719,9 @@ constitutive_nonlocal_lattice2slip = 0.0_pReal
allocate(constitutive_nonlocal_sourceProbability(maxTotalNslip, homogenization_maxNgrains, mesh_maxNips, mesh_NcpElems))
constitutive_nonlocal_sourceProbability = 2.0_pReal
allocate(constitutive_nonlocal_shearrate(maxTotalNslip,homogenization_maxNgrains,mesh_maxNips,mesh_NcpElems))
constitutive_nonlocal_shearrate = 0.0_pReal
allocate(constitutive_nonlocal_rhoDotFlux(maxTotalNslip, 8, homogenization_maxNgrains, mesh_maxNips, mesh_NcpElems))
allocate(constitutive_nonlocal_rhoDotMultiplication(maxTotalNslip, 2, homogenization_maxNgrains, mesh_maxNips, mesh_NcpElems))
allocate(constitutive_nonlocal_rhoDotSingle2DipoleGlide(maxTotalNslip, 2, homogenization_maxNgrains, mesh_maxNips, mesh_NcpElems))
@ -1279,7 +1283,6 @@ latticeStruct = constitutive_nonlocal_structure(instance)
ns = constitutive_nonlocal_totalNslip(instance)
!*** get basic states
forall (s = 1_pInt:ns, t = 1_pInt:4_pInt) &
@ -1806,6 +1809,7 @@ do t = 1_pInt,4_pInt
dgdot_dtau(:,t) = rhoSgl(1:ns,t) * dv_dtau(1:ns,t) * constitutive_nonlocal_burgers(1:ns,myInstance) &
* (1.0_pReal - deadZoneSize)
enddo
constitutive_nonlocal_shearrate(1:ns,g,ip,el) = gdotTotal
!*** Calculation of Lp and its tangent
@ -2611,7 +2615,7 @@ if ( any(rhoSglOriginal(1:ns,1:4) + rhoDot(1:ns,1:4) * timestep < -constituti
return
else
constitutive_nonlocal_dotState(1:10_pInt*ns) = reshape(rhoDot,(/10_pInt*ns/))
constitutive_nonlocal_dotState(10_pInt*ns+1:11_pInt*ns) = sum(gdot,2)
constitutive_nonlocal_dotState(10_pInt*ns+1:11_pInt*ns) = constitutive_nonlocal_shearrate(1:ns,g,ip,el)
endif
endfunction