You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
A question regarding the setup of the absorbing layer. #68
Hello, I’m very interested in this project! I have a question regarding the setup of the absorbing layer.
In most examples, including acoustic_2D.py and Overthrust_3D.py, I want to set the top boundary as a free surface while applying absorbing boundaries to the other sides. I understand that absorption in simwave is achieved through damping terms. However, when I try different configurations—such as:
Hi,
The problem is here:
boundary_condition=("none", "none", "none", "none"),
"none" means don´t use boundary conditions.
You may use this instead:
...
boundary_condition=("null_neumann", "null_dirichlet", "null_dirichlet", "null_dirichlet" ),
null_neuman will produce the free surface effect you want.
I strongly suggest reading the simwave paper at https://arxiv.org/abs/2201.05278
specially the 2D and 3D examples.
Thanks. But, when I set (consistent with the paper):
"""
space_model.config_boundary(
damping_length=(0, 700, 700, 700),
boundary_condition=(
"null_neumann", "null_dirichlet", "null_dirichlet", "null_dirichlet",
),
damping_polynomial_degree=3,
damping_alpha=0.001
)
"""
and run the acoustic_2D.py, It doesn't seem to have produced the expected absorption effect
The quality of absorbing results depends on some parameters:
damping_length: if zero, there is no absorbing effect. Small values will hinder the absorbing effect, while large values increase the computational cost. Using around 10% of the domain length can be good, but you can experiment with it.
The parameters damping_polynomial_degree and damping_alpha also affect absorbing effects. So, you need to search for good values for both. The polynomial degree looks fine (not very sure), but you may try other values ranging from 2, 3, 4. Try other values for the alpha parameter, e.g, 0.1, 0.01 or 0.001 (yes, try different orders of magnitude). The "best" values may vary for each problem.
To be honest, I have tried to adjust these hyperparameters (e.g., damping_length, damping_polynomial_degree, and damping_alpha ), but the result seems to have remained the same.
Hello! We changed the way simwave defines the damping mask and fixed the calculation of the absorbing layer term. The parameters damping_polynomial_degree and damping_alpha have been deprecated. It appears to be fine in our tests now. Could you test please?
Activity
hermes-senger commentedon May 16, 2025
Hi,
The problem is here:
boundary_condition=("none", "none", "none", "none"),
"none" means don´t use boundary conditions.
You may use this instead:
...
boundary_condition=("null_neumann", "null_dirichlet", "null_dirichlet", "null_dirichlet" ),
null_neuman will produce the free surface effect you want.
I strongly suggest reading the simwave paper at https://arxiv.org/abs/2201.05278
specially the 2D and 3D examples.
ruihua-chen commentedon May 16, 2025
Thanks. But, when I set (consistent with the paper):
"""
space_model.config_boundary(
damping_length=(0, 700, 700, 700),
boundary_condition=(
"null_neumann", "null_dirichlet", "null_dirichlet", "null_dirichlet",
),
damping_polynomial_degree=3,
damping_alpha=0.001
)
"""
and run the acoustic_2D.py, It doesn't seem to have produced the expected absorption effect
ruihua-chen commentedon May 16, 2025
In other words, I hope there will be no reflected waves in the lower left and right parts and they can be absorbed.
hermes-senger commentedon May 16, 2025
The quality of absorbing results depends on some parameters:
ruihua-chen commentedon May 17, 2025
To be honest, I have tried to adjust these hyperparameters (e.g., damping_length, damping_polynomial_degree, and damping_alpha ), but the result seems to have remained the same.
hermes-senger commentedon Jul 20, 2025
Hello! We changed the way simwave defines the damping mask and fixed the calculation of the absorbing layer term. The parameters damping_polynomial_degree and damping_alpha have been deprecated. It appears to be fine in our tests now. Could you test please?