flex_rf.tidy3d.DirectivityData
Type: class │ Base(s): FieldProjectionAngleData
Description
Section titled “Description”Data associated with a DirectivityMonitor.
Example(s)
Section titled “Example(s)”from tidy3d import FluxDataArray, FieldProjectionAngleDataArrayf = 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)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(values, coords=coords)monitor = DirectivityMonitor(center=(1,2,3), size=(2,2,2), freqs=f, name='n2f_monitor', phi=phi, theta=theta)data = DirectivityData(monitor=monitor, flux=flux_data, Er=scalar_field, Etheta=scalar_field, Ephi=scalar_field, Hr=scalar_field, Htheta=scalar_field, Hphi=scalar_field, projection_surfaces=monitor.projection_surfaces)Parameters
Section titled “Parameters”Er [FieldProjectionAngleDataArray] |
|
Spatial distribution of r-component of the electric field. |
Etheta [FieldProjectionAngleDataArray] |
|
Spatial distribution of the theta-component of the electric field. |
Ephi [FieldProjectionAngleDataArray] |
|
Spatial distribution of phi-component of the electric field. |
Hr [FieldProjectionAngleDataArray] |
|
Spatial distribution of r-component of the magnetic field. |
Htheta [FieldProjectionAngleDataArray] |
|
Spatial distribution of theta-component of the magnetic field. |
Hphi [FieldProjectionAngleDataArray] |
|
Spatial distribution of phi-component of the magnetic field. |
projection_surfaces [tuple[FieldProjectionSurface, ...]] |
|
Surfaces of the monitor where near fields were recorded for projection |
monitor [DirectivityMonitor] |
|
Monitor describing the angle-based projection grid on which to measure directivity data. |
flux [FluxDataArray] |
|
Flux values that are either computed from fields recorded on the projection surfaces or by integrating the projected fields over a spherical surface. |
medium [MediumType] = factory: Medium |
|
Background medium through which to project fields. |
is_2d_simulation [bool] = False |
|
Indicates whether the monitor data is for a 2D simulation. |
Attributes
Section titled “Attributes”axial_ratio [FieldProjectionAngleDataArray] |
|
Axial Ratio (AR) in the frequency domain as a function of angles theta and phi. AR is a dimensionless quantity defined as the ratio of the major axis to the minor axis of the polarization ellipse. |
directivity [FieldProjectionAngleDataArray] |
|
Directivity in the frequency domain as a function of angles theta and phi. Directivity is a dimensionless quantity defined as the ratio of the radiation intensity in a given direction to the average radiation intensity over all directions. |
fields_circular_polarization [xr.Dataset] |
|
Electric and magnetic fields in the circular polarization basis. |
left_polarization [FieldProjectionAngleDataArray] |
|
Electric far field for left-hand circular polarization (counterclockwise component) with an angle-based projection grid. |
radiated_power [FreqDataArray] |
|
Total radiated power in the frequency domain with units of Watts. |
radiation_intensity [FieldProjectionAngleDataArray] |
|
Radiation intensity in the frequency domain as a function of angles theta and phi. Radiation intensity is measured in units of Watts per unit solid angle. |
right_polarization [FieldProjectionAngleDataArray] |
|
Electric far field for right-hand circular polarization (clockwise component) with an angle-based projection grid. |
Methods
Section titled “Methods”calc_gain(power_in: FreqDataArray) |
|
The gain figure of merit for antennas. Gain is dimensionless. |
calc_partial_gain(power_in: FreqDataArray, pol_basis: PolarizationBasis = 'linear', tilt_angle: float | None = None) |
|
The partial gain figures of merit for antennas. The partial gains are computed in the |
calc_radiation_efficiency(power_in: FreqDataArray) |
|
Calculate radiation efficiency as the ratio of radiated power to input power. |
fields_linear_polarization_tilted(tilt_angle: float) |
|
Electric and magnetic fields in the linear polarization basis that is rotated at the pole of the radiation sphere by |
from_spherical_field_dataset(monitor: DirectivityMonitor, field_dataset: xr.Dataset) |
|
Creates a |
normalize(source_spectrum_fn: Callable[[float], complex]) |
|
Return a copy of self after normalization is applied using the source spectrum function, for both field components and flux data. |
partial_directivity(pol_basis: PolarizationBasis = 'linear', tilt_angle: float | None = None) |
|
Directivity in the frequency domain as a function of angles theta and phi. The partial directivities are computed in the |
partial_radiation_intensity(pol_basis: PolarizationBasis = 'linear', tilt_angle: float | None = None) |
|
Partial radiation intensity in the frequency domain as a function of angles theta and phi. The partial radiation intensities are computed in the |