Ondas Gravitacionales e Investigación Asistida por IA · Entrega · 2026-09-17

¿Cuánto frena una capa delgada de fluido el fondo sobre el que fluye?

Lectura de corrido de lo que el proyecto estableció y verificó. Cada número apunta a lo que lo produce en el repositorio (github.com/Lucia-Maz/free-slip-boundary-conditions-fourier-continuation): un chequeo ejecutable, un script con su JSON, y la entrada del log donde está discutido —las etiquetas [V-nn], [D-nn], [H-nn], [P-nn] resuelven en DECISIONES.md. La página tiene tres zonas: lo numérico, que es el objeto del proyecto; el contraste con un experimento; y lo que quedó abierto explorando. La versión explicada, con las derivaciones, es informe/entrega.pdf.

νπ² / 4h² fricción de fondo · superficie libre
× 4 exacto, contra tapa rígida
6,8·10⁻¹⁰ error de SPECTER vs. referencia
+3 a +12 % tasa que ve un PIV vs. lineal, δ ≤ 10

La fricción de fondo de una capa delgada con fondo no-deslizante y superficie libre se puede calcular en vez de ajustar: es α = νπ²/4h², exactamente cuatro veces menor que la de una tapa rígida, y SPECTER con la condición free-slip implementada en este proyecto la reproduce con error de 10⁻¹⁰. Con el mismo código se midió qué le hace la no linealidad: sube la fricción de fondo hasta un 26 % en δ = 10, pero la velocidad de superficie —lo que un PIV ajusta— decae más lento que el promedio vertical, y las dos cosas casi se cancelan: en el régimen de la ventana experimental la predicción lineal queda buena al 12 %.

Contraste: el decaimiento medido por PIV da α = 0,0669 ± 0,0049 s⁻¹ contra 0,0685 calculado y 0,274 de tapa rígida —free-slip, no tapa rígida—, con una salvedad cuantitativa abierta que está escrita al lado del número (§5, [P-02]).

1La pregunta y por qué importa

En las simulaciones de turbulencia cuasi-2D que usa el grupo, el decaimiento de una capa delgada de fluido está dominado por la fricción con el fondo. Esa fricción nace de la asimetría entre el fondo, no-deslizante, y la superficie de arriba, que en el experimento es libre (el electrolito está en contacto con aire). Los códigos existentes o no tienen bordes verticales, o los tienen no-deslizantes de los dos lados — así que la fricción entra como un término −αu con un α ajustado, no calculado.

Este proyecto implementa en SPECTER —el solver pseudoespectral con continuación de Fourier del grupo, no periódico en z— la condición de superficie libre en la cara superior, la verifica contra una referencia independiente, y la usa para calcular α y para medir qué le hace la no linealidad. Como contraste, compara el resultado con el decaimiento medido por PIV en la celda de forzado electromagnético.

fasequé esestado
0 · SPECTERConseguir el solver y leer en la fuente cómo impone las condiciones de contornohecha
1 · TeoríaDerivación analítica y solver de referencia no espectralhecha
2 · ImplementaciónLa condición free-slip en Fortran, dentro de SPECTER: 237 líneas en 5 archivos más un testhecha
3 · VerificaciónSeis casos de aceptación fijados por hash, incluido uno que falla a propósitohecha — 6/6
4 · Física y entregaBarrido en δ (hecho), contraste con el experimento (hecho), corrida de producción, PDFen curso

2Superficie libre: qué se implementó y por qué vale

Una superficie libre real impone dos cosas sobre el fluido. Que el aire no lo arrastra: tensión tangencial nula. Y que la superficie se mueve con el fluido y se restituye por gravedad y capilaridad: la condición cinemática w(h) = ∂η/∂t junto con el balance de tensión normal, que fija la presión en la superficie. Si la deformación η es chica frente al espesor, la segunda se reduce a w = 0 sobre un plano fijo, y lo que queda es una cara plana sin tensión tangencial. Eso es la condición free-slip, así la llama el propio código (freeslip, freeslip_z), y es lo que este proyecto implementó: una superficie libre no deformable, el orden cero de la superficie libre en el número de Froude.

2.1 · Por qué vale para esta pregunta

La deformación de una superficie libre es del orden de la presión dinámica del flujo dividida por lo que la restituye: η ~ ρU²/(ρg + σk²). Con los parámetros de la celda (codigo/celda.py) ese cociente es un número, no un criterio:

régimenU (promedio vertical)Froudeηη / h
forzado 2,15 A0,84 mm/s0,00350,044 µm7,3·10⁻⁶
inicio del decaimiento2,31 mm/s0,00950,33 µm5,5·10⁻⁵

La superficie se deforma menos de medio micrón sobre 6 mm. Restituye la gravedad —la longitud capilar es 2,7 mm, k = 369 m⁻¹, por encima del k = 296 del forzado— y el resultado no depende de usar ρ y σ del agua limpia: ninguna corrección del electrolito mueve cuatro órdenes de magnitud. Como α sale del cizallamiento del perfil vertical en el fondo, la corrección por deformación a α es de ese mismo orden, una parte en 10⁵; cualquier otra incerteza del problema —medio milímetro en h mueve α un 17 %— es diez mil veces mayor. Para calcular la fricción de fondo de esta capa, la superficie libre no deformable es la condición correcta, y lo que queda de la física de la superficie libre —la asimetría con el fondo, que es lo que produce el factor 4— está entera.

Hay además una razón numérica para que esta condición sea la primera que se implementa: con la superficie plana, la tensión tangencial ∂u/∂z + ∂w/∂x coincide con la vorticidad tangencial ∂u/∂z − ∂w/∂x, y como la proyección de presión de SPECTER resta un gradiente, la condición impuesta sobre la vorticidad se conserva sin error de partición: el residuo de tensión en la cara es 6·10⁻¹² e independiente de dt ([D-24], verificado en la puerta). Esa coincidencia es exclusiva del caso plano.

2.2 · La superficie deformable, para más adelante

Es la continuación natural de este trabajo, y ya está preparada, no descartada. Las condiciones linealizadas están derivadas (cinemática w(h) = ∂η/∂t, tensión tangencial completa, tensión normal que prescribe p en la superficie; teoria/superficie_libre_v_estrella_y_p.md §4), y la rama de presión que hace falta —Neumann abajo, Dirichlet arriba, el par opuesto al que usa el caso plano— está derivada y verificada en Python sobre 20 000 combinaciones de k y Lz, con su criterio de condicionamiento ([V-12]). Lo que falta, dicho sin adornos:

Es un cambio de estructura del paso de proyección, no una condición de contorno más, y por eso queda para después de esta entrega. En esta celda no cambiaría α; se vuelve necesaria cuando el número de Froude deja de ser chico —capas más gruesas, flujos más rápidos— o cuando la pregunta es sobre las ondas de la superficie misma.

3Lo establecido, verificado

Con fondo no-deslizante y superficie libre el espectro de decaimiento vertical es λₘ = ν((m+½)π/h)², contra λₙ = ν(nπ/h)² con no-deslizamiento en las dos caras. El modo fundamental de cada uno da la fricción de fondo:

Fricción · superficie libre

α = νπ² / (4h²)

Fricción · tapa rígida (no-slip/no-slip)

α = νπ² / h²

Cociente entre ambas

exactamente 4

Por tres rutas independientes. Es el número que un código con tapa rígida pone mal, y el que un α ajustado esconde.

Sesgo del PIV de superficie

u(h) / ⟨u⟩ = π/2

Las partículas trazadoras flotan: miden la velocidad de superficie, un 57 % por encima del promedio vertical del modo fundamental.

La derivación la produjo un equipo de agentes con un verificador independiente y un solver de referencia no espectral (jobs/…/out/build/notes.pdf, out/capa.py). La puerta de aceptación de esa fase, y la de la implementación, se escribieron antes del trabajo, arrancaron en rojo, están fijadas por hash y no contienen la fórmula del resultado: construyen su propia referencia por diferencias finitas con extrapolación de Richardson, para que el resultado quede comprobado y no afirmado.

SPECTER modificado reproduce estos números contra esa referencia, en una malla 8×8×128 (ν = 10⁻², Lz = 1):

cantidadSPECTERreferenciaerror relativo
λ₀ (m=0, el fundamental)2,467401099·10⁻²2,467401100·10⁻²6,8·10⁻¹⁰
λ₁ (m=1, primer armónico vertical)2,220660867·10⁻¹2,220660990·10⁻¹5,5·10⁻⁸
λ₂ (m=2, segundo armónico vertical)6,168500038·10⁻¹6,168502750·10⁻¹4,4·10⁻⁷
λ(tapa rígida) / λ(superficie libre)4,00000001543,8·10⁻⁹
cara libre abajo en vez de arribamisma λ dentro de 7,7·10⁻¹³—
residuo de tensión en la cara libre6,1·10⁻¹² relativo a la cara rígida, independiente de dt—
1, 2 y 4 procesos MPIcoinciden en 15 cifras—

Procedencia: verificacion/test_aceptacion_fase1.py y test_aceptacion_fase2.py (compila SPECTER y corre 15 simulaciones, 6/6); [V-07], [V-09], [V-10]. El parche contra upstream, 237 líneas agregadas y 22 borradas, está en numerico/specter-parche/ con la receta para reconstruir el árbol.

4Qué hace la no linealidad

La fórmula de α vale para el modo vertical fundamental. Promediando Navier–Stokes en la vertical sin ninguna clausura aparece el parámetro que gobierna cuánto se aparta el flujo real de ese modo:

Parámetro que gobierna la clausura

δ = U·k·h² / ν = Re_h · ε

con ε = k·h el espesor relativo a la escala horizontal del flujo.

En el experimento δ es grande —≈ 9 en el estado forzado y ≈ 27 al inicio del decaimiento, con k = 296 m⁻¹ el fundamental de la red de imanes— pero la distorsión del perfil vertical tiene un prefactor chico (≈ 0,0077 δ): ≈ 7 % y ≈ 21 %. Eso era una estimación de orden ([V-11]); con SPECTER se midió.

4.1 · La fricción de fondo sube

Con SPECTER ya modificado se integró el decaimiento libre de un campo celular tridimensional a amplitud creciente, en los dos ε = kh del experimento —0,71 para la ventana del ajuste y 1,78 para el fundamental de la red— a dos resoluciones horizontales, 16×16 y 32×32, con la referencia lineal medida con el mismo binario a amplitud minúscula. Dos medidas independientes: la tasa de decaimiento de ⟨v²⟩ contra la lineal, y la fricción de fondo sin clausura, α_eff = ν⟨∂_z u|₀·Ū⟩/(h⟨Ū²⟩), leída del campo en la ventana de ajuste y dividida por νπ²/4h².

δ en la ventanaε = 0,71 · λ/λ_linε = 0,71 · α_eff/αε = 1,78 · λ/λ_linε = 1,78 · α_eff/α
0,31,0001,0011,0001,001
11,0051,0041,0021,004
31,0441,0251,0141,028
5 – 71,1431,0831,0071,155
8 – 101,27 – 1,311,18 – 1,28no convergido entre mallas
Barrido en δ, caso ventana (ε = 0,71): λ/λ_lin y α_eff/α contra δ, dos mallas
Caso ventana, ε = 0,71. Círculos: tasa medida sobre la lineal; cuadrados: α_eff/α del campo. Las dos mallas coinciden dentro de 1,2 % hasta δ = 10. La banda gris es la barra del α medido en el experimento.
Barrido en δ, caso forzado (ε = 1,78): λ/λ_lin y α_eff/α contra δ, dos mallas
Caso forzado, ε = 1,78. Hasta δ ≈ 7 las mallas coinciden; la fricción de fondo sube un 15 % mientras la tasa total queda dentro de 1,4 % de la lineal, porque el término no lineal manda energía a escalas más grandes, que disipan menos horizontalmente. Los dos puntos de más amplitud no convergen entre mallas y no se usan.

Conclusión: el término no lineal sube la fricción de fondo: 2,5 % en δ = 3, 8 % en δ = 5, 15–18 % en δ ≈ 7–8, hasta 26–28 % en δ = 10 — un factor ~3 por encima de la estimación de orden. El perfil distorsionado tiene más cizallamiento en el fondo por unidad de velocidad media que el fundamental. La clausura de un modo queda cuantificada, no estimada: vale al por ciento para δ ≲ 3 y hay que corregirla por encima. Procedencia: verificacion/barrido_delta_etapa1.py, salidas/tablas/barrido_delta_etapa1_*.json, informes con veredicto automático en informe/; [D-42], [V-16].

4.2 · Lo que ve un PIV de superficie

Las partículas flotan: el PIV mide u(h), no el promedio vertical ⟨u⟩ que predice la clausura. En el perfil fundamental u(h)/⟨u⟩ = π/2 y las dos tasas coinciden. Con el perfil distorsionado no: sobre las mismas corridas, escribiendo cinco campos dentro de la ventana de ajuste, se midió la pendiente de log u(h) contra la de log ⟨u⟩, cada una dividida por la misma tasa en la referencia lineal.

δε = 0,71 · λ_sup/λ_linε = 0,71 · λ_prom/λ_linε = 0,71 · u(h)/⟨u⟩ε = 1,78 · λ_sup/λ_linε = 1,78 · λ_prom/λ_linε = 1,78 · u(h)/⟨u⟩
11,0041,0051,571,0001,0011,57
31,0331,0401,560,9961,0111,55
51,0921,1281,52—
7 – 81,1181,2421,450,8911,0131,44
101,0431,3051,37no convergido entre mallas
Caso ventana: tasa de u(h) y de ⟨u⟩ sobre la lineal contra δ, y u(h)/⟨u⟩ al inicio y al final de la ventana
Caso ventana, ε = 0,71. Arriba: la tasa del promedio vertical sube hasta 31 % con δ, la de la superficie sólo hasta 12 %, y nunca baja de la lineal. Abajo: el perfil distorsionado tiene menos exceso de superficie (u(h)/⟨u⟩ cae de π/2 a 1,37 en δ ≈ 10) y, como δ decae en el tiempo, el cociente se recupera dentro de la ventana — por eso u(h) decae más lento que ⟨u⟩.
Caso forzado: tasa de u(h) y de ⟨u⟩ sobre la lineal contra δ, y u(h)/⟨u⟩ al inicio y al final de la ventana
Caso forzado, ε = 1,78. Acá la viscosidad horizontal domina y la tasa total no sube con la no linealidad, así que no hay qué cancelar: la tasa de u(h) cae 11 % por debajo de la lineal en δ = 7. Las cruces son los puntos que no convergen entre mallas: sólo la dirección.

Conclusión: la corrección no lineal a la fricción y la recuperación del perfil son dos efectos del mismo orden y de signo opuesto sobre lo que un PIV mide. En el régimen de la ventana experimental (ε = 0,71) casi se cancelan, y la predicción lineal λ(k) = α + νk² para la velocidad de superficie es buena al 12 % hasta δ = 10, aunque cada ingrediente valga 20–30 %. La cantidad correcta para comparar con un PIV es λ_sup, no λ_prom. Procedencia: el mismo script con --superficie, salidas/tablas/barrido_delta_etapa1_*_superficie.json; [V-17]. Las pendientes de superficie se midieron sólo en 16²; la convergencia es la de [V-16].

5Contraste con el experimento

La campaña de PIV del 02-06-25 en la celda de forzado electromagnético tiene cuatro registros de decaimiento libre (med_S0003, S0005, S0006, S0009), que forman un ensemble: las barras de error salen de ahí, no de una sola curva. El ajuste se restringe a t > 10 s, después de la meseta inicial, que es el estado forzado previo al corte.

Velocidad rms de superficie contra tiempo, cuatro decaimientos, antes y después de descontar el ruido de PIV Velocidad rms de superficie contra tiempo, cuatro decaimientos, antes y después de descontar el ruido de PIV
El decaimiento, antes y después de descontar el ruido de PIV. Las series archivadas (trazo tenue) usan pares de cuadros consecutivos, donde el ruido es del orden de la señal y la velocidad aparente no decae. Reprocesando desde los TIF crudos con Δt óptimo y multipaso propio (puntos y trazo grueso) el decaimiento exponencial aparece con claridad, con 97,5 % de vectores válidos.
α [s⁻¹]τ = 1/α [s]
medido, ensemble de los 4, t > 10 s0,06687 ± 0,0048815,0
calculado, superficie libre0,0685414,6
calculado, tapa rígida0,274163,6

El medido queda a 2,4 % del valor con superficie libre y 4,1 veces por debajo del de tapa rígida, que es el supuesto de los códigos que hoy usa el grupo. En lo cualitativo es la comparación que motiva el proyecto: la condición correcta es la superficie libre, no la tapa rígida. Está limitada por el espesor, no por la estadística: medio milímetro en h mueve α un 17 %.

Salvedad cuantitativa, abierta ([P-02]). α pelado es la tasa de un modo con k → 0. Para el k que el flujo sí tiene en la ventana del ajuste (59–130 m⁻¹) la tasa lineal es 0,072–0,085 s⁻¹, y el medido queda un 7–22 % por debajo. El barrido en δ descartó la no linealidad como explicación (§4.1, empuja para el otro lado) y mostró que la cantidad a comparar es la tasa de superficie (§4.2), que en este ε no baja de la lineal. Quedan el contenido en k del campo medido —el piso de ruido del PIV no es blanco— y el espesor. El 2,4 % no se presenta como acuerdo.

Espectro de energía al inicio y al final de un decaimiento, mostrando que la escala dominante crece Espectro de energía al inicio y al final de un decaimiento, mostrando que la escala dominante crece
El estado forzado pica en el fundamental de la red de imanes. Los doce espectros de la meseta forzada tienen su pico en 295 m⁻¹ (λ ≈ 2,1 cm), y la red con paso de 1,5 cm da 296 (línea punteada, [H-16]). Durante el decaimiento la escala crece: el número de onda pesado por energía va de 240 m⁻¹ al inicio a 135 al final. Es el k que hay que usar para evaluar δ y λ(k) en cada instante.

Cámara

Photron FASTCAM-1024PCI

1024×1024, 10 bits, 60 fps, obturador 1/60 s · 3800 px/m, campo de 26,9 cm

Capa de electrolito

h = 6 mm

KNO₃ al 16 % m/m, partículas trazadoras de 100 µm · ν = 10⁻⁶ m²/s, la del agua

Imanes

Ø 1 cm, 1,5 cm entre centros

Red tipo tablero; armónico dominante diagonal, λ = 2,12 cm (k = 296 m⁻¹), medido en 295

Corridas

3 forzados · 4 decaimientos

3072 cuadros por corrida = 51,2 s. Los parámetros viven en un único lugar, codigo/celda.py, con su procedencia.

6Explorando: preguntas disparadas por los resultados

Esta zona está en proceso y no es parte del objeto del proyecto. Se muestra porque el contraste de arriba depende de ella y porque documenta lo que se intentó y lo que quedó abierto.

6.1 · El instrumento: cuánto ruido tiene este PIV

Para que el decaimiento medido sea comparable con algo hizo falta saber cuánto del valor es ruido de PIV. Se midió σ tres veces sobre la misma cámara y la misma configuración, agregando en cada paso una degradación física:

mediciónσ por componentequé agrega
par sintético, corrimiento conocido≤ 0,011 pxcorrelación y estimador subpíxel solos
fluido en reposo, par real0,030 pxruido de lectura, iluminación, movimiento propio
forzado 2,15 A, ajuste del barrido en Δt0,169 pxgradiente de velocidad en la ventana, movimiento fuera del plano
σ de PIV a lo largo de los cuatro decaimientos, decreciendo junto con el flujo σ de PIV a lo largo de los cuatro decaimientos, decreciendo junto con el flujo
El ruido de PIV no es una constante del instrumento: cae junto con el flujo. El término que agrega el flujo es el 98 % de la varianza de σ. En un decaimiento, donde U cae un factor ~10, σ tampoco es constante a lo largo del registro.

Lo que quedó abierto, y por qué esta zona es exploratoria: el 0,169 px se midió sobre un registro que resultó no ser estacionario ([H-12]), y el marco espectral de Foucaut et al. no describe el ruido de este multipaso —el piso del espectro no tiene el cero que exigiría la ventana de 16 px, como si el ruido estuviera correlacionado sobre el paso de la grilla ([V-14])—. Repetir la medición sobre med_S0002, la corrida forzada que sí es estacionaria, es lo que cerraría el número; es instrumento, no objeto, y va después de la entrega.

6.2 · Cuánta energía sobrevive en el fundamental de la red

La salvedad [P-02] se decide en el contenido en k del campo medido dentro de la ventana del ajuste. El barrido dice que en ε = 1,78 —el fundamental de la red, k = 296— la tasa de superficie sí cae por debajo de la lineal; cuánto de ese modo queda al comienzo de la ventana es medible sobre los espectros ya guardados (salidas/tablas/decaimiento.json) y no se hizo.

7Salvedades vigentes

Límites reales del resultado, declarados porque el proyecto no afirma más de lo que se chequeó.

8Qué sigue

La herramienta ya existe: SPECTER puede calcular la fricción de fondo con superficie libre en vez de ajustarla, y decir qué le hace la no linealidad. Lo que falta:

  1. Corrida de producción en el clúster con la geometría real de la celda, y de ahí el α calculado con su corrección no lineal. La resolución sale del barrido: 32×32 alcanza hasta δ ≈ 7 en ε = 1,78 y hasta δ ≈ 10 en ε = 0,71; para δ mayor hace falta el estudio de convergencia propio.
  2. La superficie deformable (§2.2), como continuación del trabajo después de la entrega: la rama de presión en Fortran es un día; el acoplamiento implícito y su puerta nueva son el proyecto.

Generado a partir de ESTADO.md, DECISIONES.md y los JSON de salidas/tablas/ de github.com/Lucia-Maz/free-slip-boundary-conditions-fourier-continuation. Esta página es la lectura para humanos; el registro completo de decisiones, hallazgos y verificaciones —pensado para retomarse con o sin la conversación que lo produjo— vive en CLAUDE.md, ESTADO.md y DECISIONES.md en la raíz del repositorio. Licencia MIT.