From 45232d623087124e8c83bdc8f56fba0837562e1d Mon Sep 17 00:00:00 2001 From: bangerth Date: Fri, 17 Feb 2012 08:55:29 +0000 Subject: [PATCH] Minor edits. git-svn-id: https://svn.dealii.org/trunk@25110 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/examples/step-44/doc/results.dox | 113 ++++++++++++++--------- 1 file changed, 70 insertions(+), 43 deletions(-) diff --git a/deal.II/examples/step-44/doc/results.dox b/deal.II/examples/step-44/doc/results.dox index e1540a9d3e..8278bdcdee 100644 --- a/deal.II/examples/step-44/doc/results.dox +++ b/deal.II/examples/step-44/doc/results.dox @@ -4,13 +4,13 @@ Firstly, a comparison of a batch of results with that in the literature demonstr
- @image html "Q1-P0_convergence.png" + @image html "step-44.Q1-P0_convergence.png"

Convergence for the Q1-P0-P0 formulation.

- @image html "Q2-P1_convergence.png" + @image html "step-44.Q2-P1_convergence.png"

Convergence for the Q2-P1-P1 formulation.

@@ -31,16 +31,16 @@ Triangulation: 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 | 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! ___________________________________________________________________________________________________________________________________________________________ Relative errors: Displacement: 4.221e-08 @@ -52,13 +52,13 @@ 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 | 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! ___________________________________________________________________________________________________________________________________________________________ Relative errors: Displacement: 5.401e-07 @@ -89,26 +89,26 @@ Using the Timer class, we can discern which parts of the code require the highes Much of the code in the tutorial has been developed based on the optimisations described, discussed and demonstrated in Step-18 and others. With over 93% of the time being spent in the linear solver, it is obvious that it may be necessary to invest in a better solver for large three-dimensional problems. The SSOR preconditioner is not multi-threaded but is effective for this class of solid problems. It may be beneficial to investigate the use of another solver such as those available through Trilinos. -Using ParaView, we visualise the results for the vertical displacement of the centre-point of the traction surface and pressure field from two of the cases. +Using ParaView, we visualise the results for the vertical displacement of the centre-point of the traction surface and pressure field from two of the cases. The first case shown is that using the coarsest grid using the lowest order interpolation method, namely the Q1-P0-P0 element. It is clear that the coarse spatial discretisation coupled with large displacements leads to a low quality solution. Additionally, the pressure difference between elements is very large. The constant pressure field on the element ensures that the large pressure gradient is not captured. However, it should be noted that locking that would be present in a standard Q1 displacement formulation still does not arise in this poorly discretised case. The images below show the results for the tri-linear displacement formulation with p/p0=80.
- @image html "Q1-P0_gr_1_p_ratio_80-displacement.png" + @image html "step-44.Q1-P0_gr_1_p_ratio_80-displacement.png"

Z-displacement solution.

- @image html "Q1-P0_gr_1_p_ratio_80-pressure.png" + @image html "step-44.Q1-P0_gr_1_p_ratio_80-pressure.png"

Discontinuous piece-wise constant pressure field.

- @image html "Q1-P0_gr_1_p_ratio_80-dilatation.png" + @image html "step-44.Q1-P0_gr_1_p_ratio_80-dilatation.png"

Discontinuous piece-wise constant dilatation field.

@@ -123,19 +123,19 @@ Both spatial refinement and the use of a higher-order interpolation scheme resul
- @image html "Q2-P1_gr_3_p_ratio_80-displacement.png" + @image html "step-44.Q2-P1_gr_3_p_ratio_80-displacement.png"

- Z-displacement solution. + Z-displacement solution.

- @image html "Q2-P1_gr_3_p_ratio_80-pressure.png" + @image html "step-44.Q2-P1_gr_3_p_ratio_80-pressure.png"

Discontinuous linear pressure field.

- @image html "Q2-P1_gr_3_p_ratio_80-dilatation.png" + @image html "step-44.Q2-P1_gr_3_p_ratio_80-dilatation.png"

Discontinuous linear dilatation field.

@@ -146,34 +146,61 @@ Here we observe the true extent of the applied traction, with the maximum force A brief analysis of the results for an selection of input parameters for the described problem demonstrates that the three-field formulation is effective in circumventing volumetric-locking of highly-incompressible media. The mixed formulation is able to accurately simulate the displacement of a near-incompressible block under compression. The command-line output indicates that the volumetric change under extreme compression resulted in less than 0.01% volume change for a Poisson's ratio of 0.4999. -In terms of run-time, the Q2-P1-P1 formulation tends to be a bit more computationally expensive than the Q1-P0-P0 for a similar number of degree-of-freedom (produced by adding an extra grid refinement level for the lower order interpolation method). This is demonstrated in the graph below for a batch of tests run serially on a single 4-core (8 thread) machine. +In terms of run-time, the Q2-P1-P1 formulation tends to be a bit more computationally expensive than the Q1-P0-P0 for a similar number of degree-of-freedom (produced by adding an extra grid refinement level for the lower order interpolation method). This is demonstrated in the graph below for a batch of tests run serially on a single 4-core (8 thread) machine.
- @image html "Normalised_runtime.png" + @image html "step-44.Normalised_runtime.png"

Runtime on a 4-core machine, normalised against the lowest grid resolution Q1-P0 solution that utilised a SSOR preconditioner.

-The increase in computational time for the higher order method is likely due to the increased band-width required for the higher order elements. As previously mentioned, the use of a better solver and precondtioner may mitigate the expense of using a higher-order formulation. It was observed that using the multithreaded Jacobi preconditioner does reduced computational runtime by up to 25% in comparison to the single-thread SSOR preconditioner. However, it is the author's experience that the Jacobi method of preconditioning may not be suitable for some finite-strain problems involving different constitutive models. +The increase in computational time for the higher order method is likely due to the increased band-width required for the higher order elements. As previously mentioned, the use of a better solver and precondtioner may mitigate the expense of using a higher-order formulation. It was observed that using the multithreaded Jacobi preconditioner does reduce computational runtime by up to 25% in comparison to the single-thread SSOR preconditioner. However, it is the author's experience that the Jacobi method of preconditioning may not be suitable for some finite-strain problems involving different constitutive models.

Possibilities for extensions

-There are a number of obvious extensions for this work. - -Firstly, an additional constraint could be added to the free-energy function in order to enforce a high degree of incompressibility in materials. An additional Lagrange multiplier would be introduced, but this could most easily be dealt with using the principle of augented Lagrange multipliers. This is demonstrated in Simo and Taylor (1991) . - -The constitutive relationship used in this model is very basic. It may be beneficial to split the the material class into two separate classes, one dealing with the volumetric response and the other the isochoric response, and produce a generic materials class that would allow for the addition of more complex material models. Such models could include other hyperelastic materials, plasticity and viscoelastic materials and others. - -The program has been developed for solving problems on single-node multicore machines. With a little effort, the program could be extended to a large-scale computing environment through the use of Petsc or Trilinos, using a similar technique to that demonstrated in step-40. This would mostly involve changes to the setup, assembly, Point History and linear solver routines. - -As this program solves assumes quasi-static equilibrium, extension to include dynamic effects would be necessary to study problems where inertial effects are important, e.g. problems involving impact. - -Load and solution limiting procedures may be necessary for highly nonlinear problems. It is possible to add a linesearch algorithm to limit the step size within a Newton increment to ensure optimum convergence. It may also be necessary to use a load limiting method, such as the Riks method, to solve unstable problems involving geometric nonlinearity such as buckling and snap-through. - -Many physical problems involve contact. It is possible to include the effect of frictional or frictionless contact between objects into this program. This would involve that addition of an extra term in the free-energy functional and therefore addition to the assembly routine would be required in addition to managing the contact problem (detection and stress calculations) itself. - -Finally, adaptive mesh refinement, as demonstrated in step-18, could provide additional solution accuracy. +There are a number of obvious extensions for this work: + +- Firstly, an additional constraint could be added to the free-energy + function in order to enforce a high degree of incompressibility in + materials. An additional Lagrange multiplier would be introduced, + but this could most easily be dealt with using the principle of + augented Lagrange multipliers. This is demonstrated in Simo and + Taylor (1991) . +- The constitutive relationship used in this + model is very basic. It may be beneficial to split the material + class into two separate classes, one dealing with the volumetric + response and the other the isochoric response, and produce a generic + materials class that would allow for the addition of more complex + material models. Such models could include other hyperelastic + materials, plasticity and viscoelastic materials and others. +- The program has been developed for solving problems on single-node + multicore machines. With a little effort, the program could be + extended to a large-scale computing environment through the use of + Petsc or Trilinos, using a similar technique to that demonstrated in + step-40. This would mostly involve changes to the setup, assembly, + PointHistory and linear solver routines. +- As this program assumes quasi-static equilibrium, extensions to + include dynamic effects would be necessary to study problems where + inertial effects are important, e.g. problems involving impact. +- Load and solution limiting procedures may be necessary for highly + nonlinear problems. It is possible to add a linesearch algorithm to + limit the step size within a Newton increment to ensure optimum + convergence. It may also be necessary to use a load limiting method, + such as the Riks method, to solve unstable problems involving + geometric nonlinearity such as buckling and snap-through. + +- Many physical problems involve contact. It is possible to include + the effect of frictional or frictionless contact between objects + into this program. This would involve the addition of an extra term + in the free-energy functional and therefore an addition to the + assembly routine. One would also need to manage the contact problem + (detection and stress calculations) itself. An alternative to + additional penalty terms in the free-energy functional would be to + use active set methods such as the one used in step-41. + +- Finally, adaptive mesh refinement, as demonstrated in step-18, could + provide additional solution accuracy. -- 2.39.5