Signals: ☑️
Point and mode sources: ☑️
Rasterization with sub-pixel smoothing: ☑️
I am pretty sick though and have other duties so I'll continue on the weekend. 🧟♂️
It's quite fun and a nice learning experience to work on a larger project like this where there are so many features.
I have implemented FDTD sims and adjoint solvers before. You can do it very quickly and easily for specific problems. But you pay with time as soon as you are trying to do something more complex or want to set up a new design. So now, I am taking the time to really develop the individual modules and workflow so that simulating photonic devices becomes a sprint rather than a debugging marathon.
Interesting problem to improve sometime: The rasterization is very slow for large collections of structures. Scattering makes it impossibly slow. Basically the same reason for why regions are chunked for ray tracing. Or why regions are chunked for collision detection. But since it is pretty much instant as long as we don't scatter hundreds of particles, it is fine for now.
My babies are getting so smart, it's freaking me out.
I was looking forward to using GA or bayesian optimisation to find a sweet set of parameters, but hand-tuning is giving scarily good results. I cant stop watching!
(No global coordinator, all acting entirely on local cues)
@humphilomath Still haven't pushed the official next release but it will be a big one, finally making beamz an actual high accuracy, high performance tool for photonics. 👍
should've bought some photonics stocks when I first saw this video.. anyway this is a photonic integrated circuit chip from a 1.6T DWDM transceiver module by Infinera (2 wavelengths x 2 polarizations (DP-64QAM) x 96 GBaud), and I'll make some guess on what is going on on this PIC.
before I start, you can zoom in onto the edges and see the facets were cleaved... (the year was already ~2020)
(image credit: https://t.co/kYtiLWRrhn)
This a computer, and you likely own one. It's a hydraulic analog computer.
It’s essentially a machined analog computer that computes with fluid instead of electronics: pump pressure is routed through passages that act like wires, while spool valves, springs, orifices, and check balls perform the equivalents of comparators, logic gates, delays, and one-way elements.
What it “calculates” is the machine’s current operating state, whether conditions have crossed a threshold to justify changing state, how strongly to apply each output, and how quickly to make that transition without instability or shock.
It does this by continuously balancing forces—pressure on different valve areas against spring preload and feedback pressure—so each valve shifts only when one hydraulic condition outweighs another, while restrictions and chambers add timing and smoothing.
In plain English, it is a real-time fluidic state machine that solves “if this pressure is greater than that one, route flow here; otherwise hold, delay, soften, or override” entirely through geometry and oil.
They're used in every car with an automatic transmission, where it makes choices like what gear to be in and how hard to apply clutches, etc....
And some dude worked it all out on paper back in the 1960s.
Trying Beamz FDTD engine, This is my first experience using a script-driven solver after GUI only. It has a lot of potential, very modular and intuitive.
@QuentinWach
https://t.co/P6XXHfLjUf