One-Zone Sample Exercised at Several Cyclic Strain Levels
Note
To view this project in FLAC3D, use the menu command . The main data files used are shown at the end of this example. The remaining data files can be found in the project.
This is a small example that uses repeated execution of a one-zone model to generate a modulus reduction and damping ratio curve, using the sig3 model-fit discussed in Calibration of Degradation Curves.
The following command was used to invoke hysteretic damping (see sig3 parameters in Numerical fits to Seed & Idriss Data for Sand):
zone dynamic damping hysteretic sig3 1.014 -0.4792 -1.249
The results are summarized in Figures 1 and 2, which present the tangent modulus results and damping ratio results from FLAC3D together with the Seed & Idriss results. Although the modulus results match the target data well over five orders of magnitude (Figure 1), the measured damping does not conform well with the published damping curves for the same material over the same range (Figure 2).
Clearly, the published data for modulus and damping are inconsistent with a conceptual model of strain- and time-independent material response. It is unclear whether the two sets of published data came from different tests, or if the nature of the test led to the inconsistencies. For example, the steady-state response (after many cycles of applied strain) may be different from the initial (single cycle) response. If this is true, then it is not evident that the steady-state response (presumably encompassed by the published results) is a better representation in typical earthquake simulations than the single-cycle response, because many earthquakes contain only one or two large-amplitude cycles. Thus, the single-cycle response may more correctly represent material behavior under earthquake loading. In this case, the damping and modulus curves are consistent.
Note that the numerical results are self-consistent because the two curves (normalized shear modulus and damping ratio) derive from the same basic stress-strain relation. The derivation of incremental stress/strain relations from modulus-reduction curves assumes that the hysteretic mechanism is stationary (i.e., that stress depends only on strain, and not on the number of cycles executed or on past history). In real soils there are often hardening or softening processes that cause successive cycles to be different, which may also explain why the modulus reduction is apparently inconsistent with the corresponding damping curve in a typical lab test.
Although the implemented hysteretic damping ignores these nonstationary effects, it is still possible to match both modulus and damping curves to a reasonable accuracy. In the absence of consistent laboratory data, it is suggested that a compromise approach be taken, in which both the damping and modulus curves are fitted over a reasonable range of strains (corresponding to the strains being modeled). As an example of this strategy, the default model is used, giving the FLAC3D results shown in Figures 3 and 4. The hysteretic damping in this case was invoked with the command (see default parameters in Numerical Fits to Seed & Idriss Data for Sand)
zone dynamic damping hysteretic default -3.5 1.3
The results show that, over a middle range of strain (say, 0.001% to 0.3% strain), there is an approximate fit to both the modulus and damping curves of Seed & Idriss.
References
Seed, H. B., and I. Idriss. “Influence of Soil Conditions on Ground Motion during Earthquakes,” J. Soil Mech. Found., Div. ASCE, 95, 99-137 (1969).
Seed, H. B., and I. Idriss. “Simplified Procedure for Evaluating Soil Liquefaction Potential,” J. Soil Mech. & Foundations, Div. ASCE, 97(SM9), 1249-1273 (1971).
Seed, H. Bolton, and I. M. Idriss. “Soil Moduli and Damping Factors for Dynamic Response Analysis,” Earthquake Engineering Research Center, University of California, Berkeley, Report No. UCB/EERC-70/10, p. 48 (December 1970).
Data Files
SeveralCyclicStrainLevels.dat
;---------------------------------------------------------------------
; Script file for Dynamic Problem
; One-zone sample exercised at several cyclic strain levels
;---------------------------------------------------------------------
model new
[global strainLis=list.sequence(.0001,.0003,.001,.003,.01,.03,.1,.3,1,3,10)]
fish define runAll
loop local CaseNumber (1,list.size(strainLis))
local CycStrain = strainLis(CaseNumber)
command
program call 'sig3'
program call 'default'
program call 'ro'
end_command
end_loop
end
[runAll]
model save 'allCases'
sig3.dat
model new skip table
fish automatic-create off
model configure dynamic
model large-strain off
; Single case of SeveralCyclicStrainLevels example
;
; Create zone
zone create brick size 1 1 1
; Assign model and properties
zone cmodel assign elastic
zone property density 1000 shear 1e8 bulk 2e8
; Boundary conditions
zone gridpoint fix velocity
zone gridpoint initialize velocity-x [CycStrain/10.0] range position-z=1
; Dynamic settings
model dynamic timestep fix 1.0e-4
zone dynamic damping hysteretic sigmoidal-3 1.014 -0.4792 -1.249 ...
reduction-minimum 0.02
; Histories
zone history name='stress' stress-xz position (0.5,0.5,0.5)
zone history name='strain' strain-increment-xz position (0.5,0.5,0.5)
history interval 1
; Cyclic loading
model cycle 1000
zone gridpoint initialize velocity-x -1 multiply
model cycle 2000
zone gridpoint initialize velocity-x -1 multiply
model cycle 2000
; Export histories of result to table
history export 'stress' vs 'strain' table ['sig3-'+string(CaseNumber)]
default.dat
model new skip table
fish automatic-create off
model configure dynamic
model large-strain off
; Single case of SeveralCyclicStrainLevels example
;
; Create zone
zone create brick size 1 1 1
; Assign model and properties
zone cmodel assign elastic
zone property density 1000 shear 1e8 bulk 2e8
; Boundary conditions
zone gridpoint fix velocity
zone gridpoint initialize velocity-x [CycStrain/10.0] range position-z=1
; Dynamic settings
model dynamic timestep fix 1.0e-4
zone dynamic damping hysteretic default -3.5 1.3 reduction-minimum 0.01
; Histories
zone history name='stress' stress-xz position (0.5,0.5,0.5)
zone history name='strain' strain-increment-xz position (0.5,0.5,0.5)
history interval 1
; Cyclic loading
model cycle 1000
zone gridpoint initialize velocity-x -1 multiply
model cycle 2000
zone gridpoint initialize velocity-x -1 multiply
model cycle 2000
; Export histories of result to table
history export 'stress' vs 'strain' table ['default-'+string(CaseNumber)]
⇐ One-Zone Sample Loaded in Shear with Strain Rate Reversal | One-Dimensional Earthquake Excitation of a Uniform Layer ⇒
Was this helpful? ... | Itasca Software © 2024, Itasca | Updated: Dec 19, 2024 |