import numpy as np
import matplotlib.pyplot as plt
import pandas as pd 
import panel as pn
pn.extension("katex") 

4. Darcy Law and Conductivity#

(The contents presented in this section were re-developed principally by Dr. P. K. Yadav. The original contents are from Prof. Rudolf Liedl)

  • tutorial problems on Darcy’s law and intrinsic permeability

  • homework problems on Darcy’s law and intrinsic permeability

4.1. Tutorial Problems on#

  • Darcy’s Law and

  • Intrinsic Permeability

4.2. Tutorial Problem 7: Flow Direction and Hydraulic Gradient#

Indicate the direction of flow shown in the figure in next slides, and determine the hydraulic gradient for a Darcy column with length L = 50 cm! (Figures not to scale.)

4.2.1. Tutorial Problem 7 – Solution#

The relevant topic is covered in Lecture 04, slide 8

# Image (a)
L = 0.5 # m, length of the column
Ea_hl = 0.2 #, m, elevation head, left 
Pa_hl = 0.1 #, m  pressure head, left
Ea_hr = 0.2 #, m, elevation head, right
Pa_hr = 0.3 #, m  pressure head, right
Ha_hl = Ea_hl + Pa_hl # m, hydraulic head, left
Ha_hr = Ea_hr + Pa_hr # m, hydraulic head, right
DH_a = Ha_hr - Ha_hl
H_ga = DH_a/L#, no unit, hydraulic gradient 

print("Hydraulic head LEFT: {0:1.1f}".format(Ha_hl),"m"); print("Hydraulic head RIGHT:: {0:1.1f}".format(Ha_hr),"m") 
print("Hydraulic Head Difference: {0:1.1f}".format(DH_a),"m");print("Hydraulic gradient: {0:1.1f}".format(H_ga)) 
png_pane.object = "images/T03_TP7_a2.png" 
Hydraulic head LEFT: 0.3 m
Hydraulic head RIGHT:: 0.5 m
Hydraulic Head Difference: 0.2 m
Hydraulic gradient: 0.4
# Image (b)
L = 0.5 # m, length of the column
Eb_hl = 0.2 #, m, elevation head, left 
Pb_hl = 0.1 #, m  pressure head, left
Eb_hr = 0.05 #, m, elevation head, right
Pb_hr = 1.3 #, m  pressure head, right
Hb_hl = Eb_hl + Pb_hl # m, hydraulic head, left
Hb_hr = Eb_hr + Pb_hr # m, hydraulic head, right
DH_b = Hb_hr - Hb_hl
H_gb = DH_b/L#, no unit, hydraulic gradient 
print("Hydraulic head LEFT: {0:1.1f}".format(Hb_hl),"m");print("Hydraulic head RIGHT:: {0:1.1f}".format(Hb_hr),"m") 
print("Hydraulic Head Difference: {0:1.1f}".format(DH_b),"m");print("Hydraulic gradient: {0:1.1f}".format(H_gb)) 
png_pane2.object = "images/T03_TP7_b2.png" 
Hydraulic head LEFT: 0.3 m
Hydraulic head RIGHT:: 1.4 m
Hydraulic Head Difference: 1.1 m
Hydraulic gradient: 2.1
# Image (c)
L = 0.5 # m, length of the column
Ec_hl = 0.3 #, m, elevation head, left 
Pc_hl = 0.1 #, m  pressure head, left
Ec_hr = 0.2 #, m, elevation head, right
Pc_hr = 0.2 #, m  pressure head, right
Hc_hl = Ec_hl + Pc_hl # m, hydraulic head, left
Hc_hr = Ec_hr + Pc_hr # m, hydraulic head, right
DH_c = Hc_hr - Hc_hl
H_gc = DH_c/L#, no unit, hydraulic gradient 
print("Hydraulic head LEFT: {0:1.1f}".format(Hc_hl),"m");print("Hydraulic head RIGHT:: {0:1.1f}".format(Hc_hr),"m") 
print("Hydraulic Head Difference: {0:1.1f}".format(DH_c),"m");print("Hydraulic gradient: {0:1.1f}".format(H_gc)) 
png_pane3.object = "images/T03_TP7_c2.png" 
Hydraulic head LEFT: 0.4 m
Hydraulic head RIGHT:: 0.4 m
Hydraulic Head Difference: 0.0 m
Hydraulic gradient: 0.0
# Image (d)
L = 0.5 # m, length of the column
Ed_hl = 0.3 #, m, elevation head, left 
Pd_hl = 0.1 #, m  pressure head, left
Ed_hr = 0.2 #, m, elevation head, right
Pd_hr = 0.1 #, m  pressure head, right
Hd_hl = Ed_hl + Pd_hl # m, hydraulic head, left
Hd_hr = Ed_hr + Pd_hr # m, hydraulic head, right
DH_d = Hd_hr - Hd_hl
H_gd = DH_d/L#, no unit, hydraulic gradient 
#output
print("Hydraulic head LEFT: {0:1.1f}".format(Hd_hl),"m");print("Hydraulic head Right:: {0:1.1f}".format(Hd_hr),"m") 
print("Hydraulic Head Difference: {0:1.1f}".format(DH_d),"m");print("Hydraulic gradient: {0:1.1f}".format(H_gd)) 
png_pane4.object = "images/T03_TP7_d2.png" 
Hydraulic head LEFT: 0.4 m
Hydraulic head Right:: 0.3 m
Hydraulic Head Difference: -0.1 m
Hydraulic gradient: -0.2

4.3. Tutorial Problem 8#

The hydraulic conductivity of a fine sand sample was found to be equal to \(1.36\times 10^{-5}\) m/s in a Darcy experiment using water at a temperature of \(20^\circ\)C. What is the intrinsic permeability of this sample? Give results in cm\(^2\) and D. (density of water at \(20^\circ\)C: 998.2 kg/m\(^3\); dynamic viscosity of water at \(20^\circ\)C: \(1.0087 \times 10^{-3}\) Pa\(\cdot\)s; 1 D = \(0.987\times 10^{-12}\) m\(^2\))

4.3.1. Tutorial Problem 8 - Solution#

Relevant topics are covered in Lecture 04 slides 18-20.

Relationship between hydraulic conductivity \(K\) and intrinsic permeability \(k\) from lecture notes: $\( K_{water} = k\cdot \frac{\rho_{water}\cdot g}{\eta_{water}} \)$

Solve for , \(k\)

\[ k = \frac{\eta_{water}\cdot K_{water}}{\rho_{water}\cdot g}{} \]
#Given
Darcy = 0.987 * 10**-12 # m^2, 1D = 0.987*10^-12 m^2 
nu_w = 1.00087*10**-3 # Pa-S dynamic viscosity of water
K_w = 1.36*10**-5 # m/s Conductivity of water
g = 9.81 # m/s^2 accln due to gravity
rho_w = 998.2 # kg/m^3, density of water

# Solution
k = (nu_w*K_w)/(rho_w*g)#, m^2, permeability of water
k_D = k/Darcy


print("The permeability is {0:1.1E}".format(k),"m\u00b2")  
print("The permeability in Darcy unite is: {0:1.2f}".format(k_D),"D") 
The permeability is 1.4E-12 m²
The permeability in Darcy unite is: 1.41 D

4.4. Tutorial Problem 9: Constant-Head Permeameter#

#Given (solution on 9b)
L = 15 #cm, length of column
A = 25 # cm^2, surface area of column
h_diff = 5 # cm, h_in-h_out
Q = 100/12 # cm^3/min discharge per min

# Solution using derived equation in first part of the problem
# K = QL/A(h_in- h_out)

K = (Q*L)/(A*h_diff)# cm/min, required conductivity 
K_1 = K*10**-2/60 #, m/s, conductivity in m/s

#output
print("The conductivity in column is {0:1.2E}".format(K),"cm/min") 
print("The conductivity in column is {0:1.2E}".format(K_1),"m/s \n") 

if K_1 <= 1.67*10**-4:
    print("Fine to medium sand")
else:
    print("to check further") # to be completed later.
The conductivity in column is 1.00E+00 cm/min
The conductivity in column is 1.67E-04 m/s 

Fine to medium sand

Continue solution on 9c

Discharge and Darcy’s law: \(Q_{water} = \frac{V}{t_{water}}=-A\cdot K_{water}\cdot\frac{\Delta h}{L}\)

Solve for \(t_{water}\): \(t_{water} = \frac{V}{Q_{water}}=-\frac{V}{A\cdot K_{water}\cdot\Delta h/L} = -\frac{V\cdot L}{A\cdot K_{water}\cdot\Delta h}\)

Same step for \(t_{diesel}\): \(t_{diesel} = -\frac{V\cdot L}{A\cdot K_{diesel}\cdot\Delta h}\)

time ratio:\(\frac{t_{diesel}}{t_{water}} = \frac{-\frac{V\cdot L}{A\cdot K_{diesel}\cdot\Delta h}}{-\frac{V\cdot L}{A\cdot K_{water}\cdot\Delta h}} = \frac{K_{water}}{K_{diesel}}\)

Use relationship between conductivity \(K\) and permeability \(k\) from lecture notes (slides 18) $\(\frac{K_{water}}{K_{diesel}} = \frac{k\cdot \frac{\rho_{water}\cdot g}{\eta_{water}}}{k\cdot \frac{\rho_{diesel}\cdot g}{\eta_{diesel}}} = \frac{\rho_{water}\cdot\eta_{diesel}}{\rho_{diesel}\cdot\eta_{water}}\)$

Solve for \(t_{diesel}\)

# Given data

rho_w = 920.2 # kg/m^3, density of water at 20°C
eta_w = 1.0087*10**-3#, Pa-S dynamic viscosity of water
rho_d = 0.85 # g/cm^3, density of diesel at 20°C
eta_d = 3.5*10**-3#, Pa-S dynamic viscosity of diesel
V_d = 100 # cm^3 volume of diesel
t_w = 12 # min, time taken by water

# Calculations

t_d = (rho_w*eta_d)/(rho_d*1000*eta_w)*t_w 

# multiplied by 1000 to convert unit g/cm^3 to kg/m^3

print("The time required for diesel will be: {0:0.2f}".format(t_d), "min") 
The time required for diesel will be: 45.08 min

4.5. Tutorial Problem 10: Falling-Head Permeameter#

# Solution 9(2)

L = 15 # cm, length
L_m = L/100 # m, length
d_c = 10 # cm, diameter column
d_t = 2 # cm, diameter tube
h_d0 = 5 # cm, head difference at start
h_dt = 0.5 # cm, head difference at time t
t = 528 # min, total time  
t_s = 528*60 # sec, total time in seconds

#solution using the developed equation 

K = (d_t/d_c)**2 * ((L_m)/t_s)*np.log(h_d0/h_dt)

#Output
print("The conductivity in column is {0:1.2E}".format(K),"m/s \n") 

if K < 1.67*10**-5:
    print("Silt or silty sand")
else:
    print("to check further") # to be completed later.
The conductivity in column is 4.36E-07 m/s 

Silt or silty sand

4.6. HOME WORK PROBLEMS#

Darcy’s Law and Intrinsic Permeability

There is no obligation to solve homework problems!

Try to submit within next 2 weeks.

4.7. Homework Problem 3#

4.8. Homework Problem 4#

#
fig, ax = plt.subplots(figsize=(8, 6))  
plt.grid(axis='y', linestyle='--')   
plt.xlim((0, 1800)); plt.ylim((0,0.7)) 
plt.xlabel("t(s)", fontsize=12 )
plt.ylabel(r"ln($\Delta h(0)/\Delta h(t)$)(-)", fontsize=12); 
../../../_images/tutorial_03_29_0.png