25#include "neml2/models/solid_mechanics/RateIndependentPlasticFlowConstraint.h"
35 options.doc() =
"Solve the consistent plasticity yield envelope by solving the equivalent "
36 "complementarity condition \\f[ r = \\dot{\\gamma} - f^p - "
37 "\\sqrt{{\\dot{\\gamma}}^2 + {f^p}^2} \\f]";
40 options.set(
"yield_function").doc() =
"Yield function";
43 options.set(
"flow_rate").doc() =
"Flow rate";
51 _fp(declare_input_variable<
Scalar>(
"yield_function")),
52 _gamma_dot(declare_input_variable<
Scalar>(
"flow_rate")),
53 _r(declare_output_variable<
Scalar>(
54 options.get<
VariableName>(
"flow_rate").slice(1).on(
"residual")))
The wrapper (decorator) for cross-referencing unresolved values at parse time.
Definition CrossRef.h:52
The accessor containing all the information needed to access an item in a LabeledAxis.
Definition LabeledAxisAccessor.h:44
The base class for all constitutive models.
Definition Model.h:53
const torch::TensorOptions & options() const
This model's tensor options.
Definition Model.h:116
static OptionSet expected_options()
Definition Model.cxx:33
A custom map-like data structure. The keys are strings, and the values can be nonhomogeneously typed.
Definition OptionSet.h:59
Definition RateIndependentPlasticFlowConstraint.h:32
RateIndependentPlasticFlowConstraint(const OptionSet &options)
Definition RateIndependentPlasticFlowConstraint.cxx:48
const Variable< Scalar > & _fp
Plastic yield function.
Definition RateIndependentPlasticFlowConstraint.h:42
Variable< Scalar > & _r
The residual for the consistency parameter equation.
Definition RateIndependentPlasticFlowConstraint.h:48
const Variable< Scalar > & _gamma_dot
Flow rate (rate of the consistency parameter)
Definition RateIndependentPlasticFlowConstraint.h:45
static OptionSet expected_options()
Definition RateIndependentPlasticFlowConstraint.cxx:32
void set_value(bool out, bool dout_din, bool d2out_din2) override
The map between input -> output, and optionally its derivatives.
Definition RateIndependentPlasticFlowConstraint.cxx:59
The (logical) scalar.
Definition Scalar.h:38
static Scalar identity_map(const torch::TensorOptions &options=default_tensor_options())
The derivative of a Scalar with respect to itself.
Definition Scalar.cxx:35
Derivative d(const VariableBase &x)
Create a wrapper representing the derivative dy/dx.
Definition Variable.cxx:102
Derived sqrt(const Derived &a)
Definition BatchTensorBase.h:439
Definition CrossRef.cxx:32
void neml_assert_dbg(bool assertion, Args &&... args)
Definition error.h:85
LabeledAxisAccessor VariableName
Definition Variable.h:35