optimization.variable.forbes_coeff#
Specialized variable handlers for Forbes polynomial coefficients.
This module provides handlers for Forbes polynomial coefficients, distinguishing between rotationally symmetric (slope-orthogonal Q) and freeform (Q-2D) surfaces.
Manuel Fragata Mendes, August 2025
Classes
|
Represents a variable for a Forbes Q-2D (freeform) coefficient. |
|
Represents a variable for a Forbes Q (slope-orthogonal) coefficient. |
|
Deprecated alias for ForbesQNormalSlopeCoeffVariable. |
- class ForbesQ2dCoeffVariable(optic, surface_number, coeff_tuple, scaler=None, **kwargs)[source]#
Represents a variable for a Forbes Q-2D (freeform) coefficient.
This variable targets the coefficient c corresponding to a specific (type, m, n) term, following the Zemax convention.
- Variables:
- inverse_scale(scaled_value)#
Inverse scale the value of the variable.
- Parameters:
scaled_value – The scaled value to inverse scale
- scale(value)#
Scale the value of the variable for improved optimization performance.
- Parameters:
value – The value to scale
- class ForbesQNormalSlopeCoeffVariable(optic, surface_number, coeff_number, scaler=None, **kwargs)[source]#
Represents a variable for a Forbes Q (slope-orthogonal) coefficient.
This variable targets a coefficient for a specific radial order n.
- Variables:
coeff_number (int) – The radial order ‘n’ of the coefficient.
- inverse_scale(scaled_value)#
Inverse scale the value of the variable.
- Parameters:
scaled_value – The scaled value to inverse scale
- scale(value)#
Scale the value of the variable for improved optimization performance.
- Parameters:
value – The value to scale
- class ForbesQbfsCoeffVariable(optic, surface_number, coeff_number, scaler=None, **kwargs)[source]#
Deprecated alias for ForbesQNormalSlopeCoeffVariable.
Deprecated since version Use:
ForbesQNormalSlopeCoeffVariableinstead.- get_value()#
Gets the value of the nth Q (slope-orthogonal) coefficient.
- inverse_scale(scaled_value)#
Inverse scale the value of the variable.
- Parameters:
scaled_value – The scaled value to inverse scale
- scale(value)#
Scale the value of the variable for improved optimization performance.
- Parameters:
value – The value to scale