tidy3d.plugins.Near2FarSurface
tidy3d.plugins.Near2FarSurface#
- class tidy3d.plugins.Near2FarSurface#
Data structure to store surface monitor data with associated surface current densities.
- Parameters
monitor (FieldMonitor = None) –
FieldMonitor
on which near fields will be sampled and integrated.normal_dir (Literal['+', '-'] = None) –
Direction
of the surface monitor’s normal vector w.r.t. the positive x, y or z unit vectors. Must be one of ‘+’ or ‘-‘.
Show JSON schema
{ "title": "Near2FarSurface", "description": "Data structure to store surface monitor data with associated surface current densities.\n\nParameters\n----------\nmonitor : FieldMonitor = None\n :class:`.FieldMonitor` on which near fields will be sampled and integrated.\nnormal_dir : Literal['+', '-'] = None\n :class:`.Direction` of the surface monitor's normal vector w.r.t. the positive x, y or z unit vectors. Must be one of '+' or '-'.", "type": "object", "properties": { "monitor": { "title": "Field monitor", "description": ":class:`.FieldMonitor` on which near fields will be sampled and integrated.", "allOf": [ { "$ref": "#/definitions/FieldMonitor" } ] }, "normal_dir": { "title": "Normal vector orientation", "description": ":class:`.Direction` of the surface monitor's normal vector w.r.t. the positive x, y or z unit vectors. Must be one of '+' or '-'.", "enum": [ "+", "-" ], "type": "string" }, "type": { "title": "Type", "default": "Near2FarSurface", "enum": [ "Near2FarSurface" ], "type": "string" } }, "required": [ "monitor", "normal_dir" ], "additionalProperties": false, "definitions": { "NumpyArray": { "title": "NumpyArray", "description": "Wrapper around numpy arrays that has a well defined json schema.", "type": "object", "properties": { "data_list": { "title": "Data List", "type": "array", "items": {} } }, "required": [ "data_list" ] }, "FieldMonitor": { "title": "FieldMonitor", "description": ":class:`Monitor` that records electromagnetic fields in the frequency domain.\n\nParameters\n----------\ncenter : Tuple[float, float, float] = (0.0, 0.0, 0.0)\n [units = um]. Center of object in x, y, and z.\nsize : Tuple[NonNegativeFloat, NonNegativeFloat, NonNegativeFloat] = None\n [units = um]. Size in x, y, and z directions.\nname : ConstrainedStrValue = None\n Unique name for monitor.\nfreqs : Union[List[float], tidynumpy, NumpyArray, List] = None\n [units = Hz]. Array or list of frequencies stored by the field monitor.\nfields : List[Literal['Ex', 'Ey', 'Ez', 'Hx', 'Hy', 'Hz']] = ['Ex', 'Ey', 'Ez', 'Hx', 'Hy', 'Hz']\n Collection of field components to store in the monitor.\n\nExample\n-------\n>>> monitor = FieldMonitor(\n... center=(1,2,3),\n... size=(2,2,2),\n... fields=['Hx'],\n... freqs=[250e12, 300e12],\n... name='steady_state_monitor')", "type": "object", "properties": { "center": { "title": "Center", "description": "Center of object in x, y, and z.", "default": [ 0.0, 0.0, 0.0 ], "units": "um", "type": "array", "minItems": 3, "maxItems": 3, "items": [ { "type": "number" }, { "type": "number" }, { "type": "number" } ] }, "type": { "title": "Type", "default": "FieldMonitor", "enum": [ "FieldMonitor" ], "type": "string" }, "size": { "title": "Size", "description": "Size in x, y, and z directions.", "units": "um", "type": "array", "minItems": 3, "maxItems": 3, "items": [ { "type": "number", "minimum": 0 }, { "type": "number", "minimum": 0 }, { "type": "number", "minimum": 0 } ] }, "name": { "title": "Name", "description": "Unique name for monitor.", "minLength": 1, "type": "string" }, "freqs": { "title": "Frequencies", "description": "Array or list of frequencies stored by the field monitor.", "units": "Hz", "anyOf": [ { "type": "array", "items": { "type": "number" } }, { "title": "NumpyArray", "description": "Wrapper around numpy arrays that has a well defined json schema.", "type": "object", "properties": { "data_list": { "title": "Data List", "type": "array", "items": {} } }, "required": [ "data_list" ] }, { "$ref": "#/definitions/NumpyArray" }, { "type": "array", "items": {} } ] }, "fields": { "title": "Field Components", "description": "Collection of field components to store in the monitor.", "default": [ "Ex", "Ey", "Ez", "Hx", "Hy", "Hz" ], "type": "array", "items": { "enum": [ "Ex", "Ey", "Ez", "Hx", "Hy", "Hz" ], "type": "string" } } }, "required": [ "size", "name", "freqs" ], "additionalProperties": false } } }
- Fields
monitor (tidy3d.components.monitor.FieldMonitor)
normal_dir (Literal['+', '-'])
- attribute monitor: tidy3d.components.monitor.FieldMonitor [Required]#
FieldMonitor
on which near fields will be sampled and integrated.- Validated by
is_plane
- attribute normal_dir: Literal['+', '-'] [Required]#
Direction
of the surface monitor’s normal vector w.r.t. the positive x, y or z unit vectors. Must be one of ‘+’ or ‘-‘.
- property axis: Literal[0, 1, 2]#
Returns the
Axis
normal to this surface.