Near- and Far-field optical simulation of the Simons Observatory Large Aperture Telescope. This is the repository associated with the publication: The Simons Observatory: Characterizing the Large Aperture Telescope Receiver with Radio Holography.
Author: Grace E. Chesmore
git clone [email protected]:McMahonCosmologyGroup/solat-optics.git
cd solat_optics/
pip3 install .
Three tutorials are available as Jupyter notebooks:
Part 1 of the tutorial builds the surfaces of the optics tube which will eventually be used in the near-field simulation of the optics tube. First ray-trace from the focal plane out through the window. This toy-model is useful for predicting the beam path and size based on the receiver's position of the focal plane, however this will provide no diffraction information. The user can drag / zoom / and hover over the ray-trace to see the labelled optics tube surfaces.
Part 2 ray-traces from both the source and the receiver positions to the Lyot stop, located near the center of the optics tube, yielding the source and receiver electric fields
Part 3 demonstrates how to run the simulation from the command line, and how to do so in parallel to speed up the simulation. Doing so will save the simulation to a .txt file. Lastly, the simulated near-field power and phase are read out from the text file and plotted.
Part 1 outlines the simulation where the optics tube simulated field is propagated through the two Large Aperture Telescope (LAT) mirrors. To do this, a ray-trace from a far-field point source through the LAT and to the LATR focal plane builds the electric field
Part 2 demonstrates how to run the simulation from the command line, and how to do so in parallel to speed up the simulation. Doing so will save the simulation to a .txt file. Lastly, the simulated far-field power and phase are read out from the text file and the amplitude of the far-field beam is plotted.
If you have write access to this repository, please:
- create a new branch
- push your changes to that branch
- merge or rebase to get in sync with main
- submit a pull request on github
- If you do not have write access, create a fork of this repository and proceed as described above. For more details, see Contributing.