# Calculation of Natural Frequencies and Modes of Vibration

3DEC is primarily intended to simulate structural failure. However, for full practical application, 3DEC should also be able to simulate accurately the dynamic response of structures in the elastic range. The performance of 3DEC block models subjected to dynamic excitation in the elastic range can be demonstrated by calculating the natural frequencies and modes of vibration for small amplitude vibrations.

3DEC contains the command block dynamic eigen modes, which can be executed to calculate natural frequencies for different modes of vibration in a block system. The command is only available for rigid block models. The calculation of natural frequencies and modes of vibration assumes that the structural system is elastic. The kinematic variables of the system of rigid blocks are the 6 degrees of freedom of each block, 3 translations and 3 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 3 entries equal to the block mass and the 3 moments of inertia in the 3 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 global stiffness matrix is formed by assembling the elementary stiffness matrix for each subcontact. Assuming small displacements, unit displacements and rotations are considered for each of the 2 blocks in contact. For each of these 12 configurations, the sub-contact normal and shear forces are calculated based on normal and shear stiffness and sub-contact area. The forces and moments that result at the centroid of each of the 2 blocks provide the columns of the contact stiffness matrix for each of the 12 configurations. Adding the elementary sub-contact matrices leads to the stiffness matrix of the contact between the 2 blocks. The global stiffness matrix is obtained by assembling all the contact matrices.

A simple vector iteration procedure is used to calculate the eigenvalues. The algorithm gives the first N eigenvalues requested, although the ordering may not always be exact. For example, when there are multiple eigenvalues (e.g., for symmetric structures). It is necessary that at least one block be fixed and that the system have no completely separate blocks. The dynamic (unscaled) masses must have been calculated. Therefore, the command model dynamic active on must have been given, followed by a model cycle 0 command to force the calculation of dynamic masses. The stiffness matrix requires a large storage. Therefore, it is recommended that the run not be continued after the eigenvalue calculation (i.e., save the state before it, and continue the dynamic analysis from that saved file).

The response of a 3DEC block model subjected to low level vibration can be verified for the analysis of bending of pillars and walls. Lemos (2007) presents two verification examples: elastic vibration modes of a square pillar and of a wall with variable thickness. A version of the square pillar example is presented here. The verification involves a pillar, 10 m high, with a square section of 1 × 1 m.

## Rigid Block Example

The column is composed of 10 blocks and is assumed clamped at the base Figure dyn-clcs-pqqmFigure dyn-clcs-pqqm.

The mass density of the pillar material is 2500 kg/m3. The blocks are rigid, and the normal and shear stiffnesses are 1.0 GPa/m and 0.4 GPa/m, respectively. The data file for the 3DEC model is listed in :ref: SquarePillar.dat <DynamicElasticVibration>. The command block dynamic eigen modes 6 is executed to calculate the first six modes of vibration. The descriptions of these modes calculated in 3DEC are as follows:

mode 1 – 1st bending mode

mode 2 – mode shape orthogonal to mode 1

mode 3 – 2nd bending mode

mode 4 – mode shape orthogonal to mode 2

mode 5 – 1st torsional mode

mode 6 – 3rd bending mode

Note that in order to provide a more accurate representation of bending behavior, additional contacts are added between rigid blocks in this model. This is achieved with the block face triangulate radial-8 command, which adds a center vertex and 4 mid-edge vertices between two rigid blocks for a total of 9 point contacts. This improves the calculation for bending moments (see Lemos 2007). Figure 1: Rigid block square pillar model with mode 1 deformation.

The natural frequencies for the first three bending modes of the pillar are compared to values calculated from Timoshenko beam theory (Chopra 1995, and Ferreira and Fasshauer 2006). The natural frequencies for the first three bending modes are listed below. The values compare reasonably closely to the values from Timoshenko beam theory.

Table 1: Natural Frequencies (Hz) of Bending Modes for the Square Pillar
Bending
mode
3DEC rigid block
model
Timoshenko
beam theory
1st 1.07 1.02
2nd 6.56 6.09
3rd 14.8      16.1

Data File - SquarePillar.dat

program log-file "Rigid.log"
program log on

model new
model title
Elastic vibration modes of a square pillar
;
model config dyn
model large-strain off
;

; --- geometry ---
block create brick 0 1 0 1 0 10

block cut j-set dip 0 dip-dir 0 origin 0 0 1
block cut j-set dip 0 dip-dir 0 origin 0 0 2
block cut j-set dip 0 dip-dir 0 origin 0 0 3
block cut j-set dip 0 dip-dir 0 origin 0 0 4
block cut j-set dip 0 dip-dir 0 origin 0 0 5
block cut j-set dip 0 dip-dir 0 origin 0 0 6
block cut j-set dip 0 dip-dir 0 origin 0 0 7
block cut j-set dip 0 dip-dir 0 origin 0 0 8
block cut j-set dip 0 dip-dir 0 origin 0 0 9

block create brick -1 2 -1 2 -1 0 group 'base'

; --- generate subcontacts ---
block contact gen-sub

; --- properties ---
block prop dens 2500
block contact jmodel assign el
block contact prop stiffness-normal 1e9 stiffness-shear .4e9
block contact material-table default prop stiffness-normal 1e9 ...
stiffness-shear .4e9

block fix range group 'base'

;
; calculate eigenvalues for first 6 modes
model cyc 1

block dynamic eigen modes 6

program log off

; plot mode 1
block dyn eigen setm

model save "sqpmodes"


## Deformable Block Example

The column is composed of 1 block and is zoned with zone size of 0.25 m. The bottom boundary is fixed as shown in Figure dyn-clcs-pqqdFigure dyn-clcs-pqqd.

The mass density of the pillar material is 2500 kg/m3. The Young’s modulus and Poisson’s ratio are 1.0 GPa and 0.25, respectively. The data file for the 3DEC model is listed in :ref: SquarePillarDeformable.dat <DynamicElasticVibration2>. The command block dynamic eigen modes 6 is executed to calculate the first six modes of vibration as in the rigid block example above. Figure 2: Deformable block square pillar model with mode 1 deformation.

The natural frequencies for the first three bending modes of the pillar are compared to values calculated from Timoshenko beam theory (Chopra 1995, and Ferreira and Fasshauer 2006). The natural frequencies for the first three bending modes are listed below. The values compare reasonably closely to the values from Timoshenko beam theory.

Table 2: Natural Frequencies (Hz) of Bending Modes for the Square Pillar
Bending
mode
3DEC deformable block
model
Timoshenko
beam theory
1st 1.09 1.02
2nd 6.51 6.09
3rd 15.8      16.1

Data File - SquarePillarDeformable.dat

program log-file "Deformable.log"
program log on

model new
model title
Elastic vibration modes of a square pillar
;
; Dynamic and Finite Element configurations required
model config dyn
model config fe

model large-strain off
model random 10000
;

; --- geometry ---
block create brick 0 1 0 1 0 10

; --- generate zones ---
block zone generate edgelength 0.25

; --- properties ---
block prop dens 2500
block zone cmodel assign el
block zone prop dens 2500 young 1e9 poiss 0.25

block gridpoint apply vel 0 0 0 range pos-z 0

;
; calculate eigenvalues for first 6 modes
model cyc 1

block dynamic eigen modes 6

program log off

; plot mode 1
block dyn eigen setm

model save "sqpmodes-deformable"