153 lines
3.1 KiB
Python
153 lines
3.1 KiB
Python
# pylint: skip-file
|
|
import numpy as np
|
|
|
|
import debye_bec.devices.mo1_bragg.mo1_bragg_utils as utils
|
|
|
|
|
|
def test_compute_spline():
|
|
p, v, dt = utils.compute_spline(
|
|
low_deg=10, high_deg=12, p_kink=50, e_kink_deg=11, scan_time=0.5
|
|
)
|
|
|
|
rtol = 1e-6
|
|
atol = 1e-3
|
|
p_desired = [
|
|
9.98,
|
|
9.98376125,
|
|
9.99479,
|
|
10.01270375,
|
|
10.03712,
|
|
10.06765625,
|
|
10.10393,
|
|
10.14555875,
|
|
10.19216,
|
|
10.24335125,
|
|
10.29875,
|
|
10.35797375,
|
|
10.42064,
|
|
10.48636625,
|
|
10.55477,
|
|
10.62546875,
|
|
10.69808,
|
|
10.77222125,
|
|
10.84751,
|
|
10.92356375,
|
|
11.0,
|
|
11.07643625,
|
|
11.15249,
|
|
11.22777875,
|
|
11.30192,
|
|
11.37453125,
|
|
11.44523,
|
|
11.51363375,
|
|
11.57936,
|
|
11.64202625,
|
|
11.70125,
|
|
11.75664875,
|
|
11.80784,
|
|
11.85444125,
|
|
11.89607,
|
|
11.93234375,
|
|
11.96288,
|
|
11.98729625,
|
|
12.00521,
|
|
12.01623875,
|
|
12.02,
|
|
]
|
|
v_desired = [
|
|
0.0,
|
|
1.50156441,
|
|
2.35715667,
|
|
2.90783907,
|
|
3.29035796,
|
|
3.57019636,
|
|
3.78263174,
|
|
3.9483388,
|
|
4.08022441,
|
|
4.18675043,
|
|
4.27368333,
|
|
4.34507577,
|
|
4.40384627,
|
|
4.45213618,
|
|
4.49153736,
|
|
4.52324148,
|
|
4.54814006,
|
|
4.5668924,
|
|
4.57997194,
|
|
4.58769736,
|
|
4.59025246,
|
|
4.58769736,
|
|
4.57997194,
|
|
4.5668924,
|
|
4.54814006,
|
|
4.52324148,
|
|
4.49153736,
|
|
4.45213618,
|
|
4.40384627,
|
|
4.34507577,
|
|
4.27368333,
|
|
4.18675043,
|
|
4.08022441,
|
|
3.9483388,
|
|
3.78263174,
|
|
3.57019636,
|
|
3.29035796,
|
|
2.90783907,
|
|
2.35715667,
|
|
1.50156441,
|
|
0.0,
|
|
]
|
|
dt_desired = [
|
|
0.0,
|
|
4.34081063,
|
|
5.57222438,
|
|
6.73882688,
|
|
7.84061813,
|
|
8.87759812,
|
|
9.84976688,
|
|
10.75712437,
|
|
11.59967063,
|
|
12.37740563,
|
|
13.09032937,
|
|
13.73844188,
|
|
14.32174313,
|
|
14.84023312,
|
|
15.29391188,
|
|
15.68277937,
|
|
16.00683562,
|
|
16.26608063,
|
|
16.46051438,
|
|
16.59013687,
|
|
16.65494813,
|
|
16.65494813,
|
|
16.59013687,
|
|
16.46051438,
|
|
16.26608063,
|
|
16.00683562,
|
|
15.68277938,
|
|
15.29391188,
|
|
14.84023312,
|
|
14.32174313,
|
|
13.73844187,
|
|
13.09032938,
|
|
12.37740562,
|
|
11.59967063,
|
|
10.75712437,
|
|
9.84976687,
|
|
8.87759813,
|
|
7.84061812,
|
|
6.73882688,
|
|
5.57222437,
|
|
4.34081063,
|
|
]
|
|
|
|
np.testing.assert_allclose(p, p_desired, rtol, atol)
|
|
np.testing.assert_allclose(v, v_desired, rtol, atol)
|
|
np.testing.assert_allclose(dt, dt_desired, rtol, atol)
|
|
|
|
assert utils.SAFETY_FACTOR == 0.025
|
|
assert utils.N_SAMPLES == 41
|
|
assert utils.DEGREE_SPLINE == 3
|
|
assert utils.TIME_COMPENSATE_SPLINE == 0.0062
|
|
assert utils.POSITION_COMPONSATION == 0.02
|