Skip to content

Commit 1a86863

Browse files
circular import still a problm
1 parent d6e1c9c commit 1a86863

File tree

2 files changed

+13
-15
lines changed

2 files changed

+13
-15
lines changed

tidy3d/plugins/smatrix/data/data.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,7 @@ class TerminalComponentModelerData(Tidy3dBaseModel):
6363
"and from which this data was generated.",
6464
)
6565

66-
smatrix_data: MicrowaveSMatrixData = pd.Field(
67-
...,
68-
title="S-Matrix Data",
69-
description="Stores the computed S-matrix and reference impedances for the terminal ports",
70-
)
71-
72-
port_simulation_data: MicrowavePortSimulationData = pd.Field(
66+
data: MicrowavePortSimulationData = pd.Field(
7367
...,
7468
title="Port-Simulation Data",
7569
description="Stores raw simulation data from each microwave port-specific simulation.",
@@ -81,6 +75,15 @@ class TerminalComponentModelerData(Tidy3dBaseModel):
8175
description="A string containing the log information from the simulation run.",
8276
)
8377

78+
@cached_property
79+
def smatrix(self) -> MicrowaveSMatrixData:
80+
"Stores the computed S-matrix and reference impedances for the terminal ports"
81+
from tidy3d.plugins.smatrix.local_run import construct_smatrix
82+
83+
terminal_port_data = construct_smatrix(simulation=self.simulation)
84+
smatrix_data = MicrowaveSMatrixData(data=terminal_port_data)
85+
return smatrix_data
86+
8487
@pd.root_validator(pre=False)
8588
def _warn_rf_license(cls, values):
8689
log.warning(
@@ -164,7 +167,7 @@ def get_antenna_metrics_data(
164167
# Retrieve associated simulation data
165168
combined_directivity_data = None
166169
for port, amplitude in port_dict.items():
167-
sim_data_port = self.port_simulation_data.data[port]
170+
sim_data_port = self.data.data[port]
168171
radiation_data = sim_data_port[rad_mon.name]
169172

170173
a, b = compute_power_wave_amplitudes_at_each_port(

tidy3d/plugins/smatrix/local_run.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
from tidy3d.plugins.smatrix.component_modelers.terminal import TerminalComponentModeler
1414
from tidy3d.plugins.smatrix.data.data import (
1515
MicrowavePortSimulationData,
16-
MicrowaveSMatrixData,
1716
TerminalComponentModelerData,
1817
)
1918
from tidy3d.plugins.smatrix.data.data_array import PortDataArray, TerminalPortDataArray
@@ -57,16 +56,12 @@ def run(
5756
# TODO Remove once fully decoupled simulation from batch_data
5857
batch_data = simulation.batch_data
5958

60-
terminal_port_data = construct_smatrix(simulation=simulation, batch_data=batch_data)
61-
6259
port_to_sim_data_map = {
6360
port_i: batch_data[simulation._task_name(port=port_i)] for port_i in simulation.ports
6461
}
62+
6563
port_simulation_data = MicrowavePortSimulationData(data=port_to_sim_data_map)
66-
smatrix_data = MicrowaveSMatrixData(data=terminal_port_data)
67-
return TerminalComponentModelerData(
68-
simulation=simulation, smatrix_data=smatrix_data, port_simulation_data=port_simulation_data
69-
)
64+
return TerminalComponentModelerData(simulation=simulation, data=port_simulation_data)
7065

7166

7267
def construct_smatrix(

0 commit comments

Comments
 (0)