La clasificación unificada de suelos USCS mediante Visual Basic para Excel

Una hoja de cálculo pensada para ahorrarte tiempo

 

“Para los animales, el universo entero estaba dividido ordenadamente en:
(a) cosas con las que aparearse, (b) comida, (c) cosas de las que huir y (d) rocas.”

Terry Pratchett. Ritos Iguales (1987)

 

Clasificar es una forma de conocimiento. Ordenamos, dividimos y etiquetamos las cosas para reducirlas a otros casos conocidos, para ponerles nombre, para quedarnos tranquilos.

Clasificamos las cosas para reducir su incertidumbre, y para ello utilizamos criterios de todo tipo, los hay subjetivos (me gusta, no me gusta), estrictos (tres lados, triángulo; cuatro lados, cuadrilátero), y a veces, también un poco difusos (¿a partir de qué tono de marrón claro se pasa al beige?).

En geotecnia, como en cualquier otra disciplina, tenemos clasificaciones para casi todo (dureza, excavabilidad, resistencia, etc.), y hoy me voy a centrar en la clasificación más habitual, la clasificación unificada de suelos o USCS (Unified Soil Classification System).

En este caso, la incertidumbre, lo que queremos etiquetar, es el comportamiento ingenieril del suelo (de hecho, la norma ASTM D2487 lo llama Classification of Soils for Engineering Purposes), y los criterios a emplear son la granulometría y la plasticidad.

Evidentemente, el comportamiento mecánico del suelo depende de más cosas (humedad, cargas, su velocidad de aplicación, condiciones de contorno, etc.), pero conocer el tipo de suelo es el primer paso (o debería serlo).

Bien, pues dependiendo de su granulometría y plasticidad, como ya he dicho, la clasificación de suelos USCS “etiqueta” el suelo de acuerdo al siguiente esquema (pulsa para verlo mejor):

Y hoy traigo al blog una hoja de cálculo que hace todo este “arbol de decisiones” de forma “casi” automática (antes tendrás que habilitar las macros).

Y alguien dirá que esto es trivial y que ya hay muchas hojas de cálculo así en la red.

Y yo diré que tan trivial no es, porque servidor se ha encontrado suelos mal clasificados en obras, digamos, importantes (de esas de millones de euros).

Y en cuanto a lo de que sea una más, pues… vale, si, quizá lo sea, pero creo que puedo aportar un par de cosas interesantes:

1) El cálculo se hace llamando a una función. Nada de celdas ocultas llenas de fórmulas y cálculos intermedios, sólo una función:

USCS(Grava;Arena;Finos;Cu;Cc;LP;LL)

Donde, obviamente:

  • Grava es el porcentaje de grava
  • Arena es el porcentaje de arena
  • Finos es el porcentaje de finos (limos + arcillas)
  • Cu es el coeficiente de uniformidad
  • Cc es el coeficiente de curvatura
  • LP es el límite plástico
  • LL es el límite líquido
    (si el suelo no es plástico se puede tomar LP=LL=0)

Es decir, que si tenemos un suelo con, digamos:

  • Un 12% de grava, un 23% de arenas y un 65% de finos
  • Un coeficiente de uniformidad de 2 y un coeficiente de curvatura de 5
  • Un límite plástico de 22 y un límite líquido de 45.

Sólo tenemos que escribir:

USCS(12;23;65;2;5;22;45) y obtendremos “ CL – Arcilla fina arenosa

Piensa en las ventajas que tiene poder hacerlo así. Puedes ordenar los datos como quieras y olvidarte de cálculos intermedios.

2) Si se conoce la granulometría, la hoja incluye también dos funciones de interpolación para calcular de forma automática los porcentajes de grava, arena y finos y los diámetros D10, D30, D60, calculando también los coeficientes de uniformidad Cu y curvatura Cc.

y 3) TODO el código Visual Basic está disponible para que lo mires, estudies y reutilices. Anímate a programar tus propias funciones en VBA, ganarás tiempo, tu hoja será más limpia y reducirás tus niveles de… colesterol (iba a poner mala leche, pero colesterol suena más educado).

Y ahora, como siempre, voy a soltar un rollo de los míos explicando un montón de cosas, el que quiera la hoja que vaya directamente al final.

 

VIDA Y MILAGROS

Lo cierto es que esta hoja de cálculo tiene ya unos años. En origen –allá por los 90-, fue una pequeña rutina en la calculadora, escrita en un par de tardes, para comprobar si los ejercicios de geotecnia estaban bien hechos.

Unos años después, ya trabajando como freelance, encargaba los ensayos a un laboratorio que, como decía Sabina del gazpacho de su primera mujer, “el punto del ensayo, joder, si lo tenían”. La verdad es que los hacían realmente bien, eran lentos, concienzudos y precisos…

.… y para compensar, no sabían interpretar los resultados. Daba igual lo que dijera la norma, ellos clasificaban el suelo “a ojo”.

Y necesitaban gafas.

Con la mejor de las intenciones (esto es, cubrirme el culo), cogí aquel código, lo “migré” del BASIC de la calculadora (una Casio FX-850P) al Visual Basic de Excel, le añadí las rutinas de interpolación (la calculadora lo hacía de modo automático), y les regalé la hoja de cálculo con una sincera sonrisa (no es broma, practiqué y todo).

Y ni puto caso, claro.

Tendría que haber practicado más.

Y quizá afeitarme.

Poco después, la empresa cerró. Traumatizado (supongo), mi disco duró falló. Del todo. Kaput. El día antes de hacer las copias de seguridad, as usual. Adiós, hoja de cálculo.

Durante mucho tiempo utilicé otra, sacada no sé de dónde, que nunca terminó de convencerme. Había que estar atento porque fallaba en algunas zonas, pero tenía un código tan enrevesado que nunca me animé a corregirla.

Y hace un par de años, revisando unos disquetes de 3½… ¡¡ Hello again !!

La hoja es prácticamente la misma, sólo he hecho un cambio para poder modificar los tamaños límite arena-grava y arena-finos. Bueno, y he añadido algunos comentarios al código.

 

SOBRE EL CÓDIGO VISUAL BASIC

El código es muy simple (Keep It Simple, Stupid), básicamente es un montón de condicionales if-then encadenados, siguiendo el esquema de la norma ASTM D2487. La idea es que sea lo bastante limpio como para poder echarle un vistazo y modificar lo que haga falta sin tener que perder un día entero estudiando qué narices hace cada línea.

Además, así es más “portable”, si alguien quiere utilizarlo con otro programa que no sea Excel, creo que me lo agradecerá.

 

LAS FUNCIONES DE INTERPOLACIÓN

La curva granulométrica es una función monótona, así que he usado una interpolación lineal básica. Si el punto que buscamos está entre dos puntos conocidos se interpola entre ellos (zona 2). Si está fuera de rango, se extrapola tomando los dos puntos anteriores o posteriores (zonas 1 y 3). En el código hay comentarios explicando cada caso.

Detalle importante a tener en cuenta: El método se diseñó para interpolar “a mano” sobre la curva, pero la curva tiene el eje x en escala logarítmica, por lo que no se puede hacer una interpolación lineal directa entre parejas de puntos (x,y).

¿No me crees? Haz la prueba y verás que el punto interpolado no cae sobre la curva. Recuerda que al cambiar de un sistema lineal (x,y) a uno semilogarítmico (log x, y), la curva cambia de forma.

Es decir, que hay que sustituir x por log(x) y operar un poco, obteniendo una función de interpolación distinta para cada eje.

¿Me la estoy cogiendo con papel de fumar, como se dice normalmente? Por supuesto, pero si automatizas algo, hazlo bien.

 

CÁLCULO DEL PORCENTAJE DE GRAVA, ARENA Y FINOS

Buscamos porcentajes (y), así que interpolaremos en el eje y, aunque primero hay que saber qué criterio de tamaños (eje x) estamos usando:

Tamaño (mm) ASTM
D2487
UNE
equivalente
BS
1377
UNE-EN
ISO 14688
Grava – Arena 4,75 5 2 2
Arena – Finos 0,075 0,080 0,060 0,060

Por ejemplo, tomando el criterio del ASTM:

  • Los finos serán el porcentaje (y) que pasa por el tamiz/tamaño x=0,075

Finos = interp_y(0,075;rango tamaños;rango porcentajes)

  • La grava será el material retenido (100-pasa) en el tamaño x=4,75

Grava = 100 – interp_y(4,75;rango tamaños;rango porcentajes)

  • Y la arena será la diferencia entre gravas y finos, o también lo que pasa por el tamaño x=4,75 (arena + finos) menos el contenido en finos:

Arena = interp_y(4,75;rango tamaños;rango porcentajes) – Finos

 

CÁLCULO DE LOS TAMAÑOS D10, D30, D60

En este caso conocemos los porcentajes (y=10, 30, 60) y queremos interpolar los tamaños correspondientes en el eje x:

D10=Interp_x(10;rango de tamaños;rango de porcentajes)

D30=Interp_x(30;rango de tamaños;rango de porcentajes)

D60=Interp_x(60;rango de tamaños;rango de porcentajes)

Una vez conocidos estos datos, la función ya calcula los coeficientes de uniformidad Cu y curvatura Cc.

En el primer ejemplo de la hoja, tomado del Fundamentos de ingeniería de cimentaciones, de Braja Das, se muestra una curva de sólo cuatro puntos en la que los valores D10 y D30 están extrapolados.

NO SE ADMITEN PUNTOS POR ENCIMA DE LA LÍNEA U, PERO SE PUEDE CAMBIAR

Se dice que Casagrande nunca justificó el origen de la línea U, se limitó a ponerla y decir que se usara como “comprobación” de resultados. Como ya sabemos, esta línea delimita una “cota superior”, totalmente empírica, por encima de la cual no hay suelos naturales (de hecho, lo más próximo a esta línea es la montmorillonita).

A principios de los 80, la ASTM (American Society for Testing and Materials) decidió recortar la gráfica un poco más, “extendiendo” verticalmente la línea en LL=16, ya que casi nunca se encuentran suelos naturales con un límite líquido menor de 16.

En mi experiencia, me he encontrado puntos por encima de la línea U en tres casos:

  • Suelos inventados: Lo he dicho alguna vez, para inventar resultados hay que saber mecánica de suelos
  • Suelos “alterados”: En este caso fue por otro material artificial que cayó en la muestra, “contaminándola”
  • Errores al hacer el ensayo, que desaparecieron al repetirlo

Es decir, que sí funcionó como comprobación de que pasaba algo raro.

Si el punto cae por encima de la línea U la función da error. Si, por alguna razón, quieres eliminar esta condición, sólo tienes que anular la línea correspondiente. Está comentado en el código.

 

LA LÍNEA U NO ES LA LÍNEA IP=LL

Como ya se ha dicho, la línea U delimita suelos que podrían existir pero no se encuentran en la naturaleza, acotando un poco más los suelos arcillosos, mientras que la línea a 45º delimita suelos en los que el IP> LL, es decir, suelos que no pueden existir en la naturaleza (seguro que hay algún material artificial que lo cumple, pero suelos naturales no).

Por desgracia, es habitual ver gráficas que confunden ambas líneas, incluso en textos universitarios, así que… bueno, podría decirse que la línea U sigue siendo una forma de comprobar algo 🙂

 

LOS SUELOS ORGÁNICOS NO ESTÁN INCLUIDOS

En ingeniería geotécnica los suelos orgánicos son peligrosos, así que decidí no incluirlos en la hoja. Si hay contenido orgánico vale la pena mirarlo con calma.

 

¿POR QUÉ NECESITO CONOCER LA PLASTICIDAD SI TENGO MATERIAL GRANULAR?

He sido director de dos laboratorios de geotecnia, y rara era la semana que no escuchaba esta pregunta.

Como ya he dicho al principio, cada clasificación responde a una incertidumbre distinta, y en este caso la incertidumbre es ingenieril. El comportamiento mecánico del suelo se basa en la interacción entre partículas, entre las que tenemos fuerzas de gravedad, capilares, efectivas y, en el caso de las partículas más finas, de Van der Waals.

Bien, pues dependiendo del coeficiente de uniformidad Cu y del índice de vacíos, un contenido de finos del 5% ya rellena los huecos entre partículas y empieza a influir en el comportamiento del suelo…

.… y por eso la clasificación lo tiene en cuenta, porque es necesario conocer la plasticidad, aunque sea un suelo granular. No, no es ninguna conspiración de los laboratorios para que hagas más ensayos, de verdad.

Y si haces los ensayos y resulta que el suelo no es plástico pues, oye, eso que has ganado, pero hay que hacerlos.

Como he dicho, si el suelo no es plástico se puede tomar un valor nulo para los límites de plasticidad. Si el contenido en finos es mayor del 5% la función no dará error, simplemente considerará que la fracción fina corresponde a un limo poco plástico.

 

¿PUEDO USAR ESTE CÓDIGO PARA LO QUE YO QUIERA?

A ver… esto son cuatro líneas en BASIC llenas de if-then, aquí no hay ningún “secreto industrial” que proteger.

¿Quieres usarlo? Hazlo, para eso lo he publicado.

¿Quieres modificarlo? Hazlo, para eso he comentado el código.

¿Quieres nombrarme? Pues… hazlo, si quieres.

¿Quieres ganar dinero con esto? Pues, mira, eso ya no me parece bien pero, una vez publicado, ya no está en mis manos, así que lo dejo a tu voluntad.

 

¿CÓMO PUEDO SABER SI EL RESULTADO ES CORRECTO?

El código está revisado hasta la saciedad, pero siempre puede haber algún error. He añadido diez ejemplos tomados de tres textos y los resultado coinciden (bueno, más o menos, algunos textos lo han resuelto de forma aproximada).

En cualquier caso, si encuentras algún error te agradecería que me lo dijeras para poder corregirlo, por favor.

Y eso es todo, espero que a alguien le pueda resultar útil, ya sea para clasificar suelos o para coger ideas sobre Visual Basic.

 

Clasificación unificada de suelos USCS
mediante Visual Basic para Excel
Archivo xlsm comprimido (zip, 146 KB)

 

Psst, recuerda, las macros tienen que estar habilitadas para poder usar la función.

Nomenclatura de taludes: Grado, pendiente y porcentaje

Un esquema de los taludes más habituales en grados sexagesimales, pendiente (V:H) y porcentaje.

No recuerdo dónde vi este esquema por primera vez, lo que si recuerdo es que no hubo manera de hacerlo con Framework II o Lotus 1-2-3, que eran las hojas de cálculo que usaba por aquel entonces (finales de los 80), así que terminé dibujándolo en papel milimetrado (lo que me permitió comprobar que el esquema original tenía un error, por cierto).

Esquema Talud: Grados - Pendiente - Porcentaje

La siguiente versión, ya trabajando, fue en acetato transparente (si, eso que se usaba cuando no había PowerPoint) y resultaba muy útil para “intuir” -porque esa era la palabra- las pendientes en aquellos planos fotocopiados una y otra vez, cuando no enviados por fax, ¡¡ el horror !!.

Al empezar a trabajar en Bosnia decidí que ya era hora de actualizarlo, así que añadí todos los taludes que me he ido encontrando durante estos años y, ya de paso, cambié al formato V:H usado allí, más cercano al concepto de pendiente.

El archivo pdf está pensado para imprimir en A4. Espero que a alguien le sirva (y no haber cometido ningún error, claro).

icono pdfEsquema Talud: Grados – Pendiente – Porcentaje

 

PD: Otro día os cuento lo que uso para medir directamente en pantalla cuando me envían un archivo pdf o jpg.

Realidad aumentada, ahora con cajones de arena

Lo llaman “caja de arena de realidad aumentada” (augmented reality sandbox) y antes de comentar nada más, os dejo con los vídeos. El primero muestra cómo funciona el invento y el segundo, la simulación de un vertido (llamarlo “virtual dam failure” me parece un poco exagerado).

 

Según cuenta la página web del proyecto, gracias al hackeo de Héctor Martín han podido aprovechar la cámara 3D del Microsoft Kinect para Xbox para detectar la arena (el terreno), dejando un segundo de desfase para modificar cosas (en el instante 5:30 del segundo vídeo se ve lo que ocurre cuando dejan la mano quieta durante unos segundos). Después han usado un proyector para dibujar el terreno virtual sobre la propia caja, asignando colores a las curvas de nivel, generando finalmente el agua “por imposición de manos” (lo mejor de todo).

Para la simulación numérica han utilizado las ecuaciones de Saint-Venant para aguas someras a partir de las ecuaciones de Navier-Stokes, utilizando la superficie de arena como condición de contorno, sacrificando algo de exactitud para poder calcularlo en tiempo real por el método de Runge-Kutta sin quemar la tarjeta gráfica (una Nvidia GeForce GTX580). Si tienes interés en saber cómo han resuelto las cuestiones numéricas, aquí tienes más información [pdf – 2,14 Mb].

La simulación no está mal, pero lo interesante de verdad, con mayúsculas y en negrita, INTERESANTE, es que se pueden hacer simulaciones encima de la mesa y a mano alzada, ¿incómodo?, seguramente, pero enormemente útil a efectos didácticos (para demostrar a los alumnos que todas esas cosas raras que estudiamos sirven para algo) y, sobre todo, para enseñarle a la gente por qué y para qué se hacen estas simulaciones, especialmente en el siempre doloroso tema de las inundaciones, que parecemos tontos, oye, todos los años igual.


«Modelos Matemáticos en Ciencia e Ingeniería». Enrique Castillo Ron

Enrique Castillo Ron fue el encargado de abrir la sesión inaugural 2011 de la Real Academia de Ingeniería. Lo hizo con una intensa conferencia sobre «Modelos Matemáticos en Ciencia eIngeniería», y cuando digo intensa, quiero decir intensa, mucho más de lo que suelo enlazar habitualmente por aquí.

Pese a su intensidad, tiene algo que me parece interesante compartir, porque poco después de hablar del Teorema pi de Buckingham -imprescindible si estamos hablando de modelos-, estudia la determinación de las leyes de esfuerzos en vigas de un modo poco habitual.

Me explico. Normalmente, cuando buscamos las leyes de esfuerzos en una viga cargada de forma estática procedemos de un modo analítico. Discretizamos la viga en rebanadas de espesor diferencial, planteamos el equilibrio de fuerzas y momentos en la rebanada, hacemos uso de la relación momento-curvatura y obtenemos una ecuación diferencial ordinaria de cuarto orden. A partir de aquí, lo de siempre, se integra, se imponen las condiciones de contorno y se obtienen, sucesivamente, las leyes de esfuerzos cortantes, momentos flectores, giros y flechas.

esquema para el cálculo de las leyes de esfuerzos cortantes, momentos flectores, giros y flechas en una viga

Lo que plantea Enrique Castillo, sin embargo, es considerar“rangos” de validez para las condiciones de contorno, en lugar de valores únicos, obteniendo como conjunto de soluciones reales un politopo. Evidentemente, es un procedimiento complicado, mucho más de lo que estamos acostumbrados a ver, pero coherente con los planteamientos probabilistas hacia los que se van enfocando cada vez más las normativas, al fin y al cabo.

Como dice la conferencia:

Puesto que en la realidad no existen apoyos ni empotramientos perfectos, ni fuerzas ni momentos exactos, en la práctica es mucho más realista suponer que flechas, giros, momentos y cortantes oscilan en ciertos rangos. De esta forma se obtienen envolventes de momentos y cortantes que permiten calcular las armaduras de forma inmediata.

politopo de soluciones de cortantes, momentos, giros y flechas en una viga

El valiente que se atreva a a seguir leyendo se sorprenderá viendo la variedad de temas tratados: cálculo de vigas mediante ecuaciones funcionales, la determinación del área de un rectángulo (no, no siempre es base x altura, compruébalo), la conveniencia de hacer la declaración de la renta conjunta o separada, problemas de fatiga, curvas de crecimiento de grietas, etc. Todo ello bajo un desarrollo matemático que exige cierto esfuerzo, aviso.

Descarga la conferencia de Enrique Castillo sobre Modelos matemáticos en ciencia e ingeniería

 

Un último apunte antes de terminar. Como estas cosas no salen en prensa tanto como deberían, lo vuelvo a repetir por aquí. Enrique Castillo ganó el Premio Nacional de Investigación en Ingeniería «Leonardo Torres Quevedo» del 2010, y con un elegante “A mí me basta con el reconocimiento a mi trayectoria profesional“, donó los 100.000 € de premio a proyectos de cooperación al desarrollo en Togo y Benin, todo un ejemplo.

[kippel #000] Definición

Podría bautizar esta nueva sección como “breves” o “resumen de la semana”, pero me parece más apropiado llamarla “kippel”.

Para los que no leen ciencia-ficción (¡¡ disidentes !!), kippel son todas esas pequeñas cosas que se acumulan, esas noticias cortas, esos enlaces postergados, esas fotos curiosas, esos escritos a vuelapluma apuntados en post-it, archivos txt o libretas de evernote que permanecen a la espera de una ocasión más propicia que jamás llegará, kippel es la fuerza de la naturaleza que hace que los montones de papeles se apilen, caigan y mezclen hasta no tener orden ni concierto. No es entropía, sería más correcto llamarlo desorden, pero un desorden casi autónomo, no siempre dependiente de nuestras decisiones.

En palabras del creador del concepto:

«kippel son los objetos inútiles, las cartas de propaganda, las cajas de cerillas después de que se ha gastado la última, el envoltorio del periódico del día anterior. Cuando no hay gente el kippel se reproduce […] cada vez hay más».

Puedes encontrar más información sobre el kippel en la novela y en la Wikipedia, pero no lo busques en la adaptación cinematográfica, no aparece en Blade Runner, se quedó en la novela, junto al polvo radiactivo y la explicación de por qué los animales eran tan valiosos, lo cual hubiera explicado la escena del búho, entre otras muchas.

O sea, que la sección kippel recogerá noticias cortas sobre ingeniería, geotecnia y todo aquello que me llame la atención, simplemente eso… vaya, espero no estar usando un nombre registrado.