Linear elasticity

Overview

This object implements a simple linear elastic stress update of the type

\bm{\sigma}_{n+1} = \mathbf{\mathfrak{C}}_{n+1} : \bm{\varepsilon}_{n+1}

where \mathbf{\mathfrak{C}} is a temperature-dependent elasticity tensor. The model does not maintain any history variables.

Parameters

Parameter

Object type

Description

Default

emodel

neml::LinearElasticModel

Temperature dependent elastic constants

No

alpha

neml::Interpolate

Temperature dependent instantaneous CTE

0.0

Class description

class SmallStrainElasticity : public neml::NEMLModel_sd

Small strain linear elasticity.

Public Functions

SmallStrainElasticity(ParameterSet &params)

Parameters are the minimum: an elastic model and a thermal expansion.

virtual void update_sd_actual(const double *const e_np1, const double *const e_n, double T_np1, double T_n, double t_np1, double t_n, double *const s_np1, const double *const s_n, double *const h_np1, const double *const h_n, double *const A_np1, double &u_np1, double u_n, double &p_np1, double p_n)

Small strain stress update.

virtual void populate_state(History &h) const

Populate internal variables (none)

virtual void init_state(History &h) const

Initialize history (none to setup)

Public Static Functions

static std::string type()

Type for the object system.

static ParameterSet parameters()

Setup parameters for the object system.

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

Initialize from a parameter set.