|
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.
This class contains a number of static member functions performing well-known elementary wave propagation operators. In difference to the ElementaryPropagationOperators class all functions change number of sampling points and the sampling distance automatically the number of sampling points and the sampling distance to avoid numerical errors. Additionally some functions are provided that can estimate the necessary number of sampling points and the sampling distance to avoid numerical errors.
More...
Static Public Member Functions | |
| static ComplexAmplitude | FarFieldPropagation (ComplexAmplitude ca, double distance, Complex n, double accuracyFactor, bool automaticOutputFieldSizeShape, double outputFieldSizeFactor, VectorD outputFieldFieldSize, BasicParameter.eApertureShape outputFieldShape, double outputFieldBorderWidth, bool automaticOutputFieldSampling, double outputFieldSamplingFactor, int outputFieldEmbedFrameWidth, SamplingParameters outputFieldSamplingParameters, out bool areNumericalErrors, InterpolationMethod interpolationMethod, FarFieldPropagationMode farFieldPropagationMode, bool isParaxialApproximation, SpreadSheetObjectUsedIn usedIn) |
| Performs a far field propagation without paraxial approximation. The far field approximation of the Rayleigh-Sommerfeld propagation is used. Just for paraxial wave the far field is the Fourier Transform of the waist of the wave. In general it is the Fourier Transform plus a coordinate transformation. If a propagation between two far field points is performs it is assumed that the SphericalPhaseRadius information is equal to the distance from the waist. More... | |
| static HarmonicFieldsSet | FarFieldPropagation (HarmonicFieldsSet hfs, double distance, double accuracyFactor, bool automaticOutputFieldSizeShape, double outputFieldSizeFactor, VectorD outputFieldFieldSize, BasicParameter.eApertureShape outputFieldShape, double outputFieldBorderWidth, bool automaticOutputFieldSampling, double outputFieldSamplingFactor, int outputFieldEmbedFrameWidth, SamplingParameters outputFieldSamplingParameters, out bool areNumericalErrors, InterpolationMethod interpolationMethod, FarFieldPropagationMode farFieldPropagationMode, bool isParaxialApproximation, SpreadSheetObjectUsedIn usedIn) |
| Performs a far field propagation without paraxial approximation. The far field approximation of the Rayleigh-Sommerfeld propagation is used. Just for paraxial wave the far field is the Fourier Transform of the waist of the wave. In general it is the Fourier Transform plus a coordinate transformation. If a propagation between two far field points is performs it is assumed that the SphericalPhaseRadius information is equal to the distance from the waist. More... | |
| static ComplexAmplitude | Frt (ComplexAmplitude ca, double distance, bool automaticInputFieldSampling, double accuracyFactor, VectorD inputFieldSamplingDistance) |
Propagates given ComplexAmplitude by the specified distance by computing the Fresnel transform. The function can interpolate the complex amplitude by sinc-interpolation to avoid numerical errors. The function uses the WaveParameters of the object to perform an optimal propagation. If no WaveParameters is present function assumes that the harmonic field component is in the waist. Is a spherical phase factor is present the function tries to perform a Fresnel Propagation to the waist by a distance -SphericalPhaseRadius and a Fresnel Propagation by a distance SphericalPhaseRadius + distance to reduce numerical errors. More... | |
| static ComplexAmplitude | Frt (ComplexAmplitude ca, double distance, Complex n, bool automaticInputFieldSampling, double inputFieldSamplingFactor, VectorD inputFieldSamplingDistance, bool automaticOutputFieldSizeShape, double outputFieldSizeFactor, VectorD outputFieldFieldSize, BasicParameter.eApertureShape outputFieldShape, double outputFieldBorderWidth, bool automaticOutputFieldSampling, double outputFieldSamplingFactor, int outputFieldEmbedFrameWidth, SamplingParameters outputFieldSamplingParameters, out bool areNumericalErrors) |
| [AI] Propagates the given ComplexAmplitude by the specified distance by computing the Fresnel propagation. The function modifies the sampling distance of the input field specified in the inputFieldSamplingDistance parameter before the propagation in order to reduce numerical errors. The modification can be done by user or automatically Additionally the user may specify the output field sampling parameters and the field size, shape and broder width of the output field. Is the HasWaveParameters property false the function assumes that the harmonic field component is in the waist. Is a spherical phase factor is present the function tries to perform a Fresnel Propagation to the waist by a distance \(-SphericalPhaseRadius\) and a Fresnel Propagation by a distance \(SphericalPhaseRadius + distance\) to reduce numerical errors. More... | |
| static ComplexAmplitude | Frt (ComplexAmplitude ca, double distance, Complex n, double accuracyFactor, out bool areNumericalErrors) |
Propagates given ComplexAmplitude by the specified distance by computing the Fresnel transform. The function can interpolate the complex amplitude by sinc-interpolation to avoid numerical errors. The function uses the WaveParameters of the object to perform an optimal propagation. If no WaveParameters is present function assumes that the harmonic field component is in the waist. Is a spherical phase factor is present the function tries to perform a Fresnel Propagation to the waist by a distance -SphericalPhaseRadius and a Fresnel Propagation by a distance SphericalPhaseRadius + distance to reduce numerical errors. The output field size of the propagated field is estimated depending on the WaveParameters. More... | |
| static ComplexAmplitude | Frt (ComplexAmplitude ca, double distance, Complex n, VectorD outputFieldSize, double accuracyFactor, out bool areNumericalErrors) |
Propagates given ComplexAmplitude by the specified distance by computing the Fresnel transform. The function can interpolate the complex amplitude by sinc-interpolation to avoid numerical errors. The function uses the WaveParameters of the object to perform an optimal propagation. If no WaveParameters is present function assumes that the harmonic field component is in the waist. Is a spherical phase factor is present the function tries to perform a Fresnel Propagation to the waist by a distance -SphericalPhaseRadius and a Fresnel Propagation by a distance SphericalPhaseRadius + distance to reduce numerical errors. The desired output field size of the propagated field must be specified by the user. More... | |
| static VectorD | GetFarFieldPropagationArraySize (ComplexAmplitude ca, double distance, Complex n, FarFieldPropagationMode farFieldPropagationMode, bool isParaxialApproximation) |
| Calculates the optimal sampling distance and number of sampling points of the propagated field. The minimum number of sampling points per output plane diameter is 20 x 20. More... | |
| static VectorD | GetFarFieldPropagationSamplingDistance (ComplexAmplitude ca, double distance, Complex n, FarFieldPropagationMode farFieldPropagationMode) |
| Calculates the optimal sampling distance of the propagated field. The minimum number of sampling points per output plane diameter is 20 x 20. More... | |
| static VectorD | GetFarFieldPropagationSamplingDistance (ComplexAmplitude ca, double distance, Complex n, FarFieldPropagationMode farFieldPropagationMode, bool isParaxialApproximation) |
| Calculates the optimal sampling distance of the propagated field. The minimum number of sampling points per output plane diameter is 20 x 20. More... | |
| static SamplingParameters | GetFarFieldPropagationSamplingParameters (ComplexAmplitude ca, double distance, Complex n, FarFieldPropagationMode farFieldPropagationMode, bool isParaxialApproximation) |
| Return the outpuf field sampling parameters of the non paraxial far field propagation. More... | |
| static SamplingParameters | GetFarFieldPropagationSamplingParameters (ComplexAmplitude ca, double distance, Complex n, VectorD diameterOutputField, FarFieldPropagationMode farFieldPropagationMode) |
| Calculates the optimal sampling distance and number of sampling points of the propagated field. The minimum number of sampling points per output plane diameter is 20 x 20. More... | |
| static SamplingParameters | GetFarFieldPropagationSamplingParameters (ComplexAmplitude ca, double distance, Complex n, VectorD diameterOutputField, FarFieldPropagationMode farFieldPropagationMode, bool isParaxialApproximation) |
| Calculates the optimal sampling distance and number of sampling points of the propagated field. The minimum number of sampling points per output plane diameter is 20 x 20. More... | |
| static SamplingParameters | GetFrtInputFieldSamplingParametersFromOutputFieldSize (ComplexAmplitude ca, double distance, Complex n, VectorD outputFieldSize, out bool useBackToWaist) |
| Estimates the sampling parameters of the field to propagate so that the output field generated by the FRT will have the diameter as specified by the outputFieldSize parameter. In order to have small numerical errors of the simulation result the outputFieldSize should be so large that the most of the power (typically >99.99%) are included in this area. If a smaller output field size will be selected significant numerical errors may appear. The propagation can be done in a one step or two step process. In case of a one step propagation the propagation is directly done from the plane containing the complex amplitude into the target plane. The two step process tries to propagate back in the source plane of the spherical phase and to perform a second propagation step into the target plane. The two step process can be used if a spherical phase in present and if the required computer memory will be smaller as in case of a one step process. If the returned input field sampling parameters differ from the sampling parameters of the ComplexAmplitude to propagate an interpolation is required. The two step requires probably a further interpolation after the first interpolation step. More... | |
| static void | GetFrtInputFieldSamplingParametersFromOutputFieldSize (SamplingParameters fieldSamplingParameters, bool hasSphericalPhase, double sphericalPhaseRadius, double wavelength, double distance, Complex n, VectorD outputFieldSize, double accuracyFactor, out bool perform2StepPropagation, out SamplingParameters samplingParametersStep1, out SamplingParameters samplingParametersStep2) |
| Estimates the sampling parameters of the field to propagate so that the output field generated by the FRT will have the diameter as specified by the outputFieldSize parameter. In order to have small numerical errors of the simulation result the outputFieldSize should be so large that the most of the power (typically >99.99%) are included in this area. If a smaller output field size will be selected significant numerical errors may appear. The propagation can be done in a one step or two step process. In case of a one step propagation the propagation is directly done from the plane containing the complex amplitude into the target plane. The two step process tries to propagate back in the source plane of the spherical phase and to perform a second propagation step into the target plane. The two step process can be used if a spherical phase in present and if the required computer memory will be smaller as in case of a one step process. If the returned input field sampling parameters differ from the sampling parameters of the ComplexAmplitude to propagate an interpolation is required. The two step requires probably a further interpolation after the first interpolation step. More... | |
| static SamplingParameters | GetFrtSamplingParameters (ComplexAmplitude ca, double distance, Complex n) |
| Calculates the samplingparameters for the Fresnel Propagation to avoid numerical errors during the propagation. The function can decrease the sampling distance and increase the number of sampling points. More... | |
| static SamplingParameters | GetFrtSamplingParameters (ComplexAmplitude ca, double distance, Complex n, double samplingFactor) |
| Calculates the samplingparameters for the Fresnel Propagation to avoid numerical errors during the propagation. The function can decrease the sampling distance and increase the number of sampling points. More... | |
| static SamplingParameters | GetRayleighSommerfeldConvolutionSamplingParameters (ComplexAmplitude ca, double distance, Complex n) |
| Calculates the sampling parameters for the Rayleigh-Sommerfeld Convolution propagation to avoid numerical errors during the propagation. The function can decrease the sampling distance and increase the number of sampling points. The function takes into account possible spherical phase factors. More... | |
| static SamplingParameters | GetRayleighSommerfeldConvolutionSamplingParameters (ComplexAmplitude ca, double distance, Complex n, double accuracyFactor) |
| Calculates the sampling parameters for the Rayleigh-Sommerfeld Convolution propagation to avoid numerical errors during the propagation. The function can decrease the sampling distance and increase the number of sampling points. The function takes into account possible spherical phase factors. More... | |
| static VectorD | GetRayleighSommerfeldSummationSamplingDistance (ComplexAmplitude ca, double distance, Complex n) |
| Calculates the optimal sampling distance of the propagated field. More... | |
| static SamplingParameters | GetSpwInputFieldSamplingParameters (ComplexAmplitude ca, double distance, Complex n, double accuracyFactor) |
| Calculates the sampling parameters of the input field to propagate by the spectrum of plane waves propagation to avoid numerical errors during the propagation. The function can increase the number of sampling points and can decrease the sampling distance in case of a present spherical phase factor. The sampling parameters return the width (sampling points mulitplied by sampling distance divided by 2) of the wave after the SPW propagation. Is the width of the returned sampling parameters larger than the width of the ca object embed the field before the propagation. Is the width of the sampling parameters smaler than the width of the ca obect first propagate the field and then extract the necessary sampling points. The function uses the WaveParameters (if present) to approximate the changing of the wave width during the propagation. Is the HasWaveParameters property of the ComplexAmplitude object false then the function assumes the the object is in the waist and sets the WaveParameters. More... | |
| static SamplingParameters | GetSpwInputFieldSamplingParametersFromOutputFieldSize (ComplexAmplitude ca, double distance, Complex n, VectorD outputFieldSize, double accuracyFactor) |
| Estimates the sampling parameters of the field to propagate so that the output field generated by the SPW will have the diameter as specified by the outputFieldSize parameter. In order to have small numerical errors of the simulation result the outputFieldSize should be so large that the most of the power (typically >99.99%) are included in this area. If a smaller output field size will be selected significant numerical errors may appear. If the returned input field sampling parameters differ from the sampling parameters Complex Amplitude to propagate an interpolation is required. More... | |
| static SamplingParameters | GetSpwOutputFieldSamplingParameters (ComplexAmplitude ca, double distance, Complex n, double accuracyFactor) |
| Calculates the sampling parameters of the output field for the spectrum of plane waves propagation to avoid numerical errors during the propagation. The function can increase the number of sampling points and can decrease the sampling distance in case of a present spherical phase factor. The sampling parameters return the width (sampling points mulitplied by sampling distance divided by 2) of the wave after the SPW propagation. Is the width of the returned sampling parameters larger than the width of the ca object embed the field before the propagation. Is the width of the sampling parameters smaler than the width of the ca obect first propagate the field and then extract the necessary sampling points. The function uses the WaveParameters (if present) to approximate the changing of the wave width during the propagation. Is the HasWaveParameters property of the ComplexAmplitude object false then the function assumes the the object is in the waist and sets the WaveParameters. More... | |
| static ComplexAmplitude | RayleighSommerfeldConvolution (ComplexAmplitude ca, double distance, bool automaticInputFieldSampling, double accuracyFactor, VectorD inputFieldSamplingDistance) |
| Propagates the given ComplexAmplitude by the specified distance by a convolution of the complex amplitude and the propagation core (Rayleigh-Sommerfeld integral). The convolution is calculated in the frequency domain. The function can interpolate the complex amplitude by sinc-interpolation to avoid numerical errors. The ComplexAmplitude ca is changed during the propagation. More... | |
| static ComplexAmplitude | RayleighSommerfeldConvolution (ComplexAmplitude ca, double distance, Complex n, bool automaticInputFieldSampling, double accuracyFactor, VectorD inputFieldSamplingDistance, bool automaticOutputFieldSizeShape, double outputFieldSizeFactor, VectorD outputFieldFieldSize, BasicParameter.eApertureShape outputFieldShape, double outputFieldBorderWidth, bool automaticOutputFieldSampling, double outputFieldSamplingFactor, int outputFieldEmbedFrameWidth, SamplingParameters outputFieldSamplingParameters, out bool areNumericalErrors) |
| Propagates the given ComplexAmplitude by the specified distance by a convolution of the complex amplitude and the propagation core (Rayleigh-Sommerfeld integral). The convolution is calculated in the frequency domain. The function can interpolate the complex amplitude by sinc-interpolation to avoid numerical errors. The ComplexAmplitude ca is changed during the propagation. More... | |
| static ComplexAmplitude | RayleighSommerfeldSummation (ComplexAmplitude ca, VectorD resultLateralOffset, double distance, bool automaticInputFieldSampling, double accuracyFactor, SamplingParameters inputFieldSamplingParameters, bool automaticOutputFieldSizeShape, double outputFieldSizeFactor, VectorD outputFieldFieldSize, BasicParameter.eApertureShape outputFieldShape, double outputFieldBorderWidth, bool automaticOutputFieldSampling, double outputFieldSamplingFactor, int outputFieldEmbedFrameWidth, SamplingParameters outputFieldSamplingParameters, Complex n, out Boolean areSamplingProblems) |
| Propagates the given ComplexAmplitude by the specified distance by a convolution of the complex amplitude and the propagation core (Rayleigh-Sommerfeld integral). The convolution is calculated in the frequency domain. The ComplexAmplitude ca is changed during the propagation. The function ignores present WaveParameters. Because of this additional numerical errors may occure during the propagation. Use areSamplingProblems to check for numerical errors before propagating. More... | |
| static ComplexAmplitude | Spw (ComplexAmplitude ca, double distance, bool automaticInputFieldSampling, double accuracyFactor, SamplingParameters inputFieldSamplingParameters) |
| Propagates the given ComplexAmplitude by the specified distance by computing the Angular Spectrum of Plane Waves. The function can increase the number of sampling points to avoid numerical errors. The minimum embedding of the complex amplitude is determined by Globals.SamplingFactor. The function uses the WaveParameters of the object to provide a optimal propagation. Is the HasWaveParameters property false the function assumes that the harmonic field component is in the waist. More... | |
| static ComplexAmplitude | Spw (ComplexAmplitude ca, double distance, Complex n, bool automaticInputFieldSampling, double accuracyFactor, SamplingParameters inputFieldSamplingParameters, bool automaticOutputFieldSizeShape, double outputFieldSizeFactor, VectorD outputFieldFieldSize, BasicParameter.eApertureShape outputFieldShape, double outputFieldBorderWidth, bool automaticOutputFieldSampling, double outputFieldSamplingFactor, int outputFieldEmbedFrameWidth, SamplingParameters outputFieldSamplingParameters, out bool areNumericalErrors) |
| [AI] Propagates the given ComplexAmplitude by the specified distance by computing the Angular Spectrum of Plane Waves. The function modifies the sampling parameters of the input field specified in the inputFieldSamplingParameters parameter before the propagation in order to reduce numerical errors. The modification can be done by user or automatically Additionally the user may specify the output field sampling parameters and the field size, shape and broder width of the output field. Is the HasWaveParameters property false the function assumes that the harmonic field component is in the waist. More... | |
| static ComplexAmplitude | Spw (ComplexAmplitude ca, double distance, Complex n, double accuracyFactor, out bool areNumericalErrors) |
| Propagates the given ComplexAmplitude by the specified distance by computing the Angular Spectrum of Plane Waves. The function can increase the number of sampling points to avoid numerical errors. The minimum embedding of the complex amplitude is determined by Globals.SamplingFactor. The function uses the WaveParameters of the object to provide a optimal propagation. Is the HasWaveParameters property false the function assumes that the harmonic field component is in the waist. More... | |
This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
This class contains a number of static member functions performing well-known elementary wave propagation operators. In difference to the ElementaryPropagationOperators class all functions change number of sampling points and the sampling distance automatically the number of sampling points and the sampling distance to avoid numerical errors. Additionally some functions are provided that can estimate the necessary number of sampling points and the sampling distance to avoid numerical errors.
|
static |
Performs a far field propagation without paraxial approximation. The far field approximation of the Rayleigh-Sommerfeld propagation is used. Just for paraxial wave the far field is the Fourier Transform of the waist of the wave. In general it is the Fourier Transform plus a coordinate transformation. If a propagation between two far field points is performs it is assumed that the SphericalPhaseRadius information is equal to the distance from the waist.
| ca | ComplexAmplitude to propagate. |
| distance | Propagation distance. |
| n | Complex refractive index of media in which propagation is applied. |
| accuracyFactor | The accuracy factor. A larger factor leads to more accurate results but to higher computational effort. |
| automaticOutputFieldSizeShape | If true the output field size, shape and border width are determined by VirtualLab automatically. Otherwise the values can be specified using the outputFieldSize, outputFieldShape and outputFieldBorderWidth parameters. |
| outputFieldSizeFactor | In case of automaticOutputFieldSizeShape VirtualLab estimates the correct size of the propagated field. The resulting value is multiplied by this factor. |
| outputFieldFieldSize | The diameter of the output field in meters. The diameter is measured before the beginning of the border decay of amplitude. |
| outputFieldShape | The shape of the field. |
| outputFieldBorderWidth | The width of the borders of the field relative to the field diameter. The border width is measured between the begin of the amplitude decay and the zero position of the field. |
| automaticOutputFieldSampling | Enables automatic determination of the required array size and number of sampling points of the output field to minimize numerical errors. Additionally the user may use the outputFieldSamplingFactor to additionally increase or reduce the number of sampling points. The array size of the output field will be calculated from the estimation of the field size multiplied by the outputFieldSizeFactor plus the outputFieldBorderWidth multiplied by the field size plus the embedFrameWidth multiplied by the sampling distance. If automaticOutputFieldSampling is false the outputFieldSamplingParameters will be used. |
| outputFieldSamplingFactor | If automaticOutputFieldSampling is true VirtualLab estimates the number of sampling points of the output field and multiplies the value by outputFieldSamplingFactor. |
| outputFieldEmbedFrameWidth | If automaticOutputFieldSampling is false additionally a frame with dark pixels (amplitude equals zero) around the field can be added. This embed frame is required since the continuous field distribution can be reconstructed using a sinc interpolation. This interpolation will introduce small sized loops that are larger than the numerical field size. To take this side loops at least partially into account during the interpolation this embed frame is required. The extension of this frame in sampling points can be specified by this parameter. |
| outputFieldSamplingParameters | The sampling parameters of the output field. Normally these sampling parameters should be equal to the inputFieldSamplingParameters but the use may change it to any other value. |
| areNumericalErrors | Returns true if the user defined settings of the numerical accuracy parameter may caused numerical errors during the propagation. This is typically the case if numericalAccuracyFactor is smaller than one. |
| interpolationMethod | A coordinate transform is performed during the propagation. To do this an interpolation is necessary. This parameters specifies the used point wise interpolation method. |
| farFieldPropagationMode | The far field propagation mode tells the function if a propagation from the waist to the far field or vise versa should be performed. |
| isParaxialApproximation | If true the far field propagation will be calculated in non-paraxial approximation (Fraunhofer propagation). |
| usedIn | TODO |
|
static |
Performs a far field propagation without paraxial approximation. The far field approximation of the Rayleigh-Sommerfeld propagation is used. Just for paraxial wave the far field is the Fourier Transform of the waist of the wave. In general it is the Fourier Transform plus a coordinate transformation. If a propagation between two far field points is performs it is assumed that the SphericalPhaseRadius information is equal to the distance from the waist.
| hfs | HarmonicFieldsSet to propagate. |
| distance | Propagation distance. |
| accuracyFactor | The accuracy factor. A larger factor leads to more accurate results but to higher computational effort. |
| automaticOutputFieldSizeShape | If true the output field size, shape and border width are determined by VirtualLab automatically. Otherwise the values can be specified using the outputFieldSize, outputFieldShape and outputFieldBorderWidth parameters. |
| outputFieldSizeFactor | In case of automaticOutputFieldSizeShape VirtualLab estimates the correct size of the propagated field. The resulting value is multiplied by this factor. |
| outputFieldFieldSize | The diameter of the output field in meters. The diameter is measured before the beginning of the border decay of amplitude. |
| outputFieldShape | The shape of the field. |
| outputFieldBorderWidth | The width of the borders of the field relative to the field diameter. The border width is measured between the begin of the amplitude decay and the zero position of the field. |
| automaticOutputFieldSampling | Enables automatic determination of the required array size and number of sampling points of the output field to minimize numerical errors. Additionally the user may use the outputFieldSamplingFactor to additionally increase or reduce the number of sampling points. The array size of the output field will be calculated from the estimation of the field size multiplied by the outputFieldSizeFactor plus the outputFieldBorderWidth multiplied by the field size plus the embedFrameWidth multiplied by the sampling distance. If automaticOutputFieldSampling is false the outputFieldSamplingParameters will be used. |
| outputFieldSamplingFactor | If automaticOutputFieldSampling is true VirtualLab estimates the number of sampling points of the output field and multiplies the value by outputFieldSamplingFactor. |
| outputFieldEmbedFrameWidth | If automaticOutputFieldSampling is false additionally a frame with dark pixels (amplitude equals zero) around the field can be added. This embed frame is required since the continuous field distribution can be reconstructed using a sinc interpolation. This interpolation will introduce small sized loops that are larger than the numerical field size. To take this side loops at least partially into account during the interpolation this embed frame is required. The extension of this frame in sampling points can be specified by this parameter. |
| outputFieldSamplingParameters | The sampling parameters of the output field. Normally these sampling parameters should be equal to the inputFieldSamplingParameters but the use may change it to any other value. |
| areNumericalErrors | Returns true if the user defined settings of the numerical accuracy parameter may caused numerical errors during the propagation. This is typically the case if numericalAccuracyFactor is smaller than one. |
| interpolationMethod | A coordinate transform is performed during the propagation. To do this an interpolation is necessary. This parameters specifies the used point wise interpolation method. |
| farFieldPropagationMode | The far field propagation mode tells the function if a propagation from the waist to the far field or vise versa should be performed. |
| isParaxialApproximation | If true the far field propagation will be calculated in non-paraxial approximation (Fraunhofer propagation). |
| usedIn | TODO |
|
static |
Propagates given ComplexAmplitude by the specified distance by computing the Fresnel transform. The function can interpolate the complex amplitude by sinc-interpolation to avoid numerical errors. The function uses the WaveParameters of the object to perform an optimal propagation. If no WaveParameters is present function assumes that the harmonic field component is in the waist. Is a spherical phase factor is present the function tries to perform a Fresnel Propagation to the waist by a distance -SphericalPhaseRadius and a Fresnel Propagation by a distance SphericalPhaseRadius + distance to reduce numerical errors.
| ca | ComplexAmplitude to be propagated. |
| distance | Propagation distance in meters. |
| automaticInputFieldSampling | Enables automatic determination of the required array size and number of sampling points of the input field to minimize numerical errors. Additionally the user may use the accuracyFactor to additionally increase or reduce the number of sampling points and array size. If automaticInputFieldSampling is false the inputFieldSamplingParameters will be used to modify the sampling parameters of the input field before the propagation. |
| accuracyFactor | The accuracy factor used in case of automatic input field sampling. |
| inputFieldSamplingDistance | The function modifies the sampling parameters of the input field before the propagation to the values specified here. This parameter allows to modify the input field sampling distance to user defined values. To get an estimation for input field sampling parameters please use the GetSpwSamplingParameters function. |
|
static |
[AI] Propagates the given ComplexAmplitude by the specified distance by computing the Fresnel propagation. The function modifies the sampling distance of the input field specified in the inputFieldSamplingDistance parameter before the propagation in order to reduce numerical errors. The modification can be done by user or automatically Additionally the user may specify the output field sampling parameters and the field size, shape and broder width of the output field. Is the HasWaveParameters property false the function assumes that the harmonic field component is in the waist. Is a spherical phase factor is present the function tries to perform a Fresnel Propagation to the waist by a distance \(-SphericalPhaseRadius\) and a Fresnel Propagation by a distance \(SphericalPhaseRadius + distance\) to reduce numerical errors.
| ca | The field to propagate. |
| distance | The propagation distance. |
| n | The refractive index of the homogeneous medium in that the field propagates. |
| automaticInputFieldSampling | Enables automatic determination of the required number of sampling points and sampling distance of the input field to minimize numerical errors. Additionally the user may use the inputFieldSamplingFactor to additionally increase or reduce the number of sampling points per array size. If automaticInputFieldSampling is false the inputFieldSamplingDistance will be used to modify the sampling parameters of the input field before the propagation. |
| inputFieldSamplingFactor | In case of automaticInputFieldSampling VirtualLab estimates the required number of sampling points per array size to minimize numerical errors. The resulting estimation of the number of sampling points will be mulitplied by this factor while the array siez is kept constant. |
| inputFieldSamplingDistance | The function modifies the sampling distance of the input field before the propagation to the value specified here. This parameter allows to modify the input field sampling distance to user defined values. To get an estimation for input field sampling distance please use the GetFrtSamplingParameters function. |
| automaticOutputFieldSizeShape | If true the output field size, shape and border width are determined by VirtualLab automatically. Otherwise the values can be specified using the outputFieldSize, outputFieldShape and outputFieldBorderWidth parameters. |
| outputFieldSizeFactor | In case of automaticOutputFieldSizeShape VirtualLab estimates the correct size of the propagated field. The resulting value is multiplied by this factor. |
| outputFieldFieldSize | The diameter of the output field in meters. The diameter is measured before the beginning of the border decay of amplitude. |
| outputFieldShape | The shape of the field. |
| outputFieldBorderWidth | The width of the borders of the field relative to the field diameter. The border width is measured between the begin of the amplitude decay and the zero position of the field. |
| automaticOutputFieldSampling | Enables automatic determination of the required array size and number of sampling points of the output field to minimize numerical errors. Additionally the user may use the outputFieldSamplingFactor to additionally increase or reduce the number of sampling points. The array size of the output field will be calculated from the estimation of the field size multiplied by the outputFieldSizeFactor plus the outputFieldBorderWidth multiplied by the field size plus the embedFrameWidth multiplid by the sampling distance. If automaticOutputFieldSampling is false the outputFieldSamplingParameters will be used. |
| outputFieldSamplingFactor | If automaticOutputFieldSampling is true VirtualLab estimates the number of sampling points of the output field and multiplies the value by outputFieldSamplingFactor. |
| outputFieldEmbedFrameWidth | If automaticOutputFieldSampling is false additionally a frame with dark pixels (amplitude equals zero) around the field can be added. This embed frame is required since the continuous field distribution can be reconstructed using a sinc interpolation. This interpolation will introduce small sized loops that are larger than the numerical field size. To take this side loops at least partially into account during the interpolation this embed frame is required. The extension of this frame in sampling points can be specified by this parameter. |
| outputFieldSamplingParameters | The sampling parameters of the output field. Normally these sampling parameters should be equal to the inputFieldSamplingParameters but the use may change it to any other value. |
| areNumericalErrors | True if the user defined settings of the input field sampling parameters may caused numerical errors during the propagation. This parameter is just set if automaticInputFieldSampling is false. |
|
static |
Propagates given ComplexAmplitude by the specified distance by computing the Fresnel transform. The function can interpolate the complex amplitude by sinc-interpolation to avoid numerical errors. The function uses the WaveParameters of the object to perform an optimal propagation. If no WaveParameters is present function assumes that the harmonic field component is in the waist. Is a spherical phase factor is present the function tries to perform a Fresnel Propagation to the waist by a distance -SphericalPhaseRadius and a Fresnel Propagation by a distance SphericalPhaseRadius + distance to reduce numerical errors. The output field size of the propagated field is estimated depending on the WaveParameters.
| ca | ComplexAmplitude to be propagated. |
| distance | Propagation distance in meters. |
| n | Complex refractive index of media in which propagation is applied. |
| accuracyFactor | VirtualLab estimates and modifies the number of sampling points of the input field before the propagation in order to reduce numerical errors. The estimated number of sampling points is multiplied by this factor to to increase or decrease numerical accuracy. |
| areNumericalErrors | True if numerical errors may appear in the propagated field. This warning appears if samplingFactor is smaller than one. |
|
static |
Propagates given ComplexAmplitude by the specified distance by computing the Fresnel transform. The function can interpolate the complex amplitude by sinc-interpolation to avoid numerical errors. The function uses the WaveParameters of the object to perform an optimal propagation. If no WaveParameters is present function assumes that the harmonic field component is in the waist. Is a spherical phase factor is present the function tries to perform a Fresnel Propagation to the waist by a distance -SphericalPhaseRadius and a Fresnel Propagation by a distance SphericalPhaseRadius + distance to reduce numerical errors. The desired output field size of the propagated field must be specified by the user.
| ca | ComplexAmplitude to be propagated. |
| distance | Propagation distance in meters. |
| n | Complex refractive index of media in which propagation is applied. |
| outputFieldSize | The diameter of the output field of the propagation. It should be large enough to contain at least 99% of the power of the output field. the output field diameter is used to control the simulation accuracy of the propagation. |
| accuracyFactor | VirtualLab estimates and modifies the number of sampling points of the input field before the propagation in order to reduce numerical errors. The estimated number of sampling points is multiplied by this factor to to increase or decrease numerical accuracy. |
| areNumericalErrors | True if numerical errors may appear in the propagated field. This warning appears if samplingFactor is smaller than one. |
|
static |
Calculates the optimal sampling distance and number of sampling points of the propagated field. The minimum number of sampling points per output plane diameter is 20 x 20.
| ca | ComplexAmplitude to propagate. |
| distance | Propagation distance. |
| n | Complex refractive index of media in which propagation is applied. |
| farFieldPropagationMode | The far field propagation mode tells the function if a propagation from the waist to the far field or vise versa should be performed. |
| isParaxialApproximation | If true the far field propagation will be calculated inparaxial approximation (Fraunhofer propagation). |
|
static |
Calculates the optimal sampling distance of the propagated field. The minimum number of sampling points per output plane diameter is 20 x 20.
| ca | ComplexAmplitude to propagate. |
| distance | Propagation distance. |
| n | Complex refractive index of media in which propagation is applied. |
| farFieldPropagationMode | The far field propagation mode tells the function if a propagation from the waist to the far field or vise versa should be performed. |
|
static |
Calculates the optimal sampling distance of the propagated field. The minimum number of sampling points per output plane diameter is 20 x 20.
| ca | ComplexAmplitude to propagate. |
| distance | Propagation distance. |
| n | Complex refractive index of media in which propagation is applied. |
| farFieldPropagationMode | The far field propagation mode tells the function if a propagation from the waist to the far field or vise versa should be performed. |
| isParaxialApproximation | If true the far field propagation will be calculated inparaxial approximation (Fraunhofer propagation). |
|
static |
Return the outpuf field sampling parameters of the non paraxial far field propagation.
| ca | The complex amplitude to propagate. |
| distance | Propagation distance. |
| n | The refractive index of the mediuk containing the wave. |
| farFieldPropagationMode | The far field propagation mode tells the function if a propagation from the waist to the far field or vise versa should be performed. |
| isParaxialApproximation | If true the far field propagation will be calculated inparaxial approximation (Fraunhofer propagation). |
|
static |
Calculates the optimal sampling distance and number of sampling points of the propagated field. The minimum number of sampling points per output plane diameter is 20 x 20.
| ca | ComplexAmplitude to propagate. |
| distance | Propagation distance. |
| n | Complex refractive index of media in which propagation is applied. |
| diameterOutputField | The diameter of the field in the output plane. |
| farFieldPropagationMode | The far field propagation mode tells the function if a propagation from the waist to the far field or vise versa should be performed. |
|
static |
Calculates the optimal sampling distance and number of sampling points of the propagated field. The minimum number of sampling points per output plane diameter is 20 x 20.
| ca | ComplexAmplitude to propagate. |
| distance | Propagation distance. |
| n | Complex refractive index of media in which propagation is applied. |
| diameterOutputField | The diameter of the field in the output plane. |
| farFieldPropagationMode | The far field propagation mode tells the function if a propagation from the waist to the far field or vise versa should be performed. |
| isParaxialApproximation | If true the far field propagation will be calculated inparaxial approximation (Fraunhofer propagation). |
|
static |
Estimates the sampling parameters of the field to propagate so that the output field generated by the FRT will have the diameter as specified by the outputFieldSize parameter. In order to have small numerical errors of the simulation result the outputFieldSize should be so large that the most of the power (typically >99.99%) are included in this area. If a smaller output field size will be selected significant numerical errors may appear. The propagation can be done in a one step or two step process. In case of a one step propagation the propagation is directly done from the plane containing the complex amplitude into the target plane. The two step process tries to propagate back in the source plane of the spherical phase and to perform a second propagation step into the target plane. The two step process can be used if a spherical phase in present and if the required computer memory will be smaller as in case of a one step process. If the returned input field sampling parameters differ from the sampling parameters of the ComplexAmplitude to propagate an interpolation is required. The two step requires probably a further interpolation after the first interpolation step.
| ca | Complex Amplitude to propagate by FRT. |
| distance | Propagation distance of the FRT. |
| n | Refractive index of the medium containing the complex amplitude. |
| outputFieldSize | Desired diameter of the propagated field (output field). Please take into account that this parameter should give an good estimation of the physical field size of the propagated field. |
| useBackToWaist | If true a two step propagation should be used (see above) |
|
static |
Estimates the sampling parameters of the field to propagate so that the output field generated by the FRT will have the diameter as specified by the outputFieldSize parameter. In order to have small numerical errors of the simulation result the outputFieldSize should be so large that the most of the power (typically >99.99%) are included in this area. If a smaller output field size will be selected significant numerical errors may appear. The propagation can be done in a one step or two step process. In case of a one step propagation the propagation is directly done from the plane containing the complex amplitude into the target plane. The two step process tries to propagate back in the source plane of the spherical phase and to perform a second propagation step into the target plane. The two step process can be used if a spherical phase in present and if the required computer memory will be smaller as in case of a one step process. If the returned input field sampling parameters differ from the sampling parameters of the ComplexAmplitude to propagate an interpolation is required. The two step requires probably a further interpolation after the first interpolation step.
| fieldSamplingParameters | The sampling parameters of the complex amplitude to propagate. |
| hasSphericalPhase | Indicates if the complex amplitude to propagate contains a spherical phase radius. |
| sphericalPhaseRadius | The spherical phase radius of the complex amplitude to propagate. |
| wavelength | The wavelength of the complex amplitude to propagate. |
| distance | The propagation distance. This means the distance from the plane containing the complex amplitude to propagate to the target plane. |
| n | The complex refractive index of the homogeneous medium containing the complex amplitude to propagate. |
| outputFieldSize | The desired diameter of the output field. The output field size should by huge enough so that it will contain more than 99% of the power of the field. Otherwise numerical errors may appear. |
| accuracyFactor | The accuracy factor is just used for the two step propagation (see above). For the back propagation into the source plane of the spherical phase the field size in this plane must be estimated. The estimated field size will be multiplied by this accuracy factor. |
| perform2StepPropagation | If true a two step propagation should be used (see above). |
| samplingParametersStep1 | The required sampling parameters of the complex amplitude of the first propagations step. The complex amplitude to propagate must be interpolated to this sampling parameters before starting the first propagation step. |
| samplingParametersStep2 | The required sampling parameters of the complex amplitude of the second propagations step. The resulting complex amplitude after the first propagation step must be interpolated to this sampling parameters before starting the second step. If perform2StepPropagation is false no second propagation step is required and null will be returned. |
|
static |
Calculates the samplingparameters for the Fresnel Propagation to avoid numerical errors during the propagation. The function can decrease the sampling distance and increase the number of sampling points.
| ca | Complex amplitude to propagate. |
| distance | Propagation distance. |
| n | Refractive index of the homogeneous medium. |
|
static |
Calculates the samplingparameters for the Fresnel Propagation to avoid numerical errors during the propagation. The function can decrease the sampling distance and increase the number of sampling points.
| ca | Complex amplitude to propagate. |
| distance | Propagation distance. |
| n | Refractive index of the homogeneous medium. |
| samplingFactor | VirtualLab estimates and modifies the number of sampling points and sampling distance of the input field before the propagation in order to reduce numerical errors. The estimated number of sampling points is multiplied by this factor to to increase or decrease numerical accuracy. |
|
static |
Calculates the sampling parameters for the Rayleigh-Sommerfeld Convolution propagation to avoid numerical errors during the propagation. The function can decrease the sampling distance and increase the number of sampling points. The function takes into account possible spherical phase factors.
| ca | Complex amplitude to propagate. |
| distance | Propagation distance. |
| n | Refractive index of the homogeneous medium. |
|
static |
Calculates the sampling parameters for the Rayleigh-Sommerfeld Convolution propagation to avoid numerical errors during the propagation. The function can decrease the sampling distance and increase the number of sampling points. The function takes into account possible spherical phase factors.
| ca | Complex amplitude to propagate. |
| distance | Propagation distance. |
| n | Refractive index of the homogeneous medium. |
| accuracyFactor | VirtualLab estimates the numerical parameters of the input field to propagate in order to reduce numerical errors. The estimated number of sampling points is multiplied by this factor to to increase or decrease numerical accuracy. |
|
static |
Calculates the optimal sampling distance of the propagated field.
| ca | ComplexAmplitude to propagate. |
| distance | Propagation distance. |
| n | Complex refractive index of media in which propagation is applied. |
|
static |
Calculates the sampling parameters of the input field to propagate by the spectrum of plane waves propagation to avoid numerical errors during the propagation. The function can increase the number of sampling points and can decrease the sampling distance in case of a present spherical phase factor. The sampling parameters return the width (sampling points mulitplied by sampling distance divided by 2) of the wave after the SPW propagation. Is the width of the returned sampling parameters larger than the width of the ca object embed the field before the propagation. Is the width of the sampling parameters smaler than the width of the ca obect first propagate the field and then extract the necessary sampling points. The function uses the WaveParameters (if present) to approximate the changing of the wave width during the propagation. Is the HasWaveParameters property of the ComplexAmplitude object false then the function assumes the the object is in the waist and sets the WaveParameters.
| ca | Complex amplitude component to propagate. Has to be a harmonic field component. |
| distance | Propagation distance. |
| n | Refractive index of the homogeneous medium. |
| accuracyFactor | The accuracy factor. |
|
static |
Estimates the sampling parameters of the field to propagate so that the output field generated by the SPW will have the diameter as specified by the outputFieldSize parameter. In order to have small numerical errors of the simulation result the outputFieldSize should be so large that the most of the power (typically >99.99%) are included in this area. If a smaller output field size will be selected significant numerical errors may appear. If the returned input field sampling parameters differ from the sampling parameters Complex Amplitude to propagate an interpolation is required.
| ca | Complex Amplitude to propagate by SPW. |
| distance | Propagation distance of the SPW. |
| n | Refractive index of the medium containing the complex amplitude. |
| outputFieldSize | Desired diameter of the propagated field (output field). Please take into account that this parameter should give an good estimation of the physical field size of the propagated field. |
| accuracyFactor | Increasing this factor to values larger than one will lead to more accurate simulation results during SPW propagation on the cost of memory and computational time. This parameter has just an effect if a spherical phase radius is set. |
|
static |
Calculates the sampling parameters of the output field for the spectrum of plane waves propagation to avoid numerical errors during the propagation. The function can increase the number of sampling points and can decrease the sampling distance in case of a present spherical phase factor. The sampling parameters return the width (sampling points mulitplied by sampling distance divided by 2) of the wave after the SPW propagation. Is the width of the returned sampling parameters larger than the width of the ca object embed the field before the propagation. Is the width of the sampling parameters smaler than the width of the ca obect first propagate the field and then extract the necessary sampling points. The function uses the WaveParameters (if present) to approximate the changing of the wave width during the propagation. Is the HasWaveParameters property of the ComplexAmplitude object false then the function assumes the the object is in the waist and sets the WaveParameters.
| ca | Complex amplitude component to propagate. Has to be a harmonic field component. |
| distance | Propagation distance. |
| n | Refractive index of the homogeneous medium. |
| accuracyFactor | The accuracy factor. |
|
static |
Propagates the given ComplexAmplitude by the specified distance by a convolution of the complex amplitude and the propagation core (Rayleigh-Sommerfeld integral). The convolution is calculated in the frequency domain. The function can interpolate the complex amplitude by sinc-interpolation to avoid numerical errors. The ComplexAmplitude ca is changed during the propagation.
| ca | ComplexAmplitude to be propagated. |
| distance | Propagation distance in meters. |
| automaticInputFieldSampling | Enables automatic determination of the required array size and number of sampling points of the input field to minimize numerical errors. Additionally the user may use the accuracyFactor to additionally increase or reduce the number of sampling points and array size. If automaticInputFieldSampling is false the inputFieldSamplingParameters will be used to modify the sampling parameters of the input field before the propagation. |
| accuracyFactor | The accuracy factor used in case of automatic input field sampling. |
| inputFieldSamplingDistance | The function modifies the sampling parameters of the input field before the propagation to the values specified here. This parameter allows to modify the input field sampling distance to user defined values. To get an estimation for input field sampling parameters please use the GetSpwSamplingParameters function. |
|
static |
Propagates the given ComplexAmplitude by the specified distance by a convolution of the complex amplitude and the propagation core (Rayleigh-Sommerfeld integral). The convolution is calculated in the frequency domain. The function can interpolate the complex amplitude by sinc-interpolation to avoid numerical errors. The ComplexAmplitude ca is changed during the propagation.
| ca | ComplexAmplitude to be propagated. |
| distance | Propagation distance in meters. |
| n | Complex refractive index of media in which propagation is applied. |
| automaticInputFieldSampling | if set to true [automatic input field sampling]. |
| accuracyFactor | The accuracy factor. A larger factor leads to more accurate results but to higher computational effort. |
| inputFieldSamplingDistance | The input field sampling distance. |
| automaticOutputFieldSizeShape | If true the output field size, shape and border width are determined by VirtualLab automatically. Otherwise the values can be specified using the outputFieldSize, outputFieldShape and outputFieldBorderWidth parameters. |
| outputFieldSizeFactor | In case of automaticOutputFieldSizeShape VirtualLab estimates the correct size of the propagated field. The resulting value is multiplied by this factor. |
| outputFieldFieldSize | The diameter of the output field in meters. The diameter is measured before the beginning of the border decay of amplitude. |
| outputFieldShape | The shape of the field. |
| outputFieldBorderWidth | The width of the borders of the field relative to the field diameter. The border width is measured between the begin of the amplitude decay and the zero position of the field. |
| automaticOutputFieldSampling | Enables automatic determination of the required array size and number of sampling points of the output field to minimize numerical errors. Additionally the user may use the outputFieldSamplingFactor to additionally increase or reduce the number of sampling points. The array size of the output field will be calculated from the estimation of the field size multiplied by the outputFieldSizeFactor plus the outputFieldBorderWidth multiplied by the field size plus the embedFrameWidth multiplid by the sampling distance. If automaticOutputFieldSampling is false the outputFieldSamplingParameters will be used. |
| outputFieldSamplingFactor | If automaticOutputFieldSampling is true VirtualLab estimates the number of sampling points of the output field and multiplies the value by outputFieldSamplingFactor. |
| outputFieldEmbedFrameWidth | If automaticOutputFieldSampling is false additionally a frame with dark pixels (amplitude equals zero) around the field can be added. This embed frame is required since the continuous field distribution can be reconstructed using a sinc interpolation. This interpolation will introduce small sized loops that are larger than the numerical field size. To take this side loops at least partially into account during the interpolation this embed frame is required. The extension of this frame in sampling points can be specified by this parameter. |
| outputFieldSamplingParameters | The sampling parameters of the output field. Normally these sampling parameters should be equal to the inputFieldSamplingParameters but the use may change it to any other value. |
| areNumericalErrors | Returns true if the user defined settings of the numerical accuracy parameter may caused numerical errors during the propagation. This is typically the case if numericalAccuracyFactor is smaller than one. |
|
static |
Propagates the given ComplexAmplitude by the specified distance by a convolution of the complex amplitude and the propagation core (Rayleigh-Sommerfeld integral). The convolution is calculated in the frequency domain. The ComplexAmplitude ca is changed during the propagation. The function ignores present WaveParameters. Because of this additional numerical errors may occure during the propagation. Use areSamplingProblems to check for numerical errors before propagating.
| ca | ComplexAmplitude to propagate. |
| resultLateralOffset | Lateral offset of propagated field. |
| distance | Propagation distance. |
| automaticInputFieldSampling | if set to true [automatic input field sampling]. |
| accuracyFactor | The accuracy factor. |
| inputFieldSamplingParameters | The input field sampling parameters. |
| automaticOutputFieldSizeShape | If true the output field size, shape and border width are determined by VirtualLab automatically. Otherwise the values can be specified using the outputFieldSize, outputFieldShape and outputFieldBorderWidth parameters. |
| outputFieldSizeFactor | In case of automaticOutputFieldSizeShape VirtualLab estimates the correct size of the propagated field. The resulting value is multiplied by this factor. |
| outputFieldFieldSize | The diameter of the output field in meters. The diameter is measured before the beginning of the border decay of amplitude. |
| outputFieldShape | The shape of the field. |
| outputFieldBorderWidth | The width of the borders of the field relative to the field diameter. The border width is measured between the beginn of the amplitude decay and the zero position of the field. |
| automaticOutputFieldSampling | Enables automatic determination of the required array size and number of sampling points of the output field to minimize numerical errors. Additionally the user may use the outputFieldSamplingFactor to additionally increase or reduce the number of sampling points. The array size of the output field will be calculated from the estimation of the field size multiplied by the outputFieldSizeFactor plus the outputFieldBorderWidth multiplied by the field size plus the embedFrameWidth multiplid by the sampling distance. If automaticOutputFieldSampling is false the outputFieldSamplingParameters will be used. |
| outputFieldSamplingFactor | If automaticOutputFieldSampling is true VirtualLab estimates the number of sampling points of the output field and mulitplies the value by outputFieldSamplingFactor. |
| outputFieldEmbedFrameWidth | If automaticOutputFieldSampling is false additionally a frame with dark pixels (amplitude equals zero) around the field can be added. This embed frame is required since the continuous field distribution can be reconstructed using a sinc interpolation. This interpolation will introduce small sized loops that are larger than the numerical field size. To take this side loops at least partially into account during the interpolation this embed frame is required. The extension of this frame in sampling points can be specified by this parameter. |
| outputFieldSamplingParameters | The sampling parameters of the output field. Normally these sampling parameters should be equal to the inputFieldSamplingParameters but the use may change it to any other value. |
| n | Complex refractive index of media in which propagation is applied. |
| areSamplingProblems | Out parameter indicating if sampling problems can occur in the propagated field. |
|
static |
Propagates the given ComplexAmplitude by the specified distance by computing the Angular Spectrum of Plane Waves. The function can increase the number of sampling points to avoid numerical errors. The minimum embedding of the complex amplitude is determined by Globals.SamplingFactor. The function uses the WaveParameters of the object to provide a optimal propagation. Is the HasWaveParameters property false the function assumes that the harmonic field component is in the waist.
| ca | ComplexAmplitude to be propagated. |
| distance | Propagation distance in meters. |
| automaticInputFieldSampling | Enables automatic determination of the required array size and number of sampling points of the input field to minimize numerical errors. Additionally the user may use the accuracyFactor to additionally increase or reduce the number of sampling points and array size. If automaticInputFieldSampling is false the inputFieldSamplingParameters will be used to modify the sampling parameters of the input field before the propagation. |
| accuracyFactor | The accuracy factor used in case of automatic input field sampling. |
| inputFieldSamplingParameters | The function modifies the sampling parameters of the input field before the propagation to the values specified here. This parameter allows to modify the input field sampling parameters to user defined values. To get an estimation for input field sampling parameters please use the GetSpwSamplingParameters function. |
|
static |
[AI] Propagates the given ComplexAmplitude by the specified distance by computing the Angular Spectrum of Plane Waves. The function modifies the sampling parameters of the input field specified in the inputFieldSamplingParameters parameter before the propagation in order to reduce numerical errors. The modification can be done by user or automatically Additionally the user may specify the output field sampling parameters and the field size, shape and broder width of the output field. Is the HasWaveParameters property false the function assumes that the harmonic field component is in the waist.
| ca | The field to propagate. |
| distance | The propagation distance. |
| n | The refractive index of the homogeneous medium in that the field propagates. |
| automaticInputFieldSampling | Enables automatic determination of the required array size and number of sampling points of the input field to minimize numerical errors. Additionally the user may use the inputFieldSamplingFactor and inputFieldArraySizeFactor to additionally increase or reduce the number of sampling points and array size. If automaticInputFieldSampling is false the inputFieldSamplingParameters will be used to modify the sampling parameters of the input field before the propagation. |
| accuracyFactor | The accuracy factor. |
| inputFieldSamplingParameters | The function modifies the sampling parameters of the input field before the propagation to the values specified here. This parameter allows to modify the input field sampling parameters to user defined values. To get an estimation for input field sampling parameters please use the GetSpwSamplingParameters function. |
| automaticOutputFieldSizeShape | If true the output field size, shape and border width are determined by VirtualLab automatically. Otherwise the values can be specified using the outputFieldSize, outputFieldShape and outputFieldBorderWidth parameters. |
| outputFieldSizeFactor | In case of automaticOutputFieldSizeShape VirtualLab estimates the correct size of the propagated field. The resulting value is multiplied by this factor. |
| outputFieldFieldSize | The diameter of the output field in meters. The diameter is measured before the beginning of the border decay of amplitude. |
| outputFieldShape | The shape of the field. |
| outputFieldBorderWidth | The width of the borders of the field relative to the field diameter. The border width is measured between the begin of the amplitude decay and the zero position of the field. |
| automaticOutputFieldSampling | Enables automatic determination of the required array size and number of sampling points of the output field to minimize numerical errors. Additionally the user may use the outputFieldSamplingFactor to additionally increase or reduce the number of sampling points. The array size of the output field will be calculated from the estimation of the field size multiplied by the outputFieldSizeFactor plus the outputFieldBorderWidth multiplied by the field size plus the embedFrameWidth multiplid by the sampling distance. If automaticOutputFieldSampling is false the outputFieldSamplingParameters will be used. |
| outputFieldSamplingFactor | If automaticOutputFieldSampling is true VirtualLab estimates the number of sampling points of the output field and multiplies the value by outputFieldSamplingFactor. |
| outputFieldEmbedFrameWidth | If automaticOutputFieldSampling is false additionally a frame with dark pixels (amplitude equals zero) around the field can be added. This embed frame is required since the continuous field distribution can be reconstructed using a sinc interpolation. This interpolation will introduce small sized loops that are larger than the numerical field size. To take this side loops at least partially into account during the interpolation this embed frame is required. The extension of this frame in sampling points can be specified by this parameter. |
| outputFieldSamplingParameters | The sampling parameters of the output field. Normally these sampling parameters should be equal to the inputFieldSamplingParameters but the use may change it to any other value. |
| areNumericalErrors | True if the user defined settings of the input field sampling parameters may caused numerical errors during the propagation. This parameter is just set if automaticInputFieldSampling is false. |
|
static |
Propagates the given ComplexAmplitude by the specified distance by computing the Angular Spectrum of Plane Waves. The function can increase the number of sampling points to avoid numerical errors. The minimum embedding of the complex amplitude is determined by Globals.SamplingFactor. The function uses the WaveParameters of the object to provide a optimal propagation. Is the HasWaveParameters property false the function assumes that the harmonic field component is in the waist.
| ca | ComplexAmplitude to be propagated. |
| distance | Propagation distance in meters. |
| n | Complex refractive index of media in which propagation is applied. |
| accuracyFactor | VirtualLab estimates and modifies array size and number of sampling points of the input field before the propagation in order to reduce numerical errors. The estimated number of sampling points and the estimated array size is multiplied by this factor to increase or decrease numerical accuracy. |
| areNumericalErrors | True if numerical errors may appear in the propagated field. This warning appears if arraySizeFactor or SamplingFactor is smaller than one. |