Regime switching Kocks-Mecking creep

Overview

This model implements a creep law based on the Kocks-Mecking normalized activation energy [KM2003]. The basic creep rate law is

F = -\frac{\mu b^3}{kT}

\dot{\varepsilon}^{cr} = \dot{\varepsilon}_0 \exp\left( B F \right) \left(\frac{\sigma_{eq}}{\mu} \right)^{A F}.

Here \dot{\varepsilon}_0, A, B are parameters, \mu is the temperature dependent shear modulus, k is the Boltzmann constant, and b is a Burgers vector length. The model constants can be fit using a Kocks-Mecking diagram.

The formulation can switch between different Kocks-Mecking models as a function of normalized stress s = \frac{\sigma_{eq}}{\mu}. The model first computes the normalized stress. It then consults a table of n normalized stress cutoffs, c_i. If s \le c_1 then the model applies the strain rate equation above using constants A_1 and B_1. If c_i < s \le c_{i+1} then the model uses constants A_{i+1} and B_{i+1}. If s > c_n then the model uses A_n and B_n.

Parameters

Parameter

Object type

Description

Default

cuts

std::vector<double>

Normalized stress cutoffs

No

A

std::vector<neml::Interpolate>

Corresponding A constants

No

B

std::vector<neml::Interpolate>

Corresponding B constants

No

kboltz

double

Boltzmann constant

No

b

double

Burgers vector

No

eps0

double

Reference strain rate

No

emodel

neml::LinearElasticModel

Elastic model (for shear modulus)

No

Class description

class RegionKMCreep : public neml::ScalarCreepRule

A power law type model that uses KM concepts to switch between mechanisms.

Public Functions

RegionKMCreep(ParameterSet &params)

Inputs: cuts in normalized activation energy, prefactors for each region exponents for each region, boltzmann constant, burgers vector, reference strain rate, elastic model, to compute mu

virtual void g(double seq, double eeq, double t, double T, double &g) const

See documentation for details of the creep rate.

virtual void dg_ds(double seq, double eeq, double t, double T, double &dg) const

Derivative of creep rate wrt effective stress.

virtual void dg_de(double seq, double eeq, double t, double T, double &dg) const

Derivative of creep rate wrt effective strain.

Public Static Functions

static std::string type()

String type for the object system.

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

Setup from a parameter set.

static ParameterSet parameters()

Return the default parameters.