Comparison between Mohr-Coulomb Model and Plastic-Hardening model
Note
To view this project in FLAC3D, use the menu command . Choose “ConstitutiveModels/ ComparisonPlasticHardening” and select “ComparisonPlasticHardening.f3dprj” to load. The project’s main data files are shown at the end of this example.
This example compares the behavior of the Plastic-Hardening (PH) model and Mohr-Coulomb (MC) model during the triaxial compression. Both models are used in a one-zone triaxial compression test with a constant cell pressure of 100 kPa. The strength parameters (including friction angle, dilation angle, and tension limit) are the same for both models. The E50 stiffness of the PH model is used as Young’s modulus for the MC model and Erefur is assumed to be three times the value of Eref50. Material properties for this example are summarized in Table 1. Material parameters not listed in the table are default values.
Parameters | PH | MC |
ϕ (degrees) | 30 | 30 |
c (kPa) | 0 | 0 |
ψ (degrees) | 10 | 10 |
Eref50 (kPa) | 2e4 | |
E (kPa) | 2e4 | |
ν | 0.2 | 0.2 |
Erefur (kPa) | 6e4 | |
m | 0.6 | |
Rf | 0.9 | |
pref (kPa) | 100 | |
σini1∼3 (kPa) | -100 |
Figure 1 shows a plot deviatoric stress versus axial strain for both PH and MC models. It is easy to verify the following from the figure:
- The ultimate failure deviatoric stresses (200 kPa) are the same for both models, as expected.
- For the pre-failure curve, the PH and MC models are crossing at the half of the failure stress (100 kPa), which is consistent with the concept of E50 stiffness.
- The unloading stiffness in the MC model is the same as the loading stiffness (E in the MC model, or E50 in the PH model), while these stiffnesses are different in the PH model.
Data Files
TriaxialCompressionPlasticHardening.f3dat
model new
model largestrain off
;
zone create brick size 1 1 1
zone cmodel assign plastic-hardening
zone property stiffness-50-reference=2.0e4 stiffness-ur-reference=6.0e4 pressure-reference=100.0 exponent=0.6 poisson=0.2 failure-ratio=0.9
zone property friction=30.0 dilation=10.0 cohesion=0.0
zone property stress-1-effective=-100.0 stress-2-effective=-100.0 stress-3-effective=-100.0
;
zone gridpoint fix velocity-z
zone face apply stress-xx=-100.0 range union position-x 0 position-x 1
zone face apply stress-yy=-100.0 range union position-y 0 position-y 1
zone initialize stress xx -100.0 yy -100.0 zz -100.0
;
fish define hhhq_
local zp_ = zone.head
local gp_ = gp.find(8)
global hhhq_ = zone.stress.xx(zp_) - zone.stress.zz(zp_)
global hhha_ = -gp.disp.z(gp_)
end
history interval 10
fish history @hhhq_
fish history @hhha_
;
zone gridpoint initialize velocity-z -2e-6 range position-z 1
model step 10000
zone gridpoint initialize velocity-z 1e-6 range position-z 1
model step 1000
zone gridpoint initialize velocity-z -2e-6 range position-z 1
model step 10000
zone gridpoint initialize velocity-z 1e-6 range position-z 1
model step 1000
zone gridpoint initialize velocity-z -2e-6 range position-z 1
model step 10000
zone gridpoint initialize velocity-z 1e-6 range position-z 1
model step 1000
zone gridpoint initialize velocity-z -2e-6 range position-z 1
model step 20000
;
hist export 1 vs 2 table 'ph_qs_100'
table 'ph_qs_100' export 'ph_qs_100' truncate
;
model save 'ph100'
TriaxialCompressionMohrCoulomb.f3dat
model new
model largestrain off
;
zone create brick size 1 1 1
zone cmodel assign mohr-coulomb
zone property young=2.0e4 poisson=0.2 friction=30 dilation=10 cohesion=0.0
;
zone gridpoint fix velocity-z
zone face apply stress-xx=-100.0 range union position-x 0 position-x 1
zone face apply stress-yy=-100.0 range union position-y 0 position-y 1
zone initialize stress xx -100.0 yy -100.0 zz -100.0
;
fish define hhhq_
local zp_ = zone.head
local gp_ = gp.find(8)
global hhhq_ = zone.stress.xx(zp_) - zone.stress.zz(zp_)
global hhha_ = -gp.disp.z(gp_)
end
history interval 10
fish history @hhhq_
fish history @hhha_
;
zone gridpoint initialize velocity-z -2e-6 range position-z 1
model step 10000
zone gridpoint initialize velocity-z 1e-6 range position-z 1
model step 1000
zone gridpoint initialize velocity-z -2e-6 range position-z 1
model step 10000
zone gridpoint initialize velocity-z 1e-6 range position-z 1
model step 1000
zone gridpoint initialize velocity-z -2e-6 range position-z 1
model step 10000
zone gridpoint initialize velocity-z 1e-6 range position-z 1
model step 1000
zone gridpoint initialize velocity-z -2e-6 range position-z 1
model step 20000
;
hist export 1 vs 2 table 'mc_qs_100'
table 'mc_qs_100' export 'mc_qs_100' truncate
;
model save 'mc100'
⇐ Drained Triaxial Compression Test with Simplified Cap-Yield (CHSoil) Model | Comparison of Plastic-Hardening Model without and with Small-Strain Stiffness ⇒
Was this helpful? ... | PFC 6.0 © 2019, Itasca | Updated: Nov 19, 2021 |