StandardKinematicModel

Overview

This KinematicModel implements the kinematic assumptions described in the overview of the crystal plasticity model. The stress and rotation rates match those developed in that derivation. The history rate and variables are left to be generic, as are the exact form of the plastic deformation rate. These are defined by the

class and associated objects.

Parameters

Parameter

Object type

Description

Default

emodel

neml::LinearElasticModel

Elasticity tensor

No

imodel

neml::InelasticModel

Definition of the plastic deformation rate

No

Class description

class StandardKinematicModel : public neml::KinematicModel

My standard kinematic assumptions, outlined in the manual.

Subclassed by neml::DamagedStandardKinematicModel

Public Functions

StandardKinematicModel(ParameterSet &params)

Initialize with elastic and inelastic models.

virtual void populate_hist(History &history) const

Populate a history object with the correct variables.

virtual void init_hist(History &history) const

Initialize the history object with the starting values.

virtual double strength(const History &history, Lattice &L, double T, const History &fixed) const

Helper for external models that want a strength.

virtual History decouple(const Symmetric &stress, const Symmetric &d, const Skew &w, const Orientation &Q, const History &history, Lattice &lattice, double T, const History &fixed)

Anything added to this History instance will be kept fixed in the implicit integration

virtual Symmetric stress_rate(const Symmetric &stress, const Symmetric &d, const Skew &w, const Orientation &Q, const History &history, Lattice &lattice, double T, const History &fixed) const

Stress rate.

virtual SymSymR4 d_stress_rate_d_stress(const Symmetric &stress, const Symmetric &d, const Skew &w, const Orientation &Q, const History &history, Lattice &lattice, double T, const History &fixed) const

Derivative of stress rate with respect to stress.

virtual SymSymR4 d_stress_rate_d_d(const Symmetric &stress, const Symmetric &d, const Skew &w, const Orientation &Q, const History &history, Lattice &lattice, double T, const History &fixed) const

Derivative of the stress rate with respect to the deformation rate.

virtual SymSkewR4 d_stress_rate_d_w(const Symmetric &stress, const Symmetric &d, const Skew &w, const Orientation &Q, const History &history, Lattice &lattice, double T, const History &fixed) const

Derivative of the stress rate with respect to the vorticity.

virtual History d_stress_rate_d_history(const Symmetric &stress, const Symmetric &d, const Skew &w, const Orientation &Q, const History &history, Lattice &lattice, double T, const History &fixed) const

Derivative of the stress rate with respect to the history.

virtual History history_rate(const Symmetric &stress, const Symmetric &d, const Skew &w, const Orientation &Q, const History &history, Lattice &lattice, double T, const History &fixed) const

History rate.

virtual History d_history_rate_d_stress(const Symmetric &stress, const Symmetric &d, const Skew &w, const Orientation &Q, const History &history, Lattice &lattice, double T, const History &fixed) const

Derivative of the history rate with respect to the stress.

virtual History d_history_rate_d_d(const Symmetric &stress, const Symmetric &d, const Skew &w, const Orientation &Q, const History &history, Lattice &lattice, double T, const History &fixed) const

Derivative of the history rate with respect to the deformation rate.

virtual History d_history_rate_d_w(const Symmetric &stress, const Symmetric &d, const Skew &w, const Orientation &Q, const History &history, Lattice &lattice, double T, const History &fixed) const

Derivative of the history rate with respect to the vorticity.

virtual History d_history_rate_d_history(const Symmetric &stress, const Symmetric &d, const Skew &w, const Orientation &Q, const History &history, Lattice &lattice, double T, const History &fixed) const

Derivative of the history rate with respect to the history.

virtual SymSkewR4 d_stress_rate_d_w_decouple(const Symmetric &stress, const Symmetric &d, const Skew &w, const Orientation &Q, const History &history, Lattice &lattice, double T, const History &fixed)

Derivative of the stress rate with respect to the vorticity keeping fixed variables fixed

virtual Skew spin(const Symmetric &stress, const Symmetric &d, const Skew &w, const Orientation &Q, const History &history, Lattice &lattice, double T, const History &fixed) const

The spin rate.

virtual Symmetric elastic_strains(const Symmetric &stress, Lattice &lattice, const Orientation &Q, const History &history, double T)

Helper to calculate elastic strains.

virtual Symmetric stress_increment(const Symmetric &stress, const Symmetric &D, const Skew &W, double dt, Lattice &lattice, const Orientation &Q, const History &history, double T)

Helper to predict an elastic stress increment.

virtual bool use_nye() const

Whether this model uses the Nye tensor.

Public Static Functions

static std::string type()

String type for the object system.

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

Initialize from parameter set.

static ParameterSet parameters()

Default parameters.