# kawin.ShapeFactors

class kawin.ShapeFactor(self)

``````Defines functions for shape factors of needle, plate and cuboidal precipitates
Shape factors involve the following:
Aspect Ratio - ratio of long axis to short axis
Eccentricity - characteristic value of the precipitate shape that depends on the aspect ratio
Equivalent radius factor - correction factor to the radius to give the radius of a sphere with equivalent volume
Kinetic factor - correction factor for the growth rate of the particle
Thermodynamic factor / Area factor - correction factor for the critical driving force/radius for nucleation

For a sphere (or needle and plate precipitates with aspect ratio of 1):
Eccentricity = 0
Kinetic factor = 1
Thermodynamic factor = 1

NOTE:
take in R and output the corresponding factors

take in aspect ratio and output the corresponding factors
``````

kawin.ShapeFactor.setAspectRatio(self, ar)

``````Sets aspect ratio as a function of R (equivalent spherical radius)

Parameters
----------
ar : float or function
Aspect ratio
If function, must take in radius and return aspect ratio
``````

kawin.ShapeFactor._scalarAspectRatioEquation(self, R)

``````Aspect ratio as a function of radius if the aspect ratio is set as a scalar
``````

kawin.ShapeFactor.setSpherical(self, ar = 1)

``````Sets factors for spherical precipitates
``````

kawin.ShapeFactor.setNeedleShape(self, ar = 1)

``````Factors for needle shaped precipitates
``````

kawin.ShapeFactor.setPlateShape(self, ar = 1)

``````Factors for plate shaped precipitates
``````

kawin.ShapeFactor.setCuboidalShape(self, ar = 1)

``````Factors for cuboidal shaped precipitates
``````

``````Radius along the 3 axis to give a spherical volume of 1

Parameters
----------
R : float or array

Returns
-------
3 length array for each axis if R is scalar
n x 3 array if R is an array
``````

``````Equivalent spherical radius factor for generic precipitates

Parameters
----------
R : float or array

Returns
-------
Eq. radius factor with same shape as R
``````

kawin.ShapeFactor.kineticFactor(self, R)

``````Kinetic factor for generic precipitates

Parameters
----------
R : float or array

Returns
-------
Kinetic factor with same shape as R
``````

kawin.ShapeFactor.thermoFactor(self, R)

``````Thermodynamic factor for generic precipitates

Parameters
----------
R : float or array

Returns
-------
Thermodynamic factor with same shape as R
``````

kawin.ShapeFactor.eccentricity(self, ar)

``````Eccentricity given the aspect ratio (for needle and plate shaped precipitates)
``````

``````Equivalent radius for a sphere (returns 1)
``````

``````Equivalent radius for needle shaped precipitate
``````

``````Equivalent radius for plate shaped precipitate
``````

``````Equivalent radius for cuboidal shaped precipitate
``````

``````Returns radius along the 3-axis for a volume of 1
``````

``````Returns radius along the 3-axis for a volume of 1
``````

``````Returns radius along the 3-axis for a volume of 1
``````

``````Returns radius along the 3-axis for a volume of 1
``````

kawin.ShapeFactor._kineticFactorSphere(self, ar)

``````Kinetic factor for a sphere (returns 1)
``````

kawin.ShapeFactor._kineticFactorEquationNeedle(self, ar)

``````Kinetic factor for needle shaped precipitate
``````

kawin.ShapeFactor._kineticFactorEquationPlate(self, ar)

``````Kinetic factor for plate shaped precipitate
``````

kawin.ShapeFactor._kineticFactorEquationCuboidal(self, ar)

``````Kinetic factor for cuboidal shaped precipitate
``````

kawin.ShapeFactor._thermoFactorSphere(self, ar)

``````Thermodynamic factor for a sphere (returns 1)
``````

kawin.ShapeFactor._thermoFactorEquationNeedle(self, ar)

``````Thermodynamic factor for needle shaped precipitate
``````

kawin.ShapeFactor._thermoFactorEquationPlate(self, ar)

``````Thermodynamic factor for plate shaped precipitate
``````

kawin.ShapeFactor._thermoFactorEquationCuboidal(self, ar)

``````Thermodynamic factor for cuboidal shaped precipitate
``````

kawin.ShapeFactor._findRcritScalar(self, RcritSphere, Rmax)

``````Critical radius given a scalar aspect ratio
``````

kawin.ShapeFactor._findRcrit(self, RcritSphere, Rmax)

``````Critical radius given aspect ratio as a function of radius
Found by bisection method
``````