Test wrapped flow rule

Overview

As a test of the Viscoplastic model wrapper system, this class implements a power law flow rule with hard-coded isotropic hardening:

y = \dot{\varepsilon}_0 \left\langle \frac{\sqrt{3/2} \operatorname{dev} \bm{\sigma} - h}{D} \right\rangle^{n}

with

\dot{h} = K

and h(0) = \sigma_0.

Parameters

Parameter

Object type

Description

Default

eps0

double

Reference strain rate

No

D

double

Drag stress

No

n

double

Rate sensitivity exponent

No

s0

double

Initial hardening strength

No

K

double

Hardening modulus

No

Class description

class TestFlowRule : public neml::WrappedViscoPlasticFlowRule

Test implementation of a simple flow rule.

Public Functions

TestFlowRule(ParameterSet &params)
virtual void populate_hist(History &h) const

Populate a history object.

virtual void init_hist(History &h) const

Initialize the history.

virtual void y(const State &state, double &res) const

Wrapped scalar inelastic strain rate.

virtual void dy_ds(const State &state, Symmetric &res) const

Derivative of y wrt stress.

virtual void dy_da(const State &state, History &res) const

Derivative of y wrt history.

virtual void g(const State &state, Symmetric &res) const

Flow rule proportional to the scalar strain rate.

virtual void dg_ds(const State &state, SymSymR4 &res) const

Derivative of g wrt stress.

virtual void dg_da(const State &state, History &res) const

Derivative of g wrt history.

virtual void h(const State &state, History &res) const

Hardening rule proportional to the scalar strain rate.

virtual void dh_ds(const State &state, History &res) const

Derivative of h wrt stress.

virtual void dh_da(const State &state, History &res) const

Derivative of h wrt history.

Public Static Functions

static std::string type()

String type for the object system.

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

Return default parameters.

static ParameterSet parameters()

Initialize from parameter set.