ZPL手册911011

返回函数列表

功能:

打开指定的 ZBF 文件,并将电场和光束属性数据放置在两个用户自定义的数组变量中。


语法:

ZBFREAD filename, beamname, propertyname


详述:

此关键字需要提供 ZBF 文件名,和之前调用 DECLARE 所定义的两个数组名称。beamname 必须是一 个 三 维 数 组 , 非 偏 振 光 束 的 最 小 尺 寸 为(nx, ny, 2), 偏 振 光 束 的 最 小 尺 寸 为 (nx, ny, 4)。 propertyname 数组必须是最小尺寸为 14 的一维数组。在执行 ZBFREAD 函数后,以下光束数据存储 在指定 propertyname 数组中 :nx、ny、dx、dy、waist_x、waist_y、position_x、position_y、rayleigh_x、rayleigh_y、 波 长 ( 以 镜 头 单 位 表 示 )、 总 功 率 、 峰 值 照 度 ( 单 位 面 积 的 能 量 )、 is_polarized 标记(0 表示否,1 表示是)、介质折射率;光束数据分别存储于矢量位置 1 到 15。电 场数据将存储于 beamname 数组中。beamname 数组的第三维为 1 表示 Ex 实部, 2 表示 Ex 虚部,如果光束偏振, 3 表示 Ey 实部, 4 表示 Ey 虚部。关于所有 ZBF 关键字的注解说明,请参阅[用途](Purpose)。另请参阅 ZBFWRITE。


示例:

!First get the beam size ZBFPROPERTIES "TEST1.ZBF", 1 nx = vec1(1)
ny = vec1(2)
ip = vec1(14) !The "is polarized" flag
!Allocate enough memory to hold the beam
IF (ip == 0) THEN DECLARE B, DOUBLE, 3, nx, ny, 2
IF (ip == 1) THEN DECLARE B, DOUBLE, 3, nx, ny, 4
DECLARE P, DOUBLE, 1, 20
ZBFREAD "test1.zbf", B, P
FOR j, 1, ny, 1
FOR i, 1, nx, 1
FORMAT 4.0
PRINT i, j, FORMAT 12.6
IF (ip == 1)
PRINT B(i, j, 1), PRINT B(i, j, 2), PRINT B(i, j, 3), PRINT B(i, j, 4) ELSE
PRINT B(i, j, 1), PRINT B(i, j, 2)
ENDIF
NEXT
NEXT

! save the beam
ZBFWRITE "TEST2.ZBF", B, P
! release the allocated memory
RELEASE B RELEASE P



该文档由光学课堂(www.optkt.cn)生成

最后更新时间:2020/3/7 12:39:11

登录 后发表评论
0条评论
还没有人评论过~