Table of Contents

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

incidentField ComplexAmplitude

The incident field on which the boundary response shall be applied.

boundaryResponse BoundaryResponseBase

The boundary response to apply.

samplingDistance VectorD

The 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

incidentField HarmonicFieldsSet

The incident field on which the boundary response shall be applied.

boundaryResponse BoundaryResponseBase

The boundary response to apply.

samplingDistance VectorD

The 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

stackToConvert OpticalStack

The optical stack that shall be converted.

mediumInfront HomogeneousMedium

The medium in front of the stack, i.e. the medium in which the incoming light is defined.

mediumBehind HomogeneousMedium

The medium behind the stack.

wavelength double

The wavelength that should be used for calculating the refractive indices.

accuracyTPL double

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

reverseLayers bool

If this optional parameter is set to true, the order of the layers is reversed, i. e. the stack is orientated towards the incoming light.

cancellationToken CancellationToken?

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

stackToConvert OpticalStack

The optical stack that shall be converted.

mediumInfront HomogeneousMedium

The medium in front of the stack, i.e. the medium in which the incoming light is defined.

mediumBehind HomogeneousMedium

The medium behind the stack.

wavelength double

The wavelength that should be used for calculating the refractive indices.

accuracyTPL double

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

reverseLayers bool

If this optional parameter is set to true, the order of the layers is reversed, i. e. the stack is orientated towards the incoming light.

cancellationToken CancellationToken?

Optional token for cooperative task cancellation.

Returns

TransitionPointLayers3D

The "transition point layers" structure definition that can used by the three-dimensional FMM.