Stratified_Media

class pyMPM.Stratified_Media(omega, h, n=None, n_inf=None, n_pre=None, n_post=None, eps=None, eps_inf=None, eps_pre=None, eps_post=None)

Calculates the far-field spectrum of a stratified media.

Parameters
omega

A 1D array (num_wavelengths) specifying the wavenumbers (inverse length) to be calculated.

h

A 1D array (num_layers) specifying the thickness of each layer.

eps (n)

A 1D array (num_layers) specifying the permitivity (refractive index) of each layer. Each dielectric function may be specified as either a scalar (frequency independent), 1D array (num_wavelength; isotropic), or 2D (num_wavelengths,3; anisotropic) array. Only eps or n should be specified.

eps_inf (eps_pre / eps_post)

Specify the permitivities of the two semi-infinite media on either side of the stratified media.

compute_p(incident_angle, avg_interference=True, res=None, return_fields=False, return_media=False)

Compute the far-field properties for a p-polarized incident beam at incident-angle.

Parameters
incident_angle

A scalar or 1D array of incident angles to calculate far-field spectra for.

avg_interference

If True, will average over the interference band period to account for incoherence.

res

The number of points to average over in the interference band period. Only used if avg_interference is True. Defaults to 100.

return_fields

If True, returns fields instead of powers.

return_media

If True, will return the values calculated inside the media in addition to the reflectance and transmittance.

Returns
R

A 2D array (num_angles,num_wavelengths) containing the power of the backwards propagating wave at the first interface, or reflectance. Axes of length one are removed.

M

A 3D array (num_angle,2*num_layers,num_wavelengths) containing the power of the forward and backwards propagating waves in each layer of the media. M is only returned if return_media is True.

T

A 2D array (num_angles,num_wavelengths) containing the power of the forward propagating wave at the last interface, or transmittance. Axes of length one are removed.

compute_s(incident_angle, avg_interference=True, res=None, return_fields=False, return_media=False)

Compute the far-field properties for an s-polarized incident beam at incident-angle.

Parameters
incident_angle

A scalar or 1D array of incident angles to calculate far-field spectra for.

avg_interference

If True, will average over the interference band period to account for incoherence.

res

The number of points to average over in the interference band period. Only used if avg_interference is True. Defaults to 100.

return_fields

If True, returns fields instead of powers.

return_media

If True, will return the values calculated inside the media in addition to the reflectance and transmittance.

Returns
R

A 2D array (num_angles,num_wavelengths) containing the power of the backwards propagating wave at the first interface, or reflectance. Axes of length one are removed.

M

A 3D array (num_angle,2*num_layers,num_wavelengths) containing the power of the forward and backwards propagating waves in each layer of the media. M is only returned if return_media is True.

T

A 2D array (num_angles,num_wavelengths) containing the power of the forward propagating wave at the last interface, or transmittance. Axes of length one are removed.