This library provides a Python platform for generating and analysing random photonic networks.
Please refer to the examples
directory for demonstrations of common use cases.
complex_network/
βββ components/
β βββ component.py # Base class for network components
β βββ link.py # Waveguides that connect nodes
β βββ node.py # Junction points in the network
βββ materials/
β βββ dielectric.py # Dielectric material properties
β βββ material.py # Base class for optical material properties
β βββ refractive_index.py # Refractive index dispersion
βββ networks/
β βββ network_factory.py # Network generation methods
β βββ network_perturbator.py # Network perturbation methods
β βββ network_spec.py # Pre-generation network parameters
β βββ network.py # Core network class
β βββ pole_calculator.py # Methods for analysing scattering resonances
βββ scattering_matrices/
β βββ link_matrix.py # Methods for link scattering matrices
β βββ node_matrix.py # Methods for node scattering matrices
βββ ensemble.py
βββ hdf5ensemble.py
βββ utils.py
See environment.yml
for a list of required packages.