dedalus icon indicating copy to clipboard operation
dedalus copied to clipboard

antidifferentiate is obsolete in d3

Open liamoconnor9 opened this issue 2 years ago • 10 comments

The antidifferentiate method in field.py hasn't been updated for use in d3. Daniel suggested it might not be possible to antidifferentiate in curvilinear bases. I'm going to update it for Fourier and Chebyshev

liamoconnor9 avatar Jun 23 '22 17:06 liamoconnor9

I think we have to think a little carefully about what we want this to actually do, since now in d3 there's lots more freedom around tau terms and the output basis. My preference would honestly be to remove it and let people define their own LBVPs if they need to do so for e.g. initial conditions, like we do for the balanced flow in the shallow water example. Do you have another use case for this?

kburns avatar Jun 23 '22 18:06 kburns

If we could get an Antidifferentiate operator class working with delayed operation, that would add some functionality. Do you think that's possible? If not, then I agree there's no real advantage beyond doing it manually with LBVP.

liamoconnor9 avatar Jun 23 '22 18:06 liamoconnor9

You mean to have it in an operator tree that's used during an IVP? The best route might be to update the GeneralFunction class and pass in an LBVP through that.

kburns avatar Jun 23 '22 18:06 kburns

To clarify, I do have a use case but only if we can get delayed evaluation working

liamoconnor9 avatar Jun 23 '22 18:06 liamoconnor9

You mean to have it in an operator tree that's used during an IVP? The best route might be to update the GeneralFunction class and pass in an LBVP through that.

Yep that's what I'm looking for! Thanks I'll try that out

liamoconnor9 avatar Jun 23 '22 18:06 liamoconnor9

Just ran back into this old issue. Should we remove the field.antidifferentiate() method so that it doesn't mislead?

bpbrown avatar Apr 24 '23 05:04 bpbrown

it would be great to be able to perform quick evaluations without creating objects (even if those objects are created autonomously behind the scenes).

On Mon, Apr 24, 2023 at 12:02 AM Ben Brown @.***> wrote:

Just ran back into this old issue. Should we remove the field.antidifferentiate() method so that it doesn't mislead?

— Reply to this email directly, view it on GitHub https://github.com/DedalusProject/dedalus/issues/209#issuecomment-1519386150, or unsubscribe https://github.com/notifications/unsubscribe-auth/ASZEVZ6GIGERKFL3WCF7WQLXCYCP7ANCNFSM5ZVGOPMA . You are receiving this because you modified the open/close state.Message ID: @.***>

liamoconnor9 avatar Apr 24 '23 15:04 liamoconnor9

I think the way to do this is really to wrap solving an LBVP in a GeneralFunction. I think we should add a docs page on General Functions and include this as an example, and remove the antidifferentiate method.

kburns avatar Apr 26 '23 18:04 kburns

I agree with Keaton.

On Wed, Apr 26, 2023, 14:21 Keaton J. Burns @.***> wrote:

I think the way to do this is really to wrap solving an LBVP in a GeneralFunction. I think we should add a docs page on General Functions and include this as an example, and remove the antidifferentiate method.

— Reply to this email directly, view it on GitHub https://github.com/DedalusProject/dedalus/issues/209#issuecomment-1523860575, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7SHYLO36DKGOZ5HMCLGCDXDFRT5ANCNFSM5ZVGOPMA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

jsoishi avatar Apr 26 '23 19:04 jsoishi

Removed in 0b0d1314a1fec92305dda4da11ef604b55a06ab1, but we should still add docs on GF+LBVP before closing.

kburns avatar Jun 20 '23 02:06 kburns