Programming Reference for VirtualLab Fusion  2022.1
Public Member Functions | Public Attributes | Properties | List of all members
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
 
void SetSignalFieldAndSignalRegion (ComplexField signalField, IRegion1D2D signalRegion)
 Sets the desired output field and the optimization region at the same time. More...
 

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

◆ 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.