使用脚本语言实现Lumerical官方案例——闪耀光栅(Blazed grating)(纯代码)(2)

接《使用脚本语言实现Lumerical官方案例——闪耀光栅(Blazed grating)(纯代码)(1)》

一、添加分析组

1.1 代码实现

#添加分析组
addanalysisgroup();
set("name", "grating_R");
set("x", 0);
set("y", 2.5*um);
addanalysisgroup();
set("name", "grating_T");
set("x", 0);
set("y", -1.5*um);#添加功率监视器
addpower();
set("name", "transmission_grating");
set("monitor type", "2D Z-normal");
set("x min", -2*um);
set("x max", 2*um);
set("y min", 0);
set("y max", 0);
set("z", 0);
addtogroup("grating_R");addpower();
set("name", "transmission_grating");
set("monitor type", "2D Z-normal");
set("x min", -2*um);
set("x max", 2*um);
set("y min", 0);
set("y max", 0);
set("z", 0);
addtogroup("grating_T");

1.2 分析组的设置

 1.2.1 grating_R

(1)setup

#grating_R_setup_script.lsf
#这段if语句用于检查名为normal的输入参数值是否合法。如果normal的值既不是"x"也不是"y",则认为是无效的表面法线方向输入,会输出相应的错误提示信息(通过message函数)
#告知用户输入有误,并将normal默认设置为"y",以保证后续代码能按合理的默认情况继续执行
if ((normal != "x") and (normal != "y")) { message("Surface normal '" + normal + "' is invalid.  Must be 'x', 'y'.  Using y normal.");normal ="y";  # if normal is not specified properly, default to y normal
} 
#这两个if语句根据normal的值来对x_span或y_span进行调整。如果normal的值为"x",意味着在x方向是表面法线方向,此时将x_span设置为 0,因为对于这个特定的监视器(用于计算光栅透射率且必须是 1D 的情况下)
#在法线方向的跨度需要忽略;同理,当normal为"y"时,将y_span设置为 0。
if (normal=="x") { x_span = 0; }  # set span in normal direction to zero
if (normal=="y") { y_span = 0; }

(2) analysis

##############################################
# Grating transmission
# This object calculates the fraction of power transmitted to each 
# grating order at all frequency points recorded by the monitor. 
# It also calculates the number of propagating grating orders 
#
# Input properties
# make plots: 1 to make plots, 0 otherwise
# n target: grating order to plot
# lambda target: wavelength to plot
#
# Output properties
# f: frequency vector
# n: grating order number vector
# T(f): total transmitted power vs frequency
# T_grating(n,f): transmitted power to each grating order
# num_orders(f): number of propagating grating orders 
# theta(n,f): grating order angles          
#          
# Tags: far field grating order transmission
#
# Copyright 2012 Lumerical Solutions Inc
##############################################     #grating_R_analys

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/63185.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

61 基于单片机的小车雷达避障及阈值可调

所有仿真详情导航: PROTEUS专栏说明-CSDN博客 目录 一、主要功能 二、硬件资源 三、主程序编程 四、资源下载 一、主要功能 基于51单片机,采用超声波传感器检测距离,通过LCD1602显示屏显示,三个按键,第一个按键是…

WEB开发: Node.js路由之由浅入深(一) - 全栈工程师入门

作为一个使用Node.js多年的开发者,我已经习惯于用Node.js写一些web应用来为工作服务,因为实现快速、部署简单、自定义强。今天我们一起来学习一个全栈工程师必备技能:web路由。(观看此文的前提是默认你已经装好nonde.js了&#xf…

【机器学习算法】——逻辑回归

目录 逻辑回归理解损失函数代码练习1. 房屋价格与面积的关系2.基于学生特征的录取概率预测 逻辑回归理解 逻辑回归是用来二分类的! 是在线性回归模型之后加了一个激活函数(Sigmoid)将预测值归一化到【0~1】之间,变成概率值。 一般计算其中一…

一个有意思pytorch的简单应用小实验

通过一个简单的脚本,来学习pytorch的基本应用,比如:前向传播、反向传播、学习率以及预测、模型的基本原理和套路。 得到结果。。。保存模型。。。输入参数。。。预测。。。像不像?。。。像多少?。。。 设计目标&#x…

使用lumerical脚本语言创建定向耦合器并进行数据分析(纯代码实现)

本文使用lumerical脚本语言创建定向耦合器波导、计算定向耦合器的偶数和奇数模式、分析定向耦合器的波长依赖性、分析定向耦合器的间隙依赖性(代码均有注释详解)。 一、绘制定向耦合器波导 1.1 代码实现 # 这段代码主要实现了绘制定向耦合器波导几何结构的功能。通过定义各种…

Linux 35.6 + JetPack v5.1.4之RTP实时视频Python框架

Linux 35.6 JetPack v5.1.4之RTP实时视频Python框架 1. 源由2. 思路3. 方法论3.1 扩展思考 - 慎谋而后定3.2 扩展思考 - 拒绝拖延或犹豫3.3 扩展思考 - 哲学思考3.4 逻辑实操 - 方法论 4 准备5. 分析5.1 gst-launch-1.05.1.1 xvimagesink5.1.2 nv3dsink5.1.3 nv3dsink sync05…

企业风险投资、融资事件数据(1921-2024)

数据包括历年上市与非上市企业的风险投资融资数据等数据,包括融资时间、被投企业、投资方、退出方等数据,希望对大家的研究有所帮助 一、数据介绍 数据名称:企业风险投资、融资事件 数据范围:上市与非上市企业 数据年份&#x…

移远5G模块移植

移远5G模块移植 1.NCM网卡配置2.拨号工具编译3.程序运行 1.NCM网卡配置 1.1、内核配置 打开内核配置界面,并找到USB Network Adapters进行NCM网卡配置 > Device Drivers > Network device support > USB Network Adapters 1.2、驱动修改 打开内核源码钟的…

煤矿 35kV 变电站 3 套巡检机器人 “上岗”,力破供电瓶颈

近日,杭州旗晟智能科技与甘肃某变电站配电室的三套智能巡检机器人线下测试顺利完成,并成功交付使用,这为电力运维工作注入了全新的活力与强大的技术支撑。 一、项目背景 甘肃某变电站总建筑面积1098平方米的变电站集变电、配电、监控等多功能…

docker 相关问题记录

docker mysql 一直重启解决办法(断电或者重启) 一直重启。。因为是内部开发,也没有备份最新的。所以不能删了重来。 方法: docker logs mysql5.7 看到错误跟innodb有关。 具体原因可以参考 http://acuilab.com/articles/2019/1…

Linux中Crontab(定时任务)命令详解

文章目录 Linux中Crontab(定时任务)命令详解一、引言二、Crontab的基本使用1、Crontab命令格式2、Crontab常用操作 三、Crontab的配置与服务管理1、配置Crontab2、服务管理 四、使用示例1、每天凌晨2点备份网站数据2、每周一凌晨3点清理临时文件3、每月的…

记录学习《手动学习深度学习》这本书的笔记(三)

这两天看完了第六章:卷积神经网络,巧的是最近上的专业选修课刚讲完卷积神经网络,什么卷积层池化层听得云里雾里的,这一章正好帮我讲解了基础的知识。 第六章:卷积神经网络 6.1 从全连接层到卷积 在之前的学习中&…

测试知识-高阻示波器的探头补偿

目录 探头补偿 探头补偿 调节补偿电容 调节补偿电容 探头补偿 设计到一个知识盲点,刚好复习补充下 探头补偿 理论知识 示波器和 10:1 探头的简化模型如上图所示,其中示波器的输入阻抗为 RscopeRscope​,探头的补偿电容为 CcompCcomp​。…

低空经济的第一助推力,基于鸿道Intewell操作系统的无人机控制系统

低空经济背景 低空经济是指利用低空空域资源进行经济活动的总和,包括无人机、通用航空、低空物流等新兴产业。近年来,随着技术的不断突破和政策的支持,低空经济正逐渐成为全球瞩目的新经济增长点。在中国,低空经济的发展受到了政…

软件测试基础详解(自动化测试/安全测试/性能测试)

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 自动化测试的意义 缩短软件开发测试周期,可以让产品更快投放市场 测试效率高,充分利用硬件资源 节省人力资源,降低测试成本 …

最小二乘法实际应用

最小二乘法 使用最小二乘法拟合大气二氧化碳浓度数据 数据保存在monthly_co2.xls文件中(只截取部分) python需要安装的库 xlrdnumpypandasmatplotlib 绘制图像代码(绘制整体数据趋势图) # -*- coding: utf-8 -*- """ File : 绘制趋势图.py Time : …

原生html+css+ajax实现二级下拉选择的增删改及树形结构列出

<?php $db_host localhost; $db_user info_chalide; $db_pass j8c2rRr2RnA; $db_name info_chalide; /* 数据库结构SQL CREATE TABLE categories ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, parent_id INT DEFAULT 0 ); */ try { $pdo new PD…

Linux操作系统--文件的重定向以及文件缓冲区

目录 前言 一、文件描述符的分配规则 二、重定向 三、系统中的重定向接口 1、dup2()介绍 2、dup2()使用 1&#xff09;输出重定向和追加重定向 2&#xff09;输入重定向 四、文件缓冲区 1、定义 2、缓冲区刷新的条件 1&#xff09;文件缓冲区存在的意义 2&…

5G CPE核心器件-基带处理器(三)

5G CPE 核心器件 -5G基带芯片 基带芯片简介基带芯片组成与结构技术特点与发展趋势5G基带芯片是5G CPE中最核心的组件,负责接入5G网络,并进行上下行数据业务传输。移动通信从1G发展到5G,终端形态产生了极大的变化,在集成度、功耗、性能等方面都取得巨大的提升。 基带芯片简…

mmdection配置-yolo转coco

基础配置看我的mmsegmentation。 也可以参考b站 &#xff1a;https://www.bilibili.com/video/BV1xA4m1c7H8/?vd_source701421543dabde010814d3f9ea6917f6#reply248829735200 这里面最大的坑就是配置coco数据集。我一般是用yolo&#xff0c;这个yolo转coco格式很难搞定&#…