Ejemplo n.º 1
0
def test_left_right_limits_are_equal(temps_left, temps_right, vols):
    with set_up(temps_left, vols) as (calc1, (vv, tt)):
        left_C_V = calc1.C_V
        left_C_P = calc1.C_P
        left_entropy = calc1.S
    with set_up(temps_right, vols) as (calc2, (vv, tt)):
        right_C_V = calc2.C_V
        right_C_P = calc2.C_P
        right_entropy = calc2.S
    np.testing.assert_allclose(left_C_V, right_C_V)
    np.testing.assert_allclose(left_C_P, right_C_P)
    np.testing.assert_allclose(left_entropy, right_entropy)
Ejemplo n.º 2
0
 def test_F_potential(self, temps, vols):
     with set_up(temps, vols) as (calc, (vv, tt)):
         expected = tt * np.log(1/(g*vv) * (2*np.pi/tt)**(3/2)) - tt \
                    + np.pi**(3/2) / (2*g*vv*tt**(1/2))
         np.testing.assert_allclose(calc.F, expected)
Ejemplo n.º 3
0
 def test_chemical_potential(self, temps, vols):
     with set_up(temps, vols) as (calc, (vv, tt)):
         expected = tt * np.log(1 / (g * vv) * (2 * np.pi / tt)**(3 / 2))
         np.testing.assert_allclose(calc.mu, expected)
Ejemplo n.º 4
0
 def test_energy(self, temps, vols):
     with set_up(temps, vols) as (calc, (vv, tt)):
         expected = 3 / 2 * tt
         np.testing.assert_allclose(calc.E, expected)
Ejemplo n.º 5
0
 def test_pressure(self, temps, vols):
     with set_up(temps, vols) as (calc, (vv, tt)):
         expected = tt / vv
         np.testing.assert_allclose(calc.P, expected)
Ejemplo n.º 6
0
 def test_energy(self, temperatures, volumes):
     with set_up(temperatures, volumes) as (calculator, (vv, tt)):
         # According to the original article
         expected = A * vv**(-2 / 3) + beta / 2 * tt**2 * vv**(2 / 3)
         np.testing.assert_allclose(calculator.E, expected)
Ejemplo n.º 7
0
 def test_chemical_potential(self, temperatures, volumes):
     with set_up(temperatures, volumes) as (calculator, (vv, tt)):
         # According to the original article
         eps_F = (3 * np.pi**2 / (np.sqrt(2) * g * vv))**(2 / 3)
         expected = eps_F * (1 - np.pi**2 / 12 * (tt / eps_F)**2)
         np.testing.assert_allclose(calculator.mu, expected)
Ejemplo n.º 8
0
 def test_F_potential(self, temps, vols):
     with set_up(temps, vols) as (calculator, (vv, tt)):
         expected = A * vv**(-2 / 3) - beta / 2 * tt**2 * vv**(2 / 3)
         np.testing.assert_allclose(calculator.F, expected)
Ejemplo n.º 9
0
 def test_C_S(self, temps, vols):
     with set_up(temps, vols) as (calc, (vv, tt)):
         expected = np.sqrt(10 / 9 * A * vv**(-2 / 3) +
                            5 / 9 * beta * tt**2 * vv**(2 / 3))
         np.testing.assert_allclose(calc.C_S, expected)
Ejemplo n.º 10
0
 def test_C_P(self, temps, vols):
     with set_up(temps, vols) as (calc, (vv, tt)):
         expected = beta * tt * vv**(2 / 3)
         np.testing.assert_allclose(calc.C_P, expected)
Ejemplo n.º 11
0
 def test_entropy(self, temps, vols):
     with set_up(temps, vols) as (calc, (vv, tt)):
         expected = 5 / 2 - calc.mu / tt
         np.testing.assert_allclose(calc.S, expected)
Ejemplo n.º 12
0
 def test_entropy(self, temps, vols):
     with set_up(temps, vols) as (calculator, (vv, tt)):
         expected = beta * tt * vv**(2 / 3)
         np.testing.assert_allclose(calculator.S, expected)
Ejemplo n.º 13
0
 def test_C_V(self, temps, vols):
     with set_up(temps, vols) as (calc, (vv, tt)):
         expected = 3 / 2 * np.ones_like(tt)
         np.testing.assert_allclose(calc.C_V, expected)
Ejemplo n.º 14
0
 def test_C_T(self, temps, vols):
     with set_up(temps, vols) as (calc, (vv, tt)):
         expected = np.sqrt(tt)
         np.testing.assert_allclose(calc.C_T, expected)