25#include "neml2/models/solid_mechanics/KocksMeckingRateSensitivity.h"
36 "Calculates the temperature-dependent rate sensitivity for a Perzyna-type model using the "
37 "Kocks-Mecking model. The value is \\f$ n = \\frac{\\mu b^3}{k T A} \\f$ with \\f$ \\mu "
38 "\\f$ the shear modulus, \\f$ b \\f$ the Burgers vector, \\f$ k\\f$ the Boltzmann constant, "
39 "\\f$ T \\f$ absolute temperature, and \\f$ A \\f$ the Kocks-Mecking slope parameter.";
42 options.set(
"A").doc() =
"The Kocks-Mecking slope parameter";
44 options.set(
"shear_modulus").doc() =
"The shear modulus";
47 options.set(
"k").doc() =
"Boltzmann constant";
49 options.set(
"b").doc() =
"The Burgers vector";
52 options.set(
"temperature").doc() =
"Absolute temperature";
58 _A(declare_parameter<
Scalar>(
"A",
"A")),
59 _mu(declare_parameter<
Scalar>(
"shear_modulus",
"shear_modulus")),
60 _k(options.get<
Real>(
"k")),
61 _b3(options.get<
Real>(
"b") * options.get<
Real>(
"b") * options.get<
Real>(
"b")),
62 _T(declare_input_variable<
Scalar>(
"temperature"))
The wrapper (decorator) for cross-referencing unresolved values at parse time.
Definition CrossRef.h:52
A scalar-valued parameter defined by (mu0 - D/(exp(T0/T)-1)) * exp(_C)
Definition KocksMeckingRateSensitivity.h:35
const Real _k
The Boltzmann constant.
Definition KocksMeckingRateSensitivity.h:51
KocksMeckingRateSensitivity(const OptionSet &options)
Definition KocksMeckingRateSensitivity.cxx:56
const Scalar & _mu
The shear modulus.
Definition KocksMeckingRateSensitivity.h:48
const Variable< Scalar > & _T
The temperature.
Definition KocksMeckingRateSensitivity.h:57
const Scalar & _A
The Kocks-Mecking slope.
Definition KocksMeckingRateSensitivity.h:45
static OptionSet expected_options()
Definition KocksMeckingRateSensitivity.cxx:32
const Real _b3
Burgers vector cubed.
Definition KocksMeckingRateSensitivity.h:54
void set_value(bool out, bool dout_din, bool d2out_din2) override
The map between input -> output, and optionally its derivatives.
Definition KocksMeckingRateSensitivity.cxx:67
The accessor containing all the information needed to access an item in a LabeledAxis.
Definition LabeledAxisAccessor.h:44
const torch::TensorOptions & options() const
This model's tensor options.
Definition Model.h:116
The base class for nonlinear parameters.
Definition NonlinearParameter.h:51
Variable< Scalar > & _p
The nonlinear parameter.
Definition NonlinearParameter.h:62
static OptionSet expected_options()
Definition NonlinearParameter.cxx:31
A custom map-like data structure. The keys are strings, and the values can be nonhomogeneously typed.
Definition OptionSet.h:59
const VariableBase * nl_param(const std::string &) const
Query the existence of a nonlinear parameter.
Definition ParameterStore.cxx:56
The (logical) scalar.
Definition Scalar.h:38
Derivative d(const VariableBase &x)
Create a wrapper representing the derivative dy/dx.
Definition Variable.cxx:102
Definition CrossRef.cxx:32
double Real
Definition types.h:33
LabeledAxisAccessor VariableName
Definition Variable.h:35