tidy3d.FieldProjectionAngleData#

class FieldProjectionAngleData[source]#

Bases: AbstractFieldProjectionData

Data associated with a FieldProjectionAngleMonitor: components of projected fields.

Parameters:
  • monitor (Attribute: monitor) –

    Type

    FieldProjectionAngleMonitor

    Default

    Description

    Field projection monitor with an angle-based projection grid.

  • Er (Attribute: Er) –

    Type

    FieldProjectionAngleDataArray

    Default

    Description

    Spatial distribution of r-component of the electric field.

  • Etheta (Attribute: Etheta) –

    Type

    FieldProjectionAngleDataArray

    Default

    Description

    Spatial distribution of the theta-component of the electric field.

  • Ephi (Attribute: Ephi) –

    Type

    FieldProjectionAngleDataArray

    Default

    Description

    Spatial distribution of phi-component of the electric field.

  • Hr (Attribute: Hr) –

    Type

    FieldProjectionAngleDataArray

    Default

    Description

    Spatial distribution of r-component of the magnetic field.

  • Htheta (Attribute: Htheta) –

    Type

    FieldProjectionAngleDataArray

    Default

    Description

    Spatial distribution of theta-component of the magnetic field.

  • Hphi (Attribute: Hphi) –

    Type

    FieldProjectionAngleDataArray

    Default

    Description

    Spatial distribution of phi-component of the magnetic field.

  • medium (Attribute: medium) –

    Type

    Union[Medium, AnisotropicMedium, PECMedium, PoleResidue, Sellmeier, Lorentz, Debye, Drude, FullyAnisotropicMedium, CustomMedium, CustomPoleResidue, CustomSellmeier, CustomLorentz, CustomDebye, CustomDrude, CustomAnisotropicMedium, PerturbationMedium, PerturbationPoleResidue, Medium2D]

    Default

    = Medium(nameNone, frequency_rangeNone, allow_gainFalse, nonlinear_specNone, modulation_specNone, heat_specNone, type’Medium’, permittivity1.0, conductivity0.0)

    Description

    Background medium through which to project fields.

  • projection_surfaces (Attribute: projection_surfaces) –

    Type

    Tuple[FieldProjectionSurface, …]

    Default

    Description

    Surfaces of the monitor where near fields were recorded for projection

Example

>>> from tidy3d import FieldProjectionAngleDataArray
>>> f = np.linspace(1e14, 2e14, 10)
>>> r = np.atleast_1d(5)
>>> 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)
>>> values = (1+1j) * np.random.random((len(r), len(theta), len(phi), len(f)))
>>> scalar_field = FieldProjectionAngleDataArray(values, coords=coords)
>>> monitor = FieldProjectionAngleMonitor(
...     center=(1,2,3), size=(2,2,2), freqs=f, name='n2f_monitor', phi=phi, theta=theta
...     )
>>> data = FieldProjectionAngleData(
...     monitor=monitor, Er=scalar_field, Etheta=scalar_field, Ephi=scalar_field,
...     Hr=scalar_field, Htheta=scalar_field, Hphi=scalar_field,
...     projection_surfaces=monitor.projection_surfaces,
...     )

Attributes

phi

Azimuthal angles.

r

Radial distance.

theta

Polar angles.

Methods

renormalize_fields(proj_distance)

Return a FieldProjectionAngleData with fields re-normalized to a new projection distance, by applying a phase factor based on proj_distance.

monitor#
projection_surfaces#
Er#
Etheta#
Ephi#
Hr#
Htheta#
Hphi#
property r#

Radial distance.

property theta#

Polar angles.

property phi#

Azimuthal angles.

renormalize_fields(proj_distance)[source]#

Return a FieldProjectionAngleData with fields re-normalized to a new projection distance, by applying a phase factor based on proj_distance.

Parameters:

proj_distance (float = None) – (micron) new radial distance relative to the monitor’s local origin.

Returns:

Copy of this FieldProjectionAngleData with fields re-projected to proj_distance.

Return type:

FieldProjectionAngleData

__hash__()#

Hash method.