Skip to content

Constitutive Models

Luc Marechal edited this page Jul 6, 2020 · 110 revisions

Principal Cauchy stress constitutive models

Hyperelastic material models often rely upon the strain energy density function W formulated in terms of strain invariants. Under the assumption of an isotropic incompressible behavior of the material under uniaxial loading, the principal Cauchy stress constitutive models as a function of invariants yields:





where, the Cauchy-Green invariants I1 and I2, are in this particular case a function of the stretch **_lambda_**:

equation

Ogden

Strain energy density function

equation

Principal Cauchy stress

equation

equation

Python implementation

def OgdenModel(self, parameters, Strain):
    """Ogden hyperelastic model (incompressible material under uniaxial tension)
    Uses true strain and true stress data"""

    # parameter is a 1D array : [mu0,mu1,...,mun,alpha0,alpha1,...,alphan] 
    muVec = parameters.reshape(2, self.order)[0]    # muVec is a 1D array : [mu0,mu1,...,mun]
    alphaVec = parameters.reshape(2, self.order)[1] # muVec is a 1D array : [alpha0,alpha1,...,alphan]

    if self.data_type == 'True':
        lambd = np.exp(Strain)   # lambd i.e lambda
    elif self.data_type == 'Engineering':
        lambd = 1 + Strain
    else:
        print("Data type error. Data is neither 'True' or 'Engineering'. ") 

    # broadcasting method to speed up computation
    lambd = lambd[np.newaxis, :]
    muVec = muVec[:self.order, np.newaxis]
    alphaVec = alphaVec[:self.order, np.newaxis]

    if self.data_type == 'True':
        Stress = np.sum(2*muVec*(lambd**(alphaVec - 1) - lambd**(-((1/2)*alphaVec + 1))), axis=0)
    elif self.data_type == 'Engineering':
        Stress = np.sum((2*muVec*(lambd**(alphaVec - 1) - lambd**(-((1/2)*alphaVec + 1)))/lambd), axis=0)

    return Stress

Relevant references

Martins PALS, Natal Jorge RM, Ferreira AJM. A Comparative Study of Several Material Models for Prediction of Hyperelastic Properties: Application to Silicone-Rubber and Soft Tissues. Strain. 2006;42(3):135–147.

Rackl M. Material testing and hyperelastic material model curve fitting for Ogden, Polynomial and Yeoh models. In: ScilabTEC (7th International Scilab Users Confer ence). Paris; 2015.

Ogden RW, Saccomandi G, Sgura I. Fitting hyperelastic models to experimental data. Computational Mechanics. 2004 nov;34(6):484–502.

Bergström J. Elasticity/Hyperelasticity. In: Mechanics of Solid Polymers: Theory and Computational Modeling. William Andrew Publishing; 2015. p.209–307.

Clone this wiki locally