The isotropic damage models are based on the simplifying assumption that the stiffness degradation is isotropic, i.e., stiffness moduli corresponding to different directions decrease proportionally and independently of direction of loading. Consequently, the damaged stiffness matrix is expressed as
In the present context, the
matrix represents the secant
stiffness that relates the total strain to the total stress
This general framework for computing stresses and stiffness matrix is common for all material models of this type. Therefore, it is natural to introduce the base class for all isotropic-based damage models which provides the general implementation for the stress and stiffness matrix evaluation algorithms. The particular models then only provide their equivalent strain and damage evolution law definitions. The base class only declares the virtual services for computing equivalent strain and corresponding damage. The implementation of common services uses these virtual functions, but they are only declared at IsotropicDamageMaterial class level and have to be implemented by the derived classes.
Together with the material model, the corresponding status has to be
defined, containing all necessary history variables.
For the isotropic-based damage models, the only history variable is
the value of the largest strain level ever reached ().
In addition, the corresponding damage level
will be stored.
This is not necessary because damage can be always computed from
corresponding
.
The IsotropicDamageMaterialStatus class is derived from
StructuralMaterialStatus class. The base class represents the
base material status class for all structural statuses. At
StructuralMaterialStatus level, the attributes common to all
``structural analysis'' material models - the strain and
stress vectors (both the temporary and non-temporary) are introduced. The
corresponding services for accessing, setting, initializing, and
updating these attributes are provided.
Therefore, only the
and
parameters are introduced
(both the temporary and non-temporary). The corresponding services for
manipulating these attributes are added and services for context
initialization, update, and store/restore operations are overloaded, to
handle the history parameters properly.
Borek Patzak 2017-12-30