polishing

This commit is contained in:
Martin Diehl 2018-12-21 06:15:01 +01:00
parent 6256de8785
commit fe1183e010
1 changed files with 29 additions and 29 deletions

View File

@ -39,30 +39,30 @@ module plastic_disloUCLA
real(pReal) :: & real(pReal) :: &
aTolRho, & aTolRho, &
grainSize, & grainSize, &
SolidSolutionStrength, & !< Strength due to elements in solid solution SolidSolutionStrength, & !< Strength due to elements in solid solution
mu, & mu, &
D0, & !< prefactor for self-diffusion coefficient D0, & !< prefactor for self-diffusion coefficient
Qsd !< activation energy for dislocation climb Qsd !< activation energy for dislocation climb
real(pReal), allocatable, dimension(:) :: & real(pReal), allocatable, dimension(:) :: &
rho0, & !< initial edge dislocation density per slip system for each family and instance rho0, & !< initial edge dislocation density per slip system for each family and instance
rhoDip0, & !< initial edge dipole density per slip system for each family and instance rhoDip0, & !< initial edge dipole density per slip system for each family and instance
burgers, & !< absolute length of burgers vector [m] for each slip system and instance burgers, & !< absolute length of burgers vector [m] for each slip system and instance
nonSchmidCoeff, & nonSchmidCoeff, &
minDipDistance, & minDipDistance, &
CLambda, & !< Adj. parameter for distance between 2 forest dislocations for each slip system and instance CLambda, & !< Adj. parameter for distance between 2 forest dislocations for each slip system and instance
atomicVolume, & atomicVolume, &
!* mobility law parameters !* mobility law parameters
H0kp, & !< activation energy for glide [J] for each slip system and instance H0kp, & !< activation energy for glide [J] for each slip system and instance
v0, & !< dislocation velocity prefactor [m/s] for each family and instance v0, & !< dislocation velocity prefactor [m/s] for each family and instance
p, & !< p-exponent in glide velocity p, & !< p-exponent in glide velocity
q, & !< q-exponent in glide velocity q, & !< q-exponent in glide velocity
B, & !< friction coeff. B (kMC) B, & !< friction coefficient
kink_height, & !< height of the kink pair kink_height, & !< height of the kink pair
kink_width, & !< width of the kink pair kink_width, & !< width of the kink pair
omega, & !< attempt frequency for kink pair nucleation omega, & !< attempt frequency for kink pair nucleation
tau_Peierls tau_Peierls
real(pReal), allocatable, dimension(:,:) :: & real(pReal), allocatable, dimension(:,:) :: &
interaction_SlipSlip, & !< slip resistance from slip activity interaction_SlipSlip, & !< slip resistance from slip activity
forestProjectionEdge forestProjectionEdge
real(pReal), allocatable, dimension(:,:,:) :: & real(pReal), allocatable, dimension(:,:,:) :: &
Schmid_slip, & Schmid_slip, &
@ -152,13 +152,14 @@ subroutine plastic_disloUCLA_init()
use lattice use lattice
implicit none implicit none
integer(pInt) :: Ninstance,& integer(pInt) :: &
f,j,k,o, i, & Ninstance, &
outputSize, & f,j,k,o, i, &
offset_slip, index_myFamily, index_otherFamily, & outputSize, &
startIndex, endIndex, p, & offset_slip, index_myFamily, index_otherFamily, &
sizeState, sizeDotState, & startIndex, endIndex, p, &
NipcMyPhase sizeState, sizeDotState, &
NipcMyPhase
character(len=pStringLen) :: & character(len=pStringLen) :: &
structure = '',& structure = '',&
extmsg = '' extmsg = ''
@ -403,25 +404,24 @@ end subroutine plastic_disloUCLA_init
subroutine plastic_disloUCLA_dependentState(instance,of) subroutine plastic_disloUCLA_dependentState(instance,of)
implicit none implicit none
integer(pInt), intent(in) :: instance, of integer(pInt), intent(in) :: instance, of
integer(pInt) :: & integer(pInt) :: &
i i
real(pReal), dimension(param(instance)%totalNslip) :: & real(pReal), dimension(param(instance)%totalNslip) :: &
invLambdaSlip ! 1/mean free distance between 2 forest dislocations seen by a moving dislocation dislocationSpacing ! 1/mean free distance between 2 forest dislocations seen by a moving dislocation
associate(prm => param(instance), stt => state(instance),dst => dependentState(instance)) associate(prm => param(instance), stt => state(instance),dst => dependentState(instance))
forall (i = 1_pInt:prm%totalNslip) forall (i = 1_pInt:prm%totalNslip)
invLambdaSlip(i) = sqrt(dot_product(stt%rhoEdge(:,of)+stt%rhoEdgeDip(:,of), & dislocationSpacing(i) = sqrt(dot_product(stt%rhoEdge(:,of)+stt%rhoEdgeDip(:,of), &
prm%forestProjectionEdge(:,i))) & prm%forestProjectionEdge(:,i)))
/ prm%Clambda(i)
dst%threshold_stress(i,of) = prm%mu*prm%burgers(i) & dst%threshold_stress(i,of) = prm%mu*prm%burgers(i) &
* sqrt(dot_product(stt%rhoEdge(:,of)+stt%rhoEdgeDip(:,of), & * sqrt(dot_product(stt%rhoEdge(:,of)+stt%rhoEdgeDip(:,of), &
prm%interaction_SlipSlip(i,:))) prm%interaction_SlipSlip(i,:)))
end forall end forall
dst%mfp(:,of) = prm%grainSize/(1.0_pReal+prm%grainSize*invLambdaSlip) dst%mfp(:,of) = prm%grainSize/(1.0_pReal+prm%grainSize*dislocationSpacing/prm%Clambda)
end associate end associate