Esta sección recoge las ecuaciones de los ensayos mecánicos de MatLens: nanoindentación (Oliver–Pharr e ISO 14577), análisis mecánico dinámico (DMA) y ensayos de tracción y compresión. Unidades internas: en nanoindentación carga P en mN, profundidad h en nm, rigidez S en mN/nm, H y E en GPa; en DMA temperatura en °C y módulos en MPa; en tracción fuerza en N, longitudes en mm, tensión en MPa y deformación como fracción.
Nanoindentación: método de Oliver–Pharr
Código: matlens/core/mechanics.py::oliver_pharr, matlens/core/mechanics.py::contact_area, matlens/core/mechanics.py::sample_modulus, matlens/core/mechanics.py::indent_segments.
Ajuste de la descarga y magnitudes derivadas:
| Símbolo | Significado | Unidades / valor por defecto |
|---|---|---|
| P_{\max}, h_{\max} | carga y profundidad al inicio de la descarga | mN, nm |
| \alpha, h_f, m | parámetros de la ley de potencia | mN/nmᵐ, nm, — |
| S | rigidez de contacto | mN/nm |
| \epsilon | factor geométrico | 0.75 (Berkovich) |
| \beta | factor de corrección de la punta | 1.034 (Berkovich) |
| C_0 \dots C_8 | función de área | C_0 = 24.5, resto 0 (Berkovich ideal) |
| H (H_{IT}) | dureza | GPa (1 mN/nm² = 10^6 GPa) |
| E_r, E (E_{IT}) | módulo reducido y de la muestra | GPa |
| \nu | coeficiente de Poisson de la muestra | 0.25 |
| E_i, \nu_i | constantes del diamante | 1141 GPa, 0.07 |
| C_f | compliancia del bastidor | nm/mN, 0 por defecto |
Procedimiento:
- El registro se segmenta en carga, mantenimiento a P_{\max} (puntos con P \ge 0.99\,P_{\max}), descarga y mantenimiento a carga baja (al menos 8 puntos con variación ≤ 1 % de P_{\max} y carga media entre 2 % y 50 % de P_{\max}).
- Con compliancia del bastidor se corrige punto a punto h \leftarrow h - C_f P.
- Deriva térmica opcional: pendiente de h(t) en el mantenimiento a carga baja, descartando el primer 20 % (recuperación viscoelástica); se corrige h \leftarrow h - \dot{h}_{\mathrm{deriva}}(t - t_0).
- Se ajustan los puntos de descarga con 0.2\,P_{\max} \le P \le 0.95\,P_{\max} (mínimo 5). Valores iniciales: para cada h_f de una rejilla logarítmica por debajo de h_{\min} se ajusta \ln P frente a \ln(h-h_f), se refina h_f minimizando la suma de cuadrados en escala lineal, y después
curve_fitsin pesos con límites \alpha \ge 0, h_f < h_{\min}, 0.3 \le m \le 6.
Incertidumbre: la covarianza de (\alpha, h_f, m) se propaga a S, H, E_r y E en primer orden con un jacobiano numérico (diferencias centradas): u^2 = \operatorname{diag}(J\,\Sigma\,J^{\mathsf T}), k=1.
Validez: con la función de área ideal y C_f = 0 se avisa de que H y E no son absolutos sin calibración en sílice fundida.
Referencias: Oliver & Pharr, J. Mater. Res. 7, 1564 (1992); Oliver & Pharr, J. Mater. Res. 19, 3 (2004); ISO 14577-1:2015.
Parámetros ISO 14577 y velocidad de deformación
Código: matlens/core/mechanics.py::oliver_pharr, matlens/core/mechanics.py::thermal_drift_rate.
H_M es la dureza Martens en GPa; HV_{IT} se calcula con H_{IT} en MPa; h_{\mathrm{hold},0} es la profundidad al inicio del mantenimiento; los trabajos (pJ = mN·nm) se integran por trapecios, excluyendo de la descarga el mantenimiento a carga baja. \dot\varepsilon es la mediana de (dh/dt)/h en el último 20 % de la carga. La deriva térmica (nm/s) se acompaña de su error típico de regresión (k=1).
Referencias: ISO 14577-1:2015; Lucas & Oliver, Metall. Mater. Trans. A 30, 601 (1999).
Rigidez continua (CSM)
Código: matlens/core/mechanics.py::csm_profile, matlens/core/mechanics.py::csm_average.
Las relaciones de Oliver–Pharr se aplican punto a punto con la rigidez armónica (N/m, convertida a mN/nm por 10^{-6}), corregida por el bastidor:
El promedio en un intervalo de profundidades da la media y la desviación típica muestral (ddof = 1) de los puntos. Referencia: Oliver & Pharr 2004, §5.
Calibración de la función de área y de la compliancia del bastidor
Código: matlens/core/mechanics.py::calibrate_area_function.
- C_f es la ordenada en el origen de C frente a 1/\sqrt{P_{\max}} (ajuste lineal con la mitad de mayor carga si hay 6 o más indentaciones); si sale negativa se fija en 0 con aviso.
- Con C_f conocido, S_c = 1/(C - C_f), A = \pi S_c^2/(4\beta^2 E_r^2) y h_c = h_{\max} - C_f P_{\max} - \epsilon P_{\max}/S_c, con E_r del material de referencia (sílice fundida: E = 72 GPa, \nu = 0.17).
- A(h_c) se ajusta por mínimos cuadrados lineales con pesos 1/A (residuos relativos), con C_0 = 24.5 fijo por defecto más n términos (3 por defecto). Se informa el residuo relativo cuadrático medio.
Requiere al menos 3 indentaciones a cargas distintas (rango > 5 % de la carga máxima). Referencia: Oliver & Pharr 2004, §3.2.
Estadística de indentaciones y rechazo de valores atípicos
Código: matlens/core/mechanics.py::indent_statistics, matlens/core/mechanics.py::outlier_mask, matlens/core/mechanics.py::grubbs_critical.
Puntuación z modificada (por defecto) y prueba de Grubbs bilateral iterada:
Una indentación se rechaza si es atípica en H o en E_r. Se informa media ± desviación típica muestral (ddof = 1) de las conservadas (k=1); con una sola indentación, la incertidumbre del ajuste.
Referencias: Grubbs, Technometrics 11, 1 (1969); ASTM E178; Iglewicz & Hoaglin, How to Detect and Handle Outliers, ASQC (1993).
DMA: temperatura de transición vítrea
Código: matlens/core/mechanics.py::dma_tg, matlens/core/mechanics.py::dma_prepare.
Tres criterios: máximo de E'', máximo de \tan\delta (ambos tras suavizado Savitzky–Golay de orden ≤ 3 y refinamiento parabólico con tres puntos) y onset extrapolado de la caída de E', intersección de la recta ajustada en la región vítrea (por defecto el primer 30 % del intervalo hasta la inflexión) con la tangente en el punto de pendiente mínima de \log_{10}E' (escala logarítmica por defecto):
Ventana de suavizado por defecto: \max(5, N/60) puntos. Referencias: ASTM D4065; ASTM E1640.
DMA: módulo a temperatura de referencia y densidad de entrecruzamiento
Código: matlens/core/mechanics.py::storage_modulus_at, matlens/core/mechanics.py::crosslink_density.
E'(T_{\mathrm{ref}}) es la ordenada de un ajuste lineal local en \pm5 °C, con su error típico de la covarianza del ajuste (k=1; si hay solo 3 puntos no se da error). Densidad de cadenas elásticamente efectivas en la meseta gomosa:
\nu_e en mol/m³, E' en Pa, T en K, R = 8.314462618 J/(mol·K). Válida para redes poco entrecruzadas en la meseta gomosa. Referencia: Flory, Principles of Polymer Chemistry, Cornell 1953.
DMA: superposición tiempo–temperatura, WLF y Arrhenius
Código: matlens/core/mechanics.py::tts_master_curve, matlens/core/mechanics.py::wlf_log_aT, matlens/core/mechanics.py::fit_wlf, matlens/core/mechanics.py::arrhenius_log_aT, matlens/core/mechanics.py::fit_arrhenius_shift, matlens/core/mechanics.py::activation_energy_from_peaks.
- Curva maestra: cada isoterma (\log_{10} f, \log_{10} del módulo por defecto) se desplaza horizontalmente sobre su vecina ya desplazada, empezando por la más próxima a T_{\mathrm{ref}}; el desplazamiento minimiza el error cuadrático medio en la zona de solape (búsqueda en rejilla de paso 0.02 décadas, exigiendo solape ≥ 30 % de los puntos, y refinamiento acotado). Si la isoterma más cercana no está a T_{\mathrm{ref}}, los desplazamientos se re-referencian por interpolación.
- WLF:
curve_fitde C_1, C_2 con valores iniciales universales 17.44 y 51.6 K (necesita ≥ 3 isotermas); errores de la covarianza, k=1. - Arrhenius: regresión por el origen de \log_{10} a_T frente a 1/T - 1/T_{\mathrm{ref}} (T en K), forzando a_T(T_{\mathrm{ref}}) = 1; E_a en kJ/mol con su error típico.
- Desde picos de relajación a varias frecuencias: regresión lineal de \ln f frente a 1/T_{\mathrm{pico}}; con dos puntos no hay error.
Referencias: Williams, Landel & Ferry, J. Am. Chem. Soc. 77, 3701 (1955); Ferry, Viscoelastic Properties of Polymers, 3.ª ed., Wiley 1980.
Tracción: tensión y deformación
Código: matlens/core/mechanics.py::engineering_stress_strain, matlens/core/mechanics.py::true_stress_strain, matlens/core/mechanics.py::machine_compliance.
| Símbolo | Significado | Unidades |
|---|---|---|
| F, \delta | fuerza y desplazamiento del travesaño | N, mm |
| A_0, L_0 | sección y longitud calibrada iniciales | mm², mm |
| C_m | compliancia de la máquina | mm/N |
| e, s | deformación y tensión ingenieriles | —, MPa |
| k | rigidez medida (pendiente lineal F–δ entre el 10 % y el 40 % de la fuerza máxima) | N/mm |
La tensión verdadera solo es válida hasta el inicio de la estricción. Referencia: Kalidindi, Abusafieh & El-Danaf, Exp. Mech. 37, 210 (1997) (compliancia).
Tracción: módulo, fluencia, resistencia y alargamientos
Código: matlens/core/mechanics.py::analyze_tensile, matlens/core/mechanics.py::modulus_fit, matlens/core/mechanics.py::offset_yield, matlens/core/mechanics.py::yield_points, matlens/core/mechanics.py::break_index.
Módulo de Young por regresión lineal de s frente a e en la primera rama de carga:
- Método
r2(por defecto): ventanas de tensión de anchura 0.15\,\sigma_{\max} que se desplazan del 2 % al 70 % de \sigma_{\max} en pasos del 1 %; gana la de mayor R^2 (a igualdad, mayor pendiente). Mínimo 5 puntos y pendiente positiva. - Método
chord(ASTM E111): ajuste entre el 10 % y el 40 % de \sigma_{\max} (o tensiones en MPa si los límites son > 1).
Incertidumbre de E: error típico de la pendiente de la regresión (k=1). Aviso si R^2 < 0.99 y si la deformación procede del travesaño.
donde b es la ordenada del ajuste del módulo (compensación del pie de curva). Fluencia discontinua: límite superior = primer máximo local con prominencia ≥ 1 % de \sigma_{\max}, por encima del 30 % de \sigma_{\max} y antes de la resistencia máxima; límite inferior = mínimo durante el escalón de fluencia.
| Símbolo | Significado | Unidades |
|---|---|---|
| R_m | resistencia a la tracción | MPa |
| A_g, A_{g,p} | alargamiento uniforme total y plástico | % |
| e_b, \sigma_b | deformación y tensión en la rotura | %, MPa |
| A | alargamiento tras rotura (parte elástica eliminada) | % |
| U_T | tenacidad (trapecios hasta la rotura) | MJ/m³ |
| U_r | resiliencia (con \sigma_y convencional, o el límite superior si no existe) | MJ/m³ |
Rotura: primera caída de más del 20 % de \sigma_{\max} en un solo paso tras el máximo; si no existe, el último punto con s \ge 0.1\,\sigma_{\max}.
Para varias probetas se informa media ± desviación típica muestral; con una sola probeta, el error típico de regresión de E.
Referencias: ASTM E8/E8M; ASTM E111.
Tracción: exponente de endurecimiento (Hollomon)
Código: matlens/core/mechanics.py::hollomon_fit.
Regresión lineal en escala log–log con datos verdaderos hasta la fuerza máxima. Intervalo por defecto: desde \max(0.02,\, 2\varepsilon_y) hasta \varepsilon_{t,u} = \ln(1 + A_g); si el límite inferior supera 0.5\,\varepsilon_{t,u} se usa \max(1.5\,\varepsilon_y,\, 0.25\,\varepsilon_{t,u}). Se informan n con su error típico (k=1), K (MPa) y R^2; aviso si hay menos de 5 puntos. Según Considère, la estricción comienza en d\sigma_t/d\varepsilon_t = \sigma_t, y para un material de Hollomon \varepsilon_{t,u} = n.
Referencias: ASTM E646; Considère, Ann. Ponts Chaussées 9, 574 (1885).
Compresión de espumas y materiales celulares
Código: matlens/core/mechanics.py::foam_compression.
En modo compresión se usan valores absolutos de e y s y se calculan, además del módulo y la fluencia:
\varepsilon_D^{\mathrm{ISO}} es el primer cruce (interpolado) de 1.3\,\sigma_{pl} tras el inicio de la meseta; \varepsilon_D^{\eta} se descarta si el máximo está en el último punto; \varepsilon_D^{GA} requiere la densidad relativa \rho^*/\rho_s. La resistencia a compresión es el primer máximo local con prominencia ≥ 2 % del máximo, o el máximo absoluto.
Referencias: ISO 13314:2011; Gibson & Ashby, Cellular Solids, 2.ª ed., Cambridge 1997; Li, Magkiriadis & Harrigan, J. Cell. Plast. 42, 371 (2006).
La ventana de meseta por defecto es 20–40 % (ISO 13314 admite 20–30 % o 20–40 %); es configurable.
Supuestos físicos y límites de validez
- Oliver–Pharr parte de la solución de Sneddon para el contacto elástico de un indentador axisimétrico en un semiespacio elástico, isótropo y homogéneo; la descarga se supone puramente elástica. Falla cuando hay apilamiento (pile-up, materiales con poco endurecimiento y h_f/h_{\max} > 0.7, que subestima A y sobreestima H y E), fluencia viscoelástica durante la descarga (exponente m fuera de 1.2–1.6 o «nariz» en la curva), sustratos influyentes (regla práctica: profundidad < 10 % del espesor de la película), rugosidad comparable a h_c o efecto de tamaño de indentación. \epsilon = 0.75 corresponde a un paraboloide; para un cono plano sería 0.72.
- Ensayo de tracción. Las relaciones verdaderas \varepsilon_t = \ln(1+e), \sigma_t = s(1+e) suponen volumen constante y deformación uniforme: dejan de valer tras el inicio de la estricción (más allá de R_m). Con la deformación del travesaño el módulo incluye la flexibilidad de máquina y mordazas y queda subestimado.
- DMA. \nu_e = E'/(3RT) es la elasticidad del caucho ideal (red afín, factor frontal 1, sin enredos): solo es una estimación en termoestables muy reticulados. La superposición tiempo–temperatura exige un material termorreológicamente simple; WLF se aplica por encima de T_g y Arrhenius por debajo o en relajaciones secundarias.
Incertidumbre: qué se informa y qué no
| Resultado | Incertidumbre | Tipo |
|---|---|---|
| S, H, E_r, E (una indentación) | covarianza de (\alpha, h_f, m) propagada con jacobiano numérico | analítica de primer orden, k = 1 |
| H, E (varias indentaciones) | desviación típica muestral de las conservadas | estadística, k = 1 |
| E de tracción | error típico de la pendiente | analítica, k = 1 |
| n de Hollomon | error típico de la pendiente log–log | analítica, k = 1 |
| C_1, C_2 (WLF), E_a Arrhenius | covarianza del ajuste / error típico | analítica, k = 1 |
| \sigma_y, R_m, alargamientos, U_T | ninguna (salvo dispersión entre probetas) | — |
No se incluye: la incertidumbre de la función de área y de la compliancia del bastidor, la de las constantes de la punta (E_i, \nu_i) ni la del coeficiente de Poisson supuesto \nu; la deriva térmica no corregida; la incertidumbre dimensional de la probeta (A_0, L_0); la calibración de la célula de carga y del extensómetro; ni la elección de la ventana del módulo.
Avisos de validez
Textos definidos en matlens/core/mechanics.py y cuándo se emiten:
W_UNCALIBRATED(resumen de nanoindentación): función de área ideal 24.5\,h_c^2 y C_f = 0.W_FEW_INDENTS: menos de 5 indentaciones válidas tras rechazar atípicos.- Calibración: «Ordenada en el origen negativa en C frente a 1/√P; Cf fijada en 0»; error si C_f supera la compliancia medida, si hay menos de 3 indentaciones o si las cargas no son distintas.
W_LINEAR: R^2 < 0.99 en el ajuste del módulo de tracción.W_CROSSHEAD: la deformación procede del travesaño (sin extensómetro).W_NO_OFFSET: la recta desplazada 0.2 % no corta la curva.W_HOLLOMON: menos de 5 puntos en el intervalo de Hollomon.W_CROSSLINK(DMA): recordatorio de la hipótesis de red ideal al informar \nu_e.- Errores (
ValueError): menos de 10 puntos tensión–deformación; faltan sección y longitud calibrada; región lineal no encontrada; pocos puntos en la curva carga–desplazamiento o en la descarga; tramo de deriva ausente o corto; isotermas sin solape o menos de dos isotermas en TTS.
Referencias con DOI
DOI comprobados en Crossref: W. C. Oliver y G. M. Pharr, J. Mater. Res. 7 (1992) 1564, doi:10.1557/JMR.1992.1564; W. C. Oliver y G. M. Pharr, J. Mater. Res. 19 (2004) 3, doi:10.1557/jmr.2004.19.1.3; M. L. Williams, R. F. Landel y J. D. Ferry, J. Am. Chem. Soc. 77 (1955) 3701, doi:10.1021/ja01619a008; F. E. Grubbs, Technometrics 11 (1969) 1, doi:10.1080/00401706.1969.10490657. Kalidindi et al. (1997), Lucas y Oliver (1999), Li et al. (2006) y Considère (1885) se citan sin DOI (no verificado); normas y libros por su código o edición.
Ejemplos resueltos
Generados por tools/gen_equation_examples.py (módulo tools/equation_examples/mechanics.py) ejecutando las funciones de MatLens sobre casos sintéticos; no se editan a mano.
Ejemplo resuelto: Oliver–Pharr
Registro sintético de una punta Berkovich ideal: carga P = P_{max}(h/h_{max})^2, mantenimiento de 20 puntos a P_{max} = 10 mN y descarga exacta P = \alpha(h-h_f)^m con h_{max} = 300 nm, h_f = 200 nm, m = 1.5 (rigidez exacta S = 0.15 mN/nm), ruido de 0.002 mN (semilla fija). oliver_pharr con los valores por defecto (\epsilon = 0.75, \beta = 1.034, C_0 = 24.5, \nu = 0.25, C_f = 0):
| Magnitud | Valor (± u, k = 1) |
|---|---|
| m | 1.5 |
| h_f (nm) | 200.02 |
| S (mN/nm) | 0.14977 ± 4.2e-05 |
| h_c (nm) | 249.83 |
| A (nm²) | 1.5292e+06 |
| H_{IT} (GPa) | 6.507 ± 0.00072 |
| E_r (GPa) | 103.8 ± 0.023 |
| E_{IT} (GPa) | 107 ± 0.026 |
| H_M (GPa) | 4.193 |
| \eta_{IT} (%) | 39.8 |
Con la función de área ideal y C_f = 0 MatLens añade el aviso de falta de calibración; la incertidumbre solo refleja el ajuste de la descarga.
Ejemplo resuelto: ensayo de tracción y Hollomon
Curva sintética: tramo elástico E = 200 GPa hasta 300 MPa y después \sigma_t = \max(K\varepsilon_t^n, 300) con K = 900 MPa y n = 0.2 pasado a valores ingenieriles (s = \sigma_t/(1+e)), 2501 puntos hasta e = 0.25, ruido 0.3 MPa (semilla fija), extensómetro. analyze_tensile:
| Magnitud | Valor |
|---|---|
| E (GPa) | 199.1 ± 1.5 (R^2 = 0.99984) |
| \sigma_y 0.2 % (MPa) | 299.9 |
| R_m (MPa) | 534.8 |
| A_g (%) | 21.16 |
| n (Hollomon) | 0.2 ± 2.4e-05 |
| K (MPa) | 900 |
| U_T (MJ/m³) | 124 |
| avisos | 0 |
Con ruido el máximo de s es plano y su posición se desplaza; Considère predice \varepsilon_{t,u} = n, es decir A_g = e^{n} - 1 = 22.14 %.
Ejemplo resuelto: DMA (WLF, Arrhenius, entrecruzamiento)
Factores de desplazamiento de WLF con las constantes «universales» (C_1 = 17.44, C_2 = 51.6 K, T_{ref} = 100 °C) en 80–130 °C con ruido gaussiano de 0.05 décadas (semilla fija), reajustados con fit_wlf y fit_arrhenius_shift; y densidad de entrecruzamiento con crosslink_density para E' = 3 MPa a 150 °C:
| T (°C) | 80 | 90 | 100 | 110 | 120 | 130 |
|---|---|---|---|---|---|---|
| \log_{10}a_T | 11.14 | 4.065 | 0.0209 | -2.86 | -4.894 | -6.423 |
WLF: C_1 = 17.36 ± 0.28, C_2 = 51.25 ± 0.6 K. Arrhenius forzado por a_T(T_{ref}) = 1: E_a = 863.8 ± 1.5e+02 kJ/mol (un sistema WLF no es Arrhenius; este valor es solo aparente).
\nu_e = E'/(3RT) = 284.23 mol/m³.