|
| 1 | +# Stability and critical points |
| 2 | + |
| 3 | +The implementation of critical points in $\text{FeO}_\text{s}$ follows the algorithm by [Michelsen and Mollerup](https://tie-tech.com/new-book-release/). A necessary condition for stability is the positive-definiteness of the quadratic form ([Heidemann and Khalil 1980](https://doi.org/10.1002/aic.690260510)) |
| 4 | + |
| 5 | +$$\sum_{ij}\left(\frac{\partial^2 A}{\partial N_i\partial N_j}\right)_{T,V}\Delta N_i\Delta N_j$$ |
| 6 | + |
| 7 | +The **spinodal** or limit of stability consists of the points for which the quadratic form is positive semi-definite. Following Michelsen and Mollerup, the matrix $M$ can be defined as |
| 8 | + |
| 9 | +$$M_{ij}=\sqrt{z_iz_j}\left(\frac{\partial^2\beta A}{\partial N_i\partial N_j}\right)$$ |
| 10 | + |
| 11 | +with the molar compositon $z_i$. Further, the variable $s$ is introduced that acts on the mole numbers $N_i$ via |
| 12 | + |
| 13 | +$$N_i=z_i+su_i\sqrt{z_i}$$ |
| 14 | + |
| 15 | +with $u_i$ the elements of the eigenvector of $M$ corresponding to the smallest eigenvector $\lambda_1$. Then, the limit of stability can be expressed as |
| 16 | + |
| 17 | +$$c_1=\left.\frac{\partial^2\beta A}{\partial s^2}\right|_{s=0}=\sum_{ij}u_iu_jM_{ij}=\lambda_1=0$$ |
| 18 | + |
| 19 | +A **critical point** is defined as a stable point on the limit of stability. This leads to the second criticality condition |
| 20 | + |
| 21 | +$$c_2=\left.\frac{\partial^3\beta A}{\partial s^3}\right|_{s=0}=0$$ |
| 22 | + |
| 23 | +The derivatives of the Helmholtz energy can be calculated efficiently in a single evaluation using [generalized hyper-dual numbers](https://doi.org/10.3389/fceng.2021.758090). The following methods of `State` are available to determine spinodal or critical points for different specifications: |
| 24 | + |
| 25 | +||specified|unkonwns|equations| |
| 26 | +|-|-|-|-| |
| 27 | +|`spinodal`|$T,N_i$|$\rho$|$c_1(T,\rho,N_i)=0$| |
| 28 | +|`critical_point`|$N_i$|$T,\rho$|$c_1(T,\rho,N_i)=0$<br/>$c_2(T,\rho,N_i)=0$| |
| 29 | +|`critical_point_binary_t`|$T$|$\rho_1,\rho_2$|$c_1(T,\rho_1,\rho_2)=0$<br/>$c_2(T,\rho_1,\rho_2)=0$| |
| 30 | +|`critical_point_binary_p`|$p$|$T,\rho_1,\rho_2$|$c_1(T,\rho_1,\rho_2)=0$<br/>$c_2(T,\rho_1,\rho_2)=0$<br/>$p(T,\rho_1,\rho_2)=p$| |
0 commit comments