Setting limits on surface radii

  • 27 February 2020
  • 1 reply
  • 656 views

Hello,



I'm designing a system with multiple lenses and I want to limit the radius of certain surfaces to avoid solutions that contain excessive curvatures.



I tried using the CVLT operand, but even with an enormous weight, it will set the curvature higher than my limit of 5.0e-3 (200 mm radius).

The target and value fields show up correctly, but it just doesn't seem to constrain the curvature like I want to.



Is it possible to set a hard upper or lower constraints on the radius of a specific surface?

Is it also possible to set this globally? Like the option to limit glass thickness but instead saying "Surface radii in this project cannot be smaller than 200 mm", for example.





Cheers,

Tiago.

 

1 reply

Userlevel 7
Badge +3

CVLT/GT should work fine. Can you post your file so we can see what's happening?



Without seeing your file, the general rule is that if a boundary operand is not being achieved it is because the system really wants the condition that you're trying to prevent. So, on a sight-unseen basis, I'd say that you have some other constraint in your merit function that is opposing the constraint you are trying to enforce. The other thing is a starting point that is so far from optimal that a small perturbation of variables yields no gradient in performance.



To answer your last question, there is no such global setting, but what you're describing should work fine, so lets see the file to see what's wrong. Best format to export in is the ZAR archive.


Reply