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.
StochasticGroundMotionSimulation.FourierParameters
— TypeFourierParameters
Custom type for the parameters the Fourier amplitude spectrum. This type is comprised of source, path and site types, and so has a base constructor of: FourierParameters(src::S, path::T, site::U) where {S<:SourceParameters, T<:PathParameters, U<:SiteParameters}
See also: SourceParameters
, PathParameters
, SiteParameters
Source Parameters
The type SourceParameters
holds the properties required to define the source spectrum of the Fourier Amplitude Spectrum.
StochasticGroundMotionSimulation.SourceParameters
— TypeSourceParameters
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 barsRΘϕ::S
is the radiation patternV::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
)
Path Parameters
The type PathParameters
holds the properties required to define the path scaling of the Fourier Amplitude Spectrum.
StochasticGroundMotionSimulation.PathParameters
— TypePathParameters
Custom type defining the path parameters of a Fourier spectrum. Consists of three other custom structs
geometric
is aGeometricSpreadingParameters
typesaturation
is aNearSourceSaturationParameters
typeanelastic
is anAnelasticAttenuationParameters
type
The base constructor is: PathParameters(geo::G, sat::S, ane::A) where {G<:GeometricSpreadingParameters, S<:NearSourceSaturationParameters, A<:AnelasticAttenuationParameters}
See also: FourierParameters
This type also hold instances of three other custom types that define aspects of the path scaling:
GeometricSpreadingParameters
defined in Geometric Spreading ParametersNearSourceSaturationParameters
defined in Near Source Saturation ParametersAnelasticAttenuationParameters
defined in Anelastic Attenuation Parameters
Geometric Spreading Parameters
StochasticGroundMotionSimulation.GeometricSpreadingParameters
— TypeGeometricSpreadingParameters
Struct for geometric spreading parameters. Holds fields:
Rrefi
are reference distances, these are<:Real
but will generally beFloat64
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 asDual
numbers for ADγfree
is a vector ofBool
instances, or aBitVector
that indicates which segments are constant or variable. Variable spreading rates are given1
ortrue
model
is a symbol defining the type of spreading model:Piecewise
,:CY14
,:CY14mod
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.NearSourceSaturationParameters
— TypeNearSourceSaturationParameters
Struct for near-source saturation parameters. Mimic structure of the GeometricSpreadingParameters
struct. Holds fields:
mRefi
reference magnitudeshconi
constrained coefficients, not free for AD purposeshvari
variable coefficients, free for AD purposeshfree
is a vector ofBool
instances, or aBitVector
indicating which parameters are constant or variableexponent
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
)
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.AnelasticAttenuationParameters
— TypeAnelasticAttenuationParameters
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 determineQ(f)
rmetric
is a symbol:Rrup
or:Rps
to define which distance metric is used for anelastic attenuation
Site Parameters
The type SiteParameters
holds information related to the site response – both impedance effects and damping.
StochasticGroundMotionSimulation.SiteParameters
— TypeSiteParameters
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) η parametermodel::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 amplificationSiteAmpBoore2016
for the Boore (2016) amplification for $V_{S,30}=760$ m/sSiteAmpAlAtikAbrahamson2021_ask14_620
for the Al Atik & Abrahamson (2021) inversion of ASK14 for $V_{S,30}=620$ m/sSiteAmpAlAtikAbrahamson2021_ask14_760
for the Al Atik & Abrahamson (2021) inversion of ASK14 for $V_{S,30}=760$ m/sSiteAmpAlAtikAbrahamson2021_ask14_1100
for the Al Atik & Abrahamson (2021) inversion of ASK14 for $V_{S,30}=1100$ m/sSiteAmpAlAtikAbrahamson2021_bssa14_620
for the Al Atik & Abrahamson (2021) inversion of BSSA14 for $V_{S,30}=620$ m/sSiteAmpAlAtikAbrahamson2021_bssa14_760
for the Al Atik & Abrahamson (2021) inversion of BSSA14 for $V_{S,30}=760$ m/sSiteAmpAlAtikAbrahamson2021_bssa14_1100
for the Al Atik & Abrahamson (2021) inversion of BSSA14 for $V_{S,30}=1100$ m/sSiteAmpAlAtikAbrahamson2021_cb14_620
for the Al Atik & Abrahamson (2021) inversion of CB14 for $V_{S,30}=620$ m/sSiteAmpAlAtikAbrahamson2021_cb14_760
for the Al Atik & Abrahamson (2021) inversion of CB14 for $V_{S,30}=760$ m/sSiteAmpAlAtikAbrahamson2021_cb14_1100
for the Al Atik & Abrahamson (2021) inversion of CB14 for $V_{S,30}=1100$ m/sSiteAmpAlAtikAbrahamson2021_cy14_620
for the Al Atik & Abrahamson (2021) inversion of CY14 for $V_{S,30}=620$ m/sSiteAmpAlAtikAbrahamson2021_cy14_760
for the Al Atik & Abrahamson (2021) inversion of CY14 for $V_{S,30}=760$ m/sSiteAmpAlAtikAbrahamson2021_cy14_1100
for the Al Atik & Abrahamson (2021) inversion of CY14 for $V_{S,30}=1100$ m/s
See also: FourierParameters
, site_amplification