tidy3d.plugins.adjoint.JaxStructure
tidy3d.plugins.adjoint.JaxStructure#
- class tidy3d.plugins.adjoint.JaxStructure(*, type: Literal['JaxStructure'] = 'JaxStructure', geometry: Union[tidy3d.plugins.adjoint.components.geometry.JaxBox, tidy3d.plugins.adjoint.components.geometry.JaxPolySlab, tidy3d.plugins.adjoint.components.geometry.JaxGeometryGroup], name: str = None, medium: Union[tidy3d.plugins.adjoint.components.medium.JaxMedium, tidy3d.plugins.adjoint.components.medium.JaxAnisotropicMedium, tidy3d.plugins.adjoint.components.medium.JaxCustomMedium])#
Bases:
tidy3d.plugins.adjoint.components.structure.AbstractJaxStructure
,tidy3d.plugins.adjoint.components.base.JaxObject
A
Structure
registered with jax.- Parameters
geometry (Union[JaxBox, JaxPolySlab, JaxGeometryGroup]) – Geometry of the structure, which is jax-compatible.
name (Optional[str] = None) – Optional name for the structure.
medium (Union[JaxMedium, JaxAnisotropicMedium, JaxCustomMedium]) – Medium of the structure, which is jax-compatible.
- __init__(**kwargs)#
Init method, includes post-init validators.
Methods
__init__
(**kwargs)Init method, includes post-init validators.
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.
eps_comp
(row, col, frequency, coords)Single component of the complex-valued permittivity tensor as a function of frequency.
eps_diagonal
(frequency, coords)Main diagonal of the complex-valued permittivity tensor as a function of frequency.
from_file
(fname[, group_path])Loads a
Tidy3dBaseModel
from .yaml, .json, .hdf5, or .hdf5.gz file.from_hdf5
(fname[, group_path, custom_decoders])Loads
Tidy3dBaseModel
instance to .hdf5 file.from_hdf5_gz
(fname[, group_path, ...])Loads
Tidy3dBaseModel
instance to .hdf5.gz file.from_json
(fname, **parse_obj_kwargs)Load a
Tidy3dBaseModel
from .json file.from_orm
(obj)from_structure
(structure)Convert
Structure
toJaxStructure
.from_tidy3d
(tidy3d_obj)Convert
Tidy3dBaseModel
instance toJaxObject
.from_yaml
(fname, **parse_obj_kwargs)Loads
Tidy3dBaseModel
from .yaml file.Generates a docstring for a Tidy3D mode and saves it to the __doc__ of the class.
geometry_vjp
(grad_data_fwd, grad_data_adj, ...)Compute the VJP for the structure geometry.
Returns list of field names that have a
jax_field_type
.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
.json
(*[, include, exclude, by_alias, ...])Generate a JSON representation of the model, include and exclude arguments as per dict().
make_grad_monitors
(freqs, name)Return gradient monitor associated with this object.
medium_vjp
(grad_data_fwd, grad_data_adj, ...)Compute the VJP for the structure medium.
parse_file
(path, *[, content_type, ...])parse_obj
(obj)parse_raw
(b, *[, content_type, encoding, ...])plot
([x, y, z, ax])Plot structure's geometric cross section at single (x,y,z) coordinate.
schema
([by_alias, ref_template])schema_json
(*[, by_alias, ref_template])store_vjp
(grad_data_fwd, grad_data_adj, ...)Returns the gradient of the structure parameters given forward and adjoint field data.
to_file
(fname)Exports
Tidy3dBaseModel
instance to .yaml, .json, or .hdf5 fileto_gds
(cell[, x, y, z, ...])Append a structure's planar slice to a .gds cell.
to_gds_file
(fname[, x, y, z, ...])Export a structure's planar slice to a .gds file.
to_gdspy
([x, y, z, gds_layer, gds_dtype])Convert a structure's planar slice to a .gds type polygon.
to_gdstk
([x, y, z, permittivity_threshold, ...])Convert a structure's planar slice to a .gds type polygon.
to_hdf5
(fname[, custom_encoders])Exports
JaxObject
instance to .hdf5 file.to_hdf5_gz
(fname[, custom_encoders])Exports
Tidy3dBaseModel
instance to .hdf5.gz file.to_json
(fname)Exports
Tidy3dBaseModel
instance to .json fileConvert
JaxStructure
instance toStructure
to_yaml
(fname)Exports
Tidy3dBaseModel
instance to .yaml file.How to flatten a
JaxObject
instance into a pytree.tree_unflatten
(aux_data, children)How to unflatten a pytree into a
JaxObject
instance.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
**kwargs
indicating updated field values.validate
(value)Attributes
Fields to exclude from the self dict.
The fields that are jax-traced for this class.
geometry
medium
- class Config#
Bases:
object
Sets config for all
Tidy3dBaseModel
objects.- 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.
- __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.
- __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.
- __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
- __repr_name__() str #
Name of the instance’s class, used in __repr__.
- __rich_repr__() RichReprResult #
Get fields for Rich library
- classmethod __try_update_forward_refs__(**localns: Any) None #
Same as update_forward_refs but will not raise exception when forward references are not defined.
- classmethod add_type_field() None #
Automatically place “type” field with model name in the model field dictionary.
- 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=True
as 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
Tidy3dBaseModel
from.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
JaxObject
from.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
Tidy3dBaseModel
from.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
Tidy3dBaseModel
from.- 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
Tidy3dBaseModel
from.- Returns
A dictionary containing the model.
- Return type
dict
Example
>>> sim_dict = Simulation.dict_from_yaml(fname='folder/sim.yaml')
- eps_comp(row: Literal[0, 1, 2], col: Literal[0, 1, 2], frequency: float, coords: tidy3d.components.grid.grid.Coords) complex #
Single component of the complex-valued permittivity tensor as a function of frequency.
- Parameters
row (int) – Component’s row in the permittivity tensor (0, 1, or 2 for x, y, or z respectively).
col (int) – Component’s column in the permittivity tensor (0, 1, or 2 for x, y, or z respectively).
frequency (float) – Frequency to evaluate permittivity at (Hz).
- Returns
Element of the relative permittivity tensor evaluated at
frequency
.- Return type
complex
- eps_diagonal(frequency: float, coords: tidy3d.components.grid.grid.Coords) Tuple[complex, complex, complex] #
Main diagonal of the complex-valued permittivity tensor as a function of frequency.
- Parameters
frequency (float) – Frequency to evaluate permittivity at (Hz).
- Returns
The diagonal elements of the relative permittivity tensor evaluated at
frequency
.- Return type
complex
- property exclude_fields#
Fields to exclude from the self dict.
- classmethod from_file(fname: str, group_path: Optional[str] = None, **parse_obj_kwargs) tidy3d.components.base.Tidy3dBaseModel #
Loads a
Tidy3dBaseModel
from .yaml, .json, .hdf5, or .hdf5.gz file.- Parameters
fname (str) – Full path to the file to load the
Tidy3dBaseModel
from.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_obj
function when loading model.
- Returns
An instance of the component class calling
load
.- Return type
Tidy3dBaseModel
Example
>>> simulation = Simulation.from_file(fname='folder/sim.json')
- classmethod from_hdf5(fname: str, group_path: str = '', custom_decoders: Optional[List[Callable]] = None, **parse_obj_kwargs) tidy3d.components.base.Tidy3dBaseModel #
Loads
Tidy3dBaseModel
instance to .hdf5 file.- Parameters
fname (str) – Full path to the .hdf5 file to load the
Tidy3dBaseModel
from.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_obj
method.
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
Tidy3dBaseModel
instance to .hdf5.gz file.- Parameters
fname (str) – Full path to the .hdf5.gz file to load the
Tidy3dBaseModel
from.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_obj
method.
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
Tidy3dBaseModel
from .json file.- Parameters
fname (str) – Full path to the .json file to load the
Tidy3dBaseModel
from.- Returns
Tidy3dBaseModel
– An instance of the component class calling load.**parse_obj_kwargs – Keyword arguments passed to pydantic’s
parse_obj
method.
Example
>>> simulation = Simulation.from_json(fname='folder/sim.json')
- classmethod from_structure(structure: tidy3d.components.structure.Structure) tidy3d.plugins.adjoint.components.structure.JaxStructure #
Convert
Structure
toJaxStructure
.
- classmethod from_tidy3d(tidy3d_obj: tidy3d.components.base.Tidy3dBaseModel) tidy3d.plugins.adjoint.components.base.JaxObject #
Convert
Tidy3dBaseModel
instance toJaxObject
.
- classmethod from_yaml(fname: str, **parse_obj_kwargs) tidy3d.components.base.Tidy3dBaseModel #
Loads
Tidy3dBaseModel
from .yaml file.- Parameters
fname (str) – Full path to the .yaml file to load the
Tidy3dBaseModel
from.**parse_obj_kwargs – Keyword arguments passed to pydantic’s
parse_obj
method.
- 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.
- geometry_vjp(grad_data_fwd: tidy3d.components.data.monitor_data.FieldData, grad_data_adj: tidy3d.components.data.monitor_data.FieldData, grad_data_eps: tidy3d.components.data.monitor_data.PermittivityData, sim_bounds: Tuple[Tuple[float, float, float], Tuple[float, float, float]], eps_out: complex, num_proc: int = 1) Union[tidy3d.plugins.adjoint.components.geometry.JaxBox, tidy3d.plugins.adjoint.components.geometry.JaxPolySlab, tidy3d.plugins.adjoint.components.geometry.JaxGeometryGroup] #
Compute the VJP for the structure geometry.
- classmethod get_jax_field_names() List[str] #
Returns list of field names that have a
jax_field_type
.
- 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)
- property jax_fields#
The fields that are jax-traced for this class.
- 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().
- make_grad_monitors(freqs: List[float], name: str) tidy3d.components.monitor.FieldMonitor #
Return gradient monitor associated with this object.
- medium_vjp(grad_data_fwd: tidy3d.components.data.monitor_data.FieldData, grad_data_adj: tidy3d.components.data.monitor_data.FieldData, grad_data_eps: tidy3d.components.data.monitor_data.PermittivityData, sim_bounds: Tuple[Tuple[float, float, float], Tuple[float, float, float]]) Union[tidy3d.plugins.adjoint.components.medium.JaxMedium, tidy3d.plugins.adjoint.components.medium.JaxAnisotropicMedium, tidy3d.plugins.adjoint.components.medium.JaxCustomMedium] #
Compute the VJP for the structure medium.
- plot(x: float = None, y: float = None, z: float = None, ax: matplotlib.axes._axes.Axes = None, **patch_kwargs) matplotlib.axes._axes.Axes #
Plot structure’s geometric 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
- store_vjp(grad_data_fwd: tidy3d.components.data.monitor_data.FieldData, grad_data_adj: tidy3d.components.data.monitor_data.FieldData, grad_data_eps: tidy3d.components.data.monitor_data.PermittivityData, sim_bounds: Tuple[Tuple[float, float, float], Tuple[float, float, float]], eps_out: complex, num_proc: int = 1) tidy3d.plugins.adjoint.components.structure.JaxStructure #
Returns the gradient of the structure parameters given forward and adjoint field data.
- to_file(fname: str) None #
Exports
Tidy3dBaseModel
instance to .yaml, .json, or .hdf5 file- Parameters
fname (str) – Full path to the .yaml or .json file to save the
Tidy3dBaseModel
to.
Example
>>> simulation.to_file(fname='folder/sim.json')
- to_gds(cell, x: Optional[float] = None, y: Optional[float] = None, z: Optional[float] = None, permittivity_threshold: pydantic.v1.types.NonNegativeFloat = 1, frequency: pydantic.v1.types.PositiveFloat = 0, gds_layer: pydantic.v1.types.NonNegativeInt = 0, gds_dtype: pydantic.v1.types.NonNegativeInt = 0) None #
Append a structure’s planar slice to a .gds cell.
- Parameters
cell (
gdstk.Cell
orgdspy.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.
permittivity_threshold (float = 1.1) – Permitivitty value used to define the shape boundaries for structures with custom medim
frequency (float = 0) – Frequency for permittivity evaluaiton in case of custom medium (Hz).
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, permittivity_threshold: pydantic.v1.types.NonNegativeFloat = 1, frequency: pydantic.v1.types.PositiveFloat = 0, gds_layer: pydantic.v1.types.NonNegativeInt = 0, gds_dtype: pydantic.v1.types.NonNegativeInt = 0, gds_cell_name: str = 'MAIN') None #
Export a structure’s planar slice to a .gds file.
- Parameters
fname (str) – Full path to the .gds file to save the
Structure
slice 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.
permittivity_threshold (float = 1.1) – Permitivitty value used to define the shape boundaries for structures with custom medim
frequency (float = 0) – Frequency for permittivity evaluaiton in case of custom medium (Hz).
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) None #
Convert a structure’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, permittivity_threshold: pydantic.v1.types.NonNegativeFloat = 1, frequency: pydantic.v1.types.PositiveFloat = 0, gds_layer: pydantic.v1.types.NonNegativeInt = 0, gds_dtype: pydantic.v1.types.NonNegativeInt = 0) None #
Convert a structure’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.
permittivity_threshold (float = 1.1) – Permitivitty value used to define the shape boundaries for structures with custom medim
frequency (float = 0) – Frequency for permittivity evaluaiton in case of custom medium (Hz).
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
JaxObject
instance to .hdf5 file.- Parameters
fname (str) – Full path to the .hdf5 file to save the
JaxObject
to.custom_encoders (List[Callable]) – List of functions accepting (fname: str, group_path: str, value: Any) that take the
value
supplied and write it to the hdf5fname
atgroup_path
.
Example
>>> simulation.to_hdf5(fname='folder/sim.hdf5')
- to_hdf5_gz(fname: str, custom_encoders: Optional[List[Callable]] = None) None #
Exports
Tidy3dBaseModel
instance to .hdf5.gz file.- Parameters
fname (str) – Full path to the .hdf5.gz file to save the
Tidy3dBaseModel
to.custom_encoders (List[Callable]) – List of functions accepting (fname: str, group_path: str, value: Any) that take the
value
supplied and write it to the hdf5fname
atgroup_path
.
Example
>>> simulation.to_hdf5_gz(fname='folder/sim.hdf5.gz')
- to_json(fname: str) None #
Exports
Tidy3dBaseModel
instance to .json file- Parameters
fname (str) – Full path to the .json file to save the
Tidy3dBaseModel
to.
Example
>>> simulation.to_json(fname='folder/sim.json')
- to_structure() tidy3d.components.structure.Structure #
Convert
JaxStructure
instance toStructure
- to_yaml(fname: str) None #
Exports
Tidy3dBaseModel
instance to .yaml file.- Parameters
fname (str) – Full path to the .yaml file to save the
Tidy3dBaseModel
to.
Example
>>> simulation.to_yaml(fname='folder/sim.yaml')
- tree_flatten() Tuple[list, dict] #
How to flatten a
JaxObject
instance into a pytree.
- classmethod tree_unflatten(aux_data: dict, children: list) tidy3d.plugins.adjoint.components.base.JaxObject #
How to unflatten a pytree into a
JaxObject
instance.
- classmethod tuple_to_dict(tuple_values: tuple) dict #
How we generate a dictionary mapping new keys to tuple values for hdf5.
- 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
**kwargs
indicating updated field values.