From 741cf2f56eb10c6321ae80276f0c57765b1b290f Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Tue, 19 Apr 2011 14:04:48 +0000 Subject: [PATCH] Write the rest of the intro. Add a section to the results. git-svn-id: https://svn.dealii.org/trunk@23611 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/examples/step-46/doc/intro.dox | 26 ++++++- deal.II/examples/step-46/doc/results.dox | 70 +++++++++++++++++++ .../examples/step-46/doc/step-46.layout.fig | 43 ++++++++++++ 3 files changed, 138 insertions(+), 1 deletion(-) create mode 100644 deal.II/examples/step-46/doc/step-46.layout.fig diff --git a/deal.II/examples/step-46/doc/intro.dox b/deal.II/examples/step-46/doc/intro.dox index aade0b5846..604242143e 100644 --- a/deal.II/examples/step-46/doc/intro.dox +++ b/deal.II/examples/step-46/doc/intro.dox @@ -323,7 +323,7 @@ need FEFaceValue objects for both sides of the interface. To make things slightly worse, we may also have to deal with the fact that one side or the other may be refined, leaving us with the need to integrate over parts of a face. Take a look at the implementation -below on how to deal with this. +below on how to deal with this. As an additional complication, the matrix entries that result from this term need to be added to the sparsity pattern of the matrix somehow. This, however, @@ -419,3 +419,27 @@ fluid and solid subdomains do not coincide with a set of complete coarse mesh cells — but this is a contradiction to the assumption stated at the end of the first section of this introduction. + + + +

The testcase

+ +We will consider the following situation as a testcase: + +@image html step-46.layout.png + +The fixed boundary at the bottom implies $\mathbf u=0$, and we also +prescribe Dirichlet conditions for the flow at the top so that we get +inflow at the left and outflow at the right. At the left and right +boundaries, no boundary conditions are imposed explicitly for the +flow, yielding the implicit no-stress condition $(2\eta +\varepsilon(\mathbf v) + p \mathbf 1) \cdot \mathbf n = 0$. +The conditions on the interface between the two domains has been +discussed above already. + +This program is primarily intended to show how to deal with different +physics in different parts of the domain, and how to implement such +models in deal.II. As a consequence, we won't bother coming up with a +good solver: we'll just use the SparseDirectUMFPACK class which always +works, even if not with optimal complexity. We will, however, comment +on possible other solvers in the results section. diff --git a/deal.II/examples/step-46/doc/results.dox b/deal.II/examples/step-46/doc/results.dox index b5eaba9377..6796b94fff 100644 --- a/deal.II/examples/step-46/doc/results.dox +++ b/deal.II/examples/step-46/doc/results.dox @@ -1,2 +1,72 @@ +

Results

+ + +

Possibilities for extensions

+ +An obvious place to improve the program would be to use a more +sophisticated solver — in particular one that scales well and +will also work for realistic 3d problems. This shouldn't actually be +too hard to achieve here, because of the one-way coupling from fluid +into solid. To this end, assume we had re-ordered degrees of freedom +in such a way that we first have all velocity and pressure degrees of +freedom, and then all displacements (this is easily possible using +DoFRenumbering::component_wise). Then the system matrix could be split +into the following block form: +@f[ + A_\text{global} + = + \begin{pmatrix} + A_{\text{fluid}} & 0 \\ + B & A_{\text{solid}} + \end{pmatrix} +@f] +where $A_{\text{fluid}}$ is the Stokes matrix, $A_{\text{solid}}$ +results from the elasticity equations, and $B$ is the matrix that +comes from the interface condition. Now notice that the matrix +@f[ + A_\text{global}^{-1} + = + \begin{pmatrix} + A_{\text{fluid}}^{-1} & 0 \\ + -A_\text{solid}^{-1} B + A_\text{fluid}^{-1} & A_{\text{solid}}^{-1} + \end{pmatrix} +@f] +is the inverse of $A_\text{global}$. Applying this matrix requires +only one solve with $A_\text{fluid}$ and $A_\text{solid}$ each since +@f[ + \begin{pmatrix} + p_x \\ p_y + \end{pmatrix} + = + \begin{pmatrix} + A_{\text{fluid}}^{-1} & 0 \\ + X & A_{\text{solid}}^{-1} + \end{pmatrix} + \begin{pmatrix} + x \\ y + \end{pmatrix} +@f] +can be computed as $p_x = A_{\text{fluid}}^{-1} x$ followed by +$p_y = A_{\text{solid}}^{-1} (y-Bp_x)$. + +One can therefore expect that +@f[ + \widetilde{A_\text{global}^{-1}} + = + \begin{pmatrix} + \widetilde{A_{\text{fluid}}^{-1}} & 0 \\ + -\widetilde{A_\text{solid}^{-1}} B + \widetilde{A_\text{fluid}^{-1}} & \widetilde{A_{\text{solid}}^{-1}} + \end{pmatrix} +@f] +would be a good preconditioner if $\widetilde{A_{\text{fluid}}^{-1}} +\approx A_{\text{fluid}}^{-1}, \widetilde{A_{\text{solid}}^{-1}} +\approx A_{\text{solid}}^{-1}$. That means, we only need good +preconditioners for Stokes and the elasticity equations +separately. These are well known, however: for Stokes, we can use the +preconditioner discussed in the results section of step-22; for +elasticity, a good preconditioner would be a single V-cycle of a +geometric or algebraic multigrid. diff --git a/deal.II/examples/step-46/doc/step-46.layout.fig b/deal.II/examples/step-46/doc/step-46.layout.fig new file mode 100644 index 0000000000..b193840234 --- /dev/null +++ b/deal.II/examples/step-46/doc/step-46.layout.fig @@ -0,0 +1,43 @@ +#FIG 3.2 Produced by xfig version 3.2.5b +Landscape +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +2 2 0 0 0 7 50 -1 45 0.000 0 0 -1 0 0 5 + 1800 4500 5400 4500 5400 5400 1800 5400 1800 4500 +2 2 0 0 0 7 50 -1 45 0.000 0 0 -1 0 0 5 + 3150 2700 4050 2700 4050 4500 3150 4500 3150 2700 +2 2 0 2 0 7 48 -1 -1 0.000 0 0 -1 0 0 5 + 1800 1800 5400 1800 5400 5400 1800 5400 1800 1800 +2 1 0 1 0 7 48 -1 -1 0.000 0 0 -1 0 0 6 + 1800 4500 3150 4500 3150 2700 4050 2700 4050 4500 5400 4500 +2 2 0 0 0 7 49 -1 -1 0.000 0 0 -1 0 0 5 + 3240 4635 4005 4635 4005 4950 3240 4950 3240 4635 +2 2 0 0 0 7 48 -1 20 0.000 0 0 -1 0 0 5 + 3240 4680 4005 4680 4005 4950 3240 4950 3240 4680 +2 1 0 2 0 7 49 -1 -1 0.000 0 0 -1 0 1 2 + 3 1 2.00 60.00 120.00 + 4500 1575 4500 2025 +2 1 0 0 0 7 49 -1 -1 0.000 0 0 -1 0 0 2 + 2250 1575 2250 2025 +2 1 0 2 0 7 49 -1 -1 0.000 0 0 -1 1 0 2 + 3 1 2.00 60.00 120.00 + 2250 1575 2250 2025 +2 1 0 2 0 7 49 -1 -1 0.000 0 0 -1 1 0 2 + 3 1 2.00 60.00 120.00 + 2700 1575 2700 2025 +2 1 0 2 0 7 49 -1 -1 0.000 0 0 -1 0 1 2 + 3 1 2.00 60.00 120.00 + 4950 1575 4950 2025 +2 1 0 4 0 7 49 -1 -1 0.000 0 0 -1 0 0 4 + 1800 4500 1800 5400 5400 5400 5400 4500 +4 1 0 49 -1 19 16 0.0000 4 195 570 2250 3150 fluid\001 +4 1 0 49 -1 19 16 0.0000 4 195 570 4950 3150 fluid\001 +4 1 0 46 -1 19 16 0.0000 4 195 630 3600 4905 solid\001 +4 1 0 49 -1 19 14 0.0000 4 240 1725 3600 5670 fixed boundary\001 +4 1 0 49 -1 19 14 0.0000 4 180 855 4725 1350 outflow\001 +4 1 0 49 -1 19 14 0.0000 4 180 690 2475 1350 inflow\001 -- 2.39.5