# Sigma1D

Constitutive law in 1D elastodynamics

## Syntax

sigma = Sigma1D(job)

## Description

`sigma = Sigma1D(job)` can carry out several computations related to the equation of state. Here, Landau's law with parameters (`E`, `Beta`, `Delta`) and mass density `Rho0` is implemented. The parameters are set in the file RiemannParameters.txt. The available features are:

- if
`job`is equal to`'law'`, then`Sigma1D`returns a character string with the name of the constitutive law ; - if
`job`is equal to`'c0'`, then`Sigma1D`returns a character string with the linear sound speed ; - if
`job`is equal to`'sigma'`, then`Sigma1D`returns an anonymous function which computes the stress for a given strain ; - if
`job`is equal to`'dsigma'`, then`Sigma1D`returns an anonymous function which computes the derivative of the stress with respect to the strain ; - if
`job`is equal to`'C'`, then`Sigma1D`returns an anonymous function which computes a primitive of the sound speed for a given strain ; - if
`job`is equal to`'cm1m'`, then`Sigma1D`returns an anonymous function which computes the strain (which has a smaller value than the inflection point`eps0`) for a given sound speed ; - if
`job`is equal to`'cm1p'`, then`Sigma1D`returns an anonymous function which computes the strain (which has a larger value than the inflection point`eps0`) for a given sound speed. When the constitutive law is concave, cm1m and cm1p are identical ; - if
`job`is equal to`'hyperbo'`, then`Sigma1D`returns the hyperbolicity domain`[epsinf,epssup]`; - if
`job`is equal to`'convexity'`, then`Sigma1D`returns a character string (among`'linear'`,`'concave'`and`'convex-concave'`) which specifiesthe convexity of the constitutive law .

The next instructions are only useful for non-concave constitutive laws. Indeed, if the constitutive law is concave, they return `-Inf`.

- if
`job`is equal to`'epsstar'`, then`Sigma1D`returns an anonymous function that computes the strain at one tangent state for a given strain ; - if
`job`is equal to`'epsdagger'`, then`Sigma1D`returns an anonymous function that computes the strain at the other tangent state for a given strain ; - if
`job`is equal to`'eps0'`, then`Sigma1D`returns the inflexion point.

Other concave and convex-concave constitutive laws can be implemented by modifying the outputs of `Sigma1D` in the file Sigma1D.m.

## Examples

Let us assume that there is a valid RiemannParameters.txt file in the current MATLAB folder. Here, we use the file which is generated by `Config1D`.

```
c0 = Sigma1D('c0')
```

c0 = 1.9612e+03

```
sigma = Sigma1D('sigma');
stress = sigma(linspace(-1e-5,1e-5,5))
```

stress = 1.0e+05 * -1.0009 -0.5002 0 0.4997 0.9989

## See also

`RiemannElasto1D` | `Config1D` | `Solve1D`

http://gchiavassa.perso.centrale-marseille.fr/RiemannElasto/