PlanarDamageModel¶
Overview¶
This model forms the total damage projection operator by degrading the elasticity tensor along individual slip planes. For each slip plane the framework can degrade the elastic stiffness in the normal direction of the plane and in the shear (parallel) directions independently. The stiffness degradation in each of these directions is defined by a TransformationFunction which converts a damage internal variable, defined by a SlipPlaneDamage object, and the stress in the normal direction to the plane to a suitable damage index ranging from 0 (no damage) to 1 (complete loss of stiffness in that direction). The mathematical definition of the projection operator is then

where the product proceeds over each individual slip plane
defined
by some normal vector in the current coordinates
.
The projection for each plane then consists of the identity, a
TransformationFunction for the normal direction
,
the normal projection operator

a TransformationFunction for the shear direction
, and
the shear projection operator

The stress normal to the plane can be calculated as

The available TransformationFunction options are described here:
The available SlipPlaneDamage functions are described here:
Parameters¶
Parameter |
Object type |
Description |
Default |
|---|---|---|---|
|
The damage model |
No |
|
|
The shear transformation function |
No |
|
|
The normal transformation function |
No |
|
|
The lattice object describing the slip geometry |
No |
Class description¶
-
class PlanarDamageModel : public neml::CrystalDamageModel¶
Project damage on each plane proportional to some damage measure on the plane
Public Functions
-
PlanarDamageModel(ParameterSet ¶ms)¶
-
virtual SymSymR4 projection(const Symmetric &stress, const History &damage, const Orientation &Q, Lattice &lattice, const SlipRule &slip, double T)¶
Returns the current projection operator.
-
virtual SymSymSymR6 d_projection_d_stress(const Symmetric &stress, const History &damage, const Orientation &Q, Lattice &lattice, const SlipRule &slip, double T)¶
Return the derivative of the projection operator wrt to the stress.
-
virtual History d_projection_d_history(const Symmetric &stress, const History &damage, const Orientation &Q, Lattice &lattice, const SlipRule &slip, double T)¶
Return the derivative of the projection operator wrt to the damage vars.
-
virtual History damage_rate(const Symmetric &stress, const History &history, const Orientation &Q, Lattice &lattice, const SlipRule &slip, double T, const History &fixed) const¶
Damage along each slip plane.
Public Static Functions
-
static std::string type()¶
String type for the object system.
-
static std::unique_ptr<NEMLObject> initialize(ParameterSet ¶ms)¶
Initialize from a parameter set.
-
static ParameterSet parameters()¶
Default parameters.
-
PlanarDamageModel(ParameterSet ¶ms)¶