r96_drainage_pressure: Earthquake-related poroelastic solutions in Roeloffs 1996

Description Usage Arguments Details References Examples

View source: R/roeloffs96.R

Description

Earthquake-related poroelastic solutions in Roeloffs 1996

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
r96_drainage_pressure(
  Times,
  depth,
  depth_water = 0,
  diffusiv = 1,
  strain0 = -1,
  B = 1,
  Ku = 1,
  ...
)

Arguments

Times

numeric; times to calculate at depth [s]

depth

numeric; observation depth [m]

depth_water

numeric; depth to water table [m]

diffusiv

numeric; hydraulic diffusivity [m^2/s]

strain0

numeric; static strain change [unscaled strain]

B

numeric; Skempton's coefficient B [-]

Ku

numeric; undrained bulk modulus [Pa]

...

additional parameters

Details

r96_drainage_pressure refers to the solution given in equation 50 of Roeloffs (1996), the pore pressure response to a static strain. The temporal change in pore pressure represents water table drainage as a function of time.

References

Roeloffs, E. (1996), Poroelastic techniques in the study of earthquake-related hydrologic phenomena, Advances in Geophysics, 37, 135-195, https://doi.org/10.1016/S0065-2687(08)60270-8

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Remake Fig 16 in Roeloffs (1996)
d2s <- 86400
lti <- 10^seq(-3,0, length.out=21)
ti <- unique(sort(c(0, lti, seq(-10, 50, length.out=201)) * d2s))
zsq4c <- c(1, 24, 24*30) * d2s / 24 # timescales in hours
z <- 1
vert_c <- z^2 / 4 / zsq4c # vertical diffusivity
r1  <- r96_drainage_pressure(Times=ti, depth=z, diffusiv=vert_c[1]) # 1 hour
r2  <- r96_drainage_pressure(Times=ti, depth=z, diffusiv=vert_c[2]) # 1 day
r3  <- r96_drainage_pressure(Times=ti, depth=z, diffusiv=vert_c[3]) # 30 days

## Not run: 
plot(c(-10, 50), c(-0.2,1.2), col=NA, xaxs='i', yaxs='i', xlab='TIME, IN DAYS', ylab='P(t)/BKu')
lines(ti/d2s, r1, lty=2)
lines(ti/d2s, r2, lty=3)
lines(ti/d2s, r3)
text(c(20,22,32), c(0.12,0.35,0.9), parse(text=sprintf("z^2/4*c == %s", c('1 ~ "hour"','1 ~ "day"','30 ~ "days"'))))

plot(range(10**lti), c(5e-2, 1), col=NA, xaxs='i', log='y', xlab='TIME, IN DAYS', ylab='P(t)/BKu')
lines(ti/d2s, r1, lty=2)
lines(ti/d2s, r2, lty=3)
lines(ti/d2s, r3)

## End(Not run)

abarbour/deform documentation built on Feb. 15, 2022, 6:24 p.m.