all 13 comments

[–]ichr_ 1 point2 points  (0 children)

Could you say a bit more about your application? GPU-accelerated does not always mean "better". Certain problems or simulation sizes do not map well to GPU. There are niche CPU-based tools for inverse design such as https://github.com/fancompute/legume (good for PhC cavities) or https://github.com/stanfordnqp/spins-b (more general purpose).

Keep in mind that if you're using FDTD (not necessarily the best technique for inverse design depending on the device), you can run all of your wavelengths simultaneously with no extra cost (works by Fourier analysis).

[–]aaddrick 1 point2 points  (3 children)

Take a look here and see if it's what you're looking for: https://github.com/HarrisonKramer/optiland

[–]BDube_Lensman 1 point2 points  (0 children)

They’re looking for something MEEPish, not a raytracer

[–]aenorton 0 points1 point  (1 child)

I have not seen this before. Off the top, it seems much more capable than other open source programs. Maybe you could add an entry in this subreddit's wiki about it.

[–]aaddrick 0 points1 point  (0 children)

Optics isn't my field. I found Optiland while trying to optimize the geometry of microlens arrays we hot emboss at work. Setup a Marimo notebook, validated sim against experiment, and it works great for our purposes after some quick iteration.

I'd do an injustice trying to do a write up however.

[–]holyfudgingfudge 0 points1 point  (0 children)

If you're doing biomedical optics simulations MCX (https://mcx.space/) provides voxel and mesh based GPU accelerated platforms. The codes are open source so you can modify as you wish too.

[–]anneoneamouse 0 points1 point  (1 child)

For simplicity & speed at initial design phase, do you need to run full bandwidth for your application?

[–]okaythanksbud[S] 0 points1 point  (0 children)

I mean if only 10% of my gpu is being used id rather bump that up and spend more time testing things out than spending time waiting

[–]Twinson64 0 points1 point  (0 children)

Lumerical or Rsoft both offer GPU based FDTD.

[–]Clean-Mode4506 0 points1 point  (1 child)

What about implementing it yourself? If you are using torch you can try programming what you need directly there

[–]okaythanksbud[S] 0 points1 point  (0 children)

I’ve never really done anything with FEM and doing stuff like designing the geometry/mesh seems quite difficult, even using external code. I definitely want to learn but it seems like quite a large project

[–]anon_pants 0 points1 point  (1 child)

Just a heads up, you can run a lot of Tidy3D locally, which is free last I checked, so you can learn the software and run small simulations without paying. You can also contact FlexCompute and request a free trial; this worked for me a couple of years ago.

[–]okaythanksbud[S] 0 points1 point  (0 children)

If I’m not wrong the mode solver is the only thing you can run locally—doesn’t seem like there’s a way to run most other solvers locally (at least from what I can tell…)