﻿<?xml version="1.0" encoding="utf-8"?><file><version>2026.1.2.8</version><rootType typeID="VirtualLabAPI.Core.Modules.SnippetCodeWithParameter, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null" Referent="0"><SnippetCodeWithParameter._snippetCode>		␍
		//define the refractive index of the medium for which the phase function should be defined␍
		double refrIndex = Medium.GetRealRefractiveIndex(new Vector3D(0, 0, 0), DesignᴗWavelength);␍
␍
		//generate object storing wavefront response value and gradient␍
		double k0n = MathFunctions.TwoPi * refrIndex / DesignᴗWavelength;␍
		SphericalFunction sphereFunction = new SphericalFunction((-1) * FocalᴗLength, k0n, 0, 0, 0);␍
		double phase = sphereFunction.GetValue(new VectorD(r, 0));␍
		double gradient = sphereFunction.GetDerivatives(new VectorD(r, 0)).X;␍
		RadialWavefrontPhaseInformation wavefrontPhaseInformation = new RadialWavefrontPhaseInformation(phase, gradient);␍
␍
		//return generated wavefront phase information␍
		return wavefrontPhaseInformation;</SnippetCodeWithParameter._snippetCode><SnippetCodeWithParameter._snippetCodeBody></SnippetCodeWithParameter._snippetCodeBody><SnippetCodeWithParameter._variables typeID="System.Collections.Generic.List`1[[VirtualLabAPI.Core.Modules.GlobalParameterInternal, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"><entry typeID="VirtualLabAPI.Core.Modules.GlobalParameterInternal, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null" Referent="1"><GlobalParameterInternal._name>DesignᴗWavelength</GlobalParameterInternal._name><GlobalParameterInternal._value typeID="System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"><_variableType typeID="VirtualLabAPI.Core.Modules.SupportedDataTypes, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null">Double␣0</_variableType><_value typeID="System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e">9.4E-07</_value></GlobalParameterInternal._value><GlobalParameterInternal._comment>The vacuum wavelength for which the phase values should be defined.</GlobalParameterInternal._comment><GlobalParameterInternal._commentIsHTML>false</GlobalParameterInternal._commentIsHTML><GlobalParameterInternal._measuredQuantity typeID="VirtualLabAPI.Core.Numerics.MeasuredQuantity, Wyrowski.Infrastructure, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null" Referent="2"><MeasuredQuantity._type typeID="VirtualLabAPI.Core.Numerics.PhysicalProperty, Wyrowski.Infrastructure, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null">Length␣1</MeasuredQuantity._type><MeasuredQuantity._userDefinedDefinition typeID="Wyrowski.Infrastructure.Quantities.QuantityDefinition, Wyrowski.Infrastructure, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null">␀</MeasuredQuantity._userDefinedDefinition></GlobalParameterInternal._measuredQuantity><GlobalParameterInternal._minVal>-1</GlobalParameterInternal._minVal><GlobalParameterInternal._maxVal>1</GlobalParameterInternal._maxVal><GlobalParameterInternal._useInParameterRunSetByUser>false</GlobalParameterInternal._useInParameterRunSetByUser><GlobalParameterInternal._isOptionalParameter>false</GlobalParameterInternal._isOptionalParameter><GlobalParameterInternal._useParameter>true</GlobalParameterInternal._useParameter></entry><entry typeID="VirtualLabAPI.Core.Modules.GlobalParameterInternal, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null" Referent="3"><GlobalParameterInternal._name>FocalᴗLength</GlobalParameterInternal._name><GlobalParameterInternal._value typeID="System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"><_variableType typeID="VirtualLabAPI.Core.Modules.SupportedDataTypes, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null">Double␣0</_variableType><_value typeID="System.Double, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e">0.01</_value></GlobalParameterInternal._value><GlobalParameterInternal._comment>The on-axis distance at which collimated light should be focused.</GlobalParameterInternal._comment><GlobalParameterInternal._commentIsHTML>false</GlobalParameterInternal._commentIsHTML><GlobalParameterInternal._measuredQuantity typeID="VirtualLabAPI.Core.Numerics.MeasuredQuantity, Wyrowski.Infrastructure, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null" Referent="4"><MeasuredQuantity._type typeID="VirtualLabAPI.Core.Numerics.PhysicalProperty, Wyrowski.Infrastructure, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null">Length␣1</MeasuredQuantity._type><MeasuredQuantity._userDefinedDefinition typeID="Wyrowski.Infrastructure.Quantities.QuantityDefinition, Wyrowski.Infrastructure, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null">␀</MeasuredQuantity._userDefinedDefinition></GlobalParameterInternal._measuredQuantity><GlobalParameterInternal._minVal>-1</GlobalParameterInternal._minVal><GlobalParameterInternal._maxVal>1</GlobalParameterInternal._maxVal><GlobalParameterInternal._useInParameterRunSetByUser>false</GlobalParameterInternal._useInParameterRunSetByUser><GlobalParameterInternal._isOptionalParameter>false</GlobalParameterInternal._isOptionalParameter><GlobalParameterInternal._useParameter>true</GlobalParameterInternal._useParameter></entry><entry typeID="VirtualLabAPI.Core.Modules.GlobalParameterInternal, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null" Referent="5"><GlobalParameterInternal._name>Medium</GlobalParameterInternal._name><GlobalParameterInternal._value typeID="VirtualLabAPI.Core.OpticalSystems.HomogeneousMedium, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null"><_variableType typeID="VirtualLabAPI.Core.Modules.SupportedDataTypes, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null">Medium␣13</_variableType><_value typeID="VirtualLabAPI.Core.OpticalSystems.HomogeneousMedium, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null" Referent="6"><material typeID="VirtualLabAPI.Core.Materials.StandardMaterial, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null" Referent="7"><dispersionFormula typeID="VirtualLabAPI.Core.Materials.DispersionFormula, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null">Edlen_AirFormula␣12</dispersionFormula><StandardMaterial.minWavelengthIndex>1.9300000000000002E-07</StandardMaterial.minWavelengthIndex><StandardMaterial.maxWavelengthIndex>4.9999999999999996E-05</StandardMaterial.maxWavelengthIndex><StandardMaterial._dataSourceInformationString></StandardMaterial._dataSourceInformationString><StandardMaterial.parameters typeID="System.Double[], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"><entry>20</entry><entry>101325</entry><entry>0</entry><entry>0</entry><entry>0</entry><entry>0</entry><entry>0</entry><entry>0</entry><entry>0</entry><entry>0</entry></StandardMaterial.parameters><StandardMaterial._additionalGlassData typeID="VirtualLabAPI.Core.Materials.AdditionalGlassData, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null" Referent="8"><AdditionalGlassData._refractiveIndexN_d>1</AdditionalGlassData._refractiveIndexN_d><AdditionalGlassData._abbeNumberNu_d>INF</AdditionalGlassData._abbeNumberNu_d><AdditionalGlassData._densityInGperCCM>0</AdditionalGlassData._densityInGperCCM><AdditionalGlassData._dPgF>0</AdditionalGlassData._dPgF><AdditionalGlassData._meltFrequency>0</AdditionalGlassData._meltFrequency><AdditionalGlassData._agf_comment></AdditionalGlassData._agf_comment><AdditionalGlassData._relativeCost>0</AdditionalGlassData._relativeCost><AdditionalGlassData._climateResistance_CR>-1</AdditionalGlassData._climateResistance_CR><AdditionalGlassData._stainResistance_FR>-1</AdditionalGlassData._stainResistance_FR><AdditionalGlassData._acidResistance_SR>-1</AdditionalGlassData._acidResistance_SR><AdditionalGlassData._alkaliResistance_AR>-1</AdditionalGlassData._alkaliResistance_AR><AdditionalGlassData._phosphateResistance_PR>-1</AdditionalGlassData._phosphateResistance_PR><AdditionalGlassData._referenceTemperatureInDegrees>20</AdditionalGlassData._referenceTemperatureInDegrees><AdditionalGlassData._thermalCoefficientsForRefractiveIndex typeID="System.Double[], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"><entry>0</entry><entry>0</entry><entry>0</entry><entry>0</entry><entry>0</entry><entry>0</entry></AdditionalGlassData._thermalCoefficientsForRefractiveIndex><AdditionalGlassData._thermalCoefficientOfLinearExpansion typeID="System.Collections.Generic.List`1[[System.Double[], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e">{}</AdditionalGlassData._thermalCoefficientOfLinearExpansion></StandardMaterial._additionalGlassData><StandardMaterial._internalSourceSegmentRefractiveIndex>double RefractiveIndex = 1.0;
/***********************************************
 *********** INSERT YOUR CODE HERE *************
 ***********************************************/

return RefractiveIndex;</StandardMaterial._internalSourceSegmentRefractiveIndex><_sampledRefractiveIndex typeID="VirtualLabAPI.Core.Numerics.DataArray1D, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null">␀</_sampledRefractiveIndex><StandardMaterial.constantRefractiveIndexValue>1</StandardMaterial.constantRefractiveIndexValue><StandardMaterial._partialPressureOfWaterVapour>0</StandardMaterial._partialPressureOfWaterVapour><StandardMaterial._alwaysConstantRefractiveIndex>false</StandardMaterial._alwaysConstantRefractiveIndex><_sampledAbsorptionCoeff typeID="VirtualLabAPI.Core.Numerics.DataArray1D, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null">␀</_sampledAbsorptionCoeff><MaterialAbsorptionBase._absorptionFormula typeID="VirtualLabAPI.Core.Materials.AbsorptionFormula, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null">Constant␣0</MaterialAbsorptionBase._absorptionFormula><MaterialAbsorptionBase._minWavelengthAbsorption>1.9300000000000002E-07</MaterialAbsorptionBase._minWavelengthAbsorption><MaterialAbsorptionBase._maxWavelengthAbsorption>4.9999999999999996E-05</MaterialAbsorptionBase._maxWavelengthAbsorption><MaterialAbsorptionBase._absorptionType typeID="VirtualLabAPI.Core.Materials.AbsorptionType, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null">AbsorptionCoefficient␣0</MaterialAbsorptionBase._absorptionType><MaterialAbsorptionBase._thicknessOfOriginalInternalTransmittances>NaN</MaterialAbsorptionBase._thicknessOfOriginalInternalTransmittances><MaterialAbsorptionBase._constantAbsorption>0</MaterialAbsorptionBase._constantAbsorption><MaterialAbsorptionBase._internalSourceSegmentAbsorptionCoefficient>double AbsorptionCoefficient = 0.0;
/***********************************************
 *********** INSERT YOUR CODE HERE *************
 ***********************************************/

return AbsorptionCoefficient;</MaterialAbsorptionBase._internalSourceSegmentAbsorptionCoefficient><MaterialAbsorptionBase._sourceCodeSnippetBodyAbsorptionCoefficient></MaterialAbsorptionBase._sourceCodeSnippetBodyAbsorptionCoefficient><MaterialAbsorptionBase._additionalUsingsAbsorptionCoefficient typeID="System.String[], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e">{}</MaterialAbsorptionBase._additionalUsingsAbsorptionCoefficient><MaterialAbsorptionBase._externalReferenceDLLsAbsorptionCoefficient typeID="System.String[], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e">{}</MaterialAbsorptionBase._externalReferenceDLLsAbsorptionCoefficient><MaterialAbsorptionBase._globalParameters typeID="System.Collections.Generic.List`1[[VirtualLabAPI.Core.Modules.GlobalParameterInternal, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e">{}</MaterialAbsorptionBase._globalParameters><MaterialAbsorptionBase._snippetHelp typeID="VirtualLabAPI.Core.Modules.SnippetHelpInformation, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null" Referent="9"><SnippetHelpInformation._title></SnippetHelpInformation._title><SnippetHelpInformation._author></SnippetHelpInformation._author><SnippetHelpInformation._version></SnippetHelpInformation._version><SnippetHelpInformation._lastModified>8/7/2017 4:06:46 PM</SnippetHelpInformation._lastModified><SnippetHelpInformation._helpText></SnippetHelpInformation._helpText><SnippetHelpInformation._license typeID="VirtualLabAPI.Core.Modules.LicenseType, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null">Attribution␣1</SnippetHelpInformation._license><SnippetHelpInformation._userDefinedLicenseString></SnippetHelpInformation._userDefinedLicenseString><SnippetHelpInformation._textIsHTML>true</SnippetHelpInformation._textIsHTML><SnippetHelpInformation._image typeID="System.Drawing.Bitmap, System.Drawing.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51">␀</SnippetHelpInformation._image><SnippetHelpInformation._imageScaleFactor>1</SnippetHelpInformation._imageScaleFactor></MaterialAbsorptionBase._snippetHelp><Material.referenceMaterial typeID="VirtualLabAPI.Core.Materials.Material, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null">␀</Material.referenceMaterial><Material._nameOfReferenceMaterial>␀</Material._nameOfReferenceMaterial><Material.name>Air</Material.name><Material._stateOfMatter typeID="VirtualLabAPI.Core.Materials.StateOfMatter, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null">GasOrVacuum␣2</Material._stateOfMatter><RefractiveIndexDefinedAsAbsolute>true</RefractiveIndexDefinedAsAbsolute><Material._categories typeID="System.Collections.Generic.List`1[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"><entry typeID="System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e">Miscellaneous</entry><entry typeID="System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e">Infrared</entry></Material._categories></material><OpticalMedium._coordinateSystem typeID="VirtualLabAPI.Core.Numerics.CartesianCoordinateSystem, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null" Referent="10"><CartesianCoordinateSystem._origin typeID="VirtualLabAPI.Core.Numerics.Position, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null" Referent="11"><Position._position typeID="VirtualLabAPI.Core.Numerics.Vector3D, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null" Referent="12"><X>0</X><Y>0</Y><Z>0</Z></Position._position><Position._positioningReferenceProvider typeID="VirtualLabAPI.Core.Numerics.IProvidesPositioningReferences, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null">␀</Position._positioningReferenceProvider><Position._positioningReferenceKey></Position._positioningReferenceKey></CartesianCoordinateSystem._origin><CartesianCoordinateSystem._axes typeID="VirtualLabAPI.Core.Numerics.CoordinateSystemBaseVectors, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null" Referent="13"><CoordinateSystemBaseVectors._quaternion typeID="VirtualLabAPI.Core.Numerics.Quaternion, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null" Referent="14"><QuaternionCore._w>1</QuaternionCore._w><QuaternionCore._x>0</QuaternionCore._x><QuaternionCore._y>0</QuaternionCore._y><QuaternionCore._z>0</QuaternionCore._z></CoordinateSystemBaseVectors._quaternion></CartesianCoordinateSystem._axes></OpticalMedium._coordinateSystem><_mediaPeriod3D typeID="VirtualLabAPI.Core.Numerics.Vector3D, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null" Referent="15"><X>INF</X><Y>INF</Y><Z>INF</Z></_mediaPeriod3D><OpticalMedium._isPeriodical>true</OpticalMedium._isPeriodical><OpticalMedium._scalingX>1</OpticalMedium._scalingX><OpticalMedium._scalingY>1</OpticalMedium._scalingY><OpticalMedium._scalingZ>1</OpticalMedium._scalingZ><OpticalMedium._temperatureInDegrees>20</OpticalMedium._temperatureInDegrees><OpticalMedium._pressureInPascal>101325</OpticalMedium._pressureInPascal><OpticalMedium._insulatedFromEnvironment>false</OpticalMedium._insulatedFromEnvironment><OpticalMedium._name>Air in Homogeneous Medium</OpticalMedium._name><OpticalMedium._categories typeID="System.Collections.Generic.List`1[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"><entry typeID="System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e">Homogeneous Media</entry></OpticalMedium._categories></_value></GlobalParameterInternal._value><GlobalParameterInternal._comment>The medium for which the phase function should be defined. The medium after the metalens interaction.</GlobalParameterInternal._comment><GlobalParameterInternal._commentIsHTML>false</GlobalParameterInternal._commentIsHTML><GlobalParameterInternal._measuredQuantity typeID="VirtualLabAPI.Core.Numerics.MeasuredQuantity, Wyrowski.Infrastructure, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null" Referent="16"><MeasuredQuantity._type typeID="VirtualLabAPI.Core.Numerics.PhysicalProperty, Wyrowski.Infrastructure, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null">NoUnit␣0</MeasuredQuantity._type><MeasuredQuantity._userDefinedDefinition typeID="Wyrowski.Infrastructure.Quantities.QuantityDefinition, Wyrowski.Infrastructure, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null">␀</MeasuredQuantity._userDefinedDefinition></GlobalParameterInternal._measuredQuantity><GlobalParameterInternal._minVal>NaN</GlobalParameterInternal._minVal><GlobalParameterInternal._maxVal>NaN</GlobalParameterInternal._maxVal><GlobalParameterInternal._useInParameterRunSetByUser>false</GlobalParameterInternal._useInParameterRunSetByUser><GlobalParameterInternal._isOptionalParameter>false</GlobalParameterInternal._isOptionalParameter><GlobalParameterInternal._useParameter>true</GlobalParameterInternal._useParameter></entry></SnippetCodeWithParameter._variables><SnippetCodeWithParameter._additionalUsings typeID="System.String[], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"><entry typeID="System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e"></entry></SnippetCodeWithParameter._additionalUsings><SnippetCodeWithParameter._externalReferenceDLLs typeID="System.Collections.IEnumerable, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e">␀</SnippetCodeWithParameter._externalReferenceDLLs><SnippetCodeWithParameter._snippetHelp typeID="VirtualLabAPI.Core.Modules.SnippetHelpInformation, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null" Referent="17"><SnippetHelpInformation._title></SnippetHelpInformation._title><SnippetHelpInformation._author></SnippetHelpInformation._author><SnippetHelpInformation._version></SnippetHelpInformation._version><SnippetHelpInformation._lastModified>1/13/2026 12:50:26 PM</SnippetHelpInformation._lastModified><SnippetHelpInformation._helpText></SnippetHelpInformation._helpText><SnippetHelpInformation._license typeID="VirtualLabAPI.Core.Modules.LicenseType, VirtualLabAPI, Version=2026.1.2.8, Culture=neutral, PublicKeyToken=null">Attribution␣1</SnippetHelpInformation._license><SnippetHelpInformation._userDefinedLicenseString></SnippetHelpInformation._userDefinedLicenseString><SnippetHelpInformation._textIsHTML>false</SnippetHelpInformation._textIsHTML><SnippetHelpInformation._image typeID="System.Drawing.Bitmap, System.Drawing.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51">␀</SnippetHelpInformation._image><SnippetHelpInformation._imageScaleFactor>1</SnippetHelpInformation._imageScaleFactor></SnippetCodeWithParameter._snippetHelp></rootType></file>