From: bangerth Date: Mon, 15 Nov 2010 01:01:04 +0000 (+0000) Subject: Crosslink step-40. X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=72ba2004a0f0a841c73c0586f94e730318e240cb;p=dealii-svn.git Crosslink step-40. git-svn-id: https://svn.dealii.org/trunk@22733 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/examples/step-18/doc/intro.dox b/deal.II/examples/step-18/doc/intro.dox index 83f12fdb2c..9db57ad419 100644 --- a/deal.II/examples/step-18/doc/intro.dox +++ b/deal.II/examples/step-18/doc/intro.dox @@ -32,7 +32,7 @@ deal.II webpage. In general, time-dependent small elastic deformations are described by the elastic wave equation @f[ - \rho \frac{\partial^2 \mathbf{u}}{\partial t^2} + \rho \frac{\partial^2 \mathbf{u}}{\partial t^2} + c \frac{\partial \mathbf{u}}{\partial t} - \textrm{div}\ ( C \varepsilon(\mathbf{u})) = \mathbf{f} \qquad @@ -146,7 +146,7 @@ where \sigma^n = \sigma^{n-1} + C \varepsilon (\Delta \mathbf{u}^n), @f] and $\Delta \mathbf{u}^n$ the incremental displacement for time step -$n$. In addition, we have to specify initial data $\mathbf{u}(\cdot,0)=\mathbf{u}_0$. +$n$. In addition, we have to specify initial data $\mathbf{u}(\cdot,0)=\mathbf{u}_0$. This way, if we want to solve for the displacement increment, we have to solve the following system: @f{eqnarray*} @@ -169,13 +169,13 @@ such that @f{eqnarray*} (C \varepsilon(\Delta\mathbf{u}^n), \varepsilon(\varphi) )_{\Omega(t_{n-1})} - = + = (\mathbf{f}, \varphi)_{\Omega(t_{n-1})} -(\sigma^{n-1},\varepsilon(\varphi))_{\Omega(t_{n-1})} \\ +(\mathbf{b}(\mathbf{x},t_n)-\mathbf{b}(\mathbf{x},t_{n-1}), \varphi)_{\Gamma_N} \\ - \forall \varphi \in \{\mathbf{v}\in H^1(\Omega(t_{n-1}))^d: \mathbf{v}|_{\Gamma_D}=0\}. + \forall \varphi \in \{\mathbf{v}\in H^1(\Omega(t_{n-1}))^d: \mathbf{v}|_{\Gamma_D}=0\}. \qquad \qquad \textrm{[linear-system]} @@ -200,7 +200,7 @@ continuous finite elements. There are differences, however:
    -
  1. We have to move (update) the mesh after each time step, in order to be +
  2. We have to move (update) the mesh after each time step, in order to be able to solve the next time step on a new domain;
  3. We need to know $\sigma^{n-1}$ to compute the next incremental @@ -221,7 +221,7 @@ As indicated above, we need to have the stress variable $\sigma^n$ available when computing time step $n+1$, and we can compute it using @f[ - \sigma^n = \sigma^{n-1} + C \varepsilon (\Delta \mathbf{u}^n). + \sigma^n = \sigma^{n-1} + C \varepsilon (\Delta \mathbf{u}^n). \qquad \qquad \textrm{[stress-update]} @@ -271,7 +271,7 @@ that is defined with respect to the coordinate system of the material in the old domain, and has to be transferred to the new domain. The reason for this can be understood as follows: locally, the incremental deformation $\Delta\mathbf{u}$ can be decomposed into three parts, a linear translation (the constant part of the displacement increment field in the neighborhood of a point), a -dilational +dilational component (that part of the gradient of the displacement field that has a nonzero divergence), and a rotation. A linear translation of the material does not affect the stresses that are frozen into it -- the stress values are @@ -293,8 +293,8 @@ for the stress variable is then @f[ \sigma^n - = - R(\Delta \mathbf{u}^n)^T + = + R(\Delta \mathbf{u}^n)^T [\sigma^{n-1} + C \varepsilon (\Delta \mathbf{u}^n)] R(\Delta \mathbf{u}^n). \qquad @@ -368,6 +368,13 @@ to merge all the intermediate format files into a single file in GMV format. More details on the parameters of this program and what it can do for you can be found in the documentation of the step-19 tutorial program. +@note In the years since the paragraphs above were written, it has +also become possible to not only compute solutions in parallel, but +also to visualize them with some programs (for example with the +Paraview viewer). To make this efficient, one can not store the entire +solution in a single file, but instead needs to have a single data +file for each processor to visualize individually. We discuss this +concept and how to use it in step-40.

    Overall structure of the program

    @@ -437,7 +444,7 @@ sequence of operations on the present mesh: previously been initialized with the result of the first function above): @verbatim for (unsigned int i=0; ioperator* provides for the (double summation) product between symmetric tensors of even rank here. - Assembling the local contributions + Assembling the local contributions @f{eqnarray*} - f^K_i &=& + f^K_i &=& (\mathbf{f}, \varphi_i)_K -(\sigma^{n-1},\varepsilon(\varphi_i))_K \\ &\approx& @@ -479,14 +486,14 @@ for (unsigned int i=0; i &old_stress = local_quadrature_points_data[q_point].old_stress; - + cell_rhs(i) += (body_force_values[q_point](component_i) * fe_values.shape_value (i,q_point) - @@ -545,7 +552,7 @@ addition, gravity acts on the body. The program text will reveal more about how to implement this situation, and the results section will show what displacement pattern comes out of this -simulation. +simulation.

    Possible directions for extensions

    @@ -567,7 +574,7 @@ to withstand only a maximal stress (the yield stress) after which it starts to variational inequality, which alternatively can be treated as minimizing the elastic energy @f[ - E(\mathbf{u}) = + E(\mathbf{u}) = (\varepsilon(\mathbf{u}), C\varepsilon(\mathbf{u}))_{\Omega} - (\mathbf{f}, \mathbf{u})_{\Omega} - (\mathbf{b}, \mathbf{u})_{\Gamma_N}, @f] @@ -583,7 +590,7 @@ book by Simo and Hughes on “Computational Inelasticity” for a comprehensive overview of computational strategies for solving plastic models. Alternatively, a brief but concise description of an algorithm for plasticity is given in an article by S. Commend, A. Truty, and Th. Zimmermann, -titled “Stabilized finite elements applied to +titled “Stabilized finite elements applied to elastoplasticity: I. Mixed displacement-pressure formulation” (Computer Methods in Applied Mechanics and Engineering, vol. 193, pp. 3559-3586, 2004).