tidy3d.SurfaceFieldData#

class SurfaceFieldData[source]#

Bases: ElectromagneticSurfaceFieldData

Data associated with a SurfaceFieldMonitor: E and H fields on a surface.

Parameters:
  • E (Optional[TriangularSurfaceDataset] = None) – Spatial distribution of the electric field on the one side of the surface.

  • H (Optional[TriangularSurfaceDataset] = None) – Spatial distribution of the magnetic field on the one side of the surface.

  • normal (TriangularSurfaceDataset) – Normal direction of the surface oriented outward from the surface.

  • monitor (SurfaceFieldMonitor) – Frequency-domain field monitor associated with the data.

  • symmetry (tuple[Literal[0, -1, 1], Literal[0, -1, 1], Literal[0, -1, 1]] = (0, 0, 0)) – Symmetry of the original simulation in x, y, and z.

  • symmetry_center (tuple[float, float, float] = (0, 0, 0)) – Symmetry center of the original simulation in x, y, and z.

Example

>>> from tidy3d import PointDataArray, IndexedSurfaceFieldDataArray, TriangularSurfaceDataset, CellDataArray
>>> import tidy3d as td
>>> old_logging_level = td.config.logging_level
>>> td.config.logging_level = "ERROR"
>>> points = PointDataArray([[0, 0, 0], [0, 1, 0], [1, 1, 1]], dims=["index", "axis"])
>>> cells = CellDataArray([[0, 1, 2]], dims=["cell_index", "vertex_index"])
>>> values = PointDataArray([[1, 0, 0], [0, 1, 0], [0, 0, 1]], dims=["index", "axis"])
>>> field_values = IndexedSurfaceFieldDataArray(np.ones((3, 1, 3, 1)) + 0j, coords={"index": [0, 1, 2], "side": ["outside"],"axis": [0, 1, 2], "f": [1e10]})
>>> field = TriangularSurfaceDataset(points=points, cells=cells, values=field_values)
>>> normal = TriangularSurfaceDataset(points=points, cells=cells, values=values)
>>> monitor = SurfaceFieldMonitor(
...     size=(2,4,6), freqs=[1e10], name='field', fields=['E', 'H']
... )
>>> data = SurfaceFieldData(monitor=monitor, E=field, H=field, normal=normal)
>>> td.config.logging_level = old_logging_level

Attributes

poynting

Time-averaged Poynting vector for frequency-domain data.

monitor

symmetry

symmetry_center

E

H

normal

Methods

normalize(source_spectrum_fn)

Return copy of self after normalization is applied using source spectrum function.

monitor#
property poynting#

Time-averaged Poynting vector for frequency-domain data.

normalize(source_spectrum_fn)[source]#

Return copy of self after normalization is applied using source spectrum function.