You should write because writing makes you a better person.

0%

为什么要把Lumerical画的图导入MATLAB重新画图

为了统一画图的格式,后续可以把matlab重新画的图导入AI统一进行图像的绘制和处理。

具体方法:

1. 首先把Lumerical画出的模场分布导出为TXT格式:

adfdsfewwqex20240107

2. 修改txt格式的文件的内容,添加上bulk_E_slice = [ … ]

image-20240107192215500

image-20240107192251396

3. 把txt文件重命名为power_distribution.m

image-20240107192301482

4. 运行MATLAB程序

MATLAB代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
close all;
clear;
power_distribution;
bulk_E_slice =rot90(bulk_E_slice);
length = 104;
width = 4;
x =0:size(bulk_E_slice,1)*length/size(bulk_E_slice,1);
y =0:size(bulk_E_slice,2)*width/size(bulk_E_slice,2);
y = fliplr(y);
x = x-3;
imagesc(x,y,bulk_E_slice)
xlabel("x(μm)");
ylabel("y(μm)");
colorbar;
% caxis([0,1]);
colorbar('Ticks',[0,0.5,1,1.5,2]);
set(gca,'YDir','normal')
colormap('jet');
xlim([0,40])

image-20240107192325877

5. 复制图窗,拷贝进入Adobe IIIustrator

修改完之后最后结果:

资源 120240107

器件功能:

使TE0-TE4和TM0-TM4能分开

结构:

image-20240104164502003

优化思路:

大体思路就是TE4好的话就减少宽度,TM4好的话就增加宽度(trench和gap)

优化过程log

gap = 0.3; trench = 0.3

TM4 @ 1550 nm:

image-20240104175603572

gap = 0.25; trench = 0.25

TM4:

image-20240104211808072

TE4:

image-20240104212419303

器件功能:

使TE0-TE4和TM0-TM4能分开

结构:

image-20240104164502003

优化思路:

大体思路就是TE4好的话就减少宽度,TM4好的话就增加宽度(trench和gap)

优化过程log

gap = 0.3; trench = 0.3

TM4 @ 1550 nm:

image-20240104175603572

gap = 0.25; trench = 0.25

TM4:

image-20240104211808072

TE4:

image-20240104212419303

方法

google 学术里面选择引用->BibTeX

image-20231231204002660

用BibTeX的原因是其他格式的的好像短时间下载多了ip会被ban

鼠标侧键复制

下面是x mouse button的配置

image-20231231204026045

鼠标中键导入到zotero中

image-20231231204041281最后在word里面使用

image-20231231204136679

好处:

  1. google学术抓取的一般参考文献的人名、页码等不会出错

  2. 方便快捷,适合大量参考文献的格式统一和抓取

摘要

本回答将简单简单的介绍杨宗银老师开发单纳米线计算光谱仪,此项研究在2019年在science上有报告 [1],感兴趣的可以阅读原文,此回答可以看作该文章的导读。

背景

光谱仪的目的是得到入射光在不同波上的强度,也就是得到光谱。杨老师的方法是基于光谱重构原理设计的计算光谱仪,2013年,Cao Hui老师最早在nature photonics上报道过这种方法 [2],并且后续做了一系列工作,潜在应用包括光谱相机,血氧检测等。

方法和设计原理

光谱仪的方法是基于光谱重构,具体原理可以简单介绍如下:

1. 光强可以通过材料中的电流来探测

我们高中的时候可能学过光电效应,光子会被吸收把电子从价带顶激发到导带底。光探测器的原理与此类似,也就就是一定强度的光照射在特定的半导体材料上会产生自由载流子,进而在反偏PN结中形成电流。简言之,就是光强可以通过材料中的电流来探测。

2. 光强可以叠加

比如说,波长为λ1λ_1,强度为a1a_1的光产生的电流为c1c_1,波长为λ2λ_2,强度为a2a_2的光子产生的电流为c2c_2,那么当这两束光同时入射时,产生的电流为 c1+c2c_1 + c_2

当连续光入射时,探测到的电流为:

λ1λ2F(λ)R1(λ)dλ=I1\int_{\lambda 1}^{\lambda 2} F(\lambda) R_1(\lambda) d \lambda=I_1

其中F(λ)F(\lambda)是入射光谱,R1(λ)R_1(\lambda)可以理解为特定光探测器的光电转换系数。

3. 假如我们制造了2个光探测器

比如说,波长为λ1λ_1,强度为a1a_1的光产生的电流为c1c_1,波长为λ2λ2,强度为a2a_2的光同时入射时,产生的电流在探测器1上为 I1I_1,在探测器2上为I2I_2,那么我们可以得到如下方程组:

r1(λ1)a1+r1(λ2)a2=I1r2(λ1)a1+r2(λ2)a2=I2r_1(\lambda_1)*a_1 + r_1(\lambda_2)*a_2 = I_1\\ r_2(\lambda_1)*a_1 + r_2(\lambda_2)*a_2 = I_2

我们知道这是一个二元一次方程组,在已知r1(λi),Iir_1(\lambda_i),I_i的情况,可以轻松算出a1,a2a_1,a_2

3. 假如我们制造了100个光探测器

假如我们制造了100个光探测器,并且提前测得了每个光探测器在不同波长的光电转换系数Ri(λ)Ri(λ)。可以得到:

λ1λ2F(λ)R1(λ)dλ=I1λ1λ2F(λ)R2(λ)dλ=I2λ1λ2F(λ)Rn(λ)dλ=In\begin{gathered} \int_{\lambda 1}^{\lambda 2} F(\lambda) R_1(\lambda) d \lambda=I_1 \\ \int_{\lambda 1}^{\lambda 2} F(\lambda) R_2(\lambda) d \lambda=I_2 \\ \vdots \\ \int_{\lambda 1}^{\lambda 2} F(\lambda) R_n(\lambda) d \lambda=I_n \end{gathered}

那么我们把他们同样离散化后(就是光谱划分为λ1,λ2,...λn\lambda_1, \lambda_2,...\lambda_n),可以得到一个n元方程组,在已知Ri(λ)R_i(\lambda),并且测得IiI_i的情况下,

通过矩阵求逆/最小误差等等方法可以求出来光谱信号(如MATLAB CVX toolbox)。

4.假如我们把这100个光探测器做在一根纳米线上

image-20231229120606633假如我们把这100个光探测器做在一根纳米线上,并且每过一段长度放一个电极来检测电流。那么我们就得到了一个超小型的片上计算光谱仪。

个人评价

因为我本身不做这个领域,只能分享一些道听途说的事情,有错漏可以指出,有什么写的不太清楚,或者想进一步了解的地方也可以评论区提问。

和大部分科研工作相比,这项工作确实挺有意思的,但依然有很多问题需要解决。

  1. 由于矩阵的病态性,不能确定入射光谱一定能被计算出来
  2. 由于光探测器需要用激光器提前标定,因此在工业生产中成本较高。
  3. 可能这个光谱系统可能不是非常稳定。

总之,在快到2024年的今天,这个坑里面可以继续灌的水不多了,大家入坑请谨慎。

参考文献

  1. Zongyin Yang et al., Single-nanowire spectrometers. Science365,1017-1020(2019). DOI:10.1126/science.aax8814
  2. Redding, B., Liew, S., Sarma, R. et al. Compact spectrometer based on a disordered photonic chip. Nature Photon 7, 746–751 (2013). https://doi.org/10.1038/nphoton.2013.190

硬件需求

Nvidia CUDA driver version 450.80.02 or later (Linux), version 452.39 or later (windows)

仿真需求

需要设置为express模式:

img

目前限制

  1. 边界条件仅支持PML
  2. frequency dependent mode source profiles are not supported.
  3. time monitors 会限制仿真速度

其他

  1. For multiple jobs it is recommended to run them in series rather than in parallel.

脚本实现

1
2
3
4
5
setnamed("FDTD", "express mode", true);
setresource("FDTD","GPU", true);
setresource("FDTD", 3, "GPU Device", "Auto");
setresource("FDTD", "GPU", false);
setresource("FDTD", "CPU", true); //< equivalent to previous line

参考文献

  1. https://optics.ansys.com/hc/en-us/articles/17518942465811-FDTD-GPU-Solver-Information

  1. fatal: unable to access 'https://github.com/ovshinsky/ovshinsky.github.io.git/': Failed to connect to github.com port 443 after 21098 ms: Couldn't connect to server
    解决方法:github连不上了,稍等重新hexo d部署页面即可。
  2. 图片显示不出来

.md文件中图片路径前面的..两个点删掉

主要是我自己用的比较多的一些软件,有一些还没有安装:

L-edit

链接:https://pan.baidu.com/s/1XHCDHUSGgn-p5HQMH1VrIw
提取码:f1ik

Pycharm

https://www.yuque.com/ningmengna-6ulrv/gu0o2u/gu4tmfgur2kqtq7o

Adobe 全家桶 (PS、AI、Acrobat)

https://www.yuque.com/ruanjian-jkyer/qik9br

MATLAB
ANSYS Lumerical r2.3 支持gpu加速
安装教程:

【实用软件】ANSYS Lumerical 2023 R1安装教程 (qq.com)

Lumerical FDTD 2023 R2.3安装-CSDN博客

下载链接:

2023r1: https://pan.baidu.com/s/1Tznv7gMIFvgvcfMpyT0ghQ?pwd=imkg

2023r2.3: https://pan.baidu.com/s/1V9j8SsaU4d2-5Zk1TUKWFQ?pwd=h9vr

2024r1:Luemrical 2024 R1
链接:https://pan.baidu.com/s/1wbxZ074Z184wBtkcL6Yc9A
提取码:admw

gpu加速配置教程:FDTD GPU Solver Information – Ansys Optics
18518186955411

注意事项:
  1. GPU仿真加速不支持对称和反对称的边界条件

  2. 运行软件前需要先启动license manager服务

  3. 采用gpu仿真需要勾选:

image-20231225175420746

Klayout

KLayout Layout Viewer And Editor

L-edit
Origin

https://note.youdao.com/s/UJLHVtw8

Typora
Islide
Comsol
3ds max/ C4d

【实用软件】Cinema4D 2024(C4D 2024)安装教程 (yuque.com)还是用C4D吧

Reference:
  1. 不迷路资源库 (yuque.com),大概可以淘宝转存成百度网盘下载。

网页环境配置

  1. 安装node.js和git

  2. npm install hexo-cli -g

  3. hexo init myblog

    这里因为可能运行路径不对卡了挺久,可能是因为默认的路径不能创建文件夹,最后发现在桌面上右键cmd打开搞定了。

  4. 切换到项目中

    cd myblog

  5. 安装依赖

    npm install

  6. 本地预览

    hexo g

    hexo s

    然后在浏览器中输入对应的端口网页

  7. 新建文章

    hexo new test

    本质上就是新建了一个markdown文件,可以后续进入这个markdown文件进行修改和写东西

  8. 就可以重复之前的预览看看结果啦

  9. 创建github pages

    创建github仓库:username.github.io

  10. 修改之前生成的文件夹中配置文件,_config.yml,

    修改为:

    1
    2
    3
    4
    deploy:
    type: git
    repo: https://github.com/ovshinsky/ovshinsky.github.io.git
    branch: main
  11. 部署执行命令:

    hexo d

    可能需要安装插件:

    npm install hexo-deployer-git --save

  12. 然后就可以打开ovshinsky.github.io查看效果

主题配置

1.安装主题

在主文件夹里运行cmd:

git clone https://github.com/theme-next/hexo-theme-next.git themes/next

切换版本(可选):

cd themes/hexo-theme-next

git checkout tags/v6.0.1

2.配置主题

打开主文件夹中的_config.yml,配置为theme:next

评论配置:

采用gitalk配置,next的主题里预留了接口:

打开next文件夹中的_config.yml,创建一个Comment仓库,配置为

1
2
3
4
5
6
7
8
9
10
11
12
gitalk:
enable: true #false
github_id: ovshinsky # GitHub repo owner
repo: BlogComments # Repository name to store issues
client_id: 4299921ded3b8e***** # GitHub Application Client ID
client_secret: 90fa712acbeec6ccc4e62************** # GitHub Application Client Secret
admin_user: ovshinsky # GitHub repo owner and collaborators, only these guys can initialize gitHub issues
distraction_free_mode: false # Facebook-like distraction free mode
\# Gitalk's display language depends on user's browser or system environment
\# If you want everyone visiting your site to see a uniform language, you can set a force language value
\# Available values: en | es-ES | fr | ru | zh-CN | zh-TW
language:

图片配置:

安装依赖:npm install hexo-renderer-marked

在_config.yml中设置:

1
2
3
4
post_asset_folder: true
marked:
prependRoot: true
postAsset: true

最后,按如下方法修改typora的配置即可:

image-20231221133235218

参考:

  1. Hexo 博客 NexT 主题的安装使用 | Julian’s blog (ustc.edu.cn), access in 2023.12.21.
  2. “了不起的markdown”, 毕小朋,电子工业出版社,2019.
  3. Hexo 添加图片——不用插件,超简单_hexo添加图片-CSDN博客
  4. hexo博客如何插入图片 - 知乎 (zhihu.com)