首页
->
登录
->
注册
->
回复主题
->
发表主题
光行天下
->
FRED,VirtualLab
->
如何使用可编程函数及示例(柱面透镜)
[点此返回论坛查看本帖完整版本]
[打印本页]
infotek
2020-08-28 10:37
如何使用可编程函数及示例(柱面透镜)
摘要
1|]xo3j"'
L_k9g12
为您的光学仿真提供最大的多功能性是我们的宗旨之一。 在本教程中,我们将解释如何使用可编程函数。它也可以被认为是在单个平面中起作用的理想化组件:工作流程需要在x,y平面上定义一个位置相关的复值函数,然后将该函数乘到入射场上。 我们以理想的柱面透镜为例来详细介绍整个过程。
OT;cfkf7
L{<7.?{Y
QkL@JF]Re
SOs,)
可编程函数所在位置:目录
<ZVZ$ZW~D
#52NsVaT@
Za0gs @$
~#q;bS
可编程函数所在位置:光学设置
&wb9_?ir-
rd" &QB{
/BT1oWi1y
编写代码
z&>|*C.Y
_YLUS$Zw
k2.G%]j
•右侧面板显示可用的独立参数列表。
r@yD8 D \
•波长(Wavelength)是默认的独立参数,允许用户实现色散理想组件(函数)。
9x[ U$B
•折射率(RefractiveIndex)是另一个默认的独立参数,它读取嵌入介质的复值折射率。
xDUaHE1co
•最后,x和y是最后两个默认的独立参数。 它们在定义理想组件(函数)的平面上。
PtqGX=u
•主函数必须返回每x,y(可能还有波长)的复数值,然后将其乘以入射场。
B4^`Sw
•使用Snippet Body将支持函数中的部分代码分组。
4'm q_o#4W
•请注意,可以在可编程函数的代码中使用导入的参考场和/或堆栈及其相关参数。 可以在“全局参数”选项卡中定义参考场和堆栈。
U!0E_J
hiN/S|JN8y
t!0dJud
$kl$D"*0
提示:全局参数(Global Parameters),代码段帮助(Snippet Help),高级设置选项卡(Advanced Settings tabs)和界面的其他方面与VirtualLab中的其他可编程元素具有等效功能。
%Hwbw],kl8
-X8eabb
采样
$_FZn'Db6
s1=+::
Um\0i;7 ~4
•用户必须确保采样(组件后的场)足够精细,以解决可编程函数引入的频率。
SOj`Y|6^:
•为此,请使用“采样”选项卡。
Wcn[gn<
•请注意,采样可能取决于定义的全局参数的实际值。
b2s~%}T
yl/a:Q
"{ FoA3g|
PQ3h\CL1n
输出
4.'JLArw
N~| t!G*9
\8>oJR 6
•可编程函数对每个波长产生一个定义在平面上的复值函数,用x,y表示。
!F$R+A+L
•在光学设置中,它与入射场相乘。
!W~<q{VTs
•提示:已编程用于函数的代码段也可用于可编程光源,反之亦然。
J=9 #mOcg"
•该功能可以保存在边界响应(Boundary Responses)目录中供以后使用。
L/fRF"V
v)+@XU2wZ
1a8$f5
f'_M0x
对柱面透镜函数进行编程
>)3VbO
+ Kk@Q
柱面透镜
?ZX!7^7
F~R7~ZE
GO~k '
柱面透镜的函数是以下形式的纯相位调制:
kc Y,vl
CL1;Inzl
xqv[? ?
可编程函数所在位置:目录
Bm}iU~(Z`
`< Yf{'*
mgcN( n1
eM }W6vIn
可编程函数所在位置:光学设置
N"1QX6
$3#%aA!(#
3I*uV!notJ
可编程界面:全局参数
&O*ENpF
eEP( ).
s#P:6]Ar
•打开“编辑”对话框后,转到全局参数选项卡。
8t[t{"
•在那里,添加和编辑两个全局参数:
,]q%/yxi
- 双精度类型角度(double Angle)= 0度(0度,360度):表示由光轴和聚焦方向形成的角度。
L[]BzsIv
- 双精度类型焦距(double FocalLength)= 100毫米
|^iA6)Q
(0米,1米):表示镜头的焦距。
L$hc,
•使用带有“注释”图标的小按钮可以为您的自定义全局参数添加一些说明。
h[Mdr
提示:此处可能有必要添加一些陈述文本以促进其他使用者理解和使用代码段。
8Zw]f-5x\
_z]v<,=3M
+nQ!4
?!7 SzLll
可编程界面:代码段帮助(Snippet Help)
^1VbH3M
1R^4C8*B
nq@5j0fK
I.a0[E/,
Hg whe=P
•可选功能“Optional”:您可以使用“代码段帮助”选项卡编写指令,说明以及与代码段相关的一些元数据。
k%Eh{dA
•此选项对于使用可编程元素跟踪进度非常有用。
v$3_o :
•当可编程元素被发送给其他用户处理时,它的作用发挥得尤为明显!
9wMEvX70
tW(+xu36
^@"c`
,LZ(^u
可编程界面:编写代码
0x71%=4H^x
]1}h8/
(:OHyeNt
)&z4_l8`=
采样
N7pt:G2~%
tBv3~Of.
KII ym9%
•根据入射场和自定义函数的属性,用户必须在“采样”选项卡中确定适当的采样。
QS;F+cmTh
•例如,对于我们的柱面透镜和轴上准直入射光束,对于较小的镜头焦距,采样必须更精细(更多的采样点)。
ytz8=\p_b
4>_d3_1sn
/RqhykgZ
u>|"28y
可编程界面:使用您的代码段(Snippet)
3agNB F2
$iHoOYx]<
S.hC$0vrj
UE;Bb*<
将自定义函数保存到目录中
&