hmmm..... actually, that might be it. My FEBase::build is inside the assembly routine. I will move this out of the routine and update you on how things change.
Thanks, Manav On Oct 18, 2008, at 5:24 PM, Benjamin Kirk wrote: >> I reinit a fe object with only the same elem kind. Hence, that aspect >> of reallocating memory space due to changing elem types does not seem >> to be a problem. > > What I was specifically asking is where code like > > AutoPtr<FEBase> fe (FEBase::build(dim, fe_type)); > > Sits. > > The issue is if it is inside your assemble() function then you are > building > a new FE object(s) at each call to assemble, which will happen at > least > (n_nl_iterations*n_time_steps). Even if this is outside your > element loop > (as it should be) then each time that new object is created all the > vectors > it contains are empty, and they must have some memory allocation > which goes > on in the first call to reinit(). > > If they persist between calls to assemble (by putting them in main or > something) then you avoid that aspect. > > Also, if you don't need second derivative support have you > configured the > library without it? (That is actually the default.) That will help > without > changing any of your code... > > -Ben > ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
