few 10,000 to maybe 100,000 unknowns can a sparse decomposition be
computed using reasonable time and memory resources.
-SO WHAT TO DO HERE?
+What we do in that case is to use an incomplete LU decomposition (ILU) as a
+preconditioner, rather than actually computing complete LU factors. As it so
+happens, deal.II has a class that does this: SparseILU. Computing the ILU
+takes a time that only depends on the number of nonzero entries in the sparse
+matrix (or that we are willing to fill in the LU factors, if these should be
+more than the ones in the matrix), but is independent of the bandwidth of the
+matrix. It is therefore an operation that can efficiently also be computed in
+3d. On the other hand, an incomplete LU decomposition, by definition, does not
+represent an exact inverse of the matrix $A$. Consequently, preconditioning
+with the ILU will still require more than one iteration, unlike
+preconditioning with the sparse direct solver. The inner solver will therefore
+take more time when multiplying with the Schur complement, a tradeoff
+unavoidable.
+</ol>
-</ol>
+<h2>Implementation</h2>
+
+Note anything here that would be particular about this program.
+
+
+<h2>The testcase</h2>
+Describe the testcase we are dealing with here.
<h1>Results</h1>
+
+
+
+
+
+
+<TABLE WIDTH="60%" ALIGN="center">
+ <tr>
+ <td ALIGN="center">
+ @image html step-31.2d.mesh-0.png
+ </td>
+
+ <td ALIGN="center">
+ @image html step-31.2d.mesh-1.png
+ </td>
+ </tr>
+
+ <tr>
+ <td ALIGN="center">
+ @image html step-31.2d.mesh-2.png
+ </td>
+
+ <td ALIGN="center">
+ @image html step-31.2d.mesh-3.png
+ </td>
+ </tr>
+
+ <tr>
+ <td ALIGN="center">
+ @image html step-31.2d.mesh-4.png
+ </td>
+
+ <td ALIGN="center">
+ @image html step-31.2d.mesh-5.png
+ </td>
+ </tr>
+
+ <tr>
+ <td ALIGN="center">
+ @image html step-31.2d.mesh-6.png
+ </td>
+
+ <td ALIGN="center">
+ </td>
+ </tr>
+</table>
+
+@image html step-31.2d.solution.png
+
+
+
+
+
Output in 3d:
@code
Refinement cycle 0
15 CG Schur complement iterations for pressure.
@endcode
+Note that the number of (outer) iterations does not increase as we refine the
+mesh.
+
Compute times for each iteration alone: seconds, seconds, 1 minute, 8
minutes, 33 minutes, 3h37, 24h55
Pictures
-@image html step-31.3d.mesh-0.png
-
-@image html step-31.3d.mesh-1.png
+<TABLE WIDTH="60%" ALIGN="center">
+ <tr>
+ <td ALIGN="center">
+ @image html step-31.3d.mesh-0.png
+ </td>
+
+ <td ALIGN="center">
+ @image html step-31.3d.mesh-1.png
+ </td>
+ </tr>
+
+ <tr>
+ <td ALIGN="center">
+ @image html step-31.3d.mesh-2.png
+ </td>
+
+ <td ALIGN="center">
+ @image html step-31.3d.mesh-3.png
+ </td>
+ </tr>
+
+ <tr>
+ <td ALIGN="center">
+ @image html step-31.3d.mesh-4.png
+ </td>
+
+ <td ALIGN="center">
+ @image html step-31.3d.mesh-5.png
+ </td>
+ </tr>
+
+ <tr>
+ <td ALIGN="center">
+ @image html step-31.3d.mesh-6.png
+ </td>
+
+ <td ALIGN="center">
+ </td>
+ </tr>
+</table>
-@image html step-31.3d.mesh-2.png
-
-@image html step-31.3d.mesh-3.png
+@image html step-31.3d.solution.png
-@image html step-31.3d.mesh-4.png
-@image html step-31.3d.mesh-5.png
-@image html step-31.3d.mesh-6.png
-@image html step-31.3d.solution.png