tidy3d.plugins.invdes.InverseDesignMulti#

class InverseDesignMulti[source]#

Bases: AbstractInverseDesign

InverseDesign with multiple simulations and corresponding postprocess functions.

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 from web functions.

  • 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.

  • simulations (tuple[Simulation, …]) – Set of simulation without the design regions or monitors used in the objective fn.

  • output_monitor_names (Optional[tuple[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 example FieldMonitor instances with .colocate != False.

Attributes

designs

List of individual InverseDesign objects corresponding to this instance.

task_names

Task names associated with each of the simulations.

simulations

output_monitor_names

design_region

task_name

verbose

metric

Methods

to_simulation(params)

Convert the InverseDesign to a corresponding dict of ``td.Simulation``s.

to_simulation_data(params, **kwargs)

Convert the InverseDesignMulti to a set of ``td.Simulation``s and run async.

simulations#
output_monitor_names#
property task_names#

Task names associated with each of the simulations.

property designs#

List of individual InverseDesign objects corresponding to this instance.

to_simulation(params)[source]#

Convert the InverseDesign to a corresponding dict of ``td.Simulation``s.

to_simulation_data(params, **kwargs)[source]#

Convert the InverseDesignMulti to a set of ``td.Simulation``s and run async.