PowerLawInelasticity

Overview

This class implements isotropic power-law perfect viscoplasticity with the form:

\mathbf{D}^p = A \sigma_{eq}^{n-1} \mathbf{s}

\mathbf{W}^p = \mathbf{0}

where

\sigma_{eq} = \sqrt{\frac{3}{2} \mathbf{s} : \mathbf{s}},

\mathbf{s} = \bm{\sigma} - \frac{1}{3} \operatorname{tr}\left( \bm{\sigma} \right) \mathbf{I},

and A and n are parameters. Note this is then the standard J_2 flow rule.

The implementation does not require any internal variables.

Parameters

Parameter

Object type

Description

Default

A

neml::Interpolate

Prefactor as a function of temperature

No

n

neml::Interpolate

Rate sensitivity as a function of temperature

No

Class description

class PowerLawInelasticity : public neml::InelasticModel

An isotropic power law creep model, typically combined with slip system models to represent diffusion

Public Functions

PowerLawInelasticity(ParameterSet &params)
virtual void populate_hist(History &history) const

Setup history variables (none used in this implementation)

virtual void init_hist(History &history) const

Initialize the history variables (n/a)

virtual double strength(const History &history, Lattice &L, double T, const History &fixed) const

Helper for external models that want an average strength.

virtual Symmetric d_p(const Symmetric &stress, const Orientation &Q, const History &history, Lattice &lattice, double T, const History &fixed) const

Symmetric part of the deformation rate.

virtual SymSymR4 d_d_p_d_stress(const Symmetric &stress, const Orientation &Q, const History &history, Lattice &lattice, double T, const History &fixed) const

Derivative of the symmetric part with respect to the stress.

virtual History d_d_p_d_history(const Symmetric &stress, const Orientation &Q, const History &history, Lattice &lattice, double T, const History &fixed) const

Derivative of the symmetric part with respect to the history (null here)

virtual History history_rate(const Symmetric &stress, const Orientation &Q, const History &history, Lattice &lattice, double T, const History &fixed) const

History rate (null)

virtual History d_history_rate_d_stress(const Symmetric &stress, const Orientation &Q, const History &history, Lattice &lattice, double T, const History &fixed) const

Derivative of the history with respect to the stress (null here)

virtual History d_history_rate_d_history(const Symmetric &stress, const Orientation &Q, const History &history, Lattice &lattice, double T, const History &fixed) const

Derivative of the history rate with respect to the history (null here)

virtual Skew w_p(const Symmetric &stress, const Orientation &Q, const History &history, Lattice &lattice, double T, const History &fixed) const

Skew part of the deformation rate (zero here)

virtual SkewSymR4 d_w_p_d_stress(const Symmetric &stress, const Orientation &Q, const History &history, Lattice &lattice, double T, const History &fixed) const

Derivative of the skew part with respect to stress (=0)

virtual History d_w_p_d_history(const Symmetric &stress, const Orientation &Q, const History &history, Lattice &lattice, double T, const History &fixed) const

Derivative of the skew part with respect to the history (null here)

Public Static Functions

static std::string type()

String type for the object system.

static std::unique_ptr<NEMLObject> initialize(ParameterSet &params)

Initialize from parameter set.

static ParameterSet parameters()

Default parameters.