block dynamic command


block dynamic keyword <range>

Primary keywords:

eigen    free-field

Configure options available with dynamic calculations.

eigen <keyword>

Calculate natural frequencies and modes of vibration for an elastic system. See further description below.


Delete eigenvalue data.


List eigenmode frequencies (this assumes they have already been calculated).

modes i <keyword>

Calculates the first i eigenmode values (1 to 10). The 10 frequency modes are listed below.




first bending mode


mode shape orthogonal to mode 1


second bending mode


mode shape orthogonal to mode 2


first torsional mode


third bending mode


mode shape orthogonal to mode 6


axial deformation mode


fourth bending mode


mode shape orthogonal to mode 9


Copy the calculated modes to gridpoint extra variables for plotting. WARNING gridpoint extra variables from 1 to \(n\) will be overwritten with vectors (where \(n\) is the number of modes in the analysis).

free-field <keyword>

Operate on a dynamic free field. See below for discussion.

apply <keyword ...>

Create the zone free field blocks. The material properties and constitutive model are set to those in model side blocks. The blocks in each free field mesh are joined. The free field mesh stresses are obtained from the model side zones. Balancing forces are applied to free field gridpoints to maintain static equilibrium. No boundary conditions are applied to the free field gridpoints. On all of the model side gridpoints, the following occur:

  • free field conditions are applied (removing any fixed velocity condition).

  • free field stresses are applied.

  • Balancing forces to maintain static equilibrium are applied.

fx1 fx2 fz1 fz2

Location of four model boundaries (default = min. and max. \(x\)- and \(z\)-coordinates).

gap f

Set a viewing gap between the free field and the main model (default = 5% of model length).

thickness f

Set the thickness of free field blocks (default = 5% of model length).

tolerance f

Tolerance to find gridpoints on model boundaries to apply free field conditions (default = ATOL).


Delete all free field meshes.

Connect/reconnect (on; default) the free field to the main model. Set off to disconnect.


List dynamic free-field data.

Eigenvalue Calculation

This command only applies for a rigid block model. The kinematic variables of the system of rigid blocks are the 6 degrees of freedom of each block, three translations and three rotations. In a rigid block model, the deformability is given by the joint stiffness. A global stiffness matrix for the rigid block system is assembled, which relates the forces and moments applied to the blocks by their neighbors with the block displacements and rotations. The mass matrix is assumed to be diagonal, for each block consisting of three entries equal to the block mass and the three moments of inertia in the three coordinate directions. This assumption involves an approximation as the moments of inertia in the coordinate directions are not, in general, the principal moments of inertia of the block.

The dynamic (unscaled) masses must be calculated first. The command SET dynamic on must be given, followed by model cycle 0, to force the calculation of dynamic masses. Note that the eigenvalue calculation solves a stiffness matrix, which requires a large storage. Therefore, it is recommended that the simulation be stored before the eigenvalue calculation is performed, and then restored to continue the dynamic analysis. See the topic i Calculation of Natural Frequencies and Modes of Vibration for further information.

Dynamic Free Field

Using block dynamic free-field apply, a dynamic free field is created. This dynamic free field consists of a one-dimensional finite-difference calculation, executed in parallel with the main calculation, and provides the lateral boundary conditions for dynamic analysis in which a vertically propagating plane wave is applied to the base of the model. The model requirements of the free field are:

  • deformable blocks

  • rectangular base

  • vertical side boundaries parallel to the \(x\)-and \(z\)-axes (\(y\)-axis assumed to be vertical)

  • top surface may be irregular (thus, different free field heights)

The six free field blocks consist of four side free field meshes corresponding to the four model sides and four corner free field meshes that act as a free field boundary to the side free field meshes. The blocks in the free field mesh are standard deformable blocks. The joint structure in the free field mesh is the same as in the model side boundaries. Therefore, joint traces on the model sides are assumed to extend horizontally into the free field mesh. By default, all blocks in a free field mesh are joined when the free field blocks are created, but the user may unjoin them afterwards. The zoning of free field blocks is similar to the zoning of model side faces. The side free field blocks have a thickness of two gridpoints across, linked to move together. The corner free field meshes have four gridpoints at each level, also linked to move together.

Prior to creating the dynamic free field, the model must be in static equilibrium.

The standard procedure for using the free field logic is:

  1. Run the main model to static equilibrium.

  2. block dynamic free-field apply

  3. Set dynamic boundary conditions at the base of model and free field (and possibly at the top, for deep underground models).

  4. Run dynamic analysis.

In some cases, it may be necessary for the user to change the initial state of the free field meshes (for example, to unjoin some blocks, change properties or loads, etc.). These things may be done as follows:

  1. Run the main model to static equilibrium.

  2. block dynamic free-field apply

  3. block dynamic free-field link off

  4. Make any changes in the free field.

  5. Set static boundary conditions at the free field base.

  6. Run to static equilibrium.

  7. block dynamic free-field link on

  8. Set dynamic boundary conditions at the base of model and the free field (and possibly at the top, for deep underground models).

  9. Run dynamic analysis.