Added features for Simphony models to be able to compute their co-ordinates. This is particularly useful for layout-aware simulations, which depend on the usage of component co-ordinates to generate samples. Also added method to check for intersecting components (Waveguides are ignored, however).
Major changes:
Methods added to simulation.py
method to update co-ordinates based on connections
method to check for intersecting components
method to randomly re-arrange components
method to generate correlated samples
method for layout-aware computations
Methods and attributes added to models.py
attributes for pin co-ordinates, polygons for each component, component origin
method to update pin co-ordinates and/or origin
methods to fix/unfix components in the circuit layout
Minor changes:
Pin co-ordinates added to every SiEPIC component class
Added "shapely" dependency
Changes from my previous pull request for layout-aware computations
Added features for Simphony models to be able to compute their co-ordinates. This is particularly useful for layout-aware simulations, which depend on the usage of component co-ordinates to generate samples. Also added method to check for intersecting components (Waveguides are ignored, however).
Major changes:
simulation.py
models.py
Minor changes: