ELMT40.F - - User Element: Lysmer-Kuhlmeyer Damper
User elements can be defined using the dummy element files in the user sub-directory.
These elements can then be coupled with a material group in the input file using
the keyword 'user' followed by the element number chosen.
The example here is a 2-D implementation of the Lysmer-Kuhlmeyer damper (1967).
The boundary condition is written as traction condition on the transmitting
boundary in the form traction + M v = 0, where (traction) is the boundary
traction vector, v is the velocity vector, and M is a 2x2 matrix with entries
M = rho*vp n x n + rho*vs * (iden - n x n), where n is the outward unit normal,
rho is the material density, vp is the P-wave speed, and vs is the S-wave speed.
We will implement the boundary condition as user element number 40.
The main steps in creating the user
Edit the file elmt40.f to read boundary condition parameters parameters. You will need
to store them in the 'd' array. In our case we will ask for rho*vp, rho*cs, and a
flag to indicate if the problem is axis-symmetric. This is for isw=1.
Edit the file elmt40.f for isw=6 and isw=3 to compute the boundary residual
and the tangent (if the problem is being solved implicitly).
The element can be found here. For example input files:
explicit bar example,
implicit bar example,
explicit axis-symmetric example.