-
UID:317649
-
- 注册时间2020-06-19
- 最后登录2025-12-01
- 在线时间1892小时
-
-
访问TA的空间加好友用道具
|
摘要 3''Kg<k,I q%A>q;l: 为您的光学仿真提供最大的多功能性是我们的宗旨之一。 在本教程中,我们将解释如何使用可编程函数。它也可以被认为是在单个平面中起作用的理想化组件:工作流程需要在x,y平面上定义一个位置相关的复值函数,然后将该函数乘到入射场上。 我们以理想的柱面透镜为例来详细介绍整个过程。 MoiRAO tNZZCdB
c(8>oeKyD QjpJIw 可编程函数所在位置:目录 +[i r7?Y. 438r]f?0|{
I=[0 9o c@]G;> o 可编程函数所在位置:光学设置 s`,g4ce` dKDCJt]t
7bGt'gvv 编写代码 SV95g@ kMEXg zl t^6ams$ •右侧面板显示可用的独立参数列表。 d= vD Pf •波长(Wavelength)是默认的独立参数,允许用户实现色散理想组件(函数)。 U~7{q
> •折射率(RefractiveIndex)是另一个默认的独立参数,它读取嵌入介质的复值折射率。 EXW?)_pg •最后,x和y是最后两个默认的独立参数。 它们在定义理想组件(函数)的平面上。 6y`FW[ •主函数必须返回每x,y(可能还有波长)的复数值,然后将其乘以入射场。 dYwEVu6q •使用Snippet Body将支持函数中的部分代码分组。 =7: }/& •请注意,可以在可编程函数的代码中使用导入的参考场和/或堆栈及其相关参数。 可以在“全局参数”选项卡中定义参考场和堆栈。 b/#<::D ` 'f %oL/,
i8EKzW wax^iL! 提示:全局参数(Global Parameters),代码段帮助(Snippet Help),高级设置选项卡(Advanced Settings tabs)和界面的其他方面与VirtualLab中的其他可编程元素具有等效功能。 l%
%c U" :m'(8s8 采样 q~AvxO +Ezl.O@z ecvZwL •用户必须确保采样(组件后的场)足够精细,以解决可编程函数引入的频率。 =''*'a-P •为此,请使用“采样”选项卡。 =:xJZy$ •请注意,采样可能取决于定义的全局参数的实际值。 m^/>C-&C b-c6.aKf|
oOXJ7|n Tn3C0 输出 j~;y~Cx? DEfhR?v >A6PH*x •可编程函数对每个波长产生一个定义在平面上的复值函数,用x,y表示。 NLgeBLB •在光学设置中,它与入射场相乘。 8|hi2Qeu,c •提示:已编程用于函数的代码段也可用于可编程光源,反之亦然。 %$_?%X0=t •该功能可以保存在边界响应(Boundary Responses)目录中供以后使用。 NY[48H <X97W\
~g~`,:Qc ;gRPTk$X3 对柱面透镜函数进行编程 q}g0-Da vL "noLs 柱面透镜 =7-kD3 %uP/v\l 8L@@UUjr 柱面透镜的函数是以下形式的纯相位调制: {+9t!' N=8CVI
3VQmo\li 可编程函数所在位置:目录 hGUQdTNP f,-'eW/j
,
d4i0;2}+ ) I.uqG 可编程函数所在位置:光学设置 q|
*nd!y' ydzvjp=
p1ER<_fp 可编程界面:全局参数 itO1ROmu P[Vf$ q< >4T7DMy •打开“编辑”对话框后,转到全局参数选项卡。 :{xu_"nYr •在那里,添加和编辑两个全局参数: <S@2%%W - 双精度类型角度(double Angle)= 0度(0度,360度):表示由光轴和聚焦方向形成的角度。 pl 1CEoe - 双精度类型焦距(double FocalLength)= 100毫米 z`8>$9 (0米,1米):表示镜头的焦距。 !<>`G0 •使用带有“注释”图标的小按钮可以为您的自定义全局参数添加一些说明。 # kmI#W"^ 提示:此处可能有必要添加一些陈述文本以促进其他使用者理解和使用代码段。 2l8z/o 7v /-3)^R2H
DsiyN:o'+ J \I`# 可编程界面:代码段帮助(Snippet Help) &G+:t)|S KH[Oqd
k0DX|O8mXV ".fnx8v, &gvX<X4e •可选功能“Optional”:您可以使用“代码段帮助”选项卡编写指令,说明以及与代码段相关的一些元数据。 C2J@] & |