flex_rf.tidy3d.SurfaceFieldTimeMonitor
Type: class │ Base(s): AbstractSurfaceMonitor, TimeMonitor
Description
Section titled “Description”Monitor that records electromagnetic fields in the time domain on PEC and lossy metal surfaces.
SurfaceFieldTimeMonitor objects are best used to monitor the time dependence of the fields
on PEC (PECMedium) and lossy metal (LossyMetalMedium) surfaces. They can also be used to create
“animations” of the field pattern evolution.
To create an animation, we need to capture the frames at different time instances of the simulation. This can
be done by using a SurfaceFieldTimeMonitor. Usually a FDTD simulation contains a large number of time steps
and grid points. Recording the field at every time step and grid point will result in a large dataset. For
the purpose of making animations, this is usually unnecessary.
Example(s)
Section titled “Example(s)”import tidy3d as tdold_logging_level = td.config.logging_leveltd.config.logging_level = "ERROR"monitor = SurfaceFieldTimeMonitor( center=(1,2,3), size=(2,2,2), fields=['H'], start=1e-13, stop=5e-13, interval=2, name='movie_monitor')td.config.logging_level = old_logging_levelParameters
Section titled “Parameters”size [TracedSize] |
|
Size in x, y, and z directions. |
name [str] |
|
Unique name for monitor. |
center [TracedCoordinate] = (0.0, 0.0, 0.0) |
|
Center of object in x, y, and z. |
interval_space [tuple[Literal[1], Literal[1], Literal[1]]] = (1, 1, 1) |
|
Number of grid step intervals between monitor recordings. Only the value of 1 (no downsampling) is currently supported for surface monitors. |
colocate [Literal[True]] = True |
|
For surface monitors fields are always colocated on surface. |
use_colocated_integration [Literal[True]] = True |
|
Whether to use colocated fields for flux, dot products, and overlap integrals. Hard-coded to |
start [NonNegativeFloat] = 0.0 |
|
Time at which to start monitor recording. |
stop [NonNegativeFloat | None] = None |
|
Time at which to stop monitor recording. If not specified, record until end of simulation. |
interval [PositiveInt | None] = None |
|
Sampling rate of the monitor: number of time steps between each measurement. Set |
fields [tuple[EMSurfaceField, ...]] = ['E', 'H'] |
|
Collection of field components to store in the monitor. |
Methods
Section titled “Methods”storage_size(num_cells: int, tmesh: ArrayFloat1D) |
|
Size of monitor storage given the number of points after discretization. In general, this is severely overestimated for surface monitors. |