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.