NEML2 2.0.0
|
Update the trial stress under the assumptions of J2 plasticity and isotropic linear elasticity. More...
Update the trial stress under the assumptions of J2 plasticity and isotropic linear elasticity.
This allows the construction of fully scalar return mapping models for isotropic materials.
#include <LinearIsotropicElasticJ2TrialStressUpdate.h>
Static Public Member Functions | |
static OptionSet | expected_options () |
Static Public Member Functions inherited from ElasticityInterface< Model, 2 > | |
static OptionSet | expected_options () |
Static Public Member Functions inherited from Model | |
static OptionSet | expected_options () |
Static Public Member Functions inherited from Data | |
static OptionSet | expected_options () |
Static Public Member Functions inherited from NEML2Object | |
static OptionSet | expected_options () |
Static Public Member Functions inherited from NonlinearSystem | |
static OptionSet | expected_options () |
static void | disable_automatic_scaling (OptionSet &options) |
static void | enable_automatic_scaling (OptionSet &options) |
Protected Member Functions | |
void | set_value (bool out, bool dout_din, bool d2out_din2) override |
compute updated trial stress | |
Protected Member Functions inherited from ElasticityInterface< Model, 2 > | |
void | declare_elastic_constant (ElasticConstant) |
Declare elastic constants (by resolving cross-references) | |
Protected Member Functions inherited from Model | |
void | setup () override |
Setup this object. | |
virtual void | link_input_variables () |
virtual void | link_input_variables (Model *submodel) |
virtual void | link_output_variables () |
virtual void | link_output_variables (Model *submodel) |
virtual void | request_AD () |
void | diagnose_nl_sys (std::vector< Diagnosis > &diagnoses) const |
Additional diagnostics for a nonlinear system. | |
template<typename T , typename = typename std::enable_if_t<std::is_base_of_v<Model, T>>> | |
T & | register_model (const std::string &name, bool nonlinear=false, bool merge_input=true) |
Register a model that the current model may use during its evaluation. | |
void | set_guess (const Sol< false > &) override |
Set the unscaled current guess. | |
void | assemble (Res< false > *, Jac< false > *) override |
Compute the unscaled residual and Jacobian. | |
Protected Member Functions inherited from Data | |
template<typename T , typename = typename std::enable_if_t<std::is_base_of_v<Data, T>>> | |
T & | register_data (const std::string &name) |
Protected Member Functions inherited from BufferStore | |
virtual void | send_buffers_to (const torch::TensorOptions &options) |
Send all buffers to options . | |
template<typename T , typename = typename std::enable_if_t<std::is_base_of_v<TensorBase<T>, T>>> | |
const T & | declare_buffer (const std::string &name, const T &rawval) |
Declare a buffer. | |
template<typename T , typename = typename std::enable_if_t<std::is_base_of_v<TensorBase<T>, T>>> | |
const T & | declare_buffer (const std::string &name, const CrossRef< T > &crossref) |
Declare a buffer. | |
template<typename T , typename = typename std::enable_if_t<std::is_base_of_v<TensorBase<T>, T>>> | |
const T & | declare_buffer (const std::string &name, const std::string &input_option_name) |
Declare a buffer. | |
Protected Member Functions inherited from ParameterStore | |
virtual void | send_parameters_to (const torch::TensorOptions &options) |
Send parameters to options. | |
template<typename T , typename = typename std::enable_if_t<std::is_base_of_v<TensorBase<T>, T>>> | |
const T & | declare_parameter (const std::string &name, const T &rawval) |
Declare a parameter. | |
template<typename T , typename = typename std::enable_if_t<std::is_base_of_v<TensorBase<T>, T>>> | |
const T & | declare_parameter (const std::string &name, const CrossRef< T > &crossref, bool allow_nonlinear) |
Declare a parameter. | |
template<typename T , typename = typename std::enable_if_t<std::is_base_of_v<TensorBase<T>, T>>> | |
const T & | declare_parameter (const std::string &name, const std::string &input_option_name, bool allow_nonlinear=false) |
Declare a parameter. | |
Protected Member Functions inherited from VariableStore | |
template<typename T , typename S > | |
const Variable< T > & | declare_input_variable (S &&name, TensorShapeRef list_shape={}, TensorShapeRef base_shape={}) |
Declare an input variable. | |
template<typename T , typename S > | |
Variable< T > & | declare_output_variable (S &&name, TensorShapeRef list_shape={}, TensorShapeRef base_shape={}) |
Declare an output variable. | |
const VariableBase * | clone_input_variable (const VariableBase &var, const VariableName &new_name={}) |
Clone a variable and put it on the input axis. | |
VariableBase * | clone_output_variable (const VariableBase &var, const VariableName &new_name={}) |
Clone a variable and put it on the output axis. | |
Protected Attributes | |
const Variable< Scalar > & | _elastic_trial_stress |
input trial stress (i.e., assuming a purely elastic step) | |
const Variable< Scalar > & | _inelastic_strain |
input inelastic strain | |
const Variable< Scalar > & | _inelastic_strain_old |
input old inelastic strain | |
Variable< Scalar > & | _updated_trial_stress |
output (updated) trial stress | |
const IsotropicElasticityConverter | _converter |
Converter between elastic constants. | |
Protected Attributes inherited from ElasticityInterface< Model, 2 > | |
std::array< ElasticConstant, N > | _constant_types |
Input elastic constant types (ordered according to ElasticConstant) | |
std::array< const Scalar *, N > | _constants |
Input elastic constants (ordered according to ElasticConstant) | |
std::array< bool, N > | _need_derivs |
Whether we need to calculate the derivative of the constants. | |
Protected Attributes inherited from Model | |
std::vector< Model * > | _registered_models |
Models this model may use during its evaluation. | |
Protected Attributes inherited from Data | |
std::vector< Data * > | _registered_data |
Registered Data objects. | |
Protected Attributes inherited from ParameterStore | |
std::map< std::string, const VariableBase * > | _nl_params |
Map from nonlinear parameter names to their corresponding variable views. | |
std::map< std::string, Model * > | _nl_param_models |
Map from nonlinear parameter names to models which evaluate them. | |
Protected Attributes inherited from NonlinearSystem | |
const bool | _autoscale |
If true, do automatic scaling. | |
const Real | _autoscale_tol |
Tolerance for convergence check of the iterative automatic scaling algorithm. | |
const unsigned int | _autoscale_miter |
Maximum number of iterations allowed for the iterative automatic scaling algorithm. | |
bool | _scaling_matrices_initialized |
Flag to indicate whether scaling matrices have been computed. | |
Tensor | _row_scaling |
Row scaling "matrix" – since it's a batched diagonal matrix, we are only storing its diagonals. | |
Tensor | _col_scaling |
Column scaling "matrix" – since it's a batched diagonal matrix, we are only storing its diagonals. | |
LinearIsotropicElasticJ2TrialStressUpdate | ( | const OptionSet & | options | ) |
|
static |
compute updated trial stress
Implements Model.
|
protected |
Converter between elastic constants.
input trial stress (i.e., assuming a purely elastic step)