TA的每日心情 | 衰 2024-5-15 15:53 |
---|
签到天数: 4 天 [LV.2]偶尔看看I
小白
- 积分
- 0
|
如附件是一个非序列的激光扩束镜,其输出光斑在Y方向是一个整形过后的平顶光,现在我想计算平顶光光斑的能量均匀度,在论坛复制了一个ZPL的算法如下所示:
temp=NSDD(1,0,0,0)
NSTR 1,0,0,0,0,0,0,0 # NSTR surf, source, split, scatter, usepol, ignore_err, rand_seed, save
EBAR=NSDD(1,11,-11,1) #获取非零像素上的平均光照度
PRINT "光照度平均值=",EBAR
!DECLARE E,DOUBLE,1,250
DECLARE A,DOUBLE,1,250 #320000是探测器像素数
SUM=0
M=0
SUM1=0
FOR i=1,250,1
EI=NSDD(1,11,i,1) # 获取单个像素的光照度
HI=NSDD(1,11,i,0) # 获取单个像素的能量
IF(EI>0)
AI=POWR((EI-EBAR),2)
! A(i)=AI
SUM=SUM+AI
M=M+1 # M是光线打到探测像素个数
SUM1=SUM1+HI
ENDIF
NEXT
PRINT "sum=",SUM
PRINT "M=", M
PRINT "SUM1=",SUM1
R=1-(SQRT(SUM/M))/EBAR # 求光斑的均匀性
我根据自己的探测器修改了相关数据,但是运行后输出的都是0,还会报错,还望大佬指教
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|