improved accuracy of accumulated shear output: take shear rate from LpAndItsTangent for time integration
This commit is contained in:
parent
882c3e155f
commit
e758ee32be
|
@ -159,7 +159,8 @@ constitutive_nonlocal_interactionMatrixSlipSlip ! interacti
|
||||||
real(pReal), dimension(:,:,:,:), allocatable, private :: &
|
real(pReal), dimension(:,:,:,:), allocatable, private :: &
|
||||||
constitutive_nonlocal_lattice2slip, & ! orthogonal transformation matrix from lattice coordinate system to slip coordinate system (passive rotation !!!)
|
constitutive_nonlocal_lattice2slip, & ! orthogonal transformation matrix from lattice coordinate system to slip coordinate system (passive rotation !!!)
|
||||||
constitutive_nonlocal_rhoDotEdgeJogs, &
|
constitutive_nonlocal_rhoDotEdgeJogs, &
|
||||||
constitutive_nonlocal_sourceProbability
|
constitutive_nonlocal_sourceProbability, &
|
||||||
|
constitutive_nonlocal_shearrate
|
||||||
|
|
||||||
real(pReal), dimension(:,:,:,:,:), allocatable, private :: &
|
real(pReal), dimension(:,:,:,:,:), allocatable, private :: &
|
||||||
constitutive_nonlocal_Cslip_3333, & ! elasticity matrix for each instance
|
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))
|
allocate(constitutive_nonlocal_sourceProbability(maxTotalNslip, homogenization_maxNgrains, mesh_maxNips, mesh_NcpElems))
|
||||||
constitutive_nonlocal_sourceProbability = 2.0_pReal
|
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_rhoDotFlux(maxTotalNslip, 8, homogenization_maxNgrains, mesh_maxNips, mesh_NcpElems))
|
||||||
allocate(constitutive_nonlocal_rhoDotMultiplication(maxTotalNslip, 2, 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))
|
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)
|
ns = constitutive_nonlocal_totalNslip(instance)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
!*** get basic states
|
!*** get basic states
|
||||||
|
|
||||||
forall (s = 1_pInt:ns, t = 1_pInt:4_pInt) &
|
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) &
|
dgdot_dtau(:,t) = rhoSgl(1:ns,t) * dv_dtau(1:ns,t) * constitutive_nonlocal_burgers(1:ns,myInstance) &
|
||||||
* (1.0_pReal - deadZoneSize)
|
* (1.0_pReal - deadZoneSize)
|
||||||
enddo
|
enddo
|
||||||
|
constitutive_nonlocal_shearrate(1:ns,g,ip,el) = gdotTotal
|
||||||
|
|
||||||
|
|
||||||
!*** Calculation of Lp and its tangent
|
!*** 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
|
return
|
||||||
else
|
else
|
||||||
constitutive_nonlocal_dotState(1:10_pInt*ns) = reshape(rhoDot,(/10_pInt*ns/))
|
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
|
endif
|
||||||
|
|
||||||
endfunction
|
endfunction
|
||||||
|
|
Loading…
Reference in New Issue