multilayer_design#

esis.flights.f1.optics.primaries.materials.multilayer_design()#

The as-designed multilayer coating for the ESIS primary mirror.

Examples

Plot the efficiency of the coating across the EUV range

import matplotlib.pyplot as plt
import astropy.units as u
import named_arrays as na
import optika
from esis.flights.f1.optics import primaries

# Define an array of wavelengths with which to sample the efficiency
wavelength = na.geomspace(100, 1000, axis="wavelength", num=101) * u.AA

# Define the incident rays from the wavelength array
rays = optika.rays.RayVectorArray(
    wavelength=wavelength,
    direction=na.Cartesian3dVectorArray(0, 0, 1),
)

# Initialize the ESIS primary mirror material
material = primaries.materials.multilayer_design()

# Compute the reflectivity of the primary mirror
reflectivity = material.efficiency(
    rays=rays,
    normal=na.Cartesian3dVectorArray(0, 0, -1),
)

# Plot the reflectivity vs wavelength
fig, ax = plt.subplots(constrained_layout=True)
na.plt.plot(wavelength, reflectivity, ax=ax);
ax.set_xlabel(f"wavelength ({wavelength.unit:latex_inline})");
ax.set_ylabel("reflectivity");
../_images/esis.flights.f1.optics.primaries.materials.multilayer_design_0_0.png
Return type:

MultilayerMirror