Skip to content

Commit 539c5a8

Browse files
committed
add einstein tests
1 parent dda83d3 commit 539c5a8

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

tests/test_einstein.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import unittest
2+
from util import BurnManTest
3+
4+
from burnman.eos import einstein
5+
6+
7+
class Einstein(BurnManTest):
8+
def test_theta_derivatives(self):
9+
T = 300.0
10+
debye_T = 1100.0
11+
n = 2.0
12+
13+
# Numerical derivatives
14+
delta = 1e-6
15+
dF_dTheta_num = (
16+
einstein.helmholtz_energy(T, debye_T + delta, n)
17+
- einstein.helmholtz_energy(T, debye_T - delta, n)
18+
) / (2 * delta)
19+
d2F_dTheta2_num = (
20+
einstein.dhelmholtz_dTheta(T, debye_T + delta, n)
21+
- einstein.dhelmholtz_dTheta(T, debye_T - delta, n)
22+
) / (2 * delta)
23+
dS_dTheta_num = (
24+
einstein.entropy(T, debye_T + delta, n)
25+
- einstein.entropy(T, debye_T - delta, n)
26+
) / (2 * delta)
27+
28+
# Analytical derivatives
29+
dF_dTheta_analytical = einstein.dhelmholtz_dTheta(T, debye_T, n)
30+
d2F_dTheta2_analytical = einstein.d2helmholtz_dTheta2(T, debye_T, n)
31+
dS_dTheta_analytical = einstein.dentropy_dTheta(T, debye_T, n)
32+
self.assertFloatEqual(dF_dTheta_num, dF_dTheta_analytical)
33+
self.assertFloatEqual(d2F_dTheta2_num, d2F_dTheta2_analytical)
34+
self.assertFloatEqual(dS_dTheta_num, dS_dTheta_analytical)
35+
36+
37+
if __name__ == "__main__":
38+
unittest.main()

0 commit comments

Comments
 (0)