看b站的lumerical视频
Lumerical 基础入门型教程(中文)6—— MODE Solutions EME操作实例演示_哔哩哔哩_bilibili
看到第6个。第78个讲dievce。很多人安利官网,但是这时候官网上不去两三次我就放弃了。应该找不同时间段尝试。可能上午连不上,下午就连上了。
积极学习优化教程,学会优化与扫描。官网的教程如下链接:学完官网,还不会就找百度知乎csdn
https://optics.ansys.com/hc/en-us/sections/360005085013-Optimizations-and-Sweeps
2022/11/23 3
今天都不想起来了。不喜欢被追问式的指责挑刺。喜欢中奖,买东西吃,睡觉。写出一篇中文的论文底稿,然后拿给老板看,能发表就发,不能发表就改改发。
2022/11/22 2
把进度发给人分享,没有得到回复,自己接着琢磨怎么优化器件。
我需要解释仿真实验的现象,把仿真实验的结果整理成paper
2022/11/21 1
今天知道fdtd可以导出立体图,可能能导出立体图,自己尝试一下,如果不行就自己画。
解决了,在view里,搜半天攻略没找到,自己试试view就找到了。25分钟解决这个问题,今天上午圆满了。
高光!2022/11/18 5
今天我测试自己的改进模型,有好结果。开心,激动,兴奋!
是第2版模型得到的结果,感觉很幸运,这样就碰到了。感觉从开始学,到现在经历两个月左右的时间,虽然摸索很困难,但是能得到一个改进结果,我就很满意,今天真的太快乐了。
2022/10/27 4 九周
看nature论文Extending the spectrum of fully integrated photonics to submicrometre wavelengths | Nature
2022/10/25 2 九周
用脚本设定优化程序的全脚本:
#########################################################
# file: optimization_AR_coating_example_script.lsf
#
# Description: This script file
# is used to generate and run the thickness
# optimization as well as plot the results
#
# Copyright 2015, Lumerical Solutions, Inc.
#########################################################
closeall;
clear;
# add a new optimization and set basic properties
addsweep(1);
setsweep("optimization", "name", "thickness_optimization_script");
setsweep("thickness_optimization_script", "Type", "Minimize");
setsweep("thickness_optimization_script", "algorithm", "Particle Swarm");
setsweep("thickness_optimization_script", "maximum generations", 20);
setsweep("thickness_optimization_script", "generation size", 10);
setsweep("thickness_optimization_script", "tolerance", 0);
# define the parameter thickness
para = struct;
para.Parameter = "::model::AR structure::thickness";
para.Type = "Length";
para.Min = 0.05e-6;
para.Max = 0.15e-6;
para.Units = "microns";
# add the parameter thickness to the optimization
addsweepparameter("thickness_optimization_script", para);
# define figure of merit
result_1 = struct;
result_1.Name = "R";
result_1.Result = "::model::R::T";
result_1.Optimize = true;
result_2 = struct;
result_2.Name = "T";
result_2.Result = "::model::T::T";
result_2.Optimize = false;
# add the figure of merits R & T to the optimization
addsweepresult("thickness_optimization_script", result_1);
addsweepresult("thickness_optimization_script", result_2);
# run optimization
runsweep("thickness_optimization_script");
# get & view the results - parameter value
R = getsweepresult("thickness_optimization_script", "parameter trend");
value = R.getattribute("parameter value");
gen = R.getparameter("generation");
plot(gen, value / 1e-9, "generation", "parameter value (nm)", "thickness");
legend("");
阅读Creating parameter sweeps using a script,今天学习的两个都是纯脚本命令。阅读了一遍加强熟悉。
第四课全脚本生成优化
#########################################################
# file: sweep_AR_coating_example_script.lsf
#
# Description: This script file
# is used to generate and run the thickness
# sweep as well as plot the results
#
# Copyright 2015, Lumerical Solutions, Inc.
#########################################################
closeall;
clear;
# add a new sweep and set basic properties
addsweep;
setsweep("sweep", "name", "thickness_sweep_script");
setsweep("thickness_sweep_script", "type", "Ranges");
# define the parameter thickness
para = struct;
para.Name = "thickness";
para.Parameter = "::model::AR structure::thickness";
para.Type = "Length";
para.Start = 0.05e-6;
para.Stop = 0.15e-6;
para.Units = "microns";
# add the parameter thickness to the sweep
addsweepparameter("thickness_sweep_script", para);
# define results
result_1 = struct;
result_1.Name = "R";
result_1.Result = "::model::R::T";
result_2 = struct;
result_2.Name = "T";
result_2.Result = "::model::T::T";
# add the results R & T to the sweep
addsweepresult("thickness_sweep_script", result_1);
addsweepresult("thickness_sweep_script", result_2);
setsweep("thickness_sweep_script", "number of points", 10);
# run the sweep
runsweep("thickness_sweep_script");
# view the results
R = getsweepresult("thickness_sweep_script", "R");
T = getsweepresult("thickness_sweep_script", "T");
plot(R.thickness*1e9, R.T, "AR thickness (nm)","R");
plot(T.thickness*1e9, T.T, "AR thickness (nm)","T");
#visualize(R);
#visualize(T);
2022/10/24 1 九周
早9:37官网打不开,看看matlab编程关于优化的部分代码。FDTD是麦克斯韦方程旋度方程的离散空间网格取值求解,是广泛使用的数值方法。
reflection = getsweepresult("wavelength", "R");
R = -reflection.T;
lambda = reflection.lambda_sweep*1e9;
plot(reflection.source_angle, pinch(R,2,1), pinch(R,2,2), pinch(R,2,3),
"angle of incidence (degrees)","Reflection","Reflection vs angle");
legend('lambda = ' + num2str(lambda(1)),
'lambda = ' + num2str(lambda(2)),
'lambda = ' + num2str(lambda(3)));
下午3:51官网可以打开。
2022/10/21 5
学习扫描与优化,第二课官网案例里有一个扫描单个参数的例子,硅上材料层厚度优化:
硅上抗反射层厚度ARhttps://optics.ansys.com/hc/en-us/articles/360034922873,有获取结果的脚本。(获取结果之前,先分析模式,先运行相应设置好的扫描块,再运行完之后再获取结果)
第二课是波长与入射角两个参数,对反射情况的变化显示。中午11点左右网不好,登不上官网,改日再战。下午没有赶上听nlp,又把官网第二课案例学了一遍,感觉有所收获。
2022/10/20 4
上午网络不给力,官网链接打不开。看fdtd原理的书,巩固fdtd的麦克斯韦方程,麦克斯韦方程离散化,用一个方程设定离散步长。
2022/10/19 3
应对如何验证算法正确,是否使用的办法?一,原理是这样的,可以通过原理推导。二,用我的办法算过例子,结果一致。三,用其他计算方法计算,结果相似。四,科学理论提出的结果都有怀疑余地,不能因为有怀疑余地停滞不前。五,做出来实验。
找到一个很炫酷的博客FDTD学习笔记 - 随笔分类 - lihao_Q - 博客园
有一篇号称一篇文章入门fdtdhttp://www.360doc.com/content/22/0520/20/32196507_1032382435.shtml
2022/10/18 2
早上网不太好,调了一下,反复重登,15分钟以后就好了。可能是我妈保佑我。
官网上第一课:
https://optics.ansys.com/hc/en-us/articles/360043102714-Corner-analysis-utility
扫描流程还有相应的脚本,脚本流程很清晰,但是一些命令看不懂:
clear;
switchtolayout;
project_name = "corner_analysis.icp";
installdesignkit("lumfoundry_template.cml", "./", true);
load(project_name);
analysis_name = "corner_analysis";
try{deletesweep(analysis_name);}
# define corner analysis
addsweep(4);
setsweep("Corner sweep", "name", analysis_name);
setsweep(analysis_name, "resave files after analysis", 0);
# define corner
corners_L = struct;
corners_L.name = "MMI";
corners_L.Library = "./lumfoundry_template/lumfoundry_template.lib.x";
corners_L.Corners = "fast; slow; nominal";
addsweepparameter(analysis_name, corners_L);
# define result
results_L = struct;
results_L.name = "transmission";
results_L.result = "::Root Element::ONA_1::input 1/mode 1/transmission";
addsweepresult(analysis_name,results_L);
# run corner analysis
runsweep(analysis_name);
# visualize results
result = getsweepresult(analysis_name, results_L.name );
visualize(result);
今天官网很给力(10:00),服务器登不上去但是自己的电脑可以登录。第二课创建嵌套参数扫描,嵌套扫描即扫描多个参数,单个参数扫描单元是第二课多参数扫描的内置课程,是一个官网调厚度的例子:https://optics.ansys.com/hc/en-us/articles/360034922873
下午网不太行(4:00),看完第二课收工。
2022/10/17 1 10
学优化与扫描,(9:30开官网连不上。
百度相关优化,看到一篇文档,文字叙述新建一个结构组,在其中使用脚本语言优化参数,paraxx是优化对象的命令。百度优化透镜参数,看到一些命令行,看了一遍留个映像。
看到csdn上一个超透镜的优化案例,是官网的案例翻译,我没太看懂,看了一遍,感觉比百度那个文档还不好理解,但是有案例下载链接,码下来。Lumerical官方案例、FDTD时域有限差分法仿真学习(十四)——超透镜(Metalens)_子非鱼icon的博客-CSDN博客
这篇有配套的个人讲解理解,从代码角度阅读官网文章。image可以绘制相位随高度和半径变化的二维图像 。【FDTD Lumerical sweep扫描参数数据提取及可视化【以S参数为例】】_Pale blue dot的博客-CSDN博客_fdtd扫描脚本
下午4:49 官网连上了,可以看超透镜的链接https://optics.ansys.com/hc/en-us/articles/360042097313
也可以看扫描与优化的第一个链接课
2022/10/13 4
I have learned to optimization(优化)
找到了可以切入的点,优化模斑转换器的长度宽度来反向设计一个两层的模斑转换器。如果学会粒子群算法,就加上用粒子群算法做优化的部分,设计一个双层的模斑转换器。
积极学习优化教程,学会优化与扫描。官网的教程如下链接:学完官网,还不会就找百度知乎csdn
https://optics.ansys.com/hc/en-us/sections/360005085013-Optimizations-and-Sweeps
2022/10/11 2
搜索官网有原理教程,但是视频需要才能看,想知道有什么办法可以看到这些视频。文字暂时能看到,先看文字教程吧。
In this course, you will learn about the underlying solver physics and numerics of Ansys Lumerical FDTD, the types of problems it can solve, and how it can best be used for parallel computation. By the end of this section, you will be able to:
一片参考文献
. Dennis M. Sullivan, Electromagnetic simulation using the FDTD method. New York: IEEE Press Series, (2000).
Understanding Mesh Refinement and Conformal Mesh in FDTD – Ansys Optics
zai知乎看到一篇自学记录,可以参考下自学Lumerical FDTFD——FDTD Algorithm - 知乎 (zhihu.com)
2022/10/10 1
我有一个更加清晰的目标,通过这个星期的学习实现复现论文仿真的任务。
2022/10/07 5
今天是学习lumerical fdtd solution 的一个月,这个月从找到lumerical 软件的b站视频开始看,到现在对官网的使用刚入门,b站视频看了以后,对模型的初步搭建有了概念,接下来跟从官网教程,熟练一些步骤。官网不一定能顺利登陆。对fdtd原理的理解,麦克斯韦旋度方程,看了一遍讲解,感觉当下是理解了,过两天会不会忘就不一定。对官网的挖宝。或者对杨老师的模型的理解挖掘。
2022/10/5 3
find a 用户手册
https://optics.ansys.com/hc/en-us/articles/360033154434
2022/9/30 5
我学fdtd达到了第一个20小时,我知道了模型怎么搭,照着一个流程我会搭起光栅,会算E T H P,照着指引会搭建模型了,大致了解搭建模型的流程。不会用脚本搭建模型和计算。下一个阶段的目标,学会用算法优化模型,预计20h彻底熟练。
fdtd快速入门博客教程看完,脚本可以完成从物理模型建立到fdtd区域建立,光源监视设置的全部流程。数据获取可以用get得到。感觉可以看看那本中文书和官网教程了,看几个实例,自己算一下。也可以看网盘里的两本教程,浏览,选择部分精读。
找到了官网计算损失的帖子:计算吸收的光功率 - 简单方法 – Ansys光学
论坛:Ansys Photonics中文论坛.
模型:Simulation objects.
脚本命令合集:Scripting Language.
用代码分析波段损耗:FDTD快速入门之Lumerical脚本语言Pickup(一)序言_ArcSight的博客-CSDN博客_fdtd脚本语言
在FDTD中创建锥体在FDTD中创建锥体_Temmie1024的博客-CSDN博客_fdtd圆台结构
2022/9/23/5
需要加强的,边界条件的使用情形效果和优缺点,网格精度的选择和dx的设置情形和优缺点。快速入门教程里仿真区域的搭建部分提及mesh的设置,但不详细,找到资料就在看一下。
设置光源的偏振有什么意义?需要查一下
快速入门博客教程有第七部分(15条消息) FDTD快速入门之Lumerical脚本语言Pickup(七)数据获取与分析(Analysis)_ArcSight的博客-CSDN博客_fdtd监视器结果怎么分析
用脚本搭建角锥、椭圆:
(15条消息) FDTD快速入门之Lumerical脚本语言Pickup(三)结构(Structure)搭建_ArcSight的博客-CSDN博客_fdtd脚本语言
阅读一篇博客[个人笔记]FDTD代码——边用边更_Temmie1024的博客-CSDN博客_fdtd代码
Lumerical的脚本语言允许你自动完成任务和分析,如操作仿真对象、启动仿真和分析结果。脚本命令可以直接输入到脚本提示符中,也可以从保存的脚本文件(.lsf)中运行。你也可以参加介绍性的脚本AIC学习课程以了解更多信息。该学习课程的视频也可以直接从脚本--视频列表中获得。脚本语言清单链接:(这个网页今天下午不能上,上午可)https://optics.ansys.com/hc/en-us/articles/360037228834-Lumerical-scripting-language-By-category
FDTD add语句部分详细内容_Temmie1024的博客-CSDN博客
可以将fdtd与matlab link:matlab link fdtd 边用边更_Temmie1024的博客-CSDN博客
2022/9/20 2
复现了b站视频第二个例子,流程学习。是我构建的第7个模型。
2022/9/16 5
找到一个例子,复现它的计算和搭建
理解搭建和计算重要自变量的选择原因
熟练化
照着祝一个微盘激光器搭建,在弄完物理模型之后,对分析器和区域的建立顺序产生了困惑。
解决方案:再看一下b站视频,在心中彻底熟悉器件结构,看一下参考手册的例子和说明
我用的是fdtd和mode
第一个视频讲三个部分。第二个部分讲界面交互。fdtd 有限差分时域法:为什么使用fdtd?波长等级的时候请使用fdtd。优点是可以查看宽光谱和主要模式分布。交互界面。文件视图设置,左侧橙色格子是仿真格子。设置边界条件和监视器。一个非常重要的点是RUN进度在不超过95%的时候可以准确预测,方法是预先设置autoshutoff min。参数扫描和优化。扫描优化和设置。
第二个视频是操作实例。建立物理结构,添加仿真区域和边界,添加光源和监视器。检查材料拟之后就可以运算分析。(视频不是高清的,凑乎看一下。)讲一个硅衬底上用etch刻蚀一个槽。加周期边界,加光源,加所有监视器。然后分配资源算一下。扫描 设置参数就可以优化。
第三个mode solution。40:00以后有个例子光纤。最后还有一个例子是脊波导,没详细指南。搭建物理模型,选择仿真区域,设置边界条件偏好金属(但金属不能算弯曲损耗)。仿真光纤,光子晶体,还有脊形波导。设置时注意细节。
第四个2.5Dfdtd,设置一下绿色点和四个蓝色点的位置。有例子,设置细节。
www.lumerical.com
2022/9/9 5
12讲的是python API
2022/9/10 6
14是用python优化的案例实例
探索官网信息。
Lumerical 基础入门型教程(中文)1—— FDTD Solutions 简介与初级教程(上)_哔哩哔哩_bilibili
kx.lumerical.com