How to use the Constitutive Law class

(Difference between revisions)
 Revision as of 17:19, 12 July 2015 (view source)Rrossi (Talk | contribs)← Older edit Revision as of 17:21, 12 July 2015 (view source)Rrossi (Talk | contribs) Newer edit → Line 16: Line 16: - 3D case: - 3D case: '''STRAIN''' Voigt Notation:  e00 e11 e22 2*e01 2*e12 2*e02 '''STRAIN''' Voigt Notation:  e00 e11 e22 2*e01 2*e12 2*e02 − '''STRESS''' Voigt Notation:  s00 s11 s22 s01     s12  s02 + '''STRESS''' Voigt Notation:  s00 s11 s22   s01   s12  s02 + + - 2D plane strain/axisymmetric case (4 stress components) + '''STRAIN''' Voigt Notation:  e00 e11 e22 2*e01 + '''STRESS''' Voigt Notation:  s00 s11 s22  s01 − const unsigned int ConstitutiveLaw::msIndexVoigt2D4C [4][2] = { {0, 0}, {1, 1}, {2, 2}, {0, 1} }; − const unsigned int ConstitutiveLaw::msIndexVoigt2D3C [3][2] = { {0, 0}, {1, 1}, {0, 1} }; − − − - 2D plane strain/axisymmetric case (4 stress components) - 2D plane stress - 2D plane stress + '''STRAIN''' Voigt Notation:  e00 e11 2*e01 + '''STRESS''' Voigt Notation:  s00 s11  s01

Revision as of 17:21, 12 July 2015

The constitutive law behaviour is dealt with in kratos by the use of the class "ConstitutiveLaw", with a public interface defined in the file

```  kratos/kratos/includes/constitutive_law.h
```

which also provides some rather extensive inline documentation (in the form of comments in the code).

By design such file aims to provide a very flexible interface to constitutive law modelling, with the specific goal of maximizing the flexibility in the implementation of complex constitutive behaviours. While such approach provide obvious advantages, it also implies that the API is more complex than what would be strictly needed for very simple constitutive laws.

The objective of current HowTo is to provide a brief introduction to the interface

Convenctions

Through the whole section, the following convenctions will be employed:

voigt notation: - 3D case:

``` STRAIN Voigt Notation:  e00 e11 e22 2*e01 2*e12 2*e02
STRESS Voigt Notation:  s00 s11 s22   s01   s12   s02

```

- 2D plane strain/axisymmetric case (4 stress components)

``` STRAIN Voigt Notation:  e00 e11 e22 2*e01
STRESS Voigt Notation:  s00 s11 s22   s01
```

- 2D plane stress

``` STRAIN Voigt Notation:  e00 e11 2*e01
STRESS Voigt Notation:  s00 s11   s01
```