KinematicPowerLawSlipRule

Overview

This implements multi strength flow rule model of the form:

\dot{\gamma}_{g,i}=\dot{\gamma}_{0}\left\langle \frac{\left|\tau_{g,i}-\bar{\tau}_{g,i}^{back}\right|-\bar{\tau}_{g,i}^{iso}}{\bar{\tau}_{g,i}^{resistance}}\right\rangle ^{n}\operatorname{sign}\left(\tau_{g,i}-\bar{\tau}_{g,i}^{back}\right)

where \dot{\gamma}_0, the reference slip rate, and n, the rate sensitivity, are temperature-dependent parameters. SlipHardening models provide the back, isotropic, and flow resistance strengths.

Parameters

Parameter

Object type

Description

Default

backstrength

neml::SlipHardening

Back strength definition

No

isostrength

neml::SlipHardening

Isotropic strength definition

No

flowresistance

neml::SlipHardening

Flow resistance definition

No

gamma0

neml::Interpolate

Reference slip rate

No

n

neml::Interpolate

Rate sensitivity

No

Class description

class KinematicPowerLawSlipRule : public neml::SlipMultiStrengthSlipRule

Kinematic hardening type power law slip.

Public Functions

KinematicPowerLawSlipRule(ParameterSet &params)

A completely generic slip rule with a backstrength, a isostrength, and a flow resistance.

virtual double sslip(size_t g, size_t i, double tau, std::vector<double> strengths, double T) const

The slip rate on group g, system i given the resolved shear, the strength, and temperature

virtual double d_sslip_dtau(size_t g, size_t i, double tau, std::vector<double> strengths, double T) const

Derivative of slip rate with respect to the resolved shear.

virtual std::vector<double> d_sslip_dstrength(size_t g, size_t i, double tau, std::vector<double> strengths, double T) const

Derivative of the slip rate with respect to the strengths.

Public Static Functions

static std::string type()

String type for the object system.

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

Initialize from a parameter set.

static ParameterSet parameters()

Default parameters.