added chirp to Gaussian pulses

This commit is contained in:
2024-04-29 09:44:04 +02:00
parent b32d5e00c9
commit 376abf628f
3 changed files with 42 additions and 10 deletions

View File

@@ -9,3 +9,26 @@ def test_pulse_envelope():
assert np.trapz(sc.pulse.pulse_envelope(t, 10, energy=3) ** 2, x=t) == pytest.approx(3)
assert (sc.pulse.pulse_envelope(t, 10, peak_power=3) ** 2).max() == pytest.approx(3)
def test_chirp():
t = np.linspace(-10, 10, 1024)
f = sc.pulse.gaussian_pulse(t, 1, 1, chirp=1.0)
c = np.unwrap(np.angle(f))
c -= c.min()
assert pytest.approx(c, rel=1e-2, abs=1e-4) == t**2
params = sc.Parameters(
time_window=20,
t_num=1024,
peak_power=1,
wavelength=800e-9,
shape="gaussian",
chirp=1,
t0=1,
quantum_noise=False,
)
t2, f2 = params.compute("t", "field_0")
c2 = np.unwrap(np.angle(f2))
c2 -= c2.min()
assert pytest.approx(c2, rel=1e-2, abs=1e-4) == t2**2