Grating coupler - Matlab-driven optimization (2D)代码解读

本文介绍了使用Matlab进行光栅耦合器的二维优化过程,详细讲解了Main函数中的nonlcon、FiniteDifferenceStepSize、fmincon算法及其参数设置,以及PlotFcn和Display选项的功能。同时,提到了Coupler_Optimization的相关内容和confun的作用。
摘要由CSDN通过智能技术生成

Grating coupler - Matlab-driven optimization (2D)

Main函数

%添加Lumerical Matlab API
path(path,'C:\Program Files\Lumerical\FDTD\api\matlab'); %将Lumerical API路径添到Matlab;
sim_file_path=('C:\Learning\Matlab Nonlinear optimization');  %用matlab打开的fdtd文件所在的存放位置 
sim_file_name=('grating_coupler_2D_Matlab_Optimization.fsp'); %用matlab打开的名为grating_coupler_2D_Matlab_Optimization.fsp的文件

%Open FDTD session
h=appopen('fdtd');     

%Pass the path variables to FDTD
appputvar(h,'sim_file_path',sim_file_path);     %通过h将Matlab工作空间中的变量sim_file_path作为变量sim_file_path发送到Lumerical的工作空间中                                        
appputvar(h,'sim_file_name',sim_file_name);  

%Load the FDTD simulation file and get simulation parameters
code=strcat('cd(sim_file_path);',...
    'load(sim_file_name);',...
    'select("grating_coupler_2D");',...
    'coupler_y_pos=get("y");',...        %strcat 水平串联字符串
    'coupler_thickness=get("h total");',...
    'select("fiber::source");',...
    'source_y_pos=get("y");',...
    'select("fiber");',...
    'fiber_y_pos=get("y");',...
    'gap=abs(fiber_y_pos+source_y_pos-coupler_y_pos-coupler_thickness);',...
    'select("FDTD");',...
    'FDTD_span=get("x span");');
    
%send the script in 'code' to Lumerical FDTD Solutions
appevalscript(h,code);    %在fdtd中执行code命令

%Get variables 'FDT
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值