Skip to content
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

Pressure Seismogram #137

Open
int-ptr-ptr opened this issue Nov 15, 2024 · 1 comment
Open

Pressure Seismogram #137

int-ptr-ptr opened this issue Nov 15, 2024 · 1 comment

Comments

@int-ptr-ptr
Copy link

Is your feature request related to a problem? Please describe.
A pressure seismogram is a feature in the original SPECFEM that would be beneficial to add in SPECFEM++.

Describe the solution you'd like
One should be able to add -pressure to seismogram-type in the configuration file, and produce seismogram outputs for pressure at stations.

Additional context
Add any other context or screenshots about the feature request here.

@int-ptr-ptr int-ptr-ptr mentioned this issue Nov 15, 2024
9 tasks
@int-ptr-ptr
Copy link
Author

For this to work, as well as making it easier for other seismogram types to be added, the current compute_seismograms routine may need to be reworked, since additional shared views may be needed.

Moreover, there is currently no good way to isolate code between seismogram types that need more than just a "use this field, instead"-type difference in implementation.

For our pressure case, we need to compute the divergence of the displacement field (or for the acoustic case, just take the acceleration field). I can see two ways of doing it:

  • As in commit 7e9d40b, we can add an auxiliary field within the receiver-seismogram parfor (requiring more scratch size), store the displacement field in there, then compute the divergence. This aux-field is used under the assumption that the receiver kernel's get_field() should be ignorant of the seismogram type.
  • Alternatively, if we let get_field() access seismogram_type_l, then the divergence can be computed directly from the displacement field. Additionally, the acoustic kernel can just return the negative acceleration of $\chi$ and skip the $\chi$->displacement conversion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant