Class VL_Structures
- Namespace
- VirtualLab.Programming
- Assembly
- VirtualLab.Programming.dll
This class provides methods for accessing optical interfaces, materials, media, stacks as well as Boundary Responses.
public static class VL_Structures
- Inheritance
-
VL_Structures
- Inherited Members
Methods
ApplyBoundaryResponse(ComplexAmplitude, BoundaryResponseBase, VectorD)
Applies a boundary response on a harmonic field.
public static ComplexAmplitude ApplyBoundaryResponse(ComplexAmplitude incidentField, BoundaryResponseBase boundaryResponse, VectorD samplingDistance)
Parameters
incidentFieldComplexAmplitudeThe incident field on which the boundary response shall be applied.
boundaryResponseBoundaryResponseBaseThe boundary response to apply.
samplingDistanceVectorDThe sampling distance of the resulting field. To avoid aliasing effects, the sampling distance should be a divisor of the sampling distance of the incident field. If necessary, the incident field is resampled to this sampling distance using the Accelerated Sinc-Interpolation.
Returns
- ComplexAmplitude
A harmonic field where the boundary response has been applied on the incident field.
ApplyBoundaryResponse(HarmonicFieldsSet, BoundaryResponseBase, VectorD)
Applies a boundary response on a harmonic fields sets.
public static HarmonicFieldsSet ApplyBoundaryResponse(HarmonicFieldsSet incidentField, BoundaryResponseBase boundaryResponse, VectorD samplingDistance)
Parameters
incidentFieldHarmonicFieldsSetThe incident field on which the boundary response shall be applied.
boundaryResponseBoundaryResponseBaseThe boundary response to apply.
samplingDistanceVectorDThe sampling distance of all member fields the resulting fields set. To avoid aliasing effects, the sampling distance should be a divisor of the sampling distance of the incident fields. If necessary, the incident fields are resampled to this sampling distance using the Accelerated Sinc-Interpolation.
Returns
- HarmonicFieldsSet
A harmonic fields set where the boundary response has been applied on the incident field.
GenerateTransitionPointLayers2DFromStack(OpticalStack, HomogeneousMedium, HomogeneousMedium, double, double, bool, CancellationToken?)
This method converts an optical stack to the y-invariant "transition point layers" structure definition that is used by the FMM.
public static SampledTransitionPointLayers2D? GenerateTransitionPointLayers2DFromStack(OpticalStack stackToConvert, HomogeneousMedium mediumInfront, HomogeneousMedium mediumBehind, double wavelength, double accuracyTPL = 1, bool reverseLayers = false, CancellationToken? cancellationToken = null)
Parameters
stackToConvertOpticalStackThe optical stack that shall be converted.
mediumInfrontHomogeneousMediumThe medium in front of the stack, i.e. the medium in which the incoming light is defined.
mediumBehindHomogeneousMediumThe medium behind the stack.
wavelengthdoubleThe wavelength that should be used for calculating the refractive indices.
accuracyTPLdoubleOptional accuracy factor that is used for the generation of both the layers and the transition points. If not specified, a value of 1 is taken.
reverseLayersboolIf this optional parameter is set to
true, the order of the layers is reversed, i. e. the stack is orientated towards the incoming light.cancellationTokenCancellationToken?Optional token for cooperative task cancellation.
Returns
- SampledTransitionPointLayers2D
The "transition point layers" structure definition that can used by the two-dimensional FMM.
GenerateTransitionPointLayers3DFromStack(OpticalStack, HomogeneousMedium, HomogeneousMedium, double, double, bool, CancellationToken?)
This method converts an optical stack to the three-dimensional "transition point layers" structure definition that is used by the FMM.
public static TransitionPointLayers3D GenerateTransitionPointLayers3DFromStack(OpticalStack stackToConvert, HomogeneousMedium mediumInfront, HomogeneousMedium mediumBehind, double wavelength, double accuracyTPL = 1, bool reverseLayers = false, CancellationToken? cancellationToken = null)
Parameters
stackToConvertOpticalStackThe optical stack that shall be converted.
mediumInfrontHomogeneousMediumThe medium in front of the stack, i.e. the medium in which the incoming light is defined.
mediumBehindHomogeneousMediumThe medium behind the stack.
wavelengthdoubleThe wavelength that should be used for calculating the refractive indices.
accuracyTPLdoubleOptional accuracy factor that is used for the generation of both the layers and the transition points. If not specified, a value of 1 is taken.
reverseLayersboolIf this optional parameter is set to
true, the order of the layers is reversed, i. e. the stack is orientated towards the incoming light.cancellationTokenCancellationToken?Optional token for cooperative task cancellation.
Returns
- TransitionPointLayers3D
The "transition point layers" structure definition that can used by the three-dimensional FMM.