Mark,

I tried to reset every-time: the number of iterations is now constant during the whole simulation! I tried GMG instead of AMG as well: it works in this case too, so the trick was to reset the ksp object each time. As you predicted, each solve takes longer since the ksp has to be setup again. I noticed that the time increase is larger than 2x, particularly for large grids.
I need to optimize the solve now, maybe by resetting only when needed.
Could you help me with that please?

Thanks,
Michele

On 05/28/2014 07:54 PM, Mark Adams wrote:



On Mon, May 26, 2014 at 12:20 PM, Michele Rosso <[email protected] <mailto:[email protected]>> wrote:

    Mark,

    thank you for your input and sorry my late reply: I saw your email
    only now.
    By setting up the solver each time step you mean re-defining the
    KSP context every time?


THe simplest thing is to just delete the object and create it again. THere are "reset" methods that do the same thing semantically but it is probably just easier to destroy the KSP object and recreate it and redo your setup code.

    Why should this help?


AMG methods optimized for a particular operator but "stale" setup data often work well on problems that evolve, at least for a while, and it saves a lot of time to not redo the "setup" every time. How often you should "refresh" the setup data is problem dependant and the application needs to control that. There are some hooks to fine tune how much setup data is recomputed each solve, but we are just trying to see if redoing the setup every time helps. If this fixes the problem then we can think about cost. If it does not fix the problem then it is more serious.

    I will definitely try that as well as the hypre solution and
    report back.
    Again, thank you.

    Michele


    On 05/22/2014 09:34 AM, Mark Adams wrote:
    If the solver is degrading as the coefficients change, and I
    would assume get more nasty, you can try deleting the solver at
    each time step.  This will be about 2x more expensive, because it
    does the setup each solve, but it might fix your problem.

    You also might try:

    -pc_type hypre
    -pc_hypre_type boomeramg




    On Mon, May 19, 2014 at 6:49 PM, Jed Brown <[email protected]
    <mailto:[email protected]>> wrote:

        Michele Rosso <[email protected] <mailto:[email protected]>> writes:

        > Jed,
        >
        > thank you very much!
        > I will try with ///-mg_levels_ksp_type chebyshev
        -mg_levels_pc_type
        > sor/   and report back.
        > Yes, I removed the nullspace from both the system matrix
        and the rhs.
        > Is there a way to have something similar to Dendy's
        multigrid or the
        > deflated conjugate gradient method with PETSc?

        Dendy's MG needs geometry.  The algorithm to produce the
        interpolation
        operators is not terribly complicated so it could be done,
        though DMDA
        support for cell-centered is a somewhat awkward.  "Deflated
        CG" can mean
        lots of things so you'll have to be more precise.  (Most
        everything in
        the "deflation" world has a clear analogue in the MG world,
        but the
        deflation community doesn't have a precise language to talk
        about their
        methods so you always have to read the paper carefully to
        find out if
        it's completely standard or if there is something new.)





Reply via email to