25#include "neml2/models/solid_mechanics/crystal_plasticity/PowerLawSlipRule.h"
26#include "neml2/models/solid_mechanics/crystal_plasticity/SlipRule.h"
37 "Power law slip rule defined as \\f$ \\dot{\\gamma}_i = \\dot{\\gamma}_0 \\left| "
38 "\\frac{\\tau_i}{\\hat{\\tau}_i} \\right|^{n-1} \\frac{\\tau_i}{\\hat{\\tau}_i} \\f$ with "
39 "\\f$ \\dot{\\gamma}_i \\f$ the slip rate on system \\f$ i \\f$, \\f$ \\tau_i \\f$ the "
40 "resolved shear, \\f$ \\hat{\\tau}_i \\f$ the slip system strength, \\f$ n \\f$ the rate "
41 "senstivity, and \\f$ \\dot{\\gamma}_0 \\f$ a reference slip rate.";
44 options.set(
"gamma0").doc() =
"Reference slip rate";
47 options.set(
"n").doc() =
"Rate sensitivity exponent";
54 _gamma0(declare_parameter<
Scalar>(
"gamma0",
"gamma0")),
55 _n(declare_parameter<
Scalar>(
"n",
"n"))
Definition BatchTensor.h:32
The wrapper (decorator) for cross-referencing unresolved values at parse time.
Definition CrossRef.h:52
TorchSize batch_dim() const
This model's batch dim.
Definition Model.h:110
const torch::TensorOptions & options() const
This model's tensor options.
Definition Model.h:116
A custom map-like data structure. The keys are strings, and the values can be nonhomogeneously typed.
Definition OptionSet.h:59
Power law slip rate of the form .
Definition PowerLawSlipRule.h:33
PowerLawSlipRule(const OptionSet &options)
Definition PowerLawSlipRule.cxx:52
const Scalar & _gamma0
Reference slip rate.
Definition PowerLawSlipRule.h:44
const Scalar & _n
Rate sensitivity.
Definition PowerLawSlipRule.h:47
static OptionSet expected_options()
Definition PowerLawSlipRule.cxx:33
void set_value(bool out, bool dout_din, bool d2out_din2) override
Set the slip rates and derivatives.
Definition PowerLawSlipRule.cxx:60
The (logical) scalar.
Definition Scalar.h:38
Parent class of slip rules, mapping from resolved shear and internal state to slip rates.
Definition SlipRule.h:38
const Variable< BatchTensor > & _rss
Resolved shears.
Definition SlipRule.h:52
const Variable< BatchTensor > & _tau
Slip strengths, mapped from internal variables.
Definition SlipRule.h:55
Variable< BatchTensor > & _g
Slip rates.
Definition SlipRule.h:49
static OptionSet expected_options()
Definition SlipRule.cxx:34
Derived batch_diag_embed(const Derived &a, TorchSize offset=0, TorchSize d1=-2, TorchSize d2=-1)
Definition BatchTensorBase.h:475
Derived pow(const Derived &a, const Real &n)
Definition BatchTensorBase.h:332
Definition CrossRef.cxx:32
void neml_assert_dbg(bool assertion, Args &&... args)
Definition error.h:85
Scalar abs(const Scalar &a)
Absolute value.
Definition Scalar.cxx:48