five

Data underpinning: BPM-Matlab - An open-source optical propagation simulation tool in MATLAB

收藏
data.dtu.dk2023-07-17 更新2025-03-23 收录
下载链接:
https://data.dtu.dk/articles/dataset/Data_underpinning_BPM-Matlab_-_An_open-source_optical_propagation_simulation_tool_in_MATLAB/13622081/1
下载链接
链接失效反馈
官方服务:
资源简介:
BPM-Matlab is an open-source optical propagation simulation tool we developed in MATLAB environment for computationally efficient simulation of electric field propagation through a wide variety of optical fiber geometries using Douglas-Gunn Alternating Direction Implicit finite difference method. The validations of BPM-Matlab numerical results are provided in the article by comparing them against published data and results from state-of-the-art commercial software. The simulation tool is gratis, open-source, fast, user-friendly, and supports optional CUDA acceleration. It can be downloaded from https://gitlab.gbar.dtu.dk/biophotonics/BPM-Matlab. The software is published under the terms of the GPLv3 License. The data available here in DTU Data can be used to reproduce the figures 1-5 in the Optics Express manuscript titled 'BPM-Matlab - An open-source optical propagation simulation tool in MATLAB'. These data are generated using BPM-Matlab software except for Data_Fig1_d.mat. We suggest the user to use Matlab 2018a or newer to open and read the data. The data set is published under the terms of the Creative Commons Attribution 4.0 License.Data_Fig1_a_b_c.matThis file can be used to reproduce Fig. 1 (a-c) of the article where BPM-Matlab is used to simulate beam propagation through a multimode fiber. The x and y axes values are available in the variables P.x and P.y. The E-field intensity at the proximal end in Fig. 1(a) can be calculated as abs(P.Einitial.').^2. The corresponding phase in Fig. 1(b) is available as angle(P.Einitial.'). The E-field intensity at the multimode fiber distal end in Fig. 1(c) can be calculated as abs(P.E.field.').^2.Data_Fig1_d.matThe corresponding BeamLab simulation results of the same multimode fiber are available in this data file. This data file is generated using BeamLab software. Use the variables bpmData.SlicesXZ.XData, bpmData.SlicesYZ.YData, and abs(bpmData.OutputField.E.x.').^2 to obtain x, y, and distal E-field intensity respectively.Data_Fig_2.matThe data from this file will generate intensity profiles of the five lowest order fiber modes supported by a straight and a bent multimode fiber corresponding to Figure 2 of the article. The variables P_noBend and P_bend are struct variables that hold information about the spatial dimensions as well as E-field profiles of the straight and bent modes. For the straight fiber case, the mode field profile is stored in P_noBend.modes(modeNumber).field, where 1x = dx*(-(Nx-1)/2:(Nx-1)/2) and y = dy*(-(Ny-1)/2:(Ny-1)/2), where Nx = size(P_noBend.modes(modeNumber).field,1), Ny = size(P_noBend.modes(modeNumber).field,2), dx = P_noBend.modes(modeNumber).Lx/Nx, and dy = P_noBend.modes(modeNumber).Ly/Ny. In a similar manner, the mode field profiles of bent multimode fiber may also be accessed from P_bend. Data_Fig3_a.matUse this data file to reproduce Figure 3(a) from the article, where numerical simulation results of different LP modes' normalized fractional power in a bent multimode fiber excited with LP01 mode are presented. The matlab command semilogy(P.z.*1e3,P.modeOverlaps,'linewidth',2)will plot the mode overlap of LP01 to all 30 guided modes in logarithmic scale. The following command legend(P.modes.label,'location','eastoutside','FontSize',6)could be used to label the modes. Set the y-limits of the plot using ylim([1e-4 2]) to visualize the contribution from only the six most excited modes. Data_Fig3_b.matLoad this data file and follow similar steps described above for Data_Fig3_a case in order to plot normalized fractional power in a bent multimode fiber excited with LP03 mode, as in Figure 3(b). Data_Fig_4.matTo reproduce Figure 4(a) from the article, use the commands imagesc(P.z,P.x,abs(P.xzSlice).^2);ylim([-1 1]*0.75e-5); to plot the intensity profile in the xz plane of a multimode fiber tapered down to be a single-mode fiber. For Figure 4(b), use plot(P.z,P.powers) that will plot the power within the simulation window against the length P.z of the fiber. Data_Fig5_a.matThis data file could be used to plot the intensity profile of the E-field at a distance of z = 5 mm after the non-twisted, straight multicore fiber distal end as given in Figure 5(a) in the article. The E-field data after propagation from the distal end is available as E_out_fft.field and the corresponding spatial dimensions are available as E_out_fft.x and E_out_fft.y. Use imagesc(x.*1e3,y.*1e3,E_abs(E_out_fft.field.').^2); axis image; to plot the field intensity profile. Similar to the above case, use the below .mat files to reproduce Figure 5 (b-d). Data_Fig5_b.mat - Twisted straight multicore fiberData_Fig5_c.mat - Non-twisted bent multicore fiberData_Fig5_d.mat - Twisted bent multicore fiber.

BPM-Matlab是一款由我们开发的开源光传播仿真工具,该工具基于MATLAB环境,旨在通过Douglas-Gunn交替方向隐式有限差分法,以计算效率高的方式模拟电场在各种光纤几何结构中的传播。该工具的数值结果验证通过发表在文章中的数据与已发布数据以及顶尖商业软件的结果进行比较来实现。BPM-Matlab仿真工具免费、开源、快速、用户友好,并支持可选的CUDA加速。用户可从https://gitlab.gbar.dtu.dk/biophotonics/BPM-Matlab下载该工具。该软件遵循GPLv3许可协议发布。DTU数据集中可用的数据可用于复现《Optics Express》杂志中题为'BPM-Matlab - MATLAB环境下的开源光传播仿真工具'的手稿中的图1-5。这些数据使用BPM-Matlab软件生成,除Data_Fig1_d.mat文件外。建议用户使用MATLAB 2018a或更高版本来打开和读取数据。数据集遵循Creative Commons Attribution 4.0许可协议发布。Data_Fig1_a_b_c.mat该文件可用于复现文章中图1(a-c),其中使用BPM-Matlab模拟多模光纤中的光束传播。图1(a)中近端电场强度可通过计算abs(P.Einitial.').^2得到。图1(b)中的相应相位作为angle(P.Einitial.').提供。图1(c)中多模光纤远端电场强度可通过计算abs(P.E.field.').^2得到。Data_Fig1_d.mat该数据文件提供了相同多模光纤的BeamLab仿真结果。该数据文件由BeamLab软件生成。使用变量bpmData.SlicesXZ.XData、bpmData.SlicesYZ.YData和abs(bpmData.OutputField.E.x.').^2分别获取x、y和远端电场强度。Data_Fig_2.mat该文件中的数据将生成一条直线和弯曲多模光纤支持的五个最低阶光纤模式的强度分布,对应于文章中的图2。结构变量P_noBend和P_bend包含有关直线和弯曲模式的空间尺寸以及电场分布的信息。对于直线光纤情况,模式场分布存储在P_noBend.modes(modeNumber).field中,其中1x = dx*(-(Nx-1)/2:(Nx-1)/2)和y = dy*(-(Ny-1)/2:(Ny-1)/2),其中Nx = size(P_noBend.modes(modeNumber).field,1),Ny = size(P_noBend.modes(modeNumber).field,2),dx = P_noBend.modes(modeNumber).Lx/Nx,dy = P_noBend.modes(modeNumber).Ly/Ny。以类似的方式,也可从P_bend访问弯曲多模光纤的模式场分布。Data_Fig3_a.mat使用此数据文件来复现文章中的图3(a),其中展示了在LP01模式激励下的弯曲多模光纤中不同LP模式的归一化分数功率的数值模拟结果。使用matlab命令semilogy(P.z.*1e3,P.modeOverlaps,'linewidth',2)将在对数尺度上绘制LP01与所有30个导模的模式重叠。以下命令legend(P.modes.label,'location','eastoutside','FontSize',6)可用于标记模式。使用ylim([1e-4 2])设置图的y轴限制,以可视化仅来自六个最激动的模式的贡献。Data_Fig3_b.mat加载此数据文件,并遵循上述Data_Fig3_a案例中描述的类似步骤,以绘制LP03模式激励下的弯曲多模光纤中的归一化分数功率,如图3(b)所示。Data_Fig_4.mat为了复现文章中的图4(a),使用命令imagesc(P.z,P.x,abs(P.xzSlice).^2);ylim([-1 1]*0.75e-5);来绘制多模光纤渐变到单模光纤的xz平面中的强度分布。对于图4(b),使用plot(P.z,P.powers)将绘制模拟窗口内的功率与光纤长度P.z的关系。Data_Fig5_a.mat此数据文件可用于绘制文章图5(a)中给出的非扭转、直线多芯光纤远端z = 5 mm处的电场强度分布。从远端传播后的电场数据作为E_out_fft.field提供,相应空间尺寸作为E_out_fft.x和E_out_fft.y提供。使用imagesc(x.*1e3,y.*1e3,E_abs(E_out_fft.field.').^2);axis image;来绘制场强度分布。与上述情况类似,使用以下.mat文件来复现图5(b-d)。Data_Fig5_b.mat - 扭曲直线多芯光纤Data_Fig5_c.mat - 非扭转弯曲多芯光纤Data_Fig5_d.mat - 扭曲弯曲多芯光纤。
提供机构:
data.dtu.dk
搜集汇总
数据集介绍
main_image_url
背景与挑战
背景概述
该数据集支持BPM-Matlab这一开源光学传播模拟工具的研究,包含用于重现相关论文中图表的数据文件。数据集提供了详细的使用指南,帮助用户利用这些数据进行光学传播模拟和分析。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务