coating_design#
- furst.feed_optics.materials.coating_design()[source]#
The as-designed coating for the FURST feed optics, Acton Optics broadband VUV coating #1200.
Since we presumably don’t know the formula of this proprietary coating, this function uses the formula in Quijada et al. [2012].
Examples
Plot the efficiency of the coating across the VUV range
import numpy as np import matplotlib.pyplot as plt import astropy.units as u import named_arrays as na import optika import furst # Define an array of wavelengths with which to sample the efficiency wavelength = na.geomspace(120, 600, axis="wavelength", num=1001) * u.nm # Define the incident rays from the wavelength array angle = na.linspace(0, 75, axis="angle", num=5) * u.deg rays = optika.rays.RayVectorArray( wavelength=wavelength, direction=na.Cartesian3dVectorArray( x=np.sin(angle), y=0, z=np.cos(angle), ), ) # Initialize the FURST feed optic coating model coating = furst.feed_optics.materials.coating_design() # Compute the reflectivity of the feed optics reflectivity = coating.efficiency( rays=rays, normal=na.Cartesian3dVectorArray(0, 0, -1), ) # Plot the reflectivity of the feed optics vs wavelength fig, ax = plt.subplots(constrained_layout=True) na.plt.plot( wavelength, reflectivity, ax=ax, axis="wavelength", label=angle, ); ax.set_xlabel(f"wavelength ({wavelength.unit:latex_inline})"); ax.set_ylabel("reflectivity"); ax.legend(title="incidence angle");
- Return type: