Open sulydee opened 2 years ago
turning on the attenuation flag will incorporate all effects (phase & amplitude) according to your model Q values and reference frequency set in Par_file
.
what is your setting, i.e., reference frequency and Q values? you could check in the output_generate_databases.txt
. probably, it just happens with your setup that you see little phase dispersion.
Thank you, daniel.
I have got the reason that there is not obvious phase dispersion. This is because in specfem2d, I turn the flag READ_VELOCITIES_AT_f0
off, which results in the reference velocities at infinite frequency. However, it is default on in specfem3d. I can achieve their consistency by turning the above flag on in specfem2d or changing scale factors in code of specfem3d.
Another, I notice that the algorithms of obtaining relaxation time in specfem2d and specfem3d versions are different. It's a little confused.
great you found the culprit :)
and yes, i agree that the attenuation implementations are confusing. the overall schemes for attenuation are all the same based on standard linear solids, but the way the relaxation times are determined by optimization schemes and the time stepping of the memory variables are different in the different versions - partly by historic reasons, partly since it relates to different application scenarios of the codes.
the optimization of the relaxation times becomes more important for lower Q values. those are found often in more local studies, which relates mostly to the 2D code applications. thus, having more exact schemes in that version became interesting. going to larger scales, having these more expensive optimizations and schemes hardly justify anymore.
furthermore, 3D Cartesian and GLOBE again differ as on global scales, it is considered to be sufficient to have shear attenuation only - thus, again different implementations. usually, we want to save as much computational costs as possible. this makes these implementations all tailored for their specific range of applications. on top of all that, the attenuation schemes can vary by how they internally use relaxation times... so yes, i can confirm that the implementations are quite confusing and different in all SPECFEM packages.
Got it! I really appreciate your answering questions. Thanks again.
Hello,
In specfem2d, when viscoelastic attenuation is turned on, the wavefield will experience both amplitude attenuation and phase dispersion. While in specfem3d, viscoelastic attenuation seems to be effective only for amplitude attenuation (I can't see any phase dispersion when I turn viscoelastic attenuation on).
Are there any parameters in specfem3d that make viscoelasticity occur with both amplitude attenuation and phase dispersion?
Best regards, Thank you.