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 — TypeFourierParametersCustom 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 — TypeSourceParametersCustom type defining the source parameters of a Fourier spectrum.
Constructed with signature SourceParameters{S<:Float64, T<:Real} with fields:
Δσ::Tis the stress parameter in barsRΘϕ::Sis the radiation patternV::Sis the partition factor (for splitting to horizontal components)F::Sis the free surface factorβ::Sis the source velocity in units of km/sρ::Sis the source density in units of t/m³ or g/cm³model::Symbolidentifies 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 — TypePathParametersCustom type defining the path parameters of a Fourier spectrum. Consists of three other custom structs
geometricis aGeometricSpreadingParameterstypesaturationis aNearSourceSaturationParameterstypeanelasticis anAnelasticAttenuationParameterstype
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:
GeometricSpreadingParametersdefined in Geometric SpreadingNearSourceSaturationParametersdefined in Near Source SaturationAnelasticAttenuationParametersdefined in Anelastic Attenuation
Geometric Spreading
StochasticGroundMotionSimulation.GeometricSpreadingParameters — TypeGeometricSpreadingParametersStruct for geometric spreading parameters. Holds fields:
Rrefiare reference distances, these are<:Realbut will generally beFloat64valuesγconiare constant spreading rates, meaning that they will not be free for AD purposesγvariare variable spreading rates, meaning that they can be represented asDualnumbers for ADγfreeis a vector ofBoolinstances, or aBitVectorthat indicates which segments are constant or variable. Variable spreading rates are given1ortruemodelis a symbol defining the type of spreading model:Piecewise,:CY14,:CY14mod
Near-Source Saturation
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 — TypeNearSourceSaturationParametersStruct for near-source saturation parameters. Mimic structure of the GeometricSpreadingParameters struct. Holds fields:
mRefireference magnitudeshconiconstrained coefficients, not free for AD purposeshvarivariable coefficients, free for AD purposeshfreeis a vector ofBoolinstances, or aBitVectorindicating which parameters are constant or variableexponentis the exponent used within equivalent point-source distance calculations: $r_{ps} = \left[r_{rup}^n + h(m)^n\right]^{1/n}$modelis a symbol defining the type of saturation model::BT15is Boore & Thompson (2015):YA15is Yenier & Atkinson (2015):CY14is average Chiou & Youngs (2014):Nonereturns zero saturation length:ConstantConstrainedis a fixed saturation length not subject to AD operations:ConstantVariableis 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
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)Anelastic Attenuation
StochasticGroundMotionSimulation.AnelasticAttenuationParameters — TypeAnelasticAttenuationParametersStruct for anelastic attenuation parameters. Holds fields:
Q0quality factor at 1 Hzηquality exponent ∈ [0,1)cQvelocity (km/s) along propagation path used to determineQ(f)rmetricis a symbol:Rrupor:Rpsto 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 — TypeSiteParametersCustom type defining the site parameters of a Fourier spectrum
κ0::T where T<:Realis the site kappa in units of smodel::Symbolis a symbol identifying the impedance function
See also: FourierParameters, site_amplification