ApproxFun.jl icon indicating copy to clipboard operation
ApproxFun.jl copied to clipboard

Support 3D problems

Open jwscook opened this issue 4 years ago • 5 comments

Hi Devs,

I was wondering if there is / will be support 3D operations? My problem is quite simple except that it's 3D.

Given knowledge of f(x, y, z), solve for output. Here a and b are just floating point numbers and the differential operators are d_dx.

output = (a + d_dx) \ (b + d_dx * d_dy * d_dz) f(x, y, z)

I'd really like to not have to write this myself. I imagine that it would have been done in the package if it's easy?

Thanks, James

jwscook avatar Oct 02 '19 16:10 jwscook

What geometry?

It will probably have to wait until the backend is moved over to InfiniteLinearAlgebra.jl and ContinuumArrays.jl

dlfivefifty avatar Oct 02 '19 17:10 dlfivefifty

Cylindrical geometry, with Dirichlet boundaries at the limits in the axial direction and at large radius. I'm not fussed if the azimuthal direction is Fourier, or otherwise, decomposed and I can build it up out of 2D solutions.

On Wed, 2 Oct 2019, 18:06 Sheehan Olver, [email protected] wrote:

What geometry?

It will probably have to wait until the backend is moved over to InfiniteLinearAlgebra.jl and ContinuumArrays.jl

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/JuliaApproximation/ApproxFun.jl/issues/680?email_source=notifications&email_token=ADWNA6XVNNEZ7NMTDN2CD4DQMTIHZA5CNFSM4I4Y3VEKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAFPIFA#issuecomment-537588756, or mute the thread https://github.com/notifications/unsubscribe-auth/ADWNA6QXOPML5MDSPC2HCNLQMTIHZANCNFSM4I4Y3VEA .

jwscook avatar Oct 02 '19 17:10 jwscook

The pieces are there: MultivariateOrthogonalPolynomials.jl has (derelict) support for OPs on disks. FastTransforms.jl has support for disk transforms. So it’s really about putting things together, but I don’t want to do this until the cleaner InfiniteLinearAlgebra.jl approach is fleshed out

dlfivefifty avatar Oct 02 '19 17:10 dlfivefifty

Hello! Is there any update on the status of this? I am running into errors when trying to operate on a 3D domain.

aml5600 avatar Dec 17 '20 14:12 aml5600

Nothing substantial but there's been an initial implementation of 3D Kronecker products in BlockKron, see final comment in

https://github.com/JuliaArrays/BlockArrays.jl/issues/49

Something I noticed is that your problem is not radially symmetric, is this correct? There are two bases for Disk OPs, Zernike polynomials and the basis found in Dunkl & Xu. The latter is probably easier to implement as it is closer to the Triangle case, which is pretty far along.

Note my focus right now is speeding up the building of operators on the triangle in a way that one can easily add disks, etc. and have them also be fast. This is moving slowly (the 3 week old baby isn't helping!)

dlfivefifty avatar Dec 18 '20 09:12 dlfivefifty