I am using a program that creates viscous/absorbing boundaries by implementing Kelvin-Voigt elements.

The theory behind 1-D Kelvin Voigt elements is given in this Wikipedia page.

In my case I am running a dynamic analysis on a 2D continuum but applying viscous boundaries on the right and bottom boundaries as follows:

enter image description here

The problem is that the parameters for the Kelvin Voigt elements are left up to the user in this program. Specifically, the user can input both the spring parameters ($E$, modulus of elasticity) and the dashpot parameters ($\eta$, viscosity).

My question is how to analytically determine if the boundary is in fact absorbing the stress adequately? Let us assume that the input load at the top left corner is periodic (a sine function for example). I am able to obtain values for the following:

  • displacement in both directions
  • velocity in both directions
  • acceleration in both directions
  • any of the Cartesian stresses
  • any of the Cartesian strains

for any points throughout the continuum and at the boundary. I can also manipulate the following parameters using numpy or matlab. Restating the question, how can I use the above parameters to determine whether my boundary is reflecting/absorbing stress? If it is doing both how do I determine what portion is reflected and what portion is absorbed?

  • $\begingroup$ You can try adding absorbing boundaries on the left, right, and bottom sides and a pulse on your top side. This would be a plane wave coming down into a semi-space. $\endgroup$
    – nicoguaro
    Jun 20, 2017 at 16:51

1 Answer 1


The approach you are describing distributes discrete damping (not stiffness) elements along the boundary of an elastic region to approximately absorb the stress waves that hit the boundary instead of having them reflect back into the region. The classic reference for the approach is Lysmer and Kuhlemeyer. This approach is used in the ABAQUS FEA code and is described in their theoretical manual; you might be able to find a copy of this document online.

Here is a brief summary. The speed of a longitudinal wave in an elastic material is given by

$$ c_L = \sqrt{\frac{\lambda + 2G}{\rho}} $$ where $\lambda$ and $G$ are the Lame constants, and $\rho$ is the density. The speed of a shear wave is given by $$ c_S=\sqrt{\frac{G}{\rho}} $$

For a 2D model, distributed damping normal and tangential to the boundary will produce the following stresses $$ \sigma_{xx} = -d_L \dot u_x $$ and $$ \tau_{xy} = -d_S \dot u_y $$

If $d_L=\rho c_L$ and $d_S=\rho c_S$ the boundaries will be approximately absorbing. The details of how these values are determined can be found in the referenced paper. The damping coefficients for the discrete dampers in the FE model can be set to match these distributed values.

This approach doesn't create a perfectly absorbing boundary but it does work well enough for many cases. The effectiveness is somewhat problem-specific. Here is how I suggest evaluating the effectiveness for your model.

  • Create two FE models, one with dampers on the boundary and a larger one without dampers.

  • Apply the load you show with a sinusoidal time dependency to both models.

  • Solve the time transient equations to a final time where the stress waves haven't reached the boundaries of the larger model but have passed the boundaries of the smaller one.

  • Compare the displacements and stresses between the two models at selected points. If the waves are not being reflected at the boundaries with dampers, these quantities should compare well.

  • $\begingroup$ I like the idea of increasing the problem domain size in order to achieve true non-absorbing conditions. However for my particular problem this would be too computationally intensive. Furthermore your answer addresses the "classical viscous boundary condition" according to Lysmer and Kuhlmeyer. Please note that in my question I have to deal with Kelvin-Voigt elements. Yes these do use the dashpot coefficients as per Lysmer formulation but also have a spring in parallel to prevent creep of the boundary. It is more the springs that I am worried about... $\endgroup$
    – user32882
    Jun 24, 2017 at 14:30
  • $\begingroup$ Sorry, thought I was clear on that. Just set the spring stiffness to zero to eliminate the spring. $\endgroup$ Jun 24, 2017 at 15:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.