polykin.distributions¤
WeibullNycanderGold_pdf ¤
WeibullNycanderGold_pdf(
k: int | IntArrayLike, v: float, r: float
) -> float | FloatArray
Weibull, Nycander and Gold's analytical chain-length distribution for living polymerization with different initiation and propagation rate coefficients.
For a living polymerization with only initiation and propagation (i.e., constant number of chains), the number fraction of chains of length \(k\) can be computed in two steps. First, the number fraction of unreacted initiator molecules, \(p_0=p(0)\), is found by solving the equation:
where \(v\) denotes the number-average degree of polymerization of all chains, including unreacted initiator molecules, and \(r=k_p/k_i\) is the ratio of the propagation and initiation rate coefficients. Then, the number fraction of chains with \(k \ge 1\) monomer units can be evaluated by one of two expressions, depending on the value of \(r\). For \(r > 1\):
where \(a = (1-r) \ln{p_0}\) and \(P(k,a) = \gamma(k,a)/\Gamma(k)\) denotes the regularized lower incomplete gamma function. For \(r < 1\):
This branched analytical solution has an obvious singularity at \(r=1\); in that case, the solution reduces to the well-known Poisson distribution:
valid for \(k \ge 0\).
Note
- The solution is numerically unstable in certain domains, namely for \(r \to 1^{-}\) and \(r \to 0\), and also for \(k \gg v\). This is an intrinsic feature of the analytical solution.
- For \(r < 1\), the calculation is not vectorized. Therefore, performance will be worse in this regime.
- For \(|r-1| < 10^{-3}\), the algorithm automatically switches to the Poisson distribution. Some numerical discontinuity at this boundary is to be expected.
References
- Weibull, B.; Nycander, E.. "The Distribution of Compounds Formed in the Reaction between Ethylene Oxide and Water, Ethanol, Ethylene Glycol, or Ethylene Glycol Monoethyl Ether." Acta Chemica Scandinavica 8 (1954): 847-858.
- Gold, L. "Statistics of polymer molecular size distribution for an invariant number of propagating chains." The Journal of Chemical Physics 28.1 (1958): 91-99.
| PARAMETER | DESCRIPTION |
|---|---|
k
|
Chain length (>=0).
TYPE:
|
v
|
Number-average degree of polymerization considering chains with zero length.
TYPE:
|
r
|
Ratio of propagation and initiation rate coefficients.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
float | FloatArray
|
Number probability density. |
Examples:
Compute the fraction of chains with lengths 0 to 2 for a system with \(r=5\) and \(v=1\).
>>> from polykin.distributions import WeibullNycanderGold_pdf
>>> WeibullNycanderGold_pdf([0, 1, 2], 1.0, 5.0)
array([0.58958989, 0.1295864 , 0.11493254])
Source code in src/polykin/distributions/gold.py
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | |