Skip to content

materials

gripyth.materials

Material properties and constitutive relations.

This library is agnostic of units. Inputs must be given in units that are consistent with each other. For example: E in N/mm², ν without unit, Gc in N/mm, ell in mm.

CLASS DESCRIPTION
DissipationFunction

Available dissipation functions.

Material

Physical properties of a material.

PlaneStrain

Strain type.

PlaneStress

Stress type.

StressState

Types of a material stress or strain.

DissipationFunction

Bases: Enum

Available dissipation functions.

Material dataclass

Physical properties of a material.

METHOD DESCRIPTION
__init__

Returns properties for an isotropic material.

ATTRIBUTE DESCRIPTION
E

Young's modulus

TYPE: float

G

shear modulus

TYPE: float

Gc

fracture energy

TYPE: float

K

bulk modulus

TYPE: float

ell

regularization length

TYPE: float

p

exponential power in expression for fatigue degradation

TYPE: float

res_stiff

residual stiffness

TYPE: float

α_T

fatigue history variable threshold

TYPE: float

λ

first Lamé parameter

TYPE: float

ν

Poisson's ratio

TYPE: float

E instance-attribute

E: float = E

Young's modulus

G instance-attribute

G: float = E / 2 * 1 + ν

shear modulus

Gc instance-attribute

Gc: float = Gc

fracture energy

K instance-attribute

K: float = E / 3 * 1 - 2 * ν

bulk modulus

ell instance-attribute

ell: float = ell

regularization length

p instance-attribute

p: float = p

exponential power in expression for fatigue degradation

res_stiff instance-attribute

res_stiff: float = res_stiff

residual stiffness

α_T instance-attribute

α_T: float = α_T

fatigue history variable threshold

λ instance-attribute

λ: float = E * ν / 1 + ν * 1 - 2 * ν

first Lamé parameter

ν instance-attribute

ν: float = ν

Poisson's ratio

__init__

__init__(
    E: float = 210,
    ν: float = 0.3,
    Gc: float = 0.0027,
    ell: float = 0.1,
    res_stiff: float = 0,
    α_T: float = 10000000000.0,
    p: float = 2.0,
    dissipation: DissipationFunction = DissipationFunction.AT2,
    L_max: float = 1.0,
    tol_AT1_recovery: float = 0.001,
    tol_irrev: float = 0.001,
)

Returns properties for an isotropic material.

For isotropic materials, the moduli are interdependent:

G=E2(1+ν)K=E3(12ν)λ=Eν(1+ν)(12ν)

Conversely, the following relationships also hold:

E=G(3λ+2G)λ+Gν=λ2(λ+G)

PlaneStrain

Bases: StressState

Strain type.

METHOD DESCRIPTION
elasticity_tensor

Constructs the elastic stiffness matrix of a material.

elasticity_tensor staticmethod

elasticity_tensor(E: float, ν: float) -> NDArray[float64]

Constructs the elastic stiffness matrix of a material.

Returns the elastic stiffness 3×3 matrix C based on Young's modulus E and Poisson's ratio ν. ```

PlaneStress

Bases: StressState

Stress type.

METHOD DESCRIPTION
elasticity_tensor

Constructs the elastic stiffness matrix of a material.

elasticity_tensor staticmethod

elasticity_tensor(E: float, ν: float) -> NDArray[float64]

Constructs the elastic stiffness matrix of a material.

Returns the elastic stiffness 3×3 matrix C based on Young's modulus E and Poisson's ratio ν. ```

StressState

Types of a material stress or strain.

METHOD DESCRIPTION
elasticity_tensor

Constructs the elastic stiffness matrix of a material.

elasticity_tensor staticmethod

elasticity_tensor(E: float, ν: float) -> NDArray[float64]

Constructs the elastic stiffness matrix of a material.

Returns the elastic stiffness 3×3 matrix C based on Young's modulus E and Poisson's ratio ν. ```