中文

应力-应变曲线解读:材料力学入门

为什么每个材料人都要懂这个

应力-应变曲线是材料科学最重要的图。它告诉你材料有多硬、能拉多长、吸收多少能量。无论你研究丝素蛋白、水凝胶还是骨头,这都是基础。

应力 = 力 / 截面积。应变 = 长度变化量 / 原始长度。


应力(σ) = F / A0     应变(ε) = (L-L0)/L0

曲线的五个关键区域

区域发生什么关键参数
------------------
弹性区变形可逆,去力后恢复原状杨氏模量 E
屈服点永久变形开始屈服强度
塑性区永久变形累积加工硬化
极限点材料能承受的最大应力抗拉强度(UTS)
断裂点材料破坏断裂伸长率

Python计算力学参数


import numpy as np

def compute_mechanical_properties(strain, stress):
    # 杨氏模量:弹性区(前2%应变)斜率
    elastic_mask = strain < 0.02
    E, _ = np.polyfit(strain[elastic_mask], stress[elastic_mask], 1)
    
    # 抗拉强度
    UTS = np.max(stress)
    
    # 韧性:曲线下方面积(单位体积吸收能量)
    toughness = np.trapz(stress, strain)
    
    return {
        "杨氏模量_MPa": E,
        "抗拉强度_MPa": UTS,
        "断裂伸长率_pct": strain[-1] * 100,
        "韧性_MJ_m3": toughness,
    }

生物材料的特殊性

软生物材料(水凝胶、组织、丝素膜)与金属行为不同:

  1. 没有明显屈服点——用0.2%偏移法或割线模量
  2. 应变率依赖——在生理相关速率下测试,报告应变率
  3. 含水量影响巨大——除非专门研究干态,始终在水合态下测试
  4. 非线性弹性——J形曲线很常见(趾区+线性区)
  5. 滞回——加载/卸载曲线不同,这是能量耗散而非塑性变形

# 对非线性材料:计算特定应变下的切线模量
def tangent_modulus(strain, stress, at_strain=0.05):
    idx = np.argmin(np.abs(strain - at_strain))
    w = max(5, idx // 10)
    return np.polyfit(strain[idx-w:idx+w], stress[idx-w:idx+w], 1)[0]

常见错误

  • 混淆工程应力和真实应力(大应变>10%时差异显著)
  • 不报告样品尺寸
  • 夹具滑移被误认为额外应变
  • 对噪声过度解读

参考资料

  • Callister, W.D. (2018). Materials Science and Engineering. Wiley.
  • Meyers, M.A. (2009). Mechanical Behavior of Materials. Cambridge.
  • GitHub: MechAnalyzer — 开源应力-应变分析工具

💬 Questions or Feedback?

This blog is actively maintained by a PhD researcher. Reach out on GitHub for collaborations or corrections.

View on GitHub