Roy Stogner wrote: > > On Thu, 19 Nov 2009, Jed Brown wrote: > >> You still don't need to assemble the adjoint, you just need to be able >> to multiply with the adjoint. Finite differencing can't do this for >> you, but AD can and it's easy to do yourself when you have a Galerkin >> method (basically just swap test and trial functions in the right >> place). > > Good point. We're wary of AD (some nasty constitutive equations > require calls to external codes which can't easily be retrofit with > Sacado).
Yeah, AD has serious software engineering ramifications. > But if memory does become a problem, our current "backup plan" is to > only build the adjoint matrix one element submatrix at a time, use > those for local submatrix-subvector multiplies, then assemble the > resulting subvector products and throw away the submatrices. Yep, note that you can multiply by element matrices more cheaply than you can assemble them. Also, it is frequently possible to isolate space-efficient intermediate forms that are cheaper to apply than rebuilding the whole thing. My simplest example of this technique (unfortunately symmetric) comes from a p-Laplacian where you end up with a conductivity tensor looking like a 1 + b \nabla u \otimes \nabla u (a and b are nonlinear in u, the state we are evaluating the Jacobian at). You get cheap products if you store, e.g. (a,\sqrt b \nabla u). This generalizes to many non-Newtonian flow problems. Even if you haven't done anything clever, you still only need to store this stuff at quadrature points so it's O(q f^2) instead of O(p^2 f^2) like the element submatrices. Jed
signature.asc
Description: OpenPGP digital signature
------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________ Libmesh-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-devel
