tidy3d.rf.AntennaMetricsData#

class AntennaMetricsData[source]#

Bases: DirectivityData, MicrowaveBaseModel

Data representing the main parameters and figures of merit for antennas.

Parameters:

Example

>>> import numpy as np
>>> from tidy3d.components.data.monitor_data import FluxDataArray, FieldProjectionAngleDataArray
>>> from tidy3d.components.monitor import DirectivityMonitor
>>> f = np.linspace(1e14, 2e14, 10)
>>> r = np.atleast_1d(1e6)
>>> theta = np.linspace(0, np.pi, 10)
>>> phi = np.linspace(0, 2*np.pi, 20)
>>> coords = dict(r=r, theta=theta, phi=phi, f=f)
>>> coords_flux = dict(f=f)
>>> field_values = (1+1j) * np.random.random((len(r), len(theta), len(phi), len(f)))
>>> flux_data = FluxDataArray(np.random.random(len(f)), coords=coords_flux)
>>> scalar_field = FieldProjectionAngleDataArray(field_values, coords=coords)
>>> monitor = DirectivityMonitor(
...     center=(1,2,3),
...     size=(2,2,2),
...     freqs=f,
...     name="rad_monitor",
...     phi=phi,
...     theta=theta
... )
>>> power_data = FreqDataArray(np.random.random(len(f)), coords=coords_flux)
>>> data = AntennaMetricsData(
...     monitor=monitor,
...     projection_surfaces=monitor.projection_surfaces,
...     flux=flux_data,
...     Er=scalar_field,
...     Etheta=scalar_field,
...     Ephi=scalar_field,
...     Hr=scalar_field,
...     Htheta=scalar_field,
...     Hphi=scalar_field,
...     power_incident=power_data,
...     power_reflected=power_data
... )

Notes

The definitions of radiation efficiency, reflection efficiency, gain, and realized gain are based on:

Balanis, Constantine A., “Antenna Theory: Analysis and Design,” John Wiley & Sons, Chapter 2.9 (2016).

Attributes

gain

The gain figure of merit for antennas.

radiation_efficiency

The radiation efficiency of the antenna.

realized_gain

The realized gain figure of merit for antennas.

reflection_efficiency

The reflection efficiency of the antenna, which is due to an impedance mismatch.

supplied_power

The power supplied to the antenna, which takes into account reflections.

power_incident

power_reflected

monitor

flux

projection_surfaces

Er

Etheta

Ephi

Hr

Htheta

Hphi

medium

is_2d_simulation

Methods

from_directivity_data(dir_data, power_inc, ...)

Create AntennaMetricsData from directivity data and power measurements.

partial_gain([pol_basis, tilt_angle])

The partial gain figures of merit for antennas.

partial_realized_gain([pol_basis, tilt_angle])

The partial realized gain figures of merit for antennas.

power_incident#
power_reflected#
static from_directivity_data(dir_data, power_inc, power_refl)[source]#

Create AntennaMetricsData from directivity data and power measurements.

Parameters:
  • dir_data (DirectivityData) – Directivity data containing field components and flux measurements.

  • power_inc (FreqDataArray) – Array of values representing the incident power to an antenna.

  • power_refl (FreqDataArray) – Array of values representing power reflected due to impedance mismatch with the antenna.

Returns:

New instance combining directivity data with incident and reflected power measurements.

Return type:

AntennaMetricsData

property supplied_power#

The power supplied to the antenna, which takes into account reflections.

property radiation_efficiency#

The radiation efficiency of the antenna.

property reflection_efficiency#

The reflection efficiency of the antenna, which is due to an impedance mismatch.

partial_gain(pol_basis='linear', tilt_angle=None)[source]#

The partial gain figures of merit for antennas. The partial gains are computed in the linear or circular polarization bases. If tilt_angle is not None, the partial directivity is computed in the linear polarization basis rotated by tilt_angle from the theta-axis. Gain is dimensionless.

Parameters:
  • pol_basis (PolarizationBasis) – The desired polarization basis used to express partial gain, either linear or circular.

  • tilt_angle (float) – The angle by which the co-polar vector is rotated from the theta-axis. At tilt_angle = 0, the co-polar vector coincides with the theta-axis and the cross-polar vector coincides with the phi-axis; while at tilt_angle = pi/2, the co-polar vector coincides with the phi-axis.

Returns:

Dataset containing the partial gains split into the two polarization states.

Return type:

xarray.Dataset

property gain#

The gain figure of merit for antennas. Gain is dimensionless.

partial_realized_gain(pol_basis='linear', tilt_angle=None)[source]#

The partial realized gain figures of merit for antennas. The partial gains are computed in the linear or circular polarization bases. If tilt_angle is not None, the partial directivity is computed in the linear polarization basis rotated by tilt_angle from the theta-axis. Gain is dimensionless.

Parameters:
  • pol_basis (PolarizationBasis) – The desired polarization basis used to express partial gain, either linear or circular.

  • tilt_angle (float) – The angle by which the co-polar vector is rotated from the theta-axis. At tilt_angle = 0, the co-polar vector coincides with the theta-axis and the cross-polar vector coincides with the phi-axis; while at tilt_angle = pi/2, the co-polar vector coincides with the phi-axis.

Returns:

Dataset containing the partial realized gains split into the two polarization states.

Return type:

xarray.Dataset

property realized_gain#

The realized gain figure of merit for antennas. Realized gain is dimensionless.