tidy3d.plugins.design.DesignSpace#
- class DesignSpace[source]#
- Bases: - Tidy3dBaseModel- Specification of a design problem / combination of several parameters + algorithm. - Parameters:
- parameters (Tuple[Union[ParameterInt, ParameterFloat, ParameterAny], ...] = ()) โ Set of parameters defining the dimensions and allowed values for the design space. 
- method (Union[MethodMonteCarlo, MethodGrid, MethodRandom, MethodRandomCustom]) โ Specifications for the procedure used to explore the parameter space. 
- name (Optional[str] = None) โ Optional name for the design space. 
 
 - Example - >>> import tidy3d.plugins.design as tdd >>> param = tdd.ParameterFloat(name="x", span=(0,1)) >>> method = tdd.MethodMonteCarlo(num_points=10) >>> design_space = tdd.DesignSpace(parameters=[param], method=method) >>> fn = lambda x: x**2 >>> result = design_space.run(fn) >>> df = result.to_dataframe() >>> im = df.plot() - Attributes - Mapping of design parameter name to design parameter. - dimensions defined by the design parameter names. - method- Defines the methods used for parameter sweep. - Methods - get_fn_source(function)- Get the function source as a string, return - Noneif not available.- run(function,ย **kwargs)- Run the design problem on a user defined function of the design parameters. - run_batch(fn_pre,ย fn_post[,ย path_dir])- Run a design problem where the function is split into pre and post processing steps. - parameters#
 - method#
 - name#
 - property dims#
- dimensions defined by the design parameter names. 
 - property design_parameter_dict#
- Mapping of design parameter name to design parameter. 
 - static get_fn_source(function)[source]#
- Get the function source as a string, return - Noneif not available.
 - run(function, **kwargs)[source]#
- Run the design problem on a user defined function of the design parameters. - Parameters:
- function (Callable) โ Function accepting arguments that correspond to the - .namefields of the- DesignSpace.parameters.
- Returns:
- Object containing the results of the design space exploration. Can be converted to - pandas.DataFramewith- .to_dataframe().
- Return type:
- Result
 
 - run_batch(fn_pre, fn_post, path_dir=None, **batch_kwargs)[source]#
- Run a design problem where the function is split into pre and post processing steps. - Parameters:
- fn_pre (Callable[Union[SimulationData, List[SimulationData], Dict[str, SimulationData]], Any]) โ Function accepting arguments that correspond to the - .namefields of the- DesignSpace.parameters. Returns either a- Simulation, list of- Simulation`s or a `dictof :class:`.Simulation`s to be run in a batch.
- fn_pre โ Function accepting the - SimulationDataobject(s) corresponding to the- fn_preand returning the result of the parameter sweep function. If- fn_prereturns a single simulation, it will be passed as a single argument to- fn_post. If- fn_prereturns a list of simulations, their data will be passed as- *args. If- fn_prereturns a dict of simulations, their data will be passed as- **kwargswith the keys corresponding to the argument names.
- path_dir (str = None) โ Optional directory in which to store the batch results. 
 
- Returns:
- Object containing the results of the design space exploration. Can be converted to - pandas.DataFramewith- .to_dataframe().
- Return type:
- Result
 
 - __hash__()#
- Hash method.