On 9/18/07, Matthew Knepley <knepley at gmail.com> wrote:
> I can accept that the user might have to change the function. However, if we
> cannot swap methods in the way we can swap KSP or SNES, what is the value
> for the user?

For me, having a consistent, generic TS interface that just save me to
write the time-step loop, and where I can set 'hooks' for pre/post
solve/step and make timestep control, it really great.

I already have the code completelly defining the complete
function/Jacobian (derivative term/mass matrix all included in the
inner FEM computation), but then current TS implementations does not
support my code, as it is forcing me to setup my problem as it where
dU/dt=F(U), and that just does not fit my formulation. I believe other
PETSc users solving transient problems have the same problem, and then
never used TS and wrote his/her own time-loop.

> That is the point I am trying to make. I can see how to do many
> FD methods if I have the identity, but see no approach to FEM. So maybe we
> can be more specific about:
>
>   a) What class of methods we can support interchangably

Perhaps very few, or even none. In specialized FEM formulations, you
have to think your time-step problem as a algebraic nonlinear problem,
where you need to solve for U^{n+1}, and some space operators are
influenced by the time discretization.

There are other problems where you just cannot easy guess the way to
alleviate the user. Pressure-splitting methods in incompressible CFD
have to be solved at each time level with SNES/KSP combinations for
momentum and pressure updating. And those formulations are really
different to a monolithic, saddle-point like, formulation.

So I really doubt we can be able to alleviate all users from having to
write the code for advancing solution in each timestep. But TS can
provide the time-looping management in a consistent way.

>   b) What interface is necessary to support these methods

At the very high-level, TS would be in charge of doing the
time-looping. Particular type implementations should just have to deal
on how to update the solution at each time step (not sure if this is
possible with some external packages like sundials).

Perhaps TS will also need a new inner object (like KSP has PC, or SNES
has KSP) to deal with the more low-level details of particular
time/space discretizations. As you can see, I do not have (like you) a
clear idea of who to define a inteface for this.


-- 
Lisandro Dalc?n
---------------
Centro Internacional de M?todos Computacionales en Ingenier?a (CIMEC)
Instituto de Desarrollo Tecnol?gico para la Industria Qu?mica (INTEC)
Consejo Nacional de Investigaciones Cient?ficas y T?cnicas (CONICET)
PTLC - G?emes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594


Reply via email to