Learn R Programming

eseis (version 0.8.0)

model_turbulence: Model the seismic spectrum due to hydraulic turbulence

Description

The function calculates the seismic spectrum as predicted by the model of Gimbert et al. (2014) for hydraulic turbulence. The code was written to R by Sophie Lagarde and integrated to the R package 'eseis' by Michael Dietze.

Usage

model_turbulence(
  d_s,
  s_s,
  r_s = 2650,
  h_w,
  w_w,
  a_w,
  f = c(1, 100),
  r_0,
  f_0,
  q_0,
  v_0,
  p_0,
  n_0,
  res = 1000,
  eseis = FALSE,
  ...
)

Value

eseis object containing the modelled spectrum.

Arguments

d_s

Numeric value, mean sediment grain diameter (m)

s_s

Numeric value, standard deviation of sediment grain diameter (m)

r_s

Numeric value, specific sediment density (kg / m^3)

h_w

Numeric value, fluid flow depth (m)

w_w

Numeric value, fluid flow width (m)

a_w

Numeric value, fluid flow inclination angle (radians)

f

Numeric vector, frequency range to be modelled. If of length two the argument is interpreted as representing the lower and upper limit and the final length of the frequency vector is set by the argument res. If f contains more than two values it is interpreted as the actual frequency vector and the value of res is ignored.

r_0

Numeric value, distance of seismic station to source

f_0

Numeric value, reference frequency (Hz)

q_0

Numeric value, ground quality factor at f_0

v_0

Numeric value, phase velocity of the Rayleigh wave at f_0 (m/s)

p_0

Numeric value, variation exponent of Rayleigh wave velocities with frequency (dimensionless)

n_0

Numeric vector of length two, Greens function displacement amplitude coefficients. Cf. N_ij in eq. 36 in Gimbert et al. (2014)

res

Numeric value, output resolution, i.e. length of the spectrum vector. Default is 1000.

eseis

Character value, option to return an eseis object instead of a data frame. Default is FALSE.

...

Further arguments passed to the function.

Author

Sophie Lagarde, Michael Dietze

Details

The model uses a set of predefined constants. These can also be changed by the user, using the ... argument:

  • c = 0.5, instantaneous fluid-grain friction coefficient (dimensionless)

  • g = 9.81, gravitational acceleration (m/s^2)

  • k = 0.5, Kolmogrov constant (dimensionless)

  • k_s = 3 * d_s, roughness length (m)

  • h = k_s / 2, reference height of the measurement (m)

  • e_0 = 0, exponent of Q increase with frequency (dimensionless)

  • r_w = 1000, specific density of the fluid (kg/m^3)

  • c_w = 0.5, instantaneous fluid-grain friction coefficient (dimensionless)

Examples

Run this code

## model the turbulence-related power spectrum
P <- model_turbulence(d_s = 0.03, # 3 cm mean grain-size
                      s_s = 1.35, # 1.35 log standard deviation
                      r_s = 2650, # 2.65 g/cm^3 sediment density
                      h_w = 0.8, # 80 cm water level
                      w_w = 40, # 40 m river width
                      a_w = 0.0075, # 0.0075 rad river inclination
                      f = c(1, 200), # 1-200 Hz frequency range
                      r_0 = 10, # 10 m distance to the river
                      f_0 = 1, # 1 Hz Null frequency 
                      q_0 = 10, # 10 quality factor at f = 1 Hz
                      v_0 = 2175, # 2175 m/s phase velocity
                      p_0 = 0.48, # 0.48 power law variation coefficient
                      n_0 = c(0.6, 0.8), # Greens function estimates
                      res = 1000) # 1000 values build the output resolution

## plot the power spectrum
plot_spectrum(data = P)
              

Run the code above in your browser using DataLab