engineeringkit.materials#

Elastic constants, yielding, fracture, fatigue, creep and composites.

Engineering materials: elasticity, yielding, fracture, fatigue, creep and composites.

class engineeringkit.materials.StressStrainCurve(strain, stress)[source]#

Bases: object

Parameters:
  • strain (ndarray)

  • stress (ndarray)

plot()[source]#
strain: ndarray#
stress: ndarray#
toughness()[source]#
young_modulus(n=5)[source]#
engineeringkit.materials.arrhenius_creep_rate(A, Q, R, T, sigma, n=1)[source]#

Arrhenius creep rate.

Parameters:
  • A (1/(s Pa^n)) – Input in the units stated above.

  • Q (J/mol) – Input in the units stated above.

  • R (J/(mol K)) – Input in the units stated above.

  • T (K (absolute)) – Input in the units stated above.

  • sigma (Pa) – Input in the units stated above.

  • n (1) – Input in the units stated above.

Returns:

1/s.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Materials: elasticity, fracture and fatigue conventions. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.materials.basquin_cycles(stress_amplitude, sigma_f, b)[source]#

Estimate fatigue life in cycles from Basquin stress-life parameters.

Parameters:
  • stress_amplitude (Pa) – Input in the units stated above.

  • sigma_f (Pa) – Input in the units stated above.

  • b (1) – Input in the units stated above.

Returns:

cycles (not reversals).

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Materials: elasticity, fracture and fatigue conventions. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.materials.bulk_modulus(E, nu)[source]#

Bulk modulus.

Parameters:
  • E (Pa) – Input in the units stated above.

  • nu (1) – Input in the units stated above.

Returns:

Pa.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Materials: elasticity, fracture and fatigue conventions. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.materials.constrained_thermal_stress(E, alpha, dT)[source]#

Constrained thermal stress.

Parameters:
  • E (Pa) – Input in the units stated above.

  • alpha (1/K) – Input in the units stated above.

  • dT (K (difference)) – Input in the units stated above.

Returns:

Pa.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Materials: elasticity, fracture and fatigue conventions. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.materials.critical_crack_length(Kic, sigma, Y=1.0)[source]#

Critical crack length.

Parameters:
  • Kic (Pa sqrt(m)) – Input in the units stated above.

  • sigma (Pa) – Input in the units stated above.

  • Y (1) – Input in the units stated above.

Returns:

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Materials: elasticity, fracture and fatigue conventions. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.materials.density_rule_of_mixtures(rhof, rhom, Vf)[source]#

Density rule of mixtures.

Parameters:
  • rhof (kg/m^3) – Input in the units stated above.

  • rhom (kg/m^3) – Input in the units stated above.

  • Vf (1) – Input in the units stated above.

Returns:

kg/m^3.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Materials: elasticity, fracture and fatigue conventions. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.materials.factor_of_safety(strength, stress)[source]#

Factor of safety.

Parameters:
  • strength (Pa) – Input in the units stated above.

  • stress (Pa) – Input in the units stated above.

Returns:

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Materials: elasticity, fracture and fatigue conventions. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.materials.goodman_safety_factor(sa, sm, Se, Sut)[source]#

Goodman safety factor.

Parameters:
  • sa (Pa) – Input in the units stated above.

  • sm (Pa) – Input in the units stated above.

  • Se (Pa) – Input in the units stated above.

  • Sut (Pa) – Input in the units stated above.

Returns:

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Materials: elasticity, fracture and fatigue conventions. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.materials.griffith_fracture_stress(E, gamma, a)[source]#

Griffith fracture stress.

Parameters:
  • E (Pa) – Input in the units stated above.

  • gamma (J/m^2) – Input in the units stated above.

  • a (m) – Input in the units stated above.

Returns:

Pa.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Materials: elasticity, fracture and fatigue conventions. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.materials.hall_petch(sigma0, k, d)[source]#

Hall petch.

Parameters:
  • sigma0 (Pa) – Input in the units stated above.

  • k (Pa sqrt(m)) – Input in the units stated above.

  • d (m) – Input in the units stated above.

Returns:

Pa.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Materials: elasticity, fracture and fatigue conventions. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.materials.hooke_stress(E, strain)[source]#

Hooke stress.

Parameters:
  • E (Pa) – Input in the units stated above.

  • strain (1) – Input in the units stated above.

Returns:

Pa.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Materials: elasticity, fracture and fatigue conventions. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.materials.lame_parameters(E, nu)[source]#

Lame parameters.

Parameters:
  • E (Pa) – Input in the units stated above.

  • nu (1) – Input in the units stated above.

Returns:

(lambda [Pa], shear modulus [Pa]).

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Materials: elasticity, fracture and fatigue conventions. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.materials.miner_damage(cycles, cycles_to_failure)[source]#

Miner damage.

Parameters:
  • cycles (cycles) – Input in the units stated above.

  • cycles_to_failure (cycles) – Input in the units stated above.

Returns:

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Materials: elasticity, fracture and fatigue conventions. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.materials.normal_strain(delta_length, length)[source]#

Normal strain.

Parameters:
  • delta_length (m) – Input in the units stated above.

  • length (m) – Input in the units stated above.

Returns:

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Materials: elasticity, fracture and fatigue conventions. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.materials.normal_stress(force, area)[source]#

Normal stress.

Parameters:
  • force (N) – Input in the units stated above.

  • area (m^2) – Input in the units stated above.

Returns:

Pa.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Materials: elasticity, fracture and fatigue conventions. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.materials.paris_crack_growth(C, m, delta_K)[source]#

Paris crack growth.

Parameters:
  • C (m/(cycle (Pa sqrt(m))^m)) – Input in the units stated above.

  • m (1) – Input in the units stated above.

  • delta_K (Pa sqrt(m)) – Input in the units stated above.

Returns:

m/cycle.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Materials: elasticity, fracture and fatigue conventions. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.materials.resilience_modulus(sigma_y, E)[source]#

Resilience modulus.

Parameters:
  • sigma_y (Pa) – Input in the units stated above.

  • E (Pa) – Input in the units stated above.

Returns:

J/m^3.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Materials: elasticity, fracture and fatigue conventions. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.materials.rule_of_mixtures_E_longitudinal(Ef, Em, Vf)[source]#

Rule of mixtures e longitudinal.

Parameters:
  • Ef (Pa) – Input in the units stated above.

  • Em (Pa) – Input in the units stated above.

  • Vf (1) – Input in the units stated above.

Returns:

Pa.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Materials: elasticity, fracture and fatigue conventions. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.materials.rule_of_mixtures_E_transverse(Ef, Em, Vf)[source]#

Rule of mixtures e transverse.

Parameters:
  • Ef (Pa) – Input in the units stated above.

  • Em (Pa) – Input in the units stated above.

  • Vf (1) – Input in the units stated above.

Returns:

Pa.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Materials: elasticity, fracture and fatigue conventions. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.materials.shear_modulus(E, nu)[source]#

Shear modulus.

Parameters:
  • E (Pa) – Input in the units stated above.

  • nu (1) – Input in the units stated above.

Returns:

Pa.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Materials: elasticity, fracture and fatigue conventions. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.materials.stress_intensity(K_geometry, sigma, a)[source]#

Stress intensity.

Parameters:
  • K_geometry (1) – Input in the units stated above.

  • sigma (Pa) – Input in the units stated above.

  • a (m) – Input in the units stated above.

Returns:

Pa sqrt(m).

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Materials: elasticity, fracture and fatigue conventions. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.materials.thermal_strain(alpha, dT)[source]#

Thermal strain.

Parameters:
  • alpha (1/K) – Input in the units stated above.

  • dT (K (difference)) – Input in the units stated above.

Returns:

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Materials: elasticity, fracture and fatigue conventions. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.materials.toughness(strain, stress)[source]#

Toughness.

Parameters:
  • strain (1) – Input in the units stated above.

  • stress (Pa) – Input in the units stated above.

Returns:

J/m^3.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Materials: elasticity, fracture and fatigue conventions. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.materials.tresca_equivalent(principal)[source]#

Tresca equivalent.

Parameters:

principal (Pa) – Input in the units stated above.

Returns:

Pa.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Materials: elasticity, fracture and fatigue conventions. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.materials.von_mises_plane_stress(sx, sy, txy)[source]#

Von mises plane stress.

Parameters:
  • sx (Pa) – Input in the units stated above.

  • sy (Pa) – Input in the units stated above.

  • txy (Pa) – Input in the units stated above.

Returns:

Pa.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Materials: elasticity, fracture and fatigue conventions. SI inputs are required; raw numbers carry no dimensional metadata.