Solved

Monte Carlo tolerancing of coatings and POLTRACE

  • 12 September 2022
  • 2 replies
  • 174 views

Userlevel 1
Badge

Okay, so, understandably, it doesn’t seem that Monte Carlo tolerancing of coatings is a feature in OpticStudio. Does anyone out there know of an efficient way to “Monte Carlo” a coating prescription via OpticStudio, be it with a macro or something?

Also, it appears that POLTRACE won’t provide the transmission of a given surface (that surface alone) but rather the transmission up to and including that surface.  Does anyone out there have a workaround or know if that is a feature to be integrated in the future?  I suppose one could divide the POLTRACE result at surface n by the POLTRACE result at surface n-1 . . . 

icon

Best answer by Angel Morales 15 September 2022, 01:42

View original

2 replies

Userlevel 5
Badge +1

Hi James,

Thanks for posting on the forums!

For the first question, you’re correct -- I tried looking at our Multi-Configuration operands, but it seems that we do not have any which would allow for a multi-config setup of a coating where you change layer values like the multiplier on thickness, index offset, etc.

If you really wanted to, I think the best you could do would be manually introducing some perturbations in your coating definitions across your Monte Carlo files with an approach like using the SURP keyword in the ZPL. You’d have the ability to tweak layer information for the coating (I’m also assuming the coatings you want to tolerance are those which you have layer data already defined for in your .DAT file, and that it is not an Encrypted coating). Then, you could re-evaluate performance of all your MC files as you iterate different combinations of perturbed coating data:

 

 

As for getting coating-specific transmission data (and not that which includes performance up to that surface), would you be able to use the CODA merit function operand? This allows you to get both kinds of data depending on your Data flag. You could use the OPEV function to use this operand in the ZPL:

 

 

Let us know if you have any further questions here, and we’d be happy to discuss more. Thanks!

Userlevel 1
Badge

Thanks for the useful feedback, Angel.  I will definitely look into those to see if they can answer the mail.  

Reply