psfsim.polarisation_decomposition
Functions to handle decomposition of (un)polarised E fields into TE and TM modes and rotation of E field components from local coordinates to focal plane coordinates.
Functions
|
Local --> FPA rotation for electric field. |
|
Decomposes incident electric field (specified by components along FPA axes) into TE and TM modes. |
|
Decomposition for unpolarized light. |
Module Contents
- local_to_fpa_rotation(ux, uy, sgn)[source]
Local –> FPA rotation for electric field.
This constructs an array of 3x3 rotation matrices from {incident ray in yz-plane} –> {focal plane coordinates}. The z-axis is perpendicular to the detector surface in both cases.
By construction, this function has a discontinuity at u=0. It defaults to 0 for unphysical rays (ux, uy outside the unit circule).
- Parameters:
ux (np.ndarray of float) – Orthographic projection of ray directions (each component). Should be the same shape.
uy (np.ndarray of float) – Orthographic projection of ray directions (each component). Should be the same shape.
sgn (float) – Whether to flip z-direction for diagonal rays; should be +1 or -1.
- Returns:
RT – Shape is shape of ux + (3, 3). Each entry ends in a rotation matrix.
- Return type:
np.ndarray of float
- polarisation_mode_decomposition(ux, uy, E, sgn)[source]
Decomposes incident electric field (specified by components along FPA axes) into TE and TM modes.
The convention is that the “TE” (S) direction is given by {propagation of ray} cross {original z axis} and the “TM” (P) direction is in the plane of incidence, pointed toward sgn * {original z axis}.
- Parameters:
ux (np.ndarray of float) – The orthographic projection of directions of propagation, each is an array.
uy (np.ndarray of float) – The orthographic projection of directions of propagation, each is an array.
E (np.ndarray of complex) – The incident electric field. Same shape as ux.shape + (3,).
sgn (float) – Whether the z-direction of the initial coordinate system should be the same (+1) or opposite (-1) the AR coating coordinate system.
- Returns:
The keys are “TE” and “TM”, and each have the same shape as ux and uy.
- Return type:
dict of np.ndarray of complex
See also
local_to_fpa_rotationThis function is used for the convention when (ux, uy) == (0, 0).
- unpolarised_mode_decomposition(ux, uy, E0=10000000000.0)[source]
Decomposition for unpolarized light.
- Parameters:
ux (float) – Orthographic coordinates.
uy (float) – Orthographic coordinates.
E0 (float, optional) – Amplitude.
- Returns:
The keys are “TE” and “TM”, and each have the same shape as ux and uy.
- Return type:
dict of np.ndarray of complex
Notes
Warning : This generates equal amplitudes but if you just use the field values there will be unphysical interference. Need to figure out what to do about this.