Viscoplastic model wrapper

Overview

This class wraps the standard Viscoplastic general flow rule class to work with the History object system variable system, which associates names and types with internal variables.

Parameters

Abstract base class

Class description

class WrappedViscoPlasticFlowRule : public neml::ViscoPlasticFlowRule

Wrapper between ViscoPlasticFlowRule and a version using the “fancy” objects.

Subclassed by neml::TestFlowRule, neml::WalkerFlowRule

Public Functions

WrappedViscoPlasticFlowRule(ParameterSet &params)

Default constructor sets up the structs for the conversion.

virtual void y(const double *const s, const double *const alpha, double T, double &yv) const

Scalar inelastic strain rate.

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

Wrapped scalar inelastic strain rate.

virtual void dy_ds(const double *const s, const double *const alpha, double T, double *const dyv) const

Derivative of y wrt stress.

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

Wrapped derivative of y wrt stress.

virtual void dy_da(const double *const s, const double *const alpha, double T, double *const dyv) const

Derivative of y wrt history.

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

Wrapped derivative of y wrt history.

virtual void g(const double *const s, const double *const alpha, double T, double *const gv) const

Flow rule proportional to the scalar strain rate.

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

Wrapped flow rule proportional to the scalar strain rate.

virtual void dg_ds(const double *const s, const double *const alpha, double T, double *const dgv) const

Derivative of g wrt stress.

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

Wrapped derivative of g wrt stress.

virtual void dg_da(const double *const s, const double *const alpha, double T, double *const dgv) const

Derivative of g wrt history.

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

Wrapped derivative of g wrt history.

virtual void h(const double *const s, const double *const alpha, double T, double *const hv) const

Hardening rule proportional to the scalar strain rate.

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

Wrapped hardening rule proportional to the scalar strain rate.

virtual void dh_ds(const double *const s, const double *const alpha, double T, double *const dhv) const

Derivative of h wrt stress.

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

Wrapped derivative of h wrt stress.

virtual void dh_da(const double *const s, const double *const alpha, double T, double *const dhv) const

Derivative of h wrt history.

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

Wrapped derivative of h wrt history.

virtual void h_time(const double *const s, const double *const alpha, double T, double *const hv) const

Hardening rule proportional to time.

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

Wrapped hardening rule proportional to time.

virtual void dh_ds_time(const double *const s, const double *const alpha, double T, double *const dhv) const

Derivative of h_time wrt stress.

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

Wrapped derivative of h_time wrt stress.

virtual void dh_da_time(const double *const s, const double *const alpha, double T, double *const dhv) const

Derivative of h_time wrt history.

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

Wrapped derivative of h_time wrt history.

virtual void h_temp(const double *const s, const double *const alpha, double T, double *const hv) const

Hardening rule proportional to temperature rate.

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

Wrapped hardening rule proportional to temperature rate.

virtual void dh_ds_temp(const double *const s, const double *const alpha, double T, double *const dhv) const

Derivative of h_temp wrt stress.

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

Wrapped derivative of h_temp wrt stress.

virtual void dh_da_temp(const double *const s, const double *const alpha, double T, double *const dhv) const

Derivative of h_temp wrt history.

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

Wrapped derivative of h_temp wrt history.

template<class T>
inline History blank_derivative_() const

Blank derivative of a history.