Fourier Parameters

Definition of the various custom types within the StochasticGroundMotionSimulation module. Types to store properties related to source, path, and site components of the Fourier spectral model are provided.

Source Parameters

The type SourceParameters holds the properties required to define the source spectrum of the Fourier Amplitude Spectrum.

StochasticGroundMotionSimulation.SourceParametersType
SourceParameters

Custom type defining the source parameters of a Fourier spectrum.

Constructed with signature SourceParameters{S<:Float64, T<:Real} with fields:

  • Δσ::T is the stress parameter in bars
  • RΘϕ::S is the radiation pattern
  • V::S is the partition factor (for splitting to horizontal components)
  • F::S is the free surface factor
  • β::S is the source velocity in units of km/s
  • ρ::S is the source density in units of t/m³ or g/cm³
  • model::Symbol identifies the type of source spectrum (:Brune, :Atkinson_Silva_2000)
source

Path Parameters

The type PathParameters holds the properties required to define the path scaling of the Fourier Amplitude Spectrum.

StochasticGroundMotionSimulation.PathParametersType
PathParameters

Custom type defining the path parameters of a Fourier spectrum. Consists of three other custom structs

  • geometric is a GeometricSpreadingParameters type
  • saturation is a NearSourceSaturationParameters type
  • anelastic is an AnelasticAttenuationParameters type

The base constructor is: PathParameters(geo::G, sat::S, ane::A) where {G<:GeometricSpreadingParameters, S<:NearSourceSaturationParameters, A<:AnelasticAttenuationParameters}

See also: FourierParameters

source

This type also hold instances of three other custom types that define aspects of the path scaling:

Geometric Spreading Parameters

StochasticGroundMotionSimulation.GeometricSpreadingParametersType
GeometricSpreadingParameters

Struct for geometric spreading parameters. Holds fields:

  • Rrefi are reference distances, these are <:Real but will generally be Float64 values
  • γconi are constant spreading rates, meaning that they will not be free for AD purposes
  • γvari are variable spreading rates, meaning that they can be represented as Dual numbers for AD
  • γfree is a vector of Bool instances, or a BitVector that indicates which segments are constant or variable. Variable spreading rates are given 1 or true
  • model is a symbol defining the type of spreading model :Piecewise, :CY14, :CY14mod
source

Near-Source Saturation Parameters

Near source saturation models are represented within the NearSourceSaturationParameters type. This type can simply identify existing models that are implemented, such as:

  • Yenier & Atkinson (2015)
  • Boore & Thompson (2015)
  • Chiou & Youngs (2014) (the average of their $h(\bm{M})$ term over all periods)

But, specific fixed values can also be provided as well as parameters that are subsequently operated upon:

StochasticGroundMotionSimulation.NearSourceSaturationParametersType
NearSourceSaturationParameters

Struct for near-source saturation parameters. Mimic structure of the GeometricSpreadingParameters struct. Holds fields:

  • mRefi reference magnitudes
  • hconi constrained coefficients, not free for AD purposes
  • hvari variable coefficients, free for AD purposes
  • hfree is a vector of Bool instances, or a BitVector indicating which parameters are constant or variable
  • exponent is the exponent used within equivalent point-source distance calculations: $r_{ps} = \left[r_{rup}^n + h(m)^n\right]^{1/n}$
  • model is a symbol defining the type of saturation model:
    • :BT15 is Boore & Thompson (2015)
    • :YA15 is Yenier & Atkinson (2015)
    • :CY14 is average Chiou & Youngs (2014)
    • :None returns zero saturation length
    • :ConstantConstrained is a fixed saturation length not subject to AD operations
    • :ConstantVariable is a fixed saturation length that is subject to AD operations (i.e., is a <:Dual)
source

Consider defining a new saturation model that was a simply bilinear model in $\ln h(\bm{M})-\bm{M}$ space.

We simply pass in the various parameters that would be required for our saturation model into the available fields of NearSourceSaturationParameters, and then define a custom function that operates upon these fields.

m_min = 3.0
h_min = 0.5
m_hinge = 6.0
h_hinge = 5.0
m_max = 8.0
h_max = 30.0

sat = NearSourceSaturationParameters([m_min, m_hinge, m_max], [h_min, h_hinge, h_max])

function bilinear_saturation(m, sat)
  if m <= sat.mRefi[1]
    return sat.hconi[1]
  elseif m <= sat.mRefi[2]
    return sat.hconi[1] + (m - sat.mRefi[1])/(sat.mRefi[2]-sat.mRefi[1])*(sat.hconi[2] - sat.hconi[1])
  elseif m <= sat.mRefi[3]
    return sat.hconi[2] + (m - sat.mRefi[2])/(sat.mRefi[3]-sat.mRefi[2])*(sat.hconi[3] - sat.hconi[2])
  else
    return sat.hconi[3]
  end
end
bilinear_saturation (generic function with 1 method)

Any subsequent calculation for a particular magnitude could then make use of this function along with a new NearSourceSaturationParameters instance that just contains a fixed saturation length.

m = 5.0
h_m = bilinear_saturation(m, sat)
new_sat = NearSourceSaturationParameters(h_m)
NearSourceSaturationParameters{Float64, Float64, BitVector}(Float64[], [3.5], Float64[], Bool[0], 2, :ConstantConstrained)

Anelastic Attenuation Parameters

StochasticGroundMotionSimulation.AnelasticAttenuationParametersType
AnelasticAttenuationParameters

Struct for anelastic attenuation parameters. Holds fields:

  • Q0 quality factor at 1 Hz
  • η quality exponent ∈ [0,1)
  • cQ velocity (km/s) along propagation path used to determine Q(f)
  • rmetric is a symbol :Rrup or :Rps to define which distance metric is used for anelastic attenuation
source

Site Parameters

The type SiteParameters holds information related to the site response – both impedance effects and damping.

StochasticGroundMotionSimulation.SiteParametersType
SiteParameters

Custom type defining the site parameters of a Fourier spectrum

  • κ0::T where T<:Real is the site kappa in units of s
  • ζ0::U where U<:Real is the Haendel et al. (2020) ζ parameter (for a reference frequency of $f_0=1$ Hz)
  • η::V where V<:Real is the Haendel et al. (2020) η parameter
  • model::W where W<:SiteAmplification is a site amplification model defining the impedance function

The argument model is currently one of:

  • SiteAmpUnit for a generic unit amplification
  • SiteAmpBoore2016 for the Boore (2016) amplification for $V_{S,30}=760$ m/s
  • SiteAmpAlAtikAbrahamson2021_ask14_620 for the Al Atik & Abrahamson (2021) inversion of ASK14 for $V_{S,30}=620$ m/s
  • SiteAmpAlAtikAbrahamson2021_ask14_760 for the Al Atik & Abrahamson (2021) inversion of ASK14 for $V_{S,30}=760$ m/s
  • SiteAmpAlAtikAbrahamson2021_ask14_1100 for the Al Atik & Abrahamson (2021) inversion of ASK14 for $V_{S,30}=1100$ m/s
  • SiteAmpAlAtikAbrahamson2021_bssa14_620 for the Al Atik & Abrahamson (2021) inversion of BSSA14 for $V_{S,30}=620$ m/s
  • SiteAmpAlAtikAbrahamson2021_bssa14_760 for the Al Atik & Abrahamson (2021) inversion of BSSA14 for $V_{S,30}=760$ m/s
  • SiteAmpAlAtikAbrahamson2021_bssa14_1100 for the Al Atik & Abrahamson (2021) inversion of BSSA14 for $V_{S,30}=1100$ m/s
  • SiteAmpAlAtikAbrahamson2021_cb14_620 for the Al Atik & Abrahamson (2021) inversion of CB14 for $V_{S,30}=620$ m/s
  • SiteAmpAlAtikAbrahamson2021_cb14_760 for the Al Atik & Abrahamson (2021) inversion of CB14 for $V_{S,30}=760$ m/s
  • SiteAmpAlAtikAbrahamson2021_cb14_1100 for the Al Atik & Abrahamson (2021) inversion of CB14 for $V_{S,30}=1100$ m/s
  • SiteAmpAlAtikAbrahamson2021_cy14_620 for the Al Atik & Abrahamson (2021) inversion of CY14 for $V_{S,30}=620$ m/s
  • SiteAmpAlAtikAbrahamson2021_cy14_760 for the Al Atik & Abrahamson (2021) inversion of CY14 for $V_{S,30}=760$ m/s
  • SiteAmpAlAtikAbrahamson2021_cy14_1100 for the Al Atik & Abrahamson (2021) inversion of CY14 for $V_{S,30}=1100$ m/s

See also: FourierParameters, site_amplification

source