How do I set a "substitute" solve for glasses/materials in NSC mode?

  • 14 March 2024
  • 1 reply

I was exploring various antireflective coatings, and thought about setting up a solve where I sought to minimize power on a detector reflected back from a glass material, and maximize power coming through a material. I had a large rectangle box, and put small ~1-10 um boxes touching the rectangle box in front with various materials to minimize reflections. I was able to model reflections pretty accurately and did see some positive changes when, for example, going to some ideal models for AR coatings.


I would like to substitute solve from a set of materials to see if I could minimize reflection using our own materials. However, this doesn’t seem to be an option to set as variable index/dispersion OR even to solve as a substitute? Is there a good way to substitute solve (or do what I am after in sequential mode)? I don’t want to be making my own coatings files just yet since there’s a lot of unknowns.

The only option seems to be to set a GRIN surface, and vary index/dispersion that way?


This is what I see in NSC mode



Best answer by David.Nguyen 15 March 2024, 09:01

View original

1 reply

Userlevel 7
Badge +2



I don’t know if this is still the current state of affairs, but what you want seems to be a feature request, which you probably want to upvote:

I just want to double-check what you said about a GRIN surface to make sure you are aware of this possibility. For an object, you can set the Properties..Index..GRIN to a gradient-index DLL, such as grin1.DLL. You can set an arbitrary base refractive index (N0 = 1.5 in my example below).

The GRIN properties can be exposed in the Multi-Configuration Editor with the operand NPRO using parameters 201-212. In my example, N0 is 201.

As you can see in my screenshot above, you can set NPRO value as a variable, and you can run an optimization.

Perhaps you could make your own GRIN DLL to expose a dispersion parameter.

I can also imagine a programmatic solution with the ZOS-API where you:

  1. Setup a model glass based on a material you know
  2. Run an optimization
  3. Setup another model glass
  4. Run an optimization
  5. ...etc.
  6. Compare the results of all optimizations

but that might be out of the scope of what you are willing to do for this project.

Take care,