tidy3d.FieldProjectionKSpaceData#
- class FieldProjectionKSpaceData[source]#
Bases:
AbstractFieldProjectionData
Data associated with a
FieldProjectionKSpaceMonitor
: components of projected fields.- Parameters:
monitor (Attribute:
monitor
) βType
FieldProjectionKSpaceMonitor
Default
Description
Field projection monitor with a projection grid defined in k-space.
Er (Attribute:
Er
) βType
FieldProjectionKSpaceDataArray
Default
Description
Spatial distribution of r-component of the electric field.
Etheta (Attribute:
Etheta
) βType
FieldProjectionKSpaceDataArray
Default
Description
Spatial distribution of the theta-component of the electric field.
Ephi (Attribute:
Ephi
) βType
FieldProjectionKSpaceDataArray
Default
Description
Spatial distribution of phi-component of the electric field.
Hr (Attribute:
Hr
) βType
FieldProjectionKSpaceDataArray
Default
Description
Spatial distribution of r-component of the magnetic field.
Htheta (Attribute:
Htheta
) βType
FieldProjectionKSpaceDataArray
Default
Description
Spatial distribution of theta-component of the magnetic field.
Hphi (Attribute:
Hphi
) βType
FieldProjectionKSpaceDataArray
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 FieldProjectionKSpaceDataArray >>> f = np.linspace(1e14, 2e14, 10) >>> ux = np.linspace(0, 0.4, 10) >>> uy = np.linspace(0, 0.6, 20) >>> r = np.atleast_1d(5) >>> coords = dict(ux=ux, uy=uy, r=r, f=f) >>> values = (1+1j) * np.random.random((len(ux), len(uy), len(r), len(f))) >>> scalar_field = FieldProjectionKSpaceDataArray(values, coords=coords) >>> monitor = FieldProjectionKSpaceMonitor( ... center=(1,2,3), size=(2,2,2), freqs=f, name='n2f_monitor', ux=ux, uy=uy, proj_axis=2 ... ) >>> data = FieldProjectionKSpaceData( ... 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
Radial distance.
Reciprocal X positions.
Reciprocal Y positions.
Methods
renormalize_fields
(proj_distance)Return a
FieldProjectionKSpaceData
with fields re-normalized to a new projection distance, by applying a phase factor based onproj_distance
.- monitor#
- projection_surfaces#
- Er#
- Etheta#
- Ephi#
- Hr#
- Htheta#
- Hphi#
- property ux#
Reciprocal X positions.
- property uy#
Reciprocal Y positions.
- property r#
Radial distance.
- renormalize_fields(proj_distance)[source]#
Return a
FieldProjectionKSpaceData
with fields re-normalized to a new projection distance, by applying a phase factor based onproj_distance
.- Parameters:
proj_distance (float = None) β (micron) new radial distance relative to the monitorβs local origin.
- Returns:
Copy of this
FieldProjectionKSpaceData
with fields re-projected toproj_distance
.- Return type:
- __hash__()#
Hash method.