Dynamic Wave Propagation in a Coupled 3DEC-FLAC3D Model
Problem Statement
Note
To view this project, use the menu command main data files are shown at the end of this example.
. The project’sThe following example demonstrates the coupling scheme between 3DEC and FLAC3D for a simple 1D dynamic wave propagation problem.
A 1x1x25 m FLAC3D model is created and a 1x1x25 m 3DEC block is added on top. The 3DEC block is zoned with tetrahedral zones with an edge length of 0.5 m. The model is shown in Figure 1.
![../../../../../../../../../_images/zoneblockwave-fig1.png](../../../../../../../../../_images/zoneblockwave-fig1.png)
Figure 1: Geometry of dynamic zone block coupling example. History locations are shown with cubes.
The top face of the FLAC3D zone is assigned the group name ‘f3d_faces’ and the bottom layer of 3DEC vertices are assigned the group name ‘3dec_gps’.
The coupling is then set up with the command zone-block create
.
A shear wave is applied to the bottom by specifying the x-velocity history for the FLAC3D faces on the bottom. y and z velocities are fixed for all gridpoints. Figure 2 shows the recorded x-velocity at different locations in the model (as indicated in Figure 1). It is clear that the wave propagated through the boundary between the FLAC3D and 3DEC model without significant disruption.
![../../../../../../../../../_images/zoneblockwave-fig2.png](../../../../../../../../../_images/zoneblockwave-fig2.png)
Figure 2: Histories recorded in the coupled model.
Data Files
wave.dat
model new
model configure dynamic
; make zones
zone create brick size 1 1 25
zone cmodel assign elastic
zone property density 1000 bulk 2e9 shear 1e9
zone face apply velocity-y 0
zone face apply velocity-z 0
; make blocks
block create brick 0 1 0 1 25 50
block zone generate edgelength 0.5
block zone cmodel assign elastic
block zone property density 1000 bulk 2e9 shear 1e9
block gridpoint apply velocity-y 0 range position-z 25 50
block gridpoint apply velocity-z 0 range position-z 25 50
; identify zone face for coupling
zone face group 'f3d_faces' range position-z 25
; identify 3dec gps for coupling
block gridpoint group '3dec_gps' range position-z 25
; set up coupling
zone-block create zone-face-group 'f3d_faces' block-gp-group '3dec_gps'
; apply wave
fish define wave
global freq
if mech.time > 1.0/freq
wave = 0.0
else
wave = 0.5 * (1.0-math.cos(2.0*math.pi*freq*mech.time))
endif
end
[freq = 40.0]
zone face apply velocity-x 1 fish wave range position-z 0
zone history name 'source' velocity-x position 0 0 0
zone history name 'f3d' velocity-x position 0 0 20
block history name '3dec' velocity-x position 0 0 30
model history name 'time' dynamic time-total
model large-strain off
model solve time 0.06
Endnotes
Was this helpful? ... | Itasca Software © 2024, Itasca | Updated: Aug 13, 2024 |