diff --git a/tidy3d/components/data/monitor_data.py b/tidy3d/components/data/monitor_data.py index 5b55ffccdd..6f097ce8d0 100644 --- a/tidy3d/components/data/monitor_data.py +++ b/tidy3d/components/data/monitor_data.py @@ -2225,9 +2225,11 @@ def power(self) -> xr.DataArray: ``xarray.DataArray`` Power at points relative to the local origin. """ - power_theta = 0.5 * np.real(self.Etheta.values * np.conj(self.Hphi.values)) - power_phi = 0.5 * np.real(-self.Ephi.values * np.conj(self.Htheta.values)) - power = power_theta + power_phi + fc = self.fields_cartesian + Sx = 0.5 * np.real(fc.Ey * np.conj(fc.Hz) - fc.Ez * np.conj(fc.Hy)) + Sy = 0.5 * np.real(fc.Ez * np.conj(fc.Hx) - fc.Ex * np.conj(fc.Hz)) + Sz = 0.5 * np.real(fc.Ex * np.conj(fc.Hy) - fc.Ey * np.conj(fc.Hx)) + power = Sx + Sy + Sz return self.make_data_array(data=power)