You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On lines 211-213 of workflow/migration.py:
211 # Merge to vector and convert to absolute perturbations:
212 # log dm --> dm (see Eq.13 Tromp et al 2005)
213 gradient.update(vector=gradient.vector * model.vector)
Maybe there is a problem involved in the conversion on line 213. In SPECFEM, after calling finizalize_simulation, the outputs are relative kernels.
In Eq. 13 Tromp et al., 2005, K_relative * delta_(ln rho) = K_relative * delta_rho / rho.
Thus, K_absolute = K_relative / rho, i.e., the relative perturbations can be converted to absolute perturbations divided by the material parameters (rho) instead of multiplied by corresponding parameters.
Please check line 213 in migration.py.
Alternatively, we can update models using the relative perturbations directly by:
m_(k+1) = m_k * exp(alpha * p) because ln(m_(k+1)) = ln(m_k) + alpha * p