m
kf{_!TK 为您的
光学仿真提供最大的多功能性是我们的宗旨之一。 在本
教程中,我们将解释如何使用可编程函数。它也可以被认为是在单个平面中起作用的理想化组件:工作流程需要在x,y平面上定义一个位置相关的复值函数,然后将该函数乘到入射场上。 我们以理想的柱面
透镜为例来详细介绍整个过程。
-V<"Ay 'FFc"lqj
3[Iw%% q %([H*sLX 可编程函数所在位置:目录
Ps\^OJR 26K~m@
k"{U}Y/} {?hjx+v[ 可编程函数所在位置:光学设置
p
n>`v %WN2 xCSf
wwn}enEz,x 编写代码
]!:Y]VYN)\ We?:DM
[ ZE`{J=, •右侧面板显示可用的独立
参数列表。
>K%x44| •波长(Wavelength)是默认的独立参数,允许用户实现色散理想组件(函数)。
.y+U7"?s* •折射率(RefractiveIndex)是另一个默认的独立参数,它读取嵌入介质的复值折射率。
5wX>PJS •最后,x和y是最后两个默认的独立参数。 它们在定义理想组件(函数)的平面上。
-1JHhRr] •主函数必须返回每x,y(可能还有
波长)的复数值,然后将其乘以入射场。
c
@fc7 •使用Snippet Body将支持函数中的部分代码分组。
Q2?qvNZ •请注意,可以在可编程函数的代码中使用导入的参考场和/或堆栈及其相关参数。 可以在“全局参数”选项卡中定义参考场和堆栈。
3/FB>w gt ;D:T
^4
_s8_i6 Y
?~IZ{! 提示:全局参数(Global Parameters),代码段帮助(Snippet Help),高级设置选项卡(Advanced Settings tabs)和界面的其他方面与VirtualLab中的其他可编程元素具有等效功能。
M7 !"
t fif<[Ax 采样
Hp!F?J7sx P\e%8&_U/ xK3;/!\` •用户必须确保采样(组件后的场)足够精细,以解决可编程函数引入的频率。
7!%"8Rl- •为此,请使用“采样”选项卡。
{8RGW0Y •请注意,采样可能取决于定义的全局参数的实际值。
9l]IE,u X2v'9 x
o:<3n,T e_V(G 输出
|e&Kg~~C )K~nZLULY 7l3q~ dQ •可编程函数对每个波长产生一个定义在平面上的复值函数,用x,y表示。
/$(D>KU •在光学设置中,它与入射场相乘。
zn|}YovY+ •提示:已编程用于函数的代码段也可用于可编程
光源,反之亦然。
(.o'1' •该功能可以保存在边界响应(Boundary Responses)目录中供以后使用。
7ow1=%Q +$5^+C\6A
{wI0 =U n}{cs 对柱面透镜函数进行编程 Di*>PE@ cDg27xOUi 柱面透镜
plfB}p S##W_OlrI 6EY4@0%A 柱面透镜的函数是以下形式的纯相位调制:
'Iu(lpF& `2B+8,{%
*Y Ox`z!R 可编程函数所在位置:目录
whCv9)x v0=~PN~E
/
yCV-L2J FhGbQJ?[3 可编程函数所在位置:光学设置
{SV$fl; 1o%Hn"uG
zlE kP @) 可编程界面:全局参数
7(H/|2;-d8 t
At+5H bxs@_fH •打开“编辑”对话框后,转到全局参数选项卡。
yFG&Ir •在那里,添加和编辑两个全局参数:
X*KT=q^?n - 双精度类型角度(double Angle)= 0度(0度,360度):表示由光轴和聚焦方向形成的角度。
GF&"nW9A - 双精度类型
焦距(double FocalLength)= 100毫米
M3%<kk-_ (0米,1米):表示
镜头的焦距。
']Z8C)tK •使用带有“注释”图标的小按钮可以为您的自定义全局参数添加一些说明。
T[~X~dqwn" 提示:此处可能有必要添加一些陈述文本以促进其他使用者理解和使用代码段。
#'qW?8d} \Z8!iruN
i^#RiCeo =E}/Z 可编程界面:代码段帮助(Snippet Help)
JS9q'd
VMp6s%m
V6Y!0,w!a S:gP\Atf> X`&E,;bIb •可选功能“Optional”:您可以使用“代码段帮助”选项卡编写指令,说明以及与代码段相关的一些元数据。
Gx
m"HC •此选项对于使用可编程元素跟踪进度非常有用。
F~EriO •当可编程元素被发送给其他用户处理时,它的作用发挥得尤为明显!
dSbV{*B;> =B 9U
H,'c& lI9 3{!+> 可编程界面:编写代码
8MIHp[vm%
l}JVRU{
kDsUKO
p
TO<