@@ -159,28 +159,51 @@ def make_sim_lum(
159
159
else :
160
160
raise ValueError (f"Polarization { pol } not supported" )
161
161
162
+ buffer = 1e-6
162
163
for p in c .ports :
163
- if p .direction in [180 , 90 ]:
164
- direction = "Forward"
165
- buffer = - 1e-6
166
- else :
167
- direction = "Backward"
168
- buffer = 1e-6
169
164
port = lum .addport ()
170
165
lum .set ("name" , p .name )
171
- lum .set ("x" , p .center [0 ]* 1e-6 + buffer )
172
- lum .set ("y" , p .center [1 ]* 1e-6 )
173
- lum .set ("z" , p .center [2 ]* 1e-6 )
174
- lum .set ("y span" , width_ports * 1e-6 )
175
- lum .set ("z span" , depth_ports * 1e-6 )
176
- lum .set ("direction" , direction )
166
+
167
+ if p .direction in [90 , 270 ]:
168
+ if p .direction == 90 :
169
+ lum .set ("y" , p .center [1 ]* 1e-6 + buffer )
170
+ lum .set ("direction" , "Backward" )
171
+ else :
172
+ lum .set ("y" , p .center [1 ]* 1e-6 - buffer )
173
+ lum .set ("direction" , "Forward" )
174
+
175
+ lum .set ("z" , p .center [2 ]* 1e-6 )
176
+ lum .set ("x" , p .center [0 ]* 1e-6 )
177
+ lum .set ("injection axis" , "y-axis" )
178
+ lum .set ("x span" , width_ports * 1e-6 )
179
+ lum .set ("z span" , depth_ports * 1e-6 )
180
+ elif p .direction in [180 , 0 ]:
181
+ if p .direction == 180 :
182
+ lum .set ("x" , p .center [0 ]* 1e-6 - buffer )
183
+ lum .set ("direction" , "Forward" )
184
+ else :
185
+ lum .set ("x" , p .center [0 ]* 1e-6 + buffer )
186
+ lum .set ("direction" , "Backward" )
187
+
188
+ lum .set ("y" , p .center [1 ]* 1e-6 )
189
+ lum .set ("z" , p .center [2 ]* 1e-6 )
190
+ lum .set ("injection axis" , "x-axis" )
191
+ lum .set ("y span" , width_ports * 1e-6 )
192
+ lum .set ("z span" , depth_ports * 1e-6 )
193
+ else :
194
+ raise ValueError (f"Port direction { p .direction } not supported" )
195
+
177
196
lum .set ("mode selection" , polarization )
178
197
lum .set ("number of field profile samples" , num_modes )
179
198
180
199
lum .save (f"{ c .name } .fsp" )
181
200
lum .addsweep (3 )
182
201
lum .setsweep ("s-parameter sweep" , "name" , "sparams" )
183
- lum .runsweep ("sparams" , "GPU" )
202
+ input ("Press Enter to continue..." )
203
+ if gpu :
204
+ lum .runsweep ("sparams" , "GPU" )
205
+ else :
206
+ lum .runsweep ("sparams" )
184
207
185
208
lum .exportsweep ("sparams" , f"{ c .name } .dat" )
186
209
sparams_sweep = lum .getsweepresult ("sparams" , "S parameters" )
0 commit comments