"""Test module of fdints."""
from numpy import array, isclose, pi, sqrt
from ..fdints import (
fd0h,
fd1h,
fd2h,
fd3h,
fd4h,
fd5h,
fd6h,
fd7h,
fd8h,
fd9h,
fd10h,
fd11h,
fd12h,
fd13h,
fd14h,
fd15h,
fd16h,
fd17h,
fd18h,
fd19h,
fd20h,
fd21h,
fdm1h,
fdm3h,
fdm5h,
fdm7h,
fdm9h,
fermidirac_integral,
invfd1h,
)
ETAS = array([-3.0, -1.0, 1.0, 3.5, 7.5, 15.0, 30.0, 60.0])
ORDERS = array(
[
-9 / 2,
-7 / 2,
-5 / 2,
-3 / 2,
-1 / 2,
0.0,
0.5,
1.0,
1.5,
2.0,
2.5,
3.0,
3.5,
4.0,
4.5,
5.0,
5.5,
6.0,
6.5,
7.0,
7.5,
8.0,
8.5,
9.0,
9.5,
10.0,
10.5,
]
)
[docs]def test_invfd1h():
"""Test the calculation of eta."""
# Values taken from Tutorial Notebooks
ne = 1.62e32 # [N/m^3]
lambda_deB = 1.957093e-11 # [m]
u = lambda_deB**3 * ne * sqrt(pi) / 4.0
eta = invfd1h(u)
assert isclose(eta, -0.28604631569655325)
[docs]def test_fdm9h():
results = array(
[
7.240015921650838e-03,
-2.442145618002432e-02,
1.647586588274429e-02,
1.029804636049462e-03,
-4.060975578007697e-04,
-2.508232176525567e-05,
-1.990373968491516e-06,
-1.720097159754510e-07,
]
)
for eta, rs in zip(ETAS, results):
fd = fdm9h(eta)
assert isclose(fd, rs)
[docs]def test_fdm7h():
results = array(
[
-3.545676388861523e-02,
-2.657136470551858e-02,
9.517508954351293e-02,
-1.294450181808404e-02,
-3.613853399968076e-03,
-4.935123501719669e-04,
-8.248542579808003e-05,
-1.440219364000877e-05,
]
)
for eta, rs in zip(ETAS, results):
fd = fdm7h(eta)
assert isclose(fd, rs)
[docs]def test_fdm5h():
results = array(
[
1.024984312340880e-01,
3.492797177355019e-01,
2.502420253443888e-02,
-1.233961959341110e-01,
-3.760442897358426e-02,
-1.182183957963569e-02,
-4.085597149537218e-03,
-1.436908659724343e-03,
]
)
for eta, rs in zip(ETAS, results):
fd = fdm5h(eta)
assert isclose(fd, rs)
[docs]def test_fdm3h():
results = array(
[
-1.647804107730068e-01,
-8.394844152932343e-01,
-1.580053773447138e00,
-1.176280028545422e00,
-7.505784586840675e-01,
-5.193758746338315e-01,
-3.656546825930124e-01,
-2.582876225442183e-01,
]
)
for eta, rs in zip(ETAS, results):
fd = fdm3h(eta)
assert isclose(fd, rs)
[docs]def test_fdm1h():
results = array(
[
8.525970123326887e-02,
5.211503831079912e-01,
1.820411357146962e00,
3.591334824651103e00,
5.432873628864860e00,
7.731513057173728e00,
1.094942130440661e01,
1.549016158518217e01,
]
)
for eta, rs in zip(ETAS, results):
fd = fdm1h(eta)
assert isclose(fd, rs)
[docs]def test_fd0h():
results = array(
[
4.858735157374205e-02,
3.132616875182229e-01,
1.313261687518223e00,
3.529750418272620e00,
7.500552931475361e00,
1.500000030590227e01,
3.000000000000009e01,
6.000000000000000e01,
]
)
for eta, rs in zip(ETAS, results):
fd = fd0h(eta)
assert isclose(fd, rs)
[docs]def test_fd1h():
results = array(
[
4.336636755041557e-02,
2.905008961699176e-01,
1.396375280666564e00,
4.837065897622567e00,
1.399909743357599e01,
3.894304660093270e01,
1.096948183372665e02,
3.099448732700438e02,
]
)
for eta, rs in zip(ETAS, results):
fd = fd1h(eta)
assert isclose(fd, rs)
[docs]def test_fd2h():
results = array(
[
4.918072033882423e-02,
3.386479964034522e-01,
1.806286070444774e00,
7.739961645298564e00,
2.976938105893487e01,
1.141449337609459e02,
4.516449340668481e02,
1.801644934066848e03,
]
)
for eta, rs in zip(ETAS, results):
fd = fd2h(eta)
assert isclose(fd, rs)
[docs]def test_fd3h():
results = array(
[
6.561173880637544e-02,
4.608488062901017e-01,
2.661682624732004e00,
1.365420168610915e01,
6.833812856132876e01,
3.581122477085265e02,
1.985311377746038e03,
1.117330291388515e04,
]
)
for eta, rs in zip(ETAS, results):
fd = fd3h(eta)
assert isclose(fd, rs)
[docs]def test_fd4h():
results = array(
[
9.896340290959225e-02,
7.051297585956156e-01,
4.328331225625401e00,
2.586637394510408e01,
1.653001170950006e02,
1.174348022617251e03,
9.098696044010894e03,
7.219739208802179e04,
]
)
for eta, rs in zip(ETAS, results):
fd = fd4h(eta)
assert isclose(fd, rs)
[docs]def test_fd5h():
results = array(
[
1.647403937322051e-01,
1.185968175443467e00,
7.626535355005596e00,
5.186981146923186e01,
4.158852838077063e02,
3.974487881941656e03,
4.292925758509993e04,
4.799485008429281e05,
]
)
for eta, rs in zip(ETAS, results):
fd = fd5h(eta)
assert isclose(fd, rs)
[docs]def test_fd6h():
results = array(
[
2.978018784709205e-01,
2.159839661017986e00,
1.438935649349364e01,
1.091505015453568e02,
1.079959324343085e03,
1.377794488724111e04,
2.069526863744442e05,
3.257776652315915e06,
]
)
for eta, rs in zip(ETAS, results):
fd = fd6h(eta)
assert isclose(fd, rs)
[docs]def test_fd7h():
results = array(
[
5.778455375087482e-01,
4.213264071926359e00,
2.883131841599375e01,
2.396666058159899e02,
2.880213529254126e03,
4.868423690758540e04,
1.014417201742514e06,
2.246912083856067e07,
]
)
for eta, rs in zip(ETAS, results):
fd = fd7h(eta)
assert isclose(fd, rs)
[docs]def test_fd8h():
results = array(
[
1.193042623617263e00,
8.732138288905944e00,
6.096945037216665e01,
5.469755138110205e02,
7.862865080220864e03,
1.747634735470307e05,
5.039016606494085e06,
1.569439504883058e08,
]
)
for eta, rs in zip(ETAS, results):
fd = fd8h(eta)
assert isclose(fd, rs)
[docs]def test_fd9h():
results = array(
[
2.603141667351258e00,
1.910506806522883e01,
1.354192084601931e02,
1.293868145709697e03,
2.192168139830375e04,
6.358400491901155e05,
2.530631914465860e07,
1.107558362743446e09,
]
)
for eta, rs in zip(ETAS, results):
fd = fd9h(eta)
assert isclose(fd, rs)
[docs]def test_fd10h():
results = array(
[
5.969820680488160e00,
4.389948426765305e01,
3.146680541843087e02,
3.165640736730491e03,
6.231539440840174e04,
2.340617854292586e06,
1.282644990485829e08,
7.883001082246370e09,
]
)
for eta, rs in zip(ETAS, results):
fd = fd10h(eta)
assert isclose(fd, rs)
[docs]def test_fd11h():
results = array(
[
1.432510773316834e01,
1.054873701421355e02,
7.624071301487685e02,
7.997774066508814e03,
1.804014784983563e05,
8.706355279385276e06,
6.552423229390368e08,
5.651215902520975e10,
]
)
for eta, rs in zip(ETAS, results):
fd = fd11h(eta)
assert isclose(fd, rs)
[docs]def test_fd12h():
results = array(
[
3.583278660538172e01,
2.641275790125708e02,
1.920621491104163e03,
2.083671641045758e04,
5.314330295476191e05,
3.269159748061942e07,
3.370296449774471e09,
4.076323551443539e11,
]
)
for eta, rs in zip(ETAS, results):
fd = fd12h(eta)
assert isclose(fd, rs)
[docs]def test_fd13h():
results = array(
[
9.313870302507033e01,
6.870205993243595e02,
5.017993045210247e03,
5.591696834104130e04,
1.592092071043047e06,
1.238219532435030e08,
1.744018597946511e10,
2.956078846984141e12,
]
)
for eta, rs in zip(ETAS, results):
fd = fd13h(eta)
assert isclose(fd, rs)
[docs]def test_fd14h():
results = array(
[
2.508781184723398e02,
1.851484886980967e03,
1.356711459868958e04,
1.544073285162487e05,
4.848712724195143e06,
4.727830603631850e08,
9.073325961350024e10,
2.153759508773864e13,
]
)
for eta, rs in zip(ETAS, results):
fd = fd14h(eta)
assert isclose(fd, rs)
[docs]def test_fd15h():
results = array(
[
6.986360585012507e02,
5.157783274159222e03,
3.788356128997377e04,
4.383205315095304e05,
1.500759095117367e07,
1.818973214398967e09,
4.743320667852189e11,
1.575715160529580e14,
]
)
for eta, rs in zip(ETAS, results):
fd = fd15h(eta)
assert isclose(fd, rs)
[docs]def test_fd16h():
results = array(
[
2.007219646720646e03,
1.482234071460382e04,
1.090540532961069e05,
1.277985060309017e06,
4.720135119144394e07,
7.049084121468240e09,
2.490622378495212e12,
1.157079836302754e15,
]
)
for eta, rs in zip(ETAS, results):
fd = fd16h(eta)
assert isclose(fd, rs)
[docs]def test_fd17h():
results = array(
[
5.938814014650166e03,
4.386311784955336e04,
3.231138561347001e05,
3.823781896168859e06,
1.508420732678749e08,
2.750798130249417e10,
1.313056860664467e13,
8.524941900028644e15,
]
)
for eta, rs in zip(ETAS, results):
fd = fd17h(eta)
assert isclose(fd, rs)
[docs]def test_fd18h():
results = array(
[
1.806585371781600e04,
1.334484320310655e05,
9.839000912153142e05,
1.173074963158710e07,
4.897833845586907e08,
1.080715538012005e11,
6.948254776893934e13,
6.299767361155796e16,
]
)
for eta, rs in zip(ETAS, results):
fd = fd18h(eta)
assert isclose(fd, rs)
[docs]def test_fd19h():
results = array(
[
5.642067020436533e04,
4.168044535669152e05,
3.074986313749142e06,
3.686910477586340e07,
1.615856749616024e09,
4.273879330919564e11,
3.689532972232714e14,
4.668155109009914e17,
]
)
for eta, rs in zip(ETAS, results):
fd = fd19h(eta)
assert isclose(fd, rs)
[docs]def test_fd20h():
results = array(
[
1.806629241770091e05,
1.334722123421517e06,
9.851381090333600e06,
1.186176377953597e08,
5.416646367586654e09,
1.701154132363905e12,
1.965505543248569e15,
3.467790683237043e18,
]
)
for eta, rs in zip(ETAS, results):
fd = fd20h(eta)
assert isclose(fd, rs)
[docs]def test_fd21h():
results = array(
[
5.924272114982210e05,
4.376998997938984e06,
3.231634166275790e07,
3.903364896044762e08,
1.845016484905844e10,
6.814687278457835e12,
1.050272666569349e16,
2.582022264434903e19,
]
)
for eta, rs in zip(ETAS, results):
fd = fd21h(eta)
assert isclose(fd, rs)
[docs]def test_fermidirac_integral():
results = array(
[
7.240015921650838e-03,
-3.545676388861523e-02,
1.024984312340880e-01,
-1.647804107730068e-01,
8.525970123326887e-02,
4.858735157374205e-02,
4.336636755041557e-02,
4.918072033882423e-02,
6.561173880637544e-02,
9.896340290959225e-02,
1.647403937322051e-01,
2.978018784709205e-01,
5.778455375087482e-01,
1.193042623617263e00,
2.603141667351258e00,
5.969820680488160e00,
1.432510773316834e01,
3.583278660538172e01,
9.313870302507033e01,
2.508781184723398e02,
6.986360585012507e02,
2.007219646720646e03,
5.938814014650166e03,
1.806585371781600e04,
5.642067020436533e04,
1.806629241770091e05,
5.924272114982210e05,
]
)
for ord, res in zip(ORDERS, results):
fd = fermidirac_integral(p=ord, eta=ETAS[0])
isclose(fd, res)