Velocity Wave with Sharp Front, Artificial Viscosity
Note
To view this project in FLAC3D, use the menu command . Choose “Dynamic/ArtificialViscosity” and select “ArtificialViscosity.f3prj” to load. The main data file of the project is shown at the end of this example. The remaining data files can be found in the project.
This is a small example illustrating the effects of Artificial Viscosity. An expansion wave with a sharp velocity front is propagated through a column of zones in plane-strain conditions, and histories of the velocity at two locations are taken to illustrate how artificial viscosity smooths the response to the wave.
Figure 1 shows the response of a model without artificial viscosity. The applied wave is shown by the solid black line, which also corresponds to the motion of gridpoint 605. As the wave passes through gridpoints 625 and 645, the velocity histories show the oscillation in the response. This is due to discretization error resolving the sharp wave front.
Figure 2 shows the response of the model with artificial viscosity. The oscillations due to passage of the wave front have been removed.
References
Wilkins, M. L. “Use of Artificial Viscosity in Multidimensional Fluid Dynamic Calculations,” in Journal of Computational Physics, 36, 281-303 (1980).
Data File
av.f3dat
;---------------------------------------------------------------------
; Velocity wave with sharp front, artificial viscosity
; Part 1 - Not using articifial viscosity, see av.dat
;---------------------------------------------------------------------
model new
fish automatic-create off
model title "x-velocities for plane-strain model-no artificial viscosity"
model config dynamic
; Create zones
zone create brick size 150 1 3 ...
point 0 0.019 0 0 point 1 10 0 0 ...
point 2 0.019 0.019 0 point 3 0.019 0 0.20
; Assign constitutive model and properties
zone cmodel assign elastic
zone property shear=34.3e6 bulk=58.6e6 density=2.8
; Boundary Conditions
zone gridpoint fix velocity-z range union position-z 0 position-z 0.2
zone gridpoint fix velocity-y range union position-y 0 position-y 0.019
zone face apply quiet-normal range position-x 10
zone face apply quiet-strike range position-x 10
fish define wave
wave = math.exp(-0.1842e06*(zone.dynamic.time.total-430.e-06))
if zone.dynamic.time.total<430.e-06 then
wave = 1.0
end_if
if zone.dynamic.time.total<1.0e-06 then
wave = 1.0e-6 * zone.dynamic.time.total
end_if
end
zone face apply velocity-x=1 fish=@wave range position-x 0.019
; Take histories
history interval=5
model history name='time' dynamic time-total
fish history name='wave' @wave
zone history name='vel1' velocity-x gridpointid 605
zone history name='vel2' velocity-x gridpointid 625
zone history name='vel3' velocity-x gridpointid 645
; Activate artificial viscosity
zone dynamic damping artificial-viscosity 1 1
; Set to large strain, and solve to 1e-3
model largestrain on
model solve time-total 1e-3
model save 'avisc'
⇐ Free Vibration of a Cantilever Beam | Shaking Table Test: Simulation of the Liquefaction of a Layer ⇒
Was this helpful? ... | PFC 6.0 © 2019, Itasca | Updated: Nov 19, 2021 |