Skip to content

flex_rf.tidy3d.RectangularAntennaArrayCalculator

Type: class Base(s): AbstractAntennaArrayCalculator

This class provides methods to calculate the array factor and far-field radiation patterns for rectangular phased antenna arrays. It handles arrays with arbitrary size, spacing, phase shifts, and amplitude tapering in x, y, and z directions.

The array factor is calculated using the standard array factor formula for rectangular arrays, which accounts for the spatial distribution of antennas and their relative phases and amplitudes. This can be used to analyze beam steering, sidelobe levels, and other array characteristics.

In addition, this class provides a convenience method to create an antenna array simulation from a single antenna simulation. This can be used to compute the behavior (near-field and/or far-field) of the full antenna array directly without any approximations. Such a simulation setup can be obtained by directly calling the make_antenna_array function, or by accessing the field .simulation of the SimulationData object returned by the simulation_data_from_array_factor method.

array_calculator = RectangularAntennaArrayCalculator( … array_size=(3, 4, 5), … spacings=(0.5, 0.5, 0.5), … phase_shifts=(0, 0, 0), … )

array_size [tuple[PositiveInt, PositiveInt, PositiveInt]]

Number of antennas along x, y, and z directions.

spacings [tuple[NonNegativeFloat, NonNegativeFloat, NonNegativeFloat]]

Center-to-center spacings between antennas along x, y, and z directions.

taper [RectangularTaper | RadialTaper | None] = None

Amplitude weighting of array elements to control main lobe width and suppress side lobes.

phase_shifts [tuple[float, float, float]] = (0, 0, 0)

Phase-shifts between antennas along x, y, and z directions.

amp_multipliers [tuple[ArrayLike | None, ArrayLike | None, ArrayLike | None]] = (None, None, None)

Amplitude multipliers spatially distributed along x, y, and z directions.

array_factor(theta: float | ArrayLike, phi: float | ArrayLike, frequency: NonNegativeFloat | ArrayLike, medium: MediumType3D = Undefined)

Compute the array factor for a 3D antenna array.