ML's multigrid
Thomas Geenen
geenen at gmail.com
Sun Mar 23 02:46:43 CDT 2008
dear Petsc users,
I am using the AMG from ML as a preconditioner to CG. I am looking at the
scaling characteristics of different parts of the preconditioner (some rough
timings). To this end I have put some timing calls in ml.c.
now when i run the code and the solver is called for the first time i can see
that indeed the ML routines are called in particular PCSetUp_ML.
In this routine a considerable amount of time is spend in the aggregation and
interpolation operator construction (as expected). However the second time
the solver is called this routine is no longer called. This seems to be
inconsistent with the concept of AMG where the coarse grids and interpolation
operators have to be constructed again when the matrix has changed (due to
changing material properties as a function of time for instance).
Destroying the preconditioner after each solve seems a waste of resources
especially since in PCSetUp_ML , there are options to reuse datastructures.
pc-setupcalled, reuse etc.
are the aggregation and interpolation comstruction routines called from a
different part in the code?
ML_Gen_MGHierarchy_UsingAggregation(ml_object,0,ML_INCREASING,agg_object);
seems to be called only from PCSetUp_ML.
cheers
Thomas
More information about the petsc-users
mailing list