tidy3d.SpaceModulation#
- class SpaceModulation[source]#
- The modulation profile with a user-supplied spatial distribution of amplitude and phase. - Parameters:
- amplitude (Union[float, SpatialDataArray] = 1) – Amplitude of modulation that can vary spatially. It takes the unit of whatever is being modulated. 
- phase (Union[float, SpatialDataArray] = 0) – [units = rad]. Phase of modulation that can vary spatially. 
- interp_method (Literal['nearest', 'linear'] = nearest) – Method of interpolation to use to obtain values at spatial locations on the Yee grids. 
 
 - Note \[amp\_space(r) = amplitude(r) \cdot e^{i \cdot phase(r)}\]- The full space-time modulation is, \[amp(r, t) = \Re[amp\_time(t) \cdot amp\_space(r)]\]- Example - >>> Nx, Ny, Nz = 10, 9, 8 >>> X = np.linspace(-1, 1, Nx) >>> Y = np.linspace(-1, 1, Ny) >>> Z = np.linspace(-1, 1, Nz) >>> coords = dict(x=X, y=Y, z=Z) >>> amp = SpatialDataArray(np.random.random((Nx, Ny, Nz)), coords=coords) >>> phase = SpatialDataArray(np.random.random((Nx, Ny, Nz)), coords=coords) >>> space = SpaceModulation(amplitude=amp, phase=phase) - __init__(**kwargs)#
- Init method, includes post-init validators. 
 - Methods - __init__(**kwargs)- Init method, includes post-init validators. - add_type_field()- Automatically place "type" field with model name in the model field dictionary. - 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. - from_file(fname[, group_path])- Loads a - Tidy3dBaseModelfrom .yaml, .json, .hdf5, or .hdf5.gz file.- 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_yaml(fname, **parse_obj_kwargs)- Loads - Tidy3dBaseModelfrom .yaml file.- generate_docstring()- 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. - get_submodels_by_hash()- 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.- json(*[, include, exclude, by_alias, ...])- Generate a JSON representation of the model, include and exclude arguments as per dict(). - parse_file(path, *[, content_type, ...])- parse_obj(obj)- parse_raw(b, *[, content_type, encoding, ...])- schema([by_alias, ref_template])- schema_json(*[, by_alias, ref_template])- sel_inside(bounds)- Return a new space modulation that contains the minimal amount data necessary to cover a spatial region defined by - bounds.- to_file(fname)- Exports - Tidy3dBaseModelinstance to .yaml, .json, or .hdf5 file- 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.- tuple_to_dict(tuple_values)- How we generate a dictionary mapping new keys to tuple values for hdf5. - 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)- Attributes - Estimated maximum modulation amplitude. - amplitude#
 - phase#
 - interp_method#
 - property max_modulation#
- Estimated maximum modulation amplitude. 
 - sel_inside(bounds)[source]#
- Return a new space modulation that contains the minimal amount data necessary to cover a spatial region defined by - bounds.- Parameters:
- bounds (Tuple[float, float, float], Tuple[float, float float]) – Min and max bounds packaged as - (minx, miny, minz), (maxx, maxy, maxz).
- Returns:
- SpaceModulation with reduced data. 
- Return type:
 
 - __hash__()#
- Hash method.