Skip to content

Commit dc5ff92

Browse files
committed
update
1 parent 170a3f6 commit dc5ff92

5 files changed

Lines changed: 214 additions & 564 deletions

File tree

SuPyMode/Solver.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,29 +63,30 @@ def GetSuperSet(self,
6363
):
6464

6565
CppSolver = self.InitBinding(Symmetries, Wavelength, nMode, sMode)
66-
CppSolver1 = self.InitBinding({'Right': -1, 'Left': 0, 'Top': 0, 'Bottom': 0}, Wavelength, nMode, sMode)
66+
#CppSolver1 = self.InitBinding({'Right': -1, 'Left': 0, 'Top': 0, 'Bottom': 0}, Wavelength, nMode, sMode)
6767

6868
self.ITRList = np.linspace(ITRi, ITRf, Nstep)
6969

7070

7171

7272
CppSolver.LoopOverITR(ITR=self.ITRList, ExtrapolationOrder=3)
73-
CppSolver1.LoopOverITR(ITR=self.ITRList, ExtrapolationOrder=3)
73+
#CppSolver1.LoopOverITR(ITR=self.ITRList, ExtrapolationOrder=3)
7474

7575

7676

7777
CppSolver.SortModes(Sorting=Sorting)
78-
CppSolver1.SortModes(Sorting=Sorting)
78+
#CppSolver1.SortModes(Sorting=Sorting)
7979

8080
Set = SuperSet(ParentSolver=self)
8181

82-
self.PopulateSuperSet(Set, [CppSolver, CppSolver1])
82+
self.PopulateSuperSet(Set, [CppSolver])
8383

8484
return Set
8585

8686

8787

8888
def PopulateSuperSet(self, Set, CppSolvers):
89+
Set.CppSolvers = CppSolvers
8990
for CppSolver in CppSolvers:
9091
for BindingNumber in range(CppSolver.sMode):
9192
Set.AppendSuperMode(CppSolver=CppSolver, BindingNumber=BindingNumber)

SuPyMode/Tools/BaseClass.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ def PlotCoupling(self, Scene, Col, Row, Combination):
118118

119119

120120
def PlotAdiabatic(self, Scene, Col, Row, Combination):
121-
Adiabatic = Combination[0][0].CppSolver.ComputingAdiabatic()
121+
Adiabatic = self.Adiabatic
122122
for (Mode0, Mode1) in Combination:
123123
Scene.AddLine(Row = Row,
124124
Col = Col,

SuPyMode/includes/class.cpp

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -136,20 +136,33 @@ EigenSolving::LoopOverITR(ndarray ITRList, size_t order = 1){
136136

137137
ScalarType alpha = -pow( k * ComputeMaxIndex(), 2 );
138138

139-
for (size_t i=0; i<ITRLength; ++i)
139+
size_t barWidth = 70;
140+
std::cout << "[";
141+
for (size_t slice=0; slice<ITRLength; ++slice)
140142
{
143+
double progress = (double) slice/ITRLength;
144+
145+
size_t pos = (size_t) (barWidth * progress);
146+
147+
for (size_t i = 0; i < barWidth; ++i) {
148+
if (i < pos) std::cout << "=";
149+
else if (i == pos) std::cout << ">";
150+
else std::cout << " ";
151+
}
152+
std::cout << "] " << int(progress * 100.0) << " %\n";
153+
std::cout.flush();
154+
141155

142-
std::cout<<"Iteration: "<< i <<" ITR: "<<ITRPtr[i]<<"\n";
143156

144-
kDual = kInit * ITRPtr[i] ;
157+
kDual = kInit * ITRPtr[slice] ;
145158

146159
tie(EigenVectors, EigenValues) = ComputeEigen(alpha);
147160

148-
PopulateModes(i, EigenVectors, EigenValues);
161+
PopulateModes(slice, EigenVectors, EigenValues);
149162

150163
AllFirstEigenValues.push_back(EigenValues[0]);
151164

152-
size_t next = i+1, mode=0;
165+
size_t next = slice+1, mode=0;
153166

154167
alpha = ExtrapolateNext(order, AllFirstEigenValues, ITRList, next);
155168
}

Untitled.ipynb

Lines changed: 186 additions & 550 deletions
Large diffs are not rendered by default.

examples/4x4Coupler.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,13 @@
5151

5252
#SuperSet.PlotFields([-1])
5353

54-
Mode = SuperSet.GetSuperposition(Amplitudes=[1,0,0,1,0,0])
54+
#Mode = SuperSet.GetSuperposition(Amplitudes=[1,0,0,1,0,0])
5555

56-
Mode.CouplerLength = 500
57-
Mode.ComputeAmpltiudes(MaxStep=0.1)
56+
#Mode.CouplerLength = 500
57+
#Mode.ComputeAmpltiudes(MaxStep=0.1)
5858

5959

60-
Mode.PlotField(Slice=0)
60+
#Mode.PlotField(Slice=0)
6161

6262

6363
"""

0 commit comments

Comments
 (0)