Skip to content

[examples] Add hyperelasticity example

Carsten Gräser requested to merge feature/hyperelasticity into master

This adds an example of a hyperelastic problem with Neo-Hook material. The problem is solved using a plain Newton method. Assemblers are implemented using Dune::Fufem::Forms.

Some remarks:

  • The density is implemented in a relatively flexible way. Using other material laws with a different dependence on det(F) should be easy.
  • This requires some utilities for derivatives of the determinante function. We may want to add those to Dune::Fufem::. Second order derivatives are only implemented directionally. A rudimentary test is contained in the example.
  • Quadrature order is currently deduced as if the coefficients are gradients from the FE space. One may want to lift the order.
  • My impression is that the assembler is currently very slow. I'm unsure if this is unavoidable, due to plenty of determinant/cofactor computations, if it's slow because of inefficient formulas for determinant derivatives, or if this is caused by the Dune::Fufem::Forms:: assembler.

In summary: There's several things that one may want to improve. But the current status documents how far you can get starting from scratch in one day.

Merge request reports