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, ...])

CohesiveLaw.get_all()

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.

CohesiveLaw.local2global_K(K)

CohesiveLaw.reset()

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)

CohesiveLaw.name

Name of the constitutive law.

CohesiveLaw.is_initialized

Tag set to True once the law is intialized.