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 1.

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 Data File - SquarePillar.dat. The command block dynamic eigen modes 6 is executed to calculate the first six modes of vibration.

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).

../../../../../_images/blocks_mode1.png

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 configure dynamic
model large-strain off
;

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

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

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

; --- generate subcontacts ---
block face triangulate radial-8
block contact generate-subcontacts

; --- properties ---
block property density 2500
block contact jmodel assign elastic
block contact property stiffness-normal 1e9 stiffness-shear .4e9
block contact material-table default property stiffness-normal 1e9 ...
                                          stiffness-shear .4e9

block fix range group 'base'

;
; calculate eigenvalues forigin first 6 modes
model cycle 1

block dynamic eigen modes 6

program log off

; plot mode 1
block dynamic eigen setmode 

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 2.

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 Data File - SquarePillarDeformable.dat. The command block dynamic eigen modes 6 is executed to calculate the first six modes of vibration as in the rigid block example above.

../../../../../_images/block_mode1_def.png

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 configure dynamic
model configure feblock

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 property density 2500
block zone cmodel assign elastic
block zone property density 2500 young 1e9 poiss 0.25

block gridpoint apply velocity 0 0 0 range position-z 0

;
; calculate eigenvalues forigin first 6 modes
model cycle 1

block dynamic eigen modes 6

program log off

; plot mode 1 
block dynamic eigen setmode

model save "sqpmodes-deformable"