当前位置: 首页 > news >正文

FDTD_3 d mie_仿真

空心球的太复杂了);直接加不久仿真出来了嘛;

###########################################################################

# Scriptfile: mie_analysis_3d.lsf

#

# Description:

# This file shows how to use analysis groups in mie_example_3d.fsp to do 4

# types of analyses for 3D Mie scattering

# 1) The far field angular scattering in the x-y, x-z and y-z planes

#x-y, x-z和y-z平面的远场角散射

# 2) The far field XY half space (Note: This calculation can be time consuming)

#远场XY半空间(注意:这个计算可能会很耗时)

# 3) The absorption/scattering cross section

#吸收/散射截面

# 4) The field enhancement calculation

#场增强计算电场

# Copyright 2018, Lumerical Solutions, Inc.

###########################################################################

#判断仿真run,若没有,执行run

if(getresult("FDTD","status")==0) { # Run the simulation if it is in layout mode

run;

}

# Choose which of the 4 possible analyses you want to do从4个可能的分析中选择你想做的

#polar:极坐标散射相位;半区间(halfspace),截面,场增强

#,一个总开关,if判断

do_polar_plot = true; # true to perform the test and false to skip

do_halfspace = false; # true to perform the test and false to skip

do_cross_sections = true; # true to perform the test and false to skip

do_field_enhancement = true; # true to perform the test and false to skip

# Define target wavelength used for polar plot and field enhancement when enabled:

#定义用于极性图极坐标和场增强的目标波长。

target_wavelength = 0.5e-6;

# Define the resolution for the far field plots远场图的分辨率

polar_plot_res = 51;

halfspace_res = 31; # this number will significantly affect the time to run this analysis

# Far field polar plot and halfspace远场极坐标图和半场

setnamed("scat_ff", "target wavelength", target_wavelength);#目标波长

#总开关,用if

if(do_polar_plot & do_halfspace ) {

?" Calculating far field angular distribution and halfspace";

?" NOTE: This calculation takes time!!";

setnamed("scat_ff", "do polar plot",0);#这的0(不开启)和1(开启)

setnamed("scat_ff", "do halfspace",1);

setnamed("scat_ff", "halfspace res", halfspace_res);

setnamed("scat_ff", "polar plot res", polar_plot_res);

runanalysis("scat_ff");

?" Calculation done!";

}else{

if(do_polar_plot) {

?" Calculating far field angular distribution";

setnamed("scat_ff", "do polar plot",0);

setnamed("scat_ff", "do halfspace",0);

setnamed("scat_ff", "halfspace res", halfspace_res);

setnamed("scat_ff", "polar plot res", polar_plot_res);

runanalysis("scat_ff");

}

if(do_halfspace) { # only for 3D simulation

?" Calculating far field halfspace";#远场半距

?" NOTE: This calculation takes time!!";

setnamed("scat_ff", "do polar plot",0);

setnamed("scat_ff", "do halfspace",1);

setnamed("scat_ff", "halfspace res", halfspace_res);

setnamed("scat_ff", "polar plot res", polar_plot_res);

runanalysis("scat_ff");

?" Calculation done!";

}

}

#开始判断,然后作图

if(do_polar_plot) {

XY = getresult("scat_ff","XY");

f1 = getnamed("mie_source","frequency start");

f2 = getnamed("mie_source","frequency stop");

n2 = getfdtdindex("Au (Gold) - Johnson and Christy Copy 1",XY.f,f1,f2);#设定了材料

n1 = getnamed("FDTD","background index");

m = n2/n1;

r = getnamed("sphere","radius"); # the radius of the mie particle粒子半径

size_parameter = 2*pi*r/XY.lambda * n1;#周长/波长*n1背景折射率

phi = XY.phi;

theta = 90*pi/180;

S = mie3ds12(cos(theta),m,size_parameter);

k = meshgridy(phi,2*pi/XY.lambda * n1);

phi = meshgridx(phi,2*pi/XY.lambda * n1);

R = 1;

fpoint = find(XY.lambda,target_wavelength);

Etheta = exp(1i*k*R)/(-1i*k*R)*cos(phi)*meshgridy(XY.phi,S.S2);

Ephi = exp(1i*k*R)/(1i*k*R)*sin(phi)*meshgridy(XY.phi,S.S1);

polar(XY.phi,pinch(XY.E2,2,fpoint),pinch(abs(Etheta)^2+abs(Ephi)^2,2,fpoint),"","","XY");

plot(XY.phi,pinch(XY.E2,2,fpoint),pinch(abs(Etheta)^2+abs(Ephi)^2,2,fpoint),"","","XY");

这段代码是在FDTD(有限差分时间域)仿真环境中对Mie散射情况进行计算和可视化的一部分。以下是对每个部分的解释:

XY = getresult("scat_ff","XY"); 这行获取了名为“scat_ff”的结果数据集,其中包含XY坐标的数据。

f1 = getnamed("mie_source","frequency start"); f2 = getnamed("mie_source","frequency stop"); 获取Mie源频率范围的开始和结束点。

n2 = getfdtdindex(...); 根据给定的金(Au)的复介电常数(n2),以及从之前的结果得到的波长(frequency)范围,计算出Mie粒子所在区域的相对折射率。

n1 = getnamed("FDTD","background index"); m = n2/n1; 得到背景介质(通常是真空)的折射率,并计算粒子相对背景的折射率比(m)。

r = ...; size_parameter = ...; 计算Mie粒子的大小参数,涉及粒子的半径、波长和背景折射率。

phi = XY.phi; theta = ...; S = mie3ds12(...): 算法可能涉及到Mie散射函数(S)的计算,依赖于角度(φ, θ)。

k = meshgridy(...); phi = meshgridx(...); R = 1; 创建网格变量,用于后续的物理量计算。

fpoint = find(...): 寻找目标波长对应的索引位置。

Etheta, Ephi = ...: 计算θ和φ方向上的场强分布。

polar(...,"XY"): 最后,使用polar函数进行二维极坐标表示,显示目标波长处的极化强度分布图,参数包括φ轴的数据、极化强度及坐标轴标签。


文章转载自:

http://aUvoPfB8.qxLhj.cn
http://Z5Mb5lHp.qxLhj.cn
http://DEC5QZMl.qxLhj.cn
http://MZUmxvvy.qxLhj.cn
http://Fggtme89.qxLhj.cn
http://5CfNoxHS.qxLhj.cn
http://pdNIBPCs.qxLhj.cn
http://EzavwIuS.qxLhj.cn
http://x3NOk2mp.qxLhj.cn
http://HSFHaC0h.qxLhj.cn
http://SBZVn1zM.qxLhj.cn
http://L8Rds5bv.qxLhj.cn
http://zKB1eryP.qxLhj.cn
http://fOkzWe4X.qxLhj.cn
http://3aJLYh9e.qxLhj.cn
http://eMK4OB9V.qxLhj.cn
http://0gvzqA47.qxLhj.cn
http://JFdJ9IJ2.qxLhj.cn
http://Ip7eAofd.qxLhj.cn
http://ScqTWuTr.qxLhj.cn
http://AULyI1xe.qxLhj.cn
http://6wbycw7Y.qxLhj.cn
http://fiHCeCAa.qxLhj.cn
http://Yo6Tt2nO.qxLhj.cn
http://mwR53dQ4.qxLhj.cn
http://CvskqEWn.qxLhj.cn
http://6wuFPRc4.qxLhj.cn
http://Qn087oQi.qxLhj.cn
http://TKVQ0bju.qxLhj.cn
http://r2a6SsAR.qxLhj.cn
http://www.dtcms.com/a/368095.html

相关文章:

  • Electron 安全性最佳实践:防范常见漏洞
  • SAP ERP公有云详解:各版本功能对比与选型
  • Linux:进程信号理解
  • 深度学习:Dropout 技术
  • Linux 磁盘扩容及分区相关操作实践
  • 【前端】使用Vercel部署前端项目,api转发到后端服务器
  • 【ARDUINO】ESP8266的AT指令返回内容集合
  • Netty从0到1系列之Netty整体架构、入门程序
  • 实战记录:H3C路由器IS-IS Level-1邻居建立与路由发布
  • iOS 抓包工具有哪些?常见问题与对应解决方案
  • 【Linux】网络安全管理:SELinux 和 防火墙联合使用 | Redhat
  • Boost搜索引擎 网络库与前端(4)
  • 服务器硬盘“Unconfigured Bad“状态解决方案
  • 警惕!你和ChatGPT的对话,可能正在制造分布式妄想
  • 中天互联:AI 重塑制造,解锁智能生产新效能​
  • 如何制造一个AI Agent:从“人工智障”到“人工智能”的奇幻漂流
  • 鼓励员工提出建议,激发参与感——制造企业软件应用升级的密钥
  • 2025世界职校技能大赛总决赛争夺赛汽车制造与维修赛道比赛资讯
  • LeetCode 240: 搜索二维矩阵 II - 算法详解(秒懂系列
  • [特殊字符] AI时代依然不可或缺:精通后端开发的10个GitHub宝藏仓库
  • 【MFC】对话框节点属性:Condition(条件)
  • 【MFC 小白日记】对话框编辑器里“原型图像”到底要不要勾?3 分钟看懂!
  • 【为YOLOv11Seg添加MFC界面】详细指南
  • VBA 中使用 ADODB 操作 SQLite 插入中文乱码问题
  • Python 实现 Markdown 与 Word 高保真互转(含批量转换)
  • 如何在 C# 中将文本转换为 Word 以及将 Word 转换为文本
  • 电商企业如何选择高性价比仓储系统?专业定制+独立部署,源码交付无忧
  • Mysql:由逗号分隔的id组成的varchar联表替换成对应文字
  • Windows环境下实现GitLab与Gitee仓库代码提交隔离
  • PXM的JAVA并发编程学习总结