From: Wolfgang Bangerth Date: Fri, 29 Apr 2011 14:03:25 +0000 (+0000) Subject: Incorporate several of Thomas Wick's suggestions. X-Git-Tag: v8.0.0~4091 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3219bd045e38d62c84a6c142cd3bca88ad041082;p=dealii.git Incorporate several of Thomas Wick's suggestions. git-svn-id: https://svn.dealii.org/trunk@23670 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/examples/step-46/doc/intro.dox b/deal.II/examples/step-46/doc/intro.dox index 1d29d56ae3..3d722c8630 100644 --- a/deal.II/examples/step-46/doc/intro.dox +++ b/deal.II/examples/step-46/doc/intro.dox @@ -73,9 +73,11 @@ where you may want to read up on the individual equations): \text{on}\ \Gamma_{i} = \partial\Omega_s \cap \partial\Omega_f. @f} -A weak formulation of this problem looks like this: Find $y = \{\mathbf v, p, +We get a weak formulation of this problem by following our usual rule of +multiplying from the left by a test function and integrating over the +domain. It then looks like this: Find $y = \{\mathbf v, p, \mathbf u\} \in Y \subset H^1(\Omega_f)^d \times L_2(\Omega_f) \times -H^1(\Omega_s)^d$ so that +H^1(\Omega_s)^d$ such that @f{multline*} 2 \eta (\varepsilon(\mathbf a), \varepsilon(\mathbf v))_{\Omega_f} - (\nabla \cdot \mathbf a, p)_{\Omega_f} @@ -110,7 +112,7 @@ the subdomains is aligned with coarse mesh cell faces. Before going into more details let us state the obvious: this is a problem with multiple solution variables; for this, you will probably -want to read the @ref vector_valued documentation module first which +want to read the @ref vector_valued documentation module first, which presents the basic philosophical framework in which we address problems with more than one solution variable. But back to the problem at hand: @@ -133,7 +135,14 @@ appears a useful set of function spaces: = \{\tilde p|_{\Omega_f} \in L_2(\Omega_f), \quad \tilde p|_{\Omega_s} = 0 \}. @f} -Note that this is indeed a linear function space with obvious norm. Since no +(Since this is not important for the current discussion, we have omitted the +question of boundary values from the choice of function spaces; this question +also affects whether we can choose $L_2$ for the pressure or whether we have +to choose the space $L_{2,0}(\Omega_f)=\{q\in L_2(\Omega_f): \int_{\Omega_f} q += 0\}$ for the pressure. None of these questions are relevant to the following +discussion, however.) + +Note that these are indeed a linear function spaces with obvious norm. Since no confusion is possible in practice, we will henceforth omit the tilde again to denote the extension of a function to the whole domain and simply refer by $\mathbf v, p$ to both the original and the extended function. @@ -204,7 +213,7 @@ space: Y_h = \{ & y_h = \{\mathbf v_h, p_h, \mathbf u_h\} : \\ & y_h|_{\Omega_f} \in Q_{p+1}^d \times Q_p \times Z^d, \\ - & y_h|_{\Omega_f} \in Z^d \times Z \times Q_r^d \}. + & y_h|_{\Omega_s} \in Z^d \times Z \times Q_r^d \}. @f} @@ -548,8 +557,8 @@ 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. +The conditions on the interface between the two domains has already been +discussed above. For simplicity, we choose the material parameters to be $\eta=\lambda=\mu=1$. In the results section below, we will also show @@ -640,7 +649,8 @@ of magnitude between the two subdomains): @endcode (In the code, we actually weigh the error indicators 4:1 in favor of the ones computed on the Stokes subdomain since refinement is otherwise heavily biased -towards the elastic subdomain, but this is just a technicality.) +towards the elastic subdomain, but this is just a technicality. The factor 4 +has been determined heuristically to work reasonably well.) While this principle is sound, it doesn't quite work as expected. The reason is that the KellyErrorEstimator class computes error indicators by integrating diff --git a/deal.II/examples/step-46/doc/results.dox b/deal.II/examples/step-46/doc/results.dox index 701fbf7755..cf6245bc46 100644 --- a/deal.II/examples/step-46/doc/results.dox +++ b/deal.II/examples/step-46/doc/results.dox @@ -199,7 +199,7 @@ into the following block form: @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 +comes from the interface conditions. Now notice that the matrix @f[ A_\text{global}^{-1} = @@ -218,7 +218,8 @@ only one solve with $A_\text{fluid}$ and $A_\text{solid}$ each since = \begin{pmatrix} A_{\text{fluid}}^{-1} & 0 \\ - X & A_{\text{solid}}^{-1} + -A_\text{solid}^{-1} B + A_\text{fluid}^{-1} & A_{\text{solid}}^{-1} \end{pmatrix} \begin{pmatrix} x \\ y @@ -275,3 +276,31 @@ but to be expected and ignore the interface when integrating the jump terms. Nevertheless, this is not what the KellyErrorEstimator class does. Consequently, an obvious possibility for improving the program would be to implement a better refinement criterion. + + +

Verification

+ +The results above are purely qualitative as there is no evidence that our +scheme in fact converges. An obvious thing to do would therefore be to add +some quantitative measures to check that the scheme at least converges to +something. For example, we could output for each refinement cycle the +deflection of the top right corner of the part of the solid that protrudes +into the fluid subdomain. Or we could compute the net force vector or torque +the fluid exerts on the solid. + + +

Better models

+ +In reality, most fluid structure interaction problems are so that the movement +of the solid does affect the flow of the fluid. For example, the forces of the +air around an air foil cause it to flex and to change its shape. Likewise, a +flag flaps in the wind, completely changing its shape. + +Such problems where the coupling goes both ways are typically handled in an +Arbitrary Lagrangian Eulerian (ALE) framework, in which the displacement of +the solid is extended into the fluid domain in some smooth way, rather than by +zero as we do here. The extended displacement field is then used to deform the +mesh on which we compute the fluid flow. Furthermore, the boundary conditions +for the fluid on the interface are no longer that the velocity is zero; +rather, in a time dependent program, the fluid velocity must be equal to the +time derivative of the displacement along the interface.