Skip to main content

Hi, it is possible to implement a radius operator in merit function?

 

CVVA, CVLT, and CVGT do not work well with especially big lenses, and using RECI operator makes merit function harder to read

I don’t know of such an operand. I usually think of curvature as the best choice because as lenses approach planar, which is not unusual, the radius goes to infinity, while the curvature goes to zero. Perhaps you could say more about the difficulty you’re having using the curvature operands?


I understand the reasons for using the curvature, however in some situations it is really uncomfortable to work with that.

For example, when working with meniscuc lenses, it may be useful to work with radii in order to avoid that both surfaces are concentric.

In order to exctract radius value I have to use two (or more in case of inequalities) merit function operands, CVVA (curvature) and RECI (reciprocal)

Take in mind that as of now I have not encountered any problem, outside readibility of merit function, in using two operand, but it will be very useful to have such operand. 

For example, it exist the operand PROB (product by), that combines two operand, CONS (constants) and PROD (product)

 


Hi Nicolò,

Thank you for sharing. Like you said, there are some workarounds to achieve your goal. So at this stage, we may not add operand directly. But ZOS can build your own optimization operand. You can create a radius operator yourself by referring to the following two articles

How to write your own optimization operand

Optimization using a ZPL Macro: the ZPLM operand

Best Regards 
Sean Lin


Thank you for the reply!

The problem that we were having with custom Macros was the difficulty in using such files across different users. By project folders, this problemtic is mitigated.

 

However, please consider in adding such an operator natively in merit function and multi configuration editor. It can speeds up our work, and it is directly related to the information we see on lens data. 


Reply