Refactor baskets to use parameters

This commit is contained in:
2020-07-13 15:49:15 -05:00
parent a1d240f586
commit b3545e3f1b
6 changed files with 152 additions and 13 deletions

View File

@@ -0,0 +1,24 @@
import pynam.dielectric
import numpy as np
import pytest
from pynam.baskets import CalculationParams
def get_common_lindhard_dielectric():
params = CalculationParams(omega=1e9, omega_p=3.5e15, tau=1e-14, v_f=2e6)
return pynam.dielectric.get_lindhard_dielectric(params)
@pytest.mark.parametrize("test_input,expected", [
(10, -1222.185185062794 + 1.2249999998777178e8j),
(1000, 16924.14814718176 + 1.2250000020552777e8j),
(1e8, 83.687499999706 + 0.00022417398943752126j)
])
def test_lindhard_dielectric(test_input, expected):
eps_to_test = get_common_lindhard_dielectric()
np.testing.assert_almost_equal(
eps_to_test(test_input), expected,
decimal=6, err_msg='b function is off'
)

View File

@@ -1,6 +1,7 @@
import pytest
import numpy as np
import pynam.dielectric.nam_dielectric_coefficient_approximator
from pynam.baskets import CalculationParams
@pytest.mark.parametrize("test_input,expected", [
@@ -14,7 +15,6 @@ import pynam.dielectric.nam_dielectric_coefficient_approximator
)
])
def test_dedimensionalise_parameters(test_input, expected):
actual_parameters = pynam.dielectric.nam_dielectric_coefficient_approximator.get_dedimensionalised_parameters(
*test_input)
@@ -47,12 +47,11 @@ def test_dedimensionalise_parameters(test_input, expected):
# (a, b, c, d, u_l)
# )
(
(1e9, 1e16, 1e-14, 2e6, 0.8e11, 1e11, 3e8),
(3.789672906817707e10, 3.257134605133221e8, 2.655709897616547e18, 2.15e16, 7.007759408279888e7)
(1e9, 1e16, 1e-14, 2e6, 0.8e11, 1e11, 3e8),
(3.789672906817707e10, 3.257134605133221e8, 2.655709897616547e18, 2.15e16, 7.007759408279888e7)
)
])
def test_nam_coefficients(test_input, expected):
actual_coefficients = pynam.dielectric.nam_dielectric_coefficient_approximator.get_nam_dielectric_coefficients(
*test_input)
@@ -81,14 +80,14 @@ def test_nam_coefficients(test_input, expected):
def test_nam_eps():
u_c = 1e15
eps_to_test = pynam.dielectric.nam_dielectric_coefficient_approximator.get_nam_dielectric_coefficients(
1e9,
1e16,
1e-14,
2e6,
0.8e11,
1e11,
3e8).eps(u_c)
eps_to_test = pynam.dielectric.nam_dielectric_coefficient_approximator.get_nam_dielectric(u_c, CalculationParams(
omega=1e9,
omega_p=3.54491e15,
tau=1e-14,
v_f=2e6,
t_rel=0.8,
t_c=1e11
))
np.testing.assert_allclose(
eps_to_test(10), -3.789672906817707e10 + 3.257134605133221e8j,