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

Attachment: 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

Reply via email to