Skip to content

Commit 124098c

Browse files
authored
Theory guide: critical points (#209)
1 parent a361e55 commit 124098c

2 files changed

Lines changed: 31 additions & 0 deletions

File tree

docs/theory/eos/critical_points.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
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$|

docs/theory/eos/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ This section explains the thermodynamic principles and algorithms used for equat
66
:maxdepth: 1
77
88
properties
9+
critical_points
910
```
1011

1112
It is currently still under construction. You can help by [contributing](https://github.com/feos-org/feos/issues/70).

0 commit comments

Comments
 (0)