Merge branch 'development' into 53-separate-mesh-for-different-solvers-3
This commit is contained in:
commit
326cbd0398
|
@ -150,61 +150,34 @@ module plastic_nonlocal
|
||||||
|
|
||||||
enum, bind(c)
|
enum, bind(c)
|
||||||
enumerator :: undefined_ID, &
|
enumerator :: undefined_ID, &
|
||||||
rho_ID, &
|
|
||||||
delta_ID, &
|
|
||||||
rho_edge_ID, &
|
|
||||||
rho_screw_ID, &
|
|
||||||
rho_sgl_ID, &
|
|
||||||
delta_sgl_ID, &
|
|
||||||
rho_sgl_edge_ID, &
|
|
||||||
rho_sgl_edge_pos_ID, &
|
|
||||||
rho_sgl_edge_neg_ID, &
|
|
||||||
rho_sgl_screw_ID, &
|
|
||||||
rho_sgl_screw_pos_ID, &
|
|
||||||
rho_sgl_screw_neg_ID, &
|
|
||||||
rho_sgl_mobile_ID, &
|
|
||||||
rho_sgl_edge_mobile_ID, &
|
|
||||||
rho_sgl_edge_pos_mobile_ID, &
|
rho_sgl_edge_pos_mobile_ID, &
|
||||||
rho_sgl_edge_neg_mobile_ID, &
|
rho_sgl_edge_neg_mobile_ID, &
|
||||||
rho_sgl_screw_mobile_ID, &
|
|
||||||
rho_sgl_screw_pos_mobile_ID, &
|
rho_sgl_screw_pos_mobile_ID, &
|
||||||
rho_sgl_screw_neg_mobile_ID, &
|
rho_sgl_screw_neg_mobile_ID, &
|
||||||
rho_sgl_immobile_ID, &
|
|
||||||
rho_sgl_edge_immobile_ID, &
|
|
||||||
rho_sgl_edge_pos_immobile_ID, &
|
rho_sgl_edge_pos_immobile_ID, &
|
||||||
rho_sgl_edge_neg_immobile_ID, &
|
rho_sgl_edge_neg_immobile_ID, &
|
||||||
rho_sgl_screw_immobile_ID, &
|
|
||||||
rho_sgl_screw_pos_immobile_ID, &
|
rho_sgl_screw_pos_immobile_ID, &
|
||||||
rho_sgl_screw_neg_immobile_ID, &
|
rho_sgl_screw_neg_immobile_ID, &
|
||||||
rho_dip_ID, &
|
|
||||||
delta_dip_ID, &
|
|
||||||
rho_dip_edge_ID, &
|
rho_dip_edge_ID, &
|
||||||
rho_dip_screw_ID, &
|
rho_dip_screw_ID, &
|
||||||
excess_rho_ID, &
|
|
||||||
excess_rho_edge_ID, &
|
|
||||||
excess_rho_screw_ID, &
|
|
||||||
rho_forest_ID, &
|
rho_forest_ID, &
|
||||||
shearrate_ID, &
|
shearrate_ID, &
|
||||||
resolvedstress_ID, &
|
resolvedstress_ID, &
|
||||||
resolvedstress_external_ID, &
|
resolvedstress_external_ID, &
|
||||||
resolvedstress_back_ID, &
|
resolvedstress_back_ID, &
|
||||||
resistance_ID, &
|
resistance_ID, &
|
||||||
rho_dot_ID, &
|
|
||||||
rho_dot_sgl_ID, &
|
rho_dot_sgl_ID, &
|
||||||
rho_dot_sgl_mobile_ID, &
|
rho_dot_sgl_mobile_ID, &
|
||||||
rho_dot_dip_ID, &
|
rho_dot_dip_ID, &
|
||||||
rho_dot_gen_ID, &
|
rho_dot_gen_ID, &
|
||||||
rho_dot_gen_edge_ID, &
|
rho_dot_gen_edge_ID, &
|
||||||
rho_dot_gen_screw_ID, &
|
rho_dot_gen_screw_ID, &
|
||||||
rho_dot_sgl2dip_ID, &
|
|
||||||
rho_dot_sgl2dip_edge_ID, &
|
rho_dot_sgl2dip_edge_ID, &
|
||||||
rho_dot_sgl2dip_screw_ID, &
|
rho_dot_sgl2dip_screw_ID, &
|
||||||
rho_dot_ann_ath_ID, &
|
rho_dot_ann_ath_ID, &
|
||||||
rho_dot_ann_the_ID, &
|
|
||||||
rho_dot_ann_the_edge_ID, &
|
rho_dot_ann_the_edge_ID, &
|
||||||
rho_dot_ann_the_screw_ID, &
|
rho_dot_ann_the_screw_ID, &
|
||||||
rho_dot_edgejogs_ID, &
|
rho_dot_edgejogs_ID, &
|
||||||
rho_dot_flux_ID, &
|
|
||||||
rho_dot_flux_mobile_ID, &
|
rho_dot_flux_mobile_ID, &
|
||||||
rho_dot_flux_edge_ID, &
|
rho_dot_flux_edge_ID, &
|
||||||
rho_dot_flux_screw_ID, &
|
rho_dot_flux_screw_ID, &
|
||||||
|
@ -212,28 +185,9 @@ module plastic_nonlocal
|
||||||
velocity_edge_neg_ID, &
|
velocity_edge_neg_ID, &
|
||||||
velocity_screw_pos_ID, &
|
velocity_screw_pos_ID, &
|
||||||
velocity_screw_neg_ID, &
|
velocity_screw_neg_ID, &
|
||||||
slipdirectionx_ID, &
|
|
||||||
slipdirectiony_ID, &
|
|
||||||
slipdirectionz_ID, &
|
|
||||||
slipnormalx_ID, &
|
|
||||||
slipnormaly_ID, &
|
|
||||||
slipnormalz_ID, &
|
|
||||||
fluxdensity_edge_posx_ID, &
|
|
||||||
fluxdensity_edge_posy_ID, &
|
|
||||||
fluxdensity_edge_posz_ID, &
|
|
||||||
fluxdensity_edge_negx_ID, &
|
|
||||||
fluxdensity_edge_negy_ID, &
|
|
||||||
fluxdensity_edge_negz_ID, &
|
|
||||||
fluxdensity_screw_posx_ID, &
|
|
||||||
fluxdensity_screw_posy_ID, &
|
|
||||||
fluxdensity_screw_posz_ID, &
|
|
||||||
fluxdensity_screw_negx_ID, &
|
|
||||||
fluxdensity_screw_negy_ID, &
|
|
||||||
fluxdensity_screw_negz_ID, &
|
|
||||||
maximumdipoleheight_edge_ID, &
|
maximumdipoleheight_edge_ID, &
|
||||||
maximumdipoleheight_screw_ID, &
|
maximumdipoleheight_screw_ID, &
|
||||||
accumulatedshear_ID, &
|
accumulatedshear_ID
|
||||||
dislocationstress_ID
|
|
||||||
end enum
|
end enum
|
||||||
integer(kind(undefined_ID)), dimension(:,:), allocatable, private :: &
|
integer(kind(undefined_ID)), dimension(:,:), allocatable, private :: &
|
||||||
plastic_nonlocal_outputID !< ID of each post result output
|
plastic_nonlocal_outputID !< ID of each post result output
|
||||||
|
@ -262,8 +216,7 @@ contains
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
subroutine plastic_nonlocal_init(fileUnit)
|
subroutine plastic_nonlocal_init(fileUnit)
|
||||||
use, intrinsic :: iso_fortran_env ! to get compiler_version and compiler_options (at least for gfortran 4.6 at the moment)
|
use, intrinsic :: iso_fortran_env ! to get compiler_version and compiler_options (at least for gfortran 4.6 at the moment)
|
||||||
use math, only: math_Mandel3333to66, &
|
use math, only: math_Voigt66to3333, &
|
||||||
math_Voigt66to3333, &
|
|
||||||
math_mul3x3, &
|
math_mul3x3, &
|
||||||
math_transpose33
|
math_transpose33
|
||||||
use IO, only: IO_read, &
|
use IO, only: IO_read, &
|
||||||
|
@ -290,11 +243,11 @@ use material, only: phase_plasticity, &
|
||||||
PLASTICITY_NONLOCAL_label, &
|
PLASTICITY_NONLOCAL_label, &
|
||||||
PLASTICITY_NONLOCAL_ID, &
|
PLASTICITY_NONLOCAL_ID, &
|
||||||
plasticState, &
|
plasticState, &
|
||||||
material_phase
|
material_phase, &
|
||||||
|
material_allocatePlasticState
|
||||||
use config, only: MATERIAL_partPhase
|
use config, only: MATERIAL_partPhase
|
||||||
use lattice
|
use lattice
|
||||||
use numerics,only: &
|
|
||||||
numerics_integrator
|
|
||||||
|
|
||||||
|
|
||||||
implicit none
|
implicit none
|
||||||
|
@ -425,76 +378,6 @@ allocate(nonSchmidCoeff(lattice_maxNnonSchmid,maxNinstances), s
|
||||||
select case(tag)
|
select case(tag)
|
||||||
case ('(output)')
|
case ('(output)')
|
||||||
select case(IO_lc(IO_stringValue(line,chunkPos,2_pInt)))
|
select case(IO_lc(IO_stringValue(line,chunkPos,2_pInt)))
|
||||||
case ('rho')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('delta')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = delta_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('rho_edge')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_edge_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('rho_screw')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_screw_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('rho_sgl')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('delta_sgl')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = delta_sgl_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('rho_sgl_edge')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_edge_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('rho_sgl_edge_pos')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_edge_pos_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('rho_sgl_edge_neg')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_edge_neg_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('rho_sgl_screw')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_screw_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('rho_sgl_screw_pos')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_screw_pos_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('rho_sgl_screw_neg')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_screw_neg_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('rho_sgl_mobile')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_mobile_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('rho_sgl_edge_mobile')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_edge_mobile_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('rho_sgl_edge_pos_mobile')
|
case ('rho_sgl_edge_pos_mobile')
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_edge_pos_mobile_ID
|
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_edge_pos_mobile_ID
|
||||||
|
@ -505,11 +388,6 @@ allocate(nonSchmidCoeff(lattice_maxNnonSchmid,maxNinstances), s
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_edge_neg_mobile_ID
|
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_edge_neg_mobile_ID
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
||||||
case ('rho_sgl_screw_mobile')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_screw_mobile_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('rho_sgl_screw_pos_mobile')
|
case ('rho_sgl_screw_pos_mobile')
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_screw_pos_mobile_ID
|
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_screw_pos_mobile_ID
|
||||||
|
@ -520,16 +398,6 @@ allocate(nonSchmidCoeff(lattice_maxNnonSchmid,maxNinstances), s
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_screw_neg_mobile_ID
|
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_screw_neg_mobile_ID
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
||||||
case ('rho_sgl_immobile')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_immobile_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('rho_sgl_edge_immobile')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_edge_immobile_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('rho_sgl_edge_pos_immobile')
|
case ('rho_sgl_edge_pos_immobile')
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_edge_pos_immobile_ID
|
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_edge_pos_immobile_ID
|
||||||
|
@ -540,11 +408,6 @@ allocate(nonSchmidCoeff(lattice_maxNnonSchmid,maxNinstances), s
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_edge_neg_immobile_ID
|
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_edge_neg_immobile_ID
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
||||||
case ('rho_sgl_screw_immobile')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_screw_immobile_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('rho_sgl_screw_pos_immobile')
|
case ('rho_sgl_screw_pos_immobile')
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_screw_pos_immobile_ID
|
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_screw_pos_immobile_ID
|
||||||
|
@ -555,16 +418,6 @@ allocate(nonSchmidCoeff(lattice_maxNnonSchmid,maxNinstances), s
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_screw_neg_immobile_ID
|
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_sgl_screw_neg_immobile_ID
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
||||||
case ('rho_dip')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_dip_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('delta_dip')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = delta_dip_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('rho_dip_edge')
|
case ('rho_dip_edge')
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_dip_edge_ID
|
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_dip_edge_ID
|
||||||
|
@ -575,21 +428,6 @@ allocate(nonSchmidCoeff(lattice_maxNnonSchmid,maxNinstances), s
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_dip_screw_ID
|
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_dip_screw_ID
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
||||||
case ('excess_rho')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = excess_rho_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('excess_rho_edge')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = excess_rho_edge_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('excess_rho_screw')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = excess_rho_screw_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('rho_forest')
|
case ('rho_forest')
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_forest_ID
|
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_forest_ID
|
||||||
|
@ -620,11 +458,6 @@ allocate(nonSchmidCoeff(lattice_maxNnonSchmid,maxNinstances), s
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = resistance_ID
|
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = resistance_ID
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
||||||
case ('rho_dot')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_dot_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('rho_dot_sgl')
|
case ('rho_dot_sgl')
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_dot_sgl_ID
|
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_dot_sgl_ID
|
||||||
|
@ -655,11 +488,6 @@ allocate(nonSchmidCoeff(lattice_maxNnonSchmid,maxNinstances), s
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_dot_gen_screw_ID
|
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_dot_gen_screw_ID
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
||||||
case ('rho_dot_sgl2dip')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_dot_sgl2dip_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('rho_dot_sgl2dip_edge')
|
case ('rho_dot_sgl2dip_edge')
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_dot_sgl2dip_edge_ID
|
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_dot_sgl2dip_edge_ID
|
||||||
|
@ -675,11 +503,6 @@ allocate(nonSchmidCoeff(lattice_maxNnonSchmid,maxNinstances), s
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_dot_ann_ath_ID
|
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_dot_ann_ath_ID
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
||||||
case ('rho_dot_ann_the')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_dot_ann_the_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('rho_dot_ann_the_edge')
|
case ('rho_dot_ann_the_edge')
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_dot_ann_the_edge_ID
|
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_dot_ann_the_edge_ID
|
||||||
|
@ -695,11 +518,6 @@ allocate(nonSchmidCoeff(lattice_maxNnonSchmid,maxNinstances), s
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_dot_edgejogs_ID
|
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_dot_edgejogs_ID
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
||||||
case ('rho_dot_flux')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_dot_flux_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('rho_dot_flux_mobile')
|
case ('rho_dot_flux_mobile')
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_dot_flux_mobile_ID
|
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = rho_dot_flux_mobile_ID
|
||||||
|
@ -735,96 +553,6 @@ allocate(nonSchmidCoeff(lattice_maxNnonSchmid,maxNinstances), s
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = velocity_screw_neg_ID
|
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = velocity_screw_neg_ID
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
||||||
case ('slipdirection.x')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = slipdirectionx_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('slipdirection.y')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = slipdirectiony_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('slipdirection.z')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = slipdirectionz_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('slipnormal.x')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = slipnormalx_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('slipnormal.y')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = slipnormaly_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('slipnormal.z')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = slipnormalz_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('fluxdensity_edge_pos.x')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = fluxdensity_edge_posx_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('fluxdensity_edge_pos.y')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = fluxdensity_edge_posy_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('fluxdensity_edge_pos.z')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = fluxdensity_edge_posz_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('fluxdensity_edge_neg.x')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = fluxdensity_edge_negx_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('fluxdensity_edge_neg.y')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = fluxdensity_edge_negy_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('fluxdensity_edge_neg.z')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = fluxdensity_edge_negz_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('fluxdensity_screw_pos.x')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = fluxdensity_screw_posx_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('fluxdensity_screw_pos.y')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = fluxdensity_screw_posy_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('fluxdensity_screw_pos.z')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = fluxdensity_screw_posz_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('fluxdensity_screw_neg.x')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = fluxdensity_screw_negx_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('fluxdensity_screw_neg.y')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = fluxdensity_screw_negy_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('fluxdensity_screw_neg.z')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = fluxdensity_screw_negz_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
case ('maximumdipoleheight_edge')
|
case ('maximumdipoleheight_edge')
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = maximumdipoleheight_edge_ID
|
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = maximumdipoleheight_edge_ID
|
||||||
|
@ -840,11 +568,6 @@ allocate(nonSchmidCoeff(lattice_maxNnonSchmid,maxNinstances), s
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = accumulatedshear_ID
|
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = accumulatedshear_ID
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
||||||
case ('dislocationstress')
|
|
||||||
plastic_nonlocal_Noutput(instance) = plastic_nonlocal_Noutput(instance) + 1_pInt
|
|
||||||
plastic_nonlocal_outputID(plastic_nonlocal_Noutput(instance),instance) = dislocationstress_ID
|
|
||||||
plastic_nonlocal_output(plastic_nonlocal_Noutput(instance),instance) = &
|
|
||||||
IO_lc(IO_stringValue(line,chunkPos,2_pInt))
|
|
||||||
end select
|
end select
|
||||||
case ('nslip')
|
case ('nslip')
|
||||||
if (chunkPos(1) < 1_pInt + Nchunks_SlipFamilies) &
|
if (chunkPos(1) < 1_pInt + Nchunks_SlipFamilies) &
|
||||||
|
@ -1194,93 +917,8 @@ allocate(nonSchmidProjection(3,3,4,maxTotalNslip,maxNinstances),
|
||||||
|
|
||||||
outputsLoop: do o = 1_pInt,plastic_nonlocal_Noutput(instance)
|
outputsLoop: do o = 1_pInt,plastic_nonlocal_Noutput(instance)
|
||||||
select case(plastic_nonlocal_outputID(o,instance))
|
select case(plastic_nonlocal_outputID(o,instance))
|
||||||
case( rho_ID, &
|
|
||||||
delta_ID, &
|
|
||||||
rho_edge_ID, &
|
|
||||||
rho_screw_ID, &
|
|
||||||
rho_sgl_ID, &
|
|
||||||
delta_sgl_ID, &
|
|
||||||
rho_sgl_edge_ID, &
|
|
||||||
rho_sgl_edge_pos_ID, &
|
|
||||||
rho_sgl_edge_neg_ID, &
|
|
||||||
rho_sgl_screw_ID, &
|
|
||||||
rho_sgl_screw_pos_ID, &
|
|
||||||
rho_sgl_screw_neg_ID, &
|
|
||||||
rho_sgl_mobile_ID, &
|
|
||||||
rho_sgl_edge_mobile_ID, &
|
|
||||||
rho_sgl_edge_pos_mobile_ID, &
|
|
||||||
rho_sgl_edge_neg_mobile_ID, &
|
|
||||||
rho_sgl_screw_mobile_ID, &
|
|
||||||
rho_sgl_screw_pos_mobile_ID, &
|
|
||||||
rho_sgl_screw_neg_mobile_ID, &
|
|
||||||
rho_sgl_immobile_ID, &
|
|
||||||
rho_sgl_edge_immobile_ID, &
|
|
||||||
rho_sgl_edge_pos_immobile_ID, &
|
|
||||||
rho_sgl_edge_neg_immobile_ID, &
|
|
||||||
rho_sgl_screw_immobile_ID, &
|
|
||||||
rho_sgl_screw_pos_immobile_ID, &
|
|
||||||
rho_sgl_screw_neg_immobile_ID, &
|
|
||||||
rho_dip_ID, &
|
|
||||||
delta_dip_ID, &
|
|
||||||
rho_dip_edge_ID, &
|
|
||||||
rho_dip_screw_ID, &
|
|
||||||
excess_rho_ID, &
|
|
||||||
excess_rho_edge_ID, &
|
|
||||||
excess_rho_screw_ID, &
|
|
||||||
rho_forest_ID, &
|
|
||||||
shearrate_ID, &
|
|
||||||
resolvedstress_ID, &
|
|
||||||
resolvedstress_external_ID, &
|
|
||||||
resolvedstress_back_ID, &
|
|
||||||
resistance_ID, &
|
|
||||||
rho_dot_ID, &
|
|
||||||
rho_dot_sgl_ID, &
|
|
||||||
rho_dot_sgl_mobile_ID, &
|
|
||||||
rho_dot_dip_ID, &
|
|
||||||
rho_dot_gen_ID, &
|
|
||||||
rho_dot_gen_edge_ID, &
|
|
||||||
rho_dot_gen_screw_ID, &
|
|
||||||
rho_dot_sgl2dip_ID, &
|
|
||||||
rho_dot_sgl2dip_edge_ID, &
|
|
||||||
rho_dot_sgl2dip_screw_ID, &
|
|
||||||
rho_dot_ann_ath_ID, &
|
|
||||||
rho_dot_ann_the_ID, &
|
|
||||||
rho_dot_ann_the_edge_ID, &
|
|
||||||
rho_dot_ann_the_screw_ID, &
|
|
||||||
rho_dot_edgejogs_ID, &
|
|
||||||
rho_dot_flux_ID, &
|
|
||||||
rho_dot_flux_mobile_ID, &
|
|
||||||
rho_dot_flux_edge_ID, &
|
|
||||||
rho_dot_flux_screw_ID, &
|
|
||||||
velocity_edge_pos_ID, &
|
|
||||||
velocity_edge_neg_ID, &
|
|
||||||
velocity_screw_pos_ID, &
|
|
||||||
velocity_screw_neg_ID, &
|
|
||||||
slipdirectionx_ID, &
|
|
||||||
slipdirectiony_ID, &
|
|
||||||
slipdirectionz_ID, &
|
|
||||||
slipnormalx_ID, &
|
|
||||||
slipnormaly_ID, &
|
|
||||||
slipnormalz_ID, &
|
|
||||||
fluxdensity_edge_posx_ID, &
|
|
||||||
fluxdensity_edge_posy_ID, &
|
|
||||||
fluxdensity_edge_posz_ID, &
|
|
||||||
fluxdensity_edge_negx_ID, &
|
|
||||||
fluxdensity_edge_negy_ID, &
|
|
||||||
fluxdensity_edge_negz_ID, &
|
|
||||||
fluxdensity_screw_posx_ID, &
|
|
||||||
fluxdensity_screw_posy_ID, &
|
|
||||||
fluxdensity_screw_posz_ID, &
|
|
||||||
fluxdensity_screw_negx_ID, &
|
|
||||||
fluxdensity_screw_negy_ID, &
|
|
||||||
fluxdensity_screw_negz_ID, &
|
|
||||||
maximumdipoleheight_edge_ID, &
|
|
||||||
maximumdipoleheight_screw_ID, &
|
|
||||||
accumulatedshear_ID )
|
|
||||||
mySize = totalNslip(instance)
|
|
||||||
case(dislocationstress_ID)
|
|
||||||
mySize = 6_pInt
|
|
||||||
case default
|
case default
|
||||||
|
mySize = totalNslip(instance)
|
||||||
end select
|
end select
|
||||||
|
|
||||||
if (mySize > 0_pInt) then ! any meaningful output found
|
if (mySize > 0_pInt) then ! any meaningful output found
|
||||||
|
@ -1289,30 +927,14 @@ allocate(nonSchmidProjection(3,3,4,maxTotalNslip,maxNinstances),
|
||||||
endif
|
endif
|
||||||
enddo outputsLoop
|
enddo outputsLoop
|
||||||
|
|
||||||
plasticState(phase)%sizeState = sizeState
|
|
||||||
plasticState(phase)%sizeDotState = sizeDotState
|
|
||||||
plasticState(phase)%sizeDeltaState = sizeDeltaState
|
|
||||||
plasticState(phase)%sizePostResults = plastic_nonlocal_sizePostResults(instance)
|
plasticState(phase)%sizePostResults = plastic_nonlocal_sizePostResults(instance)
|
||||||
plasticState(phase)%nonlocal = .true.
|
plasticState(phase)%nonlocal = .true.
|
||||||
plasticState(phase)%nSlip = totalNslip(instance)
|
call material_allocatePlasticState(phase,NofMyPhase,sizeState,sizeDotState,sizeDeltaState, &
|
||||||
plasticState(phase)%nTwin = 0_pInt
|
totalNslip(instance),0_pInt,0_pInt)
|
||||||
plasticState(phase)%nTrans= 0_pInt
|
|
||||||
allocate(plasticState(phase)%aTolState (sizeState), source=0.0_pReal)
|
plasticState(phase)%offsetDeltaState = 0_pInt
|
||||||
allocate(plasticState(phase)%state0 (sizeState,NofMyPhase), source=0.0_pReal)
|
|
||||||
allocate(plasticState(phase)%partionedState0 (sizeState,NofMyPhase), source=0.0_pReal)
|
|
||||||
allocate(plasticState(phase)%subState0 (sizeState,NofMyPhase), source=0.0_pReal)
|
|
||||||
allocate(plasticState(phase)%state (sizeState,NofMyPhase), source=0.0_pReal)
|
|
||||||
|
|
||||||
allocate(plasticState(phase)%dotState (sizeDotState,NofMyPhase), source=0.0_pReal)
|
|
||||||
allocate(plasticState(phase)%deltaState (sizeDeltaState,NofMyPhase), source=0.0_pReal)
|
|
||||||
if (any(numerics_integrator == 1_pInt)) then
|
|
||||||
allocate(plasticState(phase)%previousDotState (sizeDotState,NofMyPhase), source=0.0_pReal)
|
|
||||||
allocate(plasticState(phase)%previousDotState2 (sizeDotState,NofMyPhase), source=0.0_pReal)
|
|
||||||
endif
|
|
||||||
if (any(numerics_integrator == 4_pInt)) &
|
|
||||||
allocate(plasticState(phase)%RK4dotState (sizeDotState,NofMyPhase), source=0.0_pReal)
|
|
||||||
if (any(numerics_integrator == 5_pInt)) &
|
|
||||||
allocate(plasticState(phase)%RKCK45dotState (6,sizeDotState,NofMyPhase),source=0.0_pReal)
|
|
||||||
plasticState(phase)%slipRate => &
|
plasticState(phase)%slipRate => &
|
||||||
plasticState(phase)%dotState(iGamma(1,instance):iGamma(ns,instance),1:NofMyPhase)
|
plasticState(phase)%dotState(iGamma(1,instance):iGamma(ns,instance),1:NofMyPhase)
|
||||||
plasticState(phase)%accumulatedSlip => &
|
plasticState(phase)%accumulatedSlip => &
|
||||||
|
@ -1993,10 +1615,10 @@ end subroutine plastic_nonlocal_kinetics
|
||||||
!--------------------------------------------------------------------------------------------------
|
!--------------------------------------------------------------------------------------------------
|
||||||
subroutine plastic_nonlocal_LpAndItsTangent(Lp, dLp_dTstar99, Tstar_v, Temperature, ip, el)
|
subroutine plastic_nonlocal_LpAndItsTangent(Lp, dLp_dTstar99, Tstar_v, Temperature, ip, el)
|
||||||
|
|
||||||
use math, only: math_Plain3333to99, &
|
use math, only: math_3333to99, &
|
||||||
math_mul6x6, &
|
math_mul6x6, &
|
||||||
math_mul33xx33, &
|
math_mul33xx33, &
|
||||||
math_Mandel6to33
|
math_6toSym33
|
||||||
use debug, only: debug_level, &
|
use debug, only: debug_level, &
|
||||||
debug_constitutive, &
|
debug_constitutive, &
|
||||||
debug_levelExtensive, &
|
debug_levelExtensive, &
|
||||||
|
@ -2088,11 +1710,11 @@ do s = 1_pInt,ns
|
||||||
tauNS(s,1) = tau(s)
|
tauNS(s,1) = tau(s)
|
||||||
tauNS(s,2) = tau(s)
|
tauNS(s,2) = tau(s)
|
||||||
if (tau(s) > 0.0_pReal) then
|
if (tau(s) > 0.0_pReal) then
|
||||||
tauNS(s,3) = math_mul33xx33(math_Mandel6to33(Tstar_v), nonSchmidProjection(1:3,1:3,1,s,instance))
|
tauNS(s,3) = math_mul33xx33(math_6toSym33(Tstar_v), nonSchmidProjection(1:3,1:3,1,s,instance))
|
||||||
tauNS(s,4) = math_mul33xx33(math_Mandel6to33(Tstar_v), nonSchmidProjection(1:3,1:3,3,s,instance))
|
tauNS(s,4) = math_mul33xx33(math_6toSym33(Tstar_v), nonSchmidProjection(1:3,1:3,3,s,instance))
|
||||||
else
|
else
|
||||||
tauNS(s,3) = math_mul33xx33(math_Mandel6to33(Tstar_v), nonSchmidProjection(1:3,1:3,2,s,instance))
|
tauNS(s,3) = math_mul33xx33(math_6toSym33(Tstar_v), nonSchmidProjection(1:3,1:3,2,s,instance))
|
||||||
tauNS(s,4) = math_mul33xx33(math_Mandel6to33(Tstar_v), nonSchmidProjection(1:3,1:3,4,s,instance))
|
tauNS(s,4) = math_mul33xx33(math_6toSym33(Tstar_v), nonSchmidProjection(1:3,1:3,4,s,instance))
|
||||||
endif
|
endif
|
||||||
enddo
|
enddo
|
||||||
forall (t = 1_pInt:4_pInt) &
|
forall (t = 1_pInt:4_pInt) &
|
||||||
|
@ -2167,7 +1789,7 @@ do s = 1_pInt,ns
|
||||||
* burgers(s,instance)
|
* burgers(s,instance)
|
||||||
endif
|
endif
|
||||||
enddo
|
enddo
|
||||||
dLp_dTstar99 = math_Plain3333to99(dLp_dTstar3333)
|
dLp_dTstar99 = math_3333to99(dLp_dTstar3333)
|
||||||
|
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
|
@ -3637,45 +3259,6 @@ forall (s = 1_pInt:ns) &
|
||||||
|
|
||||||
outputsLoop: do o = 1_pInt,plastic_nonlocal_Noutput(instance)
|
outputsLoop: do o = 1_pInt,plastic_nonlocal_Noutput(instance)
|
||||||
select case(plastic_nonlocal_outputID(o,instance))
|
select case(plastic_nonlocal_outputID(o,instance))
|
||||||
case (rho_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = sum(abs(rhoSgl),2) + sum(rhoDip,2)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (rho_sgl_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = sum(abs(rhoSgl),2)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (rho_sgl_mobile_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = sum(abs(rhoSgl(1:ns,1:4)),2)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (rho_sgl_immobile_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = sum(rhoSgl(1:ns,5:8),2)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (rho_dip_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = sum(rhoDip,2)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (rho_edge_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = sum(abs(rhoSgl(1:ns,[1,2,5,6])),2) + rhoDip(1:ns,1)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (rho_sgl_edge_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = sum(abs(rhoSgl(1:ns,[1,2,5,6])),2)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (rho_sgl_edge_mobile_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = sum(rhoSgl(1:ns,1:2),2)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (rho_sgl_edge_immobile_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = sum(rhoSgl(1:ns,5:6),2)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (rho_sgl_edge_pos_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,1) + abs(rhoSgl(1:ns,5))
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (rho_sgl_edge_pos_mobile_ID)
|
case (rho_sgl_edge_pos_mobile_ID)
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,1)
|
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,1)
|
||||||
|
@ -3685,10 +3268,6 @@ outputsLoop: do o = 1_pInt,plastic_nonlocal_Noutput(instance)
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,5)
|
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,5)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
|
||||||
case (rho_sgl_edge_neg_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,2) + abs(rhoSgl(1:ns,6))
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (rho_sgl_edge_neg_mobile_ID)
|
case (rho_sgl_edge_neg_mobile_ID)
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,2)
|
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,2)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
@ -3701,26 +3280,6 @@ outputsLoop: do o = 1_pInt,plastic_nonlocal_Noutput(instance)
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoDip(1:ns,1)
|
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoDip(1:ns,1)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
|
||||||
case (rho_screw_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = sum(abs(rhoSgl(1:ns,[3,4,7,8])),2) + rhoDip(1:ns,2)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (rho_sgl_screw_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = sum(abs(rhoSgl(1:ns,[3,4,7,8])),2)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (rho_sgl_screw_mobile_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = sum(rhoSgl(1:ns,3:4),2)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (rho_sgl_screw_immobile_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = sum(rhoSgl(1:ns,7:8),2)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (rho_sgl_screw_pos_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,3) + abs(rhoSgl(1:ns,7))
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (rho_sgl_screw_pos_mobile_ID)
|
case (rho_sgl_screw_pos_mobile_ID)
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,3)
|
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,3)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
@ -3728,10 +3287,6 @@ outputsLoop: do o = 1_pInt,plastic_nonlocal_Noutput(instance)
|
||||||
case (rho_sgl_screw_pos_immobile_ID)
|
case (rho_sgl_screw_pos_immobile_ID)
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,7)
|
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,7)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
|
||||||
case (rho_sgl_screw_neg_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,4) + abs(rhoSgl(1:ns,8))
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (rho_sgl_screw_neg_mobile_ID)
|
case (rho_sgl_screw_neg_mobile_ID)
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,4)
|
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,4)
|
||||||
|
@ -3745,38 +3300,9 @@ outputsLoop: do o = 1_pInt,plastic_nonlocal_Noutput(instance)
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoDip(1:ns,2)
|
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoDip(1:ns,2)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
|
||||||
case (excess_rho_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = (rhoSgl(1:ns,1) + abs(rhoSgl(1:ns,5))) &
|
|
||||||
- (rhoSgl(1:ns,2) + abs(rhoSgl(1:ns,6))) &
|
|
||||||
+ (rhoSgl(1:ns,3) + abs(rhoSgl(1:ns,7))) &
|
|
||||||
- (rhoSgl(1:ns,4) + abs(rhoSgl(1:ns,8)))
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (excess_rho_edge_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = (rhoSgl(1:ns,1) + abs(rhoSgl(1:ns,5))) &
|
|
||||||
- (rhoSgl(1:ns,2) + abs(rhoSgl(1:ns,6)))
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (excess_rho_screw_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = (rhoSgl(1:ns,3) + abs(rhoSgl(1:ns,7))) &
|
|
||||||
- (rhoSgl(1:ns,4) + abs(rhoSgl(1:ns,8)))
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (rho_forest_ID)
|
case (rho_forest_ID)
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoForest
|
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoForest
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
|
||||||
case (delta_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = 1.0_pReal / sqrt(sum(abs(rhoSgl),2) + sum(rhoDip,2))
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (delta_sgl_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = 1.0_pReal / sqrt(sum(abs(rhoSgl),2))
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (delta_dip_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = 1.0_pReal / sqrt(sum(rhoDip,2))
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (shearrate_ID)
|
case (shearrate_ID)
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = sum(gdot,2)
|
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = sum(gdot,2)
|
||||||
|
@ -3800,12 +3326,6 @@ outputsLoop: do o = 1_pInt,plastic_nonlocal_Noutput(instance)
|
||||||
case (resistance_ID)
|
case (resistance_ID)
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = tauThreshold
|
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = tauThreshold
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
|
||||||
case (rho_dot_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = sum(rhoDotSgl(1:ns,1:4),2) &
|
|
||||||
+ sum(rhoDotSgl(1:ns,5:8)*sign(1.0_pReal,rhoSgl(1:ns,5:8)),2) &
|
|
||||||
+ sum(rhoDotDip,2)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (rho_dot_sgl_ID)
|
case (rho_dot_sgl_ID)
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = sum(rhoDotSgl(1:ns,1:4),2) &
|
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = sum(rhoDotSgl(1:ns,1:4),2) &
|
||||||
|
@ -3820,7 +3340,7 @@ outputsLoop: do o = 1_pInt,plastic_nonlocal_Noutput(instance)
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = sum(rhoDotDip,2)
|
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = sum(rhoDotDip,2)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
|
||||||
case (rho_dot_gen_ID)
|
case (rho_dot_gen_ID) ! Obsolete
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoDotMultiplicationOutput(1:ns,1,1_pInt,ip,el) &
|
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoDotMultiplicationOutput(1:ns,1,1_pInt,ip,el) &
|
||||||
+ rhoDotMultiplicationOutput(1:ns,2,1_pInt,ip,el)
|
+ rhoDotMultiplicationOutput(1:ns,2,1_pInt,ip,el)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
@ -3832,11 +3352,6 @@ outputsLoop: do o = 1_pInt,plastic_nonlocal_Noutput(instance)
|
||||||
case (rho_dot_gen_screw_ID)
|
case (rho_dot_gen_screw_ID)
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoDotMultiplicationOutput(1:ns,2,1_pInt,ip,el)
|
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoDotMultiplicationOutput(1:ns,2,1_pInt,ip,el)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
|
||||||
case (rho_dot_sgl2dip_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoDotSingle2DipoleGlideOutput(1:ns,1,1_pInt,ip,el) &
|
|
||||||
+ rhoDotSingle2DipoleGlideOutput(1:ns,2,1_pInt,ip,el)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (rho_dot_sgl2dip_edge_ID)
|
case (rho_dot_sgl2dip_edge_ID)
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoDotSingle2DipoleGlideOutput(1:ns,1,1_pInt,ip,el)
|
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoDotSingle2DipoleGlideOutput(1:ns,1,1_pInt,ip,el)
|
||||||
|
@ -3850,11 +3365,6 @@ outputsLoop: do o = 1_pInt,plastic_nonlocal_Noutput(instance)
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoDotAthermalAnnihilationOutput(1:ns,1,1_pInt,ip,el) &
|
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoDotAthermalAnnihilationOutput(1:ns,1,1_pInt,ip,el) &
|
||||||
+ rhoDotAthermalAnnihilationOutput(1:ns,2,1_pInt,ip,el)
|
+ rhoDotAthermalAnnihilationOutput(1:ns,2,1_pInt,ip,el)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
|
||||||
case (rho_dot_ann_the_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoDotThermalAnnihilationOutput(1:ns,1,1_pInt,ip,el) &
|
|
||||||
+ rhoDotThermalAnnihilationOutput(1:ns,2,1_pInt,ip,el)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (rho_dot_ann_the_edge_ID)
|
case (rho_dot_ann_the_edge_ID)
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoDotThermalAnnihilationOutput(1:ns,1,1_pInt,ip,el)
|
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoDotThermalAnnihilationOutput(1:ns,1,1_pInt,ip,el)
|
||||||
|
@ -3872,11 +3382,6 @@ outputsLoop: do o = 1_pInt,plastic_nonlocal_Noutput(instance)
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = sum(rhoDotFluxOutput(1:ns,1:4,1_pInt,ip,el),2)
|
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = sum(rhoDotFluxOutput(1:ns,1:4,1_pInt,ip,el),2)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
|
||||||
case (rho_dot_flux_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = sum(rhoDotFluxOutput(1:ns,1:4,1_pInt,ip,el),2) &
|
|
||||||
+ sum(rhoDotFluxOutput(1:ns,5:8,1_pInt,ip,el)*sign(1.0_pReal,rhoSgl(1:ns,5:8)),2)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (rho_dot_flux_edge_ID)
|
case (rho_dot_flux_edge_ID)
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = sum(rhoDotFluxOutput(1:ns,1:2,1_pInt,ip,el),2) &
|
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = sum(rhoDotFluxOutput(1:ns,1:2,1_pInt,ip,el),2) &
|
||||||
+ sum(rhoDotFluxOutput(1:ns,5:6,1_pInt,ip,el)*sign(1.0_pReal,rhoSgl(1:ns,5:6)),2)
|
+ sum(rhoDotFluxOutput(1:ns,5:6,1_pInt,ip,el)*sign(1.0_pReal,rhoSgl(1:ns,5:6)),2)
|
||||||
|
@ -3903,78 +3408,6 @@ outputsLoop: do o = 1_pInt,plastic_nonlocal_Noutput(instance)
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = v(1:ns,4)
|
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = v(1:ns,4)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
|
||||||
case (slipdirectionx_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = m_currentconf(1,1:ns,1)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (slipdirectiony_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = m_currentconf(2,1:ns,1)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (slipdirectionz_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = m_currentconf(3,1:ns,1)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (slipnormalx_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = n_currentconf(1,1:ns)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (slipnormaly_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = n_currentconf(2,1:ns)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (slipnormalz_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = n_currentconf(3,1:ns)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (fluxdensity_edge_posx_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,1) * v(1:ns,1) * m_currentconf(1,1:ns,1)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (fluxdensity_edge_posy_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,1) * v(1:ns,1) * m_currentconf(2,1:ns,1)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (fluxdensity_edge_posz_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,1) * v(1:ns,1) * m_currentconf(3,1:ns,1)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (fluxdensity_edge_negx_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = - rhoSgl(1:ns,2) * v(1:ns,2) * m_currentconf(1,1:ns,1)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (fluxdensity_edge_negy_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = - rhoSgl(1:ns,2) * v(1:ns,2) * m_currentconf(2,1:ns,1)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (fluxdensity_edge_negz_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = - rhoSgl(1:ns,2) * v(1:ns,2) * m_currentconf(3,1:ns,1)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (fluxdensity_screw_posx_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,3) * v(1:ns,3) * m_currentconf(1,1:ns,2)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (fluxdensity_screw_posy_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,3) * v(1:ns,3) * m_currentconf(2,1:ns,2)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (fluxdensity_screw_posz_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = rhoSgl(1:ns,3) * v(1:ns,3) * m_currentconf(3,1:ns,2)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (fluxdensity_screw_negx_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = - rhoSgl(1:ns,4) * v(1:ns,4) * m_currentconf(1,1:ns,2)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (fluxdensity_screw_negy_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = - rhoSgl(1:ns,4) * v(1:ns,4) * m_currentconf(2,1:ns,2)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (fluxdensity_screw_negz_ID)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = - rhoSgl(1:ns,4) * v(1:ns,4) * m_currentconf(3,1:ns,2)
|
|
||||||
cs = cs + ns
|
|
||||||
|
|
||||||
case (maximumdipoleheight_edge_ID)
|
case (maximumdipoleheight_edge_ID)
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = dUpper(1:ns,1)
|
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = dUpper(1:ns,1)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
@ -3982,17 +3415,7 @@ outputsLoop: do o = 1_pInt,plastic_nonlocal_Noutput(instance)
|
||||||
case (maximumdipoleheight_screw_ID)
|
case (maximumdipoleheight_screw_ID)
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = dUpper(1:ns,2)
|
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = dUpper(1:ns,2)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
|
||||||
case(dislocationstress_ID)
|
|
||||||
sigma = plastic_nonlocal_dislocationstress(Fe, ip, el)
|
|
||||||
plastic_nonlocal_postResults(cs+1_pInt) = sigma(1,1)
|
|
||||||
plastic_nonlocal_postResults(cs+2_pInt) = sigma(2,2)
|
|
||||||
plastic_nonlocal_postResults(cs+3_pInt) = sigma(3,3)
|
|
||||||
plastic_nonlocal_postResults(cs+4_pInt) = sigma(1,2)
|
|
||||||
plastic_nonlocal_postResults(cs+5_pInt) = sigma(2,3)
|
|
||||||
plastic_nonlocal_postResults(cs+6_pInt) = sigma(3,1)
|
|
||||||
cs = cs + 6_pInt
|
|
||||||
|
|
||||||
case(accumulatedshear_ID)
|
case(accumulatedshear_ID)
|
||||||
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = plasticState(ph)%state(iGamma(1:ns,instance),of)
|
plastic_nonlocal_postResults(cs+1_pInt:cs+ns) = plasticState(ph)%state(iGamma(1:ns,instance),of)
|
||||||
cs = cs + ns
|
cs = cs + ns
|
||||||
|
|
Loading…
Reference in New Issue