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
element are
-
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.