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

(normalizeaza)=
# {fa}`rocket` Pune-ți încercările pe suprafață

Codul de mai jos desenează suprafața de stare limită în planul normalizat și pune peste ea punctele unor încercări triaxiale. **Înlocuiește datele din a doua celulă cu ale tale**: pentru fiecare citire ai nevoie de $p'$ [kPa], $q$ [kPa] și $v$ [–]. Dacă parametrii pământului sunt bine aleși, punctele probelor care curg plastic trebuie să cadă pe curbă, iar cele elastice sub ea.

```{code-cell} ipython3
# --- Parametrii materialului (Weald Clay, Schofield & Wroth 1968); toți [–] ---
lam   = 0.093   # λ  panta NCL/CSL
kappa = 0.035   # κ  panta URL
M     = 0.95    # panta CSL în q–p'
Gamma = 2.060   # Γ  v pe CSL la p' = 1 kPa
N     = 2.100   # N  v pe NCL la p' = 1 kPa
h     = 0.60    # panta suprafeței Hvorslev (valoare ilustrativă)
```

```{code-cell} ipython3
# --- Datele încercărilor: (p' [kPa], q [kPa], v [–]) ---
# Valorile de mai jos sunt SINTETICE (calculate cu modelul și rotunjite), nu măsurători.
incercari = {
    "CU, NC, p'0 = 300 kPa": [(300, 0, 1.57), (276, 97, 1.57), (242, 145, 1.57), (214, 171, 1.57), (194, 184, 1.57)],
    "CD, NC, p'0 = 300 kPa": [(300, 0, 1.57), (340, 119, 1.551), (375, 225, 1.529), (409, 327, 1.51), (439, 417, 1.494)],
    "CU, Rp = 16, p' = 50 kPa": [(50, 0, 1.575), (50, 50, 1.575), (51, 93, 1.575), (110, 131, 1.575), (180, 172, 1.575)],
}
```

```{code-cell} ipython3
import numpy as np
import matplotlib.pyplot as plt

def p_e(v):
    """Presiunea echivalentă [kPa] la volumul specific v [–]."""
    return np.exp((N - v) / lam)

# suprafața de stare limită în planul normalizat
x_cs = np.exp((Gamma - N) / lam)          # p'_cs / p'_e
g    = (M - h) * x_cs                     # ordonata Hvorslev la origine
x_t  = g / (3 - h)                        # capătul limitei de întindere
eta  = np.linspace(0, M, 200)
x_R  = (M**2 / (M**2 + eta**2)) ** ((lam - kappa) / lam)   # Roscoe (Cam-Clay modificat)

fig, ax = plt.subplots(figsize=(7.5, 5))
ax.plot(x_R, eta * x_R, color="#d9731a", lw=2.5, label="suprafața Roscoe")
ax.plot([x_t, x_cs], [3 * x_t, M * x_cs], color="#bf3333", lw=2.5, label="suprafața Hvorslev")
ax.plot([0, x_t], [0, 3 * x_t], color="#737380", lw=2.5, label="limita de întindere")
ax.plot(x_cs, M * x_cs, "ko", ms=8, label="stare critică")

for (nume, puncte), marker in zip(incercari.items(), ["o", "s", "^", "D", "v"]):
    p, q, v = np.array(puncte, dtype=float).T
    ax.plot(p / p_e(v), q / p_e(v), marker + "--", lw=0.8, ms=6, mfc="white", label=nume)

ax.set_xlabel("$p'/p'_e$ [–]"); ax.set_ylabel("$q/p'_e$ [–]")
ax.set_xlim(0, 1.1); ax.set_ylim(0, 0.8); ax.grid(alpha=0.3); ax.legend(fontsize=8)
plt.show()
```

Ce să observi:

- Cele două încercări pe probe NC, una nedrenată și una drenată, urmează **aceeași curbă**, deși în kPa drumurile lor nu seamănă deloc.
- Proba puternic supraconsolidată urcă vertical (elastic, $p'$ constant), atinge suprafața Hvorslev și merge de-a lungul ei până la stare critică.

Punctele din exemplu sunt calculate cu modelul, deci se potrivesc cu suprafața prin construcție. Cu măsurători reale vei vedea o împrăștiere în jurul curbei; mărimea ei îți spune cât de bine descriu cei cinci parametri (și $h$) pământul tău.

Tabelul de mai jos arată calculul pentru fiecare citire: presiunea echivalentă și coordonatele normalizate.

```{code-cell} ipython3
print(f"{'încercare':28s} {'p′ [kPa]':>9s} {'q [kPa]':>8s} {'v [–]':>6s} {'p′e [kPa]':>10s} {'p′/p′e':>7s} {'q/p′e':>6s}")
for nume, puncte in incercari.items():
    for p, q, v in puncte:
        pe = p_e(v)
        print(f"{nume:28s} {p:9.0f} {q:8.0f} {v:6.3f} {pe:10.0f} {p/pe:7.2f} {q/pe:6.2f}")
```

```{admonition} De încercat
:class: tip
1. Schimbă $N$ cu 0,01. Ce se întâmplă cu punctele? (Presiunea echivalentă este foarte sensibilă la $N$; de aceea poziția NCL trebuie determinată cu grijă.)
2. Pune $h = M$. Ce devine suprafața Hvorslev? Ce ar însemna asta pentru „coeziune”?
3. Adaugă o încercare drenată pe proba cu $R_p = 16$, folosind rezultatele din {ref}`ex_suprafata`.
```
