Skip to main content
Question

Is there a way to extract information about ray path through a GRIN optic (sequential mode) via ZOS-API?

  • November 8, 2024
  • 4 replies
  • 58 views

mlunin

Title. I can easily get the entry/exit points into a GRIN lens via tracing rays to a surface using SingleRayNormUnpol() and BatchRayTrace.

However, this only gives me the entry/exit points into a surface. Is there a way to get information out about the beam path within a GRIN optic via ZOS-API?

As an additional note, the GRIN optic is modelled via a custom *.dll extension I developed (not a ZEMAX Gradient 1-12 surface).

My alternative is to write my own GRIN raytracer for the intermediate steps.

4 replies

David.Nguyen
Luminary
Forum|alt.badge.img+2
  • Luminary
  • 1072 replies
  • November 8, 2024

@mlunin 

 

I haven’t checked if there isn’t already a built-in solution. I wouldn’t be surprised if there isn’t. Ray tracing is done on a per surface basis generally. However, you can also use this to your advantage.

Instead of having a single grin surface with a given thickness and Delta T. You can divide the original surface thickness into multiple grin surfaces with a thickness equal to Delta T (and keeping the same grin settings). Seeing you’ve already programmed your own grin DLL, I’m assuming you are able to program this into the ZOS-API. Let us know otherwise 😊

Take care,


David


mlunin
  • Author
  • Monochrome
  • 4 replies
  • November 8, 2024

Splitting like that wouldn’t be that elegant of a solution here (I thought of it previously) - I have a front and rear curvature that don’t match. Also - it would mess up having (0,0,0) coordinate be at the start of the lens (this simulation involves a lens that also has z-variance in the GRIN field)


David.Nguyen
Luminary
Forum|alt.badge.img+2
  • Luminary
  • 1072 replies
  • November 11, 2024

@mlunin 

 

In Non-Sequential mode, the ray segments appear within the GRIN lens. I’ve used GRIN3 in the example below:

In hybrid mode, we seem to be able to get this data from a Analyze..Rays & Spots..Single Ray Trace.

I haven’t tested, but I’m assuming this will work in the ZOS-API.

I hope this helps.

Take care,

 

David


mlunin
  • Author
  • Monochrome
  • 4 replies
  • November 11, 2024

This might work since I only need it for one lens system - but the biggest limitation for me would be the 12 input box limit in NSC mode - I use a GRIN with about 54 inputs. I could always hardcode it as a one-off though since I only need this for 1-2 systems.

 

Thanks!!


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings