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:

\[ T_{\text{max}} = T_{\text{min}} \times 10^{\Theta(N\_SLS)} \]
where \(\Theta\) are empirically determined decade-width values that minimise the spectral flatness of the absorption band for each SLS count:

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 min and max

Warning

doxygenstruct: Cannot find class “specfem::utilities::FrequencyBand” in doxygen xml output for project “specfem++” from directory: _build/doxygen/xml