dedalus icon indicating copy to clipboard operation
dedalus copied to clipboard

Support multiple non-seperable dimensions and NCC

Open jjaraalm opened this issue 3 years ago • 5 comments

I'd like to solve a 2D eigenvalue problem with non-constant coefficients, and as far as I can tell, the first step in this direction is to allow multiple non-separable directions. I'm imagining that there could be N-M separable directions and the last M are non-separable and process-local. Each Pencil() would really then be acting on the local M dimensions. This wouldn't be highly parallelized, and the operators might be denser(?), but I don't particularly mind. I can always offload the actual eigensolve to SLEPc or similar. I don't think there are any fundamental issues here, but I might be wrong.

jjaraalm avatar Dec 03 '20 19:12 jjaraalm

Yes that's all correct, and indeed we're working on a major rewrite (in the "d3" branch) that supports multiple coupled dimensions, among many other new features. The non-trivial part, though, turns out to be enforcing boundary conditions because of the possibility of corner singularities. We've mostly been focusing on other things at the moment (disks and spheres), but I can update the scripts there with some 2D EVP examples soon and link them back here.

kburns avatar Dec 03 '20 21:12 kburns

That would be great, thanks!

jjaraalm avatar Dec 03 '20 23:12 jjaraalm

@kburns do you know if this is working yet? Thanks!

jjaraalm avatar Dec 17 '20 21:12 jjaraalm

Is there any news on this front? I would also be very interested in using Dedalus for similar purposes (eigenvalue problems in dimension d > 1 with non-constant coefficients). Any pointer (or better example) would be greatly appreciated!

zorvesfa avatar Oct 30 '21 20:10 zorvesfa

With #185, we have support for EVPs in the spherical shell that depend on both radius and latitude.

kburns avatar May 31 '22 15:05 kburns

With #219, multidimensional NCCs are supported in Cartesian domains, allowing for multidimensional LBVPs, EVPS, and NLBVPs. Additional multidimensional NCC implementations are being tracked in #188.

kburns avatar Sep 16 '22 15:09 kburns