(Ignore the message earlier, I accidently hit send early)
(Summary "TL;DR" at the end of the mail)

Dear FiPy users and developers,

I am currently solving a wider range of problems with FiPy and really like
the package. I sincerely appreciate the work put into writing FiPy.
However, solving even 2D problems can be rather slow, but I noticed some
common traits in my simulations: Timestep, mesh and boundary conditions
rarely or never change during a simulation run, thus the system matrix of
the resulting equation system doesn't change. FiPy however creates the
system matrix and does the LU decomposition (or another solver of course)
at every time step.
Instead it would be much more efficient to give an option in the solver to
use the previous LU-decomposition for the new time step and only update the
right hand side of the equation at every time step.

I started implementing a solver which reuses the previously done
LU-decomposition. This already works without any modifications to the rest
of the FiPy code. The construction of the system matrix and right hand side
however required me to modify some of the existing modules. Furthermore I
would like to use cython to further speed up critical loops and
calculations, which would further change some "core" FiPy modules and
handling... In the end I think it is really worth it, considering I can see
an up to a ~100 times speed up for simulations under the above mentioned
conditions.

I would appreciate contact to anyone who has developer experience with FiPy
to discuss my implentations to keep them in line of the structure of the
FiPy project/code.

Have a nice day.

Cheers

Oliver Haas


TL;DR: I might have significant improvements to FiPy and I am implementing
right now. I would like to have contact to some experienced developers of
FiPy to decide about the structure of my contributions.
_______________________________________________
fipy mailing list
[email protected]
http://www.ctcms.nist.gov/fipy
  [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]

Reply via email to