-
Notifications
You must be signed in to change notification settings - Fork 147
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Attenuation with and without read_velocities_at_f0 flag #1239
Comments
looking at your zip-file, both Par_files in your example specify:
thus, the in your case, the as explained in the documentation, turning on attenuation will assume that the velocities are given at unrelaxed state, unless the the code however also has a slightly different way then how it shifts velocities to the frequency range of the simulation. using |
Sorry I should have specified. In the shell script MOR_driving_code.sh, it run two simulations: one where attenuation is turned off, then another where attenuation is turned on and there is a sempar command that changes Also, I used a lot of materials to define the geodynamic model. The materials and regions toward the base of my input model has much higher quality factor values than the rest of the model. I attached one of the output snapshots from when I ran MOR_ref_f0_on with attenuation turned on and off. Having the frequency spectrum to be not flat would be ideal actually. My intention was to see the difference in waveforms using different anelastic scaling relationships and those frequency spectrums tend to have a slope. Is there a way to do that? |
regarding non-flat attenuation spectrums, that's not implemented - and I would suggest against shifting and using fewer SLS to create a drop-off of the spectrum as that will lead to rather unpredictable spectrum behaviors. what is the console output for your runs above? |
Okay sounds good. Here are the output logs for the elastic and anelastic case with the reference frequency flag on. |
thanks for the output files - that's quite a bit of output for that many material definitions, sources and time step outputs :) first, I notice that you write out seismograms at every time step. that will slow down the simulation quite a bit. consider outputting the seismograms only every 1000 (or higher) steps if needed - or as usually done only at the very end of the simulation, by setting in your Par_file, say
the other work-around would be to specify a tomography file and use the regarding the attenuation part, you do get the correct output for your settings - to explain:
attenuation has two main effects, one being the shift of the apparent signal velocity, i.e., a phase shift, and the other the decrease of the signal energy. the shift of signal velocity depends on its frequency difference to the reference frequency f0. when using the and in case the |
Yeah, I was having issues with the external tomo file at first, so I ended up using the the default meshing internal mesher. All this sounds good, I'll try calculating the velocities at a different frequency than the source frequency next. Thank you for your help ! |
updating the velocity model will just speed up or slow down the whole signal according to your changes. the to highlight the differences between elastic and viscoelastic seismograms, you would have two options: B. you use your velocity model for the unrelaxed state (infinite frequency) and don't use the in principle, the viscoelastic seismograms for A. and B. should be identical, unless the attenuation model isn't flat and covering the whole simulated frequency range. in that case, you might need to increase the number of standard linear solids ( |
Description
I wanted to run identical simulations showing the difference in seismograms for both elastic and anelastic cases. I chose to use the read_velocities_at_f0 flag since the velocity profile I wanted to input had much slower relaxed velocities than specfem was calculating when I input infinite frequency velocities. The reference frequency flag ended up creating a more realistic amplitude reduction but the anelastic waveform arrived earlier than the identical elastic run. The only thing changing between the elastic and anelastic run is setting viscoelastic attenuation to be false or true. Does the flag revert to using non-causal attenuation anywhere in the workflow?
For context, I am inputting velocities from a mid-ocean ridge (MOR) geodynamic model. The relaxation spectrum used to calculate the relaxed velocities are from Yamauchi and Takei 2016. In specfem, I am using a line of point sources to simulate a plane wave from a teleseism. There are 101 receivers across the 300 km in the center above the MOR model. There is another 200 km on either side to avoid the absorbing boundary response in the receivers.
I attached a zip file with all my inputs as well as figures showing the normalized waveforms from select stations.
Specfem2D_inputs.zip
Affected SPECFEM2D version
SPECFEM2D v8.1.0
Your software and hardware environment
Macbook Pro (Monterey, Version 12.5.1), M1 Processor
Reproduction steps
1. Download zip file. 2. Open MOR1_ref_f0_off or MOR1_ref_f0_on (depending on if you want to see results with or without reference frequency flag) 2. Run MOR_driving_script.sh
Screenshots
No response
Logs
No response
OS
Mac
The text was updated successfully, but these errors were encountered: