|
1 | | -from SuPyMode.Geometry import Geometry, Fused4, Circle |
| 1 | +from SuPyMode.Geometry import Geometry, Fused3, Circle |
2 | 2 | from SuPyMode.Solver import SuPySolver |
3 | 3 | from SuPyMode.fibers import * |
4 | 4 | from PyOptik import ExpData |
|
7 | 7 |
|
8 | 8 | FiberA = Fiber_DCF1300S_20(Wavelength=1.55) |
9 | 9 | FiberB = Fiber_DCF1300S_33(Wavelength=1.55) |
| 10 | +FiberC = Fiber_New(Wavelength=1.55) |
10 | 11 |
|
11 | | -nMode = 6 |
12 | | -Xbound = [-150, 0] |
13 | | -Ybound = [-150, 0] |
14 | | -Nx = 100 |
15 | | -Ny = 100 |
| 12 | +Xbound = [-130, 130] |
| 13 | +Ybound = [-130, 130] |
| 14 | +Nx = 130 |
| 15 | +Ny = 130 |
16 | 16 |
|
17 | 17 | Index = ExpData('FusedSilica').GetRI(1.55e-6) |
18 | 18 |
|
19 | | -Clad = Fused4(Radius = 62.5, Fusion = 0.95, Index = Index) |
| 19 | +Clad = Fused3(Radius = 62.5, Fusion = 0.95, Index = Index) |
20 | 20 |
|
21 | 21 |
|
22 | 22 | Core0 = FiberA.Get(Clad.C[0]) |
23 | 23 | Core1 = FiberB.Get(Clad.C[1]) |
24 | | -Core2 = FiberA.Get(Clad.C[2]) |
25 | | -Core3 = FiberB.Get(Clad.C[3]) |
| 24 | +Core2 = FiberC.Get(Clad.C[2]) |
| 25 | + |
26 | 26 |
|
27 | 27 | Geo = Geometry(Clad = Clad, |
28 | | - Objects = [*Core0, *Core1, *Core2, *Core3], |
| 28 | + Objects = [*Core0, *Core1, *Core2], |
29 | 29 | Xbound = Xbound, |
30 | 30 | Ybound = Ybound, |
31 | 31 | Nx = Nx, |
32 | 32 | Ny = Ny) |
33 | 33 |
|
34 | | -#Geo.Rotate(45) |
| 34 | +Geo.Rotate(45) |
| 35 | + |
| 36 | +Geo.Plot() |
| 37 | + |
35 | 38 |
|
36 | | -#Geo.Plot() |
| 39 | +Sol = SuPySolver(Coupler=Geo, Tolerance=1e-8, MaxIter = 10000) |
| 40 | +Sol.CreateSuperSet(Wavelength=1.55, NStep=300, ITRi=1, ITRf=0.05) |
37 | 41 |
|
| 42 | +Sol.AddModes(Sorting = 'Field', |
| 43 | + Symmetries = {'Right': 0, 'Left': 0, 'Top': 0, 'Bottom': 0}, |
| 44 | + nMode = 8, |
| 45 | + sMode = 4 ) |
38 | 46 |
|
39 | 47 |
|
40 | | -Sol = SuPySolver(Coupler=Geo, Tolerance=1e-8, MaxIter = 10000, nMode=8, sMode=5) |
| 48 | +Set = Sol.GetSet() |
41 | 49 |
|
42 | | -SuperSet = Sol.GetModes(wavelength = 1.55, |
43 | | - Nstep = 300, |
44 | | - ITRi = 1, |
45 | | - ITRf = 0.05, |
46 | | - Sorting = 'Index', |
47 | | - RightSymmetry = 1, |
48 | | - LeftSymmetry = 0, |
49 | | - TopSymmetry = -1, |
50 | | - BottomSymmetry = 0 |
51 | | - ) |
| 50 | +Set.PlotAdiabatic() |
52 | 51 |
|
53 | | -#SuperSet.PlotFields(iter=-1) |
54 | | -#SuperSet.Plot(Input=['Index', 'Adiabatic'], iter=[-1]) |
55 | | -SuperSet.ExportPDF(Directory='ABAB_xS_yA', iter=[0, 200, 290]) |
| 52 | +# SuperSet.ExportPDF(Directory='ABAB_xS_yA', iter=[0, 200, 290]) |
0 commit comments