tidy3d.PermittivityMonitor
tidy3d.PermittivityMonitor#
- class tidy3d.PermittivityMonitor(*, type: typing.Literal['PermittivityMonitor'] = 'PermittivityMonitor', center: typing.Tuple[float, float, float] = (0.0, 0.0, 0.0), size: typing.Tuple[pydantic.v1.types.NonNegativeFloat, pydantic.v1.types.NonNegativeFloat, pydantic.v1.types.NonNegativeFloat], name: pydantic.v1.types.ConstrainedStrValue, interval_space: typing.Tuple[pydantic.v1.types.PositiveInt, pydantic.v1.types.PositiveInt, pydantic.v1.types.PositiveInt] = (1, 1, 1), colocate: typing.Literal[False] = False, freqs: typing.Union[typing.Tuple[float, ...], tidy3d.components.types.ArrayLike[dtype=float, ndim=1]], apodization: tidy3d.components.apodization.ApodizationSpec = ApodizationSpec(start=None, end=None, width=None, type='ApodizationSpec'))#
- Bases: - tidy3d.components.monitor.FreqMonitor- Monitorthat records the diagonal components of the complex-valued relative permittivity tensor in the frequency domain. The recorded data has the same shape as a- FieldMonitorof the same geometry: the permittivity values are saved at the Yee grid locations, and can be interpolated to any point inside the monitor.- Parameters
- center (Tuple[float, float, float] = (0.0, 0.0, 0.0)) – [units = um]. Center of object in x, y, and z. 
- size (Tuple[NonNegativeFloat, NonNegativeFloat, NonNegativeFloat]) – [units = um]. Size in x, y, and z directions. 
- name (ConstrainedStrValue) – Unique name for monitor. 
- interval_space (Tuple[PositiveInt, PositiveInt, PositiveInt] = (1, 1, 1)) – Number of grid step intervals between monitor recordings. If equal to 1, there will be no downsampling. If greater than 1, the step will be applied, but the first and last point of the monitor grid are always included. 
- colocate (Literal[False] = False) – Colocation turned off, since colocated permittivity values do not have a physical meaning - they do not correspond to the subpixel-averaged ones. 
- freqs (Union[Tuple[float, ...], ArrayLike[dtype=float, ndim=1]]) – [units = Hz]. Array or list of frequencies stored by the field monitor. 
- apodization (ApodizationSpec = ApodizationSpec(start=None, end=None, width=None, type='ApodizationSpec')) – This field is ignored in this monitor. 
 
 - Note - If 2D materials are present, then the permittivity values correspond to the volumetric equivalent of the 2D materials. - Example - >>> monitor = PermittivityMonitor( ... center=(1,2,3), ... size=(2,2,2), ... freqs=[250e12, 300e12], ... name='eps_monitor') - __init__(**kwargs)#
- Init method, includes post-init validators. 
 - Methods - __init__(**kwargs)- Init method, includes post-init validators. - add_ax_labels_lims(axis, ax[, buffer])- Sets the x,y labels based on - axisand the extends based on- self.bounds.- Automatically place "type" field with model name in the model field dictionary. - bounds_intersection(bounds1, bounds2)- Return the bounds that are the intersection of two bounds. - car_2_sph(x, y, z)- Convert Cartesian to spherical coordinates. - car_2_sph_field(f_x, f_y, f_z, theta, phi)- Convert vector field components in cartesian coordinates to spherical. - construct([_fields_set])- Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. - copy(**kwargs)- Copy a Tidy3dBaseModel. - dict(*[, include, exclude, by_alias, ...])- Generate a dictionary representation of the model, optionally specifying which fields to include or exclude. - dict_from_file(fname[, group_path])- Loads a dictionary containing the model from a .yaml, .json, .hdf5, or .hdf5.gz file. - dict_from_hdf5(fname[, group_path, ...])- Loads a dictionary containing the model contents from a .hdf5 file. - dict_from_hdf5_gz(fname[, group_path, ...])- Loads a dictionary containing the model contents from a .hdf5.gz file. - dict_from_json(fname)- Load dictionary of the model from a .json file. - dict_from_yaml(fname)- Load dictionary of the model from a .yaml file. - downsample(arr, axis)- Downsample a 1D array making sure to keep the first and last entries, based on the spatial interval defined for the - axis.- downsampled_num_cells(num_cells)- Given a tuple of the number of cells spanned by the monitor along each dimension, return the number of cells one would have after downsampling based on - interval_space.- evaluate_inf_shape(shape)- Returns a copy of shape with inf vertices replaced by large numbers if polygon. - from_bounds(rmin, rmax, **kwargs)- Constructs a - Boxfrom minimum and maximum coordinate bounds- from_file(fname[, group_path])- Loads a - Tidy3dBaseModelfrom .yaml, .json, .hdf5, or .hdf5.gz file.- from_gds(gds_cell, axis, slab_bounds, gds_layer)- Import a - gdstk.Cellor a- gdspy.Celland extrude it into a GeometryGroup.- from_hdf5(fname[, group_path, custom_decoders])- Loads - Tidy3dBaseModelinstance to .hdf5 file.- from_hdf5_gz(fname[, group_path, ...])- Loads - Tidy3dBaseModelinstance to .hdf5.gz file.- from_json(fname, **parse_obj_kwargs)- Load a - Tidy3dBaseModelfrom .json file.- from_orm(obj)- from_shapely(shape, axis, slab_bounds[, ...])- Convert a shapely primitive into a geometry instance by extrusion. - from_yaml(fname, **parse_obj_kwargs)- Loads - Tidy3dBaseModelfrom .yaml file.- Generates a docstring for a Tidy3D mode and saves it to the __doc__ of the class. - get_sub_model(group_path, model_dict)- Get the sub model for a given group path. - Return a dictionary of this object's sub-models indexed by their hash values. - get_tuple_group_name(index)- Get the group name of a tuple element. - get_tuple_index(key_name)- Get the index into the tuple based on its group name. - help([methods])- Prints message describing the fields and methods of a - Tidy3dBaseModel.- inside(x, y, z)- For input arrays - x,- y,- zof arbitrary but identical shape, return an array with the same shape which is- Truefor every point in zip(x, y, z) that is inside the volume of the- Geometry, and- Falseotherwise.- inside_meshgrid(x, y, z)- Perform - self.insideon a set of sorted 1D coordinates.- intersections_2dbox(plane)- Returns list of shapely geometries representing the intersections of the geometry with a 2D box. - intersections_plane([x, y, z])- Returns shapely geometry at plane specified by one non None value of x,y,z. - intersections_tilted_plane(normal, origin, to_2D)- Return a list of shapely geometries at the plane specified by normal and origin. - intersections_with(other)- Returns list of shapely geometries representing the intersections of the geometry with this 2D box. - intersects(other)- Returns - Trueif two- Geometryhave intersecting .bounds.- intersects_axis_position(axis, position)- Whether self intersects plane specified by a given position along a normal axis. - intersects_plane([x, y, z])- Whether self intersects plane specified by one non-None value of x,y,z. - json(*[, include, exclude, by_alias, ...])- Generate a JSON representation of the model, include and exclude arguments as per dict(). - kspace_2_sph(ux, uy, axis)- Convert normalized k-space coordinates to angles. - load_gds_vertices_gdspy(gds_cell, gds_layer)- Load polygon vertices from a - gdspy.Cell.- load_gds_vertices_gdstk(gds_cell, gds_layer)- Load polygon vertices from a - gdstk.Cell.- parse_file(path, *[, content_type, ...])- parse_obj(obj)- parse_raw(b, *[, content_type, encoding, ...])- parse_xyz_kwargs(**xyz)- Turns x,y,z kwargs into index of the normal axis and position along that axis. - plot([x, y, z, ax])- Plot geometry cross section at single (x,y,z) coordinate. - plot_shape(shape, plot_params, ax)- Defines how a shape is plotted on a matplotlib axes. - pop_axis(coord, axis)- Separates coordinate at - axisindex from coordinates on the plane tangent to- axis.- reflect_points(points, polar_axis, ...)- Reflect a set of points in 3D at a plane passing through the coordinate origin defined and normal to a given axis defined in polar coordinates (theta, phi) w.r.t. - rotate_points(points, axis, angle)- Rotate a set of points in 3D. - rotated(angle, axis)- Return a rotated copy of this geometry. - scaled([x, y, z])- Return a scaled copy of this geometry. - schema([by_alias, ref_template])- schema_json(*[, by_alias, ref_template])- sph_2_car(r, theta, phi)- Convert spherical to Cartesian coordinates. - sph_2_car_field(f_r, f_theta, f_phi, theta, phi)- Convert vector field components in spherical coordinates to cartesian. - storage_size(num_cells, tmesh)- Size of monitor storage given the number of points after discretization. - surface_area([bounds])- Returns object's surface area with optional bounds. - surfaces(size, center, **kwargs)- Returns a list of 6 - Boxinstances corresponding to each surface of a 3D volume.- surfaces_with_exclusion(size, center, **kwargs)- Returns a list of 6 - Boxinstances corresponding to each surface of a 3D volume.- to_file(fname)- Exports - Tidy3dBaseModelinstance to .yaml, .json, or .hdf5 file- to_gds(cell[, x, y, z, gds_layer, gds_dtype])- Append a Geometry object's planar slice to a .gds cell. - to_gds_file(fname[, x, y, z, gds_layer, ...])- Export a Geometry object's planar slice to a .gds file. - to_gdspy([x, y, z, gds_layer, gds_dtype])- Convert a Geometry object's planar slice to a .gds type polygon. - to_gdstk([x, y, z, gds_layer, gds_dtype])- Convert a Geometry object's planar slice to a .gds type polygon. - to_hdf5(fname[, custom_encoders])- Exports - Tidy3dBaseModelinstance to .hdf5 file.- to_hdf5_gz(fname[, custom_encoders])- Exports - Tidy3dBaseModelinstance to .hdf5.gz file.- to_json(fname)- Exports - Tidy3dBaseModelinstance to .json file- to_yaml(fname)- Exports - Tidy3dBaseModelinstance to .yaml file.- translated(x, y, z)- Return a translated copy of this geometry. - tuple_to_dict(tuple_values)- How we generate a dictionary mapping new keys to tuple values for hdf5. - unpop_axis(ax_coord, plane_coords, axis)- Combine coordinate along axis with coordinates on the plane tangent to the axis. - update_forward_refs(**localns)- Try to update ForwardRefs on fields based on this Model, globalns and localns. - updated_copy(**kwargs)- Make copy of a component instance with - **kwargsindicating updated field values.- validate(value)- volume([bounds])- Returns object's volume with optional bounds. - Attributes - Returns - Boxrepresentation of the bounding box of a- Geometry.- Returns bounding box min and max coordinates. - Frequency range of the array - self.freqs.- Boxrepresentation of monitor.- Default parameters for plotting a Monitor object. - A list of axes along which the - Boxis zero-sized.- colocate- interval_space- apodization- class Config#
- Bases: - object- Sets config for all - Tidy3dBaseModelobjects.- allow_population_by_field_namebool = True
- Allow properties to stand in for fields(?). 
- arbitrary_types_allowedbool = True
- Allow types like numpy arrays. 
- extrastr = ‘forbid’
- Forbid extra kwargs not specified in model. 
- json_encodersDict[type, Callable]
- Defines how to encode type in json file. 
- validate_allbool = True
- Validate default values just to be safe. 
- validate_assignmentbool
- Re-validate after re-assignment of field in model. 
 
 - __add__(other)#
- Union of geometries 
 - __and__(other)#
- Intersection of geometries 
 - __eq__(other)#
- Define == for two Tidy3DBaseModels. 
 - __ge__(other)#
- define >= for getting unique indices based on hash. 
 - __gt__(other)#
- define > for getting unique indices based on hash. 
 - __hash__() int#
- Hash method. 
 - classmethod __init_subclass__() None#
- Things that are done to each of the models. 
 - __invert__()#
- Opposite of a geometry 
 - __iter__() TupleGenerator#
- so dict(model) works 
 - __le__(other)#
- define <= for getting unique indices based on hash. 
 - __lt__(other)#
- define < for getting unique indices based on hash. 
 - __mul__(other)#
- Intersection of geometries 
 - __neg__()#
- Opposite of a geometry 
 - __or__(other)#
- Union of geometries 
 - __pos__()#
- No op 
 - __pretty__(fmt: Callable[[Any], Any], **kwargs: Any) Generator[Any, None, None]#
- Used by devtools (https://python-devtools.helpmanual.io/) to provide a human readable representations of objects 
 - __radd__(other)#
- Union of geometries 
 - __repr_name__() str#
- Name of the instance’s class, used in __repr__. 
 - __rich_repr__() RichReprResult#
- Get fields for Rich library 
 - __sub__(other)#
- Difference of geometries 
 - classmethod __try_update_forward_refs__(**localns: Any) None#
- Same as update_forward_refs but will not raise exception when forward references are not defined. 
 - __xor__(other)#
- Symmetric difference of geometries 
 - add_ax_labels_lims(axis: Literal[0, 1, 2], ax: matplotlib.axes._axes.Axes, buffer: float = 0.3) matplotlib.axes._axes.Axes#
- Sets the x,y labels based on - axisand the extends based on- self.bounds.- Parameters
- axis (int) – Integer index into ‘xyz’ (0,1,2). 
- ax (matplotlib.axes._subplots.Axes) – Matplotlib axes to add labels and limits on. 
- buffer (float = 0.3) – Amount of space to place around the limits on the + and - sides. 
 
- Returns
- The supplied or created matplotlib axes. 
- Return type
- matplotlib.axes._subplots.Axes 
 
 - classmethod add_type_field() None#
- Automatically place “type” field with model name in the model field dictionary. 
 - property bounding_box#
- Returns - Boxrepresentation of the bounding box of a- Geometry.- Returns
- Geometric object representing bounding box. 
- Return type
 
 - property bounds: Tuple[Tuple[float, float, float], Tuple[float, float, float]]#
- Returns bounding box min and max coordinates. - Returns
- Min and max bounds packaged as - (minx, miny, minz), (maxx, maxy, maxz).
- Return type
- Tuple[float, float, float], Tuple[float, float float] 
 
 - static bounds_intersection(bounds1: Tuple[Tuple[float, float, float], Tuple[float, float, float]], bounds2: Tuple[Tuple[float, float, float], Tuple[float, float, float]]) Tuple[Tuple[float, float, float], Tuple[float, float, float]]#
- Return the bounds that are the intersection of two bounds. 
 - static car_2_sph(x: float, y: float, z: float) Tuple[float, float, float]#
- Convert Cartesian to spherical coordinates. - Parameters
- x (float) – x coordinate relative to - local_origin.
- y (float) – y coordinate relative to - local_origin.
- z (float) – z coordinate relative to - local_origin.
 
- Returns
- r, theta, and phi coordinates relative to - local_origin.
- Return type
- Tuple[float, float, float] 
 
 - static car_2_sph_field(f_x: float, f_y: float, f_z: float, theta: float, phi: float) Tuple[complex, complex, complex]#
- Convert vector field components in cartesian coordinates to spherical. - Parameters
- f_x (float) – x component of the vector field. 
- f_y (float) – y component of the vector fielf. 
- f_z (float) – z component of the vector field. 
- theta (float) – polar angle (rad) of location of the vector field. 
- phi (float) – azimuthal angle (rad) of location of the vector field. 
 
- Returns
- radial (s), elevation (theta), and azimuthal (phi) components of the vector field in spherical coordinates. 
- Return type
- Tuple[float, float, float] 
 
 - classmethod construct(_fields_set: Optional[SetStr] = None, **values: Any) Model#
- Creates a new model setting __dict__ and __fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed. Behaves as if Config.extra = ‘allow’ was set since it adds all passed values 
 - copy(**kwargs) tidy3d.components.base.Tidy3dBaseModel#
- Copy a Tidy3dBaseModel. With - deep=Trueas default.
 - dict(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False) DictStrAny#
- Generate a dictionary representation of the model, optionally specifying which fields to include or exclude. 
 - classmethod dict_from_file(fname: str, group_path: Optional[str] = None) dict#
- Loads a dictionary containing the model from a .yaml, .json, .hdf5, or .hdf5.gz file. - Parameters
- fname (str) – Full path to the file to load the - Tidy3dBaseModelfrom.
- group_path (str, optional) – Path to a group inside the file to use as the base level. 
 
- Returns
- A dictionary containing the model. 
- Return type
- dict 
 - Example - >>> simulation = Simulation.from_file(fname='folder/sim.json') 
 - classmethod dict_from_hdf5(fname: str, group_path: str = '', custom_decoders: Optional[List[Callable]] = None) dict#
- Loads a dictionary containing the model contents from a .hdf5 file. - Parameters
- fname (str) – Full path to the .hdf5 file to load the - Tidy3dBaseModelfrom.
- group_path (str, optional) – Path to a group inside the file to selectively load a sub-element of the model only. 
- custom_decoders (List[Callable]) – List of functions accepting (fname: str, group_path: str, model_dict: dict, key: str, value: Any) that store the value in the model dict after a custom decoding. 
 
- Returns
- Dictionary containing the model. 
- Return type
- dict 
 - Example - >>> sim_dict = Simulation.dict_from_hdf5(fname='folder/sim.hdf5') 
 - classmethod dict_from_hdf5_gz(fname: str, group_path: str = '', custom_decoders: Optional[List[Callable]] = None) dict#
- Loads a dictionary containing the model contents from a .hdf5.gz file. - Parameters
- fname (str) – Full path to the .hdf5.gz file to load the - Tidy3dBaseModelfrom.
- group_path (str, optional) – Path to a group inside the file to selectively load a sub-element of the model only. 
- custom_decoders (List[Callable]) – List of functions accepting (fname: str, group_path: str, model_dict: dict, key: str, value: Any) that store the value in the model dict after a custom decoding. 
 
- Returns
- Dictionary containing the model. 
- Return type
- dict 
 - Example - >>> sim_dict = Simulation.dict_from_hdf5(fname='folder/sim.hdf5.gz') 
 - classmethod dict_from_json(fname: str) dict#
- Load dictionary of the model from a .json file. - Parameters
- fname (str) – Full path to the .json file to load the - Tidy3dBaseModelfrom.
- Returns
- A dictionary containing the model. 
- Return type
- dict 
 - Example - >>> sim_dict = Simulation.dict_from_json(fname='folder/sim.json') 
 - classmethod dict_from_yaml(fname: str) dict#
- Load dictionary of the model from a .yaml file. - Parameters
- fname (str) – Full path to the .yaml file to load the - Tidy3dBaseModelfrom.
- Returns
- A dictionary containing the model. 
- Return type
- dict 
 - Example - >>> sim_dict = Simulation.dict_from_yaml(fname='folder/sim.yaml') 
 - downsample(arr: numpy.ndarray, axis: Literal[0, 1, 2]) numpy.ndarray#
- Downsample a 1D array making sure to keep the first and last entries, based on the spatial interval defined for the - axis.- Parameters
- arr (Numpy) – A 1D array of arbitrary type. 
- axis (Axis) – Axis for which to select the interval_space defined for the monitor. 
 
- Returns
- Downsampled array. 
- Return type
- Numpy 
 
 - downsampled_num_cells(num_cells: Tuple[int, int, int]) Tuple[int, int, int]#
- Given a tuple of the number of cells spanned by the monitor along each dimension, return the number of cells one would have after downsampling based on - interval_space.
 - static evaluate_inf_shape(shape: shapely.geometry.base.BaseGeometry) shapely.geometry.base.BaseGeometry#
- Returns a copy of shape with inf vertices replaced by large numbers if polygon. 
 - property frequency_range: Tuple[float, float]#
- Frequency range of the array - self.freqs.- Returns
- Minimum and maximum frequencies of the frequency array. 
- Return type
- Tuple[float, float] 
 
 - classmethod from_bounds(rmin: Tuple[float, float, float], rmax: Tuple[float, float, float], **kwargs)#
- Constructs a - Boxfrom minimum and maximum coordinate bounds- Parameters
- rmin (Tuple[float, float, float]) – (x, y, z) coordinate of the minimum values. 
- rmax (Tuple[float, float, float]) – (x, y, z) coordinate of the maximum values. 
 
 - Example - >>> b = Box.from_bounds(rmin=(-1, -2, -3), rmax=(3, 2, 1)) 
 - classmethod from_file(fname: str, group_path: Optional[str] = None, **parse_obj_kwargs) tidy3d.components.base.Tidy3dBaseModel#
- Loads a - Tidy3dBaseModelfrom .yaml, .json, .hdf5, or .hdf5.gz file.- Parameters
- fname (str) – Full path to the file to load the - Tidy3dBaseModelfrom.
- group_path (str, optional) – Path to a group inside the file to use as the base level. Only for hdf5 files. Starting / is optional. 
- **parse_obj_kwargs – Keyword arguments passed to either pydantic’s - parse_objfunction when loading model.
 
- Returns
- An instance of the component class calling - load.
- Return type
- Tidy3dBaseModel
 - Example - >>> simulation = Simulation.from_file(fname='folder/sim.json') 
 - static from_gds(gds_cell, axis: Literal[0, 1, 2], slab_bounds: Tuple[float, float], gds_layer: int, gds_dtype: Optional[int] = None, gds_scale: pydantic.v1.types.PositiveFloat = 1.0, dilation: float = 0.0, sidewall_angle: float = 0, reference_plane: Literal['bottom', 'middle', 'top'] = 'middle') tidy3d.components.geometry.base.Geometry#
- Import a - gdstk.Cellor a- gdspy.Celland extrude it into a GeometryGroup.- Parameters
- gds_cell (Union[gdstk.Cell, gdspy.Cell]) – - gdstk.Cellor- gdspy.Cellcontaining 2D geometric data.
- axis (int) – Integer index defining the extrusion axis: 0 (x), 1 (y), or 2 (z). 
- slab_bounds (Tuple[float, float]) – Minimal and maximal positions of the extruded slab along - axis.
- gds_layer (int) – Layer index in the - gds_cell.
- gds_dtype (int = None) – Data-type index in the - gds_cell. If- None, imports all data for this layer into the returned list.
- gds_scale (float = 1.0) – Length scale used in GDS file in units of micrometer. For example, if gds file uses nanometers, set - gds_scale=1e-3. Must be positive.
- dilation (float = 0.0) – Dilation (positive) or erosion (negative) amount to be applied to the original polygons. 
- sidewall_angle (float = 0) – Angle of the extrusion sidewalls, away from the vertical direction, in radians. Positive (negative) values result in slabs larger (smaller) at the base than at the top. 
- reference_plane (PlanePosition = "middle") – Reference position of the (dilated/eroded) polygons along the slab axis. One of - "middle"(polygons correspond to the center of the slab bounds),- "bottom"(minimal slab bound position), or- "top"(maximal slab bound position). This value has no effect if- sidewall_angle == 0.
 
- Returns
- Geometries created from the 2D data. 
- Return type
 
 - classmethod from_hdf5(fname: str, group_path: str = '', custom_decoders: Optional[List[Callable]] = None, **parse_obj_kwargs) tidy3d.components.base.Tidy3dBaseModel#
- Loads - Tidy3dBaseModelinstance to .hdf5 file.- Parameters
- fname (str) – Full path to the .hdf5 file to load the - Tidy3dBaseModelfrom.
- group_path (str, optional) – Path to a group inside the file to selectively load a sub-element of the model only. Starting / is optional. 
- custom_decoders (List[Callable]) – List of functions accepting (fname: str, group_path: str, model_dict: dict, key: str, value: Any) that store the value in the model dict after a custom decoding. 
- **parse_obj_kwargs – Keyword arguments passed to pydantic’s - parse_objmethod.
 
 - Example - >>> simulation = Simulation.from_hdf5(fname='folder/sim.hdf5') 
 - classmethod from_hdf5_gz(fname: str, group_path: str = '', custom_decoders: Optional[List[Callable]] = None, **parse_obj_kwargs) tidy3d.components.base.Tidy3dBaseModel#
- Loads - Tidy3dBaseModelinstance to .hdf5.gz file.- Parameters
- fname (str) – Full path to the .hdf5.gz file to load the - Tidy3dBaseModelfrom.
- group_path (str, optional) – Path to a group inside the file to selectively load a sub-element of the model only. Starting / is optional. 
- custom_decoders (List[Callable]) – List of functions accepting (fname: str, group_path: str, model_dict: dict, key: str, value: Any) that store the value in the model dict after a custom decoding. 
- **parse_obj_kwargs – Keyword arguments passed to pydantic’s - parse_objmethod.
 
 - Example - >>> simulation = Simulation.from_hdf5_gz(fname='folder/sim.hdf5.gz') 
 - classmethod from_json(fname: str, **parse_obj_kwargs) tidy3d.components.base.Tidy3dBaseModel#
- Load a - Tidy3dBaseModelfrom .json file.- Parameters
- fname (str) – Full path to the .json file to load the - Tidy3dBaseModelfrom.
- Returns
- Tidy3dBaseModel– An instance of the component class calling load.
- **parse_obj_kwargs – Keyword arguments passed to pydantic’s - parse_objmethod.
 
 - Example - >>> simulation = Simulation.from_json(fname='folder/sim.json') 
 - static from_shapely(shape: shapely.geometry.base.BaseGeometry, axis: Literal[0, 1, 2], slab_bounds: Tuple[float, float], dilation: float = 0.0, sidewall_angle: float = 0, reference_plane: Literal['bottom', 'middle', 'top'] = 'middle') tidy3d.components.geometry.base.Geometry#
- Convert a shapely primitive into a geometry instance by extrusion. - Parameters
- shape (shapely.geometry.base.BaseGeometry) – Shapely primitive to be converted. It must be a linear ring, a polygon or a collection of any of those. 
- axis (int) – Integer index defining the extrusion axis: 0 (x), 1 (y), or 2 (z). 
- slab_bounds (Tuple[float, float]) – Minimal and maximal positions of the extruded slab along - axis.
- dilation (float) – Dilation of the polygon in the base by shifting each edge along its normal outwards direction by a distance; a negative value corresponds to erosion. 
- sidewall_angle (float = 0) – Angle of the extrusion sidewalls, away from the vertical direction, in radians. Positive (negative) values result in slabs larger (smaller) at the base than at the top. 
- reference_plane (PlanePosition = "middle") – Reference position of the (dilated/eroded) polygons along the slab axis. One of - "middle"(polygons correspond to the center of the slab bounds),- "bottom"(minimal slab bound position), or- "top"(maximal slab bound position). This value has no effect if- sidewall_angle == 0.
 
- Returns
- Geometry extruded from the 2D data. 
- Return type
 
 - classmethod from_yaml(fname: str, **parse_obj_kwargs) tidy3d.components.base.Tidy3dBaseModel#
- Loads - Tidy3dBaseModelfrom .yaml file.- Parameters
- fname (str) – Full path to the .yaml file to load the - Tidy3dBaseModelfrom.
- **parse_obj_kwargs – Keyword arguments passed to pydantic’s - parse_objmethod.
 
- Returns
- An instance of the component class calling from_yaml. 
- Return type
- Tidy3dBaseModel
 - Example - >>> simulation = Simulation.from_yaml(fname='folder/sim.yaml') 
 - classmethod generate_docstring() str#
- Generates a docstring for a Tidy3D mode and saves it to the __doc__ of the class. 
 - property geometry: tidy3d.components.geometry.base.Box#
- Boxrepresentation of monitor.
 - classmethod get_sub_model(group_path: str, model_dict: dict | list) dict#
- Get the sub model for a given group path. 
 - get_submodels_by_hash() Dict[int, List[Union[str, Tuple[str, int]]]]#
- Return a dictionary of this object’s sub-models indexed by their hash values. 
 - static get_tuple_group_name(index: int) str#
- Get the group name of a tuple element. 
 - static get_tuple_index(key_name: str) int#
- Get the index into the tuple based on its group name. 
 - help(methods: bool = False) None#
- Prints message describing the fields and methods of a - Tidy3dBaseModel.- Parameters
- methods (bool = False) – Whether to also print out information about object’s methods. 
 - Example - >>> simulation.help(methods=True) 
 - inside(x: numpy.ndarray[float], y: numpy.ndarray[float], z: numpy.ndarray[float]) numpy.ndarray[bool]#
- For input arrays - x,- y,- zof arbitrary but identical shape, return an array with the same shape which is- Truefor every point in zip(x, y, z) that is inside the volume of the- Geometry, and- Falseotherwise.- Parameters
- x (np.ndarray[float]) – Array of point positions in x direction. 
- y (np.ndarray[float]) – Array of point positions in y direction. 
- z (np.ndarray[float]) – Array of point positions in z direction. 
 
- Returns
- Truefor every point that is inside the geometry.
- Return type
- np.ndarray[bool] 
 
 - inside_meshgrid(x: numpy.ndarray[float], y: numpy.ndarray[float], z: numpy.ndarray[float]) numpy.ndarray[bool]#
- Perform - self.insideon a set of sorted 1D coordinates. Applies meshgrid to the supplied coordinates before checking inside.- Parameters
- x (np.ndarray[float]) – 1D array of point positions in x direction. 
- y (np.ndarray[float]) – 1D array of point positions in y direction. 
- z (np.ndarray[float]) – 1D array of point positions in z direction. 
 
- Returns
- Array with shape - (x.size, y.size, z.size), which is- Truefor every point that is inside the geometry.
- Return type
- np.ndarray[bool] 
 
 - intersections_2dbox(plane: tidy3d.components.geometry.base.Box) List[shapely.geometry.base.BaseGeometry]#
- Returns list of shapely geometries representing the intersections of the geometry with a 2D box. - Returns
- List of 2D shapes that intersect plane. For more details refer to Shapely’s Documentaton. 
- Return type
- List[shapely.geometry.base.BaseGeometry] 
 
 - intersections_plane(x: Optional[float] = None, y: Optional[float] = None, z: Optional[float] = None)#
- Returns shapely geometry at plane specified by one non None value of x,y,z. - Parameters
- x (float = None) – Position of plane in x direction, only one of x,y,z can be specified to define plane. 
- y (float = None) – Position of plane in y direction, only one of x,y,z can be specified to define plane. 
- z (float = None) – Position of plane in z direction, only one of x,y,z can be specified to define plane. 
 
- Returns
- List of 2D shapes that intersect plane. For more details refer to Shapely’s Documentaton. 
- Return type
- List[shapely.geometry.base.BaseGeometry] 
 
 - intersections_tilted_plane(normal: typing.Tuple[float, float, float], origin: typing.Tuple[float, float, float], to_2D: tidy3d.components.types.ArrayLike[dtype=float, ndim=2, shape=(4, 4)]) List[shapely.geometry.base.BaseGeometry]#
- Return a list of shapely geometries at the plane specified by normal and origin. - Parameters
- normal (Coordinate) – Vector defining the normal direction to the plane. 
- origin (Coordinate) – Vector defining the plane origin. 
- to_2D (MatrixReal4x4) – Transformation matrix to apply to resulting shapes. 
 
- Returns
- List of 2D shapes that intersect plane. For more details refer to Shapely’s Documentaton. 
- Return type
- List[shapely.geometry.base.BaseGeometry] 
 
 - intersections_with(other)#
- Returns list of shapely geometries representing the intersections of the geometry with this 2D box. - Returns
- List of 2D shapes that intersect this 2D box. For more details refer to Shapely’s Documentaton. 
- Return type
- List[shapely.geometry.base.BaseGeometry] 
 
 - intersects(other) bool#
- Returns - Trueif two- Geometryhave intersecting .bounds.- Parameters
- other ( - Geometry) – Geometry to check intersection with.
- Returns
- Whether the rectangular bounding boxes of the two geometries intersect. 
- Return type
- bool 
 
 - intersects_axis_position(axis: int, position: float) bool#
- Whether self intersects plane specified by a given position along a normal axis. - Parameters
- axis (int = None) – Axis nomral to the plane. 
- position (float = None) – Position of plane along the normal axis. 
 
- Returns
- Whether this geometry intersects the plane. 
- Return type
- bool 
 
 - intersects_plane(x: Optional[float] = None, y: Optional[float] = None, z: Optional[float] = None) bool#
- Whether self intersects plane specified by one non-None value of x,y,z. - Parameters
- x (float = None) – Position of plane in x direction, only one of x,y,z can be specified to define plane. 
- y (float = None) – Position of plane in y direction, only one of x,y,z can be specified to define plane. 
- z (float = None) – Position of plane in z direction, only one of x,y,z can be specified to define plane. 
 
- Returns
- Whether this geometry intersects the plane. 
- Return type
- bool 
 
 - json(*, include: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, exclude: Optional[Union[AbstractSetIntStr, MappingIntStrAny]] = None, by_alias: bool = False, skip_defaults: Optional[bool] = None, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, encoder: Optional[Callable[[Any], Any]] = None, models_as_dict: bool = True, **dumps_kwargs: Any) str#
- Generate a JSON representation of the model, include and exclude arguments as per dict(). - encoder is an optional function to supply as default to json.dumps(), other arguments as per json.dumps(). 
 - static kspace_2_sph(ux: float, uy: float, axis: Literal[0, 1, 2]) Tuple[float, float]#
- Convert normalized k-space coordinates to angles. - Parameters
- ux (float) – normalized kx coordinate. 
- uy (float) – normalized ky coordinate. 
- axis (int) – axis along which the observation plane is oriented. 
 
- Returns
- theta and phi coordinates relative to - local_origin.
- Return type
- Tuple[float, float] 
 
 - static load_gds_vertices_gdspy(gds_cell, gds_layer: int, gds_dtype: Optional[int] = None, gds_scale: pydantic.v1.types.PositiveFloat = 1.0) List[tidy3d.components.types.ArrayLike[dtype=float, ndim=2]]#
- Load polygon vertices from a - gdspy.Cell.- Parameters
- gds_cell (gdspy.Cell) – - gdstk.Cellor- gdspy.Cellcontaining 2D geometric data.
- gds_layer (int) – Layer index in the - gds_cell.
- gds_dtype (int = None) – Data-type index in the - gds_cell. If- None, imports all data for this layer into the returned list.
- gds_scale (float = 1.0) – Length scale used in GDS file in units of micrometer. For example, if gds file uses nanometers, set - gds_scale=1e-3. Must be positive.
 
- Returns
- List of polygon vertices 
- Return type
- List[ArrayFloat2D] 
 
 - static load_gds_vertices_gdstk(gds_cell, gds_layer: int, gds_dtype: Optional[int] = None, gds_scale: pydantic.v1.types.PositiveFloat = 1.0) List[tidy3d.components.types.ArrayLike[dtype=float, ndim=2]]#
- Load polygon vertices from a - gdstk.Cell.- Parameters
- gds_cell (gdstk.Cell) – - gdstk.Cellor- gdspy.Cellcontaining 2D geometric data.
- gds_layer (int) – Layer index in the - gds_cell.
- gds_dtype (int = None) – Data-type index in the - gds_cell. If- None, imports all data for this layer into the returned list.
- gds_scale (float = 1.0) – Length scale used in GDS file in units of micrometer. For example, if gds file uses nanometers, set - gds_scale=1e-3. Must be positive.
 
- Returns
- List of polygon vertices 
- Return type
- List[ArrayFloat2D] 
 
 - static parse_xyz_kwargs(**xyz) Tuple[Literal[0, 1, 2], float]#
- Turns x,y,z kwargs into index of the normal axis and position along that axis. - Parameters
- x (float = None) – Position of plane in x direction, only one of x,y,z can be specified to define plane. 
- y (float = None) – Position of plane in y direction, only one of x,y,z can be specified to define plane. 
- z (float = None) – Position of plane in z direction, only one of x,y,z can be specified to define plane. 
 
- Returns
- Index into xyz axis (0,1,2) and position along that axis. 
- Return type
- int, float 
 
 - plot(x: float = None, y: float = None, z: float = None, ax: matplotlib.axes._axes.Axes = None, **patch_kwargs) matplotlib.axes._axes.Axes#
- Plot geometry cross section at single (x,y,z) coordinate. - Parameters
- x (float = None) – Position of plane in x direction, only one of x,y,z can be specified to define plane. 
- y (float = None) – Position of plane in y direction, only one of x,y,z can be specified to define plane. 
- z (float = None) – Position of plane in z direction, only one of x,y,z can be specified to define plane. 
- ax (matplotlib.axes._subplots.Axes = None) – Matplotlib axes to plot on, if not specified, one is created. 
- **patch_kwargs – Optional keyword arguments passed to the matplotlib patch plotting of structure. For details on accepted values, refer to Matplotlib’s documentation. 
 
- Returns
- The supplied or created matplotlib axes. 
- Return type
- matplotlib.axes._subplots.Axes 
 
 - property plot_params: tidy3d.components.viz.PlotParams#
- Default parameters for plotting a Monitor object. 
 - plot_shape(shape: shapely.geometry.base.BaseGeometry, plot_params: tidy3d.components.viz.PlotParams, ax: matplotlib.axes._axes.Axes) matplotlib.axes._axes.Axes#
- Defines how a shape is plotted on a matplotlib axes. 
 - static pop_axis(coord: Tuple[Any, Any, Any], axis: int) Tuple[Any, Tuple[Any, Any]]#
- Separates coordinate at - axisindex from coordinates on the plane tangent to- axis.- Parameters
- coord (Tuple[Any, Any, Any]) – Tuple of three values in original coordinate system. 
- axis (int) – Integer index into ‘xyz’ (0,1,2). 
 
- Returns
- The input coordinates are separated into the one along the axis provided and the two on the planar coordinates, like - axis_coord, (planar_coord1, planar_coord2).
- Return type
- Any, Tuple[Any, Any] 
 
 - reflect_points(points: tidy3d.components.types.ArrayLike[dtype=float, ndim=3], polar_axis: typing.Literal[0, 1, 2], angle_theta: float, angle_phi: float) tidy3d.components.types.ArrayLike[dtype=float, ndim=3]#
- Reflect a set of points in 3D at a plane passing through the coordinate origin defined and normal to a given axis defined in polar coordinates (theta, phi) w.r.t. the - polar_axiswhich can be 0, 1, or 2.- Parameters
- points (ArrayLike[float]) – Array of shape - (3, ...).
- polar_axis (Axis) – Cartesian axis w.r.t. which the normal axis angles are defined. 
- angle_theta (float) – Polar angle w.r.t. the polar axis. 
- angle_phi (float) – Azimuth angle around the polar axis. 
 
 
 - static rotate_points(points: tidy3d.components.types.ArrayLike[dtype=float, ndim=3], axis: typing.Tuple[float, float, float], angle: float) tidy3d.components.types.ArrayLike[dtype=float, ndim=3]#
- Rotate a set of points in 3D. - Parameters
- points (ArrayLike[float]) – Array of shape - (3, ...).
- axis (Coordinate) – Axis of rotation 
- angle (float) – Angle of rotation counter-clockwise around the axis (rad). 
 
 
 - rotated(angle: float, axis: Union[Literal[0, 1, 2], Tuple[float, float, float]]) tidy3d.components.geometry.base.Geometry#
- Return a rotated copy of this geometry. - Parameters
- angle (float) – Rotation angle (in radians). 
- axis (Union[int, Tuple[float, float, float]]) – Axis of rotation: 0, 1, or 2 for x, y, and z, respectively, or a 3D vector. 
 
- Returns
- Rotated copy of this geometry. 
- Return type
 
 - scaled(x: float = 1.0, y: float = 1.0, z: float = 1.0) tidy3d.components.geometry.base.Geometry#
- Return a scaled copy of this geometry. - Parameters
- x (float = 1.0) – Scaling factor along x. 
- y (float = 1.0) – Scaling factor along y. 
- z (float = 1.0) – Scaling factor along z. 
 
- Returns
- Scaled copy of this geometry. 
- Return type
 
 - static sph_2_car(r: float, theta: float, phi: float) Tuple[float, float, float]#
- Convert spherical to Cartesian coordinates. - Parameters
- r (float) – radius. 
- theta (float) – polar angle (rad) downward from x=y=0 line. 
- phi (float) – azimuthal (rad) angle from y=z=0 line. 
 
- Returns
- x, y, and z coordinates relative to - local_origin.
- Return type
- Tuple[float, float, float] 
 
 - static sph_2_car_field(f_r: float, f_theta: float, f_phi: float, theta: float, phi: float) Tuple[complex, complex, complex]#
- Convert vector field components in spherical coordinates to cartesian. - Parameters
- f_r (float) – radial component of the vector field. 
- f_theta (float) – polar angle component of the vector fielf. 
- f_phi (float) – azimuthal angle component of the vector field. 
- theta (float) – polar angle (rad) of location of the vector field. 
- phi (float) – azimuthal angle (rad) of location of the vector field. 
 
- Returns
- x, y, and z components of the vector field in cartesian coordinates. 
- Return type
- Tuple[float, float, float] 
 
 - storage_size(num_cells: int, tmesh: tidy3d.components.types.ArrayLike[dtype=float, ndim=1]) int#
- Size of monitor storage given the number of points after discretization. 
 - surface_area(bounds: Optional[Tuple[Tuple[float, float, float], Tuple[float, float, float]]] = None)#
- Returns object’s surface area with optional bounds. - Parameters
- bounds (Tuple[Tuple[float, float, float], Tuple[float, float, float]] = None) – Min and max bounds packaged as - (minx, miny, minz), (maxx, maxy, maxz).
- Returns
- Surface area in um^2. 
- Return type
- float 
 
 - classmethod surfaces(size: Tuple[pydantic.v1.types.NonNegativeFloat, pydantic.v1.types.NonNegativeFloat, pydantic.v1.types.NonNegativeFloat], center: Tuple[float, float, float], **kwargs)#
- Returns a list of 6 - Boxinstances corresponding to each surface of a 3D volume. The output surfaces are stored in the order [x-, x+, y-, y+, z-, z+], where x, y, and z denote which axis is perpendicular to that surface, while “-” and “+” denote the direction of the normal vector of that surface. If a name is provided, each output surface’s name will be that of the provided name appended with the above symbols. E.g., if the provided name is “box”, the x+ surfaces’s name will be “box_x+”.- Parameters
- size (Tuple[float, float, float]) – Size of object in x, y, and z directions. 
- center (Tuple[float, float, float]) – Center of object in x, y, and z. 
 
 - Example - >>> b = Box.surfaces(size=(1, 2, 3), center=(3, 2, 1)) 
 - classmethod surfaces_with_exclusion(size: Tuple[pydantic.v1.types.NonNegativeFloat, pydantic.v1.types.NonNegativeFloat, pydantic.v1.types.NonNegativeFloat], center: Tuple[float, float, float], **kwargs)#
- Returns a list of 6 - Boxinstances corresponding to each surface of a 3D volume. The output surfaces are stored in the order [x-, x+, y-, y+, z-, z+], where x, y, and z denote which axis is perpendicular to that surface, while “-” and “+” denote the direction of the normal vector of that surface. If a name is provided, each output surface’s name will be that of the provided name appended with the above symbols. E.g., if the provided name is “box”, the x+ surfaces’s name will be “box_x+”. If kwargs contains an exclude_surfaces parameter, the returned list of surfaces will not include the excluded surfaces. Otherwise, the behavior is identical to that of surfaces().- Parameters
- size (Tuple[float, float, float]) – Size of object in x, y, and z directions. 
- center (Tuple[float, float, float]) – Center of object in x, y, and z. 
 
 - Example - >>> b = Box.surfaces_with_exclusion( ... size=(1, 2, 3), center=(3, 2, 1), exclude_surfaces=["x-"] ... ) 
 - to_file(fname: str) None#
- Exports - Tidy3dBaseModelinstance to .yaml, .json, or .hdf5 file- Parameters
- fname (str) – Full path to the .yaml or .json file to save the - Tidy3dBaseModelto.
 - Example - >>> simulation.to_file(fname='folder/sim.json') 
 - to_gds(cell, x: Optional[float] = None, y: Optional[float] = None, z: Optional[float] = None, gds_layer: pydantic.v1.types.NonNegativeInt = 0, gds_dtype: pydantic.v1.types.NonNegativeInt = 0) None#
- Append a Geometry object’s planar slice to a .gds cell. - Parameters
- cell ( - gdstk.Cellor- gdspy.Cell) – Cell object to which the generated polygons are added.
- x (float = None) – Position of plane in x direction, only one of x,y,z can be specified to define plane. 
- y (float = None) – Position of plane in y direction, only one of x,y,z can be specified to define plane. 
- z (float = None) – Position of plane in z direction, only one of x,y,z can be specified to define plane. 
- gds_layer (int = 0) – Layer index to use for the shapes stored in the .gds file. 
- gds_dtype (int = 0) – Data-type index to use for the shapes stored in the .gds file. 
 
 
 - to_gds_file(fname: str, x: Optional[float] = None, y: Optional[float] = None, z: Optional[float] = None, gds_layer: pydantic.v1.types.NonNegativeInt = 0, gds_dtype: pydantic.v1.types.NonNegativeInt = 0, gds_cell_name: str = 'MAIN') None#
- Export a Geometry object’s planar slice to a .gds file. - Parameters
- fname (str) – Full path to the .gds file to save the - Geometryslice to.
- x (float = None) – Position of plane in x direction, only one of x,y,z can be specified to define plane. 
- y (float = None) – Position of plane in y direction, only one of x,y,z can be specified to define plane. 
- z (float = None) – Position of plane in z direction, only one of x,y,z can be specified to define plane. 
- gds_layer (int = 0) – Layer index to use for the shapes stored in the .gds file. 
- gds_dtype (int = 0) – Data-type index to use for the shapes stored in the .gds file. 
- gds_cell_name (str = 'MAIN') – Name of the cell created in the .gds file to store the geometry. 
 
 
 - to_gdspy(x: Optional[float] = None, y: Optional[float] = None, z: Optional[float] = None, gds_layer: pydantic.v1.types.NonNegativeInt = 0, gds_dtype: pydantic.v1.types.NonNegativeInt = 0) List#
- Convert a Geometry object’s planar slice to a .gds type polygon. - Parameters
- x (float = None) – Position of plane in x direction, only one of x,y,z can be specified to define plane. 
- y (float = None) – Position of plane in y direction, only one of x,y,z can be specified to define plane. 
- z (float = None) – Position of plane in z direction, only one of x,y,z can be specified to define plane. 
- gds_layer (int = 0) – Layer index to use for the shapes stored in the .gds file. 
- gds_dtype (int = 0) – Data-type index to use for the shapes stored in the .gds file. 
 
- Returns
- List of gdspy.Polygon and gdspy.PolygonSet. 
- Return type
- List 
 
 - to_gdstk(x: Optional[float] = None, y: Optional[float] = None, z: Optional[float] = None, gds_layer: pydantic.v1.types.NonNegativeInt = 0, gds_dtype: pydantic.v1.types.NonNegativeInt = 0) List#
- Convert a Geometry object’s planar slice to a .gds type polygon. - Parameters
- x (float = None) – Position of plane in x direction, only one of x,y,z can be specified to define plane. 
- y (float = None) – Position of plane in y direction, only one of x,y,z can be specified to define plane. 
- z (float = None) – Position of plane in z direction, only one of x,y,z can be specified to define plane. 
- gds_layer (int = 0) – Layer index to use for the shapes stored in the .gds file. 
- gds_dtype (int = 0) – Data-type index to use for the shapes stored in the .gds file. 
 
- Returns
- List of gdstk.Polygon. 
- Return type
- List 
 
 - to_hdf5(fname: str, custom_encoders: Optional[List[Callable]] = None) None#
- Exports - Tidy3dBaseModelinstance to .hdf5 file.- Parameters
- fname (str) – Full path to the .hdf5 file to save the - Tidy3dBaseModelto.
- custom_encoders (List[Callable]) – List of functions accepting (fname: str, group_path: str, value: Any) that take the - valuesupplied and write it to the hdf5- fnameat- group_path.
 
 - Example - >>> simulation.to_hdf5(fname='folder/sim.hdf5') 
 - to_hdf5_gz(fname: str, custom_encoders: Optional[List[Callable]] = None) None#
- Exports - Tidy3dBaseModelinstance to .hdf5.gz file.- Parameters
- fname (str) – Full path to the .hdf5.gz file to save the - Tidy3dBaseModelto.
- custom_encoders (List[Callable]) – List of functions accepting (fname: str, group_path: str, value: Any) that take the - valuesupplied and write it to the hdf5- fnameat- group_path.
 
 - Example - >>> simulation.to_hdf5_gz(fname='folder/sim.hdf5.gz') 
 - to_json(fname: str) None#
- Exports - Tidy3dBaseModelinstance to .json file- Parameters
- fname (str) – Full path to the .json file to save the - Tidy3dBaseModelto.
 - Example - >>> simulation.to_json(fname='folder/sim.json') 
 - to_yaml(fname: str) None#
- Exports - Tidy3dBaseModelinstance to .yaml file.- Parameters
- fname (str) – Full path to the .yaml file to save the - Tidy3dBaseModelto.
 - Example - >>> simulation.to_yaml(fname='folder/sim.yaml') 
 - translated(x: float, y: float, z: float) tidy3d.components.geometry.base.Geometry#
- Return a translated copy of this geometry. - Parameters
- x (float) – Translation along x. 
- y (float) – Translation along y. 
- z (float) – Translation along z. 
 
- Returns
- Translated copy of this geometry. 
- Return type
 
 - classmethod tuple_to_dict(tuple_values: tuple) dict#
- How we generate a dictionary mapping new keys to tuple values for hdf5. 
 - static unpop_axis(ax_coord: Any, plane_coords: Tuple[Any, Any], axis: int) Tuple[Any, Any, Any]#
- Combine coordinate along axis with coordinates on the plane tangent to the axis. - Parameters
- ax_coord (Any) – Value along axis direction. 
- plane_coords (Tuple[Any, Any]) – Values along ordered planar directions. 
- axis (int) – Integer index into ‘xyz’ (0,1,2). 
 
- Returns
- The three values in the xyz coordinate system. 
- Return type
- Tuple[Any, Any, Any] 
 
 - classmethod update_forward_refs(**localns: Any) None#
- Try to update ForwardRefs on fields based on this Model, globalns and localns. 
 - updated_copy(**kwargs) tidy3d.components.base.Tidy3dBaseModel#
- Make copy of a component instance with - **kwargsindicating updated field values.
 - volume(bounds: Optional[Tuple[Tuple[float, float, float], Tuple[float, float, float]]] = None)#
- Returns object’s volume with optional bounds. - Parameters
- bounds (Tuple[Tuple[float, float, float], Tuple[float, float, float]] = None) – Min and max bounds packaged as - (minx, miny, minz), (maxx, maxy, maxz).
- Returns
- Volume in um^3. 
- Return type
- float