-
Notifications
You must be signed in to change notification settings - Fork 90
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
Viscoelastic wave propagator #3080
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…e not automatically calculated.
sframba
added
type: feature
New feature or request
flag: requires rebaseline
Requires rebaseline branch in integratedTests
ci: run integrated tests
Allows to run the integrated tests in GEOS CI
labels
Apr 12, 2024
…egrated test to the ats config file
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #3080 +/- ##
===========================================
+ Coverage 53.69% 53.77% +0.07%
===========================================
Files 1010 1011 +1
Lines 85663 85816 +153
===========================================
+ Hits 45998 46146 +148
- Misses 39665 39670 +5 ☔ View full report in Codecov by Sentry. |
acitrain
approved these changes
May 22, 2024
…egratedTests are failing
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
ci: run CUDA builds
Allows to triggers (costly) CUDA jobs
ci: run integrated tests
Allows to run the integrated tests in GEOS CI
flag: requires rebaseline
Requires rebaseline branch in integratedTests
type: feature
New feature or request
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces attenuation for the isotropic Elastic Wave Propagator (SEM, 2nd order formulation).
Specifically, this PR follows the approach of [1], which is based on the satndard Fichtner approach [2] for frequency-indpendent quality factors.
This formulation is based on the standard-linear-solid (SLS) description. Compared to the referenced article, the method has been adapted to the SEM formulation with a Leap-Frog 2nd order timestepping scheme. Since the stress field$\sigma$ is not explicitly stored, this allows reducing the memory footprint of the auxiliary variables from $6 L$ to $3L + 3$ , where $L$ si the number of auxiliary SLSs.
With the present formulation, the standard elastic wave equation is augmented as follows:
where$\varepsilon$ is the strain tensor, $C^a$ is the isotropic attenuative elasticity tensor (see [1]), and $(\omega_\nu, y_\nu)_{\nu=1}^L$ are a set of $L$ reference angular frequencies and adimensional anelasticity coefficients, respectively.
The attenuative matrix$C^a$ is computed from the attenuative Lamé coefficients $\lambda_a, \mu_a$ , obtained from the original $\lambda, \mu$ Lamé fields using $\lambda_a+2\mu_a=(\lambda+2\mu)/Q_p$ , $\mu_a=\mu/Q_s$ (see [1]). $Q_p$ and $Q_s$ are the pressure and shear elastic quality factor coefficients, which are cell-based fields required as an input and can be either defined on the mesh or given as constant fields via a $Q$ indicates less attenuation.
FieldSpecification
. A higher value ofNote that if$\sum\limits_{\nu=1}^L y_\nu > \mathrm{\min}(Q)$ , some artifacts may appear in the solution, usually in the form of a long-term stable zero-velocity wave focused on the source point(s). If this happens, a warning is given by GEOS.
These coefficients$\omega_\nu$ and $y_\nu$ are needed to describe the behavior of $Q$ as a function of frequency, and can be computed as described in [2] given a minimal Q requirement as well as a frequency range. For example, for a frequency range $[9-110Hz]$ and $Q_{\mathrm{min}}=30$ , a relatively flat $Q$ (independent of frequency) can be obtained using $\omega_1\approx 69 s^{-1}$ , $\omega_2\approx 592 s^{-1}$ , $y_1\approx 1.64$ and $y_2\approx 1.75$ .
The SLS attenuation mechanism is activated by adding the option
$L=1$
$\omega_1=2\pi f$ ,
$y_1=\frac{2 Q_0}{Q_0-1}$ ,
attenuationType="sls"
to theElasticWaveSEM
solver. SLS parameters can be entered via theslsReferenceAngularFrequencies
andslsAnelasticityCoefficients
fields. If no SLS parameters are specified, the following default values are used:where$f$ is the peak frequency of the source and $Q_0$ is the minimal value of $Q_p$ and $Q_s$ on the entire domain.
This mechanism works also with the VTI elastic wave propagator.
[1] P.-T. Trinh et al, "Efficient time-domain 3D elastic and viscoelastic full-waveform inversion using a spectral-element method on flexible Cartesian-based mesh", Geophysics, Vol. 84, No. 1.
[2] A. Fichtner, M. van Driel, "Models and Fréchet kernels for frequency-(in)dependent Q", Geophysical Journal International, Volume 198, Issue 3, September, 2014, Pages 1878–1889.