MATLAB Examples

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/