Co-simulation of optical and electronic systems is an important topic, one which I worked on the summer after my first year, under Prof. Smy.
An ideal simulation for optics would solve Maxwell’s equations, but the tiny time steps needed for full accuracy would be incompatible with the comparatively large time steps of an electrical system.
Instead, we simulate the EM wave envelope, which changes at the same timescale as the rest of the electronic circuitry. The envelope $A$ propagates according to the rather messy differential equation
$ \frac{\partial A}{\partial z} + \frac{\alpha}{2}A + \beta_1\frac{\partial A}{\partial t} + \frac{i}{2}\beta_2\frac{\partial^2 A}{\partial t^2} = i\gamma|A^2|A$
As part of a team of 3, I developed a matlab simulator that models the EM waves in waveguides and fibers, first based on split-step Fourier methods, and then based on dispersionless differential equation propagation.
The model included coupling between forward and reverse modes, as well as reflection and transmission at the ends of the waveguide. We verified the model adequately modeled solitons, and even implemented and tested an interference based switch in the model by adjusting the waveguides parameters (in a real circuit, a waveguide’s index of refraction can be tuned by applying a voltage or by changing the temperature).
Later, I programmed a small SPICE simulator based on Modified Nodal Analysis, including optical sources and detectors.