Programming Reference for VirtualLab Fusion  2025.1
Loading...
Searching...
No Matches
ConstraintSpecification Class Reference

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
This class stores the specification of all constraints applied during an IFTA optimization. More...

Inheritance diagram for ConstraintSpecification:

Public Member Functions

 ConstraintSpecification ()
 Standard constructor.
 
IRegion1D2D GetRealSignalRegion ()
 Gets the signal region with the sampling of the output field.
 
double GetSumNormInputField ()
 Gets the summed norm of the input field.
 
void SetSignalFieldAndSignalRegion (ComplexField signalField, IRegion1D2D signalRegion)
 Sets the desired output field and the optimization region at the same time.
 

Public Attributes

bool AllowPhaseFreedom
 Determines whether phase freedom is to be allowed during the design.
 
bool AllowScaleFreedom
 Determines whether scale freedom is to be allowed during the design.
 
int EmbedFrameWidth
 Width of the frame in which the field is embedded. For two-dimensional fields, during embedding the number of sampling points in each direction is increased by two times EmbedFrameWith. For one-dimensional fields only the x-direction is affected. No embedding is performed if EmbedFrameWidth is set to zero.
 
ComplexField InputField
 Input field (optional).
 
bool InputFieldHasSphericalPhaseRadius
 Determines whether a spherical phase radius is given for the input field.
 
bool InputFieldIsConstant1
 If this variable is true, a constant input field is assumed and thus the InputField variable is ignored. However, Wavelength and PixelSize stored in InputField are still of concern.
 
double InputFieldSphericalPhaseRadius
 Optional spherical phase radius for the input field.
 
bool LimitFeatureSize
 Determines whether a minimum feature size is to be used during the design.
 
bool LimitMaxNoiseIntensity
 Determines whether stray light intensity is to be limited.
 
bool LimitScaleFactor
 Determines whether a lower limit is to be set for the scale factor used during scale freedom.
 
double MaxNoiseIntensityLimit
 Maximum relative intensity of the stray light.
 
double MinimumFeatureSize
 Minimum allowed feature size.
 
double NoiseLimitHighFreq
 Maximum stray light intensity for regions with higher spatial frequencies than those which are allowed by feature size limitation.
 
int NumberOfQuantizationLevels
 Number of equidistant phase quantization levels. Only used if the TransmissionType is either "Quantized Phase-Only" or "Quantized Amplitude-Only".
 
int PixelationFactor
 Pixelation factor.
 
double PropagationDistance
 Propagation distance or focal length of 2f-setup.
 
PropagationType PropagationType
 Type of propagation operator to be used.
 
VectorD SamplingDistance
 Sampling distance of the transmission function.
 
Vector SamplingPoints
 Number of sampling points in transmission which are free parameters.
 
double ScaleFactorLimitGoalEff
 Lower limit of the scale factor, specified as goal efficiency.
 
bool SimulatePixelation
 Determines whether pixelation of the transmission function should be simulated.
 
TransmissionType TransmissionType
 Type of transmission function. "Continuous Phase-Only" by default.
 
double Wavelength
 Wavelength.
 

Properties

ComplexAmplitudeType ComplexAmplitudeTypeOut [get]
 The ComplexAmplitudeType (spatial or spectral) of the output field.
 
FieldDimensions Dimensionality [get]
 Gets the dimensionality of the design problem (two-dimensional or one-dimensional in x- or y-direction).
 
VectorD SamplingDistanceIn [get]
 Sampling distance in the input plane.
 
VectorD SamplingDistanceOut [get, set]
 Sampling distance in output plane (in m or 1/m depending on selected propagation type)
 
Vector SamplingPointsOut [get, set]
 Number of Sampling points in output plane.
 
ComplexField SignalField [get, set]
 The desired output field.
 
IRegion1D2D SignalRegion [get, set]
 The optimization region.
 
bool SignalRegionEqualSignalField [get]
 Gets whether the optimization region is created from all positions where the current desired output field is not exactly equal to zero. This is the case if the SignalRegion property is null.
 

Detailed Description

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
This class stores the specification of all constraints applied during an IFTA optimization.

Member Function Documentation

◆ GetRealSignalRegion()

IRegion1D2D GetRealSignalRegion ( )

Gets the signal region with the sampling of the output field.

Returns
The really used signal region.

◆ GetSumNormInputField()

double GetSumNormInputField ( )

Gets the summed norm of the input field.

Returns
The summed norm of the input field

◆ SetSignalFieldAndSignalRegion()

void SetSignalFieldAndSignalRegion ( ComplexField  signalField,
IRegion1D2D  signalRegion 
)

Sets the desired output field and the optimization region at the same time.

Parameters
signalFieldThe desired output field.
signalRegionThe optimization region. If null an optimization region is created from the desired output field.