# Basic Finite Element Method (FEM) question: assembly and re-assembly

I'm reading up on the Finite Element Method (Zienkiewicz's Book), so I understand better what I'm doing in FEniCS and COMSOL. Currently, I'm wondering about this:

• Using FEM to solve fluid flow problems, do I have to re-assemble the entire system in each iteration of the solution process?

I would assume not since re-assembly only needs to be done if the coordinates of the nodes of the elements change. I can see how this is important in structural analysis, however, this is not the case in fluid dynamics (unless you work with moving meshes). So I assume in a common CFD computation it should be safe to only assemble the system of equations once and carry that through the entire solution process?

I'm asking because, if I understand correctly, not reassembling the system in each iteration of the solution should (in my current understanding) significantly reduce the computation time.

• "If you are doing Picard iteration rather than Netwon-Raphson, then you should only have to reform the right-hand-side vector." No. For secant method, or "modified Newton", you don't have to recompute every step. Picard is generally formulated for semi-linear equations as $A(u^n) u^{n+1} = f(u^n)$, and clearly needs reassembly. Furthermore, matrix-free finite differencing is not available for Picard, in contrast to Newton, for which you can ues JFNK to lag the preconditioner while still solving the Newton step. – Jed Brown Nov 8 '13 at 5:01