首页 -> 登录 -> 注册 -> 回复主题 -> 发表主题
光行天下 -> FRED,VirtualLab -> 如何使用可编程函数及示例(柱面透镜) [点此返回论坛查看本帖完整版本] [打印本页]

infotek 2021-05-21 09:52

如何使用可编程函数及示例(柱面透镜)

摘要 }@bp v  
I%4eX0QY=z  
为您的光学仿真提供最大的多功能性是我们的宗旨之一。 在本教程中,我们将解释如何使用可编程函数。它也可以被认为是在单个平面中起作用的理想化组件:工作流程需要在x,y平面上定义一个位置相关的复值函数,然后将该函数乘到入射场上。 我们以理想的柱面透镜为例来详细介绍整个过程。 'gN[LERT  
~~{lIO)&  
i|h{<X7[  
efyEzL  
可编程函数所在位置:目录 '{,JuX"n  
) P7oL.)  
QHv]7&^rlj  
8;qOsV)UDT  
可编程函数所在位置:光学设置 KYTXf+oh  
F42^Uoaz  
n!zB+hW  
编写代码
IYe[IHny1  
t]sk[  
`V/kM0A5  
•右侧面板显示可用的独立参数列表。 &v]xYb)+<  
•波长(Wavelength)是默认的独立参数,允许用户实现色散理想组件(函数)。 pp|$y\ZzB  
•折射率(RefractiveIndex)是另一个默认的独立参数,它读取嵌入介质的复值折射率。 =&g:dX|q8  
•最后,x和y是最后两个默认的独立参数。 它们在定义理想组件(函数)的平面上。 M7qg\1L  
•主函数必须返回每x,y(可能还有波长)的复数值,然后将其乘以入射场。 +sx(q@  
•使用Snippet Body将支持函数中的部分代码分组。 "U9e)a0v  
•请注意,可以在可编程函数的代码中使用导入的参考场和/或堆栈及其相关参数。 可以在“全局参数”选项卡中定义参考场和堆栈。 xRZ K&vkKE  
\ $TM=Ykj  
c CjN8<  
~p+ `pwjY1  
提示:全局参数(Global Parameters),代码段帮助(Snippet Help),高级设置选项卡(Advanced Settings tabs)和界面的其他方面与VirtualLab中的其他可编程元素具有等效功能。 Zq{gp1WC  
+v%+E{F$+  
采样 `_&vvJPn@!  
yodhDSO5i  
"wVisL2+.  
•用户必须确保采样(组件后的场)足够精细,以解决可编程函数引入的频率。 ?z.  Z_A&  
•为此,请使用“采样”选项卡。 :"Vmy.xq  
•请注意,采样可能取决于定义的全局参数的实际值。 UJS vtD{g  
k'v+/6 Y  
^!m%:r7Dr  
P{RGW.Ci@  
输出 a{e1g93}  
S!-t{Q+j^  
mJ8EiRSE  
•可编程函数对每个波长产生一个定义在平面上的复值函数,用x,y表示。 V%*91t_  
•在光学设置中,它与入射场相乘。 2(Xu?W 7d  
•提示:已编程用于函数的代码段也可用于可编程光源,反之亦然。 .Z`xNp  
•该功能可以保存在边界响应(Boundary Responses)目录中供以后使用。 xJ^B.;>  
c*w0Jz>@.7  
$U&p&pgH=W  
uv$utu>< *  
对柱面透镜函数进行编程 4U$M0 =  
[+@T"2h2b  
柱面透镜 8VpmcGvc3  
ra ,.vJuT  
}L`Z<h*H  
柱面透镜的函数是以下形式的纯相位调制: (Ms0pm-#t  
_Kli~$c& M  
B%x?VOdBE  
可编程函数所在位置:目录 Zirp_[KZ%  
uxX 3wY;M  
!(S.7#-r  
xNJ*TA[+  
可编程函数所在位置:光学设置 e ?Jgk$"  
P-Gp^JX8  
1Fsa}UK  
可编程界面:全局参数 F)aF.'$-/  
!h^_2IX  
/*6[Itm_h  
•打开“编辑”对话框后,转到全局参数选项卡。 f]Zj"Tt-  
•在那里,添加和编辑两个全局参数: Ln4Dq[M  
- 双精度类型角度(double  Angle)= 0度(0度,360度):表示由光轴和聚焦方向形成的角度。 ^ %1u3  
-  双精度类型焦距(double  FocalLength)= 100毫米 1O2V!?P  
(0米,1米):表示镜头的焦距。 h5n@SE>G  
•使用带有“注释”图标的小按钮可以为您的自定义全局参数添加一些说明。 #]*d8  
提示:此处可能有必要添加一些陈述文本以促进其他使用者理解和使用代码段。 ,{'ZP_  
xjYH[PgfX  
7?y([i\y  
s?9`dv} P  
可编程界面:代码段帮助(Snippet Help) =+VDb5= TV  
7Zft]C?|@  
t#!AfTY$w  
(2 P&@!|  
Jg&f.  
•可选功能“Optional”:您可以使用“代码段帮助”选项卡编写指令,说明以及与代码段相关的一些元数据。 tt&{f <*  
•此选项对于使用可编程元素跟踪进度非常有用。 Eh *u6K)Z  
•当可编程元素被发送给其他用户处理时,它的作用发挥得尤为明显! HSACaTVK  
d(vt0  
pe!"!xJE  
CE4Kc33OU|  
可编程界面:编写代码 ( _MY;S  
OL.{lKJ3DV  
E,/nK  
,y)V5 c1  
采样 i@=(Y~tD`  
S;u 2B_/  
DU@SXb  
•根据入射场和自定义函数的属性,用户必须在“采样”选项卡中确定适当的采样。 aC3Qmo6?m  
•例如,对于我们的柱面透镜和轴上准直入射光束,对于较小的镜头焦距,采样必须更精细(更多的采样点)。 Rf!$n7& \  
+[V.yY/t|>  
\mFgjP z  
HC$}KoZkC  
可编程界面:使用您的代码段(Snippet) ;YrmT9Jx6  
g T0@pxl  
c`UizZ  
nKch:g  
将自定义函数保存到目录中 Dyj>dh-  
<,t6A?YoMP  
AZ. j>+0xx  
5QG?*Z~?7  
提示:如果您使用目录来定义您的自定义界面,系统将会自动提示您将工作保存到目录中。 e'3y^Vg  
v|rBOv  
可编程函数的输出 =]LAL w  
MVDy|i4  
!dwa. lZ&X  
1 l-Y)   
此表面由代码完全解析定义——完全准确“full accuracy”(已提升到双精度水平) l(Uwci  
3oApazH*  
测试代码! G9~ 4?v6:  
nCLEAe$W\=  
I$ ?.9&.&  
6&"GTK  
文件信息 N@I=X-7nh|  
4mm>6w8NT  
a6"-,Kg  
QQ:2987619807 be HEAQ  
查看本帖完整版本: [-- 如何使用可编程函数及示例(柱面透镜) --] [-- top --]

Copyright © 2005-2026 光行天下 蜀ICP备06003254号-1 网站统计