kawin.EffectiveDiffusion
class kawin.EffectiveDiffusionFunctions(self)
Stores variables and functions to calculate effective diffusion distance
kawin.EffectiveDiffusionFunctions.setupInterpolation(self, n = 250, lmin = -5, lmax = 1)
Sets up interpolation points for effective diffusion distance
Parameters
----------
n : int
Number of points to interpolate between, two endpoints will be added
at supersaturation of 0 and 1
lmin : float
Minimum lambda value in log scale
lmax : float
Maximum lambda value in log scale
kawin.EffectiveDiffusionFunctions.effectiveDiffusionDistance(self, supersaturation)
Effective diffusion distance given supersaturation
This gives a constant to be multiplied by the particle radius
The effective diffusion distance is given by
eps = Q/2*lambda
Where Q is the super saturation and lambda is given by
Q = 2*lambda^2 - 2*lambda^3 * sqrt(pi) * exp(lambda^2) * (1 - erf(lambda))
Parameters
----------
supersaturation : float or array of floats
(x - x_P) / (x_M - x_P) where x is matrix composition, x_M is parent composition and x_P is precipitate composition
Returns
-------
Effective diffusion distance (eps) to be used as (eps*R) in the growth rate equation
kawin.EffectiveDiffusionFunctions.lambdaLow(self, supersaturation)
kawin.EffectiveDiffusionFunctions.lambdaHigh(self, supersaturation)
kawin.EffectiveDiffusionFunctions.effectiveDiffusionDistanceApprox(self, supersaturation)
Effective diffusion distance given supersaturation
This gives a constant to be multiplied by the particle radius
When Q approaches 1, this equation oscillates due to floating point errors
Therefore, interpolation is performed between the two limits (Q -> 0 and Q -> 1)
This may be removed in later versions
Parameters
----------
supersaturation : float or array of floats
(x - x_P) / (x_M - x_P) where x is matrix composition, x_M is parent composition and x_P is precipitate composition
Returns
-------
Effective diffusion distance (eps) to be used as (eps*R) in the growth rate equation
kawin.EffectiveDiffusionFunctions.noDiffusionDistance(self, supersaturation)
If neglecting the effective diffusion distance, return 1
Parameters
----------
supersaturation : float or array of floats
(x - x_P) / (x_M - x_P) where x is matrix composition, x_M is parent composition and x_P is precipitate composition
Returns
-------
1 or array of 1s