specfem::attenuation::compute_tau_sigma¶
-
template<int N_SLS, typename T>
Kokkos::View<type_real[N_SLS], Kokkos::LayoutRight, Kokkos::HostSpace> specfem::attenuation::compute_tau_sigma(const specfem::utilities::Band<T> band)¶ Compute stress relaxation times \(\tau_{\sigma}\) equally spaced in log10 frequency.
The routine constructs a set of relaxation times corresponding to frequencies that are equally spaced in base-10 logarithmic scale. Let \(f_1\) and \(f_2\) be the minimum and maximum frequencies (Hz).
For index \(i\in[0, N\_SLS-1]\) the relaxation time is\[\Delta = \frac{\log_{10} f_2 - \log_{10} f_1}{N\_SLS - 1}.\]\[\tau_{\sigma,i} = \frac{1}{2\pi\,10^{\log_{10} f_1 + i\Delta}}.\]Kokkos::HostSpace>
// Example: build 4 SLS between 0.1 Hz and 100 Hz auto tau = specfem::attenuation::compute_tau_sigma<4>(0.1_rt, 100.0_rt); for (int i = 0; i < 4; ++i) std::cout << tau(i) << "\n";
- Template Parameters:
N_SLS – Number of standard linear solids (requires \(N\_SLS>1\))
- Parameters:
min_frequency – Minimum frequency (Hz)
max_frequency – Maximum frequency (Hz)
- Returns:
Kokkos::View<type_real[N_SLS], Kokkos::LayoutRight,