tidy3d.plugins.invdes.InverseDesign#
- class InverseDesign[source]#
Bases:
AbstractInverseDesignContainer for an inverse design problem.
- Parameters:
design_region (
TopologyDesignRegion) – Region within which we will optimize the simulation.task_name (str) – Task name to use in the objective function when running the
JaxSimulation.verbose (bool = False) – If
True, will print the regular output fromwebfunctions.metric (Optional[Union[Union[
Add,Subtract,Multiply,Divide,Power,Modulus,FloorDivide,MatMul,Negate,Abs], Union[Sin,Cos,Tan,Exp,Log,Log10,Sqrt], Union[Constant,Variable,ModeAmp,ModePower]]] = None) – Serializable expression defining the objective function.simulation (
Simulation) – Simulation without the design regions or monitors used in the objective fn.output_monitor_names (Optional[tuple[str, ...]] = None) – Optional names of monitors whose data the differentiable output depends on.If this field is left
None, the plugin will try to add all compatible monitors automatically. While this will work, there may be warnings if certain monitor types are not fully supported, for exampleFieldMonitorinstances with.colocate != False.
Attributes
design_regiontask_nameverbosemetricMethods
is_output_monitor(monitor)Whether a monitor is added to the
JaxSimulationas anoutput_monitor.separate_output_monitors(monitors)Separate monitors into output_monitors and regular monitors.
to_simulation(params)Convert the
InverseDesignto a correspondingtd.Simulationwith traced fields.to_simulation_data(params, **kwargs)Convert the
InverseDesignto atd.Simulationand run it.- simulation#
- output_monitor_names#
- is_output_monitor(monitor)[source]#
Whether a monitor is added to the
JaxSimulationas anoutput_monitor.
- separate_output_monitors(monitors)[source]#
Separate monitors into output_monitors and regular monitors.