`Mechanics Analytic Validation`

*Module:* `devtests.mechanics.analytic.run`

*Section author: Christoph Augustin <christoph.augustin@medunigraz.at>*

This example runs simple deformation tests on small meshes for which an equivalent analytic solution is known.

The experiments all apply simple deformations to a unit cube:

`--experiment uniaxial`

The uniaxial strain example constrains the , and surfaces to lie in those planes, and applies a deformation on the surface to .

`--experiment biaxial`

The biaxial strain example constrains the , and surfaces to lie in those planes, and applies a deformation on the and surfaces to and respectively.

`--experiment pshear`

The pure shear example constrains the , , and surfaces to lie in those planes, and applies a deformation on the surface to .

All of the above experiments are carried out with the following material models:

- neo-Hookean
`--material neohookean`

- St. Venant–Kirchhoff
`--material stvk`

- Mooney-Rivlin
`--material mooneyrivlin`

- Demiray
`--material demiray`

- compressible neo-Hookean
`--material neohookecomp`

- Holzapfel et al. (2000) material
`--material holzapfel2000`

- reduced Holzapfel et al. (2000) material
`--material rH2000`

- Gasser et al. (2006) material with dispersion
`--material gasser2006d`

- Guccione et al (1995) myocardial material
`--material guccione1995`

- Usyk et al (2000), Costa et al. (2001) material
`--material usyk2000`

- Holzapfel-Ogden (2009) material
`--material holzapfelogden2009`

- reduced Holzapfel-Ogden material
`--material rHO2009`

- reduced Holzapfel-Ogden material with dispersion
`--material rHO2009d`

Todo

Some othotropic materials (gasser, usyk) struggle for uniaxial tests

Compare the calculated stresses for a “uniaxial” deformation using the “neohookean” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “uniaxial” deformation using the “neohookean” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “uniaxial” deformation using the “mooneyrivlin” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “uniaxial” deformation using the “mooneyrivlin” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “uniaxial” deformation using the “demiray” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “uniaxial” deformation using the “demiray” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “uniaxial” deformation using the “rH2000” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “uniaxial” deformation using the “rH2000” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “uniaxial” deformation using the “guccione1995” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “uniaxial” deformation using the “guccione1995” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “uniaxial” deformation using the “rHO2009” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “uniaxial” deformation using the “rHO2009” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “uniaxial” deformation using the “rHO2009d” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “uniaxial” deformation using the “rHO2009d” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “uniaxial” deformation using the “holzapfel2000” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “uniaxial” deformation using the “holzapfel2000” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “uniaxial” deformation using the “holzapfelogden2009” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “uniaxial” deformation using the “holzapfelogden2009” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “uniaxial” deformation using the “fullholzapfelogden” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “uniaxial” deformation using the “fullholzapfelogden” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “biaxial” deformation using the “neohookean” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “biaxial” deformation using the “neohookean” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “biaxial” deformation using the “mooneyrivlin” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “biaxial” deformation using the “mooneyrivlin” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “biaxial” deformation using the “demiray” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “biaxial” deformation using the “demiray” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “biaxial” deformation using the “rH2000” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “biaxial” deformation using the “rH2000” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “biaxial” deformation using the “gasser2006d” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “biaxial” deformation using the “gasser2006d” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “biaxial” deformation using the “guccione1995” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “biaxial” deformation using the “guccione1995” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “biaxial” deformation using the “usyk2000” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “biaxial” deformation using the “usyk2000” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “biaxial” deformation using the “rHO2009” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “biaxial” deformation using the “rHO2009” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “biaxial” deformation using the “rHO2009d” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “biaxial” deformation using the “rHO2009d” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “biaxial” deformation using the “holzapfel2000” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “biaxial” deformation using the “holzapfel2000” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “biaxial” deformation using the “holzapfelogden2009” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “biaxial” deformation using the “holzapfelogden2009” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “biaxial” deformation using the “fullholzapfelogden” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “biaxial” deformation using the “fullholzapfelogden” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “pshear” deformation using the “neohookean” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “pshear” deformation using the “neohookean” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “pshear” deformation using the “mooneyrivlin” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “pshear” deformation using the “mooneyrivlin” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “pshear” deformation using the “demiray” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “pshear” deformation using the “demiray” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “pshear” deformation using the “rH2000” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “pshear” deformation using the “rH2000” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “pshear” deformation using the “guccione1995” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “pshear” deformation using the “guccione1995” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “pshear” deformation using the “usyk2000” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “pshear” deformation using the “usyk2000” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “pshear” deformation using the “rHO2009” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “pshear” deformation using the “rHO2009” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “pshear” deformation using the “rHO2009d” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “pshear” deformation using the “rHO2009d” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “pshear” deformation using the “holzapfel2000” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “pshear” deformation using the “holzapfel2000” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “pshear” deformation using the “holzapfelogden2009” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “pshear” deformation using the “holzapfelogden2009” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)

Compare the calculated stresses for a “pshear” deformation using the “fullholzapfelogden” material model against the analytic solution.

**Checks:**

- Compare against analytic solution defined by analytic_solution(): max_error(stressTensor.igb.gz)