specfem::attenuation::compute_band¶
-
template<int N_SLS>
specfem::utilities::Band<specfem::units::Hertz> specfem::attenuation::compute_band(specfem::units::Seconds min_resolved_period)¶ Compute the attenuation period band from the minimum resolved period.
The attenuation band defines the frequency range over which viscoelastic attenuation is computed using standard linear solids (SLS). The minimum attenuation period is set equal to
min_resolved_period, while the maximum period is determined by empirically optimized decade-width values.The maximum attenuation period is computed as:
where \(\Theta\) are empirically determined decade-width values that minimise the spectral flatness of the absorption band for each SLS count:\[ T_{\text{max}} = T_{\text{min}} \times 10^{\Theta(N\_SLS)} \]N_SLS
\(\Theta\)
Max/Min Ratio
2
0.75
~5.6
3
1.75
~56
4
2.25
~178
5
2.85
~708
- Template Parameters:
N_SLS – Number of standard linear solids (must be 2–5)
- Parameters:
min_resolved_period – Minimum period resolved by the mesh (s)
- Returns:
Band in Hertz with
minandmax
Warning
doxygenstruct: Cannot find class “specfem::utilities::FrequencyBand” in doxygen xml output for project “specfem++” from directory: _build/doxygen/xml