tidy3d.FieldProjectionCartesianData#
- class FieldProjectionCartesianData[source]#
Bases:
AbstractFieldProjectionData
Data associated with a
FieldProjectionCartesianMonitor
: components of projected fields.- Parameters:
monitor (FieldProjectionCartesianMonitor) β Field projection monitor with a Cartesian projection grid.
Er (FieldProjectionCartesianDataArray) β Spatial distribution of r-component of the electric field.
Etheta (FieldProjectionCartesianDataArray) β Spatial distribution of the theta-component of the electric field.
Ephi (FieldProjectionCartesianDataArray) β Spatial distribution of phi-component of the electric field.
Hr (FieldProjectionCartesianDataArray) β Spatial distribution of r-component of the magnetic field.
Htheta (FieldProjectionCartesianDataArray) β Spatial distribution of theta-component of the magnetic field.
Hphi (FieldProjectionCartesianDataArray) β Spatial distribution of phi-component of the magnetic field.
medium (Union[Medium, AnisotropicMedium, PECMedium, PoleResidue, Sellmeier, Lorentz, Debye, Drude, FullyAnisotropicMedium, CustomMedium, CustomPoleResidue, CustomSellmeier, CustomLorentz, CustomDebye, CustomDrude, CustomAnisotropicMedium, PerturbationMedium, PerturbationPoleResidue, Medium2D] = Medium(name=None, frequency_range=None, allow_gain=False, nonlinear_spec=None, modulation_spec=None, heat_spec=None, type='Medium', permittivity=1.0, conductivity=0.0)) β Background medium through which to project fields.
projection_surfaces (Tuple[FieldProjectionSurface, ...]) β Surfaces of the monitor where near fields were recorded for projection
Example
>>> from tidy3d import FieldProjectionCartesianDataArray >>> f = np.linspace(1e14, 2e14, 10) >>> x = np.linspace(0, 5, 10) >>> y = np.linspace(0, 10, 20) >>> z = np.atleast_1d(5) >>> coords = dict(x=x, y=y, z=z, f=f) >>> values = (1+1j) * np.random.random((len(x), len(y), len(z), len(f))) >>> scalar_field = FieldProjectionCartesianDataArray(values, coords=coords) >>> monitor = FieldProjectionCartesianMonitor( ... center=(1,2,3), size=(2,2,2), freqs=f, name='n2f_monitor', x=x, y=y, ... proj_axis=2, proj_distance=50 ... ) >>> data = FieldProjectionCartesianData( ... 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
X positions.
Y positions.
Z positions.
Methods
renormalize_fields
(proj_distance)Return a
FieldProjectionCartesianData
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 x#
X positions.
- property y#
Y positions.
- property z#
Z positions.
- renormalize_fields(proj_distance)[source]#
Return a
FieldProjectionCartesianData
with fields re-normalized to a new projection distance, by applying a phase factor based onproj_distance
.- Parameters:
proj_distance (float = None) β (micron) new plane distance relative to the monitorβs local origin.
- Returns:
Copy of this
FieldProjectionCartesianData
with fields re-projected toproj_distance
.- Return type:
- __hash__()#
Hash method.