<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Mar 7, 2016 at 6:58 AM, Lukasz Kaczmarczyk <span dir="ltr"><<a href="mailto:Lukasz.Kaczmarczyk@glasgow.ac.uk" target="_blank">Lukasz.Kaczmarczyk@glasgow.ac.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
I run multi-grid solver, with adaptivity, works well, however It is some space for improving efficiency. I using hierarchical approximation basis, for which<br>
construction of interpolation operators is simple, it is simple injection.<br>
<br>
After each refinement level (increase of order of approximation on some element) I rebuild multigrid pre-conditioner with additional level. It is a way to add dynamically new levels without need of rebuilding whole MG pre-conditioner.<br></blockquote><div><br></div><div>That does not currently exist, however it would not be hard to add, since the MG structure jsut consists of</div><div>arrays of pointers.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Looking at execution profile I noticed that 50%-60% of time is spent on MatPtAP function during PCSetUP stage.<br></blockquote><div><br></div><div>Which means you are using a Galerkin projection to define the coarse operator. Do you have a direct way of defining</div><div>this operator (rediscretization)?</div><div><br></div><div>  Thanks,</div><div><br></div><div>    Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Kind regards,<br>
Lukasz</blockquote></div><br><br clear="all"><div><br></div>-- <br><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div>
</div></div>