-
Notifications
You must be signed in to change notification settings - Fork 89
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
feat: Add Taper Layers in wave solvers #3224
base: develop
Are you sure you want to change the base?
Conversation
@sframba @rrsettgast @CusiniM can you review this please ? Thanks |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR brings an important addition to the SEM wavepropagation module of GEOS. With this new absorbing boundary I've checked that one can achieve significantly better modelling results.
I suggest some small modifications to avoid some problems encountered during testing.
...ysicsSolvers/wavePropagation/sem/elastic/secondOrderEqn/isotropic/ElasticWaveEquationSEM.cpp
Outdated
Show resolved
Hide resolved
if( dist<sizeT ) | ||
{ | ||
taperCoeff[a] = LvArray::math::exp((((3*vMin)/(2*sizeT))*log( r )*pow((sizeT-dist)/sizeT, 2 ))*dt ); | ||
} | ||
else | ||
{ | ||
taperCoeff[a] = 1.0; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great job with the taper, choosing vMin
over vMax
was a really good choice since it usually leads to better results. This needs to be modified in the description of the PR though:
After much testing the border reflections have been successfully attenuated and modelling results are significantly improved.
For the future (in another PR maybe) I would suggest substituting
Finally, it may be important to mention that the choice of L and R are somewhat empirical. For a given R, the greater the L, the better the attenuation, but that also comes with the cost of increasing the model to fit the taper. Thus, in general a compromise between L and R need to be found. For the bounds of R, I would (based on some tests) place them in the interval [
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Victor-M-Gomes I have changed the PR description accordingly
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Re the dt, I don't find it so absurd having a dt in the formula, since if you cut the timestep in two, you want to apply the same factor as you did before for a given time. But I guess the other parameters are also heurisitc... Thoughts?
…abilityLimit switch
@rrsettgast @CusiniM can one of you take a look to this? Thanks ! |
This PR add a first version of Taper layers for wave solvers
These layers are set to improve the efficiency of absoption of boundaries.
This is how the version version works:
For this first version only second order solver contains the taper functionality.
In a future PR, we can imagine to make the taper profile independant of the timestep and use the frequency instead.