Hydrodynamic Pressure Acting on a Dam (FLAC2D)
The project file for this example may be viewed/run in FLAC2D.[1] The main data file used is shown at the end of this example.
A simple example is presented to illustrated the effect of hydrodynamic pressures on a concrete dam. The dynamic loading is applied in three different ways. First, the dam is subjected to a dynamic loading without taking into account the hydrodynamic pressure. Second, the hydrodynamic pressure is applied as a boundary condition by means of the Westergaard scaling of the grid point mass, as described in Hydrodynamic Pressures. Third, the hydrodynamic pressure is simulated by modeling the water directly as zones adjacent to the dam zones.
Figure 1 shows the geometry of the model for the first two loading cases, and Figure 2 shows the model for the third case.
Figure 1: Dam model with hydrodynamic pressure boundary on upstream face.
Figure 2: Dam model with water zones on upstream face.
The dynamic loading is a velocity sine wave applied to the base of the model. The models are first brought to a static equilibrium state with the reservoir loading applied along the upstream vertical face of the dam. The dynamic loading is then applied for a period of 10 seconds. The horizontal displacement at the top of the dam at the upstream face is monitored for all three cases. The results are plotted for comparison in Figure 3.
Figure 3: Comparison of \(x\)-displacement at top of dam.
These results illustrate the effect on displacement of the hydrodynamic pressures. The case using the Westergaard adjustment is in good agreement with the case modeling the water explicitly.
Data Files
HydroDynamicPressureStress.dat
model new
model large-strain off
model configure dynamic
model title "Spatial Variation in Damping: Stress only"
; Create zones
zone create quadrilateral size 10 20 point 0 (0,0) point 1 (20,0) point 2 (0,19) ...
point 3 (5,19) group "Dam"
; Assign constitutive model and properties
zone cmodel assign elastic
zone property density 2000 bulk 1e8 shear 3e7
; Boundary conditions
zone gridpoint fix velocity range position-y 0
zone face apply stress-normal -190000 gradient (0,10000)
; Initial conditions
model gravity 10
zone initialize-stresses
; Solve to initial equilibrium
model dynamic off
model solve convergence 1
; Reset velocities and displacements
zone gridpoint initialize velocity (0,0)
zone gridpoint initialize displacement (0,0)
; Update boundary conditions
fish define sine_wave
sine_wave = math.sin(2.0*math.pi*zone.dynamic.time.total)
end
zone gridpoint free velocity-x range position-y 0
zone face apply velocity-x 1.0 fish sine_wave range position-y 0
; Take some histories
model history name='time' dynamic time-total
zone history name='xdisp' displacement-x position (0,19)
; Solve to time 10
model dynamic on
model solve time-total 10
model save 'Stress'
HydroDynamicPressureStress.dat
model new
model large-strain off
model configure dynamic
model title "Spatial Variation in Damping: Westergaard boundary"
; Create zones
zone create quadrilateral size 10 20 point 0 (0,0) point 1 (20,0) point 2 (0,19) ...
point 3 (5,19) group "Dam"
; Assign constitutive model and properties
zone cmodel assign elastic
zone property density 2000 bulk 1e8 shear 3e7
; Boundary conditions
zone gridpoint fix velocity range position-y 0
zone face apply stress-normal -190000 gradient (0,10000)
; Initial conditions
model gravity 10
zone initialize-stresses
; Solve to initial equilibrium
model dynamic off
model solve convergence 1
; Reset velocities and displacements
zone gridpoint initialize velocity (0,0)
zone gridpoint initialize displacement (0,0)
; Update boundary conditions
fish define sine_wave
sine_wave = math.sin(2.0*math.pi*zone.dynamic.time.total)
end
zone gridpoint free velocity-x range position-y 0
zone face apply velocity-x 1.0 fish sine_wave range position-y 0
zone face westergaard direction (-1,0) height 19 base 0 ...
density-water 1000 range position-x 0
; Take some histories
model history name='time' dynamic time-total
zone history name='xdisp' displacement-x position (0,19)
; Solve to time 10
model dynamic on
model solve time-total 10
model save 'Westergaard'
HydroDynamicPressureWater.dat
model new
model large-strain off
model configure dynamic
model title "Spatial Variation in Damping: Water Zones"
; Create zones
zone create quadrilateral size 10 20 point 0 (0,0) point 1 (20,0) point 2 (0,19) ...
point 3 (5,19) group "Dam"
zone create quadrilateral size 30 20 point 0 (-30,0) point 1 (0,0) point 2 (-30,19) ...
point 3 (0,19) group "Water"
; Assign constitutive model and properties
zone cmodel assign elastic
zone property density 2000 bulk 1e8 shear 3e7 range group "Dam"
zone property density 1000 bulk 2e9 shear 0 range group "Water"
; Boundary conditions
zone gridpoint fix velocity range position-y 0
zone gridpoint fix velocity-x range position-x -30
zone face apply stress-normal -190000 gradient (0,10000)
; Initial conditions
model gravity 10
zone initialize-stresses
; Solve to initial equilibrium
model dynamic off
model solve convergence 1
; Reset velocities and displacements
zone gridpoint initialize velocity (0,0)
zone gridpoint initialize displacement (0,0)
; Update boundary conditions
fish define sine_wave
sine_wave = math.sin(2.0*math.pi*zone.dynamic.time.total)
end
zone gridpoint free velocity-x range position-y 0
zone face apply velocity-x 1.0 fish sine_wave range position-y 0
; Take some histories
model history name='time' dynamic time-total
zone history name='xdisp' displacement-x position (0,19)
; Solve to time 10
model dynamic on
model solve time-total 10
model save 'Water'
Endnote
| Was this helpful? ... | Itasca Software © 2024, Itasca | Updated: Dec 09, 2025 |