On 10/20/17 7:57 AM, Matthew Knepley wrote:
I am confused by some of the terminology in TS. At the top level, IFunction appears to mean the entire equation

   F(u, u_t, x) = 0

Matt, page 141 of the manual: F(t, u, u_t) = G(t, u), and not zero on the RHS side. To make the interface general we allow internally for F:= F(t, u, u_t) - G(t, u) and then F=0.

Emil

PS: Manual: PETSc 3.8 September 26, 2017

However, this appears to mean something different than ifunction at the function pointer level. Inside TSCompiteIFunction(), it uses both ifunction and rhsfunction. This makes it hard to understand how composition works. TSComputeRHS() is called inside TSComputeIFunction(), so if we want to reuse vectors it should not initialize the vector, but it seems like TSComputeIFunction() should initialize the vector since TSComputeIFunctionLocal() does.

What guarantees about initialization should we have?

    Matt

--
What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
-- Norbert Wiener

https://www.cse.buffalo.edu/~knepley/ <http://www.caam.rice.edu/~mk51/>

Reply via email to