Skip to content

Commit

Permalink
Re-add Examples to Docs
Browse files Browse the repository at this point in the history
  • Loading branch information
adtzlr committed Sep 26, 2023
1 parent 68e90ee commit e2346cf
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 5 deletions.
9 changes: 8 additions & 1 deletion docs/example.md → docs/examples/example.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
---
title: Marc (Neo-Hooke)
layout: page
nav_order: 4
parent: Examples
---

## Examples

This is a very basic example on how to implement a nearly-incompressible version of the Neo-Hookean material model in a commercial FEM package (HYPELA2 for MSC.Marc).
This is a very basic example on how to implement a nearly-incompressible version of the Neo-Hookean material model in a commercial FEM package (HYPELA2 for Marc).

The helmholtz free energy per unit reference volume is additively split into an isochoric and volumetric contribution. The first one is assumed to be proportional to the first invariant of the isochoric right Cauchy-Green deformation tensor whereas the volumetric part is only a function of the volumetric ratio.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
---
title: Marc (Neo-Hooke, 2)
layout: page
nav_order: 4
parent: Examples
---

## Examples

This is a very basic example on how to implement a nearly-incompressible version of the Neo-Hookean material model in a commercial FEM package (HYPELA2 for MSC.Marc). As no special two- or three-field variational principle is used in this example, it is only suitable for elements with reduced integration schemes in cases of nearly-incompressible material behaviour. Otherwise the elements tend to show excessive volumetric locking during deformation and hence, wrong results are calculated. Conventional reduced displacement elements will give good results regarding displacement and convergence for a bulk modulus up to about 50 times the shear modulus.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
---
title: Marc (Saint Venant-Kirchhoff)
layout: page
nav_order: 4
parent: Examples
---

## Example: St. Venant Kirchhoff Material

The following example discusses the implementation of a St.Venant-Kirchhoff material in a very simple and readable user subroutine. The St.Venant-Kirchhoff material is possibly the simplest example for a hyperelastic material but suffers from practical relevance beyond the small strain range [1]. Anyway, it's a good starting point because stress tensor and elasticity matrix are of the same form as the linear elasticity formulation, except that Green-Lagrange strains are used.
Expand All @@ -12,7 +19,7 @@ and
<a href="https://www.codecogs.com/eqnedit.php?latex=\boldsymbol{C}&space;=&space;\boldsymbol{F}^T&space;\boldsymbol{F}" target="_blank"><img src="https://latex.codecogs.com/gif.latex?\boldsymbol{C}&space;=&space;\boldsymbol{F}^T&space;\boldsymbol{F}" title="\boldsymbol{C} = \boldsymbol{F}^T \boldsymbol{F}" /></a>

## Subroutine Header for user materials
Before we are able to add our own user code, we have to start with an empty fortran subroutine header for MSC.Marc's HYPELA2. Similar headers are provided for Abaqus, ANSYS, etc in the corresponding manuals.
Before we are able to add our own user code, we have to start with an empty fortran subroutine header for Marc's HYPELA2. Similar headers are provided for Abaqus, ANSYS, etc in the corresponding manuals.

```fortran
include 'ttb/ttb_library.f'
Expand Down Expand Up @@ -138,7 +145,7 @@ If we would like to use the Updated Lagrange framework too, we'll have to check
endif
```

In this code `iupdat` is an integer with `0` for total lagrange and `1` for updated lagrange. You may download the whole example as a [HYPELA2 user subroutine](examples/hypela2_stvenantkirchhoff.f) for MSC.Marc.
In this code `iupdat` is an integer with `0` for total lagrange and `1` for updated lagrange. You may download the whole example as a [HYPELA2 user subroutine](examples/hypela2_stvenantkirchhoff.f) for Marc.

## Sources
[1] Bonet, J., Gil, A. J., & Wood, R. D. (2016). Nonlinear Solid Mechanics for Finite Element Analysis: Statics. Cambridge University Press. [![DOI:10.1017/cbo9781316336144](https://zenodo.org/badge/DOI/10.1017/cbo9781316336144.svg)](https://doi.org/10.1017/cbo9781316336144)
Expand Down
6 changes: 6 additions & 0 deletions docs/examples/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
title: Examples
layout: page
nav_order: 4
has_children: true
---
4 changes: 2 additions & 2 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ Andreas Dutzler. *Tensor Toolbox for Modern Fortran - High-Level Tensor Manipula
- [Quick Start Guide]({% link installation/quickstartguide.md %})
- [Tensor Data Types]({% link api/tensordatatypes.md %})
- [API Reference]({% link api/index.md %})
- Example 1: [St.Venant-Kirchhoff Material]({% link example_stvenantkirchhoff.md %})
- Example 2: [Nearly-Incompressible Neo-Hookean Material]({% link example_neohooke.md %})
- Example 1: [St.Venant-Kirchhoff Material]({% link examples/example_stvenantkirchhoff.md %})
- Example 2: [Nearly-Incompressible Neo-Hookean Material]({% link examples/example_neohooke.md %})
- Example 3: [Neo-Hookean Hyperelasticity with Maxwell-Viscoelasticity](examples/hypela2_nonlinear_viscoelasticity.f)

## Author
Expand Down

0 comments on commit e2346cf

Please sign in to comment.