hello fipy developers & experts, thanks much for making fipy available. it looks to be a very useful and thorough tool.
i am interested in trying to apply it to some nonlinear equation sets (best case, something analogous to the compressible navier-stokes equations). i see ticket 45 has some (old?) discussion about n.s. (status: assigned, version: next release), but couldn't find any details; the mail archive doesn't look to have any related threads. if this ticket is not currently under continuing development, do you have any thoughts on the feasibility? (i did definitely see the caveats listed in the stokes flow example case, but didn't see any examples that showed "you can't solve this form...", or "you would need to modify this routine..." ). i pulled a recent fipy from your svn server. i've looked a bit at the vanleer convection term. the source code (inputVanLeerUpwind.py) references the url: http://www.gre.ac.uk/~physica/phy2.12/theory/node173.htm which i believe no longer exists. i think the term is using a minmod limiter, but i could not match it up with those listed, e.g. at http://en.wikipedia.org/wiki/Flux_limiter. if you think that the implementation may need some review, i would be happy to look in detail at it (but see also below); do you have another reference to the implementation? for the square wave advection test case, the example code mentions: "Currently after 20 steps the wave has lost 23% of its height. Van Leer should do better than this." i've done some parametrics for advection for both the square wave & a sin wave. for both cases, the term conserves speed in the domain, while showing reasonable conservation of energy (speed**2). the (rate of) energy loss can be minimized for a suitably large number of grid points (several times greater than used in the example case). (though, as expected the square wave requires many more than the sin wave for the same error). the sin wave also shows there are no noticeable dispersion errors. i'd be happy to send you these cases, if they would be useful to you in testing or for documentation. i have done some quick testing on various forms of the burger equation. i find good results as expected for the linear forms, but i am having some difficulty figuring out the best way to handle the nonlinear form (or even figuring out if such an equation is suitable for fipy). the general things i may ultimately be trying to do are probably analogous to the caveats listed in the stokes flow writeup, so i'd be happy to contribute anything i learn in my testing to the effort. i looked a bit at trilinos - it looks to be a good tool, but i assume the learning curve is rather large. my other option would probably be to code up a simple explicit vintage maccormack scheme (don't know whether that would be something that could be abstracted enough to be useful to fipy). thanks in advance for any information you can provide, dean w.
