% This script is a unit-test for version of our code, which would be able % to calculate both 2LS and 3LS. clc % clear close all addpath('..') % materials = {1.455; 1.45; 'air'}; % 3LS materials = {1.45; 'air'}; % 2LS fibre = struct(... 'materials', {materials},... 'coreCladdingRatio', 5/125); % 3LS % 'coreCladdingRatio', NaN); % 2LS %% Erdogan clad % argument = struct(... % 'type', 'dia',... % 'min', 0.01,... % 'max', 10); % % modeTask = struct(... % 'nu', [1],... % 'type', {{'erdogan'}},... % 'maxmode', 4,... % 'lambda', 900,... % 'region', 'cladding'); % % modesE = buildModes(argument, fibre, modeTask, false); %% Monerie, core % argument = struct(... % 'type', 'dia',... % 'min', 40,... % 'max', 180); % % modeTask = struct(... % 'nu', 0:1,... % 'type', {{'monerie'}},... % 'maxmode', 3,... % 'lambda', 900,... % 'region', 'core'); % % modesM = buildModes(argument, fibre, modeTask, true); %% HE11, TE01, TM01, HE21 core argument = struct(... 'type', 'dia',... 'min', 0,... 'max', 300); % modeTask = struct(... % 'nu', 0,... % 'type', {{'te', 'tm'}},... % 'maxmode', 1,... % 'lambda', 900,... % 'region', 'core'); % % modesT = buildModes(argument, fibre, modeTask, true); modeTask = struct(... 'nu', [2],... 'type', {{'hybrid'}},... 'maxmode', 1,... 'lambda', 900,... 'region', 'core'); modesH = buildModes(argument, fibre, modeTask, true); % % %% 2LS % modeTask = struct(... % 'nu', [1],... % 'type', {{'hybrid'}},... % 'maxmode', 3,... % 'lambda', 900,... % 'region', 'cladding'); % % modes2 = buildModes(argument, fibre, modeTask, false); % % % modes = [modes1; modes2; modes3]; % % hM = showModes(modesM); % hE = showModes(modesE); % h2 = showModes(modes2); % set(hM, 'Color', 'blue') % set(hE, 'Color', 'red') % set(h2, 'Color', 'black', 'LineStyle', '--') %