> 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

Reply via email to