[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-patch-tracker] [patch #7929] Partial Differential Equation Solve

From: Mark Wistrom
Subject: [Octave-patch-tracker] [patch #7929] Partial Differential Equation Solver in two dimensions
Date: Thu, 07 Feb 2013 00:42:06 +0000
User-agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17

Follow-up Comment #9, patch #7929 (project octave):

Thank you for your time looking this over. It is excellent feedback. I will
address most if not all of your comments and concerns. First a couple of
overall comments.

1. The mathematics of the implementation. When I first looked at the problem,
I thought it would be easy if not trivial. The more I looked into it, the more
I realized why this had not been done before. The paper it is based on takes
some time and effort to get up to speed and is a little opaque. I think I have
the proper mathematics in place based on the testing that I have done. It
agrees with Matlab in most cases, and in the Singularity case the error
"looks" right. i.e. it scales nicely as n^-2, is smooth with no large jumps,
and is better than Matlab's.

2. The "trivial remarks" that you have made are valid and probably not
trivial. I will work on them. 

3. Code duplication. Yes, there is code duplication. I put that in there as
part of prototyping the functionality to ensure I was making head way. I'll
address that.

4. Performance. It is slow. I know. I used the profiler (That thing is pretty
nice BTW), and the loop where the user function is called to build the vectors
is causing the problem, which is what you would expect. I see two issues: 1.
The call into the user function is per each finite element at each time step.
If the user function were passed in the vector of values for x,u,dudx and
returned a vector, that speeds things up at the expense of being different
from Matlab's implementation.  2. The loop itself could be compiled.

5. Matlab's pdepe is said to solved parabolic AND elliptic equations (at least
one needs to be parabolic). I haven't tested the elliptic part of the my code.
My code sets up the equations and then kicks off daspk (Matlab uses ode15s) to
do the time integration. So I'm not really sure what to do here. Document
things most likely.

I'll make code changes and post back with specific answers.

Thanks again,


Reply to this item at:


  Message sent via/by Savannah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]