On Oct 18, 2008, at 2:13 PM, Manav Bhatia wrote: > I am curious about this: doesn't any nonlinear transient computation > require this information per element per iteration? Am I the first one > to consider caching this information? How do the CPU/memory overheads > for your problems work out?
This _really_ depends on your application. For a lot of my applications that I've solved fully implicit with newtons method and fairly large timesteps... solving the linear systems takes up a LOT more time than reinit(). On the other hand if you're solving either explicitly or using very small timesteps so your linear systems are pretty easy to solve... I could see how reinit could start taking up more solve time. Currently, I do everything Jacobian Free... which means I'm evaluating my residual _millions_ of times (even during the actual linear solve). In this case I'm solving fairly large (6 or 7 variables) systems, so doing one FE reinit to evaluate the residual for 7 equations isn't too bad. Currently we're spending about 50 to 60 percent of our runtime just evaluating residuals... and only about 15% of our runtime is coming from reinit() like activities (and that includes re-calculating the value and gradient of all of our variables at every quadrature point). In my case though... a lot of our computational time goes into calculating highly non-linear material properties... some of which even have Fourier series to evaluate at every quadrature point. Along with very tight coupling between the variables that also has to be evaluated. What I'm getting at here is that there are lots of ways to spend computational time... and it is _very_ application dependent. I'm personally not worried about how long FE::reinit() is taking because I know for a fact that it has been uber-optimized by Roy (and others) and I'm confident that all of the calculations happening in there are absolutely necessary. All of that said... I am interested to hear about it if you get this FE caching stuff to work... Derek ------------------------------------------------------------------------- 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
