---
jupytext:
  formats: md:myst
  text_representation:
    extension: .md
    format_name: myst
kernelspec:
  display_name: Python 3
  language: python
  name: python3
---

(reguli_vs_masuratori)=
# Regulile empirice față de măsurători

```{admonition} Intuiție
:class: tip
Dacă știi marca și modelul unei mașini, poți ghici cât consumă una nouă. Nu poți ghici cât consumă **aceasta**, cu 300 000 km la bord. Limita de curgere și indicele de plasticitate sunt „marca și modelul” unei argile: spun din ce este făcută. Nu spun prin ce a trecut.
```

## Regulile

Când nu există încercări, compresibilitatea se estimează din proprietăți mai ușor de măsurat. Regulile de mai jos apar în manuale, în cursuri și în documentația programelor de calcul. Toate au fost stabilite pe argile **normal consolidate** sau remaniate.

| Regulă | Sursa | Folosește |
|---|---|---|
| $C_c = 0{,}009\,(w_L - 10)$, cu $w_L$ în % | Terzaghi & Peck | materialul |
| $C_c = I_p/74$, cu $I_p$ în % | Wroth & Wood (1978); Kulhawy & Mayne (1990) | materialul |
| $C_s = I_p/370$ | Kulhawy & Mayne (1990) | materialul |
| $C_c = 0{,}40\,(e_0 - 0{,}25)$ | Azzouz, Krizek & Corotis (1976) | starea |
| $C_c = 0{,}54\,(e_0 - 0{,}35)$ | Nishida (1956) | starea |

Regula cu $I_p$ are o justificare frumoasă în teoria stării critice. Wroth și Wood au observat că rezistența nedrenată a unei argile remaniate este de aproximativ 100 de ori mai mare la limita de plasticitate decât la limita de curgere. Între cele două limite, umiditatea scade cu $I_p$, iar pe linia stării critice un factor 100 la rezistență înseamnă un factor 100 la $p'$. De aici $\lambda \approx I_p\,(\gamma_s/\gamma_w)/(100 \ln 100)$ și, cu $\gamma_s/\gamma_w = 2{,}7$, $C_c \approx I_p/74$. Regula este deci chiar panta liniei stării critice, estimată din două puncte.

## Comparația

Pentru fiecare dintre cele 108 încercări am calculat „$C_c$ aparent” de pe treapta 200–300 kPa și, unde există descărcare, $C_s$ (din pasul 300 → 12,5 kPa). Le punem lângă reguli.

```{code-cell} ipython3
:tags: [remove-input]
import numpy as np, pandas as pd, matplotlib.pyplot as plt
d = pd.read_csv("../data/edometre.csv")
ev = lambda s: d.e0 - d[f"eps_{s:g}"]/100*(1 + d.e0)
d["Cc"] = (ev(200) - ev(300))/np.log10(1.5)
d["Cs"] = ((d.e0 - d["eps_desc_12.5"]/100*(1 + d.e0)) - ev(300))/np.log10(300/12.5)
S, Nn = d[d.stare == "inundat"], d[d.stare == "natural"]
cS, cN = "#267fd9", "#d9731a"
fig, ax = plt.subplots(2, 2, figsize=(11, 8.6))
def pts(a, x, y):
    a.scatter(S[x], S[y], s=20, c=cS, alpha=.75, label="inundat", edgecolors="none")
    a.scatter(Nn[x], Nn[y], s=20, c=cN, alpha=.75, label="umiditate naturală", edgecolors="none")
a = ax[0, 0]; pts(a, "wL", "Cc"); x = np.linspace(20, 130, 50)
a.plot(x, 0.009*(x - 10), "k-", label="0,009 (wL − 10)")
a.set_xlabel("limita de curgere wL [%]"); a.set_ylabel("Cc aparent, 200–300 kPa [–]"); a.set_title("Cc față de wL"); a.set_ylim(0, 1.1)
a = ax[0, 1]; pts(a, "Ip", "Cc"); x = np.linspace(10, 95, 50)
a.plot(x, x/74, "k-", label="Ip / 74")
a.set_xlabel("indicele de plasticitate Ip [%]"); a.set_ylabel("Cc aparent, 200–300 kPa [–]"); a.set_title("Cc față de Ip"); a.set_ylim(0, 1.3)
a = ax[1, 0]; pts(a, "e0", "Cc"); x = np.linspace(0.35, 2.0, 50)
a.plot(x, 0.40*(x - 0.25), "k-", label="0,40 (e0 − 0,25)"); a.plot(x, 0.54*(x - 0.35), "k--", label="0,54 (e0 − 0,35)")
a.set_xlabel("indicele porilor inițial e0 [–]"); a.set_ylabel("Cc aparent, 200–300 kPa [–]"); a.set_title("Cc față de e0"); a.set_ylim(0, 1.1)
a = ax[1, 1]; pts(a, "Ip", "Cs"); x = np.linspace(10, 95, 50)
a.plot(x, x/370, "k-", label="Ip / 370")
a.set_xlabel("indicele de plasticitate Ip [%]"); a.set_ylabel("Cs din descărcare [–]"); a.set_title("Cs față de Ip")
for a in ax.flat: a.grid(alpha=.3); a.legend(fontsize=8)
plt.tight_layout(); plt.show()
```

```{code-cell} ipython3
:tags: [remove-input]
def linie(nume, masurat, prezis):
    m = masurat.notna() & prezis.notna() & (prezis > 0) & (masurat > 0)
    r = (masurat/prezis)[m]
    print(f"{nume:34s} {r.median():5.2f}   {r.quantile(.25):4.2f} – {r.quantile(.75):4.2f}   {np.corrcoef(masurat[m], prezis[m])[0,1]:6.2f}")
print(f"{'regula':34s} măsurat/prezis: mediana, jumătatea din mijloc, corelația r")
linie("Cc = 0,009 (wL − 10)", d.Cc, 0.009*(d.wL - 10))
linie("Cc = Ip / 74", d.Cc, d.Ip/74)
linie("Cc = 0,40 (e0 − 0,25)", d.Cc, 0.40*(d.e0 - 0.25))
linie("Cc = 0,54 (e0 − 0,35)", d.Cc, 0.54*(d.e0 - 0.35))
linie("Cs = Ip / 370", d.Cs, d.Ip/370)
m = d.Cs > 0
print(f"\nraportul Cc/Cs măsurat: mediana {(d.Cc/d.Cs)[m].median():.1f} [–]")
```

## Ce spun cifrele

**Regulile cu $w_L$ și $I_p$ dau de 2,5–3 ori prea mult.** Mediana raportului măsurat/prezis este în jur de 0,4 pentru regula cu $w_L$ și 0,3 pentru cea cu $I_p$. Mai important decât media: **corelația este aproape nulă**. Norul de puncte nu urmează dreapta nici măcar ca tendință. Aceste reguli nu pot fi „reparate” cu un coeficient.

**Regulile cu $e_0$ se potrivesc.** Mediana raportului este 0,93, iar corelația 0,76. Nu este un merit special al autorilor lor. Indicele porilor inițial este o măsură a **stării**: o probă îndesată (supraconsolidată) are $e_0$ mic și este puțin compresibilă, orice limită de curgere ar avea.

**$C_s$ măsurat este cam un sfert din $I_p/370$**, dar **raportul $C_c/C_s$ este 5,6**, foarte aproape de regula „descărcarea este de circa cinci ori mai rigidă decât încărcarea”. Raportul se păstrează, deși ambele valori sunt mici.

## De ce: material și stare

Explicația este toată în {ref}`stare`. Regulile cu $w_L$ și $I_p$ estimează panta **liniei de compresiune normală**, care este într-adevăr o proprietate a materialului. Ele răspund corect la întrebarea „cât de compresibilă ar fi această argilă dacă ar fi normal consolidată?”. Probele din set nu sunt normal consolidate, iar încercarea nu le duce până acolo. Comparăm deci o pantă de pe linia de compresiune normală (regula) cu o pantă de pe drumul de reîncărcare și din tranziție (măsurătoarea).

Altfel spus: regulile nu sunt greșite, dar răspund la altă întrebare. Greșeala apare când rezultatul lor este folosit ca și cum ar descrie pământul din amplasament la eforturile din amplasament.

```{admonition} Cât costă confuzia: un strat de 4 m
:class: warning
O probă reală din set: argilă cu $w_L = 47\,\%$, $I_p = 32\,\%$, $e_0 = 0{,}64$ [–], inundată. Tasările specifice măsurate: 2,20 % la 100 kPa și 3,88 % la 200 kPa. Un strat de 4 m din acest pământ, al cărui efort vertical efectiv crește de la 100 la 200 kPa, se tasează cu:

| Metoda | Tasare [cm] |
|---|---|
| din măsurătoare: $4\ \text{m} \cdot (3{,}88 - 2{,}20)\,\%$ | **6,7** |
| cu $C_c = 0{,}40\,(e_0 - 0{,}25) = 0{,}156$ | 11 |
| cu $C_c = 0{,}009\,(w_L - 10) = 0{,}333$ | 24 |
| cu $C_c = I_p/74 = 0{,}432$ | 32 |

(Formula folosită pentru ultimele trei: $s = H\,\dfrac{C_c}{1+e_0}\,\log_{10}\dfrac{200}{100}$.) Între măsurătoare și regula cu $I_p$ este un factor de aproape 5.
```

```{admonition} Cum se folosesc, totuși, regulile
:class: tip
- pentru un prim ordin de mărime, înainte de a avea încercări;
- pentru argile moi, normal consolidate, unde au fost stabilite;
- ca limită superioară a compresibilității: dacă un calcul cu $C_c = I_p/74$ dă tasări acceptabile, lucrarea este în siguranță din acest punct de vedere;
- niciodată fără a privi împrăștierea: la același $I_p$, valorile din literatură diferă de trei ori între ele.
```

```{admonition} Rezumat
:class: important
- Regulile cu $w_L$ și $I_p$ estimează compresibilitatea argilei **normal consolidate**; pe setul nostru dau de 2,5–3 ori prea mult și nu se corelează cu măsurătorile.
- Regulile cu $e_0$ se potrivesc (raport 0,93, corelație 0,76), pentru că $e_0$ măsoară starea.
- Raportul $C_c/C_s \approx 5{,}6$ se potrivește cu regula „de cinci ori”.
- O proprietate de material nu poate înlocui o măsurătoare de stare.
```
