Radiation And Scattering
When modeling antennas or scattering problems, use far-field radiation metrics to evaluate directivity, gain, efficiency, and radiation pattern lobes.
Directivity Monitors
Section titled “Directivity Monitors”Use
DirectivityMonitor
to record far-field radiation patterns.
import numpy as npfrom flex_rf.tidy3d import DirectivityMonitor
my_theta = np.linspace(0, np.pi, 91)my_phi = np.linspace(0, 2 * np.pi, 181)
my_directivity_monitor = DirectivityMonitor( center=(0, 0, 0), size=(100, 100, 100), freqs=my_frequencies, phi=my_phi, theta=my_theta, name="My radiation monitor",)The directivity monitor should completely surround the structure of interest.
Use
DirectivityMonitorSpec
to let
TerminalComponentModeler
generate radiation monitors automatically.
from flex_rf.tidy3d import DirectivityMonitorSpec, TerminalComponentModeler
my_directivity_monitor_spec = DirectivityMonitorSpec()
my_tcm = TerminalComponentModeler( # Other component modeler fields. radiation_monitors=[my_directivity_monitor, my_directivity_monitor_spec],)Antenna Metrics
Section titled “Antenna Metrics”After the simulation completes, call get_antenna_metrics_data() on the
returned
TerminalComponentModelerData
object.
my_antenna_metrics = my_tcm_data.get_antenna_metrics_data()
my_directivity = my_antenna_metrics.directivitymy_gain = my_antenna_metrics.gainmy_radiation_efficiency = my_antenna_metrics.radiation_efficiencymy_reflection_efficiency = my_antenna_metrics.reflection_efficiencymy_realized_gain = my_antenna_metrics.realized_gainmy_supplied_power = my_antenna_metrics.supplied_powermy_radiated_power = my_antenna_metrics.radiated_powermy_radiation_intensity = my_antenna_metrics.radiation_intensitymy_axial_ratio = my_antenna_metrics.axial_ratiomy_left_pol = my_antenna_metrics.left_polarizationmy_right_pol = my_antenna_metrics.right_polarizationEach metric is an xarray-backed data array that can be plotted, exported, or used in further analysis.
Lobe Measurement
Section titled “Lobe Measurement”LobeMeasurer analyzes
radiation pattern lobes.
from flex_rf.tidy3d import LobeMeasurer
my_lobes = LobeMeasurer( angle=phi, radiation_pattern=my_gain,)
my_lobe_measures = my_lobes.lobe_measuresmy_main_lobe = my_lobes.main_lobemy_side_lobes = my_lobes.side_lobeLobe characteristics include direction, magnitude, and 3 dB beamwidth. The
plot() helper adds main-lobe direction and width markers to polar radiation
plots.
Related API Symbols
Section titled “Related API Symbols”| Symbol | Purpose |
|---|---|
DirectivityMonitor | Records far-field directivity data. |
DirectivityMonitorSpec | Specifies generated directivity monitors for component modelers. |
DirectivityData | Stores directivity monitor output. |
AntennaMetricsData | Stores gain, efficiency, power, and polarization metrics. |
RectangularAntennaArrayCalculator | Calculates rectangular phased-array factors and far-field patterns. |
LobeMeasurer | Measures main and side lobes in radiation patterns. |
Related Pages
Section titled “Related Pages”| Page | Why open it |
|---|---|
| Terminal Component Modeler | Add radiation monitors to multiport component simulations. |
| RF Output Data | Understand the data containers returned by monitors and antenna metrics. |