Skip to main content
Solved

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

  • March 14, 2024
  • 1 reply
  • 95 views

mlunin

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

@mlunin 

 

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,

 

David

View original
Did this topic help you find an answer to your question?

1 reply

David.Nguyen
Luminary
Forum|alt.badge.img+2
  • Luminary
  • 1085 replies
  • Answer
  • March 15, 2024

@mlunin 

 

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,

 

David


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