NonlinearJ2
Nonlinear General J2 Plasticity Model
Summary
This is an abstract material class thus cannot be used directly. This class defines a general plasticity model using J2 yielding criterion with associated flow rule and mixed hardening rule. The isotropic/kinematic hardening response can be customized.
To use this model, a derived class shall be defined first.
The derived class only needs to implement four pure virtual methods that define the isotropic and kinematic hardening rules.
C++ | |
---|---|
All four methods take equivalent plastic strain as the input argument, on output, the corresponding quantities shall be provided.
The isotropic hardening function
should be non-negative, where is the initial yielding stress.
There is no requirement for the kinematic hardening function
Otherwise, the local Newton iteration will fail.
Brief On Theory
The NonlinearJ2
abstract class defines an associative plasticity framework using the von Mises yield criterion, which
is defined as follows.
where
It is also called J2 plasticity model. A detailed discussion can be seen elsewhere.
History Layout
location | paramater |
---|---|
initial_history(0) |
accumulated plastic strain |
initial_history(1-6) |
back stress |
Kinematic Hardening
The back stress
and the derivative
in which
In this case, user shall override the corresponding two methods with such an implmentation.
C++ | |
---|---|
Of course, a nonlinear relationship could also be defined.
Isotropic Hardening
The isotropic hardening is defined by function
C++ | |
---|---|
Here another polynomial based isotropic hardening function is shown as an additional example. The function is defined as
where
To define such a hardening behavior, a vector shall be used to store all constants.
The methods could be written as follows.
Example
A few different models are shown as examples. User can define arbitrary models.