jmeyers314 / batoid

c++ backed python optical raytracer
BSD 2-Clause "Simplified" License
21 stars 12 forks source link

Question on tilted/decentered optics #103

Open Jashcraf opened 11 months ago

Jashcraf commented 11 months ago

Hello! I'm a University of Arizona grad student that's doing some work on optical modeling for astronomy, and was curious if batoid was capable of simulating generally non-axially symmetric systems? It wasn't clear to me from the docs, but I saw that Interface has the following methods that might make it possible:

I'm interested in an open-source ray tracer that is capable of modeling off-axis conics and fold mirrors for some of my research.

jmeyers314 commented 11 months ago

Hi Jaren,

Yes, certainly the methods you highlighted can be used to create a non-axially symmetric optical system. To date, I think I've only really used these to introduce small misalignments among individually symmetric optics, but I think with some careful use of the various Obscuration classes you could make off-axis conics. There's also at least one instance of a fold mirror in the repo: take a look at https://github.com/jmeyers314/batoid/blob/releases/0.5/batoid/data/AuxTel/AuxTel.yaml and https://github.com/jmeyers314/batoid/blob/releases/0.5/notebook/AuxTel%20trace.ipynb.

Full disclosure: you'd be charting some new territory using batoid for off-axis conics, but I'm not aware of any reason right now why this shouldn't work.

Hope that helps get you started. Feel free to reach out with more questions or any problems you encounter if you give batoid a go.

Jashcraf commented 11 months ago

Hi Josh,

Thanks for pointing out the demo! I'll try making an off-axis parabola and doing a comparison with Zemax / CODE V, and come back here once I've done the comparison.

Edit: Notebook is running! image