RadCluster
Graph-based cluster dynamics for irradiated materials
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | List of all members
py_utils.loop_energetics.LoopEnergetics Class Reference
+ Collaboration diagram for py_utils.loop_energetics.LoopEnergetics:

Public Member Functions

None __post_init__ (self)
 
 area (self, n, int char)
 
 R_star (self, n, int char)
 
 perimeter (self, n, int char)
 
 E_l_111 (self, n)
 
 E_l_100_core (self, n)
 
 E_l_100_pre (self, n)
 
 Fhat_100 (self, T_K)
 
 E_l_100 (self, n, T_K)
 
 delta_F (self, n, T_K)
 
float calibrate (self, float|None T_star_C=None, float|None n_ref=None)
 
 crossover_temperature (self, n)
 
np.ndarray conversion_mask (self, T_K, int n_max)
 
np.ndarray driving_force_array (self, T_K, int n_max)
 

Public Attributes

 b_111
 
 b_100
 
 T_star_C
 
 n_ref
 
 delta
 
 Fc_111
 
 Fc_100
 
 Fhat_100_0
 

Static Public Attributes

float a = 2.8665
 
float Omega = 11.78
 
float delta = 4.0
 
float Tc = 1185.0
 
float Fhat_111 = 0.28
 
float Fhat_100_0 = None
 
float Fdelta_111 = 0.345
 
float Fc_111 = 0.46
 
float Fdelta_100 = 0.387
 
float Fc_100 = 0.33
 
float T_star_C = 450.0
 
float n_ref = 30.0
 

Protected Member Functions

float _b (self, int char)
 
 _Lln (self, n, int char)
 
 _softening (self, T_K)
 

Detailed Description

½⟨111⟩ / ⟨100⟩ loop energies and the unary-conversion driving force.

Lengths are in ångström and energies in eV.  Defaults are bcc-Fe values
consistent with :mod:`binding_energies`.

Definition at line 61 of file loop_energetics.py.

Member Function Documentation

◆ __post_init__()

None py_utils.loop_energetics.LoopEnergetics.__post_init__ (   self)

Definition at line 93 of file loop_energetics.py.

◆ _b()

float py_utils.loop_energetics.LoopEnergetics._b (   self,
int  char 
)
protected

Definition at line 100 of file loop_energetics.py.

◆ _Lln()

py_utils.loop_energetics.LoopEnergetics._Lln (   self,
  n,
int  char 
)
protected

Definition at line 118 of file loop_energetics.py.

◆ _softening()

py_utils.loop_energetics.LoopEnergetics._softening (   self,
  T_K 
)
protected
(1 − T/T_c)^{1/4}, clipped to ≥ 0 above T_c (Dudarev Eq. 4).

Definition at line 136 of file loop_energetics.py.

◆ area()

py_utils.loop_energetics.LoopEnergetics.area (   self,
  n,
int  char 
)
Platelet area A = n·Ω/b_X  [Ų].

Definition at line 103 of file loop_energetics.py.

◆ calibrate()

float py_utils.loop_energetics.LoopEnergetics.calibrate (   self,
float | None   T_star_C = None,
float | None   n_ref = None 
)
Set F̂_100^0 so that ΔF(n_ref, T*) = 0; return F̂_100^0.

Guarantees ΔF(n_ref, T) < 0 for T < T* and > 0 for T > T* (the
softening is monotonic), i.e. ½⟨111⟩ stable below the crossover and
⟨100⟩ above it.  Requires E_l^111(n_ref) > E_l^100_core(n_ref) (the
⟨100⟩ core alone lies below the ½⟨111⟩ energy), which holds for the
defaults.

Definition at line 153 of file loop_energetics.py.

◆ conversion_mask()

np.ndarray py_utils.loop_energetics.LoopEnergetics.conversion_mask (   self,
  T_K,
int  n_max 
)
Boolean array over sizes 1..n_max where ΔF(n,T) > 0 (⟨100⟩ favoured).

The unary-conversion kernel Γ_uni(n,T) is nonzero only on this support
(and is further gated by the [1 − exp(−ΔF/k_BT)] factor in
``reaction_rates``).  Independent of the ⟨100⟩ population's admissible
size floor, which is the loop-onset size, not this thermodynamic set.

Definition at line 194 of file loop_energetics.py.

◆ crossover_temperature()

py_utils.loop_energetics.LoopEnergetics.crossover_temperature (   self,
  n 
)
Temperature [°C] where ΔF(n,T)=0, or NaN if none in (0, T_c).

Solves F̂_100^0·(1−T/T_c)^{1/4}·E_pre = E_l^111 − E_l^100_core.

Definition at line 179 of file loop_energetics.py.

◆ delta_F()

py_utils.loop_energetics.LoopEnergetics.delta_F (   self,
  n,
  T_K 
)
Unary-conversion driving force ΔF(n,T) [eV]; > 0 favours ⟨100⟩.

Definition at line 149 of file loop_energetics.py.

◆ driving_force_array()

np.ndarray py_utils.loop_energetics.LoopEnergetics.driving_force_array (   self,
  T_K,
int  n_max 
)
ΔF(n,T) over sizes n = 1..n_max  [eV] (0-indexed by size−1).

Definition at line 205 of file loop_energetics.py.

◆ E_l_100()

py_utils.loop_energetics.LoopEnergetics.E_l_100 (   self,
  n,
  T_K 
)
⟨100⟩ loop free energy E_l^100(n,T)  [eV].

Definition at line 144 of file loop_energetics.py.

◆ E_l_100_core()

py_utils.loop_energetics.LoopEnergetics.E_l_100_core (   self,
  n 
)
T-independent core part of the ⟨100⟩ loop energy  [eV].

Definition at line 128 of file loop_energetics.py.

◆ E_l_100_pre()

py_utils.loop_energetics.LoopEnergetics.E_l_100_pre (   self,
  n 
)
⟨100⟩ prelog part *without* the F̂_100(T) factor  [eV·Å/(eV/Å)].

Definition at line 132 of file loop_energetics.py.

◆ E_l_111()

py_utils.loop_energetics.LoopEnergetics.E_l_111 (   self,
  n 
)
½⟨111⟩ loop free energy E_l^111(n)  [eV]  (T-independent here).

Definition at line 122 of file loop_energetics.py.

◆ Fhat_100()

py_utils.loop_energetics.LoopEnergetics.Fhat_100 (   self,
  T_K 
)
⟨100⟩ prelogarithmic factor F̂_100(T)  [eV/Å].

Definition at line 140 of file loop_energetics.py.

◆ perimeter()

py_utils.loop_energetics.LoopEnergetics.perimeter (   self,
  n,
int  char 
)
Loop perimeter: hexagon (½⟨111⟩) or square (⟨100⟩)  [Å].

Definition at line 111 of file loop_energetics.py.

◆ R_star()

py_utils.loop_energetics.LoopEnergetics.R_star (   self,
  n,
int  char 
)
Equivalent-circle radius R*_X = √(A/π)  [Å].

Definition at line 107 of file loop_energetics.py.

Member Data Documentation

◆ a

float py_utils.loop_energetics.LoopEnergetics.a = 2.8665
static

Definition at line 69 of file loop_energetics.py.

◆ b_100

py_utils.loop_energetics.LoopEnergetics.b_100

Definition at line 95 of file loop_energetics.py.

◆ b_111

py_utils.loop_energetics.LoopEnergetics.b_111

Definition at line 94 of file loop_energetics.py.

◆ delta [1/2]

float py_utils.loop_energetics.LoopEnergetics.delta = 4.0
static

Definition at line 71 of file loop_energetics.py.

◆ delta [2/2]

py_utils.loop_energetics.LoopEnergetics.delta

Definition at line 119 of file loop_energetics.py.

◆ Fc_100 [1/2]

float py_utils.loop_energetics.LoopEnergetics.Fc_100 = 0.33
static

Definition at line 82 of file loop_energetics.py.

◆ Fc_100 [2/2]

py_utils.loop_energetics.LoopEnergetics.Fc_100

Definition at line 130 of file loop_energetics.py.

◆ Fc_111 [1/2]

float py_utils.loop_energetics.LoopEnergetics.Fc_111 = 0.46
static

Definition at line 80 of file loop_energetics.py.

◆ Fc_111 [2/2]

py_utils.loop_energetics.LoopEnergetics.Fc_111

Definition at line 126 of file loop_energetics.py.

◆ Fdelta_100

float py_utils.loop_energetics.LoopEnergetics.Fdelta_100 = 0.387
static

Definition at line 81 of file loop_energetics.py.

◆ Fdelta_111

float py_utils.loop_energetics.LoopEnergetics.Fdelta_111 = 0.345
static

Definition at line 79 of file loop_energetics.py.

◆ Fhat_100_0 [1/2]

float py_utils.loop_energetics.LoopEnergetics.Fhat_100_0 = None
static

Definition at line 76 of file loop_energetics.py.

◆ Fhat_100_0 [2/2]

py_utils.loop_energetics.LoopEnergetics.Fhat_100_0

Definition at line 176 of file loop_energetics.py.

◆ Fhat_111

float py_utils.loop_energetics.LoopEnergetics.Fhat_111 = 0.28
static

Definition at line 75 of file loop_energetics.py.

◆ n_ref [1/2]

float py_utils.loop_energetics.LoopEnergetics.n_ref = 30.0
static

Definition at line 91 of file loop_energetics.py.

◆ n_ref [2/2]

py_utils.loop_energetics.LoopEnergetics.n_ref

Definition at line 97 of file loop_energetics.py.

◆ Omega

float py_utils.loop_energetics.LoopEnergetics.Omega = 11.78
static

Definition at line 70 of file loop_energetics.py.

◆ T_star_C [1/2]

float py_utils.loop_energetics.LoopEnergetics.T_star_C = 450.0
static

Definition at line 85 of file loop_energetics.py.

◆ T_star_C [2/2]

py_utils.loop_energetics.LoopEnergetics.T_star_C

Definition at line 97 of file loop_energetics.py.

◆ Tc

float py_utils.loop_energetics.LoopEnergetics.Tc = 1185.0
static

Definition at line 72 of file loop_energetics.py.


The documentation for this class was generated from the following file: