Merge branch 'development' of magit1.mpie.de:damask/DAMASK into miscImprovements
This commit is contained in:
commit
f483c6a404
|
@ -7,14 +7,11 @@
|
||||||
!! untextured polycrystal
|
!! untextured polycrystal
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
module plastic_isotropic
|
module plastic_isotropic
|
||||||
#ifdef HDF
|
|
||||||
use hdf5, only: &
|
|
||||||
HID_T
|
|
||||||
#endif
|
|
||||||
|
|
||||||
use prec, only: &
|
use prec, only: &
|
||||||
pReal,&
|
pReal,&
|
||||||
pInt
|
pInt, &
|
||||||
|
DAMASK_NaN
|
||||||
|
|
||||||
implicit none
|
implicit none
|
||||||
private
|
private
|
||||||
|
@ -40,20 +37,20 @@ module plastic_isotropic
|
||||||
integer(kind(undefined_ID)), allocatable, dimension(:) :: &
|
integer(kind(undefined_ID)), allocatable, dimension(:) :: &
|
||||||
outputID
|
outputID
|
||||||
real(pReal) :: &
|
real(pReal) :: &
|
||||||
fTaylor, &
|
fTaylor = DAMASK_NaN, &
|
||||||
tau0, &
|
tau0 = DAMASK_NaN, &
|
||||||
gdot0, &
|
gdot0 = DAMASK_NaN, &
|
||||||
n, &
|
n = DAMASK_NaN, &
|
||||||
h0, &
|
h0 = DAMASK_NaN, &
|
||||||
h0_slopeLnRate, &
|
h0_slopeLnRate = 0.0_pReal, &
|
||||||
tausat, &
|
tausat = DAMASK_NaN, &
|
||||||
a, &
|
a = DAMASK_NaN, &
|
||||||
aTolFlowstress, &
|
aTolFlowstress = 1.0_pReal, &
|
||||||
aTolShear , &
|
aTolShear = 1.0e-6_pReal, &
|
||||||
tausat_SinhFitA=0.0_pReal, &
|
tausat_SinhFitA= 0.0_pReal, &
|
||||||
tausat_SinhFitB=0.0_pReal, &
|
tausat_SinhFitB= 0.0_pReal, &
|
||||||
tausat_SinhFitC=0.0_pReal, &
|
tausat_SinhFitC= 0.0_pReal, &
|
||||||
tausat_SinhFitD=0.0_pReal
|
tausat_SinhFitD= 0.0_pReal
|
||||||
logical :: &
|
logical :: &
|
||||||
dilatation = .false.
|
dilatation = .false.
|
||||||
end type
|
end type
|
||||||
|
@ -474,7 +471,8 @@ subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dTstar_3333,Tstar_v,ipc,ip,e
|
||||||
implicit none
|
implicit none
|
||||||
real(pReal), dimension(3,3), intent(out) :: &
|
real(pReal), dimension(3,3), intent(out) :: &
|
||||||
Li !< plastic velocity gradient
|
Li !< plastic velocity gradient
|
||||||
|
real(pReal), dimension(3,3,3,3), intent(out) :: &
|
||||||
|
dLi_dTstar_3333 !< derivative of Li with respect to Tstar as 4th order tensor
|
||||||
real(pReal), dimension(6), intent(in) :: &
|
real(pReal), dimension(6), intent(in) :: &
|
||||||
Tstar_v !< 2nd Piola Kirchhoff stress tensor in Mandel notation
|
Tstar_v !< 2nd Piola Kirchhoff stress tensor in Mandel notation
|
||||||
integer(pInt), intent(in) :: &
|
integer(pInt), intent(in) :: &
|
||||||
|
@ -484,9 +482,7 @@ subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dTstar_3333,Tstar_v,ipc,ip,e
|
||||||
|
|
||||||
real(pReal), dimension(3,3) :: &
|
real(pReal), dimension(3,3) :: &
|
||||||
Tstar_sph_33 !< sphiatoric part of the 2nd Piola Kirchhoff stress tensor as 2nd order tensor
|
Tstar_sph_33 !< sphiatoric part of the 2nd Piola Kirchhoff stress tensor as 2nd order tensor
|
||||||
real(pReal), dimension(3,3,3,3), intent(out) :: &
|
real(pReal) :: &
|
||||||
dLi_dTstar_3333 !< derivative of Li with respect to Tstar as 4th order tensor
|
|
||||||
real(pReal) :: &
|
|
||||||
gamma_dot, & !< strainrate
|
gamma_dot, & !< strainrate
|
||||||
norm_Tstar_sph, & !< euclidean norm of Tstar_sph
|
norm_Tstar_sph, & !< euclidean norm of Tstar_sph
|
||||||
squarenorm_Tstar_sph !< square of the euclidean norm of Tstar_sph
|
squarenorm_Tstar_sph !< square of the euclidean norm of Tstar_sph
|
||||||
|
@ -523,6 +519,9 @@ subroutine plastic_isotropic_LiAndItsTangent(Li,dLi_dTstar_3333,Tstar_v,ipc,ip,e
|
||||||
dLi_dTstar_3333 = gamma_dot / param(instance)%fTaylor * &
|
dLi_dTstar_3333 = gamma_dot / param(instance)%fTaylor * &
|
||||||
dLi_dTstar_3333 / norm_Tstar_sph
|
dLi_dTstar_3333 / norm_Tstar_sph
|
||||||
endif
|
endif
|
||||||
|
else
|
||||||
|
Li = 0.0_pReal
|
||||||
|
dLi_dTstar_3333 = 0.0_pReal
|
||||||
endif
|
endif
|
||||||
|
|
||||||
end subroutine plastic_isotropic_LiAndItsTangent
|
end subroutine plastic_isotropic_LiAndItsTangent
|
||||||
|
|
|
@ -207,9 +207,6 @@ subroutine plastic_j2_init(fileUnit)
|
||||||
phase = phase + 1_pInt ! advance section counter
|
phase = phase + 1_pInt ! advance section counter
|
||||||
if (phase_plasticity(phase) == PLASTICITY_J2_ID) then
|
if (phase_plasticity(phase) == PLASTICITY_J2_ID) then
|
||||||
instance = phase_plasticityInstance(phase)
|
instance = phase_plasticityInstance(phase)
|
||||||
#ifdef HDF
|
|
||||||
outID(instance)=HDF5_addGroup(str1,tempResults)
|
|
||||||
#endif
|
|
||||||
endif
|
endif
|
||||||
cycle ! skip to next line
|
cycle ! skip to next line
|
||||||
endif
|
endif
|
||||||
|
@ -226,21 +223,11 @@ subroutine plastic_j2_init(fileUnit)
|
||||||
plastic_j2_outputID(plastic_j2_Noutput(instance),instance) = flowstress_ID
|
plastic_j2_outputID(plastic_j2_Noutput(instance),instance) = flowstress_ID
|
||||||
plastic_j2_output(plastic_j2_Noutput(instance),instance) = &
|
plastic_j2_output(plastic_j2_Noutput(instance),instance) = &
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
||||||
#ifdef HDF
|
|
||||||
call HDF5_addScalarDataset(outID(instance),myConstituents,'flowstress','MPa')
|
|
||||||
allocate(plastic_j2_Output2(instance)%flowstress(myConstituents))
|
|
||||||
plastic_j2_Output2(instance)%flowstressActive = .true.
|
|
||||||
#endif
|
|
||||||
case ('strainrate')
|
case ('strainrate')
|
||||||
plastic_j2_Noutput(instance) = plastic_j2_Noutput(instance) + 1_pInt
|
plastic_j2_Noutput(instance) = plastic_j2_Noutput(instance) + 1_pInt
|
||||||
plastic_j2_outputID(plastic_j2_Noutput(instance),instance) = strainrate_ID
|
plastic_j2_outputID(plastic_j2_Noutput(instance),instance) = strainrate_ID
|
||||||
plastic_j2_output(plastic_j2_Noutput(instance),instance) = &
|
plastic_j2_output(plastic_j2_Noutput(instance),instance) = &
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
||||||
#ifdef HDF
|
|
||||||
call HDF5_addScalarDataset(outID(instance),myConstituents,'strainrate','1/s')
|
|
||||||
allocate(plastic_j2_Output2(instance)%strainrate(myConstituents))
|
|
||||||
plastic_j2_Output2(instance)%strainrateActive = .true.
|
|
||||||
#endif
|
|
||||||
case default
|
case default
|
||||||
|
|
||||||
end select
|
end select
|
||||||
|
|
|
@ -239,7 +239,9 @@ for name in filenames:
|
||||||
# ------------------------------------------ assemble header ---------------------------------------
|
# ------------------------------------------ assemble header ---------------------------------------
|
||||||
|
|
||||||
table.info_append(scriptID + '\t' + ' '.join(sys.argv[1:]))
|
table.info_append(scriptID + '\t' + ' '.join(sys.argv[1:]))
|
||||||
table.labels_append(['{id}_S[{direction[0]:.1g}_{direction[1]:.1g}_{direction[2]:.1g}]({normal[0]:.1g}_{normal[1]:.1g}_{normal[2]:.1g})'\
|
table.labels_append(['{id}_'
|
||||||
|
'S[{direction[0]:.1g}_{direction[1]:.1g}_{direction[2]:.1g}]'
|
||||||
|
'({normal[0]:.1g}_{normal[1]:.1g}_{normal[2]:.1g})'\
|
||||||
.format( id = i+1,
|
.format( id = i+1,
|
||||||
normal = theNormal,
|
normal = theNormal,
|
||||||
direction = theDirection,
|
direction = theDirection,
|
||||||
|
|
Loading…
Reference in New Issue