I'm confirming that the fix worked. What had required 57 minutes now takes only a bit over 3.5.<br><br>Thanks very much!<br><br>--John<br><br><br><div class="gmail_quote">On Sat, May 28, 2011 at 10:19 AM, Christophe Geuzaine <span dir="ltr"><<a href="mailto:cgeuzaine@ulg.ac.be">cgeuzaine@ulg.ac.be</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><br>
To the list: these performance issues should be fixed in SVN. If you use global quantities please le us know if you encounter any problems with the new version.<div><div></div><div class="h5"><br>
<br>
<br>
<br>
On 27/05/11 08:33, Christophe Geuzaine wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Hi John - Thanks for the feedback. The two issues you mention (slow<br>
generation of GroupsOfNodesOf and slow assembly) are indeed known, but<br>
seem to be especially bad in your case. How many nodes do you have on<br>
the floating potential surfaces?<br>
<br>
<br>
On 25/05/11 17:54, John_V wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I am using GetDP to calculate the potential in a 3D geometry of mixed<br>
conductors and insulators. The calculation is repeated frequently with<br>
different charge distributions, so CPU time is important. Even though my<br>
mesh has ~400k nodes, with some experimenting I have been able to get<br>
good solutions in about 90 seconds, provided all the conducting surfaces<br>
have Dirichlet boundary conditions.<br>
<br>
I need also to be able to deal with floating conductors, however. My<br>
first attempt at this was to treat the floating conductor as if it were<br>
a dielectric with very large dielectric constant. The problem with this<br>
approach is that it degrades the condition of the matrix. I have to use<br>
the ILUP preconditioner (~12 minutes to compute) instead of the faster<br>
ILU0 one (0.3 seconds).<br>
<br>
The discussion of floating potentials in the manual gave me hope of a<br>
better alternative. Bernhard Kubicek's "Capacitor2D" example on the Wiki<br>
showed the way, The method is very elegant, based I think on basis<br>
functions for groups of nodes as described in the paper by Dular,<br>
Legros, and Nicolet in IEEE Trans. Magnet. 34 (1998). I have implemented<br>
this for my 3D geometry.<br>
<br>
As I hoped, doing it this way let me return to the fast ILU0<br>
precondition. However, time gained here is lost elsewhere. Execution<br>
times are VERY large. It requires a total of 57 minutes CPU time for<br>
this method on my mesh.<br>
<br>
The two largest contributors to the 57 minutes are preprocessing<br>
(especially generating GroupsOfNodesOf, 27.5 minutes) and generating the<br>
system of equations (29 minutes).<br>
<br>
What is GetDP doing during all that time? Are these operations<br>
inherently this time-consuming?<br>
<br>
John<br>
<br>
<br>
<br>
_______________________________________________<br>
getdp mailing list<br>
<a href="mailto:getdp@geuz.org" target="_blank">getdp@geuz.org</a><br>
<a href="http://www.geuz.org/mailman/listinfo/getdp" target="_blank">http://www.geuz.org/mailman/listinfo/getdp</a><br>
</blockquote>
<br>
<br>
</blockquote>
<br>
<br>
-- <br>
Prof. Christophe Geuzaine<br>
University of Liege, Electrical Engineering and Computer Science<br>
<a href="http://www.montefiore.ulg.ac.be/%7Egeuzaine" target="_blank">http://www.montefiore.ulg.ac.be/~geuzaine</a><br>
<br>
_______________________________________________<br>
getdp mailing list<br>
<a href="mailto:getdp@geuz.org" target="_blank">getdp@geuz.org</a><br>
<a href="http://www.geuz.org/mailman/listinfo/getdp" target="_blank">http://www.geuz.org/mailman/listinfo/getdp</a><br>
</div></div></blockquote></div><br>