Merge remote-tracking branch 'origin/nonlocal-examples' into preparing-alpha4
This commit is contained in:
commit
5973ef5b13
|
@ -1,63 +0,0 @@
|
||||||
[Aluminum]
|
|
||||||
plasticity nonlocal
|
|
||||||
/nonlocal/
|
|
||||||
|
|
||||||
(output) rho_sgl_mob_edg_pos
|
|
||||||
(output) rho_sgl_imm_edg_pos
|
|
||||||
(output) rho_sgl_mob_edg_neg
|
|
||||||
(output) rho_sgl_imm_edg_neg
|
|
||||||
(output) rho_sgl_mob_scr_pos
|
|
||||||
(output) rho_sgl_imm_scr_pos
|
|
||||||
(output) rho_sgl_mob_scr_neg
|
|
||||||
(output) rho_sgl_imm_scr_neg
|
|
||||||
(output) rho_dip_edg
|
|
||||||
(output) rho_dip_scr
|
|
||||||
(output) rho_forest
|
|
||||||
(output) gamma
|
|
||||||
(output) tau_pass
|
|
||||||
(output) v_edg_pos
|
|
||||||
(output) v_edg_neg
|
|
||||||
(output) v_scr_pos
|
|
||||||
(output) v_scr_neg
|
|
||||||
|
|
||||||
lattice_structure fcc
|
|
||||||
Nslip 12 # number of slip systems
|
|
||||||
|
|
||||||
burgers 2.86e-10 # Burgers vector in m
|
|
||||||
rhoSglEdgePos0 0.25e10 # Initial positive edge single dislocation density in m/m**3 (per slip family)
|
|
||||||
rhoSglEdgeNeg0 0.25e10 # Initial negative edge single dislocation density in m/m**3 (per slip family)
|
|
||||||
rhoSglScrewPos0 0.25e10 # Initial positive screw single dislocation density in m/m**3 (per slip family)
|
|
||||||
rhoSglScrewNeg0 0.25e10 # Initial negative screw single dislocation density in m/m**3 (per slip family)
|
|
||||||
rhoDipEdge0 1e8 # Initial edge dipole dislocation density in m/m**3 (per slip family)
|
|
||||||
rhoDipScrew0 1e8 # Initial screw dipole dislocation density in m/m**3 (per slip family)
|
|
||||||
rhoSglScatter 0 # standard deviation of scatter in initial single dislocation density
|
|
||||||
#rhoSglRandom 1e12 # randomly distributed total dislocation density (sum over all slip systems and types) in m/m**3
|
|
||||||
#rhoSglRandomBinning 1 # binning size of randomly distributed dislocations (number of dislocations per ip volume)
|
|
||||||
minimumDipoleHeightEdge 2e-9 # minimum distance for stable edge dipoles in m (per slip family)
|
|
||||||
minimumDipoleHeightScrew 2e-9 # minimum distance for stable screw dipoles in m (per slip family)
|
|
||||||
lambda0 80 # prefactor for mean free path
|
|
||||||
edgeMultiplication 0.1 # factor to which edges contribute to multiplication
|
|
||||||
atomicVolume 1.7e-29 # atomic volume in m**3
|
|
||||||
selfdiffusionPrefactor 1e-4 # prefactor for self-diffusion coefficient in m**2/s
|
|
||||||
selfdiffusionEnergy 2.3e-19 # activation enthalpy for seld-diffusion in J
|
|
||||||
solidSolutionEnergy 2e-19 # activation energy of solid solution particles in J
|
|
||||||
solidSolutionConcentration 1e-5 # concentration of solid solution in parts per b^3
|
|
||||||
solidSolutionSize 2 # size of solid solution obstacles in multiples of burgers vector length
|
|
||||||
peierlsStressEdge 1e5 # Peierls stress for edges in Pa (per slip family)
|
|
||||||
peierlsStressScrew 1e5 # Peierls stress for screws in Pa (per slip family)
|
|
||||||
doublekinkWidth 10 # width of double kinks in multiples of burgers vector length b
|
|
||||||
viscosity 1e-4 # viscosity for dislocation glide in Pa s
|
|
||||||
p 1 # exponent for thermal barrier profile
|
|
||||||
q 1 # exponent for thermal barrier profile
|
|
||||||
attackFrequency 50e9 # attack frequency in Hz
|
|
||||||
surfaceTransmissivity 1.0 # transmissivity of free surfaces for dislocation flux
|
|
||||||
grainboundaryTransmissivity 0.0 # transmissivity of grain boundaries for dislocation flux (grain bundaries are identified as interfaces with different textures on both sides); if not set or set to negative number, the subroutine automatically determines the transmissivity at the grain boundary
|
|
||||||
interaction_SlipSlip 0 0 0.625 0.07 0.137 0.137 0.122 # Dislocation interaction coefficient
|
|
||||||
linetension 0.8 # constant indicating the effect of the line tension on the hardening coefficients (0 to 1)
|
|
||||||
edgejog 1.0 # fraction of annihilated screw dipoles that forms edge jogs (0 to 1)
|
|
||||||
shortRangeStressCorrection 0 # switch for use of short range correction stress
|
|
||||||
cutoffRadius 1e-3 # cutoff radius for dislocation stress in m
|
|
||||||
CFLfactor 2.0 # safety factor for CFL flux check (numerical parameter)
|
|
||||||
significantRho 1e6 # minimum dislocation density considered relevant in m/m**3
|
|
||||||
#significantN 0.1 # minimum dislocation number per ip considered relevant
|
|
||||||
randomMultiplication 0 # switch for probabilistic extension of multiplication rate
|
|
|
@ -1,62 +0,0 @@
|
||||||
[Ni_nonlocal]
|
|
||||||
|
|
||||||
elasticity hooke
|
|
||||||
plasticity nonlocal
|
|
||||||
/nonlocal/
|
|
||||||
(output) rho_sgl_mob_edg_pos
|
|
||||||
(output) rho_sgl_imm_edg_pos
|
|
||||||
(output) rho_sgl_mob_edg_neg
|
|
||||||
(output) rho_sgl_imm_edg_neg
|
|
||||||
(output) rho_sgl_mob_scr_pos
|
|
||||||
(output) rho_sgl_imm_scr_pos
|
|
||||||
(output) rho_sgl_mob_scr_neg
|
|
||||||
(output) rho_sgl_imm_scr_neg
|
|
||||||
(output) rho_dip_edg
|
|
||||||
(output) rho_dip_scr
|
|
||||||
(output) rho_forest
|
|
||||||
(output) gamma
|
|
||||||
(output) tau_pass
|
|
||||||
(output) v_edg_pos
|
|
||||||
(output) v_edg_neg
|
|
||||||
(output) v_scr_pos
|
|
||||||
(output) v_scr_neg
|
|
||||||
|
|
||||||
|
|
||||||
lattice_structure fcc
|
|
||||||
Nslip 12 # number of slip systems per family
|
|
||||||
burgers 2.48e-10 # Burgers vector in m
|
|
||||||
rhoSglEdgePos0 6e10 # Initial positive edge single dislocation density in m/m**3
|
|
||||||
rhoSglEdgeNeg0 6e10 # Initial negative edge single dislocation density in m/m**3
|
|
||||||
rhoSglScrewPos0 6e10 # Initial positive screw single dislocation density in m/m**3
|
|
||||||
rhoSglScrewNeg0 6e10 # Initial negative screw single dislocation density in m/m**3
|
|
||||||
rhoDipEdge0 0 # Initial edge dipole dislocation density in m/m**3
|
|
||||||
rhoDipScrew0 0 # Initial screw dipole dislocation density in m/m**3
|
|
||||||
rhoSglScatter 0
|
|
||||||
minimumDipoleHeightEdge 2.6e-9 # 3.0e-9 # minimum distance for stable edge dipoles in m
|
|
||||||
minimumDipoleHeightScrew 12.0e-9 # 50e-9 # minimum distance for stable screw dipoles in m
|
|
||||||
lambda0 45 # 33 # prefactor for mean free path
|
|
||||||
edgeMultiplication 0.1
|
|
||||||
randomMultiplication 0
|
|
||||||
atomicVolume 1.2e-29
|
|
||||||
selfdiffusionPrefactor 1.9e-4 # Gottstein p.168 # prefactor for self-diffusion coefficient
|
|
||||||
selfdiffusionEnergy 5.1e-19 # Gottstein p.168 # activation energy self-diffusion
|
|
||||||
solidSolutionEnergy 1.8e-19 # activation energy of solid solution particles in J
|
|
||||||
solidSolutionConcentration 5e-7 # 1e-7
|
|
||||||
solidSolutionSize 1.0
|
|
||||||
peierlsStressEdge 1e5 # Peierls stress for edges in Pa (per slip family)
|
|
||||||
peierlsStressScrew 1e5 # Peierls stress for screws in Pa (per slip family)
|
|
||||||
doublekinkWidth 10 # width of double kinks in multiples of burgers vector length b
|
|
||||||
viscosity 1e-3 # viscosity for dislocation glide in Pa s
|
|
||||||
p 1 # exponent for thermal barrier profile
|
|
||||||
q 1 # exponent for thermal barrier profile
|
|
||||||
attackFrequency 50e9 # attack frequency in Hz
|
|
||||||
surfaceTransmissivity 1.0 # transmissivity of free surfaces for dislocation flux
|
|
||||||
grainBoundaryTransmissivity 0.0
|
|
||||||
significantRho 1e8 # dislocation density considered relevant in m/m**3
|
|
||||||
significantN 1
|
|
||||||
shortRangeStressCorrection 0
|
|
||||||
CFLfactor 1.1 # safety factor for CFL flux check (numerical parameter)
|
|
||||||
r 1
|
|
||||||
interaction_SlipSlip 0 0 0.625 0.07 0.137 0.137 0.122 # Dislocation interaction coefficient
|
|
||||||
linetension 0.8
|
|
||||||
edgejog 0.01 # 0.2
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
type: nonlocal
|
||||||
|
references:
|
||||||
|
C. Kords,
|
||||||
|
On the role of dislocation transport in the constitutive description of crystal plasticity,
|
||||||
|
RWTH Aachen 2013
|
||||||
|
output: [rho_u_ed_pos, rho_b_ed_pos, rho_u_ed_neg, rho_b_ed_neg, rho_u_sc_pos, rho_b_sc_pos, rho_u_sc_neg, rho_b_sc_neg, rho_d_ed, rho_d_sc]
|
||||||
|
N_sl: [12]
|
||||||
|
|
||||||
|
b_sl: [2.86e-10]
|
||||||
|
V_at: 0.017e-27 # Omega
|
||||||
|
d_ed: [1.6e-9]
|
||||||
|
d_sc: [10.e-9]
|
||||||
|
i_sl: [60] # k_2 (lambda_0 in Tab. 7.1)
|
||||||
|
f_ed_mult: 0.1 # k_1
|
||||||
|
|
||||||
|
rho_u_ed_neg_0: [1.25e9] # 6e10 / (12*4)
|
||||||
|
rho_u_ed_pos_0: [1.25e9] # 6e10 / (12*4)
|
||||||
|
rho_u_sc_neg_0: [1.25e9] # 6e10 / (12*4)
|
||||||
|
rho_u_sc_pos_0: [1.25e9] # 6e10 / (12*4)
|
||||||
|
rho_d_ed_0: [0]
|
||||||
|
rho_d_sc_0: [0]
|
||||||
|
|
||||||
|
D_0: 7.e-29
|
||||||
|
Q_cl: 0.0 # no temperature dependency
|
||||||
|
Q_sol: 2.00272e-19 # 1.25 eV
|
||||||
|
c_sol: 1.5e-6 # correct unit?
|
||||||
|
f_sol: 2.0 # d_obst in multiples of b
|
||||||
|
tau_Peierls_ed: [.1e6]
|
||||||
|
tau_Peierls_sc: [.1e6]
|
||||||
|
w: 10 # w_k in multiple of b
|
||||||
|
|
||||||
|
p_sl: 1
|
||||||
|
q_sl: 1
|
||||||
|
|
||||||
|
nu_a: 50.e9
|
||||||
|
B: 1.e-2
|
||||||
|
f_ed: 1.0 # k_3
|
||||||
|
|
||||||
|
h_sl-sl: [0, 0, 0.625, 0.07, 0.137, 0.137, 0.122] # Table 3.4
|
||||||
|
|
||||||
|
chi_GB: 0.0 # full blocking at GB
|
||||||
|
chi_surface: 1.0 # no blocking at surface
|
||||||
|
|
||||||
|
f_F: 0.0 # no line tension correction
|
||||||
|
sigma_rho_u: 0 # no random distribution
|
||||||
|
|
||||||
|
|
||||||
|
short_range_stress_correction: false
|
||||||
|
rho_significant: 1e6
|
|
@ -0,0 +1,49 @@
|
||||||
|
type: nonlocal
|
||||||
|
references:
|
||||||
|
C. Kords,
|
||||||
|
On the role of dislocation transport in the constitutive description of crystal plasticity,
|
||||||
|
RWTH Aachen 2013
|
||||||
|
output: [rho_u_ed_pos, rho_b_ed_pos, rho_u_ed_neg, rho_b_ed_neg, rho_u_sc_pos, rho_b_sc_pos, rho_u_sc_neg, rho_b_sc_neg, rho_d_ed, rho_d_sc]
|
||||||
|
N_sl: [12]
|
||||||
|
|
||||||
|
b_sl: [2.48e-10]
|
||||||
|
V_at: 0.012e-27 # Omega
|
||||||
|
d_ed: [2.6e-9]
|
||||||
|
d_sc: [12.e-9]
|
||||||
|
i_sl: [45] # k_2
|
||||||
|
f_ed_mult: 0.1 # k_1
|
||||||
|
|
||||||
|
rho_u_ed_neg_0: [6.e10] # 2.88e12 / (12*4)
|
||||||
|
rho_u_ed_pos_0: [6.e10] # 2.88e12 / (12*4)
|
||||||
|
rho_u_sc_neg_0: [6.e10] # 2.88e12 / (12*4)
|
||||||
|
rho_u_sc_pos_0: [6.e10] # 2.88e12 / (12*4)
|
||||||
|
rho_d_ed_0: [0]
|
||||||
|
rho_d_sc_0: [0]
|
||||||
|
|
||||||
|
D_0: 3.e-53
|
||||||
|
Q_cl: 0.0 # no temperature dependency
|
||||||
|
Q_sol: 1.79444e-19 # 1.12 eV
|
||||||
|
c_sol: 5.e-7 # correct unit?
|
||||||
|
f_sol: 1. # d_obst
|
||||||
|
tau_Peierls_ed: [.1e6]
|
||||||
|
tau_Peierls_sc: [.1e6]
|
||||||
|
w: 10 # w_k
|
||||||
|
|
||||||
|
p_sl: 1
|
||||||
|
q_sl: 1
|
||||||
|
|
||||||
|
nu_a: 50.e9
|
||||||
|
B: 1.e-3
|
||||||
|
f_ed: 0.01 # k_3
|
||||||
|
|
||||||
|
h_sl-sl: [0, 0, 0.625, 0.07, 0.137, 0.137, 0.122] # Table 3.4
|
||||||
|
|
||||||
|
chi_GB: 0.0 # full blocking at GB
|
||||||
|
chi_surface: 1.0 # no blocking at surface
|
||||||
|
|
||||||
|
f_F: 0.0 # no line tension correction
|
||||||
|
sigma_rho_u: 0 # no random distribution
|
||||||
|
|
||||||
|
|
||||||
|
short_range_stress_correction: false
|
||||||
|
rho_significant: 1e6
|
|
@ -981,13 +981,13 @@ module subroutine nonlocal_dotState(Mp, Temperature,timestep, &
|
||||||
gdot !< shear rates
|
gdot !< shear rates
|
||||||
real(pReal), dimension(param(ph)%sum_N_sl) :: &
|
real(pReal), dimension(param(ph)%sum_N_sl) :: &
|
||||||
tau, & !< current resolved shear stress
|
tau, & !< current resolved shear stress
|
||||||
vClimb !< climb velocity of edge dipoles
|
v_climb !< climb velocity of edge dipoles
|
||||||
real(pReal), dimension(param(ph)%sum_N_sl,2) :: &
|
real(pReal), dimension(param(ph)%sum_N_sl,2) :: &
|
||||||
rhoDip, & !< current dipole dislocation densities (screw and edge dipoles)
|
rhoDip, & !< current dipole dislocation densities (screw and edge dipoles)
|
||||||
dLower, & !< minimum stable dipole distance for edges and screws
|
dLower, & !< minimum stable dipole distance for edges and screws
|
||||||
dUpper !< current maximum stable dipole distance for edges and screws
|
dUpper !< current maximum stable dipole distance for edges and screws
|
||||||
real(pReal) :: &
|
real(pReal) :: &
|
||||||
selfDiffusion !< self diffusion
|
D_SD
|
||||||
|
|
||||||
if (timestep <= 0.0_pReal) then
|
if (timestep <= 0.0_pReal) then
|
||||||
plasticState(ph)%dotState = 0.0_pReal
|
plasticState(ph)%dotState = 0.0_pReal
|
||||||
|
@ -1047,7 +1047,7 @@ module subroutine nonlocal_dotState(Mp, Temperature,timestep, &
|
||||||
else isBCC
|
else isBCC
|
||||||
rhoDotMultiplication(:,1:4) = spread( &
|
rhoDotMultiplication(:,1:4) = spread( &
|
||||||
(sum(abs(gdot(:,1:2)),2) * prm%f_ed_mult + sum(abs(gdot(:,3:4)),2)) &
|
(sum(abs(gdot(:,1:2)),2) * prm%f_ed_mult + sum(abs(gdot(:,3:4)),2)) &
|
||||||
* sqrt(stt%rho_forest(:,en)) / prm%i_sl / prm%b_sl, 2, 4)
|
* sqrt(stt%rho_forest(:,en)) / prm%i_sl / prm%b_sl, 2, 4) ! eq. 3.26
|
||||||
endif isBCC
|
endif isBCC
|
||||||
|
|
||||||
forall (s = 1:ns, t = 1:4) v0(s,t) = plasticState(ph)%state0(iV(s,t,ph),en)
|
forall (s = 1:ns, t = 1:4) v0(s,t) = plasticState(ph)%state0(iV(s,t,ph),en)
|
||||||
|
@ -1098,11 +1098,11 @@ module subroutine nonlocal_dotState(Mp, Temperature,timestep, &
|
||||||
|
|
||||||
! thermally activated annihilation of edge dipoles by climb
|
! thermally activated annihilation of edge dipoles by climb
|
||||||
rhoDotThermalAnnihilation = 0.0_pReal
|
rhoDotThermalAnnihilation = 0.0_pReal
|
||||||
selfDiffusion = prm%D_0 * exp(-prm%Q_cl / (kB * Temperature))
|
D_SD = prm%D_0 * exp(-prm%Q_cl / (kB * Temperature)) ! eq. 3.53
|
||||||
vClimb = prm%V_at * selfDiffusion * prm%mu &
|
v_climb = D_SD * prm%mu * prm%V_at &
|
||||||
/ ( kB * Temperature * PI * (1.0_pReal-prm%nu) * (dUpper(:,1) + dLower(:,1)))
|
/ (PI * (1.0_pReal-prm%nu) * (dUpper(:,1) + dLower(:,1)) * kB * Temperature) ! eq. 3.54
|
||||||
forall (s = 1:ns, dUpper(s,1) > dLower(s,1)) &
|
forall (s = 1:ns, dUpper(s,1) > dLower(s,1)) &
|
||||||
rhoDotThermalAnnihilation(s,9) = max(- 4.0_pReal * rhoDip(s,1) * vClimb(s) / (dUpper(s,1) - dLower(s,1)), &
|
rhoDotThermalAnnihilation(s,9) = max(- 4.0_pReal * rhoDip(s,1) * v_climb(s) / (dUpper(s,1) - dLower(s,1)), &
|
||||||
- rhoDip(s,1) / timestep - rhoDotAthermalAnnihilation(s,9) &
|
- rhoDip(s,1) / timestep - rhoDotAthermalAnnihilation(s,9) &
|
||||||
- rhoDotSingle2DipoleGlide(s,9)) ! make sure that we do not annihilate more dipoles than we have
|
- rhoDotSingle2DipoleGlide(s,9)) ! make sure that we do not annihilate more dipoles than we have
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue