optimization.variable.material

Material Variable Module

This module contains the MaterialVariable class, which represents a variable for the material at a specific surface such as a glass. The variable can be used in optimization problems to optimize the material at a specific surface.

Classes

MaterialVariable(optic, surface_number, ...)

Represents a variable for the material at a specific surface.

class MaterialVariable(optic, surface_number: int, glass_selection: list[str], scaler: Scaler = None, **kwargs)[source]

Represents a variable for the material at a specific surface.

Parameters:
  • optic (Optic) – The optic object associated with the variable.

  • surface_number (int) – The surface number where the variable is applied. calculated.

  • **kwargs – Additional keyword arguments.

get_value() str[source]

Returns the name of the material at the specified surface.

Returns:

The material name.

Return type:

str

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

update_value(new_value: str) None[source]

Updates the material at the specified surface.

Parameters:

new_value (float) – The new material name.