From f813bf91e4299e6eca0c0005f4c623e7045ba675 Mon Sep 17 00:00:00 2001 From: mcbride Date: Thu, 23 Feb 2012 12:39:21 +0000 Subject: [PATCH] step:44 updated introduction, part of cc file and results. More work needed to make the notation uniform git-svn-id: https://svn.dealii.org/trunk@25157 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/examples/step-44/doc/intro.dox | 186 +++++++++++++---------- deal.II/examples/step-44/doc/results.dox | 52 +++---- deal.II/examples/step-44/step-44.cc | 10 +- 3 files changed, 138 insertions(+), 110 deletions(-) diff --git a/deal.II/examples/step-44/doc/intro.dox b/deal.II/examples/step-44/doc/intro.dox index 155bc210b4..26bfd35111 100644 --- a/deal.II/examples/step-44/doc/intro.dox +++ b/deal.II/examples/step-44/doc/intro.dox @@ -9,8 +9,12 @@ Forschungsgemeinschaft, DFG), grant STE 544/39-1, and the National Research Fou

Introduction

-The subject of this tutorial is nonlinear solid mechanics. -A three-field formulation is used to model the fully-nonlinear (geometrical and material) response of an isotropic continuum body. +The subject of this tutorial is nonlinear solid mechanics. +Classical single-field approaches (see e.g. step-18) can not correctly describe the response of quasi-incompressible materials. +The response is overly stiff; a phenomenon known as locking. +Locking problems can be circumvented using a variety of alternative strategies. +One such straegy is the three-field formulation. +It is used here to model the three-dimensional, fully-nonlinear (geometrical and material) response of an isotropic continuum body. The material response is approximated as hyperelastic. Additionally, the three-field formulation employed is valid for quasi-incompressible as well as compressible materials. @@ -23,12 +27,22 @@ Step-18 does, however, describe many of the key concepts to implement elasticity We begin with a crash-course in nonlinear kinematics. For the sake of simplicity, we restrict our attention to the quasi-static problem. Thereafter, various key stress measures are introduced and the constitutive model described. +We then describe the three-field formulation in detail prior to explaining the structure of the class used to manage the material. +The setup of the example problem is then presented. + +@note This tutorial has been developed for the problem of elasticity in three dimensions. + While the space dimension could be changed in the main() routine, care needs to be taken. + Two-dimensional elasticity problems, in general, exist only as idealisation of a three-dimensional ones. + That is, they are either plane strain or plane stress. + The assumptions that follow either of these choices needs to be consistently imposed. + For more information see the note in step-8.

List of references

The three-field formulation implemented here was pioneered by Simo et al. (1985) and is known as the mixed Jacobian-pressure formulation. Important related contributions include those by Simo and Taylor (1991), and Miehe (1994). -The notation adopted here draws heavily on the excellent overview of the theoretical aspects of nonlinear solid mechanics by Holzapfel (2001). +The notation adopted here draws heavily on the excellent overview of the theoretical aspects of nonlinear solid mechanics by Holzapfel (2001). +A nice overview of issues pertaining to incompressible elasticity (at small strains) is given in Hughes (2000).
  1. J.C. Simo, R.L. Taylor and K.S. Pister (1985), @@ -49,7 +63,10 @@ The notation adopted here draws heavily on the excellent overview of the theoret 1981-2004;
  2. G.A. Holzapfel (2001), Nonlinear Solid Mechanics. A Continuum Approach for Engineering, - John Wiley & Sons. + John Wiley & Sons; +
  3. T.J.R. Hughes (2000), + The Finite Element Method: Linear Static and Dynamic Finite Element Analysis, + Dover.
@@ -58,7 +75,7 @@ The notation adopted here draws heavily on the excellent overview of the theoret One can think of fourth-order tensors as linear operators mapping second-order tensors (matrices) onto themselves in much the same way as matrices map vectors onto vectors. -There are various fourth-order unit tensors. +There are various fourth-order unit tensors that will be required in the forthcoming presentation. The fourth-order unit tensors $\mathcal{I}$ and $\overline{\mathcal{I}}$ are defined by @f[ \mathbf{A} = \mathcal{I}:\mathbf{A} @@ -112,10 +129,9 @@ respectively, as \textrm{d}v = J(\mathbf{X},t)\; \textrm{d}V \, . @f] -An important measure of the deformation in terms of the spatial coordinates is the left Cauchy-Green tensor $\mathbf{b} := \mathbf{F}\mathbf{F}^T$. -The left Cauchy-Green tensor is obviously symmetric and positive definite. -Similarly, the (material) right Cauchy-Green tensor is defined by $\mathbf{C} := \mathbf{F}^T\mathbf{F}$. -It is also symmetric and positive definite. +Two important measure of the deformation in terms of the spatial and material coordinates are the left and right Cauchy-Green tensors, respectively, +and denoted $\mathbf{b} := \mathbf{F}\mathbf{F}^T$ and $\mathbf{C} := \mathbf{F}^T\mathbf{F}$. +They are both symmetric and positive definite. The Green-Lagrange strain tensor is defined by @f[ @@ -145,23 +161,32 @@ The spatial velocity field is denoted $\mathbf{v}(\mathbf{x},t)$. The derivative of the spatial velocity field with respect to the spatial coordinates gives the spatial velocity gradient $\mathbf{l}(\mathbf{x},t)$, that is @f[ \mathbf{l}(\mathbf{x},t) - := \dfrac{\mathbf{v}(\mathbf{x},t)}{\mathbf{x}} + := \dfrac{\partial \mathbf{v}(\mathbf{x},t)}{\partial \mathbf{x}} = \textrm{grad}\ \mathbf{v}(\mathbf{x},t) \, , @f] -where $\textrm{grad}(\bullet):= \textrm{Grad}(\bullet) \mathbf{F}^{-1}$. +where $\textrm{grad} \{\bullet \} += \frac{\partial \{ \bullet \} }{ \partial \mathbf{x}} += \frac{\partial \{ \bullet \} }{ \partial \mathbf{X}}\frac{\partial \mathbf{X} }{ \partial \mathbf{x}} += \textrm{Grad} \{ \bullet \} \mathbf{F}^{-1}$.

Kinetics

-Cauchy's stress theorem equates the Cauchy traction $\mathbf{t}$ acting on an infinitesimal surface element in the current configuration to the product of the Cauchy stress tensor $\boldsymbol{\sigma}$ (a spatial quantity) and the outward unit normal to the surface $\mathbf{n}$ as +Cauchy's stress theorem equates the Cauchy traction $\mathbf{t}$ acting on an infinitesimal surface element in the current configuration $\mathrm{d}a$ to the product of the Cauchy stress tensor $\boldsymbol{\sigma}$ (a spatial quantity) and the outward unit normal to the surface $\mathbf{n}$ as @f[ \mathbf{t}(\mathbf{x},t, \mathbf{n}) = \boldsymbol{\sigma}\mathbf{n} \, . @f] The Cauchy stress is symmetric. -Similarly, the first Piola-Kirchhoff traction $\mathbf{T}$ which acts on an infinitesimal surface element in the reference configuration is the product of the first Piola-Kirchhoff stress tensor $\mathbf{P}$ (a two-point tensor) and the outward unit normal to the surface $\mathbf{N}$ as +Similarly, the first Piola-Kirchhoff traction $\mathbf{T}$ which acts on an infinitesimal surface element in the reference configuration $\mathrm{d}A$ is the product of the first Piola-Kirchhoff stress tensor $\mathbf{P}$ (a two-point tensor) and the outward unit normal to the surface $\mathbf{N}$ as @f[ \mathbf{T}(\mathbf{X},t, \mathbf{N}) = \mathbf{P}\mathbf{N} \, . @f] +The Cauchy traction $\mathbf{t}$ and the first Piola-Kirchhoff traction $\mathbf{T}$ are related as +@f[ + \mathbf{t}\mathrm{d}a = \mathbf{T}\mathrm{d}A \, . +@f] +This can be demonstrated using Nanson's formula. + The first Piola-Kirchhoff stress tensor is related to the Cauchy stress as @f[ \mathbf{P} = J \boldsymbol{\sigma}\mathbf{F}^{-T} \, . @@ -194,7 +219,7 @@ For example $\boldsymbol{\tau} = \chi_{*}(\mathbf{S})$.

Hyperelastic materials

-A hyperelastic material response is governed by a Helmholtz free energy function $\Psi$ which serves as a potential for the stress. +A hyperelastic material response is governed by a Helmholtz free energy function $\Psi = \Psi(\mathbf{F}) = \Psi(\mathbf{C}) = \Psi(\mathbf{b})$ which serves as a potential for the stress. For example, if the Helmholtz free energy depends on the right Cauchy-Green tensor $\mathbf{C}$ then the isotropic hyperelastic response is @f[ \mathbf{S} @@ -226,7 +251,7 @@ Similarly, the Kirchhoff stress can be decomposed into volumetric and isochoric where $p := \dfrac{\partial \Psi_{\text{vol}}(J)}{\partial J}$ is the pressure response. $\mathbb{P}$ is the projection tensor which provides the deviatoric operator in the Eulerian setting. -The fictitious Cauchy stress tensor $\overline{\boldsymbol{\tau}}$ is defined by +The fictitious Kirchhoff stress tensor $\overline{\boldsymbol{\tau}}$ is defined by @f[ \overline{\boldsymbol{\tau}} := 2 \overline{\mathbf{b}} \dfrac{\partial \Psi_{\textrm{iso}}(\overline{\mathbf{b}})}{\partial \overline{\mathbf{b}}} \, . @@ -247,7 +272,7 @@ The Helmholtz free energy corresponding to a compressible Poisson's ratio), subject to a good choice of the interpolation fields for $\mathbf{u},~\widetilde{p}$ and $\widetilde{J}$. -Typically a choice of $Q_n \times DGP_{n-1} \times DGP_{n-1}$ is made. -A popular choice is $Q_1 \times DGP_0 \times DGP_0$ which is known as the mean dilatation method. -This code can accommodate a $Q_n \times DGP_{n-1} \times DGP_{n-1}$ formulation. +Typically a choice of $Q_n \times DGPM_{n-1} \times DGPM_{n-1}$ is made. +Here $DGPM$ is the FE_DGPMonomial class. +A popular choice is $Q_1 \times DGPM_0 \times DGPM_0$ which is known as the mean dilatation method (see Hughes (2000) for an intuitive discussion). +This code can accommodate a $Q_n \times DGPM_{n-1} \times DGPM_{n-1}$ formulation. The discontinuous approximation allows $\widetilde{p}$ and $\widetilde{J}$ to be condensed out and a classical displacement based method is recovered. @@ -503,9 +533,9 @@ For further details see Miehe (1994). The linearised problem can be written as @f[ - \mathbf{\mathsf{K}}( \mathbf{\Xi}_{\textrm{i}}^{\textrm{n}})\mathsf{d}\mathbf{\Xi}_{\textrm{i}}^{\textrm{n}} + \mathbf{\mathsf{K}}( \mathbf{\Xi}_{\textrm{i}}) d\mathbf{\Xi} = - \mathbf{ \mathsf{F}}(\mathbf{\Xi}_{\textrm{i}}^{\textrm{n}}) + \mathbf{ \mathsf{F}}(\mathbf{\Xi}_{\textrm{i}}) @f] where @f{align*} @@ -517,10 +547,10 @@ where \mathbf{0} & \mathbf{\mathsf{K}}_{\widetilde{J}\widetilde{p}} & \mathbf{\mathsf{K}}_{\widetilde{J}\widetilde{J}} \end{bmatrix}}_{\mathbf{\mathsf{K}}(\mathbf{\Xi}_{\textrm{i}})} \underbrace{\begin{bmatrix} - \varDelta \mathbf{\mathsf{u}}_{\textrm{i}} \\ - \varDelta \widetilde{\mathbf{\mathsf{p}}}_{\textrm{i}} \\ - \varDelta \widetilde{\mathbf{\mathsf{J}}}_{\textrm{i}} - \end{bmatrix}}_{\varDelta \mathbf{\Xi}_{\textrm{i}}} + d \mathbf{\mathsf{u}}\\ + d \widetilde{\mathbf{\mathsf{p}}} \\ + d \widetilde{\mathbf{\mathsf{J}}} + \end{bmatrix}}_{d \mathbf{\Xi}} = \underbrace{\begin{bmatrix} -\mathbf{\mathsf{R}}_{u}(\mathbf{u}_{\textrm{i}}) \\ @@ -536,34 +566,34 @@ where @f} Because there are no -derivatives on these variables, a discontinuous finite element yields a block +derivatives of the pressure and dilatation (primary) variables in the formulation, a discontinuous finite element yields a block diagonal matrix and we can express $p$ and $\widetilde{J}$ on each cell simply by inverting the local mass matrix and multiplying it by the local right hand side. We can then insert the result into the remaining equations and recover a classical displacement-based method. In order to condense out the pressure and dilatation contributions at the element level we need the following results: @f{align*} - \varDelta \widetilde{\mathbf{\mathsf{p}}} + d \widetilde{\mathbf{\mathsf{p}}} & = \mathbf{\mathsf{K}}_{\widetilde{J}\widetilde{p}}^{-1} \bigl[ \mathbf{\mathsf{F}}_{\widetilde{J}} - - \mathbf{\mathsf{K}}_{\widetilde{J}\widetilde{J}} \varDelta \widetilde{\mathbf{\mathsf{J}}} \bigr] + - \mathbf{\mathsf{K}}_{\widetilde{J}\widetilde{J}} d \widetilde{\mathbf{\mathsf{J}}} \bigr] \\ - \varDelta \widetilde{\mathbf{\mathsf{J}}} + d \widetilde{\mathbf{\mathsf{J}}} & = \mathbf{\mathsf{K}}_{\widetilde{p}\widetilde{J}}^{-1} \bigl[ \mathbf{\mathsf{F}}_{\widetilde{p}} - - \mathbf{\mathsf{K}}_{\widetilde{p}u} \varDelta \mathbf{\mathsf{u}} + - \mathbf{\mathsf{K}}_{\widetilde{p}u} d \mathbf{\mathsf{u}} \bigr] \\ - \Rightarrow \varDelta \widetilde{\mathbf{\mathsf{p}}} + \Rightarrow d \widetilde{\mathbf{\mathsf{p}}} &= \mathbf{\mathsf{K}}_{\widetilde{J}\widetilde{p}}^{-1} \mathbf{\mathsf{F}}_{\widetilde{J}} - \underbrace{\bigl[\mathbf{\mathsf{K}}_{\widetilde{J}\widetilde{p}}^{-1} \mathbf{\mathsf{K}}_{\widetilde{J}\widetilde{J}} \mathbf{\mathsf{K}}_{\widetilde{p}\widetilde{J}}^{-1}\bigr]}_{\overline{\mathbf{\mathsf{K}}}}\bigl[ \mathbf{\mathsf{F}}_{\widetilde{p}} - - \mathbf{\mathsf{K}}_{\widetilde{p}u} \varDelta \mathbf{\mathsf{u}} \bigr] + - \mathbf{\mathsf{K}}_{\widetilde{p}u} d \mathbf{\mathsf{u}} \bigr] @f} and thus @f[ \underbrace{\bigl[ \mathbf{\mathsf{K}}_{uu} + \overline{\overline{\mathbf{\mathsf{K}}}}~ \bigr] - }_{\mathbf{\mathsf{K}}_{\textrm{con}}}\varDelta \mathbf{\mathsf{u}} + }_{\mathbf{\mathsf{K}}_{\textrm{con}}} d \mathbf{\mathsf{u}} = \underbrace{ \Bigl[ @@ -586,13 +616,15 @@ The procedure to construct the various contributions is as follows: - The modified system matrix is called ${\mathbf{\mathsf{K}}}_{\textrm{store}}$. That is @f[ - \underbrace{\begin{bmatrix} + \mathbf{\mathsf{K}}_{\textrm{store}} +:= + \begin{bmatrix} \mathbf{\mathsf{K}}_{\textrm{con}} & \mathbf{\mathsf{K}}_{u\widetilde{p}} & \mathbf{0} \\ \mathbf{\mathsf{K}}_{\widetilde{p}u} & \mathbf{0} & \mathbf{\mathsf{K}}_{\widetilde{p}\widetilde{J}}^{-1} \\ \mathbf{0} & \mathbf{\mathsf{K}}_{\widetilde{J}\widetilde{p}} & \mathbf{\mathsf{K}}_{\widetilde{J}\widetilde{J}} - \end{bmatrix}}_{ {\mathbf{\mathsf{K}}}_{\textrm{store}}} + \end{bmatrix} \, . @f] @@ -603,7 +635,7 @@ In this tutorial we simply have one Material class named Material_Compressible_N Ideally this class would derive from a class HyperelasticMaterial which would derive from the base class Material. The three-field nature of the formulation used here also complicates the matter. -The free energy function for the three field formulation is $\Psi = \Psi_\text{vol}(\widetilde{J}) + \Psi_\text{iso}(\overline{\mathbf{b}})$. +The Helmholtz free energy function for the three field formulation is $\Psi = \Psi_\text{vol}(\widetilde{J}) + \Psi_\text{iso}(\overline{\mathbf{b}})$. The isochoric part of the Kirchhoff stress ${\boldsymbol{\tau}}_{\text{iso}}(\overline{\mathbf{b}})$ is identical to that obtained using a one-field formulation for a hyperelastic material. However, the volumetric part of the free energy is now a function of the primary variable $\widetilde{J}$. Thus, for a three field formulation the constitutive response for the volumetric part of the Kirchhoff stress ${\boldsymbol{\tau}}_{\text{vol}}$ (and the tangent) is not given by the hyperelastic constitutive law as in a one-field formulation. @@ -629,7 +661,7 @@ This benchmark problem is taken from @image html "step-44.setup.png" The material is quasi-incompressible neo-Hookean with shear modulus $\mu = 80.194e6$ and $\nu = 0.4999$. -For such a choice of material properties a conventional $Q_1$ approach would lock. +For such a choice of material properties a conventional single-field $Q_1$ approach would lock. That is, the response would be overly stiff. The initial and final configurations are shown in the image above. Using symmetry, we solve for only one quarter of the geometry (i.e. a cube with dimension $0.001$). diff --git a/deal.II/examples/step-44/doc/results.dox b/deal.II/examples/step-44/doc/results.dox index a26bdc8ed6..ebff2dcf9c 100644 --- a/deal.II/examples/step-44/doc/results.dox +++ b/deal.II/examples/step-44/doc/results.dox @@ -19,55 +19,53 @@ Firstly, a comparison of a batch of results with that in the literature demonstr Using the appropriate material and loading parameters, a set of results matches that presented in Reese (2000) is produced. Both schemes demonstrate good convergence properties upon grid refinement, with an accurate measure of the centre-point vertical displacement attained within a few grid refinements. The lower order formulation typically overestimates the displacement solution at low levels of refinement, while the higher order interpolation scheme underestimates it, but be a lesser degree. This result gives confidence that the program produces the correct output. -A typical output generated by running the problem looks is shown below -(with one more global mesh refinement than the version of the program -that can be found in the examples/step-44 directory where -we want to keep run times more moderate). The particular case +A typical output generated by running the problem looks is shown below. The particular case demonstrated is that of the Q2-P1-P1 element. @code Grid: Reference volume: 1e-09 Triangulation: - Number of active cells: 512 - Number of degrees of freedom: 18835 + Number of active cells: 64 + Number of degrees of freedom: 2699 Setting up quadrature point data... Timestep 1 @ 0.1s ___________________________________________________________________________________________________________________________________________________________ - SOLVER STEP | LIN_IT LIN_RES RES_NORM RES_U RES_P RES_J NU_NORM NU_U NU_P NU_J + SOLVER STEP | LIN_IT LIN_RES RES_NORM RES_U RES_P RES_J NU_NORM NU_U NU_P NU_J ___________________________________________________________________________________________________________________________________________________________ - 0 ASM_R ASM_K CST ASM_SC SLV PP UQPH | 1163 1.319e-06 1.000e+00 1.000e+00 0.000e+00 0.000e+00 1.000e+00 1.000e+00 1.000e+00 1.000e+00 - 1 ASM_R ASM_K CST ASM_SC SLV PP UQPH | 551 3.047e-03 3.752e+00 8.173e-02 9.198e-11 5.080e+00 5.181e+00 2.521e+00 5.181e+00 1.812e+04 - 2 ASM_R ASM_K CST ASM_SC SLV PP UQPH | 690 5.008e-03 2.918e+00 2.562e+00 2.624e-12 1.892e+00 4.254e+00 2.094e+00 4.254e+00 1.638e+03 - 3 ASM_R ASM_K CST ASM_SC SLV PP UQPH | 661 2.053e-03 1.828e+00 1.804e+00 1.654e-12 3.941e-01 1.248e+00 4.299e-01 1.248e+00 1.555e+03 - 4 ASM_R ASM_K CST ASM_SC SLV PP UQPH | 805 1.476e-04 1.209e-01 1.197e-01 8.815e-14 2.373e-02 6.740e-02 2.693e-02 6.740e-02 1.539e+02 - 5 ASM_R ASM_K CST ASM_SC SLV PP UQPH | 1076 6.240e-07 5.569e-04 5.515e-04 3.003e-16 1.053e-04 3.640e-04 1.310e-04 3.640e-04 6.834e-01 - 6 ASM_R ASM_K CST ASM_SC SLV PP UQPH | 1346 1.279e-11 4.610e-07 4.610e-07 8.115e-21 2.062e-09 4.382e-07 4.221e-08 4.382e-07 1.330e-05 - 7 ASM_R CONVERGED! + 0 ASM_R ASM_K CST ASM_SC SLV PP UQPH | 516 2.432e-06 1.000e+00 1.000e+00 0.000e+00 0.000e+00 1.000e+00 1.000e+00 1.000e+00 1.000e+00 + 1 ASM_R ASM_K CST ASM_SC SLV PP UQPH | 290 4.660e-03 5.446e+00 8.554e-02 2.602e-10 1.437e+01 4.191e+00 2.550e+00 4.191e+00 1.456e+04 + 2 ASM_R ASM_K CST ASM_SC SLV PP UQPH | 339 7.754e-03 2.780e+00 1.901e+00 7.310e-12 5.352e+00 3.597e+00 2.129e+00 3.597e+00 1.316e+03 + 3 ASM_R ASM_K CST ASM_SC SLV PP UQPH | 325 2.931e-03 1.443e+00 1.380e+00 4.568e-12 1.115e+00 9.874e-01 4.266e-01 9.874e-01 1.250e+03 + 4 ASM_R ASM_K CST ASM_SC SLV PP UQPH | 390 2.072e-04 8.894e-02 8.523e-02 2.469e-13 6.711e-02 4.998e-02 2.656e-02 4.998e-02 1.237e+02 + 5 ASM_R ASM_K CST ASM_SC SLV PP UQPH | 506 8.187e-07 4.081e-04 3.921e-04 8.575e-16 2.980e-04 2.522e-04 1.344e-04 2.522e-04 5.493e-01 + 6 ASM_R ASM_K CST ASM_SC SLV PP UQPH | 613 1.665e-11 3.105e-07 3.105e-07 2.613e-20 5.834e-09 3.108e-07 3.428e-08 3.108e-07 1.066e-05 + 7 ASM_R CONVERGED! ___________________________________________________________________________________________________________________________________________________________ Relative errors: -Displacement: 4.221e-08 -Force: 9.444e-12 -Dilatation: 6.731e-08 +Displacement: 3.428e-08 +Force: 6.310e-12 +Dilatation: 1.353e-07 v / V_0: 1.000e-09 / 1.000e-09 = 1.000e+00 + [...] Timestep 10 @ 1.000e+00s ___________________________________________________________________________________________________________________________________________________________ - SOLVER STEP | LIN_IT LIN_RES RES_NORM RES_U RES_P RES_J NU_NORM NU_U NU_P NU_J + SOLVER STEP | LIN_IT LIN_RES RES_NORM RES_U RES_P RES_J NU_NORM NU_U NU_P NU_J ___________________________________________________________________________________________________________________________________________________________ - 0 ASM_R ASM_K CST ASM_SC SLV PP UQPH | 1141 1.313e-06 1.000e+00 1.000e+00 1.000e+00 1.000e+00 1.000e+00 1.000e+00 1.000e+00 1.000e+00 - 1 ASM_R ASM_K CST ASM_SC SLV PP UQPH | 969 3.959e-05 1.200e-01 1.200e-01 2.955e+11 4.575e+07 7.143e-02 7.434e-02 7.143e-02 7.143e-02 - 2 ASM_R ASM_K CST ASM_SC SLV PP UQPH | 1153 1.980e-07 2.523e-03 2.523e-03 1.444e+09 5.757e+04 3.790e-03 1.340e-03 3.790e-03 3.794e-03 - 3 ASM_R ASM_K CST ASM_SC SLV PP UQPH | 1340 2.440e-10 1.480e-06 1.480e-06 1.234e+06 2.078e+02 1.387e-06 5.401e-07 1.387e-06 1.387e-06 - 4 ASM_R CONVERGED! + 0 ASM_R ASM_K CST ASM_SC SLV PP UQPH | 556 2.542e-06 1.000e+00 1.000e+00 1.000e+00 1.000e+00 1.000e+00 1.000e+00 1.000e+00 1.000e+00 + 1 ASM_R ASM_K CST ASM_SC SLV PP UQPH | 455 8.017e-05 1.538e-01 1.538e-01 3.522e+11 4.617e+07 6.010e-02 7.396e-02 6.010e-02 6.011e-02 + 2 ASM_R ASM_K CST ASM_SC SLV PP UQPH | 554 4.012e-07 2.896e-03 2.896e-03 2.127e+09 5.117e+04 2.720e-03 1.430e-03 2.720e-03 2.724e-03 + 3 ASM_R ASM_K CST ASM_SC SLV PP UQPH | 620 4.946e-10 1.728e-06 1.728e-06 1.315e+06 9.778e+01 1.150e-06 6.268e-07 1.150e-06 1.150e-06 + 4 ASM_R CONVERGED! ___________________________________________________________________________________________________________________________________________________________ Relative errors: -Displacement: 5.401e-07 -Force: 1.804e-10 -Dilatation: 7.492e-07 +Displacement: 6.268e-07 +Force: 1.873e-10 +Dilatation: 1.525e-06 v / V_0: 9.999e-10 / 1.000e-09 = 9.999e-01 @endcode diff --git a/deal.II/examples/step-44/step-44.cc b/deal.II/examples/step-44/step-44.cc index 75f0879c77..1b6fc658f7 100644 --- a/deal.II/examples/step-44/step-44.cc +++ b/deal.II/examples/step-44/step-44.cc @@ -1134,8 +1134,7 @@ namespace Step44 // Apply Dirichlet boundary conditions on // the displacement field void - make_constraints(const int & it_nr, - ConstraintMatrix & constraints); + make_constraints(const int & it_nr); // Create and update the quadrature // points. Here, no data needs to be @@ -2120,10 +2119,10 @@ namespace Step44 // continue with the iteration, we // assemble the tangent, make and // impose the Dirichlet constraints, - // and do the solve of the linearized + // and do the solve of the linearised // system: assemble_system_tangent(); - make_constraints(newton_iteration, constraints); + make_constraints(newton_iteration); constraints.condense(tangent_matrix, system_rhs); const std::pair @@ -2707,8 +2706,7 @@ namespace Step44 // additional contributions are to be made since the constraints // are already exactly satisfied. template - void Solid::make_constraints(const int & it_nr, - ConstraintMatrix & constraints) + void Solid::make_constraints(const int & it_nr) { std::cout << " CST " << std::flush; -- 2.39.5