p_f_analytical.jl (913B)
1 #!/usr/bin/env julia 2 import PyPlot 3 4 n = 200 # resolution 5 z = range(0, stop=8, length=n) # spatial grid 6 k = 2e-17 # permeability 7 ϕ = 0.25 # porosity 8 μ_f = 1e-3 # water viscosity 9 β_f = 4.5e-10 # water compressibility 10 κ = k/(ϕ*μ_f*β_f) # diffusivity 11 ω = 2*π*1/(3600*24) # diurnal circular frequency 12 13 # T is water pressure in kPa 14 T0 = 50 # initial pressure 15 ΔT = 50 # pressure perturbation amplitude 16 17 # Turcotte and Schubert, eq. 4.89 18 T_(z,t) = T0 .+ ΔT.*exp.(-z.*sqrt(ω/(2κ))).*cos.(ω*t .- z.*sqrt(ω/(2κ))) 19 20 # plot hourly curves for a full day 21 for t=0:3600:24*3600 22 PyPlot.plot(reverse(T_(z,t)), z) 23 end 24 25 PyPlot.xlabel("Water pressure [kPa]") 26 PyPlot.ylabel("Vertical position [m]") 27 PyPlot.savefig("p_f_analytical.pdf")