Skip to content

Commit a161de7

Browse files
still in progress
1 parent 63bc725 commit a161de7

File tree

1 file changed

+12
-16
lines changed

1 file changed

+12
-16
lines changed

tidy3d/plugins/smatrix/run/terminal.py

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import numpy as np
44

55
from tidy3d.components.data.sim_data import SimulationData
6-
from tidy3d.plugins.smatrix.component_modelers.terminal import TerminalComponentModeler
6+
from tidy3d.plugins.smatrix.data.terminal import TerminalComponentModelerData
77
from tidy3d.plugins.smatrix.data.data_array import PortDataArray, TerminalPortDataArray
88
from tidy3d.plugins.smatrix.utils import (
99
ab_to_s,
@@ -14,7 +14,7 @@
1414

1515

1616
def terminal_construct_smatrix(
17-
modeler: TerminalComponentModeler, batch_data: BatchData = None
17+
modeler_data: TerminalComponentModelerData
1818
) -> TerminalPortDataArray:
1919
"""
2020
Constructs the scattering matrix (S-matrix) from raw simulation data.
@@ -26,11 +26,7 @@ def terminal_construct_smatrix(
2626
2727
Parameters
2828
----------
29-
modeler : TerminalComponentModeler
30-
The modeler setup defining the component, ports, and frequencies.
31-
batch_data : BatchData, optional
32-
Pre-computed simulation results. If None, the function will execute the
33-
batch run defined within the `simulation` object.
29+
modeler_data
3430
3531
Returns
3632
-------
@@ -39,22 +35,22 @@ def terminal_construct_smatrix(
3935
output port, and input port.
4036
"""
4137

42-
port_names = [port.name for port in modeler.ports]
38+
port_names = [port.name for port in modeler_data.modeler.ports]
4339

4440
values = np.zeros(
45-
(len(modeler.freqs), len(port_names), len(port_names)),
41+
(len(modeler_data.modeler.freqs), len(port_names), len(port_names)),
4642
dtype=complex,
4743
)
4844
coords = {
49-
"f": np.array(modeler.freqs),
45+
"f": np.array(modeler_data.modeler.freqs),
5046
"port_out": port_names,
5147
"port_in": port_names,
5248
}
5349
a_matrix = TerminalPortDataArray(values, coords=coords)
5450
b_matrix = a_matrix.copy(deep=True)
5551

5652
# Tabulate the reference impedances at each port and frequency
57-
port_impedances = port_reference_impedances(modeler=modeler)
53+
port_impedances = port_reference_impedances(modeler=modeler_data.modeler)
5854

5955
# loop through source ports
6056
for port_in in modeler.ports:
@@ -69,7 +65,7 @@ def terminal_construct_smatrix(
6965

7066

7167
def port_reference_impedances(
72-
modeler: TerminalComponentModeler, batch_data: BatchData = None
68+
modeler_data: TerminalComponentModelerData
7369
) -> PortDataArray:
7470
"""
7571
Calculates the reference impedance for each port across all frequencies.
@@ -94,13 +90,13 @@ def port_reference_impedances(
9490
PortDataArray
9591
A data array containing the complex impedance for each port at each frequency.
9692
"""
97-
port_names = [port.name for port in modeler.ports]
93+
port_names = [port.name for port in modeler_data.modeler.ports]
9894

9995
values = np.zeros(
100-
(len(modeler.freqs), len(port_names)),
96+
(len(modeler_data.modeler.freqs), len(port_names)),
10197
dtype=complex,
10298
)
103-
coords = {"f": np.array(modeler.freqs), "port": port_names}
99+
coords = {"f": np.array(modeler_data.modeler.freqs), "port": port_names}
104100
port_impedances = PortDataArray(values, coords=coords)
105101
for port in modeler.ports:
106102
if isinstance(port, WavePort):
@@ -114,7 +110,7 @@ def port_reference_impedances(
114110
# LumpedPorts have a constant reference impedance
115111
port_impedances.loc[{"port": port.name}] = np.full(len(modeler.freqs), port.impedance)
116112

117-
port_impedances = modeler._set_port_data_array_attributes(port_impedances)
113+
port_impedances = modeler_data.modeler._set_port_data_array_attributes(port_impedances)
118114
return port_impedances
119115

120116

0 commit comments

Comments
 (0)