|
Programming Reference for VirtualLab Fusion
2022.1
|
This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
The IFTA Optimization Document.
More...
Public Member Functions | |
| DesignAlgorithmHandler () | |
| Standard constructor | |
| void | DoAllSelectedSteps (IterationDataOutput iterationDataOutput, WorkerThread worker) |
| Perform all selected steps More... | |
| ComplexField | DoForwardProp () |
| Calculate complex amplitude of output field More... | |
| void | DoGeometricalOpticsBeamShaping () |
| Performs a geometric optics beam shaping | |
| void | DoSetInitialTransmissionStep (IterationDataOutput iterationDataOutput) |
| Perform step for generating the initial transmission function. More... | |
| void | DoSNRPhaseStep (IterationDataOutput iterationDataOutput) |
| Perform SNR optimization for phase-only transmission. More... | |
| void | DoSNRQuantStep (IterationDataOutput iterationDataOutput) |
| Perform SNR optimization for quantized transmission. More... | |
| void | DoSoftQuantStep (IterationDataOutput iterationDataOutput) |
| Perform soft quantization More... | |
| void | DoSPOStep (IterationDataOutput iterationDataOutput) |
| Perform step for signal phase synthesis. More... | |
| double | GetConversionEfficiency (ComplexField outField, SamplingParameters samplingParametersOfOutField) |
| Calculate conversion efficiency More... | |
| double | GetDCEfficiency (ComplexField outField) |
| Calculate zeroth order intensity relative to the input field power. More... | |
| double | GetMaxNoiseIntensity (ComplexField outField, SamplingParameters samplingParametersOfOutField) |
| Calculate maximum relative intensity of stray light. More... | |
| Complex | GetOptimalScaleFactor (ComplexField outField, SamplingParameters samplingParametersOfOutField) |
| Calculate optimal scale factor. More... | |
| ConstraintDomain | GetSignalDomain (DesignStep designStep) |
| Construct signal domain for specified design step More... | |
| double | GetSNR (ComplexField outField, SamplingParameters samplingParametersOfOutField) |
| Calculate signal-to-noise ratio More... | |
| ConstraintDomain | GetTransmissionDomain (DesignStep designStep) |
| Construct transmission domain for specified design step More... | |
| double | GetUniformityError (ComplexField outField, SamplingParameters samplingParametersOfOutField) |
| Calculate uniformity error More... | |
| double | GetWindowEfficiency (ComplexField outField, SamplingParameters samplingParametersOfOutField) |
| Calculate window efficiency More... | |
| void | Save (string fileName) |
| Save whole data structure More... | |
| void | StopOptimizationImmediately () |
| If an IFTA optimization is running in a separate thread the optimization is stopped immediately. If the optimization is not running in a separate thread nothing will happen. | |
Public Member Functions inherited from IDocument | |
| void | Reload () |
| Reload function for the document | |
Static Public Member Functions | |
| static DesignAlgorithmHandler | Load (string fileName) |
| Loads the specified file name. Works independently from whether the document has been saved without view settings (as prior to VL 6.0) or with view settings. More... | |
Public Attributes | |
| bool[] | AnalysisMeritFunctionsSelection |
| Stores which merit functions are selected for analysis of transmission after the design. The array index corresponds to the integer value of members of the LoggingFunctions enum. | |
| ConstraintSpecification | ConstraintSpecification |
| Specification of the design problem | |
| bool | CreateOutputFieldAnimation |
| Determines whether output field animation is to be created | |
| bool | CreateTransmissionAnimation |
| Determines whether transmission animation is to be created. | |
| DesignMethod | DesignMethod |
| Selected design method (IFTA or geometric beam shaping). | |
| InitialTransmissionMethod | InitialTransmissionMethod |
| Type of initial transmission function | |
| bool[] | LoggingFunctionSelection |
| Stores which merit functions are selected for logging. The array index corresponds to the integer value of the members of the LoggingFunctions enum. | |
| int | NumItSNRPhase |
| Number of iterations during SNR optimization for phase-only transmission. | |
| int | NumItSNRQuant |
| Number of iterations during SNR optimization for quantized transmission. | |
| int | NumItSoftQuant |
| Number of iterations during soft quantization step. | |
| int | NumItSPO |
| Number of iterations during signal phase synthesis step. | |
| bool | OmitFinalTransmissionProjection |
| Determines whether final transmission projection during SNR optimization for phase-only transmission is to be omitted. | |
| ComplexAmplitudeBitmapConversion | OutputFieldAnimationCreator |
| Settings for the output field animation to be created. | |
| bool | SetInitialTransmissionStepIsEnabled |
| Determines whether the design step to generate an initial transmission function is enabled. | |
| bool | ShowCalculationTime |
| Specifies whether the overall calculation time is logged. | |
| bool | ShowFinalTransmissionAndOutputField |
| Show transmission and output field after design completed | |
| bool | SNRPhaseStepIsEnabled |
| Determines whether SNR optimization for phase-only transmission is enabled. | |
| bool | SNRQuantStepIsEnabled |
| Determines whether SNR optimization for quantized transmission is enabled. | |
| bool | SoftCodingSNRPhase |
| Determines whether transmission constraint is to be introduced softly during SNR optimization for phase-only transmission. | |
| bool | SoftCodingSPO |
| Determines whether transmission constraint is to be introduced softly during signal phase synthesis. | |
| bool | SoftQuantStepIsEnabled |
| Determines whether soft quantization step is enabled. | |
| bool | SPOStepIsEnabled |
| Determines whether signal phase synthesis step is enabled. | |
| ComplexAmplitudeBitmapConversion | TransmissionAnimationCreator |
| Settings for the transmission animation to be created. | |
| bool | TransmissionHasSphericalPhaseRadius |
| Determines whether a spherical phase radius is given for the transmission. | |
| double | TransmissionSphericalPhaseRadius |
| Optional spherical phase radius for the transmission. | |
| bool | UsePolarSepability |
| Determines whether separability according to polar coordinates is assumed | |
Properties | |
| bool | ImposeLinearScaleError [get, set] |
| Gets and sets whether a linear scale error shall be imposed. | |
| bool | ImposeMaskScaleError [get, set] |
| Gets and sets whether mask scale errors shall be imposed. | |
| double | LinearScaleFactor [get, set] |
| Gets and sets the linear scale factor for tolerancing analysis. | |
| bool | LoggingEnabled [get, set] |
| Public property to set and get whether logging is enabled or disabled. | |
| double[] | MaskScaleErrors [get, set] |
| Gets and sets the mask scale errors for tolerancing analysis. | |
| int | NumberOfSteps [get, set] |
| Gets and sets the number of steps for tolerancing analysis. | |
| double | ScaleFactorFrom [get, set] |
| Gets and sets the start value of the scale factor for tolerancing analysis. | |
| double | ScaleFactorTo [get, set] |
| Gets and sets the end value of the scale factor for tolerancing analysis. | |
| int | SelectedMaskIndex [get, set] |
| Gets and sets the index of the mask for which tolerancing is done. 0 refers to applying a linear scale error, 1 to the mask with a phase difference of π, 2 to the mask with a phase difference of π/2, 3 to a phase difference of π/4, and 4 to a phase difference of π/8. | |
| bool | ShowOutputField [get, set] |
| Gets and sets whether the output field shall be shown if "Recalculate" is clicked on the Analysis tab. | |
| bool | ShowTolerancingAnimation [get, set] |
| Gets and sets whether a tolerancing animation shall be shown. | |
| bool | SuspendLogging [get, set] |
| Gets and sets whether logging of the merit functions is currently suspended. Only has an effect when logging is enabled and a simulation is currently running. More... | |
| ComplexAmplitudeBitmapConversion | TolerancingAnimationSettings [get, set] |
| Gets and sets the settings for the tolerancing animation. | |
| ComplexField | Transmission [get, set] |
| Gets and sets the current transmission. | |
Properties inherited from IDocument | |
| VirtualLabSession | Session [get, set] |
| every documents need to be handled in a session ==> default is the VirtualLab Mainsession | |
| NodeVLExplorer | TreeStructure [get] |
| every document should have a node (maybe with subnodes) in the VirtualLab Explorer | |
| DocumentType | TypeOfDocument [get] |
| Gets an enum entry specifying the type of the document. | |
This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
The IFTA Optimization Document.
| void DoAllSelectedSteps | ( | IterationDataOutput | iterationDataOutput, |
| WorkerThread | worker | ||
| ) |
Perform all selected steps
| iterationDataOutput | Delegates and parameters to be used for visualizing progress during iteration, for logging merit functions, and for creating animations. |
| worker | The design thread. |
| ComplexField DoForwardProp | ( | ) |
Calculate complex amplitude of output field
| void DoSetInitialTransmissionStep | ( | IterationDataOutput | iterationDataOutput | ) |
Perform step for generating the initial transmission function.
| iterationDataOutput | Delegates and parameters to be used for visualizing progress during iteration, for logging merit functions, and for creating animations. |
| void DoSNRPhaseStep | ( | IterationDataOutput | iterationDataOutput | ) |
Perform SNR optimization for phase-only transmission.
| iterationDataOutput | Delegates and parameters to be used for visualizing progress during iteration, for logging merit functions, and for creating animations. |
| void DoSNRQuantStep | ( | IterationDataOutput | iterationDataOutput | ) |
Perform SNR optimization for quantized transmission.
| iterationDataOutput | Delegates and parameters to be used for visualizing progress during iteration, for logging merit functions, and for creating animations. |
| void DoSoftQuantStep | ( | IterationDataOutput | iterationDataOutput | ) |
Perform soft quantization
| iterationDataOutput | Delegates and parameters to be used for visualizing progress during iteration, for logging merit functions, and for creating animations. |
| void DoSPOStep | ( | IterationDataOutput | iterationDataOutput | ) |
Perform step for signal phase synthesis.
| iterationDataOutput | Delegates and parameters to be used for visualizing progress during iteration, for logging merit functions, and for creating animations. |
| double GetConversionEfficiency | ( | ComplexField | outField, |
| SamplingParameters | samplingParametersOfOutField | ||
| ) |
Calculate conversion efficiency
| outField | Output field obtained by DoForwardProp |
| samplingParametersOfOutField | The sampling parameters of the output field. |
| double GetDCEfficiency | ( | ComplexField | outField | ) |
Calculate zeroth order intensity relative to the input field power.
| outField | Output field obtained by DoForwardProp |
| double GetMaxNoiseIntensity | ( | ComplexField | outField, |
| SamplingParameters | samplingParametersOfOutField | ||
| ) |
Calculate maximum relative intensity of stray light.
| outField | Output field obtained by DoForwardProp |
| samplingParametersOfOutField | The sampling parameters of the output field. |
| Complex GetOptimalScaleFactor | ( | ComplexField | outField, |
| SamplingParameters | samplingParametersOfOutField | ||
| ) |
Calculate optimal scale factor.
| outField | Output field obtained by DoForwardProp |
| samplingParametersOfOutField | The sampling parameters of the output field. |
| ConstraintDomain GetSignalDomain | ( | DesignStep | designStep | ) |
Construct signal domain for specified design step
| designStep | The design step (e.g. soft quantization) for which the signal domain is constructed. |
| ArgumentException | Case missing. |
| double GetSNR | ( | ComplexField | outField, |
| SamplingParameters | samplingParametersOfOutField | ||
| ) |
Calculate signal-to-noise ratio
| outField | Output field obtained by DoForwardProp |
| samplingParametersOfOutField | The sampling parameters of the output field. |
| ConstraintDomain GetTransmissionDomain | ( | DesignStep | designStep | ) |
Construct transmission domain for specified design step
| designStep | The design step (e.g. soft quantization) for which the transmission domain is constructed. |
| double GetUniformityError | ( | ComplexField | outField, |
| SamplingParameters | samplingParametersOfOutField | ||
| ) |
Calculate uniformity error
| outField | Output field obtained by DoForwardProp |
| samplingParametersOfOutField | The sampling parameters of the output field. |
| double GetWindowEfficiency | ( | ComplexField | outField, |
| SamplingParameters | samplingParametersOfOutField | ||
| ) |
Calculate window efficiency
| outField | Output field obtained by DoForwardProp |
| samplingParametersOfOutField | The sampling parameters of the output field. |
|
static |
Loads the specified file name. Works independently from whether the document has been saved without view settings (as prior to VL 6.0) or with view settings.
| fileName | Name of the file. |
| void Save | ( | string | fileName | ) |
Save whole data structure
| fileName | Path and file name. |
|
getset |
Gets and sets whether logging of the merit functions is currently suspended. Only has an effect when logging is enabled and a simulation is currently running.