qiu_classical_simulation.wave_optics.classical_numerics
¶
Classical references of a lens experiment: split-step numerics and thin lens analytics.
Functions:
-
propagate_exactly–Return a field after a free propagation over a distance in vacuum.
-
classical_numerics_simulation–Return the exact split-step field at a distance behind the lens.
-
thin_lens_simulation–Return the analytic Gaussian profile behind an ideal thin lens of the same focus.
propagate_exactly
¶
propagate_exactly(state: NDArray[complex128], parameters: ExperimentParameters, distance: float) -> NDArray[complex128]
Return a field after a free propagation over a distance in vacuum.
Source code in packages/qiu-classical-simulation/src/qiu_classical_simulation/wave_optics/classical_numerics.py
19 20 21 22 23 24 25 26 | |
classical_numerics_simulation
¶
classical_numerics_simulation(parameters: ExperimentParameters, propagation_after_lens: float) -> NDArray[complex128]
Return the exact split-step field at a distance behind the lens.
The same slicing of the lens as the simulations, with the phases and propagations applied exactly, and a single propagation behind the lens.
Parameters:
-
parameters(ExperimentParameters) –The experiment.
-
propagation_after_lens(float) –The distance behind the lens.
Returns:
-
NDArray[complex128]–The normalized field.
Source code in packages/qiu-classical-simulation/src/qiu_classical_simulation/wave_optics/classical_numerics.py
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | |
thin_lens_simulation
¶
thin_lens_simulation(parameters: ExperimentParameters, propagation_before_lens: float, propagation_after_lens: float) -> NDArray[float64]
Return the analytic Gaussian profile behind an ideal thin lens of the same focus.
Parameters:
-
parameters(ExperimentParameters) –The experiment.
-
propagation_before_lens(float) –The distance from the beam's waist to the thin lens.
-
propagation_after_lens(float) –The distance behind the thin lens.
Returns:
Source code in packages/qiu-classical-simulation/src/qiu_classical_simulation/wave_optics/classical_numerics.py
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | |