[firedrake] possible lazy evaluation issue?
Colin Cotter
colin.cotter at imperial.ac.uk
Wed Jul 15 20:16:40 BST 2015
Dear Firedrakers,
I encountered some spooky behaviour when doing some things with
handtooled kernels. It's in the following code:
https://gist.github.com/colinjcotter/85106d0f11e2f7c93ede
Sorry that there is so much. The point is that the function limit_slope
(which does several things including executing some handtooled kernels) is
(I claim) idempotent, however, on line 217, I call it on u0, then assign u0
to u1 in line 218. Then I call limit_slope on u1 in line 219. If I comment
out line 219, I get different behaviour, in particular the bounds that are
printed out go above 1.0 and below 0.0 on occasion.
It seems like the assign is occurring before some of the kernels (or
perhaps the final project) are executed in limit_slope.
Any thoughts?
cheers
--cjc
--
http://www.imperial.ac.uk/people/colin.cotter
www.cambridge.org/9781107663916
-------------- next part --------------
HTML attachment scrubbed and removed
More information about the firedrake
mailing list