Optimizing a model glass index in Non Sequenial Mode

  • 21 December 2022
  • 2 replies

Userlevel 3
Badge +1

There is no direct option to flag the index of a model glass as variable in the non-sequential mode.
Yet, if you need to use this index during optimization, there is an alternative.

You can define the material as gradient index material (GRIN) in the “Index” tab of the object properties:

And then use the Multi-Configuration Editor to make this parameter a variable.

The index of a GRIN material is then available with the NPRO operand, parameter #201 :


And you can then add it as variable.
Quick notes:

  • This technique of using the Multi Configuration Editor to add parameters that are not otherwise available can be applied for many other use-cases.
  • The description of all Multi-Configuration operands, and their parameters, is available in the Help files of OpticStudio

2 replies

Userlevel 7
Badge +2

Hi Christophe,


Thank you for the excellent tip. In the sequential mode, I was often told it is better to use a glass substitution template because the optimized model glasses you end up with are rarely readily available. Would you say this also applies to non-sequential, and if so, how would you decide what glass to buy based on the optimization result? Do you simply pick the catalog glass that is closer in terms of index and dispersion (assuming the cost is ok)? Lastly, does it make sense to port the glass substitution tool in non-sequential or is there something that prevent this from happening (the optimization scheme perhaps)?

Take care, and enjoy the winter break (if you have one),



Userlevel 3
Badge +1

Hi David,

Thanks for your useful comment. The context of the initial question was silicon materials. It seems that in this case, the user can get the material in the index he specifies (within reason). But, with glasses the substitution approach can prove more suitable.

It also give me the opportunity to elaborate a bit more on this use-case. To help the optimization remain within a reasonable index range, we can use the MCOG/MCOL operands to set boundaries, and MCOV to check the index if needed:

My turn then to wish you happy winter holidays !