fdtdx.boundary_objects_from_config

fdtdx.boundary_objects_from_config#

fdtdx.boundary_objects_from_config(config, volume)[source]#

Creates boundary objects from a boundary configuration.

Creates PerfectlyMatchedLayer, BlochBoundary, PerfectElectricConductor, or PerfectMagneticConductor objects for all six boundaries (min/max x/y/z) based on the provided configuration. Also generates position constraints to properly place the boundary objects relative to the simulation volume.

Parameters:
  • config (BoundaryConfig) – Configuration object containing boundary parameters

  • volume (SimulationVolume) – The main simulation volume object that the boundaries will surround

Returns:

tuple containing:
  • dict mapping boundary names (‘min_x’, ‘max_x’, etc) to boundary objects

  • list of PositionConstraint objects for placing the boundaries

Return type:

tuple[dict[str, AnyBoundary], list[PositionConstraint]]