-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
time domain #4
Comments
I could probably implement something similar to photontorch, but personally i'd like a better implementation. That said. I think it could be a good starting point. I'll give it a go one of the coming days/weeks when I find the time. |
Here is some ideas https://github.com/joamatab/awesome_photonics |
in particular this repo has a time domain for electronics https://github.com/TeledyneLeCroy/SignalIntegrity |
Hi, Is there any progress on this? |
Hi @ChrisDaunt1984 , Photontorch is basically in maintenance mode, I kind of like the SAX approach better (sparse by default, swappable backends, ...). It also integrates better with GDSFactory. To be honest, I currently don't have the time to work on this, but I have some ideas on how to best implement a simple version (just like the photontorch one). I of course don't know your schedule but if you'd like to implement something like this for SAX, I can give you some guidance and I'd happily give you ownership over it 😉 Let me know if you're interested. |
Hi @flaport OK, if photontorch is in limbo, then probably best not to invest time into it. I looked at the implementation and I think I can follow what's going on (just). Currently, our scipy/numpy solution works and integrates with SignalIntegrity. Pete will actually demo it at ECOC so I'm am not under immediate pressure, but I am kind of unsatisfied with the scalability so looking at other options. Id like to say that I have the time and am interested but realistically, I won't have the time either until after November. Saying that, I am interested in working on this (or contributing where I can) |
sounds good! I'll ping you in November 🙂 |
Hey @ChrisDaunt1984, @flaport, @joamatab, |
Hey @Jan-David-Black |
Now that we have schematic driven layout it would be great to interface with signalIntegrity, which is time domain capable |
Hi @Jan-David-Black , This issue has not been touched. Feel free to pick it up! |
Time domain models for memory container blocks JAX may have a better way to do this |
Hello @joamatab, There is a project in the CamachoLab where they are trying to write Simphony in JAX, and add time domain stuff |
Hi Reading up on JAX related things a bit more and seeing what is available. Most of these "memory" artifacts are usually handled by tracking some form of internal state vs time (charge, temperature, energy... etc). In the case of Caphe and PhotonTorch (I believe) or Verilog-A for electronics, this is handled by numerically integrating an ODE for each time step. JAX seems to already have at least an experimental ode solver in place which looks like it could be used https://github.com/google/jax/blob/main/jax/experimental/ode.py Alternatively, I like the look of https://github.com/patrick-kidger/diffrax where one can step through the integration allowing the input and output optical/electronic signals at the circuit nodes to be updated at each time step |
Indeed, tracking an internal state and integrating over it is the default way of tackling such time dependent problems. Diffrax seems to be almost exactly what we need for this. Good find! I'll have to play around a bit with it to get to know it a bit better :) |
How could we add time domain simulations to SAX?
similar to photontorch
The text was updated successfully, but these errors were encountered: