Uno script python per il calcolo del coefficiente di permeabilità

In geologia la permeabilità (K) è una proprietà delle rocce e dei terreni e rappresenta la loro capacità di essere attraversati dai fluidi. La stima del coefficiente di permeabilità di un terreno è molto importante ai fini della caratterizzazione geotecnica ed idrogeologica. Ad esempio il valore della permeabilità è di grande importanza per determinare la produttività dei giacimenti di idrocarburi o dei pozzi per la produzione d’acqua.

Durante la mia tesi di laurea ho eseguito delle prove di permeabilità con il metodo dell’infiltrometro ad anello singolo sulle aree di innesco di alcune frane superficiali in modo di ricavare la permeabilità delle loro aree di innesco.

In questo articolo descriverò, non prima di aver esposto il metodo dell’infiltrometro ad anello singolo, il codice python per ricavare il coefficiente di permeabilità dai dati ricavati dalle prove in sito

Il metodo dell’anello singolo

L’infiltrometro usato è costituito da un cilindro in ferro avente un diametro interno di circa 26 cm e una altezza di circa 39,3 cm. Una volta che la sua porzione basale esterna è stata spalmata con del grasso di vasellina, viene infisso per battitura nel terreno per 10 cm.

permeabilità

La prova è stata eseguita a carico variabile: viene versato dentro l’infiltrometro un certo quantitativo d’acqua, fino a raggiungere un livello di circa 25 cm, dopodiché il livello inizierà a scendere; per ogni centimetro di abbassamento viene annotato il tempo (in secondi) con un cronometro. Prima di effettuare la prova è indispensabile procedere alla preventiva saturazione del terreno immettendo acqua in abbondanza. Viceversa, se si vuole conoscere la velocità di infiltrazione dell’acqua nel terreno, la prova va eseguita ad umidità naturale.

Gli abbassamenti registrati durante la prova vengono rappresentati in un grafico nel cui asse delle ascisse c’è il tempo, espresso in minuti, e nell’asse delle ordinate gli stessi abbassamenti (in cm).
Utilizzando questo sistema, il coefficiente di permeabilità viene calcolato con l’equazione:

(1)   \begin{equation*} K=\frac{I}{i} (cm/s) \end{equation*}

dove:

  • I = velocità di infiltrazione
  • i = gradiente idraulico

La velocità di infiltrazione si trova mediante l’equazione:

(2)   \begin{equation*} K=\frac{Q}{t*A} (cm/s) \end{equation*}

dove:

  • Q = quantità d’acqua immessa (cm3), si ottiene con Q = πR2H;
  • t = intervallo di prova (s);
  • A = area di infiltrazione dell’anello (cm2), si ottiene con A=πR2;

Infine il gradiente idraulico si ricava dall’equazione:

(3)   \begin{equation*} K=\frac{H+L}{L} (cm) \end{equation*}

nella quale:

  • H = altezza del battente idraulico nel cilindro (cm);
  • L = altezza dello strato di prova (cm);

Le formule per il calcolo del coefficiente di permeabilità, del gradiente idraulico e della velocità di infiltrazione sono tratte da Colombetti & Nicolodi (2007).

Il codice python

Innanzitutto vanno importate le librerie:

import math
import numpy as np
import matplotlib.pyplot as plt

In seguito importo gli abbassamenti, i tempi e le dimensioni dell’infiltrometro:

abbassamenti=[22,21,20,19,18,17,16,15,14,13,12]
tempi=[0,75,160,280,410,560,720,900,1110,1325,1605]

#Dimensioni infiltrometro

raggio = 13.05
altezza = 39.3

q=10 #quantità d'acqua immessa, data dalla differenza tra gli abbassamenti;

Adesso possiamo definire le equazioni descritte sopra:


#infiltrazione
inf=[]

def infiltrazione(H,L):
        inf.append((H + L)/L)
        

infiltrazione(22,10)

print(inf)

#quantità acqua immessa
quantità_acqua=[]

def Q():
    quantità_acqua.append(math.pi*(raggio**2)*q)

Q()

print(quantità_acqua)

tempo=1605

#definizione area infiltrometro

area_infiltrometro=[]
def area():
    area_infiltrometro.append(math.pi*(raggio**2))

area()
print(area_infiltrometro)



#Infiltrazione

Infiltrazione=[]

def Inf():
    for i in quantità_acqua:
        for j in area_infiltrometro:
            Infiltrazione.append(i/(tempo*j))

Inf()

print(Infiltrazione)

#Permeabilità

Permeabilità=[]

def permeabilità():
        for i in inf:
                for j in Infiltrazione:
                        Permeabilità.append(j/i)

permeabilità()

print(Permeabilità)

#Converto il valore della lista Permeabilità e lo assegno alla variabile K

for i in Permeabilità:
        K=float(i)

print(K)

Adesso possiamo scrivere la porzione di codice che genererà il grafico della prova:


#creo una figura di 8x6 pollici con risoluzione di 80 punti/pollice
plt.figure(figsize=(15,10))

# creo un unico sistema di assi cartesiani nella figura
plt.subplot(1, 1, 1) #(1riga,1colonna,grafico1)

# Plottaggio grafico
grafico=plt.plot(tempi,abbassamenti,color="red", linewidth=1.5, linestyle="-", label=('CURVA PERMEABILITA'))


# Impostazioni asse y
plt.ylim((10,23))
plt.yticks([10,12.5,15,17.5,20,22.5,23])

#Impostazioni asse x
plt.xlim((0,1650))

#griglia
plt.grid(True)

#label assi
plt.xlabel('TEMPI (s)')
plt.ylabel('ABBASSAMENTI (cm)')

#legenda
plt.legend()

#salvo la figura
plt.savefig('curva_permeabilità.png')

curva permeabilità

Per approfondire gli argomenti trattati in questo articolo potete consultare i seguenti testi:

Ciao, mi chiamo Antonio Nirta e sono un geologo. Mi sono laureato all’Università di Pisa e dal 2017 svolgo la libera professione.

Attraverso i post presenti in questo blog cercherò di trasmettere la mia passione per le Scienze Geologiche e di fornire informazioni che riguardano il bellissimo settore della Geologia.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *