Note

To view this project in FLAC3D, use the menu command Help ‣ Examples…. The main data files used are shown at the end of this example. The remaining data files can be found in the project.

A simple example of the use of the free-field boundary condition is presented. Figure 1 shows the final model geometry.

A shear stress wave is applied to the base of the model. Figure 2 shows the resulting $$x$$-velocity at the top of the model at different points in both the free field and the main grid.

Data File

ShearWaveFreeFieldBoundModel.dat

;---------------------------------------------------------------------
;              Script file for Dynamic Problem
;---------------------------------------------------------------------
model new
model large-strain off
fish automatic-create off
model title "Shear wave loading of a model mech with free-field boundaries"
model configure dynamic
;
; Create zones
zone create brick size 6 3 2
zone create brick size 2 3 2 point 0 (0,0,2)
zone create brick size 2 3 2 point 0 (4,0,2)
zone create wedge size 1 3 2 point 0 (2,0,2)
zone create wedge size 1 3 2 point 0 (4,3,2) point 1 (3,3,2) ...
point 2 (4,0,2) point 3 (4,3,4)  ...
point 4 (3,0,2) point 5 (4,0,4)
;
; Name model boundaries
zone face skin
;
; Assign model and properties
zone cmodel assign elastic
zone property bulk 66667 shear 40000 density 0.0025
;
; Set Initial Conditions
model gravity 10
zone initialize-stresses ratio 0.25
;
; Set Boundary Conditions - Roller boundaries
zone face apply velocity-normal 0 range group 'West2' or 'East2' or 'North' or 'South' or 'Bottom'
;
; Static equilibrium
model dynamic active off
model solve convergence 1
model save 'FreeFieldInit'
;
; --- dynamic run A: applied velocity at base ---
zone face apply-remove range group 'Bottom'  ; Remove velocity boundary
zone face apply quiet range group 'Bottom' ; Add quiet boundary
fish define wave
wave = 0.5 * (1.0 - math.cos(math.pi*zone.dynamic.time.total*200.0))
end
zone face apply stress-dip 1.0 fish wave ...
range group 'Bottom' ; Time varying stress boundary
zone dynamic free-field on ; Free field boundaries
;
; Histories
model history name='time' dynamic time-total
zone history name='grid'   velocity-x position (2,1,4.0)
zone history name='corner' velocity-x position (-1.3,-1.3,4.0)
zone history name='yside'  velocity-x position (-1.3,0,4.0)
zone history name='xside'  velocity-x position (2,-1.3,4.0)
;
; Solve to time 0.015
model dynamic active on
model solve time-total 0.015
model save 'FreeField'