NonlinearViscosity

Nonlinear Viscosity Model

The NonlinearViscosity class is an abstract class that provides a general nonlinear framework for implementations of various viscous type material, such as a dashpot.

The stress shall be computed by

σ=sign(ε˙)η(ε,ε˙)ε˙α.\sigma=\text{sign}\left(\dot\varepsilon\right)\cdot\eta\left(\varepsilon,\dot\varepsilon\right) \cdot|\dot\varepsilon|^\alpha.

The so-called viscosity η(ε,ε˙)\eta\left(\varepsilon,\dot\varepsilon\right) can be a general function of strain and/or strain rate.

If the target material is not characterized by the classic power-law, it is possible to pass α=0\alpha=0 to the NonlinearViscosity class so that the response becomes

σ=η(ε,ε˙)\sigma=\eta\left(\varepsilon,\dot\varepsilon\right)

that can be purely determined by the derived class.

Things to Pass to Ctor

The default constructor is defined to be

 NonlinearViscosity(unsigned, // tag
                    double,   // alpha
                    double    // cut-off
 );

The second parameter is the exponent α\alpha. The third parameter is a non-negative parameter that defines a segment of cubic function that approximates the original exponential function to achieve a better numerical performance.

Things to Override

Three private methods need to be overridden.

All three methods take strain and strain rate to be two input arguments.

Derived Material Models

Last updated