首页
->
登录
->
注册
->
回复主题
->
发表主题
光行天下
->
讯技光电&黉论教育
->
如何使用可编程函数及案例(圆柱形透镜)
[点此返回论坛查看本帖完整版本]
[打印本页]
infotek
2022-10-27 08:34
如何使用可编程函数及案例(圆柱形透镜)
1 :p'
摘要
%8FfP5#
` kT\V'
:o>=^N
$nO~A7
我们最基本的目标之一是为光学模拟提供最大的通用性。在本教程中,我们将解释如何使用可编程函数,可以将其认为是一个理想化的组件,作用在一个平面上:工作流程需要在x、y平面上定义一个与位置相关的复数函数,然后将其乘以输入场。我们以一个理想的圆柱形透镜为例来详细介绍整个过程。
u ]e-IYH
YsVmU
在哪里可以找到可编程函数:目录
H9/!oI1P?
GfE>?mG
k&ci5MpN
SIJ7Y{\.
在哪里可以找到可编程函数:光学设置
QnWE;zN[7A
ga5Q
3%kUj
pAE (i7
编写代码
fp' '+R[
9Da{|FyrD
tOiz tYu
*[Z`0AgP
•右边的面板显示了可用的独立参数列表。
z1mB Hz6
•波长是一个默认的独立参数,允许用户实现色散的理想元件(函数)。
P R%)3
•折射率是另一个默认的独立参数,用于读取嵌入介质的复数折射率。
djdTh +>28
•最后,x和y是最后两个默认的独立参数。它们跨越了定义理想元件(函数)的平面。
nqj(V
2/&=:,"t,B
编写代码
ba|xf@=&
>1j#XA8
GY%9V5GB
|g&V? lI
•主函数对每个x、y(可能也是波长)必须返回一个复数值,然后将其乘以输入场。
nR{<xD^
•使用代码段将代码中的部分代码分组到支持函数中。
Nw*<e ]uD
•注意,可以在可编程函数的代码中使用导入的参考场和/或堆栈及其相关参数。参考场和堆栈可以在全局参数选项卡中定义。
3K &637
E>bkEm
采样
gk%nF
4YfM.~ 6
|OH*c3~r
&=g3J4$z
•用户必须确保采样(元件后方的场)足够精细,以分辨可编程功能引入的频率。
cRLw)"|
•为此,请使用采样选项卡。
a{kJ`fK
•请注意,采样可能取决于定义的全局参数的实际值。
.4zzPD$1
w2 Y%yjCV
输出
fsL9d}
|a{;<a
q\EYsN</;
Z/ q6Q#
•可编程函数在一个平面(在x,y范围)上定义的每个波长上产生一个复值函数。
9O;Sn +
•在光学设置中,它被乘以输入场。
?'> .>
•提示:已经被编程为一个函数的代码段也可以在可编程光源中使用,反之亦然。
KU|W85ye
•该函数可以保存在边界响应目录中,以便以后使用。
vB7Gx>BQd
/vSGmW-*
圆柱形透镜函数的编程
#X-C~*|>j
圆柱形透镜
?Lg<)B9
圆柱形透镜的函数是相位调制的形式:
2;v:Z^&
oco,sxT
f→焦距
^~~Rto)Y
k→波数
//7YtK6
α→光轴与透镜焦距方向之间的夹角
[7I:Dm
<2pp6je\0s
在哪里可以找到可编程功函数:目录
IC cr
##jJaSxG
w%])
n41#
在哪里可以找到可编程函数:光学设置
Q!l(2nva
vb>F)X?b_
w/#7G\U
编程界面:全局参数
F$t]JM
)g@+ MR
•打开编辑对话框进入全局参数选项卡。
?|5M'o|9
•在这里,添加和编辑两个全局参数。
f;'*((
- double Angle=0度(0度,360度):表示光轴和对焦方向形成的角度。
\IL)~5d
- double FocalLength=100 mm(0 m,1 m):表示透镜的焦距。
~5P9^`KNH
•使用带有小 "注释 "图标的按钮,为你的自定义全局参数添加一些解释。
K#OL/2^ 5
~@'wqGTp
|m's)
nah?V" ?Y
编程界面:代码段帮助
5;)^o3X>
:E")Zw&sW3
@aS)=|Ls\
}g +kU1y
•选项:你可以使用代码段帮助选项卡来编写指令、说明和一些与你的代码段相关联的元数据。
.YF1H<gwa
•这个选项对追踪你使用可编程元素的进度非常有帮助。
$ar^U
•当可编程序元素以后被移交给其他用户处理时,这个选项特别有用!
Biv)s@"f-Q
[ cB^6v
编程接口:代码段帮助
sQgz}0_=)
_#{ *I(l
?'k_K:_
编程界面:编写代码
g *,O
HT.,BF
Vlx.C~WYn
F6U#EvL
采样
T,!EL+o4
T~3{$
•根据入射场的属性和自定义功能,用户必须在采样选项卡中确定适当的采样。
j@4MV^F2c
•例如,在我们的圆柱形透镜的情况下,对于轴上准直入射光束,对于较小焦距的镜头,采样必须更细(采样点数量更多)。
: #a
eA&