fdtdx.place_objects

Contents

fdtdx.place_objects#

fdtdx.place_objects(object_list, config, constraints, key)[source]#

Places simulation objects according to specified constraints and initializes containers.

Parameters:
  • objects (list[SimulationObject]) – List of all simulation objects, including the simulation volume.

  • config (SimulationConfig) – Simulation configuration.

  • constraints (Sequence[Constraint]) – List of positioning/sizing constraints referencing object names.

  • key (jax.Array) – JAX random key for initialization.

Returns:

A tuple containing:
  • ObjectContainer with placed simulation objects

  • ArrayContainer with initialized field arrays

  • ParameterContainer with device parameters

  • Updated SimulationConfig

  • Dictionary with additional initialization info

Return type:

tuple[ObjectContainer, ArrayContainer, ParameterContainer, SimulationConfig, dict[str, Any]]

Raises:

ValueError – If constraint resolution fails for one or more objects.