OpenGeoRock
4.3

Agua subterránea y comprobaciones analíticas

Válido para OGR Slip2D 0.1.235

El motor de agua subterránea y otras herramientas de OGR Slip2D se contrastan con resultados que no admiten aproximación: una solución analítica, una identidad que debe cumplirse exactamente o un requisito de coherencia.

Cada comprobación tiene un valor exacto o calculable de forma independiente (Sección 4.1.2). Lo exigido es la tolerancia escrita en el test; lo obtenido es el valor de la magnitud que el test comprueba, medido al ejecutar el modelo del test con la versión 0.1.235. El archivo de cada test se enlaza en su sección, y cada test puede ejecutarse por separado (Sección 4.1.7).

4.3.1Las comprobaciones de un vistazo#

Tabla 4.3.1 Las comprobaciones de esta página, lo que exige cada test y lo que obtiene la versión 0.1.235.
ComprobaciónReferenciaExigidoObtenido
Flujo confinadoLey de Darcy: altura lineal, Q=K i AQ = K\,i\,ADiferencia de alturas inferior a 10−9 m; de caudal, inferior a 10−68×10−14 m; 2×10−15
Medios estratificadosMedia armónica (en serie), media aritmética (en paralelo)Diferencia de caudal inferior a 10−4 y a 10−31×10−12; 1×10−14
AnisotropíaPrueba del parche con Kxy≠0K_{xy} \ne 0Diferencia de alturas inferior a 10−9 m; de velocidades, inferior a 10−62×10−14 m; 4×10−14
Flujo transitorioFunción de error complementariaDiferencia inferior al 1 % del escalón de altura0.11 %
Tiempo largoEl régimen permanenteDiferencia de alturas inferior a 0.05 m3×10−7 m
Malla de elementos finitosÁrea de las regionesDiferencia inferior a 10−6 m²0
Retroanálisis de soportesActiva = pasiva con Ft=1F_t = 1Diferencia inferior a 10−60
Constantes de Hoek-BrownGSI = 100: mb=mim_b = m_i, s=1s = 1, a=1/2a = 1/210−9, 10−9, 10−3exacto
Ida y vuelta de DXFSe conserva la formaDiferencia de área inferior a 10−9; de vértices, inferior a 10−6 m0; 4×10−15 m
Presa rectangularCaudal de Dupuit y CharnyiEl error baja del 5 % a medida que krk_r se hace más abruptadel 34 % al 1.8 %
Curva de retenciónDerivada de θ(ψ)\theta(\psi)Diferencia inferior a 10−39×10−9
Desembalse rápidoMorgenstern (1963)Diferencia inferior al 6 % respecto a 1.20; valor más bajo en el desembalse total1.2103 (+0.86 %)
En OGR Slip2D

Las comprobaciones forman parte de la batería de tests, y los tests en los que se basa esta página pueden ejecutarse por separado desde un clon del repositorio: python tests/_runner.py seepage_v126 transient_v130 mesh_v125 para las seis primeras filas, y el archivo que se indica en cada sección para las demás. Varias comprobaciones de agua subterránea se hacen dos veces: sobre el motor de cálculo y por medio de la capa de operaciones ogr_api, cuyas operaciones publica el servidor MCP como herramientas (Sección 5.3), de modo que las cifras que recibe un agente son las verificadas.

Código: tests/ · ogr_fem2d/

4.3.2Flujo confinado: la ley de Darcy en una dimensión#

En una capa confinada y saturada, limitada por dos bordes con altura impuesta y sin flujo a través de los demás contornos, la altura es lineal y el caudal obedece la ley de Darcy (1856):

H(x)=H0+(H1−H0) xLQ=K H0−H1L hu=γw (H−y)\begin{aligned} H(x) &= H_0 + (H_1 - H_0)\,\dfrac{x}{L} \\ Q &= K\,\dfrac{H_0 - H_1}{L}\,h \\ u &= \gamma_w\,(H - y) \end{aligned}

donde

H0, H1H_0,\ H_1
alturas totales impuestas en x=0x = 0 y en x=Lx = L (m)
KK
conductividad hidráulica de la capa (m/s)
hh
espesor de la capa, transversal al flujo (m)
QQ
caudal por unidad de longitud de la sección (m²/s)
u, γw, yu,\ \gamma_w,\ y
presión intersticial (kPa), peso específico del agua (kN/m³) y cota (m)

Una altura lineal pertenece al espacio de funciones de los triángulos lineales, por lo que la solución por elementos finitos de este problema es exacta salvo errores de redondeo, sea cual sea la malla; cualquier error en el ensamblaje, en las condiciones de contorno o en el cálculo del caudal aparece como una diferencia.

Tabla 4.3.2 Ley de Darcy: los modelos de los dos tests y lo que exigen.
Test del motor de cálculoTest mediante la capa de operaciones
ModeloRectángulo de L = 20 m por h = 10 m; K = 1×10−5 m/s; H0 = 10 m, H1 = 4 mRectángulo de 20 m por 10 m; K = 1×10−5 m/s; H0 = 15 m, H1 = 12 m
MallaTriángulos lineales, tamaño objetivo de 1.2 mObjetivo de 400 elementos
Solución cerradaQ = 3×10−5 m²/sQ = 1.5×10−5 m²/s
ExigidoDiferencia de altura inferior a 10−9 m en cada nodo; diferencia de caudal por la sección central inferior a 10−6; el mismo caudal, con diferencia inferior a 10−6, por las secciones x = 2, 6, 10, 14 y 18 m; altura de presión igual a H − y con diferencia inferior a 10−12 mDiferencia de altura inferior a 10−6 m en cuatro puntos y de u inferior a 10−5 kPa; diferencia de caudal por tres secciones inferior a 10−6; el signo del flujo sigue la orientación de la sección
ObtenidoAltura 7.9×10−14 m; caudal 2.0×10−15; secciones 7.3×10−14Cumple
En OGR Slip2D

El motor de cálculo impone por eliminación las alturas prescritas y calcula el caudal a través de cualquier segmento del modelo (Sección 3.7.3). El segundo test construye el mismo dominio rectangular con las operaciones mesh_generate, seepage_bc_set y groundwater_run, y comprueba además que la conductividad fijada con hydraulic_set es la que lee el motor de cálculo.

Código: tests/test_seepage_v126.py · tests/test_groundwater_ops_v1200.py

4.3.3Medios estratificados: medias armónica y aritmética#

Dos capas de conductividades K1K_1 y K2K_2 dan lugar a dos casos límite, ambos consecuencia de la ley de Darcy y de la continuidad. Cuando el flujo atraviesa las capas (en serie), el mismo caudal pasa por todas ellas y las pérdidas de altura se suman, de lo que resulta la media armónica de las conductividades; cuando discurre a lo largo de las capas (en paralelo), todas están sometidas a la misma altura y los caudales se suman, de lo que resulta la media aritmética:

Keq=L∑iLi/KiHint=H0−(H0−H1) r1r1+r2,ri=LiKi\begin{aligned} K_{\mathrm{eq}} &= \dfrac{L}{\sum_i L_i/K_i} \\ H_{\mathrm{int}} &= H_0 - (H_0 - H_1)\,\dfrac{r_1}{r_1 + r_2}, \qquad r_i = \dfrac{L_i}{K_i} \end{aligned}
Keq=∑iKi bi∑ibiQ=Keq H0−H1L h\begin{aligned} K_{\mathrm{eq}} &= \dfrac{\sum_i K_i\,b_i}{\sum_i b_i} \\ Q &= K_{\mathrm{eq}}\,\dfrac{H_0 - H_1}{L}\,h \end{aligned}

donde

LiL_i
longitud de la capa ii en la dirección del flujo, con L=∑LiL = \sum L_i (m)
bib_i
espesor de la capa ii transversal al flujo, con h=∑bih = \sum b_i (m)
rir_i
resistencia hidráulica de la capa ii (s)
HintH_{\mathrm{int}}
altura en la interfaz de dos capas en serie (m)

La comprobación emplea un contraste de 100, que exige mucho al método numérico: casi toda la pérdida de altura tiene que producirse en la capa de baja conductividad, y el caudal debe conservarse a través de la interfaz.

Tabla 4.3.3 Medios estratificados: los modelos de los dos tests y lo que exigen.
Test del motor de cálculoTest mediante la capa de operaciones
ModeloDominio rectangular de 20 m por 10 m; K1 = 1×10−4 y K2 = 1×10−6 m/s; H0 = 10 m, H1 = 4 m; malla de 0.9 mDominio rectangular de 20 m por 10 m; K = 1×10−5 y 4×10−5 m/s; H0 = 15 m, H1 = 12 m
En serieDos capas de 10 m de ancho, una al lado de la otra; caudal por x = 5 m; Q = 5.94×10−6 m²/sDos capas de 10 m de ancho; caudal por x = 5 m, y altura en la interfaz
En paraleloDos capas de 5 m de espesor, una sobre la otra; caudal por x = 10 m; Q = 1.515×10−4 m²/sDos capas de 5 m de espesor; caudal por x = 10 m
ExigidoDiferencia de caudal inferior a 10−4 en serie y a 10−3 en paralelo; el mismo caudal, con diferencia inferior a 10−4, por seis secciones a ambos lados de la interfaz; pérdida de altura en la capa de baja conductividad más de 90 veces mayor que en la otra (la relación exacta es K1/K2 = 100)Diferencia de caudal inferior a 10−6, en serie y en paralelo; altura en la interfaz a menos de 10−6 m de Hint
ObtenidoSerie 1.0×10−12; paralelo 1.2×10−14; secciones 1.3×10−12; relación de pérdidas de altura 100.0000000000Cumple
Altura piezométrica a lo largo de la línea media de dos capas de conductividad 1e-4 y 1e-6 metros por segundo dispuestas en serie, con alturas de 10 m y 4 m en los extremos: casi toda la caída de 6 m se produce en la capa de baja conductividad 0 5 10 15 20 4 6 8 10 x (m) altura (m) K1 = 1×10−4 m/s K2 = 1×10−6 m/s
Figura 4.3.1 Altura piezométrica a lo largo de la línea media del modelo en serie del test del motor de cálculo, calculada con OGR Slip2D 0.1.235 (puntos, cada 0.5 m). La capa de conductividad 10−610^{-6} m/s absorbe 5.94 m de los 6 m de pérdida de altura; los primeros 10 m pierden 0.06 m.
En OGR Slip2D

Cada capa es una región de material con sus propias propiedades hidráulicas, y la malla se construye región por región, con lo que ningún elemento atraviesa la interfaz y los nodos de esta se comparten (Sección 3.7.4).

Código: tests/test_seepage_v126.py · tests/test_groundwater_ops_v1200.py

4.3.4Anisotropía: la prueba del parche con un tensor completo#

La conductividad de un material es un tensor cuyos valores principales K1K_1 y K2=(K2/K1) K1K_2 = (K_2/K_1)\,K_1 están girados un ángulo θ1\theta_1, que es el que forma K1K_1 con el eje +x+x, lo que da Kxy=(K1−K2)sin⁡θ1cos⁡θ1K_{xy} = (K_1 - K_2)\sin\theta_1\cos\theta_1 (Ec. (3.7.5)). Un campo de alturas lineal satisface la ecuación en régimen permanente para cualquier tensor constante, puesto que su gradiente es constante:

H=A x+B y+Cv=−K ∇H=−(KxxA+KxyBKxyA+KyyB)\begin{aligned} H &= A\,x + B\,y + C \\ \mathbf{v} &= -\mathbf{K}\,\nabla H = -\begin{pmatrix} K_{xx}A + K_{xy}B \\ K_{xy}A + K_{yy}B \end{pmatrix} \end{aligned}

Si ese campo se impone en todo el contorno, la solución por elementos finitos debe reproducirlo en cada nodo, y la velocidad de Darcy debe ser en cada elemento el vector constante de la Ec. (4.3.4). Es la prueba del parche de un elemento. Con Kxy≠0K_{xy} \ne 0 pone a prueba el giro del tensor y los términos cruzados de la matriz del elemento, algo que los casos isótropos no pueden hacer, y por eso comprueba tanto el giro como el ensamblaje de Galerkin.

Tabla 4.3.4 Prueba del parche: los cinco tensores del test. El modelo es un rectángulo de 20 m por 10 m, con una malla de 1.2 m, y A=0.3A = 0.3, B=0.2B = 0.2 y C=5.0C = 5.0 m.
Conductividad principalRelaciónÁnguloTérmino cruzado
K1 = 1×10−5 m/sK2/K1 = 10°Kxy=0K_{xy} = 0
K1 = 1×10−5 m/sK2/K1 = 0.250°Kxy=0K_{xy} = 0
K1 = 1×10−5 m/sK2/K1 = 0.2545°Kxy≠0K_{xy} \ne 0
K1 = 2×10−4 m/sK2/K1 = 0.130°Kxy≠0K_{xy} \ne 0
K1 = 5×10−6 m/sK2/K1 = 4−60°Kxy≠0K_{xy} \ne 0

Exigido. Una diferencia de altura inferior a 10−9 m en cada nodo, para los cinco tensores; una diferencia entre la velocidad de cada elemento y la exacta inferior a 10−6, relativa a su componente mayor; y, en el caso isótropo, un módulo del gradiente igual a A2+B2\sqrt{A^2 + B^2} con una diferencia inferior a 10−9. Obtenido. Diferencias de altura de hasta 2.5×10−14 m y de velocidad de hasta 3.6×10−14, en los cinco.

En OGR Slip2D

El tensor se construye con los parámetros Saturated permeability Ks, K2 / K1 y K1 angle (deg from +X) del material, y en la zona no saturada todo el tensor se multiplica por krk_r, de modo que se conservan la relación y la dirección (Sección 3.7.2). Los tests comprueban además que el tensor es definido positivo y que su traza no cambia con el giro.

Código: tests/test_seepage_v126.py · ogr_core/hydraulic/hydraulic_properties.py

4.3.5Flujo transitorio: la respuesta a un escalón de altura#

En un acuífero confinado y totalmente saturado, la ecuación transitoria se reduce a la ecuación de difusión, con la difusividad hidráulica D=K/SsD = K/S_s, donde SsS_s es el almacenamiento específico. Para un acuífero semiinfinito con altura uniforme H0H_0, cuyo contorno en x=0x = 0 se eleva a H1H_1 en t=0t = 0, la solución es el perfil clásico de la función de error complementaria (Carslaw y Jaeger, 1959):

∂H∂t=D ∂2H∂x2H(x,t)=H0+(H1−H0) erfc⁡ ⁣(x2D t)\begin{aligned} \dfrac{\partial H}{\partial t} &= D\,\dfrac{\partial^2 H}{\partial x^2} \\ H(x,t) &= H_0 + (H_1 - H_0)\,\operatorname{erfc}\!\left(\dfrac{x}{2\sqrt{D\,t}}\right) \end{aligned}

El frente avanza como 2D t2\sqrt{D\,t}. La solución solo vale mientras el frente está lejos del otro extremo del acuífero, y es la solución analítica, no el motor de cálculo, la que deja de ser aplicable más allá: el test compara solo donde se cumple la hipótesis de acuífero semiinfinito.

Tabla 4.3.5 Respuesta a un escalón de un acuífero confinado: modelo y exigencia del test del motor de cálculo.
ConceptoDatos
ModeloBanda de 50 m por 5 m; K=1×10−4K = 1\times10^{-4} m/s; Ss=1×10−3S_s = 1\times10^{-3} m−1, de modo que D=0.1D = 0.1 m²/s; sin flujo a través de los bordes largos
AlturasInicialmente H0=100H_0 = 100 m; el borde izquierdo se eleva a H1=110H_1 = 110 m, el borde derecho se mantiene en 100 m (altura suficiente para que el medio siga saturado en todas partes)
NuméricaMalla de 1.0 m; 150 pasos de tiempo; iteración de Picard con una tolerancia de 10−9 y como máximo 12 iteraciones; tiempos t=200t = 200 y t=1000t = 1000 s
Nodos comparadosA media altura de la banda (a menos de 0.6 m de ella), para 0.5 m<x<min⁡(2Dt, L−3Dt)0.5\ \mathrm{m} \lt x \lt \min(2\sqrt{Dt},\ L - 3\sqrt{Dt}): hasta 8.94 m en t=200t = 200 (16 nodos) y hasta 20 m en t=1000t = 1000 (38 nodos)
ExigidoQue la mayor diferencia con la solución cerrada sea inferior al 1 % del escalón de altura H1−H0H_1 - H_0, es decir, a 0.1 m
Obtenido0.109 % en t=200t = 200; 0.097 % en t=1000t = 1000
Altura piezométrica a lo largo de la línea media del acuífero confinado tras un escalón de 10 m en su borde izquierdo: las alturas nodales de elementos finitos (puntos) coinciden con la solución de la función de error complementaria (líneas) en t = 200 y t = 1000 0 10 20 30 40 50 100 102 104 106 108 110 x (m) altura (m) 8.94 m 20 m t = 200 t = 1000
Figura 4.3.2 Altura piezométrica en la línea media del acuífero tras el escalón, calculada con OGR Slip2D 0.1.235 (puntos) y con la función de error complementaria (líneas). Las líneas discontinuas marcan el final del intervalo comparado en cada tiempo.

El mismo archivo comprueba que el frente avanza con el tiempo y que un almacenamiento diez veces mayor lo retrasa. El mismo acuífero se construye también mediante la capa de operaciones, con el mismo límite del 1 % en los mismos dos tiempos, y para un tercer tiempo de 106 s debe reproducirse el perfil lineal del régimen permanente con una diferencia inferior a 10−3 del escalón de altura.

En OGR Slip2D

El motor de cálculo transitorio integra en el tiempo la forma mixta de la ecuación de Richards con una iteración de Picard modificada, por etapas (Sección 3.7.8). En una zona saturada, el almacenamiento es el almacenamiento específico elástico SsS_s, que es lo que evita que el sistema colapse sobre el régimen permanente.

Código: tests/test_transient_v130.py · tests/test_groundwater_ops_v1200.py

4.3.6Tiempo largo: el régimen permanente#

Con el paso del tiempo, el agua almacenada deja de cambiar, y la solución transitoria tiene que aproximarse a la solución en régimen permanente de las mismas condiciones de contorno, que es la de la Ec. (3.7.4):

lim⁡t→∞H(x,t)=H∞(x),∇⋅[ kr(ψ) K ∇H∞ ]=0\lim_{t\to\infty} H(\mathbf{x}, t) = H_\infty(\mathbf{x}), \qquad \nabla\cdot\left[\,k_r(\psi)\,\mathbf{K}\,\nabla H_\infty\,\right] = 0

El problema no saturado en régimen permanente no tiene solución cerrada, por lo que esta es una comprobación de coherencia y no de una solución cerrada: relaciona el esquema transitorio con el motor de cálculo en régimen permanente, que a su vez se comprueba con el caudal exacto de una presa rectangular (Sección 4.3.11).

Modelo. Un rectángulo de 20 m por 12 m, con una malla de 0.9 m. La función de permeabilidad es la de Gardner, con Ks=1×10−5K_s = 1\times10^{-5} m/s, a=1a = 1 y n=3n = 3; la curva de retención es la de van Genuchten, con α=0.1\alpha = 0.1 m−1 y n=2n = 2, θs=0.4\theta_s = 0.4 y θr=0.05\theta_r = 0.05; el almacenamiento específico es 1×10−41\times10^{-4} m−1. Al comienzo, la altura es de 10 m en ambos lados; las condiciones finales son 10 m a la izquierda y 3 m a la derecha, impuestas hasta esos niveles y libres por encima de ellos. La solución tras una única etapa de 109 s se compara con la solución en régimen permanente de las condiciones finales, calculada con el motor de cálculo no saturado en régimen permanente (relajación 0.4, como máximo 200 iteraciones, tolerancia 10−6).

Exigido. Que la mayor diferencia de altura total entre las dos soluciones sea inferior a 0.05 m. Obtenido. 2.8×10−7 m. Mediante la capa de operaciones, el acuífero confinado de la sección anterior debe quedar, en t=106t = 10^6 s, a menos de 10−3 del escalón de altura, 0.01 m, de su perfil lineal en régimen permanente. Otro test exige que el drenaje disminuya el agua almacenada de forma monótona.

Test: tests/test_transient_v130.py, TestAsymptoticConsistency.

4.3.7La malla de elementos finitos conserva el área#

Una malla conforme de triángulos lineales que cubre exactamente una región debe sumar el área de esa región:

∑eAe=AΩAe=12∣(x2−x1)(y3−y1)−(x3−x1)(y2−y1)∣\begin{aligned} \sum_e A_e &= A_\Omega \\ A_e &= \tfrac12\left|(x_2 - x_1)(y_3 - y_1) - (x_3 - x_1)(y_2 - y_1)\right| \end{aligned}

La identidad no se cumple si la malla tiene huecos, solapes o triángulos que salen del dominio, así que ninguno de estos defectos puede pasar la comprobación. Se comprueba en tres modelos:

  • un cuadrado de 10 m por 10 m, con un tamaño objetivo de elemento de 1.5 m: 100 m²;
  • dos cuadrados apilados que comparten una arista, con lo que se comprueba la conformidad en la interfaz entre dos regiones: 200 m²;
  • un talud de la batería de tests con tres regiones de material, con un objetivo de 200, 800 y 2 000 elementos: el área total debe ser la misma en cada refinamiento e igual al área de las regiones tal como la calcula el programa.

Exigido. Una diferencia inferior a 10−6 m² en cada caso, y una dispersión de las áreas inferior a 10−6 m² entre los tres refinamientos. Obtenido. Ninguna diferencia, a la precisión de la coma flotante, en ninguno de ellos. El mismo archivo comprueba que ninguna arista pertenece a más de dos elementos, que ningún elemento cruza la interfaz entre regiones y que los nodos de una arista compartida son comunes a ambos lados, que todo elemento tiene área positiva y está numerado en sentido antihorario, que el ángulo mínimo no baja de 20° en el cuadrado ni de 15° en el talud, y que las funciones de forma reproducen exactamente un campo lineal: el gradiente de 3x−2y+73x - 2y + 7 resulta correcto con una diferencia inferior a 10−6.

En OGR Slip2D

La malla se construye región por región, y los nodos de una arista común a dos regiones son comunes a ambas, por lo que la malla es conforme en las interfaces por construcción (Sección 3.7.4).

Código: tests/test_mesh_v125.py · ogr_fem2d/mesh/mesh.py

4.3.8Retroanálisis de soportes: las fuerzas activa y pasiva coinciden con un factor de 1#

El retroanálisis fija el factor de seguridad en un valor objetivo FtF_t y despeja la fuerza horizontal que hay que añadir para alcanzarlo (Sección 3.10.6). Si RR y DD son las sumas resistente y desestabilizadora del método, evaluadas en FtF_t, y aa el factor de brazo de esa sección,

Tact=1a(D−RFt)Tpas=1a(Ft D−R)=Ft Tact\begin{aligned} T_{\mathrm{act}} &= \dfrac{1}{a}\left(D - \dfrac{R}{F_t}\right) \\ T_{\mathrm{pas}} &= \dfrac{1}{a}\left(F_t\,D - R\right) = F_t\,T_{\mathrm{act}} \end{aligned}

las dos hipótesis dan la misma fuerza con Ft=1F_t = 1, sean cuales sean el talud, la superficie y el método, y la fuerza pasiva es la mayor de las dos para cualquier objetivo superior a 1 cuando hace falta alguna fuerza. La identidad dejaría de cumplirse ante casi cualquier error algebraico, porque D−R/1D - R/1 y 1⋅D−R1\cdot D - R son la misma expresión. La fuerza es nula cuando FtF_t es el factor de seguridad de la superficie sin soporte.

Modelos. En el test del motor de cálculo, un talud de la batería de tests con tres regiones de material, el círculo de centro (88.0, 70.5) m y radio 47.212 m, 25 dovelas, el método de Bishop simplificado y la fuerza aplicada a una cota de 25 m. En el test mediante la capa de operaciones, la operación back_analysis_run sobre un talud de 10 m de altura con 1V:2H (c′=6c' = 6 kPa, ϕ′=22∘\phi' = 22^\circ, γ=19\gamma = 19 kN/m³) con una Grid Search de 3 × 3 intervalos, un objetivo de 1.0 y la fuerza a una cota de 5 m.

Exigido. Con Ft=1.0F_t = 1.0, una diferencia entre la fuerza activa y la pasiva inferior a 10−6 (en unidades de fuerza por unidad de longitud), en ambos tests. En el test del motor de cálculo, además: una fuerza pasiva mayor que la activa para objetivos de 1.2, 1.5 y 2.0; una fuerza que crece con el objetivo (1.0, 1.2, 1.4, 1.6); y una fuerza nula, y no negativa, para un objetivo que la superficie ya supera, con menos de 1 kN/m justo en el propio factor sin soporte. Obtenido. Una diferencia de 0 con Ft=1F_t = 1 y una relación Tpas/TactT_{\mathrm{pas}}/T_{\mathrm{act}} de 1.2, 1.5 y 2.0 para esos objetivos, con un error de hasta 4×10−16.

En OGR Slip2D

El retroanálisis admite el método simplificado de Bishop, en superficies circulares, y los métodos simplificado y corregido de Janbu; cualquier otro método se rechaza. La cota de la fuerza modifica el resultado del método de Bishop, cuyos momentos dependen del brazo, y no el del método de Janbu, cuyo equilibrio de fuerzas no depende de ella; ambas propiedades se comprueban. El cálculo no usa ni altera los resultados del análisis de estabilidad.

Código: tests/test_back_analysis_v140.py · tests/test_f3b_ops_v1201.py · ogr_slip2d/back_analysis.py

4.3.9Constantes de Hoek-Brown para roca intacta#

La Parameter Calculator obtiene las constantes del criterio de Hoek-Brown generalizado a partir del índice de resistencia geológica (GSI), la constante de la roca intacta mim_i y el factor de alteración DD (Hoek, Carranza-Torres y Corkum, 2002; Ec. (3.5.14) y Ec. (3.5.15)):

mb=miexp⁡ ⁣(GSI−10028−14D)s=exp⁡ ⁣(GSI−1009−3D)a=12+16(e−GSI/15−e−20/3)\begin{aligned} m_b &= m_i\exp\!\left(\dfrac{\mathrm{GSI} - 100}{28 - 14D}\right) \\ s &= \exp\!\left(\dfrac{\mathrm{GSI} - 100}{9 - 3D}\right) \\ a &= \dfrac12 + \dfrac16\left(e^{-\mathrm{GSI}/15} - e^{-20/3}\right) \end{aligned}

Para GSI=100\mathrm{GSI} = 100 y D=0D = 0 se anulan los exponentes de mbm_b y ss, y las dos exponenciales de aa son el mismo número, por lo que el macizo rocoso se reduce a la roca intacta: mb=mim_b = m_i, s=1s = 1 y a=1/2a = 1/2, de forma exacta.

Exigido. Para GSI=100\mathrm{GSI} = 100, mi=10m_i = 10 y D=0D = 0: mbm_b a menos de 10−9 de 10, ss a menos de 10−9 de 1 y aa a menos de 10−3 de 0.5. Obtenido. Exactamente 10, 1 y 0.5. Un segundo test usa un valor de Hoek et al. (2002): para GSI=50\mathrm{GSI} = 50, mi=10m_i = 10 y D=0D = 0, las constantes son mb=1.6768m_b = 1.6768 con una tolerancia de 10−3, s=0.003866s = 0.003866 con 10−5 y a=0.5057a = 0.5057 con 10−3, y el programa da 1.67677, 0.0038659 y 0.50573. Otro test pasa por el botón del diálogo de materiales y comprueba, con la solución cerrada exp⁡[(GSI−100)/(9−3D)]\exp[(\mathrm{GSI} - 100)/(9 - 3D)], el valor de ss que llega al material, y no solo el que muestra la calculadora; con un GSI bajo, cuya ss es muy pequeña, el valor debe llegar íntegro.

En OGR Slip2D

La calculadora limita el GSI al intervalo de 0 a 100 y DD a un máximo de 1.999, a partir del cual mbm_b quedaría indefinido, y lo indica en una nota en lugar de devolver una constante infinita; ambos límites se comprueban (Sección 2.3.2).

Código: tests/test_m6_v157.py · tests/test_gsi_calculator_write_v1192.py · ogr_core/materials/parameter_calculator.py

4.3.10Ida y vuelta de DXF#

Un modelo exportado a DXF e importado de nuevo debe recuperar la misma geometría. En rigor, el dibujo no es idéntico vértice a vértice, y no tiene por qué serlo: el importador divide los contornos en sus cruces, con lo que el contorno externo gana nodos donde lo corta un contorno de material o una línea de agua. Lo que tiene que cumplirse es que la forma no cambie:

  • el área encerrada es la misma, calculada con A=12∣∑i(xi yi+1−xi+1 yi)∣A = \tfrac12\left|\sum_i (x_i\,y_{i+1} - x_{i+1}\,y_i)\right|;
  • todos los vértices originales siguen presentes;
  • todo vértice añadido está sobre un segmento original.

Es una condición más exigente que pedir listas idénticas, porque sigue detectando una coordenada que se desplace, se pierda o se redondee.

Modelo. Un talud de la batería de tests cuyo contorno externo tiene ocho vértices, con dos contornos de material y un nivel freático de (0, 32) a (120, 22), exportado en metros e importado con una tolerancia de soldadura del 0.05 % y sin simplificación; el área se comprueba también tras una ida y vuelta en milímetros. Exigido. Los mismos tipos y números de contornos; una diferencia relativa del área encerrada inferior a 10−9; todos los vértices originales presentes, con una coincidencia de 10−6; todo vértice añadido a menos de 10−6 m de un segmento original; los contornos de material sin cambios hasta el noveno decimal; el carácter cerrado o abierto de cada contorno conservado; y las regiones aún construibles. Obtenido. Una diferencia de área de 0, en metros y en milímetros, y un contorno externo que pasa de 8 a 13 vértices, con los cinco vértices añadidos a una distancia de hasta 4×10−15 m del perfil original.

En OGR Slip2D

La geometría se exporta a capas que el importador reconoce (OGR_EXTERNAL, OGR_MATERIAL, OGR_WATER_TABLE y las demás) y los dibujos de resultados, a capas cuyo nombre empieza por OGR_X_, que el importador ignora, de modo que al volver a importar una flecha de carga no puede convertirse en un contorno de material; un test comprueba el convenio de capas y las unidades registradas en la cabecera (Sección 2.2.5).

Código: tests/test_dxf_export_v148.py · ogr_core/dxf/

4.3.11Una presa rectangular: el caudal de Dupuit y Charnyi#

En el flujo a través de una presa rectangular de anchura LL sobre una base impermeable, con un nivel H1H_1 aguas arriba y un nivel H2H_2 aguas abajo, medidos sobre la base, el caudal por unidad de longitud es el que da la expresión siguiente (resultado de Charnyi, que coincide con el caudal de la aproximación de Dupuit), siempre que la zona situada por encima de la superficie libre no conduzca:

q=K (H12−H22)2Lq = \dfrac{K\,(H_1^2 - H_2^2)}{2L}

La formulación no saturada de OGR Slip2D permite que esa zona conduzca, por lo que cabe esperar que el caudal calculado resulte mayor. Al hacer más abrupta la función de permeabilidad, el caudal debe tender de forma monótona a la solución cerrada; el test comprueba esa convergencia, que valida el motor de cálculo y explica el exceso.

Modelo. Una presa de 20 m de anchura y 12 m de altura sobre una base impermeable, K=1×10−5K = 1\times10^{-5} m/s, H1=10H_1 = 10 m en la cara izquierda y H2=2H_2 = 2 m en la derecha; en la coronación y en las caras por encima de los niveles de agua se impone la condición de posible superficie de rezume; malla de 0.6 m; el caudal por la sección vertical del centro de la presa. La solución cerrada es q=10−5(102−22)/(2⋅20)=2.4×10−5q = 10^{-5}(10^2 - 2^2)/(2\cdot 20) = 2.4\times10^{-5} m²/s. La función de permeabilidad es la de Gardner (1958), con un límite inferior kr=10−8k_r = 10^{-8}, en cuatro variantes cada vez más abruptas, que figuran en la Tabla 4.3.6.

Tabla 4.3.6 Presa rectangular: caudal para cuatro funciones de permeabilidad, calculado con OGR Slip2D 0.1.235, frente a la solución cerrada 2.4×10−52.4\times10^{-5} m²/s.
Parámetros de GardnerCaudalDiferencia
a = 0.05, n = 23.213×10−5 m²/s+33.9 %
a = 1, n = 32.758×10−5 m²/s+14.9 %
a = 50, n = 42.533×10−5 m²/s+5.5 %
a = 104, n = 52.443×10−5 m²/s+1.8 %

Exigido. La diferencia disminuye a medida que la función se vuelve más abrupta (se tolera un aumento de hasta 10−3 entre casos consecutivos) y en el caso más abrupto queda por debajo del 5 %. El mismo archivo exige que la superficie libre salga por la cara de aguas abajo por encima del nivel de aguas abajo y por debajo del de aguas arriba, que parta cerca de la altura de aguas arriba, que descienda de forma monótona, con tolerancia para el ruido de la traza discreta, y que se den los nodos de la superficie de rezume. Mediante la capa de operaciones, la misma presa, con la función más abrupta, debe dar la solución cerrada con una diferencia inferior al 5 %.

En OGR Slip2D

La superficie libre es la línea P=0P = 0 de la solución, y la superficie de rezume se determina por conmutación nodal, con una banda de histéresis y un número máximo de conmutaciones por nodo para que la iteración no oscile (Sección 3.7.6).

Código: tests/test_unsaturated_v127.py · tests/test_groundwater_ops_v1200.py

4.3.12La curva de retención y su derivada#

La curva de retención de van Genuchten (1980) da el contenido de agua en función de la altura de succión ψ\psi, y su derivada es la capacidad hídrica específica que aparece como término de almacenamiento de la zona no saturada (Ec. (3.7.15)):

θ(ψ)=θr+(θs−θr)[1+(αψ)n]−m,m=1−1n\theta(\psi) = \theta_r + (\theta_s - \theta_r)\left[1 + (\alpha\psi)^n\right]^{-m}, \qquad m = 1 - \dfrac1n
C=−dθdψ=(θs−θr) m n α (αψ)n−1[1+(αψ)n]−m−1C = -\dfrac{\mathrm{d}\theta}{\mathrm{d}\psi} = (\theta_s - \theta_r)\,m\,n\,\alpha\,(\alpha\psi)^{n-1}\left[1 + (\alpha\psi)^n\right]^{-m-1}

Ambas expresiones valen para ψ>0\psi \gt 0; donde el suelo está saturado, θ=θs\theta = \theta_s y C=0C = 0. Modelo. θs=0.45\theta_s = 0.45, θr=0.08\theta_r = 0.08, α=0.05\alpha = 0.05 m−1 y n=2n = 2. Exigido. θ=0.45\theta = 0.45 con una diferencia inferior a 10−12 para succión nula y para presión intersticial positiva, y un valor inferior a 0.09 para una succión de 106 m; y la capacidad analítica a menos de 10−3, en términos relativos, de la diferencia central de la curva (con un paso relativo de 10−4) en ψ=2, 10, 40\psi = 2,\ 10,\ 40 y 150 m. Obtenido. Diferencias de 1.6×10−10, 2.0×10−9, 4.0×10−9 y 9.4×10−9, y θ=0.08001\theta = 0.08001 a 106 m. En el mismo archivo se comprueba que el agua almacenada es la integral del almacenamiento en ambas zonas, con una diferencia de hasta el 1 %, condición que mantiene la validez del esquema de Picard modificado a través del nivel freático.

En OGR Slip2D

La curva de retención de van Genuchten se usa con todos los modelos de permeabilidad: la función de permeabilidad rige la rapidez con que se mueve el agua, y la curva de retención, cuánta se almacena (Sección 3.7.7).

Código: tests/test_transient_v130.py

4.3.13Desembalse rápido: el factor de seguridad en función del nivel y del tiempo#

Se comprueban dos propiedades del desembalse rápido, una frente a un resultado publicado y otra como requisito físico.

El desembalse total de un talud homogéneo. Para un talud homogéneo del tipo que recogen los ábacos de Morgenstern (1963), los valores de referencia que usa la batería de tests sitúan el factor de seguridad más bajo en el desembalse total, 1.20, frente a 1.41 con medio desembalse. El barrido de niveles de desembalse repite toda la búsqueda en cada nivel (Sección 3.8.6). Modelo. Un talud de 3 en horizontal por 1 en vertical, con c′/γH=0.025c'/\gamma H = 0.025, ϕ′=30∘\phi' = 30^\circ y γ/γw=2\gamma/\gamma_w = 2, comportamiento sin drenaje con Bˉ=1\bar B = 1, y un embalse lleno hasta la coronación; método de Bishop, una rejilla de 3 × 4 intervalos, 18 dovelas y cuatro niveles desde la coronación hasta el pie. Exigido. El nivel crítico es el desembalse total; su factor de seguridad difiere menos del 6 % de 1.20; el factor en el nivel intermedio más próximo a medio desembalse es mayor; y el barrido de niveles no revela ningún margen inseguro superior al 1 %. Obtenido. 1.2103 en el desembalse total, un 0.86 % por encima de 1.20, y 1.304, 1.673 y 2.588 a un tercio, a dos tercios y a la altura total del embalse.

El factor de seguridad en el tiempo. Con el análisis transitorio, el factor de seguridad de las etapas marcadas con Calculate SF es el más bajo justo después del descenso del nivel, cuando las presiones aún no se han disipado, y se recupera a medida que lo hacen (Sección 3.8.7 y Figura 3.8.4). El test construye un desembalse sobre un talud de la batería con tres materiales, cuyas alturas piezométricas pasan de 45 m y 30 m a cada lado a 28 m y 26 m, con dos etapas marcadas a 104 y 106 unidades de tiempo, y exige que el factor de seguridad de la segunda etapa sea mayor que el de la primera. Es un requisito de orden y no una solución cerrada, y se cumple en la versión 0.1.235.

En OGR Slip2D

El barrido repite la búsqueda en cada nivel porque la superficie crítica se mueve con el nivel: una superficie que se mantuviera fija daría un factor de seguridad demasiado alto, y un test vigila esa decisión. Las cifras del barrido son las mismas desde la interfaz que desde la capa de operaciones.

Código: tests/test_drawdown_sweep_v170.py · tests/test_groundwater_ops_v1200.py · tests/test_transient_v130.py

4.3.14Referencias#

  • Darcy, H. (1856). Les fontaines publiques de la ville de Dijon. Victor Dalmont, Paris.
  • Gardner, W.R. (1958). Some steady-state solutions of the unsaturated moisture flow equation with application to evaporation from a water table. Soil Science, 85(4), 228–232.
  • Hoek, E., Carranza-Torres, C. & Corkum, B. (2002). Hoek–Brown failure criterion – 2002 edition. Proceedings of the 5th North American Rock Mechanics Symposium and 17th Tunnelling Association of Canada Conference (NARMS-TAC 2002), Toronto, Vol. 1, 267–273.
  • Morgenstern, N. (1963). Stability charts for earth slopes during rapid drawdown. Géotechnique, 13(2), 121–131.
  • van Genuchten, M.Th. (1980). A closed-form equation for predicting the hydraulic conductivity of unsaturated soils. Soil Science Society of America Journal, 44(5), 892–898.
  • Carslaw, H.S. & Jaeger, J.C. (1959). Conduction of Heat in Solids, 2nd ed. Oxford University Press, Oxford.