<!-- canonical: https://jmrplens.github.io/phonometry/es/guides/junction-transmission/ -->
Source: https://jmrplens.github.io/phonometry/es/guides/junction-transmission/

Cuando una onda de flexión que viaja por una pared o un forjado llega a una
unión rígida con otra placa, parte de su energía se refleja y parte se transmite
a las placas conectadas. El **enfoque ondulatorio** de Cremer et al. (1973),
tabulado por Craik (1981, 1996) y recogido en Hopkins (2007, Sección 5.2.1.3),
da el coeficiente de transmisión en forma cerrada para las cuatro uniones más
habituales de placas finas, homogéneas e isótropas: las uniones en **X**, **T**,
**L** y **en línea**. Modelar la unión como una viga sin masa simplemente
apoyada (articulada) obliga a que una onda de flexión incidente genere solo
ondas de flexión reflejadas y transmitidas, sin conversión a ondas en el plano,
y los coeficientes resultantes son **independientes de la frecuencia**. Eso es
lo que los convierte en entradas convenientes en forma cerrada para el análisis
estadístico de energía (SEA) y para el modelo de transmisión por flancos de la
EN 12354, donde alimentan el factor de pérdidas por acoplamiento `etaij` y el
índice de reducción vibracional `Kij`.

<details>
<summary>Mostrar el código de esta figura</summary>

```python

from phonometry import junction_transmission

# Unión en X entre una placa de hormigón de 100 mm y otra de 200 mm (cL = 3200 m/s).
res = junction_transmission("X", 0.1, 3200.0, 240.0, 0.2, 3200.0, 480.0)
res.plot(language="es")  # tau(theta) de los caminos de esquina y recto, con medias
plt.show()
```

</details>

## 1. Parámetros de onda chi y psi

Con la placa `i` de espesor `h_i`, velocidad de onda cuasi-longitudinal `cL_i` y
densidad superficial `rho_s,i`, toda la familia de coeficientes depende de solo
dos razones adimensionales (Cremer et al. 1973):

```
chi = kB2 / kB1 = (rho_s2 B1 / (rho_s1 B2))**0.25 = sqrt(h1 cL1 / (h2 cL2)) = sqrt(fc2 / fc1)
psi = B2 kB2**2 / (B1 kB1**2) = (h2 cL2 rho_s2) / (h1 cL1 rho_s1) = (rho_s2 fc1) / (rho_s1 fc2)
```

`chi` es la razón de números de onda de flexión de las placas (equivalente a la
raíz cuadrada de la razón de sus frecuencias críticas) y fija el ángulo de corte
por reflexión total interna `theta_co = arcsin(chi)`; `psi` es la razón de sus
movilidades de momento flector. Para **placas idénticas** ambos valen 1.

```python
from phonometry import junction_wave_parameters

chi, psi = junction_wave_parameters(0.1, 3200.0, 240.0, 0.2, 3200.0, 480.0)
#  -> (sqrt(0.5), 4.0)
```

## 2. Coeficientes de esquina y de tramo recto

Para una onda incidente sobre la placa 1, la transmisión **alrededor de la
esquina** (hacia la placa perpendicular 2) es `tau12(theta)` (Ec. 5.12), y la
transmisión **a través del tramo recto** (hacia la placa colineal 3, solo en las
uniones en X y en T (1)) es `tau13(theta)` (Ec. 5.13). El coeficiente de esquina
es cero más allá del ángulo de corte, `tau12(theta) = 0` para `chi < sin(theta)`.
Las constantes de unión `J1`, `J2`, `J3` seleccionan la geometría:

| Unión | `J1` | `J2` | `J3` |
|---|---|---|---|
| X | 1 | 1 | 1 |
| T (1) | 2 | 0,5 | 0,5 |
| T (2) | 2 | 2 | — |
| L | 4 | 1 | — |

El tramo recto no está definido para la unión en T (2) ni para la unión en L.

```python

from phonometry import (
    corner_transmission_coefficient,
    straight_transmission_coefficient,
)

theta = np.radians(np.linspace(0.0, 90.0, 91))
tau12 = corner_transmission_coefficient(theta, chi, psi, "X")
tau13 = straight_transmission_coefficient(theta, chi, psi, "X")
```

## 3. Media angular en campo difuso

En un campo vibracional difuso todos los ángulos de incidencia son igual de
probables y la intensidad incidente lleva un factor de oblicuidad `cos(theta)`,
por lo que el coeficiente de transmisión medio es `tau_bar_ij = integral 0..pi/2
de tau_ij(theta) cos(theta) d(theta)` (Ec. 5.6). Para **placas idénticas** el
álgebra se reduce a fracciones exactas que sirven de oráculo desde primeros
principios de la biblioteca:

- esquina y recto de la unión en X: `tau_ij(theta) = cos**2(theta) / 8`, luego `tau_bar_ij = 1/12`;
- esquina de la unión en L: `tau_ij(theta) = cos**2(theta) / 2`, luego `tau_bar_ij = 1/3`;
- unión en línea: `tau12(0 grados) = 1` (una placa continua transmite por completo).

```python
from phonometry import angular_average_transmission_coefficient

angular_average_transmission_coefficient(1.0, 1.0, "X", section="corner")  # 1/12
angular_average_transmission_coefficient(1.0, 1.0, "L", section="corner")  # 1/3
```

Las dos direcciones cumplen la relación de consistencia SEA (Ec. 5.7),
`tau_bar_12 = chi * tau_bar_21`, de modo que solo hace falta calcular una
dirección.

## 4. Factor de pérdidas por acoplamiento e índice de reducción vibracional

La media angular es el puente hacia los dos descriptores de unión usados en los
modelos de edificios basados en SEA: el **factor de pérdidas por acoplamiento**
(Ec. 2.154) `etaij = cg_i L_ij tau_ij / (2 pi**2 f S_i)` y el **índice de
reducción vibracional** del enfoque ondulatorio (Ec. 5.116)
`Kij = 10 lg(1 / tau_ij) + 5 lg(fc_j / f_ref)` con `f_ref = 1000 Hz` y `fc_j`
la frecuencia crítica de la placa *receptora*. Combinada con la reciprocidad de
la Ec. 5.7, esta forma es simétrica, `Kij = Kji`, como exige la EN 12354 al
descriptor de unión. Para la unión en X idéntica de hormigón de 100 mm
(`fc ~= 203 Hz`), `Kij = 10 lg 12 + 5 lg(203 / 1000) ~= 7,3 dB`.

```python
from phonometry import (coupling_loss_factor, junction_transmission,
                        wave_vibration_reduction_index)

eta = coupling_loss_factor(1.0 / 12.0, group_velocity=200.0,
                           junction_length=4.0, frequency=500.0, plate_area=10.0)
res = junction_transmission("X", 0.1, 3200.0, 240.0, 0.1, 3200.0, 240.0)
kij = wave_vibration_reduction_index(res.corner_average,
                                     res.critical_frequency2)  # 7.33 dB
kij = res.corner_reduction_index  # lo mismo, precalculado en el resultado

res.plot()   # tau(theta) de los caminos de esquina y recto de esta unión (requiere matplotlib)
```

El descriptor de unión es una magnitud de *diseño*: barrer el espesor de la
placa receptora muestra cuánto aporta un cambio de masa en la unión. Los
caminos de esquina se endurecen deprisa con una placa receptora más pesada,
mientras que el camino recto (en línea) de la unión en X es el que más sube,
porque las placas perpendiculares fijan cada vez más la línea de unión:

<details>
<summary>Mostrar el código de esta figura</summary>

```python

from phonometry import junction_transmission, wave_vibration_reduction_index

# Placas de hormigón (cL = 3200 m/s, rho = 2400 kg/m3): placa 1 fija en
# 100 mm, placa 2 en barrido de 50 mm a 400 mm.
h1, cl, rho = 0.1, 3200.0, 2400.0
ratios = np.linspace(0.5, 4.0, 36)
kij_corner = []
for ratio in ratios:
    h2 = h1 * float(ratio)
    res = junction_transmission("X", h1, cl, rho * h1, h2, cl, rho * h2)
    kij_corner.append(res.corner_reduction_index)

fig, ax = plt.subplots()
ax.plot(ratios, kij_corner, label="X esquina")
ax.set_xlabel("Relación de espesores h2/h1")
ax.set_ylabel("Índice de reducción de vibraciones Kij [dB]")
ax.set_title("Kij de unión por el enfoque ondulatorio (Hopkins Ec. 5.116)")
ax.legend()
plt.show()
```

</details>

## 5. Ejemplo resuelto: llevar Kij a la EN 12354

El número que predice esta página es exactamente el que consume el modelo de
flancos de EN 12354-1. Toma la unión en X de hormigón de 100 mm / 200 mm de
la figura inicial: su camino de esquina da `K12 = 9,8` dB. Entregarlo a
`flanking_element` en lugar de un valor tabulado del Anexo E valora los tres
caminos de flancos de la unión y su efecto sobre el índice aparente:

```python
from phonometry import building, junction_transmission

# La unión en X de hormigón de 100 mm / 200 mm de la figura inicial:
res = junction_transmission("X", 0.1, 3200.0, 240.0, 0.2, 3200.0, 480.0)
k12 = res.corner_reduction_index                     # 9.8 dB (camino de esquina)

# Llévalo al modelo simplificado de EN 12354-1 como Kij de esta unión:
ff, df, fd = building.flanking_element(
    label="suelo", r_flanking=49.0, r_separating=57.0,
    k_ff=k12, k_fd=k12, k_df=k12, separating_area=11.5, coupling_length=4.5)
pred = building.predicted_airborne_insulation(r_direct=57.0,
                                              flanking_paths=[ff, df, fd])
print(round(pred.r_prime_w, 1))                      # 55.4  (Rw 57 directo)
print(pred.dominant.label, round(pred.dominant.fraction, 2))   # Dd 0.68
```

Una sola unión con un `Kij` moderado ya recorta 1,6 dB al $R_w = 57$ dB
directo; un edificio completo repite esto para cada unión, que es la
[guía de predicción EN 12354](/phonometry/es/guides/insulation-prediction/).

La contraparte medida de la EN 12354 de `Kij` (a partir de la diferencia de
niveles de velocidad promediada en dirección) es el `vibration_reduction_index`
separado de la transmisión por flancos; esta página es el valor *predicho* en
forma cerrada del enfoque ondulatorio.

## Qué cubre esta guía

**Cubierto.** Los coeficientes de transmisión de unión rígida,
independientes de la frecuencia, de Cremer, Heckl y Ungar (1973),
tabulados por Craik (1981/1996) y recogidos en Hopkins (2007, apartado
5.2.1.3), para las uniones X, T, L y en línea de placas delgadas,
homogéneas e isótropas: los parámetros de onda $\chi$/$\psi$, los
coeficientes de esquina y de tramo recto
$\tau_{12}(\theta)$/$\tau_{13}(\theta)$, su media angular en campo difuso,
el factor de pérdidas por acoplamiento SEA y el índice de reducción
vibracional $K_{ij}$ del enfoque ondulatorio, mediante
`junction_wave_parameters`, `corner_transmission_coefficient`,
`straight_transmission_coefficient`,
`angular_average_transmission_coefficient`, `coupling_loss_factor`,
`wave_vibration_reduction_index` y `junction_transmission`.

**No cubierto.** Este $K_{ij}$ predicho es una idealización en forma
cerrada para una unión rígida y simplemente apoyada, no una medición: el
$K_{ij}$ medido y empírico a partir de una diferencia de niveles de
velocidad promediada en dirección (ISO 10848) es el
`vibration_reduction_index` separado de la
[guía de Medición del aislamiento en laboratorio](/phonometry/es/guides/insulation-lab/).
El coeficiente de tramo recto $\tau_{13}$ no está definido para las
geometrías de unión T (2) y L, que no tienen una tercera placa colineal,
así que ahí solo se aplica el camino de esquina.

## Véase también

- [Predicción del aislamiento acústico (EN 12354)](/phonometry/es/guides/insulation-prediction/):
  el modelo de flancos que consume `Kij` unión a unión.
- [Medición del aislamiento en laboratorio](/phonometry/es/guides/insulation-lab/):
  la medición ISO 10848 de `Kij` a partir de diferencias de niveles de
  velocidad, la contraparte empírica de las formas cerradas de esta página.
- [Potencia de ruido estructural de equipos (EN 15657)](/phonometry/es/guides/structure-borne-power/):
  la potencia de la fuente que estas transmisiones de unión reparten por el
  edificio.
- [Movilidad mecánica y la familia de FRF (ISO 7626-1)](/phonometry/es/guides/mechanical-mobility/):
  las movilidades de placa tras los parámetros de onda.
- Referencia de la API: [`vibration.junction_transmission`](/phonometry/es/reference/api/vibration/junction-transmission/).
