fedoo.constitutivelaw.CohesiveLaw
- class CohesiveLaw(GIc=0.3, SImax=60, KI=10000.0, GIIc=1.6, SIImax=None, KII=50000.0, axis=2, name='', tangent_mode='secant')
Bilinear cohesive Law based on the Crisfield model
This constitutive Law should be associated with
fedoo.weakform.InterfaceForce- Parameters:
GIc (scalar) – Toughness in Mode-I
SImax (scalar) – Maximal failure stress in Mode-I
KI (scalar) – Initial interface rigidity before damage
GIIc (scalar) – Toughness in Mode-II
SIImax (scalar) – Maximal failure stress in Mode-II
KII (scalar) – Initial interface rigidity before damage
axis (int) – axis should be eiter 0,1 or 2 (default). It define the normal direction to the failure plane the is used for mode identification. The axis is defined in local coordinate system.
name (str, optional) – The name of the constitutive law
tangent_mode ({"secant", "consistent"}, default="secant") – Tangent stiffness used by the nonlinear solver. The secant tangent uses the current damaged stiffness and is the more robust default. The consistent tangent includes the derivative of damage during active loading and can be selected explicitly.
- __init__(GIc=0.3, SImax=60, KI=10000.0, GIIc=1.6, SIImax=None, KII=50000.0, axis=2, name='', tangent_mode='secant')
Methods
CohesiveLaw.get_K(assembly[, delta, ...])Return a dict with all the known ConstitutiveLaw (with a name).
CohesiveLaw.get_secant_matrix(assembly)Return the current damaged secant stiffness in local coordinates.
CohesiveLaw.get_tangent_matrix(assembly[, ...])Return the selected tangent stiffness in local coordinates.
CohesiveLaw.initialize(assembly, pb)Initialize the constitutive law for the current problem.
Reset the constitutive law.
CohesiveLaw.set_damage(assembly, value[, ...])Initialize the damage variable to a certain value: array for multi-point initialization or scalar.
CohesiveLaw.set_start(assembly, pb)Begin a new time iteration.
CohesiveLaw.to_start(assembly, pb)Restart the current time iteration.
CohesiveLaw.update(assembly, pb)Update the constitutive law for the current problem state.
CohesiveLaw.update_damage(assembly, U[, ...])CohesiveLaw.update_irreversible_damage(assembly)Name of the constitutive law.
Tag set to True once the law is intialized.